Xamarin Forms 绑定 IEnumerable 本地化

Xamarin Forms Binding IEnumerable Localisation

我有一个正在本地化的应用程序。我使用 https://github.com/jamesmontemagno/LocalizationSample 作为指南。该应用程序有一个语言列表,允许用户随时切换。

目前所有翻译都使用绑定,以便在语言更改时更新值。

我的问题是,本地化 ienumerables 的最佳方法是什么?我应该使用键列表并根据需要进行翻译,还是每种语言都有多个列表?

我的想法如下:

另一个想法是创建每个支持语言的字典和翻译的 ienumerable。关键是语言代码,例如'en-gb',然后当语言改变时,我可以重新绑定到字典中的那个 ienumerable。

有人对如何最好地实施有什么建议吗?

我猜你想翻译 IEnumerable<string>...

你如何填充你的列表?如果您使用 resx 文件(例如 AppResources.resx、AppResources.en.resx),它应该会自动完成。

在您的 ViewModel 中,像这样初始化您的列表:

...
MyValues = new List<string>();
mMyValues.Add( AppResources.MyEnumValue1 );
mMyValues.Add( AppResources.MyEnumValue2 );
...

==> 调用 'AppResources.MyEnumValue2' 将为您提供 当前文化 键值 'MyenumValue2'...

所以我觉得没有问题?