Xcode: Run project with specified localization

雨燕双飞 提交于 2019-12-20 08:19:02

问题



My Cocoa project is localized in Italian (my language) and English language.
If I run it, i see everything in Italian (of course, my OS is italian!).
How can I run it to test the English localization without changing the OS language?


回答1:


In the old times, Leopard and before, the get info window in Finder would let you choose the available languages. So it was a matter of deselecting the language that you don't want to use and it would "default" to the other.

These days you can use an utility like this one. I'd love to know what it does behind the scenes though.


I finally found a nice solution in the cocoa-dev mailing list archives. Apparently, you can change the default domain within the arguments passed to your executable, and this causes the global preference to be overwritten. It can be achieved with the -AppleLanguages flag, pass a list of the languages in the preferred order:

~/apath/AppName.app/Contents/MacOS/AppName -AppleLanguages "(Italian, English)"

Run this from your terminal and it should give a different precedence for the language. Notice you can also specify a single element list "(Italian)" —makes more sense for testing purposes.

To do it within Xcode and avoid the terminal, go to the menu Product > Edit Scheme… . Then, in your run configuration switch to the Arguments tab and create a new one to be passed on launch. Add -AppleLanguages "(Japanese)" text to it. Something similar to this:




回答2:


Assuming you have a file that holds all the strings, swap the names of the files. Or, if you've got a it.lproj and en.lproj group in your project, just move your InfoPlist.strings (or whatever you named it) into the other group and vice versa.



来源:https://stackoverflow.com/questions/8596168/xcode-run-project-with-specified-localization

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!