首頁 > CMS教程 > &#&按 > WordPress主題的國際化

WordPress主題的國際化

Christopher Nolan
發布: 2025-02-10 10:01:15
原創
931 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板