internationalization - 我可以自动更新 gettext 的 .po 文件中的 msgids 以进行微不足道的文本更改吗?

标签 internationalization translation gettext

使用 gettext,消息的原始(通常是英文)文本用作
翻译的消息键(“msgid”)。这意味着每次
原始文本更改,必须在所有 .po 文件中更新 msgid。

对于文本的真正变化,这显然是不可避免的,因为
翻译人员必须更新翻译。

但是,如果原文的变化不改变其含义,
重新翻译是多余的(例如改变标点、空格
更改或更正拼写错误)。

在这种情况下,有没有办法自动更新 .po 文件?

我尝试使用 xgettext & msgmerge(打开模糊匹配),但是
模糊匹配有时会失败,而且这会产生很多丑陋的
“#,模糊”标志。

注意:有一个类似的问题:
How to efficiently work with gettext PO files when making small edits to large text values
然而,它是关于大字符串的,因此是一个更具体的问题。

最佳答案

避免该问题的一种方法是单独保留 msgid,为原始语言创建一个 .po 文件并在其中进行修复。

尽管如此,它总是让我觉得更像是一种解决方法而不是正确的修复方法。对于下一次迭代(肯定会有更多 msgid 更改),更改 msgid 并且翻译人员在他们通常的更新中翻译它,或者在更改 msgid 时手动更新每种语言。

关于internationalization - 我可以自动更新 gettext 的 .po 文件中的 msgids 以进行微不足道的文本更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8288050/

相关文章:

ruby-on-rails - Rails i18n中的混合语言环境

PHP简单翻译方法——你的看法

php - 如何让 gettext 在 IIS/PHP 上工作

utf-8 - 简体中文和繁体中文的语言代码?

c# - 在区域性为 fr-ca 时将日期格式更改为 en-us

从日语源估计英语翻译单词数量的算法

machine-learning - BLEU 分数的变化

jquery - 更改 jQuery 函数中的语言

linux - 如何使用 grep(或其他 LSB 工具)计算 .po 中的空翻译?

php - i18n 与 gettext 但没有语言环境的麻烦?