如何新增一種新的語言

2021-07-04 23:59:04 字數 1499 閱讀 8319

android kk 以及kk以前的版本

在mediatek/config/$/projectconfig.mk或者mediatek/config/common/projectconfig.mk檔案中找到巨集 mtk_product_locales,新增要新加的語言**,例如斯瓦希里語(坦尚尼亞)是sw_tz;

2、新增icu資源

2.1新增icu資源txt檔案到對應的資料夾

把對應的txt檔案放到(android l 的路徑是external\icu\icu4c\source\data),(android kk 路徑是 external/icu4c/data)目錄下coll、curr、lang、locales、region,zone這些子資料夾中。如斯瓦希里語(坦尚尼亞)資源為sw.txt,s w_tz.txt。

並修改這些目錄下的resfiles.mk檔案,coll目錄下的是colfiles.mk。

如果要詳細了解icu資源可以參考faq04553。

2.2 修改編譯配置檔案 ( android l無需此步驟)

把上一步新增的txt檔案目錄新增到下面檔案中。

jb: external\icu4c\stubdata\icudt48l-default.txt

kk: external\icu4c\stubdata\icu-data-default.txt

例如:coll/sw.res

curr/sw.res;

lang/sw.res、

region/sw.res

zone/sw.res

sw.res

2.3 編譯icu資源

參考faq04011

3、新增字型檔

參考 faq12255 和 faq04513

4、翻譯字串

(1)在frameworks/base/core/res/res/下新增加乙個values-sw-rtz的資料夾,新建乙個strings.xml檔案,把frameworks翻譯內容放在這個檔案內:

5、重新build整個工程

6、如果所新增的語言在iso_639-1沒有定義2個字母編碼.

(1)自己定義iso_639-1裡面沒有的2個字母組合如xx

(2)使用xx按照第2大步新增icu資源

(3)在frameworks的res下新建values-xx-ryy資料夾(yy為國家碼),並把string.xml放進去。其他模組string.xml可以放到values-xx下。

(4)projectconfig.mk檔案的巨集 mtk_product_locales處使用xx_yy.

7、對於一些複雜語言除了新增字型檔、icu資源和翻譯以外,還需要有字型引擎,比如緬甸語,波斯語,藏語等。對於mtk支援的語言(faq03761)已有對於複雜語言的處理引擎,如果要新增新的複雜語言需要新增相應的處理引擎。一般複雜語言會具有如下部分特徵:

(1)顯示或者輸入方向從右到左 。

(2)字元之間會發生變形或者替換。

(3)一般複雜語言的使用的字元都是非iso8859編碼格式(歐洲使用)和非中日韓字元。

如何新增一種新的語言

1 修改編譯配置檔案 android l 在alps device 公司名字 專案名字 專案名字.mk 中的 product locales巨集 新增需要新增的語言 例如斯瓦希里語 坦尚尼亞 是sw tz 查詢語 言對應的language code和country code可參考faq17417 例...

如何新增一種新Case協議

這裡以新增基礎http為例 首先要在指令碼檔案 xml檔案 中定義好這種協議的基本資訊 您必須在這裡設計好您協議預先需要的資料 比如串列埠協議,那波特率,串口號等可能是不會經常改變的就可以在這裡先預設定 然後您需要在這裡新增您的新協議名稱 在 caseexecutiveactuator 下 接著,您...

一種新的乘法

做厭了乘法計算題的卡特,有一天突發奇想,創造了一種新的乘法運算法則。在這套法則裡,x y等於乙個取自x 乙個取自y的所有數字對的乘積的和。比方說,123 45等於1 4 1 5 2 4 2 5 3 4 3 5 54。對於2個給定的數x y 1 x,y 長整型最大數 你的任務是,用新的乘法法則計算x ...