问题标签 [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.

0 投票
1 回答
437 浏览

poedit - PoEdit 无法识别 php dgettext 函数

如何配置 PoEdit 以识别 PHP dgettext 函数?

请注意,我知道 Configure->Keywords 部分,但我想如何表明翻译在函数的第二个参数中?

任何人都使用 dgettext 进行 poEdit 工作?

0 投票
1 回答
393 浏览

php - po mo 翻译仅适用于 en-GB 和 en-US,不适用于其他语言

我使用 poedit 创建了翻译文件并生成了 mo 文件并将它们保存在各自的文件夹中。但不知何故,我只能访问 en_GB 和 en_US 文件夹中的翻译。即使我将 DE 翻译放在这些文件夹中,它也可以工作。

为什么它无法与其他语言环境一起使用?是否有任何我需要进行的配置或我遗漏了什么?

这是我正在使用的代码。

0 投票
0 回答
154 浏览

xml - 如何使用 poEdit 解析 XML 属性?

可能重复:
poedit 和 xml 文件

这个主题已经在poedit 和 xml 文件中得到解决,但我的问题更具体一些。我知道 poEdit 可以解析多种语言并提取文本字符串。XML 不受本机支持,但可以通过添加专用解析器来处理。按照上面提到的线程中的说明,我尝试过这样做。

我的问题是 poEdit 只会识别嵌套在标签中的字符串。

前任:<label>This will be recognized</label>

我希望 poEdit 能够识别值属性

前任:<DataUI datatype="TEXT" value="My text string"></DataUI>

有人知道我可以在 poEdit 设置中输入什么样的关键字来捕捉“我的文本字符串”部分吗?

谢谢!!!

0 投票
1 回答
637 浏览

php - 让xgettext在评论中查找关键字

默认情况下,xgettext 会忽略在注释块中找到的任何关键字。

是否可以覆盖此行为?我尝试过添加//_为关键字,但这也失败了。似乎评论优先于关键字:

xgettext -o output.po --language=PHP -k_ -k//_ file.php

感谢帮助!

0 投票
5 回答
51372 浏览

translation - 如何使用 PO 编辑器将新字符串添加到 *.po 文件

我手动创建了一个文件:test.po,内容为:

msgstr "问候语"
msgstr "Hello World"

现在我可以在“poedit”和“GTranslated”(我使用的是 Ubuntu)等编辑器中编辑翻译(hello world)。我什至可以为该翻译添加评论。然而,“poedit”和“GTranslated”都不会让我添加一个新的翻译字符串 - 我在网上查看无济于事,并查看了其他编辑器的屏幕截图,似乎没有一个“新”按钮。

我错过了什么???必须使用“纯”文本编辑器编辑新键,然后在这些 PO 编辑器中编辑它们(无论它们可能是什么),这似乎很愚蠢。(如果你不知道我是这个“gettext”世界的新手——我正在用 Zend/PHP 建立一个网站。)

0 投票
3 回答
3620 浏览

php - 如何分析为什么 gettext 不起作用?

我目前正在尝试将 gettext 与 PHP 和 poedit 一起使用。我写了以下 test.php 文件:

这是我的messages.po:

我的目录结构是

只要我查看http://localhost/community-chess/test.php?l=de_DE我就会得到“test :-(”

我已经生成了语言环境

并检查

为什么它不起作用?如何从 gettext 获得一些反馈?

0 投票
2 回答
4600 浏览

php - 英文到俄文翻译的字符编码问题

我使用 Poedit(在 Win7 上运行)生成 .mo/.po 文件,以使用 PHP gettext 制作俄语版本的网页。当我显示页面的俄语版本时,所有字符都显示为黑色菱形/正方形。

这是一个演示该问题的示例网页:

http://cthorn.co.uk/localization/index.php

...这是俄语版本:

http://cthorn.co.uk/localization/index.php?locale=ru_RU

的代码index.php是:

该文件的代码localization.php是:

目录结构为:

在 Poedit 中,我将“字符集”和“源代码字符集”都设置为UTF-8. “语言”设置为Russian,“国家/地区”设置为RUSSIAN FEDERATION

在粘贴到 Poedit 之前,我确保从 UTF-8 编码的文本文件中复制了俄语文本。

我错过了什么?

这里是messages.po从 Notepad++ 中复制出来的:

啊抱歉 - 从以下位置下载文件:

cthorn(dot)co(dot)uk/localization/locale/ru_RU/LC_MESSAGES/messages.mo cthorn(dot)co(dot)uk/localization/locale/ru_RU/LC_MESSAGES/messages.po

(我只能发布两个链接,因为我是 n00b)

0 投票
2 回答
852 浏览

php - PoEdit .PO 生成错误

我试图将我的脚本扫描_('gettext')到新的 PoEdit 目录中的所有函数调用。解析文件后显示此错误:

Filename.class.php:11: warning: Although being used in a format string position, the msgid is not a valid PHP format string. Reason: In the directive number 1, the character '"' is not a valid conversion specifier.

Filename.class.php,第 11 行如下所示:

throw new fatalException(sprintf(_('The chosen directory "%" does not exist.'), $dir));

.MO 文件仍会生成,但网站上不会出现翻译文本。_('gettext')而是显示调用内部的原始文本。这可能是问题所在,还是有其他原因(例如setlocale()信息不正确)导致翻译不起作用?有人能告诉我上面的错误信息是什么意思吗?

在我的本地主机上使用 PHP 5.3.8 和 Apache 2.2.17 在 WAMP Server 2.1 上运行 Windows。

谢谢你。

0 投票
2 回答
3673 浏览

php - PoEdit 关键字 - 复数

我在我的应用程序中加入了类似 gettext 的本地化系统,但我的翻译功能如下所示:

我的 PoEdit 关键字:

  • t:2 告诉 PoEdit 解析$string,它显然工作
  • t:2,3 应该告诉 PoEdit 解析两者$string$plural_string- 但它不是:(

它只看到$string,所以我没有解析复数形式......我该如何解决这个问题?我不想将我的函数切换为不同的参数格式,因为我喜欢这个:(

此外,此函数的作用类似于 sprintf 替换:

  • 如果第三个参数 ($plural_string) 是一个数组,那么函数会将数组中的值视为 vsprintf 的参数
  • 如果第三个参数是字符串并且提供了 $number,该函数将考虑 $vprintf_arguments 作为 vsprintf 的参数(如果提供了),并且 $plural_string 作为 $string 的复数形式

无论如何,PoEdit 不应该干扰未引用的论点,对吧?我的意思是它只会将 $plural_string 解析为字符串,如果它看起来像'abc abc'

0 投票
2 回答
504 浏览

php - 正则表达式过滤所有翻译函数

我正在开发一个提供与 poEdit 相同功能的 Web 界面。

我想遍历指定文件夹中的所有 .php 文件并搜索每一行以进行翻译。为此,我想使用正则表达式搜索 php 文件中的实际行并返回翻译文本参数和域参数。

我的功能如下所示:

但是因为我为域参数定义了一个默认值,所以函数 __() 也可以这样调用:

现在在 PHP 中,我尝试使用函数 preg_match_all() 但我不能将我的正则表达式放在一起。

这是脚本中可能行的示例以及我希望使用 preg_match_all() 函数接收的输出数组:

数组输出:

谁能帮我解决正则表达式和 preg_math_all() 标志?

谢谢你们。