objective-c - 如何在 Xcode 项目中使用 Twine?

标签 objective-c localization

Twine看起来不错,但是文档有点缺乏,而且没有示例 iOS 项目。我想知道如何将此工具合并到我的项目中。

具体:

  1. 是否建议我的 key 使用任意代码(例如 path_not_found_error)或 Apple 推荐的英文单词/句子(例如 无法找到路径)。 The article that introduces Twine提到当一个单词可能意味着两种不同的事物时(例如,列出名词与动词),英语单词/句子会显得不足,但随后也提到使用键的缺点:如果您忘记包含一个,用户将看到您的键名称 (path_not_found_error),而不是对应的英文名称 (无法找到路径)。
  2. 假设我正在编写代码,并且想要包含一个新字符串。为了做到这一点需要采取哪些步骤?当遵循 Apple 的建议时,我只需输入 NSLocalizedString(@"Sample text", nil) 即可完成。让它与 Twine 一起工作的过程是什么?
  3. their examples ,它们显示诸如 [[General]][[Errors]] 之类的类别。如何对字符串进行分类?
  4. their examples ,它们显示标签。这些到底是什么?我将如何使用它们?

最佳答案

生成strings.txt的第一个版本:

  1. 从代码中的所有 NSLocalizedString 宏生成 Localized.strings

    查找 . -名称\*.m | xargs genstrings -o/tmp

  2. 建议将其保存在Resources/Locales/en.lproj/Localizes.strings

  3. 创建初始的空 strings.txt 文件:

    touch strings.txt

  4. Localized.strings 的内容填充它:

    tine Consumer-all-string-files strings.txt 资源/区域设置 --developer-language en --consume-all --consume-comments

看来,执行此操作一次后,建议您以后手动修改 strings.txt 文件。

要在代码中创建新字符串:

  1. 输入您要使用的字符串,例如:

    NSString *prompt = NSLocalizedString(@"prompt_user_name", nil);

  2. 手动将键/值添加到 strings.txt 文件中,可以选择将它们放入一个类别中:

    [提示用户名] en = 请输入用户名

  3. 现在,当您构建项目时,它将生成 Localizes.strings,当您运行应用程序时,您将看到正确的字符串。 (假设您遵循 Twine and Your Build Process 步骤。)

关于objective-c - 如何在 Xcode 项目中使用 Twine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26435334/

相关文章:

php - 输入字段 : store decimal values with comma instead of a point in mysql database

c++ - 在 Excel 自动化中使用非本地化公式

ios - 使用 Swift 在应用程序中提供语言选择选项

Android 翻译文本未显示在应用程序上

iphone - 获取用户的国家

php - 使用 xcode 和 php 将图像上传到网络服务器

ios - 查找基础 View Controller 名称

ios - NSLog 不会从 ViewController 类输出,但会从 AppDelegate 类输出。 iOS :Objective C

iphone - 使用 NSTimer 的序列动画

无论屏幕方向如何,iPhone 中心事件指示器