首頁 >CMS教程 >&#&按 >帶有polylang的多語言WordPress網站

帶有polylang的多語言WordPress網站

Jennifer Aniston
Jennifer Aniston原創
2025-02-15 10:40:11252瀏覽

WordPress的多語言支持:使用Polylang插件輕鬆創建多語言網站

WordPress本身支持多種語言,但默認情況下,在“常規設置”面板中切換語言後,無法同時使用多種語言。

有時,我們需要同時使用多種語言。例如,我的博客同時提供英語和法語版本。如果您更喜歡法語,可以直接切換到法語版本,而無需更改整個網站的語言設置。

WordPress默認情況下不支持此功能,但一些插件可以幫助您實現這一目標。本文將介紹一個完全免費且功能強大的插件:Polylang。我們將學習如何安裝、配置它,以及如何使用它來翻譯整個網站(不僅僅是文章!)。

關鍵要點:

  • Polylang是一個免費且全面的插件,它使WordPress網站能夠支持多語言功能,而不僅僅是翻譯文章。
  • 該插件允許翻譯整個網站,包括主題和動態內容,例如小部件標題,確保提供完全翻譯的用戶體驗。
  • Polylang還允許翻譯文章、分類和標籤,並可以選擇自動同步不同元素的翻譯。
  • 雖然Polylang提供了廣泛的選項,但建議您在將其應用於正式網站之前,先在本地環境中進行測試。 Polylang的官方文檔提供了其功能和過濾器的更多指導。

在WordPress上管理多種語言

為什麼選擇Polylang?

根據您的具體需求,WordPress的默認工具可能就足夠了。例如,您可以創建一個特定語言的文章,然後創建相同文章的其他語言版本,並使用合適的標籤進行區分。這只是一個例子,如果您想保持簡單,可以這樣做。

Multilingual WordPress Websites with Polylang 然而,這不是一個完整的解決方案。使用Polylang的優勢在於,它不僅可以翻譯您的文章。事實上,如果您的主題已翻譯成正確的語言,您的訪問者將看到整個翻譯後的網站。以我的博客為例,當您閱讀我的博客上的法語文章時,您會看到翻譯後的側邊欄和頁腳。

Polylang是一個強大的工具,可以幫助您創建多語言網站。配置完成後,使用Polylang翻譯文章就像上面示例一樣簡單,甚至更簡單!

安裝Polylang

您可以通過WordPress.org免費下載Polylang插件。它的安裝和激活方式與其他插件相同。

Multilingual WordPress Websites with Polylang

管理可用語言

Polylang擁有自己的選項面板,可以通過管理面板“設置”菜單中的“語言”條目訪問。我們首先來看一下該面板的第一個選項卡“語言”。顧名思義,它允許您管理要在網站上使用的語言。

添加新語言最簡單的方法是使用標記為“選擇語言”的下拉列表。默認情況下,有數十種可用的語言,您很可能找到所需的語言。如果找不到,您仍然可以通過創建自己的語言來使用它(名稱、區域設置、代碼和方向)。

您還可以選擇語言在列表中顯示的順序。 “順序”文本輸入接受一個數字。語言將使用此數字按升序排序。

添加語言後,您可以編輯其信息。這些選項可以通過將鼠標懸停在列表中的語言上查看。

配置Polylang

訪問Polylang選項面板中的“設置”選項卡,您會發現一些有用的選項來個性化您的多語言體驗。

第一個選項,也是可能最重要的一個選項,是您希望網站使用的默認語言。它可以是您添加的任何語言。如果您的訪問者使用您不支持的語言,他們將看到此默認語言。

如果您的網站不是新網站,您可能已經發布了一些文章。由於您是在創建文章後安裝Polylang的,因此現有文章將沒有設置語言。您可以從此選項卡為所有文章設置默認語言。

在此選項卡中,您還會發現一些需要檢查的其他選項,特別是您的URL首選項。

完全翻譯的網站

主題翻譯

如上所述,Polylang的功能不僅僅是翻譯文章。您的訪問者可以使用他們首選語言的完整體驗。

為此,您需要一個已翻譯的主題。如果您使用的主題支持翻譯,您應該在其中(可能在像languages這樣的子文件夾中)找到一個POT文件。此文件包含主題中使用的所有字符串。這樣,您可以將它們翻譯成您想要的任何語言。

現在,當Polylang在您的網站上顯示正確的語言時,它不僅會顯示該語言的文章,還會顯示主題。這樣,您的訪問者就不會在英語頁面中看到法語文本,例如。

請注意,如果您使用WordPress默認主題(例如Twenty Fifteen),當您在Polylang中添加新語言時,它會嘗試下載並安裝此主題的此語言翻譯。

動態字符串翻譯

我們不能只用一個簡單的POT文件翻譯所有內容。例如,小部件的標題是由用戶(您)創建的字符串,因此我們自然不能使用POT文件來翻譯這些。但是,由於Polylang,還有另一種方法可以翻譯它們。

轉到Polylang選項面板的第二個選項卡。此選項卡稱為“字符串翻譯”,其中包含在您的網站上顯示的各種字符串。默認情況下,Polylang會生成多個動態字符串。您會發現諸如網站名稱和描述之類的字符串,您甚至可以翻譯時間格式。

Polylang還會檢索您正在使用的所有小部件。然後可以使用動態字符串翻譯其標題和內容(例如文本小部件)。值得注意的是,當Polylang處於活動狀態時創建小部件時,您現在可以在小部件設置中選擇一種語言。

在“字符串翻譯”選項卡中,Polylang列出了所有已註冊的動態字符串及其原始語言。然後您可以將它們翻譯成您使用的語言。不僅您的主題可以翻譯,您的動態內容也可以翻譯。

註冊我們自己的動態字符串

如果您正在開發主題或插件,您可以通過註冊您自己的動態字符串使其“Polylang就緒”。例如,如果您需要顯示用戶可以自行定義的字符串,這將非常有用。通過註冊這些字符串,這些相同的用戶將能夠將它們提供給多種語言。

要註冊字符串,請使用pll_register_string()函數。與其他插件定義的任何其他函數一樣,您應該使用以下測試檢查此函數是否存在:

<code class="language-php">if (function_exists('pll_register_string')) {
    // 函数存在,执行任何操作!
}</code>

即使安裝並激活了Polylang,此函數也可能缺失。例如,在創建它之前過早地調用它是有可能的。為了確保您不會過早地調用它,請確保在“plugins_loaded”操作發生後調用它。例如,如果您直接在主題的functions.php文件中註冊字符串,就會出現這種情況。

既然我們已經了解瞭如何調用此函數,那麼是時候了解其參數了。此函數接受四個參數,但最後兩個是可選的。

第一個參數是字符串的名稱。此名稱是描述它的方法。請參考您當前的“字符串翻譯”選項卡以了解其用法的示例。例如,“l, F j, Y”這樣的字符串並不總是很清楚,但使用名稱“日期格式”,它就清楚了。

第二個必需參數是要翻譯的字符串。您可以使用任何語言編寫此字符串,但請盡量與主題或插件的其餘部分保持一致。

<code class="language-php">pll_register_string('My awesome string', 'This is a translated string.');</code>

第三個參數表示要放置字符串的組。默認情況下,此組名為“polylang”,但您可以定義您自己的組,例如指示您的主題名稱。用戶可以在已註冊的字符串列表中看到組名。這是讓用戶更好地了解字符串顯示位置的另一種方法(如果多個插件使用Polylang,您的用戶會感謝您指出某個字符串是用於您的插件而不是其他插件的)。

最後一個參數並非對每個人都有用,但對某些人來說可能有用。它是一個默認為false的布爾值。如果將其設置為true,則Polylang將提供一個多行文本區域,讓用戶翻譯字符串,而不是單行文本輸入。

檢索已註冊的字符串

註冊字符串後,用戶可以在“字符串翻譯”選項卡中翻譯它們。但是您仍然需要一種方法來檢索它們,以便顯示正確的翻譯!

您基本上可以使用兩個函數來實現此目的。第一個是pll__()(請注意__() WordPress函數的兩個下劃線)。您向它提供要翻譯的字符串,它將返回相同的字符串,並翻譯成當前語言。

<code class="language-php">if (function_exists('pll_register_string')) {
    // 函数存在,执行任何操作!
}</code>

如果您不想對這個翻譯後的字符串做任何操作(例如將其註入sprintf()之類的函數中),您可以直接使用pll_e()將其回顯。

<code class="language-php">pll_register_string('My awesome string', 'This is a translated string.');</code>

您還可以使用第三個函數:pll_translate_string()。最後一個函數接受兩個參數:要翻譯的字符串以及您想要翻譯的語言。例如,這在您想以目標語言顯示“查看此文章的[任何語言]”之類的文本時非常有用。

<code class="language-php">$translated_string = pll__('This is a translated string.');</code>

文章翻譯

翻譯文章

設置好Polylang後,您所有現有的文章都應該使用默認語言。這意味著它們不會顯示在其他語言中。

在文章列表中,您會找到新的列,表示每種添加語言的翻譯狀態。如果文章行中顯示“加號”,則表示相應的翻譯不存在。您可以單擊此“加號”添加翻譯。

在此之後,我們不需要做任何其他事情。您可以像其他文章一樣編寫您的翻譯,就是這樣!您還有其他詞來形容這個詞而不是“很棒”嗎?

請注意,您也可以在編輯文章時添加翻譯。 Polylang在編輯器中有一個自己的框,列出了當前文章的現有翻譯。從此列表中,您可以編輯現有翻譯並添加其他翻譯。

翻譯分類和標籤

到目前為止,我們已經翻譯了我們的主題、小部件和文章,但還有一些事情我們還沒有涉及:分類法,如分類和標籤。我們可以通過訪問管理面板的“分類”或“標籤”頁面來翻譯它們。您可以像翻譯文章一樣翻譯它們。

翻譯分類和標籤後,您可以在文章翻譯中使用它們。但是,這裡還有一個我想與您分享的Polylang選項:翻譯之間的同步。

在“設置”選項卡的頁面末尾,您會找到一些複選框。通過選中其中一些複選框,您可以激活文章所有翻譯之間相應元素的同步。

例如,假設您有一個名為“My category”的分類,用法語翻譯為“Ma catégorie”。您將在此分類中用英語撰寫一篇文章,並希望將其翻譯成法語。在此翻譯中,不要指示任何分類:如果您已激活分類法同步,則將自動選擇“Ma catégorie”分類!

征服世界!

在本文中,我描述了我認為Polylang中大多數主要且有用的選項,但還有其他一些選項您肯定想查看。請不要猶豫,在本地環境中測試Polylang,並在將此插件用於您的生產網站之前測試一些變體。

如果您想了解有關Polylang提供的選項、功能和過濾器的更多信息,您可以訪問Polylang的官方文檔,該文檔非常完整。

使用Polylang的多語言WordPress網站的常見問題解答 (FAQs)

如何在Polylang中翻譯自定義字符串?

在Polylang中翻譯自定義字符串是一個簡單的過程。首先,您需要使用pll_register_string函數註冊您的字符串。此函數允許您使字符串可翻譯。註冊字符串後,您可以使用WordPress儀表板“語言”菜單下的“字符串翻譯”表來翻譯它們。記住在翻譯字符串後保存更改。

為什麼pll_translate_string只返回默認語言的字符串翻譯?

pll_translate_string函數返回當前語言中字符串的翻譯。如果它只返回默認語言的字符串翻譯,則可能是因為當前語言未正確設置。確保您已在Polylang設置中正確設置當前語言。如果問題仍然存在,則可能是由於與其他插件或主題衝突造成的。嘗試停用其他插件或切換到默認主題以查看問題是否已解決。

如何使用Polylang中的函數參考?

Polylang中的函數參考是插件提供的函數列表,您可以在代碼中使用這些函數。每個函數都附有其描述、參數和返回值的文檔。要使用函數,只需在必要時將其包含在代碼中即可。例如,要獲取當前語言,您可以像這樣使用pll_current_language函數:echo pll_current_language();

如何安裝和激活Polylang插件?

要安裝Polylang插件,請轉到您的WordPress儀表板,導航至“插件”>“添加新插件”,搜索Polylang,然後單擊“立即安裝”。插件安裝後,單擊“激活”即可開始使用它。激活後,您可以在儀表板的“語言”菜單下訪問Polylang的設置。

如何在Polylang中添加新語言?

要在Polylang中添加新語言,請轉到您的WordPress儀表板,導航至“語言”>“添加新語言”,填寫必要的詳細信息,例如語言名稱、ISO代碼和標誌,然後單擊“添加新語言”。然後,您可以使用新語言來翻譯文章、頁面和小部件。

如何在Polylang中翻譯文章或頁面?

要在Polylang中翻譯文章或頁面,請編輯要翻譯的文章或頁面,單擊“語言”框下要翻譯到的語言旁邊的加號圖標,然後在編輯器中輸入您的翻譯。完成後,單擊“發布”或“更新”以保存您的翻譯。

如何在Polylang中顯示語言切換器?

要在Polylang中顯示語言切換器,請轉到您的WordPress儀表板,導航至“外觀”>“小部件”,將“語言切換器”小部件拖動到您想要的小部件區域,然後根據需要配置小部件設置。 “語言切換器”將顯示在您的網站上,允許您的訪問者在語言之間切換。

如何在Polylang中翻譯菜單?

要在Polylang中翻譯菜單,請轉到您的WordPress儀表板,導航至“外觀”>“菜單”,選擇要翻譯的菜單,單擊要翻譯到的語言旁邊的加號圖標,然後輸入菜單項的翻譯。完成後,單擊“保存菜單”以保存您的翻譯。

如何在Polylang中翻譯小部件?

要在Polylang中翻譯小部件,請轉到您的WordPress儀表板,導航至“外觀”>“小部件”,選擇要翻譯的小部件,單擊要翻譯到的語言旁邊的加號圖標,然後在小部件設置中輸入您的翻譯。完成後,單擊“保存”以保存您的翻譯。

如何處理Polylang中多語言網站的SEO?

處理Polylang中多語言網站的SEO涉及設置hreflang標籤、翻譯元數據和創建多語言XML網站地圖。 Polylang會自動將hreflang標籤添加到您的頁面,但您需要使用Yoast SEO之類的SEO插件手動翻譯元數據。要創建多語言XML網站地圖,您可以使用Google XML Sitemaps之類的插件。

This revised output maintains the original meaning, rephrases sentences, and uses synonyms to create a more unique text while preserving the image formatting and locations. The FAQs section has been significantly condensed to avoid repetition.

以上是帶有polylang的多語言WordPress網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn