6

当你现在在 Xcode 5 上本地化一个文件时,你有这个“基础”文件,我知道如果用户使用另一种未本地化的语言,它将被使用。在旧版本的 Xcode 上,你没有这个。

我希望英语成为基本语言,默认情况下将使用它。所以我想用这种“基本”类型,我不需要有一个“英语”本地化(如果我希望英语成为默认值),对吧?我只是将所有英文本地化放在“base”中。

这个对吗?

4

2 回答 2

4

听起来不错。

如果我让 Xcode 为我生成新的语言文件,我总是会遇到很大的麻烦,所以我开始用这个小脚本自己创建它们。

  • 在 Xcode 中,只需在项目设置中添加语言(在 Localizations 下)并确保激活“Use Base Internationalization”
  • 运行脚本。现在,这会在您的树中创建所有需要的翻译文件
  • 只需将它们从项目中的查找器中拖放(取消选择复制选项)

关于脚本的好想法是,如果您的代码中有任何更新,脚本会处理这个并更新您的翻译文件。苹果自己的genstrings总是覆盖一切。

编辑:我写了一篇关于使用 iLocalize 进行翻译的博文,可能很有趣。

于 2013-09-07T23:42:01.213 回答
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

请注意,您可以在语言列表中包含“Base”,但它不会包含任何值。

于 2016-01-22T20:11:26.050 回答