问题描述

所以在英语中我们没有性别名词。它始终是”a table” 或”a desk”,无需担心它是”une table” 或”un tableau”(法语) 。所以我的问题是,在使用法语.mo 文件时,如何翻译一个字符串,如:

您可以在子主题中包含%s

因为”a” 取决于%s 是什么?

最佳解决方案

如果每个字符串都获得自己的翻译模板,这不是问题。

如果您使用字符串 You can include a %s in a childtheme. 多于一个不同的名词不可翻译。

一个例子,从 recent articleNew %s 是德语 (是的,我们有性别的名词)…

  • Neues Buch(一本书,中性)

  • 诺伊尔电影 (为电影,阳刚)

所以你必须写 New bookNew movieYou can include a logo in a child theme.You can include a stylesheet in a child theme.

边注

这就是为什么翻译文件占用了很多内存的原因之一:你必须要 「repeat」 很多非常相似的字符串。虽然英文 WordPress 安装可能会运行 32MB PHP 内存,它将会死,如果您使用相同的德语或法语翻译。

如果您的主题或插件使用许多可翻译的字符串为 front-end 和 back-end 考虑使用两个文件:一个为 back-end 和一个单独的文件为 front-end 。

load_theme_textdomain(
    'your_text_domain',
    get_template_directory() . '/languages' . ( is_admin() ? '/backend' : '/frontend' )
);

WordPress 核心只是改为这个系统,以获得更好的性能。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。