我正在尝试通过WPML翻译我的插件选项,但它无法正常工作。 以下是我将我的字符串放在插件文件中的方法
get_option(_e('my_label','my-text-domain'));
我已经通过WPML扫描我的插件并在“德语”中进行了翻译,而默认为英语。
任何人都可以帮助我。
由于
答案 0 :(得分:0)
如果每个语言的元表中有多个条目,请尝试使用双下划线函数?:
get_option( __( 'my_label','my-text-domain' ) );
答案 1 :(得分: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') );