flutter 本地化 rtl ltr 对某些小部件进行了更改,但对其他一些小部件则没有更改

问题描述 投票:0回答:2

我正在将我的应用程序更改为多语言应用程序,并且我正在使用 pub dev 的 Applocalizations 包。 我已经提取了所有 UI 字符串并将它们放入 .arb 文件中,还翻译了 .arb 文件。 现在,当我将语言环境更改为某种类似于阿拉伯语的 RTL 语言时,一些小部件会被镜像,甚至边距和填充也会获得镜像效果,但其他小部件保持原样。 我脑海中浮现的明显解决方案是为每个未得到镜像的此类情况执行一个简单的 if 语句。 但我想知道是否有更好的方法来解决这个问题以及为什么有些小部件会镜像而有些则不会。

flutter dart localization
2个回答
0
投票

找到解决方案: 您必须使用方向对齐和 EdgeInsets,以便应用程序能够根据区域设置更改进行翻转。

EdgeInsetsDirectional.only(start:30,end:30) not EdgeInsets.only(right:30,left:30)

如需更多帮助,您可以访问此处


0
投票

确保您已添加

                GlobalWidgetsLocalizations.delegate,

在main方法的localizationsDelegates列表中

© www.soinside.com 2019 - 2024. All rights reserved.