因此,在英语中,我们没有性别名词。它始终是“桌子”或“桌子”,无需担心它是“ une table”还是“ un tableau”(法语)。所以我的问题是,在处理法语.mo文件时,如何翻译一个字符串,例如:
您可以在子主题中包含%s
因为“ a”取决于%s是什么?
因此,在英语中,我们没有性别名词。它始终是“桌子”或“桌子”,无需担心它是“ une table”还是“ un tableau”(法语)。所以我的问题是,在处理法语.mo文件时,如何翻译一个字符串,例如:
您可以在子主题中包含%s
因为“ a”取决于%s是什么?
Answers:
如果每个字符串都有自己的翻译模板,这不是问题。
如果将字符串You can include a %s in a childtheme.
多次用于不同的名词,则该字符串不可翻译。
一个例子,取自最近的一篇文章:New %s
用德语(是的,我们也有性别名词)…
…所以您必须编写New book
and New movie
或You can include a logo in a child theme.
and You can include a stylesheet in a child theme.
。
边注
这就是翻译文件占用大量内存的原因之一:您必须“重复”许多非常相似的字符串。虽然使用32MB PHP内存的英语WordPress安装可能会运行良好,但如果将其与德语或法语翻译一起使用,则安装将会死。
如果您的主题或插件在前端和后端使用许多可转换字符串,请考虑使用两个文件:一个用于后端,一个用于前端的单独文件。
load_theme_textdomain(
'your_text_domain',
get_template_directory() . '/languages' . ( is_admin() ? '/backend' : '/frontend' )
);
WordPress核心刚刚更改为该系统,以获得更好的性能。
Helga,你是Viking ...我想这是一个简单而有趣的问题的水坝。
简而言之,问题似乎是%s
而不是性别:
您可以将其包含
%s
在儿童主题中
使事情复杂化,我不知道gettext toscho的重新翻译向导是否可以解决这个问题,或者它是否离题,应该由WP Polyglots来处理。