问题标签 [poedit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何在不扫描 .php 文件的情况下将翻译添加到 .po 文件
我只知道如何通过单击扫描 .php 文件的更新来使用 poedit 将翻译添加到 .po 和 .mo 文件。
我可以想到几个想要添加行而不必先扫描 .php 文件的原因,例如:能够同时处理 .php 文件和翻译。我试过了,但我找不到怎么做。显然,无法在 poedit 中进行操作,并且在 notepad++ 中打开 .po 和 .mo 文件会显示难以理解的图标。
如何才能做到这一点?
gettext - 管理与多种语言、命令行源的 poedit 同步
我正在使用 poedit 来管理 php 项目中的 gettext 翻译。有很多人为该项目做出了贡献,每次添加一些新的语言字符串时,我都需要运行 poedit 并与每种可用语言的源同步,以便翻译人员可以翻译语言文件。我的问题是:
a) 我是否必须为每种语言每次都这样做,还是有更简单的方法?
b)有没有办法从命令行执行此操作(例如,我可以将其添加到 cron 作业中)?
提前致谢
gettext - po消息文件构建
是否可以构建*.po
文件以*.mo
使用终端?
目前,我必须*.po
在我的文本编辑器中编辑文件,保存它,通过Poedit加载它并再次保存。
我正在开发 ubuntu。
php - Poedit 不解析“路径”中 PHP 文件中的所有字符串
今天,当我尝试扫描我的插件以查找翻译并为其创建本地化文件时,我遇到了这个麻烦,但我看到 Poedit 扫描了所有文件但没有解析所有字符串。例如,如果我有这样
<?php _e('test string')?>
的字符串,它会被解析,但如果我在这样的上下文中使用它
poedit 没有解析任何字符串。然后我做了一个简单的测试,我把我的消息放在这样的一行
<?php_e('test string'); _e('test string 2');?>
中,然后 poedit 提取它们!
注意:
poedit 没有抛出错误。所有关键字都在那里,并通过搜索(_,__,_e)
。
php - 如何让 gettext 和 poedit 识别自定义文件类型?
我正在尝试让 Smarty 和 gettext 在我的项目中一起工作。目前 smarty 使用.tpl
文件作为其模板系统。
我使用 PoEdit 创建目录文件,并在 PHP 下的文件扩展名中添加了“*.tpl”,但是当我尝试扫描 gettext 字符串时,出现以下错误并且无法找到我的字符串:
xgettext:警告:文件
../libs/smarty/debug.tpl' extension
tpl' 未知;将尝试 C
xgettext: 警告:文件../template/login.tpl' extension
tpl' 未知;将尝试 C
xgettext: 警告:文件../template/index.tpl' extension
tpl' 未知;会尝试C
那么我怎样才能让它工作呢?
php - 当单数存在时,Gettext 不会解析复数形式
这是我的情况:我通过 Poedit 使用 gettext 来翻译 PHP 应用程序。我有一个复数的自定义函数:
在 Poedit 中用这个关键字引用它:ListOutput:3,4
。
现在,我的问题是,当我有一个要翻译的字符串时,我使用_('example_string')
,但是如果我稍后通过 翻译它ListOutput($result,$column_names,'example_string', 'example_string_plural')
,只有example_string会出现在 Poedit 中。
此外,我应该说这个问题有时会出现,其他时候,我会有复数形式和单数形式(所以,单数字符串 2 次......)。
注意 1:如果字符串仅在ListOutput()中引用,复数形式将正确出现在 Poedit 中。
注意2:ListOutput()函数调用ngettext()并将列表元素的数量作为第三个参数。
php - 如何通过 PHP 数组或 DocBlocks 中的 xgettext 识别可翻译字符串(无方法调用)?
我正在使用 poEdit 和 xgettext-Parser 来解析我的 PHP 源文件并检测所有可翻译的字符串。默认情况下,translate("foo")
如果“translate”被指定为 xgettext 的关键字,xgettext 只识别函数调用中的字符串,例如。
现在我在 PHP 数组中有一些可翻译的字符串,比如
或 DocBlocks 之类的
如何使用 xgettext 识别这些可翻译的字符串“foo”或“Foobar”?
提前致谢!
zend-framework2 - 在没有源关键字的情况下,Poedit 翻译字符串的推荐方式/最佳实践是什么?
我正在开发一个 Zend Framework 2 应用程序,但翻译有问题。实际上在视图脚本中可以使用视图助手Translate
。由于我在 Poedit ( ) 中将“翻译”定义为源关键字,[Poedit menu] -> Catalogue -> Properties... -> Source keywords
因此该工具会识别字符串并将其添加到翻译列表中。
但是在其他地方也有一些字符串,我不能使用/a 视图助手,例如在表单类或导航中。这应该如何管理?
一些想法:
创建一个包含此类字符串列表的文件。示例:我们创建文件
navigation.i18n
等forms.i18n
(或仅一个文件),在我们添加到列表的通用 Poedit 语法中定义我们需要的所有字符串Source keywords
(例如,使用translate
:translate('my label foo'), translate('my label bar')
等),最后添加i18n
为源路径([Poedit menu] -> Catalogue -> Properties... -> Source paths
)。我们还可以使用已经定义为“源路径”的扩展。一个类,它提供一个(静态)方法
translate(...)
而没有任何功能。示例:而不是'label' => 'foo'
我们使用'label' => \MyNamespace\Util\Translator::translate('foo')
我认为,第二种方法更干净,我更喜欢。我不需要写两次我的钥匙串并记住已经翻译/更新的内容。但也许有更好的想法?
php - Poedit 在进行目录更新后崩溃
我试图从源头更新目录。完成更新后 poedit 崩溃。在命令行工具中,我收到以下消息:
我可以看到 poedit 如何在源代码中搜索文本片段。进度条一直工作到 100%。然后 poedit 崩溃而没有错误消息。我正在使用linux ubuntu。源代码是用php编写的。
zend-framework - poedit翻译工具和Zend框架
我正在尝试执行 poEdit 工具,但是当我尝试保存 .po 文件时出现此错误: