本地化objc m文件
Localize_M的Python项目详细描述
本地化:轻松本地化objc.m文件
本地化有助于本地化objc.m文件。它有两个 模式:
- 以交互方式分析文件,并询问每个字符串是否 应该本地化(--ask-all选项)。
- 自动分析文件并替换每个@"..."string 前缀为__LOCALIZE的本地化版本。此模式可以 以完全自动化的方式运行,或者在使用-c选项时, localize_m将要求您编辑slug并提供注释 为了翻译。
本地化为每个@"..."string插入以下代码 选择替换:
NSLocalizedStringWithDefaultValue(<slug>, kDefaultLocalizationTable, kClassBundle, @"...", @"...")
我们使用这个函数而不是nsLocalizedString,因为它提供了完整的 灵活性,并提供翻译的意见。事实上,我们没有 建议使用nsLocalizedString。
鼻塞和定位id
本地化从字符串自动生成段塞 翻译的标识符。格式化代码%@,%d等 在你的鼻涕虫中被[]代替,以便于阅读。为什么我们要用 鼻涕虫身份证?
- slug应该唯一地描述字符串。即使你有相同的 @“example”字符串位于代码中的多个位置,您可能希望 能用“voorbeeld”和“bijv”翻译成荷兰语。 另一个地方。所以如果你用鼻涕虫example-long-form和 example-short-form,您可以在两者之间进行区分
- 帮助你抵御编辑ID的诱惑。永远不要编辑ID, 当你的字符串被翻译时。
提示:
在project.pch预编译头中定义:
#define __LOCALIZE
#define kClassBundle [NSBundle bundleForClass:[self class]]
#define kDefaultLocalizationsTable nil
这可以确保您的项目能够编译,即使您已经将 __LOCALIZEs在您的代码中,尚未运行本地化脚本 但是我们使用[NSBundle bundleForClass:[self class]],以便 项目与框架兼容。您可以手动覆盖 当您要使用另一个 比默认的localizations.strings文件。
用法
localize_m [-h] [-p PATH] [-o [outfile]] [-a] [-c] [--inplace] [--table TABLE] [--bundle BUNDLE] [--replace REPLACE] [infile] Input: -p PATH, --path PATH localize all .m files in path infile Input .m file -o [outfile], --outfile [outfile] Output file, otherwise stdout -a, --ask-all ask for all strings (interactive)) -c, --comments ask for comments and ids (interactive) --inplace localize file in-place Customization: --table TABLE custom localizations table argument --bundle BUNDLE custom NSBundle argument --replace REPLACE Auto localization prefix string
安装
本地化使用python,默认情况下,python安装在每个mac上。使用 要安装的PIP:
# pip install localize_m Collecting localize-m Downloading Localize_M-1.0.tar.gz Collecting colored (from localize-m) Using cached colored-1.2.1.tar.gz Collecting slugify (from localize-m) Using cached slugify-0.0.1.tar.gz Collecting gnureadline (from localize-m) Using cached gnureadline-6.3.3-cp27-none-macosx_10_6_intel.whl Installing collected packages: colored, slugify, gnureadline, localize-m Running setup.py install for colored Running setup.py install for slugify Running setup.py install for localize-m Successfully installed colored-1.2.1 gnureadline-6.3.3 localize-m-1.0 slugify-0.0.1 #
示例
一个文件
# cd project/src # localize_m MainViewController.m --comments --inplace
所有m个文件
localize_m -p ./ --comments
你可以浏览所有文件。按ctrl-c保存更改并 退出只要重新开始本地化,就可以恢复到原来的位置。
定制
# localize_m MainViewController.m --table '@"MyTable"' --bundle '[NSBundle mainBundle]'
使用@"MyTable"字符串作为本地化稳定参数,并 [NSBundle mainBundle]作为 nsLocalizedStringWithDefualtFormat功能。