将翻译短语添加到WordPress主题

时间:2015-02-02 作者:bypatryk

我正在创建一个自定义的Wordpress主题,我正在使用3个短语,我需要根据所选的网站语言进行翻译。我在互联网上翻了一番,但找不到一个简单的方法来添加这些短语,所以我可以通过我网站上的管理面板来翻译它们。

我想知道是否有任何方法可以添加这些短语(f.e.infunctions.php 文件),而不使用任何采购订单/生产任务单/POT文件?

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

这里有一个或两个想法,你可以在这里追求:(警告:未经测试)

选项1在模板文件中(如果不是您自己的主题,请使用子主题),使用get_locale 在条件语句中检查设置了哪种语言WPLANG 然后根据语言环境列出文本

选项2使用gettextgettext_with_context 根据字符串上下文进行筛选。

与…结合get_locale() 然后,您可以根据语言集获取和转换并提供正确的翻译字符串

SO网友:tao

在我看来,寻找其他替代方法来翻译一个主题是不推荐的,这将是其受欢迎程度的一个挫折,因为it will not allow users to add translations the same way 它们可以用于其他主题和插件。

有关备选方案,请参见@PieterGoosens的回答。如果您问这个问题是因为您发现了添加i18n 对于过于复杂的主题,这里有一个逐步的步骤,使用PO/MO/POT文件。(所以它实际上并没有回答您的具体问题,但可能对那些需要添加主题i18n的人有所帮助)。假设你的主题是yourtheme:

function load_yourtheme_theme_textdomain() {
    $path = get_template_directory() . \'/lang\';
    load_theme_textdomain( \'yourtheme\',  $path);
}
add_action( \'after_setup_theme\', \'load_yourtheme_theme_textdomain\' );
您需要将可翻译字符串包装在__() 函数,使用\'yourtheme\' 作为textdomain。例如:

echo __(\'Some text\', \'yourtheme\');
这里有一个list of WP l18n wrappers. 请查看该页上的相关功能。

现在:

下载并安装Poedit. 它是免费的File»;New. 选择默认语言.pot 在里面/lang 文件夹,位于主题内Catalogue»;Properties, 添加项目的一般详细信息。使用UTF-8Sources Paths (第二个选项卡),添加../ 作为基本路径. 作为新项目的路径。点击Ok 保存设置

  • Catalogue»;Update from sources.
  • 该文件将自动获取主题的所有可翻译字符串。再次保存(请确保将其另存为.pot) 你就完了。

    如果我跳过了任何步骤,或者你在任何步骤中遇到了困难,我会更新详细信息。

    结束

    相关推荐

    Custom metabox translation

    我已经创建了一个自定义的帖子类型,并添加了一些自定义的元数据库,现在我想知道我在我的网站上使用了什么样的翻译插件?我对它们都没有经验,所以我不知道谁会支持我的自定义元数据库,谁不会。