国际化需要注意的细节
2021-03-09 本文已影响0人
ProgrammerOz
1、不要在项目里面用+号拼接字符串,因为不同语言下句子顺序有可能不一样,最好是在strings文件里把整句话写完整
2、strings里的动态变化的数据可用%来占位,常用的有%.2f(两位小数)、%d(整数)、%s(字符串),如果要显示%,需要用%%来表示
3、某些国家的小数在格式化的时候,会自动把小数点变成逗号,比如(1.23)用DecimalFormat格式化之后就变成了(1,23),此时应该代码应该这样写
DecimalFormat df = new DecimalFormat("##0.00");
DecimalFormatSymbols dfs = new DecimalFormatSymbols(); //新增代码1
dfs.setDecimalSeparator('.'); //新增代码2
df.setDecimalFormatSymbols(dfs); //新增代码3
//然后就可以格式化了
df.format(xxx);
或者把String.format("%.2f", price)改成String.format(Locale.ENGLISH, "%.2f", price)
4、布局试图尽量不要写死宽度,避免国际化文案长短不一导致页面不好看,建议采用wrap_content,然后分别设置padding来解决
最后推荐下轮子哥的国际化框架:*github.com/getActivity…