我正在尝试通过 WPML 翻译我的插件选项,但它不起作用。这是我将字符串放在插件文件中的方式
get_option(_e('my_label','my-text-domain'));
我已经通过 WPML 扫描了我的插件,并且已经完成了“德语”的翻译,而默认是英语。
谁能帮我。
谢谢
假设您在每种语言的元表中有多个条目,请尝试使用双下划线功能?:
get_option( __( 'my_label','my-text-domain' ) );
问题是_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') );