系統國際化設計方案

2021-09-13 15:43:18 字數 1338 閱讀 5650

系統國際化設計方案

在經濟全球化的驅動下,系統的國際化成為了系統各項能力形態中至關重要的一種形態。下面簡單就國際化的業務以及實現提供幾種思路供參考,其中部分已經在產品中進行了驗證。

一、國際化設計要點之業務需求

1、首先描述業務場景:

1.1、使用者通過當前的語言環境自動的選擇介面展示的語種;

1.2、管理人員在錄入相應的基礎資料(包括物料、字典等資訊)時,可以選擇對應的語種進行錄入,但是介面展示還是自動的語種;

1.3、系統提示資訊同樣需要符合當前語種;

1.4、匯出的表單等模板內容也需要做相應的多語言版本。

2、針對基礎資料,需要在錄入介面選擇多語種;針對業務流程,只需要正常顯示當前語種即可。

4、編碼過程中的注釋暫時不用考慮,但是日誌、異常、提示資訊需要考慮國際化。

5、通用的國際化設計需要考慮的點:

多語言:介面多語言、資料多語言

多幣種:公司本位幣、集團本位幣、全球統一幣種

多時區:utc、多時區協同應用、多時區業務處理

多會計制度:多賬簿機制、支援中國、gaap多會計制度

多支援本地化:分層設計機制:客戶級、夥伴級、行業級、本地化級、領域級

6、目前針對多語言的分析,基於文字的多語言主要體現在系統介面、資料庫、輸出等

系統介面:多語言自由切換、或者固化配置(按角色等);

資料庫:多種語言、字符集;

輸出:製作標準的模板,對於頭部需要進行多語言化,具體內容不用調整;

7、制定明確的角色功能清單,示例如下:

二、國際化設計方案

1、採用資源檔案的方式

在*.properties檔案中設定語言字典

在**片段中通過語種資訊獲取資源。

2、當採用的資源檔案較大時,採用快取的形式

通過命名空間以及key值,確定唯一的value;

定義fileutil檔案,遍歷所有的資源檔案,分類定義,分別存放於不同的map物件中。

點評: 方法1、2 的優點在於處理簡單,但是缺點很明顯,如果涉及的多語言的長度不一致,會導致頁面樣式混亂。

3、針對不同的語種對不同的頁面編制多套;從瀏覽器、系統設定等優先順序進行識別,在controller層進行跳轉時對所有的頁面新增語言標識並跳轉。

4、按照微服務的架構,可以採用統一配置的方式,對資源檔案進行統一配置管理,服務可以呼叫後直接渲染前端。

5、前端的靜態內容可以分兩類方式實現: 一種採用資源檔案的方式,一種採用資料字典表儲存的方式。

6、後台涉及的業務資料的國際化,需要採用多表進行儲存??

點評:建議採用單錶儲存所有的國際化字典資料,然後通過id以及語言標識來進行檢索。

mysql國際化儲存方案

之前第一次做國際化專案,前期資料庫是同事設計的,他的想法是,需要多語言的字段,全部用多個字段,如 name 儲存中文姓名,english name儲存英文姓名,如果專案始終固定兩種語言,這種設計完全沒問題,但一旦需要新增語言,所有涉及到國際化的字段,全部要新增乙個字段!後來重新想了個方案,mysql...

Flutter官方國際化方案

file settings plugins 搜尋 flutter intl 安裝該外掛程式,重啟androidstudio dependencies other dependencies.flutter localizations sdk flutter然後package get獲取該依賴 flut...

軟體國際化值頁面國際化

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