【发布时间】:2021-03-09 01:45:26
【问题描述】:
我使用的主题是意大利语翻译不完整。使用编辑器,我添加了新行并使用 Poedit 生成了 .mo。 我的疑问是我什么时候下载更新,什么时候我的翻译可能会被覆盖。
有没有办法避免重新同步新的翻译(代码在 _e() 函数中使用域)?
【问题讨论】:
标签: wordpress language-translation poedit
我使用的主题是意大利语翻译不完整。使用编辑器,我添加了新行并使用 Poedit 生成了 .mo。 我的疑问是我什么时候下载更新,什么时候我的翻译可能会被覆盖。
有没有办法避免重新同步新的翻译(代码在 _e() 函数中使用域)?
【问题讨论】:
标签: wordpress language-translation poedit
您可以将“自定义” .po 和 .mo 文件放入 /wp-content/languages/plugins,它将覆盖插件的原始 .po .mo 文件。因此,即使您更新了插件,您的自定义翻译文件也会被使用。
例如,如果您将 Akismet 插件翻译成意大利语,您在 /wp-content/languages/plugins 中的文件将是
akismet-it_IT.mo
akismet-it_IT.po
编辑:
或者,您可以将此代码添加到您的子主题的functions.php 以进行字符串翻译。您可以根据需要附加此代码来翻译单词。我在末尾添加了两行(hello2 和 hello3)作为示例。
// Translate Text
add_filter('gettext', 'translate_text');
add_filter('ngettext', 'translate_text');
function translate_text($translated) {
$translated = str_ireplace('Hello', 'Ciao', $translated);
$translated = str_ireplace('Hello2', 'Ciao2', $translated);
$translated = str_ireplace('Hello3', 'Ciao3', $translated);
return $translated;
}
【讨论】: