如何修改某语言的数字显示系统
时间:10-02
整理:3721RD
点击:
【描述】
一些语言如阿拉伯语、波斯语、印地语、缅甸语等,这些语言都有自己数字显示系统不是我们常见的0~9字符显示。常
常会有一些问题,比如乌尔都语语下现在版本仍然还是使用0~9数字系统显示;还有一些客户要求把阿拉伯语的数学字
符改成0~9显示,对于这样的问题,可以通过修改ICU资源解决。
【解决方法】
android的数字系统定义在external/icu4c/data/misc/numberingSystEMS.txt文件中(Android L
external/icu/icu4c/source/data/misc/numberingSystems.txt)
如下为波斯语的数学定义
arabext{
algorithMIC:int{0}
desc{""}
radix:int{10}
}
1、新增数字系统
如新增乌尔都语数字定义
urdu{
algorithmic:int{0}
desc{""}
radix:int{10}
}
新增之后修改external\icu4c\data\locales\ur.txt(Android L external\icu\icu4c\source\data\locales\ur.txt)
修改NumberElements{}中的default值,如果没有default就新增一个,如下
NumberElements{
arabext{
symbols{
decimal{"."}
group{","}
infinity{"∞"}
list{";"}
minusSign{"-"}
perMille{"‰"}
percentSign{"%"}
plusSign{"+"}
}
}
default{"urdu"}
}
2、如果把阿拉伯语下的数字显示改为0~9可以修改文件external\icu4c\data\locales\ar.txt(Android L
external\icu\icu4c\source\data\locales\ar.txt)
把NumberElements{}中的default值改为default{"latn"}
3、保存后需要重新编译ICU资源,这样build才能生效。
一些语言如阿拉伯语、波斯语、印地语、缅甸语等,这些语言都有自己数字显示系统不是我们常见的0~9字符显示。常
常会有一些问题,比如乌尔都语语下现在版本仍然还是使用0~9数字系统显示;还有一些客户要求把阿拉伯语的数学字
符改成0~9显示,对于这样的问题,可以通过修改ICU资源解决。
【解决方法】
android的数字系统定义在external/icu4c/data/misc/numberingSystEMS.txt文件中(Android L
external/icu/icu4c/source/data/misc/numberingSystems.txt)
如下为波斯语的数学定义
arabext{
algorithMIC:int{0}
desc{""}
radix:int{10}
}
1、新增数字系统
如新增乌尔都语数字定义
urdu{
algorithmic:int{0}
desc{""}
radix:int{10}
}
新增之后修改external\icu4c\data\locales\ur.txt(Android L external\icu\icu4c\source\data\locales\ur.txt)
修改NumberElements{}中的default值,如果没有default就新增一个,如下
NumberElements{
arabext{
symbols{
decimal{"."}
group{","}
infinity{"∞"}
list{";"}
minusSign{"-"}
perMille{"‰"}
percentSign{"%"}
plusSign{"+"}
}
}
default{"urdu"}
}
2、如果把阿拉伯语下的数字显示改为0~9可以修改文件external\icu4c\data\locales\ar.txt(Android L
external\icu\icu4c\source\data\locales\ar.txt)
把NumberElements{}中的default值改为default{"latn"}
3、保存后需要重新编译ICU资源,这样build才能生效。
daydayup
daydayup
daydayup
daydayup
哈哈哈 小学森