当您在Xcode 5上本地化文件时,您有这个“基础”文件,如果用户使用的是另一种未本地化的语言,我将会使用该文件。在旧版本的Xcode上,你没有。
我希望英语成为基本语言,默认情况下会使用。所以我认为,对于这种“基础”类型,我不需要进行“英语”本地化(如果我希望英语是默认的),对吧?我只是把所有的英语本地化都放在“基础”中。
这是对的吗?
答案 0 :(得分:4)
听起来不错。
如果我让Xcode为我生成新的语言文件,我总是遇到很大麻烦,所以我开始用这个小script创建它们。
对脚本的深思熟虑是,如果您的代码中有任何更新,脚本会处理此问题并更新您的翻译文件。 Apple自己的genstrings
总是会覆盖所有内容。
编辑: 我写了一篇关于用iLocalize翻译的blog post,可能很有趣。
答案 1 :(得分:0)
我的诀窍是导出英语本地化,这是我的基本语言。然后我用它作为基本语言并导入它。
我使用以下脚本导出我的所有语言本地化字符串并创建基本本地化文件
#! /bin/bash
# Export all the localizations into 'xliff' files.
set -e # Abort on error
set -u # Abort on undeclared variable
LOCALIZATION_PATH="Translations"
PROJET_PATH="mobile-iOS.xcodeproj"
# Iterate over the list of supported languages (include your base language, in my case English).
for locale in de en-GB en es fr it ja pl pt ru tr zh-Hans zh-Hant
do
echo "Exporting localizations for '$locale'"
xcodebuild -exportLocalizations -localizationPath $LOCALIZATION_PATH -project $PROJET_PATH -exportLanguage $locale
done
echo "Create default Base localization based on English"
sed 's/target-language="en"/target-language="Base">/g' <$LOCALIZATION_PATH/en.xliff >$LOCALIZATION_PATH/Base.xliff
rm $LOCALIZATION_PATH/en.xliff
请注意,您可以包含&#34; Base&#34;在语言列表中但它不包含任何值。