2

我正在尝试通过 WPML 翻译我的插件选项,但它不起作用。这是我将字符串放在插件文件中的方式

get_option(_e('my_label','my-text-domain')); 

我已经通过 WPML 扫描了我的插件,并且已经完成了“德语”的翻译,而默认是英语。

谁能帮我。

谢谢

4

2 回答 2

0

假设您在每种语言的元表中有多个条目,请尝试使用双下划线功能?:

get_option( __( 'my_label','my-text-domain' ) );
于 2015-06-13T07:31:16.790 回答
0

问题是_e 输出翻译后的文本。

您想要__(双下划线),它将返回翻译后的文本。

我会探索这个问题的其他解决方案。一般来说,您不应该使用翻译来确定从数据库中提取的选项。插件的功能不应取决于翻译后的文本是否是有效的选项名称。

另一种方法可能是用于get_locale获取当前语言环境,然后使用它来确定选项名称:

$option_name = get_locale() . 'my_label';
$label = get_option( $option_name );

现在您仍然可以获得选项的本地化版本,而无需依赖翻译人员输入正确的选项名称。

如果一定要用翻译的方式,我会用_x翻译的文本来解释,应该是一个选项键。

get_option( _x('my_label', 'Must be a valid option name', 'my-text-domain') ); 
于 2015-06-14T03:07:32.367 回答