首页 >CMS教程 >WordPress >WordPress主题的国际化

WordPress主题的国际化

Christopher Nolan
Christopher Nolan原创
2025-02-10 10:01:15933浏览

WordPress主题的国际化

钥匙要点

WordPress提供了一个API,可让您国际化主题,使使用不同语言的用户可以访问它。这涉及下载和安装您要支持的语言的翻译文件。
    >
  • >国际化WordPress主题的第一步是创建一个子主题并为其定义独特的文本域。该文本域将用于加载主题的翻译文件。
  • >
  • >> __和_e之类的功能用于在WordPress中进行国际化文本。 __函数根据所选的语言返回本地化字符串,而_e函数直接在页面上显示本地化文本。
  • 可以使用Poedit之类的工具来创建包含实际翻译的.mo文件。创建这些文件并保存在适当的目录中后,您的WordPress主题应以选定的语言显示内容。
  • >如何为不同语言配置WordPress
  • >您可以在WordPress网站中添加不同的语言。为此,您可以从WordPress Translator团队的博客中下载翻译文件。在此页面上,您可以看到具有翻译的各种语言,以及翻译的百分比已完成。假设我想下载法语。我将转到法语行,然后单击下图中所示的百分比。>
然后,您可以单击WordPress版本,并导出.mo文件,如下图所示

>下载了.mo文件后,您将必须将其上传到WordPress安装的WP-CONTENT/LAKINAGES文件夹中。然后,您可以转到WordPress管理员中的设置 - >一般。在这里,您应该能够看到您在WP-content/Lanagumes文件夹中放置的语言选项,如下图所示。请选择要更改网站的所需语言,然后单击“保存更改”

WordPress主题的国际化

在主题中加载文本域

>国际化主题的第一步是创建主题。在此示例中,您可以通过创建二十七次主题的子主题来开始。要创建一个子主题,请首先创建一个文件夹WP-content/themes/wpinternationlizationtheme。在此文件夹中,添加文件样式。 此文件定义了一个名称wpinternationlizationtheme的子主题。这是二十七次的孩子主题。在上面,每个字段都是我们为子主题定义的标准字段。字段文本域是定义此主题文本域的唯一名称的字段。此主题应以唯一标识符加载翻译文件。

>
<span>/*
</span><span> Theme Name:   wpinternationlizationtheme
</span><span> Description:  Twenty Seventeen Child Theme.
</span><span> Author:       Abbas Suterwala
</span><span> Author URI:   http://example.com
</span><span> Template:     twentyseventeen
</span><span> Version:      1.0.0
</span><span> Text Domain:  wpinternationlizationtheme
</span><span>*/
</span>
>创建一个functions.php,带有以下代码

>上面的代码加载父主题(在这种情况下为十五次)样式。然后加载了子主题的样式。

>
<span><span><?php
</span></span><span><span>function wpinternationlizationtheme_enqueue_styles() {
</span></span><span>
</span><span>    <span>$parent_style = 'parent-style'; 
</span></span><span>
</span><span>    <span>wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
</span></span><span>    <span>wp_enqueue_style( 'child-style',
</span></span><span>        <span>get_stylesheet_directory_uri() . '/style.css',
</span></span><span>        <span>array( $parent_style ),
</span></span><span>        <span>wp_get_theme()->get('Version')
</span></span><span>    <span>);
</span></span><span><span>}
</span></span><span><span>add_action( 'wp_enqueue_scripts', 'wpinternationlizationtheme_enqueue_styles' );
</span></span><span>
</span><span><span>?></span>
</span>
>这使孩子主题样式可以成为最后加载的样式,并且可以根据子主题的需求进行定制。现在,您需要加载文本域,这意味着指示WordPress在哪里搜索此主题的翻译。您可以使用WordPress函数load_theme_textdomain加载主题的文本域。为此,将以下代码添加到您的functions.php:>

上面的代码挂钩到after_setup_theme操作。在该动作上,您为主题加载文本域。这是使用函数load_theme_textdomain完成的。此功能设置为在以下目录中查找.mo文件:

>

WordPress的国际化功能
<span>function wpinternationlizationtheme_setup(){
</span>    <span>$domain = 'wpinternationlizationtheme';
</span>    <span>// wp-content/languages/wpinternationlizationtheme/de_DE.mo
</span>    <span>load_theme_textdomain( $domain, trailingslashit( WP_LANG_DIR ) . $domain );
</span>    <span>// wp-content/themes/wpinternationlizationtheme/languages/de_DE.mo
</span>    <span>load_theme_textdomain( $domain, get_stylesheet_directory() . '/languages' );
</span>    <span>// wp-content/themes/wpinternationlizationtheme/languages/de_DE.mo
</span>    <span>load_theme_textdomain( $domain, get_template_directory() . '/languages' );
</span><span>}
</span><span>add_action( 'after_setup_theme', 'wpinternationlizationtheme_setup' );
</span>

>设置文本域后,请查看可以在WordPress中用于国际化的功能。您主要可以使用两个功能。第一个是__。此功能需要两个参数,第一个是字符串,第二个是域。然后,此功能根据所选的语言返回了学位的本地化字符串。

- Languages directory
- Child theme directory 
- Parent theme directory
>因此,如果您想在每个帖子的末尾添加一些文本,但也希望根据语言选择进行本地化,请在function.php中添加以下代码。

另一个功能是_e。这需要与__相同的两个论点。此函数直接在页面上显示本地化文本,而不仅仅是返回。>

>因此,例如,如果要添加应该显示本地化的页脚消息,则应创建一个带有以下内容的footer.php:

<span>/*
</span><span> Theme Name:   wpinternationlizationtheme
</span><span> Description:  Twenty Seventeen Child Theme.
</span><span> Author:       Abbas Suterwala
</span><span> Author URI:   http://example.com
</span><span> Template:     twentyseventeen
</span><span> Version:      1.0.0
</span><span> Text Domain:  wpinternationlizationtheme
</span><span>*/
</span>

创建.mo文件

>创建了国际化所需的代码后,您将需要创建本地化文件。有许多可以创建.mo文件的工具。在本文中,您将看到其中一个受欢迎的人Poedit。您可以从https://poedit.net/download下载POEDIT。

>下载poedit后,您可以选择“ file-> new Catalog”以查看以下屏幕:

在此屏幕中,您可以输入有关该项目的基本信息。下一个选项卡是给出需要解析的代码路径,以找到需要本地化的字符串,如下所示:WordPress主题的国际化>

>下一个选项卡让您输入需要搜索的关键字,以获取需要本地化的所有字符串。由于您已经在上面的示例中使用了两个函数__和_e,因此在此选项卡中添加这两个函数。WordPress主题的国际化

>完成此操作后,该工具将搜索所有需要本地化的字符串,如下图所示。WordPress主题的国际化

>现在,您可以为每个字符串添加本地化,​​然后单击“保存”以将文件保存在wp-content/themes/wpinternationlizationlizationlizationtheme/franagages/fr_fr.mo WordPress主题的国际化>

现在,最后,如果您将语言更改为“法语”,则应该看到您的字符串在主站点上以法语定位。

结论

>使您的主题准备为国际化准备,这可能是成功的关键因素。用于国际化的WordPress API易于使用。它可以轻松地本地化主题而不更改任何代码文件。因此,请在下一个WordPress主题国际上玩乐,并在下面的评论中告诉我们您的经历!

>关于国际化WordPress主题的经常询问的问题

>国际化WordPress主题的重要性是什么?它允许您的网站翻译成不同的语言,使其在全球用户访问。这不仅可以增强用户体验,还可以提高您网站的可见性和覆盖范围。通过国际化主题,您可以迎合多样化的受众群体并在全球范围内扩展业务。

文本域在国际化WordPress主题中如何发挥作用?>

>国际化WordPress主题的步骤是什么?

>国际化WordPress主题涉及几个步骤。首先,您需要通过将所有文本包装在getText函数中来准备主题进行翻译。接下来,您需要创建一个.pot文件,该文件是包含所有可翻译文本的模板文件。然后,您需要使用.po文件翻译主题,该文件是包含实际翻译的便携式对象文件。最后,您需要加载文本域才能告诉WordPress使用哪些翻译。

>如何翻译我的WordPress主题?

>您可以使用.po文件来翻译WordPress主题。该文件包含主题中的所有可翻译文本及其相应的翻译。您可以使用像Poedit这样的翻译编辑器打开.po文件并添加翻译。完成后,您可以使用.mo扩展名来保存文件,这是WordPress可以读取的机器对象文件。

> WordPress主题国际化期间面临的常见问题是什么? >

WordPress主题国际化期间面临的一些常见问题包括缺少文本域,错误的文本域名和未翻译的文本。这些问题可以防止您的主题完全可以翻译。为避免这些问题,请确保在所有getText函数中包含一个文本域,使用正确的文本域名,然后将所有文本包装在getText函数中。

我可以使用插件来国际化我的WordPress主题吗? >

是的,有几个可用的插件可以帮助您国际化WordPress主题。这些插件可以生成.pot文件,提供用于添加翻译的用户友好界面,并为您加载文本域。但是,重要的是要注意,使用插件不应替换国际化主题的手动过程。

>

如何测试我的WordPress主题的国际化?

>您可以通过更改WordPress安装的语言来测试WordPress主题的国际化。如果您的主题适当国际化,则应在主题中看到翻译的文本。您还可以使用诸如WordPress主题检查插件之类的工具,可以检查您的主题是否有常见的国际化问题。

本地化和国际化之间有什么区别?

国际化是准备好您的过程主题要翻译成不同的语言,而本地化是实际翻译主题的过程。换句话说,国际化是使您的主题转换的第一步,本地化是您添加实际翻译的下一步。

>如何使我的WordPress主题RTL(右至左)兼容?为了使您的WordPress主题RTL语言兼容,您需要在主题目录中创建RTL.CSS文件。该文件应包含所有必要的CSS规则,以翻转RTL语言主题的布局。当将网站语言设置为RTL语言时,WordPress将自动加载此文件。

我可以在WordPress中国际化子主题吗?

是的,您可以在WordPress中国际化儿童主题。该过程类似于国际化父主题。但是,您需要在getText函数中使用parent主题的文本域,并加载在子主题的function.php文件中的文本域。

以上是WordPress主题的国际化的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn