Help automating the worst part of adding a new localization

Evan Schoenberg, M.D. evan at adium.im
Sat Jul 3 20:15:38 UTC 2010


Robby is ready to apply the new Slovak localization.

The problem is that we have multiple English localizations.  We therefore use  "en.lproj" and en_*.lproj, where * are the dialects.  This breaks Xcode terribly, because it won't add new localizations once there is no "English.lproj" folder for a given localized resource.

(My radar radr://5059156 filed 3/13/2007 was marked as a duplicate of radr://3160993 which according to this Stack Overflow question thread on the same issue was originated in 2003; the issue remains in the current version of Xcode.)

The steps to add a new localization, as I execute them, are:

1) Quit XCode
2) Load Adium.xcodeproj/project.pbxproj in a text editor
3) Find & replace "en.lproj" with "English.lproj"
4) Save
5) Repeat steps 2 through 4 with AIUtilities.framework

6) Open Adium.xcodeproj
7) Select the project root
8) Search for English in the upper-right files list
9) Select All
10) Get Info
11) Click Add Localization
12) Type the localization's two or 3 character ISO 639 code

13) Repeat steps 6 through 12 with AIUtilities.framework

14) Add the ISO 699 code to the 'all' section near the bottom of adium/Utilities/Localization Utility Scripts/update_adium_from_bundle

15) Run:
adium/Utilities/Localization Utility Scripts/update_adium_from_bundle SOURCE_BUNDLE_PATH ISO_639_CODE CHECKOUT_LOCATION
e.g. for 'fr'
"Utilities/Localization Utility Scripts/update_adium_from_bundle" Desktop/Adium_fr.app fr ~/adium
for the new localization, which will copy the localization files into the newly created resource folders (which were made by xcode when the localization was added to the project in steps 6-12)

15) hg add  the newly made .lproj folders

16) Quit Xcode
17) Load Adium.xcodeproj/project.pbxproj in a text editor
18) Reverse step 3: Find & replace "English.lproj" with "en.lproj"
19) Save
20) Repeat steps 17 through 19 with AIUtilities.framework

21) hg commit

Now, steps 6-15 re to be expected; they are, I think, about as automated as could be reasonably expected.  Steps 1-5 and 16-20, however, are ridiculous and look like a prime target for automation. Does anyone out there have both the scripting skills and the time to whip something up? Thanks!

-Evan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20100703/dd7499b1/attachment-0002.html>


More information about the devel mailing list