我要去建立一个捷希凯/ Symfony2的项目,我一直在四处寻找到基于文本将要翻译的项目中,但没有发现它的任何指令或文档XLIFF / PO / YAML翻译文件的方法。
我的问题是: 有没有产生一个Symfony2中/ Silex的项目特定格式转换的文件(S)以自动化的方式?
如果有,请告诉我如何生成的文件,然后更新后的翻译。
如果没有,请告诉我如何创建翻译文件(S),然后为我的项目增加了更多的文字? 我要寻找一个基于编辑桌面或Web为基础的,而不是使用正常的编辑器如Transifex,GetLocalization(但他们没有选择创建一个新文件或添加更多的文字)
经过很长一段时间搜索互联网,我发现了一个很好的一个:
https://github.com/schmittjoh/JMSTranslationBundle
我看你已经找到了一个转换器,但可以回答有关生成您最初的翻译文件的第一个问题 -
如果你的Gettext您的系统上安装,你可以通过您的“文本将要翻译的项目中” PO文件。 该命令行程序xgettext
将扫描的源文件找你使用任何功能。
例:
要扫描PHP文件的实例trans
方法调用,如下所示 ,你可以使用下面的命令-
find . -name "*.php" | xargs xgettext --language=PHP --keyword=trans --output=messages.pot
要你对编辑的问题:
你可以使用任何PO编辑器如poEdit的 ,来管理你的翻译,但你说你最终需要的PO文件转换到任何一个XLIFF或YAML语言包Symfony的。
我看你已经找到了一个转换工具。 你可能也想尝试一个我写的疯子。 它支持PO到YAML ,并PO到XLIFF
解决方法忙碌的人(UNIX)
您可以运行在终端中输入以下命令:
$ grep -rEo --no-filename "'.+'\|\btrans\b" templates/ > output.txt
这将输出的邮件列表翻译:
'Please provide your email'|trans
'Phone'|trans
'Please provide your phone number'|trans
...
我的意思差不多。但你通常可以从这里做一些工作...
显然,你必须调整命令根据自己的喜好( transchoice
,双引号,而不是单一的...)。
不理想,但可以帮助您!
grep
选项
-
grep -R, -r, --recursive
:读取所有文件的每个目录下,递归这相当于-d
递归选项。 -
grep -E, --extended-regexp
:解释图案作为扩展正则表达式。 -
grep -o, --only-matching
:显示匹配模式的匹配行的唯一部分。 -
grep -h, --no-filename
:当多个文件中搜索禁止输出文件名的前缀。
( 源 )
文章来源: How to generate translation file (.po, .xliff, .yml,…) from a Symfony2/Silex project?