我有一个 iOS 项目(当前的 XCode),它支持 5 种语言并且其中几乎没有目标。我希望能够以某种方式为每个目标选择语言(无需手动删除它们)。有没有办法做到这一点?
问问题
3335 次
3 回答
1
我最终创建了两个脚本。同时,我将美国文件中的更改添加到默认 en lproj(我的美国和英国略有不同)。
一种用于删除不必要的语言
#!/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
第二个是取回所有语言包
#!/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 - 对于每个字符串文件,选择要使用该文件的目标以及该目标可用的语言
于 2014-05-20T13:55:17.063 回答
-1
1) 最好的方法是在一个目标中添加任何本地化支持。您可以选择任何文件并选择“Make Localized..”以添加文件夹:
en.lproj
de.lproj
2)如果你不想做第一步,那么你可以只使用一个文件,你的本地化文本在哪里。并在每个目标上添加每个。例子:
仅在MyProject_en目标中添加的 Texts_en.txt 仅在MyProject_de目标 中添加的Texts_de.txt
升级版:
或者您可以为每个目标添加一个预处理器宏
LANG_ENG
LANG_GER
在您的代码中,您必须使用它们
于 2013-01-22T11:22:01.953 回答