Twine看起来不错,但是文档有点缺乏,而且没有示例 iOS 项目。我想知道如何将此工具合并到我的项目中。
具体:
- 是否建议我的 key 使用任意代码(例如
path_not_found_error
)或 Apple 推荐的英文单词/句子(例如无法找到路径
)。 The article that introduces Twine提到当一个单词可能意味着两种不同的事物时(例如,列出名词与动词),英语单词/句子会显得不足,但随后也提到使用键的缺点:如果您忘记包含一个,用户将看到您的键名称 (path_not_found_error
),而不是对应的英文名称 (无法找到路径
)。 - 假设我正在编写代码,并且想要包含一个新字符串。为了做到这一点需要采取哪些步骤?当遵循 Apple 的建议时,我只需输入
NSLocalizedString(@"Sample text", nil)
即可完成。让它与 Twine 一起工作的过程是什么? - 在 their examples ,它们显示诸如
[[General]]
和[[Errors]]
之类的类别。如何对字符串进行分类? - 在 their examples ,它们显示标签。这些到底是什么?我将如何使用它们?
最佳答案
生成strings.txt
的第一个版本:
从代码中的所有
NSLocalizedString
宏生成Localized.strings
。查找 . -名称\*.m | xargs genstrings -o/tmp
建议将其保存在
Resources/Locales/en.lproj/Localizes.strings
创建初始的空 strings.txt 文件:
touch strings.txt
用
Localized.strings
的内容填充它:tine Consumer-all-string-files strings.txt 资源/区域设置 --developer-language en --consume-all --consume-comments
看来,执行此操作一次后,建议您以后手动修改 strings.txt
文件。
要在代码中创建新字符串:
输入您要使用的字符串,例如:
NSString *prompt = NSLocalizedString(@"prompt_user_name", nil);
手动将键/值添加到
strings.txt
文件中,可以选择将它们放入一个类别中:[提示用户名] en = 请输入用户名
现在,当您构建项目时,它将生成
Localizes.strings
,当您运行应用程序时,您将看到正确的字符串。 (假设您遵循 Twine and Your Build Process 步骤。)
关于objective-c - 如何在 Xcode 项目中使用 Twine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26435334/