我正在尝试研究这个主题,但仍然不清楚是否可以在Xamarin.Android中进行基于RESX的本地化。在我的个人尝试中,我无法获得任何本地化的字符串,只能获得中性文化字符串。
我还可以看到像this one这样的帖子,注意它应该适用于Android:
这适用于Android和Windows手机。
但我也可以看到像that one这样的帖子,其中本地化不会起作用。
所以我的问题很简单。如何在Xamarin中为Android构建基于RESX的本地化应用程序?
答案 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平台构建一个简单的替代方案。
希望它可以帮助某人。