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で表示されるのかな?