我试图通过WPML翻译我的插件选项,但它无法正常工作 . 这是我如何将我的字符串放在插件文件中
get_option(_e('my_label','my-text-domain'));
我已经通过WPML扫描我的插件并在“德语”中进行了翻译,而默认为英语 .
谁能帮我 .
谢谢
问题是 _e 输出翻译后的文本 .
_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') );
如果每个语言的元表中有多个条目,请尝试使用双下划线函数?:
get_option( __( 'my_label','my-text-domain' ) );
2 回答
问题是
_e
输出翻译后的文本 .你想要
__
(双下划线),这将返回翻译的文本 .我会探讨这个问题的其他解决方案 . 通常,您不应使用转换来确定从数据库中提取的选项 . 插件的功能不应取决于翻译文本是否为有效选项名称 .
另一种方法可能是使用get_locale来获取当前区域设置,然后使用它来确定选项名称:
现在,您仍然可以获得选项的本地化版本,而无需依赖翻译人员输入正确的选项名称 .
如果您必须使用翻译方法,我会使用_x来解释翻译后的文本应该是一个选项密钥 .
如果每个语言的元表中有多个条目,请尝试使用双下划线函数?: