是否可以在Android Studio中本地化布局文件?

是否可以在Android Studio中本地化布局文件?,android,android-layout,localization,translation,Android,Android Layout,Localization,Translation,我正在设计一个Android应用程序,使用Android Studio支持10种不同的语言/地区。问题是,如果我为英语完善布局文件,它将不会适合其他语言。例如,某些文本可能会在另一种语言中被截断/截断,因为它对于TextView来说太长了,即使它在英语中很好 布局(xml)中是否可能存在基于语言的字体大小差异文件?您应该能够创建一个布局es文件夹来覆盖西班牙语等的布局。我自己也用过它来绘制布局,所以我不明白为什么它对布局也不起作用。@darnmason的解决方案是正确的——区域设置感知布局文件确

我正在设计一个Android应用程序,使用Android Studio支持10种不同的语言/地区。问题是,如果我为英语完善布局文件,它将不会适合其他语言。例如,某些文本可能会在另一种语言中被截断/截断,因为它对于TextView来说太长了,即使它在英语中很好


布局(xml)中是否可能存在基于语言的字体大小差异文件?

您应该能够创建一个
布局es
文件夹来覆盖西班牙语等的布局。我自己也用过它来绘制布局,所以我不明白为什么它对布局也不起作用。

@darnmason的解决方案是正确的——区域设置感知布局文件确实起作用,而且为了让它起作用,只需在布局文件夹中使用
-xx
复制资源文件,其中
xx
是。有关语言代码,请参见中的“639-1”标题

因此,对于法语的
\res\layout\MainScreen.xml
,新文件将成为
\res\layout fr\MainScreen.xml

尽管androidstudio认为字符串资源应该本地化到一个(单独的)资源文件中,但有时使用重复的特定于语言环境的布局文件是有意义的;OP提到的案例就是这样一个例子

通常,请尝试对字符串资源文件中的文本进行本地化。然而,有时,一种语言的翻译文本会使另一种语言的用户界面难看(将“Nom d'usilisateur”的长度与用戶名", 在这种情况下,复制布局文件,如上所述,因为本地化的不仅仅是文本(尺寸,可能是字体)


每种语言使用一个额外的布局文件的缺点是,每次更改(例如添加按钮)时,都需要使用所有更改更新多个布局文件,而不仅仅是将控件添加到一个布局文件中,并将所有翻译添加到一个单独的字符串资源文件中。

谢谢。我会尝试一下