首页 文章

Wordpress WPML没有翻译get_option

提问于
浏览
2

我试图通过WPML翻译我的插件选项,但它无法正常工作 . 这是我如何将我的字符串放在插件文件中

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

我已经通过WPML扫描我的插件并在“德语”中进行了翻译,而默认为英语 .

谁能帮我 .

谢谢

2 回答

  • 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') );
    
  • 0

    如果每个语言的元表中有多个条目,请尝试使用双下划线函数?:

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

相关问题