國際化Ext專案

2021-06-05 13:37:18 字數 2435 閱讀 7567

"橘生淮南則為橘,生於淮北則為枳"。同樣一件東西,在不同的地域和語言文化環境下,會有不同的稱謂和使用習慣。何謂本地化?簡單說來,就是根據當地的語言文化情況和市場特徵,對目標資訊和產品的再次加工。舉個例子,法國生產的化妝品希望進入中國賣給中國消費者,商家必須根據中國婦女的**特性、中國化妝品市場情況等制定產品策略和**策略,進行市場營銷,這個過程就是本地化的過程。

現代應用程式框架設計中常常需要考慮到國際因素,為了滿足全球使用者的需求,當今的web應用程式通常都需要國際化。在這裡,應用程式的國際化與本地化並非同乙個概念。

為了支援本地化,應用程式在設計上必須進行一些調整。一般說來,這些調整發生在兩個階段,乙個是在軟體工程的概要設計上,需要預留本地化支援的開發過程、設計、日程和時間表;二是在詳細設計/編碼過程,需要開發人員遵照某些要求和規範編寫需要本地化的應用程式部分。此外,還應增加本地化小組,以及相應的專案日程表;在測試階段,增加本地化測試環節和日程。最後還需要在部署階段和相應的階段中增加本地化版本支援。

我們現在要講的應屬於第二個階段,在編碼過程中如何實現ext程式的本地化功能,那麼在開發過程中,你的ext**必須支援國際化,才能方便地實現本地化。一般來說,實現國際化的技術方法大概有以下幾種:

瀏覽器向伺服器傳送請求,伺服器端收到請求後根據瀏覽器的語言設定從相應的語言資源檔案中提出資料,或者**到相應的html頁面或jsp頁面。

首先進入選擇語言的頁面,選擇不同的語言鏈結,此鏈結會開啟相應的語言介面。

首先進入選擇語言的介面,選擇不同的語言鏈結,組裝成帶有語言編碼標識的url,然後瀏覽器根據此url向服務端發出請求,服務端向瀏覽器返回請求的html頁面,瀏覽器在載入頁面以後,根據請求url中的語言編碼載入相應的語言檔案對頁面進行本地化。

ext是乙個充分利用物件導向概念來設計的乙個框架,松耦合、高內聚的特點讓它本身的元件與使用ext開發的程式能夠輕鬆地實現系統的國際化功能,所以ext框架本身也內建了各國語言的本地化檔案,位於source\locale包中。local包中的檔案只支援對日期顯示,控制項校驗提示的本地化功能,單獨使用它並不能做到整個系統的國際化功能,當然ext不會知道你的系統使用的是什麼文字,ext為我們預留了本地化的介面,我們可以方便地實現對系統的本地化功能。

現在,我們根據第3種方法來演示如何本地化ext,在下面的示例中,可支援3種語言本地化功能,包括漢語、英語、日語,選擇相應語言,介面會有相應的變化,我們先來預覽一下3種語言不同的介面,如圖10.3、10.4和10.5所示。

圖10.3  英文的介面

下面是實現本地化功能示例的全部源**。

html**清單10-3-1

importscript.callbackforie = function(callback);

在上面的ext本地化示例中的過程如下。

(1) 瀏覽器向服務端請求頁面檔案。

(2) 服務端返回後頁面檔案在瀏覽器中解析時,首先會判斷請求的url中是否包含local字串,即本地編碼:

如果不包含,那麼會使用ext預設的英文本地化檔案進行載入。

如果包含,比如local=zh_cn或者local=ja,那麼會根據此編碼值拼接成ext本地化包中相應的本地化檔名稱,並且通過ext.fly方法設定id為extlocal的script標籤的src的值為ext內建的本地化檔案,此時瀏覽器會載入此檔案。

(3) 接著建立了乙個grid元件,此元件從瀏覽器載入的ext內建本地化檔案中的date.monthnames陣列中讀取資料,可見上文中見到的local編碼值的重要性,載入不同的本地化檔案,date.monthnames的值將會不同,那麼grid元件的內容也會發生變化。

(4) 然後繼續建立了乙個視窗元件,視窗中包含選擇語言編碼的列表,文字字段輸入域,日期字段輸入域,幷包含了上面建立的grid元件。

讀者應該可以看到**中,tutorial.localizationwin繼承了ext.window元件類,並新增了自己的配置屬性,即文字字段、日期字段、窗體title等的顯示文字。在初始化這些元件的時候,引用了外部的顯示文字如textfieldtext,這樣,就建立出了一套優雅的國際化**,為後面的本地化實現打下了基礎。

接下來的是以下這段**:

QT國際化 QT CREATE專案

把需要國際化的工程專案中需要國際化的字串加上tr標記,如需要國際化訊息框,如原始碼是 qmessagebox information this,title this messagebox context 那麼如果需要國際化的話需要將 改成 qmessagebox information this,t...

軟體國際化值頁面國際化

國際化 軟體的國際化 軟體開發時,要使它能同時應對世界不同地區和國家的訪問,並針對不同地區和國家的訪問,提供相應的 符合來訪者閱讀習慣的頁面或資料。國際化又稱為 i18n internationalization 對於軟體中的選單欄 導航條 錯誤提示資訊,狀態資訊等這些固定不變的文字資訊,可以把它們...

vue專案實現國際化方案

採用方式 使用國際化外掛程式vue i18n,同時需要手動編寫語言 即 將專案中所有文字全部提出,增加其文字版本 npm install vue i18n 在專案中建立目錄 i18n 其目錄存在於 src 目錄下,與module目錄並級。langs 目錄存放語言檔案。index.js 配置引用語言的...