从rails项目中提取I18n转换键
是否有一些gem或工具可用于解析我的代码并将I18n密钥提取到yml文件?
所以,如果我在代码中:
它会添加到yml文件中
homepage: header: "Cool website"
GetText可以做到,但对于我的项目,我们现在使用默认的rails设置。 当我需要新的翻译密钥时,我需要手动更新yml文件,这让我很烦恼。
我还没有听说过Ruby on Rails这样的工具,但我很确定它存在。 另一方面,您可以自己创建一个 – 可以使用相对简单的正则表达式来完成,例如:
\s+t\(\"(?.*?)\"\s*,\s*default:\s*\"(?.*?)\"\)
您所要做的就是访问命名组(上例中的键和值)并将其写入YAML文件。 根据您要用于捕获此正则表达式的编程语言,您可能需要在正则表达式前添加(?s)或(?-s)以允许将行结尾视为空格(即多行声明) 。
如果您使用default:
无处不在,那么有一个可能适合您的解决方案:
- 转到Locale并创建一个帐户和一个新项目
- 在rails项目中设置localeapp gem,使用API密钥等配置它…
- 默认情况下,当您访问带有翻译调用的页面时,它会将翻译发送到Locale服务器,然后将其同步回您的YAML。
- 或者,如果您具有良好的测试覆盖率,则可以将localeapp配置为在测试环境中运行并运行测试套件。
不理想,而不是Locale的主要目的(这是为了避免手动编辑YAML文件),但它应该适用于这种情况。
完全披露:我共同创立了Locale。
对于那些从谷歌来到这里的人来说,现在有了所有这类东西的gem。