
關於Innovator中的國際化和本地化
從9.0開始Innovator可以支持國際化和本地化,並具有以下特點:
> 英語是默認語言
> 其他語言可以通過語言包的方式來添加到系統中
> 使用多語言字串數據類型來根據語言顯示值
> 語言包可以根據客戶端的區域設置來顯示合適的菜單,標籤等。
> Innovator根據客戶端的區域設置自動按照合適的格式顯示日期,時間和小數
> 如果定義了全局時區,那麼全局時間會顯示在客戶端,並且所有的日期和時間都會按照全局時間來顯示。
新的對象類
區域
Innovator的區域對象類利用Innovator對象實例匹配Windows區域選項中的區域來表示一個區域,比如英語(英國)或德語(德國)。
語言
Innovator語言對象類使用Innovator對象實例來表示一種語言。Innovator安裝完成後僅包含默認語言-英語,其他語言可以由管理員來添加。
新的數據類型
多語言字串
多語言字串類型的屬性可以在每種Innovator已定義的語言中各具有一個屬性值。
多語言字串的最主要的目的是讓用戶可以根據選擇使用不同的語言。用途包括菜單、窗體標籤、網格以及列表值等。
這類屬性不能被設置為必填或默認值。
編輯多語言字串
多語言字串無論在何處被用到,對對象具有更新許可權的用戶都可以使用多語言對話框來編輯任何一種語言的值。
在窗體中打開多語言對話框,點擊字段右側的 按鈕即可。
在網格中打開多語言對話框,點擊單元格進入編輯模式,然後按F2。
新的伺服器變數
默認語言,默認值為’English’
默認區域,默認值為‘en-US’
全局時區,只能在安裝完成後創建,且只能使用Windows時區設置中的某個關鍵字作為值。
客戶端設置
有兩個標準的Windows設置會被Innovator用到。它們會在Windows安裝後被自動設置,並且可以被Windows用戶修改。
區域設置
使用控制面板>>區域和語言選項來打開對話框:
這個設置定義了小數、日期和時間如何顯示,並且Innovator支持這些Windows特色。這裏可以選擇一個選項,甚至可以進行自定義。Innovator不使用任何貨幣格式。
時區
使用控制面板>>日期和時間選項來打開對話框,選擇時區頁簽。
這個設置定義了用戶所在的時區
國際化和區域化行為
當用戶登錄系統時
Innovator識別客戶端設置和服務端變數,然後建立一個可以被使用到進程結束的上下文。
1. 如果是,則採用對應的Innovator區域和語言
如果不是,則採用默認的區域和語言
Innovator判斷客戶端的區域設定是否是在系統中存在
2. Innovator判斷是否設置過全局時區
如果是,則計算與客戶端時區之間的偏移量,並且採用客戶端時區
如果全局時間偏移量是0,Innovator客戶端中只顯示本地時間。
如果全局時間偏移量不是0,Innovator客戶端同時顯示全局時間和本地時間。
當客戶端獲取資訊時:
1. 對於每種多語言字串(往往是菜單、標籤或列表值),Innovator會檢查是否有值符合上下文語言
i. 如果有,服務端返回上下文語言對應的值
ii. 如果沒有,服務端返回默認語言對應的值
2. 對於每個日期或時間類型的值,服務端會根據全局時區進行修正。
3. 對於每個日期或時間或Decimal型的值,Innovator會採用客戶端區域設置選項裏的格式。