Titanium MobileでiPhone上の表示名を国際化する
Titanium Mobileで文字列を国際化する方法は、AppceleratorのDocumentation Guide『Internationalizing your Application』でわかります。
iPhone上の表示名を国際化したい場合は、string.xmlとは別に「app.xml」ファイルを作ります。app.xmlには、name属性が「appname」のstring要素を書きます。このファイルを言語毎に用意すれば、iPhoneの言語環境に応じてアプリ名が切り替わることをiOSシミュレータとiPhone 3GSで確認しました。
<?xml version="1.0" encoding="UTF-8"?> <resources> <string name="appname"></string> </resources>
余談
ja.lproj内にInfoPlist.stringsファイルを作成できないかと思い、「/Library/Application Support/Titanium/mobilesdk/osx/1.6.1/common/localecompiler.py」のソースを読んでいたら53行目のlocalization_file_name_iosを見つけ、さらにその上の行ではファイル名がapp.xmlだとInfoPlist.stringsを作ってくれることがわかりました。
def isApp(self,file): return (os.path.basename(file) == "app.xml") def localization_file_name_ios(self,file): if self.isApp(file): return "InfoPlist.strings" return "Localizable.strings"
でも、iTunesのAppで表示は英語のままなんですよね。CFBundleDisplayNameを見てるんじゃないのか。
それか、iTunes ConnectのManage Localizationsで設定するアプリ名がiTunesで表示されるのかな?