2016年8月28日

[WP外掛] 讓網頁根據訪客語言設定, 自動轉換簡繁文字

[WP外掛] 讓網頁根據訪客語言設定, 自動轉換簡繁文字

Wayne Fu 0 A+
之前寫過「讓網頁根據訪客語言設定, 自動轉換簡繁文字 (切換按鈕升級版)」這個版本,因為有朋友的 WordPress 網站需要這個功能,所以改寫了本篇的版本。

雖然 WordPress 也可以直接安裝原版本,但有種種原因值得改為優化後的 WP 版本,以下會簡單介紹,而想直接安裝的話,可跳至「二、上傳 JS 檔」。



一、WP 改版特色


1. JS 外連

原本的 JS 檔外連放在 Google Drive,但因為「Google Drive 檔案外連功能將於 2016 年 8 月關閉」,且 WP 網站有自己的主機空間,因此放在自己家即可。


2. 判斷語系

原來的版本需要藉助第三方服務,才能獲得比較精確的語系判斷。而 WP 本身有主機運算,可以直接正確地判斷出訪客的語系。


3. 視情況才載入字庫

原版本的執行一律會載入字庫檔,但由於字庫檔非常龐大,且 WP 的流量會影響到費用的開銷,因此 WP 版本改寫了程式碼,只有偵測到需要轉換語系時,才動態載入字庫檔。



二、上傳 JS 檔


1. 下載 JS 檔

安裝程式碼之前,需要先下載這個 JS 檔,內含簡繁字庫:



2. 上傳 JS 檔

接著將這個 JS 檔上傳到你的網路空間,也許是「Dropbox」。或者上傳到 WP 網站的目錄,讀取速度會比較快。

例如可以用 FTP 上傳到 WP 放外掛的目錄:

  • /wp-content/plugins

如果上傳到別的目錄,請記住這個 JS 檔的路徑,之後會用到。



三、安裝程式碼


接著到 WP 後台 → 外觀 → 主題編輯器 → 編輯「footer.php」→ 搜尋 </body> 這個字串,找到後在此字串的前一行,插入以下程式碼:


以下參數修改請參照以上程式碼行號:

D:如果你的網站是正體(繁體),保持預設值 1 即可

E:如果你按照前面說明,將 JS 檔上傳到 "/wp-content/plugins" 這個目錄,那麼藍色網址字串就不用更改。如果你的 JS 檔外連路徑不一樣,請修改藍色字串。

存檔後即可生效。



四、驗證效果


有幾個方法可以驗證網站是否能自動轉換簡體、繁體:

  • 找大陸朋友開你的網站測試
  • 自行將瀏覽器的主要語系改為簡體,也許需要重開瀏覽器,再看自己的網站

如果想先看簡繁切換的效果,也可前往範例網頁:



更多 WordPress 相關文章:
0 0
如這篇文章對你有幫助,歡迎「分享」到 FB、「追蹤」粉絲團、「訂閱」最新文章

17 則留言:

  1. 回覆
    1. 其實網頁前端都是用 JS 寫的,差異不大~~

      刪除
  2. 我沒用wp 我用 一般的php 程式 只是好奇怪 我加上去都沒辦法正常 偵測 繁簡

    回覆刪除
    回覆
    1. 程式是依據 WP 的 php 語法寫的,如果你不是 WP,我無法知道執行結果會如何喔。

      建議你安裝這個版本,JS 外連改用自己的連結:http://www.wfublog.com/2014/12/traditional-simplified-chinese-auto-switch.html

      刪除
    2. 對了,有一點你可以再試一次,不保證有效就是,因為你不是 WP → 我看你安裝在 <body> 之後,正確應該安裝在 </body> 前一行

      刪除
  3. 回覆
    1. 請留下你的會員編號,我看看哪裡有問題。

      刪除
    2. 剛發現會員系統最近幾天出了問題,請重新註冊一次,應該就可以了。

      刪除
  4. 我有個奇怪的想法,就是能自動偵測語言,
    如果是EN就跳轉到 en.wfublog.com
    如果是japan就跳轉到 japan.wfublog.com
    ......
    如果有特殊情況或未知語言,就用原來你網誌的默認語言。

    回覆刪除
    回覆
    1. 當然可以啊~只是做這麼多版本的網站也是很累...XD
      可能直接在網站放 Google 翻譯比較快 ^^

      刪除
  5. 您好,想請問如果使用的是wp主題的「子主題」,在wp主題本身編輯footer.php之後,還需要怎麼處理呢?因為我在現在所使用的子主題中找不到footer.php,所以便使用cpanel檔案管理員,將原wp主題的footer.php下載下來進行修改,不過上傳後似乎無法生效。不知道是我哪裡操作有誤,還請您協助,謝謝!

    回覆刪除
    回覆
    1. 你好,不好意思本站以 Blogger 平台為主,雖然這篇是 WP,不過主要因為是當時某個 WP 客戶的需求。

      所以您若有 WP 後台操作的問題,建議找工程師或 WP 討論區詢問,謝謝!

      刪除
  6. 非常好用的js!省去了Wordpress加按钮的麻烦。看了一下代码,是用tw和cn判断简繁体的。但其实,还有zh-hk(香港),zh-mo(澳门),zh-hant(通用繁体)这几种繁体;以及zh-sg(新加坡),zh-my(马来西亚),zh-hans(通用简体),这几种简体。这些都可能会出现。可以加上~

    回覆刪除
    回覆
    1. 謝謝您的建議,只是 WP 非本站主要業務,所以無暇維護後續
      您看得懂 js 的話可自行修改源碼即可 ^^

      刪除
  7. 請問,這個方法是根據訪問ip自動切換繁簡體嗎?
    第三部分的程式碼登入會員之後還是看不到。。。您可幫忙提供下嗎?謝謝!

    回覆刪除
    回覆
    1. 謝謝回報,經查驗後是 Google 後端相關環境有變更,導致會員系統程式失效,現已修正錯誤,請重新再試。

      刪除

張貼留言注意事項:

◎ 勾選「通知我」可收到後續回覆的mail!
◎ 請在相關文章留言,與文章無關的主題可至「Blogger 社團」提問。
◎ 請避免使用 Safari 瀏覽器,否則無法登入 Google 帳號留言(只能匿名留言)!
◎ 提問若無法提供足夠的資訊供判斷,可能會被無視。建議先參考這篇「Blogger 提問技巧及注意事項」。
◎ CSS 相關問題非免費諮詢,建議使用「Chrome 開發人員工具」尋找答案。
◎ 手機版相關問題請參考「Blogger 行動版範本的特質」→「三、行動版範本不一定能執行網頁版工具」;或參考「Blogger 行動版範本修改技巧 」,或本站 Blogger 行動版標籤相關文章。
◎ 非官方範本問題、或貴站為商業網站,請參考「Blogger 免費諮詢 + 付費諮詢
◎ 若是使用官方 RWD 範本,請參考「Blogger 推出全新自適應 RWD 官方範本及佈景主題」→ 不建議對範本進行修改!
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 為了過濾垃圾留言,所有留言不會即時發佈,請稍待片刻。
◎ 本站「已關閉自刪留言功能」。

TOP