源代碼
File: wp-includes/deprecated.php
function __ngettext() {
_deprecated_function( __FUNCTION__, '2.8.0', '_n()' );
$args = func_get_args();
return call_user_func_array('_n', $args);
}
更新日志
Version | 描述 |
---|---|
2.8.0 | Use _n() |
1.2.0 | Introduced. |
__ngettext()
是WordPress中用于多語言支持的函數(shù)之一,它用于處理復數(shù)形式的翻譯。這個函數(shù)允許開發(fā)者根據(jù)數(shù)量的不同來選擇不同的翻譯文本,這是在某些語言中非常重要的,因為它們的復數(shù)形式可能不止兩種(單數(shù)和復數(shù)),而是根據(jù)數(shù)量的不同有多種變化。
函數(shù)定義
__ngettext()
函數(shù)接受三個參數(shù):
$msgid1
– 單數(shù)形式的文本字符串。$msgid2
– 復數(shù)形式的文本字符串。$n
– 一個數(shù)字,用于決定使用單數(shù)還是復數(shù)形式。
使用場景
這個函數(shù)通常用于需要根據(jù)數(shù)量變化來選擇不同翻譯文本的情況。例如,當顯示不同數(shù)量的評論、文章或項目時。
示例
假設你正在開發(fā)一個插件,其中有一個功能需要顯示不同數(shù)量的評論的文本。你可以這樣使用__ngettext()
:
$comment_count = 5; // 假設有5條評論
/* 翻譯文本 */
$message = ngettext(
'%s comment',
'%s comments',
$comment_count
);
printf($message, number_format_i18n($comment_count));
在這個例子中,如果$comment_count
是1,將使用單數(shù)形式的文本字符串;如果大于1,將使用復數(shù)形式的文本字符串。number_format_i18n()
函數(shù)用于格式化數(shù)字,以適應不同語言的格式。
翻譯過程
當你準備好將你的插件或主題翻譯成其他語言時,你需要在.po
文件中添加相應的翻譯條目。例如:
msgid "%s comment"
msgid_plural "%s comments"
msgstr[0] "%s 評論" // 對應單數(shù)形式
msgstr[1] "%s 評論" // 對應復數(shù)形式
注意事項
- 確保在使用
__ngettext()
之前,你的文本字符串已經被正確地標記為可翻譯的。 - 在
.po
文件中,msgid
和msgid_plural
后面跟隨的是要翻譯的文本,msgstr
數(shù)組中的每個元素對應一個復數(shù)形式,具體數(shù)量取決于目標語言的規(guī)則。 - 函數(shù)
__ngettext()
實際上在WordPress中并不存在,正確的函數(shù)名稱是ngettext()
。__ngettext()
可能是一個筆誤或特定上下文中的別名。
通過使用ngettext()
,你可以確保你的WordPress插件或主題能夠正確地支持多種語言的復數(shù)形式,提供更加本地化的用戶體驗。
未經允許不得轉載:445IT之家 » WordPress函數(shù)__ngettext()用法