5つの言語をサポートしているiOSプロジェクト(現在のXCode)があり、ターゲットはほとんどありません。ターゲットごとに(手動で削除せずに)なんとかして言語を選択できるようにしたいと思います。それを行う方法はありますか?
質問する
3335 次
3 に答える
1
最終的に2つのスクリプトを作成しました。同時に、米国のファイルからデフォルトのen lprojに変更を追加しています(米国とGBは少し異なります)。
不要な言語を削除するための1つ
#!/bin/bash
if [ -e ProjectName.xcodeproj/project.pbxproj.backup ]; then
echo "Last changes were not yet reverted."
else
# move files from en-US to en
cp -f en-US.lproj /* en.lproj */
# remove from project file all occurences of unwanted languages
cp ProjectName.xcodeproj/project.pbxproj ProjectName.xcodeproj/project.pbxproj.backup
grep -v "en-GB.lproj" ProjectName.xcodeproj/project.pbxproj > ProjectName.xcodeproj/project.pbxproj2; mv ProjectName.xcodeproj/project.pbxproj2 ProjectName.xcodeproj/project.pbxproj
grep -v "fr.lproj" ProjectName.xcodeproj/project.pbxproj > ProjectName.xcodeproj/project.pbxproj2; mv ProjectName.xcodeproj/project.pbxproj2 ProjectName.xcodeproj/project.pbxproj
grep -v "it.lproj" ProjectName.xcodeproj/project.pbxproj > ProjectName.xcodeproj/project.pbxproj2; mv ProjectName.xcodeproj/project.pbxproj2 ProjectName.xcodeproj/project.pbxproj
grep -v "sv.lproj" ProjectName.xcodeproj/project.pbxproj > ProjectName.xcodeproj/project.pbxproj2; mv ProjectName.xcodeproj/project.pbxproj2 ProjectName.xcodeproj/project.pbxproj
そして2番目にすべての言語パックを取り戻す
#!/bin/bash
if [ -e ProjectName.xcodeproj/project.pbxproj.backup ]; then
mv ProjectName.xcodeproj/project.pbxproj.backup ProjectName.xcodeproj/project.pbxproj
fi
于 2013-07-11T22:21:13.880 に答える
0
私がしたことは:
1-2つの言語文字列ファイルを作成します
2-各文字列ファイルについて、ファイルを使用するターゲットとそのターゲットで使用可能な言語を選択します
于 2014-05-20T13:55:17.063 に答える
-1
1)最善の方法は、1つのターゲットにローカリゼーションのサポートを追加することです。任意のファイルを選択し、「ローカライズする..」を選択してフォルダを追加できます。
en.lproj
de.lproj
2)最初のステップを実行したくない場合は、ローカリゼーションテキストである1つのファイルを使用できます。そして、各ターゲットにそれぞれを追加します。例:
MyProject_enターゲットのみ に追加されたTexts_en.txtMyProject_deターゲットのみに追加されたTexts_de.txt
UPD:
または、ターゲットごとにプリプロセッサマクロを追加できます
LANG_ENG
LANG_GER
そしてあなたのコードではそれらを使わなければなりません
于 2013-01-22T11:22:01.953 に答える