阅读您对我的评论的回答后。
直接回答您的问题:任何名称(例如xx_XX)都可以使用,您可以自己发明。
官方语言代码 can be found here(因为 wordpress 正在使用 gettext 实用程序)但就像我说的那样,将语言定义为 xx_XX 然后声明 define ('WPLANG', 'xx_XX'); 确实可以按预期工作。
我已经在一个非常极端的情况下这样做了(字面意思是xx_XX)
但是:
这不是解决问题的正确方法。
原因是您的新翻译,如果使用标准代码 (en_US) 将在每次更新中被覆盖,而且您将很难维护它。
第二个原因是这只是一种不好的做法。
正确的方法是过滤输出,您有一个非常方便的过滤器,专门用于gettext。
您可以将其用作(对于单个字符串):
function my_own_translation( $translated_text ) {
if ( $translated_text == 'The old translation string' ) {
$translated_text = 'My better translation string';
}
return $translated_text;
}
add_filter( 'gettext', 'my_own_translation', 20 );
或者如果你有多个
function my_own_translation( $translated_text ) {
switch ( $translated_text ) {
case 'Old translation string 1' :
$translated_text = 'New Translation string 1';
break;
case 'Old translation string 2' :
$translated_text = 'New Translation string 2';
break;
case 'Old translation string 3' :
$translated_text = 'New Translation string 3';
break;
}
return $translated_text;
}
add_filter( 'gettext', 'my_own_translation', 20 );
当然,如果你有很多字符串,数组会派上用场..
function my_own_translation( $translated ) {
$text = array(
'Old translation string 1' => 'New Translation string 1',
'Old translation string t 2' => 'New Translation string 2',
'Old translation string 3' => 'New Translation string 3',
);
$translated = str_ireplace( array_keys($text), $text, $translated );
return $translated;
}
add_filter( 'gettext', 'my_own_translation', 20 );
只需从中创建一个插件 - 就完成了。
编辑我
发布后阅读我的代码,并考虑到我们正在处理翻译,真正正确的方法是:
$translated_text = __( 'This is my new cool translateion', 'my_domain' );
另外,现在人们倾向于使用最优秀的codestyling localization,而不是 poedit 实用程序。它会让你的生活更轻松..