最近在做App的多语言适配,特此记录一些多语言适配需要注意的地方。
1:关于布局:
因为各国语言的长短,高低不同,所以我们在布局时,就不能只考虑中文的情况,假设TextView的宽度,和高度,最好能留出足够的空隙,考虑到,如果字数太多的情况,处理的方法一般为
a:可以接受省略显示的就省略。
android:singleLine="true"
android:ellipsize="end"
b:不能省略的(就是省略了就看不懂了的),可以尝试让翻译公司,缩短翻译。实在缩短不了,就用跑马灯的方法显示出来:
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
c:不能省略且不能用跑马灯显示的,可以根据不同的语言用不同的字体大小。或者不同的容器宽度。
例如,默认的字体大小给16sp,俄语比较长,则在俄语目录下建个dimens.xml,给个12sp.
android:textSize="@dimen/app_setting_item_title_size"
还有对于网格布局,item布局就是上面一个图片,下面是一行文字,由于多语言,下面的文字显示不全,则可以根据不同的语言,设置不同的列,默认一屏幕显示4列,俄语,可以让其显示3列。
总结:能省略显示的省略显示,不能省略显示的,增大控件大小,或者修改文字大小
2:关于RTL的问题。
由