WordPress的多語言支持:使用Polylang插件輕鬆創(chuàng)建多語言網(wǎng)站
WordPress本身支持多種語言,但默認情況下,在“常規(guī)設(shè)置”面板中切換語言後,無法同時使用多種語言。
有時,我們需要同時使用多種語言。例如,我的博客同時提供英語和法語版本。如果您更喜歡法語,可以直接切換到法語版本,而無需更改整個網(wǎng)站的語言設(shè)置。
WordPress默認情況下不支持此功能,但一些插件可以幫助您實現(xiàn)這一目標。本文將介紹一個完全免費且功能強大的插件:Polylang。我們將學習如何安裝、配置它,以及如何使用它來翻譯整個網(wǎng)站(不僅僅是文章?。?。
關(guān)鍵要點:
- Polylang是一個免費且全面的插件,它使WordPress網(wǎng)站能夠支持多語言功能,而不僅僅是翻譯文章。
- 該插件允許翻譯整個網(wǎng)站,包括主題和動態(tài)內(nèi)容,例如小部件標題,確保提供完全翻譯的用戶體驗。
- Polylang還允許翻譯文章、分類和標籤,並可以選擇自動同步不同元素的翻譯。
- 雖然Polylang提供了廣泛的選項,但建議您在將其應(yīng)用於正式網(wǎng)站之前,先在本地環(huán)境中進行測試。 Polylang的官方文檔提供了其功能和過濾器的更多指導(dǎo)。
在WordPress上管理多種語言
為什麼選擇Polylang?
根據(jù)您的具體需求,WordPress的默認工具可能就足夠了。例如,您可以創(chuàng)建一個特定語言的文章,然後創(chuàng)建相同文章的其他語言版本,並使用合適的標籤進行區(qū)分。這只是一個例子,如果您想保持簡單,可以這樣做。
然而,這不是一個完整的解決方案。使用Polylang的優(yōu)勢在於,它不僅可以翻譯您的文章。事實上,如果您的主題已翻譯成正確的語言,您的訪問者將看到整個翻譯後的網(wǎng)站。以我的博客為例,當您閱讀我的博客上的法語文章時,您會看到翻譯後的側(cè)邊欄和頁腳。
Polylang是一個強大的工具,可以幫助您創(chuàng)建多語言網(wǎng)站。配置完成後,使用Polylang翻譯文章就像上面示例一樣簡單,甚至更簡單!
安裝Polylang
您可以通過WordPress.org免費下載Polylang插件。它的安裝和激活方式與其他插件相同。
管理可用語言
Polylang擁有自己的選項面板,可以通過管理面板“設(shè)置”菜單中的“語言”條目訪問。我們首先來看一下該面板的第一個選項卡“語言”。顧名思義,它允許您管理要在網(wǎng)站上使用的語言。
添加新語言最簡單的方法是使用標記為“選擇語言”的下拉列表。默認情況下,有數(shù)十種可用的語言,您很可能找到所需的語言。如果找不到,您仍然可以通過創(chuàng)建自己的語言來使用它(名稱、區(qū)域設(shè)置、代碼和方向)。
您還可以選擇語言在列表中顯示的順序。 “順序”文本輸入接受一個數(shù)字。語言將使用此數(shù)字按升序排序。
添加語言後,您可以編輯其信息。這些選項可以通過將鼠標懸停在列表中的語言上查看。
配置Polylang
訪問Polylang選項面板中的“設(shè)置”選項卡,您會發(fā)現(xiàn)一些有用的選項來個性化您的多語言體驗。
第一個選項,也是可能最重要的一個選項,是您希望網(wǎng)站使用的默認語言。它可以是您添加的任何語言。如果您的訪問者使用您不支持的語言,他們將看到此默認語言。
如果您的網(wǎng)站不是新網(wǎng)站,您可能已經(jīng)發(fā)布了一些文章。由於您是在創(chuàng)建文章後安裝Polylang的,因此現(xiàn)有文章將沒有設(shè)置語言。您可以從此選項卡為所有文章設(shè)置默認語言。
在此選項卡中,您還會發(fā)現(xiàn)一些需要檢查的其他選項,特別是您的URL首選項。
完全翻譯的網(wǎng)站
主題翻譯
如上所述,Polylang的功能不僅僅是翻譯文章。您的訪問者可以使用他們首選語言的完整體驗。
為此,您需要一個已翻譯的主題。如果您使用的主題支持翻譯,您應(yīng)該在其中(可能在像languages這樣的子文件夾中)找到一個POT文件。此文件包含主題中使用的所有字符串。這樣,您可以將它們翻譯成您想要的任何語言。
現(xiàn)在,當Polylang在您的網(wǎng)站上顯示正確的語言時,它不僅會顯示該語言的文章,還會顯示主題。這樣,您的訪問者就不會在英語頁面中看到法語文本,例如。
請注意,如果您使用WordPress默認主題(例如Twenty Fifteen),當您在Polylang中添加新語言時,它會嘗試下載並安裝此主題的此語言翻譯。
動態(tài)字符串翻譯
我們不能只用一個簡單的POT文件翻譯所有內(nèi)容。例如,小部件的標題是由用戶(您)創(chuàng)建的字符串,因此我們自然不能使用POT文件來翻譯這些。但是,由於Polylang,還有另一種方法可以翻譯它們。
轉(zhuǎn)到Polylang選項面板的第二個選項卡。此選項卡稱為“字符串翻譯”,其中包含在您的網(wǎng)站上顯示的各種字符串。默認情況下,Polylang會生成多個動態(tài)字符串。您會發(fā)現(xiàn)諸如網(wǎng)站名稱和描述之類的字符串,您甚至可以翻譯時間格式。
Polylang還會檢索您正在使用的所有小部件。然後可以使用動態(tài)字符串翻譯其標題和內(nèi)容(例如文本小部件)。值得注意的是,當Polylang處於活動狀態(tài)時創(chuàng)建小部件時,您現(xiàn)在可以在小部件設(shè)置中選擇一種語言。
在“字符串翻譯”選項卡中,Polylang列出了所有已註冊的動態(tài)字符串及其原始語言。然後您可以將它們翻譯成您使用的語言。不僅您的主題可以翻譯,您的動態(tài)內(nèi)容也可以翻譯。
註冊我們自己的動態(tài)字符串
如果您正在開發(fā)主題或插件,您可以通過註冊您自己的動態(tài)字符串使其“Polylang就緒”。例如,如果您需要顯示用戶可以自行定義的字符串,這將非常有用。通過註冊這些字符串,這些相同的用戶將能夠?qū)⑺鼈兲峁┙o多種語言。
要註冊字符串,請使用pll_register_string()
函數(shù)。與其他插件定義的任何其他函數(shù)一樣,您應(yīng)該使用以下測試檢查此函數(shù)是否存在:
if (function_exists('pll_register_string')) { // 函數(shù)存在,執(zhí)行任何操作! }
即使安裝並激活了Polylang,此函數(shù)也可能缺失。例如,在創(chuàng)建它之前過早地調(diào)用它是有可能的。為了確保您不會過早地調(diào)用它,請確保在“plugins_loaded”操作發(fā)生後調(diào)用它。例如,如果您直接在主題的functions.php文件中註冊字符串,就會出現(xiàn)這種情況。
既然我們已經(jīng)了解瞭如何調(diào)用此函數(shù),那麼是時候了解其參數(shù)了。此函數(shù)接受四個參數(shù),但最後兩個是可選的。
第一個參數(shù)是字符串的名稱。此名稱是描述它的方法。請參考您當前的“字符串翻譯”選項卡以了解其用法的示例。例如,“l(fā), F j, Y”這樣的字符串並不總是很清楚,但使用名稱“日期格式”,它就清楚了。
第二個必需參數(shù)是要翻譯的字符串。您可以使用任何語言編寫此字符串,但請盡量與主題或插件的其餘部分保持一致。
pll_register_string('My awesome string', 'This is a translated string.');
第三個參數(shù)表示要放置字符串的組。默認情況下,此組名為“polylang”,但您可以定義您自己的組,例如指示您的主題名稱。用戶可以在已註冊的字符串列表中看到組名。這是讓用戶更好地了解字符串顯示位置的另一種方法(如果多個插件使用Polylang,您的用戶會感謝您指出某個字符串是用於您的插件而不是其他插件的)。
最後一個參數(shù)並非對每個人都有用,但對某些人來說可能有用。它是一個默認為false的布爾值。如果將其設(shè)置為true,則Polylang將提供一個多行文本區(qū)域,讓用戶翻譯字符串,而不是單行文本輸入。
檢索已註冊的字符串
註冊字符串後,用戶可以在“字符串翻譯”選項卡中翻譯它們。但是您仍然需要一種方法來檢索它們,以便顯示正確的翻譯!
您基本上可以使用兩個函數(shù)來實現(xiàn)此目的。第一個是pll__()
(請注意__()
WordPress函數(shù)的兩個下劃線)。您向它提供要翻譯的字符串,它將返回相同的字符串,並翻譯成當前語言。
if (function_exists('pll_register_string')) { // 函數(shù)存在,執(zhí)行任何操作! }
如果您不想對這個翻譯後的字符串做任何操作(例如將其註入sprintf()
之類的函數(shù)中),您可以直接使用pll_e()
將其回顯。
pll_register_string('My awesome string', 'This is a translated string.');
您還可以使用第三個函數(shù):pll_translate_string()
。最後一個函數(shù)接受兩個參數(shù):要翻譯的字符串以及您想要翻譯的語言。例如,這在您想以目標語言顯示“查看此文章的[任何語言]”之類的文本時非常有用。
$translated_string = pll__('This is a translated string.');
文章翻譯
翻譯文章
設(shè)置好Polylang後,您所有現(xiàn)有的文章都應(yīng)該使用默認語言。這意味著它們不會顯示在其他語言中。
在文章列表中,您會找到新的列,表示每種添加語言的翻譯狀態(tài)。如果文章行中顯示“加號”,則表示相應(yīng)的翻譯不存在。您可以單擊此“加號”添加翻譯。
在此之後,我們不需要做任何其他事情。您可以像其他文章一樣編寫您的翻譯,就是這樣!您還有其他詞來形容這個詞而不是“很棒”嗎?
請注意,您也可以在編輯文章時添加翻譯。 Polylang在編輯器中有一個自己的框,列出了當前文章的現(xiàn)有翻譯。從此列表中,您可以編輯現(xiàn)有翻譯並添加其他翻譯。
翻譯分類和標籤
到目前為止,我們已經(jīng)翻譯了我們的主題、小部件和文章,但還有一些事情我們還沒有涉及:分類法,如分類和標籤。我們可以通過訪問管理面板的“分類”或“標籤”頁面來翻譯它們。您可以像翻譯文章一樣翻譯它們。
翻譯分類和標籤後,您可以在文章翻譯中使用它們。但是,這裡還有一個我想與您分享的Polylang選項:翻譯之間的同步。
在“設(shè)置”選項卡的頁面末尾,您會找到一些複選框。通過選中其中一些複選框,您可以激活文章所有翻譯之間相應(yīng)元素的同步。
例如,假設(shè)您有一個名為“My category”的分類,用法語翻譯為“Ma catégorie”。您將在此分類中用英語撰寫一篇文章,並希望將其翻譯成法語。在此翻譯中,不要指示任何分類:如果您已激活分類法同步,則將自動選擇“Ma catégorie”分類!
征服世界!
在本文中,我描述了我認為Polylang中大多數(shù)主要且有用的選項,但還有其他一些選項您肯定想查看。請不要猶豫,在本地環(huán)境中測試Polylang,並在將此插件用於您的生產(chǎn)網(wǎng)站之前測試一些變體。
如果您想了解有關(guān)Polylang提供的選項、功能和過濾器的更多信息,您可以訪問Polylang的官方文檔,該文檔非常完整。
使用Polylang的多語言WordPress網(wǎng)站的常見問題解答 (FAQs)
如何在Polylang中翻譯自定義字符串?
在Polylang中翻譯自定義字符串是一個簡單的過程。首先,您需要使用pll_register_string
函數(shù)註冊您的字符串。此函數(shù)允許您使字符串可翻譯。註冊字符串後,您可以使用WordPress儀表板“語言”菜單下的“字符串翻譯”表來翻譯它們。記住在翻譯字符串後保存更改。
為什麼pll_translate_string
只返回默認語言的字符串翻譯?
pll_translate_string
函數(shù)返回當前語言中字符串的翻譯。如果它只返回默認語言的字符串翻譯,則可能是因為當前語言未正確設(shè)置。確保您已在Polylang設(shè)置中正確設(shè)置當前語言。如果問題仍然存在,則可能是由於與其他插件或主題衝突造成的。嘗試停用其他插件或切換到默認主題以查看問題是否已解決。
如何使用Polylang中的函數(shù)參考?
Polylang中的函數(shù)參考是插件提供的函數(shù)列表,您可以在代碼中使用這些函數(shù)。每個函數(shù)都附有其描述、參數(shù)和返回值的文檔。要使用函數(shù),只需在必要時將其包含在代碼中即可。例如,要獲取當前語言,您可以像這樣使用pll_current_language
函數(shù):echo pll_current_language();
。
如何安裝和激活Polylang插件?
要安裝Polylang插件,請轉(zhuǎn)到您的WordPress儀表板,導(dǎo)航至“插件”>“添加新插件”,搜索Polylang,然後單擊“立即安裝”。插件安裝後,單擊“激活”即可開始使用它。激活後,您可以在儀表板的“語言”菜單下訪問Polylang的設(shè)置。
如何在Polylang中添加新語言?
要在Polylang中添加新語言,請轉(zhuǎn)到您的WordPress儀表板,導(dǎo)航至“語言”>“添加新語言”,填寫必要的詳細信息,例如語言名稱、ISO代碼和標誌,然後單擊“添加新語言”。然後,您可以使用新語言來翻譯文章、頁面和小部件。
如何在Polylang中翻譯文章或頁面?
要在Polylang中翻譯文章或頁面,請編輯要翻譯的文章或頁面,單擊“語言”框下要翻譯到的語言旁邊的加號圖標,然後在編輯器中輸入您的翻譯。完成後,單擊“發(fā)布”或“更新”以保存您的翻譯。
如何在Polylang中顯示語言切換器?
要在Polylang中顯示語言切換器,請轉(zhuǎn)到您的WordPress儀表板,導(dǎo)航至“外觀”>“小部件”,將“語言切換器”小部件拖動到您想要的小部件區(qū)域,然後根據(jù)需要配置小部件設(shè)置。 “語言切換器”將顯示在您的網(wǎng)站上,允許您的訪問者在語言之間切換。
如何在Polylang中翻譯菜單?
要在Polylang中翻譯菜單,請轉(zhuǎn)到您的WordPress儀表板,導(dǎo)航至“外觀”>“菜單”,選擇要翻譯的菜單,單擊要翻譯到的語言旁邊的加號圖標,然後輸入菜單項的翻譯。完成後,單擊“保存菜單”以保存您的翻譯。
如何在Polylang中翻譯小部件?
要在Polylang中翻譯小部件,請轉(zhuǎn)到您的WordPress儀表板,導(dǎo)航至“外觀”>“小部件”,選擇要翻譯的小部件,單擊要翻譯到的語言旁邊的加號圖標,然後在小部件設(shè)置中輸入您的翻譯。完成後,單擊“保存”以保存您的翻譯。
如何處理Polylang中多語言網(wǎng)站的SEO?
處理Polylang中多語言網(wǎng)站的SEO涉及設(shè)置hreflang標籤、翻譯元數(shù)據(jù)和創(chuàng)建多語言XML網(wǎng)站地圖。 Polylang會自動將hreflang標籤添加到您的頁面,但您需要使用Yoast SEO之類的SEO插件手動翻譯元數(shù)據(jù)。要創(chuàng)建多語言XML網(wǎng)站地圖,您可以使用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網(wǎng)站的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

WordPress導(dǎo)致服務(wù)器CPU使用率飆升的主要原因包括插件問題、數(shù)據(jù)庫查詢效率低、主題代碼質(zhì)量差或流量激增。 1.首先通過top、htop或控制面板工具確認是否為WordPress引起的高負載;2.進入故障排查模式逐步啟用插件排查性能瓶頸,使用QueryMonitor分析插件執(zhí)行情況並刪除或替換低效插件;3.安裝緩存插件、清理冗餘數(shù)據(jù)、分析慢查詢?nèi)照I以優(yōu)化數(shù)據(jù)庫;4.檢查主題是否存在過度加載內(nèi)容、複雜查詢或缺乏緩存機制等問題,建議用標準主題測試對比並優(yōu)化代碼邏輯。按照上述步驟逐一排查可定位並解

MinifyingJavaScript文件可通過刪除空白、註釋和無用代碼來提升WordPress網(wǎng)站加載速度。 1.使用支持合併壓縮的緩存插件如W3TotalCache,在“Minify”選項中啟用並選擇壓縮模式;2.使用專用壓縮插件如FastVelocityMinify,提供更精細控制;3.手動壓縮JS文件並通過FTP上傳,適用於熟悉開發(fā)工具的用戶。注意部分主題或插件腳本可能與壓縮功能衝突,啟用後需徹底測試網(wǎng)站功能。

防止評論垃圾信息最有效的方式是通過程序化手段自動識別並攔截。 1.使用驗證碼機制(如GooglereCAPTCHA或hCaptcha)可有效區(qū)分人類與機器人,尤其適合公眾網(wǎng)站;2.設(shè)置隱藏字段(Honeypot技術(shù)),利用機器人自動填寫特性識別垃圾評論,不影響用戶體驗;3.檢查評論內(nèi)容關(guān)鍵詞黑名單,通過敏感詞匹配過濾垃圾信息,需注意避免誤判;4.判斷評論頻率與來源IP,限制單位時間內(nèi)的提交次數(shù)並建立黑名單;5.使用第三方反垃圾服務(wù)(如Akismet、Cloudflare)提升識別準確性??筛鶕?jù)網(wǎng)站

在開發(fā)Gutenberg塊時,正確enqueue資產(chǎn)的方法包括:1.使用register_block_type指定editor_script、editor_style和style的路徑;2.在functions.php或插件中通過wp_register_script和wp_register_style註冊資源,並設(shè)置正確的依賴和版本;3.配置構(gòu)建工具輸出合適的模塊格式,並確保路徑一致;4.通過add_theme_support或enqueue_block_assets控制前端樣式的加載邏輯,確保

要添加自定義用戶字段需根據(jù)平臺選擇擴展方式並註意數(shù)據(jù)驗證與權(quán)限控制。常見做法包括:1.利用數(shù)據(jù)庫額外表或鍵值對結(jié)構(gòu)存儲信息;2.在前端加入輸入框並與後端集成;3.對敏感數(shù)據(jù)進行格式校驗和訪問權(quán)限限制;4.更新接口及模板以支持新字段展示與編輯,同時兼顧移動端適配和用戶體驗。

在WordPress中添加自定義重寫規(guī)則的關(guān)鍵在於使用add_rewrite_rule函數(shù)並確保規(guī)則正確生效。 1.使用add_rewrite_rule註冊規(guī)則,格式為add_rewrite_rule($regex,$redirect,$after),其中$regex是正則表達式匹配URL,$redirect指定實際查詢,$after控制規(guī)則位置;2.需通過add_filter添加自定義查詢變量;3.修改後必須刷新固定鏈接設(shè)置;4.建議將規(guī)則放在'top'以避免衝突;5.可藉助插件查看當前規(guī)則便於

robots.txt對WordPress網(wǎng)站的SEO至關(guān)重要,能引導(dǎo)搜索引擎抓取行為,避免重複內(nèi)容並提升效率。 1.屏蔽如/wp-admin/、/wp-includes/等系統(tǒng)路徑,但避免誤封/uploads/目錄;2.添加Sitemap路徑如Sitemap:https://yourdomain.com/sitemap.xml以幫助搜索引擎快速發(fā)現(xiàn)站點地圖;3.限制/page/和帶參數(shù)的URL以減少爬蟲浪費,但需注意勿封重要歸檔頁;4.避免常見錯誤如誤封全站、緩存插件影響更新及忽略移動端與子域名配

1.使用性能分析插件可快速定位問題,如QueryMonitor可查看數(shù)據(jù)庫查詢次數(shù)與PHP錯誤,BlackboxProfiler生成函數(shù)執(zhí)行報告,NewRelic提供服務(wù)器級分析;2.分析PHP執(zhí)行性能需檢查耗時函數(shù)、調(diào)試工具使用及內(nèi)存分配情況,如Xdebug生成火焰圖輔助優(yōu)化;3.監(jiān)控數(shù)據(jù)庫查詢效率可通過慢查詢?nèi)照I與索引檢查,QueryMonitor能列出所有SQL並按時間排序;4.結(jié)合GooglePageSpeedInsights、GTmetrix與WebPageTest等外部工具評估前端加
