I'm taking over an app that was written entirely in French. Strings are hardcoded in French in the code, and all the messages in the storyboard are in French. But the initial development region in Info.plist
was left to English. So I changed CFBundleDevelopmentRegion
to fr
so that it matches the real language that was used. But XCode keeps telling me that my Development language is English:
How can I correct that? The goal is to be able to activate Base Internationalization and have it use French as the Base language instead of English.
The following procedure worked for me, but it includes manually editing project.pbxproj
file:
project.pbxproj
file with your favorite text editordevelopmentRegion
):OLD:
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
NEW:
developmentRegion = fr;
hasScannedForEncodings = 0;
knownRegions = (
fr,
Base,
);
I've created a GitHub repository with a sample project that was initially created with English as default Development Language, and then updated by the procedure above to use French as Development Language.
I might have figured it out.
I have built an app in Swedish, but the development language is set to English.
I edited MyProject.xcodeproj/project.pbxproj
manually. There are two lines like this:
91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
and this section:
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
Changing all "en" to "sv" like this:
91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = "<group>"; };
and
developmentRegion = Swedish;
hasScannedForEncodings = 0;
knownRegions = (
sv,
Base,
);
and moving the file MyProject/en.lproj/InfoPlist.strings
to MyProject/sv.lproj/InfoPlist.strings
seems to have fixed it. Now the "Development Language" shows up as Swedish, and I can add an English translation.
After adding the translation, the storyboard has an expand-triangle where the base language is the existing Swedish version, and the translation is a strings-file in english.
I wanted to develop the project in my own "developer" language by using placeholders instead of real texts in example "WLAN_NOT_AVAILABLE" inside of NSLocalizedString which later on will be translated in different languages including english, off course. I do not like when I must write whole sentences right in the code.
I did just open *.pbxproj file inside of *.xcodeproj folder and changed the following line to:
developmentRegion = Base;
After that English was no more set as development language and I was able to treat it as any one else. This gives you as developer the possibility to write short text placeholders and delegate the correct spelling to another in your team.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With