問題描述
所以在英語中我們沒有性別名詞。它始終是”a table” 或”a desk”,無需擔心它是”une table” 或”un tableau”(法語) 。所以我的問題是,在使用法語.mo 文件時,如何翻譯一個字符串,如:
您可以在子主題中包含%s
因為”a” 取決於%s 是什麼?
最佳解決方案
如果每個字符串都獲得自己的翻譯模板,這不是問題。
如果您使用字符串 You can include a %s in a childtheme. 多於一個不同的名詞不可翻譯。
一個例子,從 recent article:New %s 是德語 (是的,我們有性別的名詞)…
-
Neues Buch(一本書,中性)
-
諾伊爾電影 (為電影,陽剛)
所以你必須寫 New book 和 New movie 或 You 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。