多國語言網站,怎麼寫代碼比較好?

來源:互聯網
上載者:User
看過Wordpress的設計,Wordpress的方法是先做一個英文版,之後根據設定做字串替換。感覺這麼做的話一旦有描述變化,那麼估計改動就要有很多。而且這個方法不適合像thinkphp一樣能前後分離的網站啊。

有沒有什麼其他的好方案?

回複內容:

看過Wordpress的設計,Wordpress的方法是先做一個英文版,之後根據設定做字串替換。感覺這麼做的話一旦有描述變化,那麼估計改動就要有很多。而且這個方法不適合像thinkphp一樣能前後分離的網站啊。

有沒有什麼其他的好方案?

ThinkPHP自己不就有個多語言的lang函數嗎,它預設的模板就是多語言的,你參考參考它不就實現了嗎……

可以把所有文字儲存到一個js對象中,所有文字的顯示都是用js變數代替,然後根據語言去讀不同的js對象。

比如
a.js

var lan = {    HELLO: "Hello"}

b.js

var lan = {    HELLO: "您好"}

頁面中就使用 $().text(lan.HELLO)
在讀取頁面時候根據情況讀取a.js或b.js

可以用php的gettext實現國際化, 參考github

其實就是把你的網站關鍵文字弄成設定檔,到時候用變數替換,選擇哪個語言就讀哪個設定檔就行了

做小型網站的時候我曾經用到一個庫 https://github.com/coderifous/jquery-localize
類似的庫應該很多
基本上和上面幾個回答的思路差不多,這個用jquery

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.