基于RESX的Xamarin.Android本地化

时间:2015-07-25 14:01:28

标签: c# android localization xamarin xamarin.android

我正在尝试研究这个主题,但仍然不清楚是否可以在Xamarin.Android中进行基于RESX的本地化。在我的个人尝试中,我无法获得任何本地化的字符串,只能获得中性文化字符串。

我还可以看到像this one这样的帖子,注意它应该适用于Android:

  

这适用于Android和Windows手机。

但我也可以看到像that one这样的帖子,其中本地化不会起作用。

所以我的问题很简单。如何在Xamarin中为Android构建基于RESX的本地化应用程序?

1 个答案:

答案 0 :(得分:3)

[回答我自己的问题]

嗯,首先,是的,基于RESX的Xamarin.Android本地化是可能的,并且按预期工作。

其次,由于缺乏对细节的关注,我在尝试使其工作时失去了很多时间。我已多次阅读文章Localizing Xamarin.Forms Apps with RESX Resource Files,但我总是忽略故障排除部分。确实有一把钥匙:

  

在DEBUG模式下无效(仅限Android)

     

如果翻译了字符串   正在您的RELEASE Android版本中工作,但在调试时没有   右键单击Android项目,然后选择选项>构建>   Android Build并确保Fast Assembly部署不是   勾选。此选项会导致加载资源时出现问题   如果您正在测试本地化应用程序,则不要使用它。

第三,在尝试找到解决问题的其他方法的同时,我发现文章Generating Localized Resources in Mono for Android Using T4中描述的方法很有趣。与Daniel Cazzulino在文章How to transform T4 templates on build without installing a Visual Studio SDK中描述的酷炫NuGet包配对,我能够基于WPF项目的RESX为Android平台构建一个简单的替代方案。

希望它可以帮助某人。