C# 基于RESX的Xamarin.Android本地化

C# 基于RESX的Xamarin.Android本地化,c#,android,localization,xamarin,xamarin.android,C#,Android,Localization,Xamarin,Xamarin.android,我正试图研究这个主题,但仍然不清楚基于RESX的本地化是否可能在Xamarin.Android中实现。在我个人的尝试中,我无法获得任何本地化字符串,但只能获得中性文化字符串 我还可以看到一些帖子,比如where注意到它应该可以在Android上工作: 这在Android和windows phone上运行良好 但我也可以看到一些帖子,比如本地化不起作用的地方 所以我的问题很简单。如何在Xamarin中为Android构建基于RESX的本地化应用程序?[回答我自己的问题] 首先,是的,在Xamari

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

我还可以看到一些帖子,比如where注意到它应该可以在Android上工作:

这在Android和windows phone上运行良好

但我也可以看到一些帖子,比如本地化不起作用的地方

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

[回答我自己的问题]

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

第二,我浪费了很多时间试图让它工作,只是因为缺乏对细节的关注。这篇文章我读了好几遍,但我总是忽略了故障排除部分。确实有一把钥匙:

无法在调试模式下工作(仅限Android)

如果翻译的字符串 在Android版本中工作,但在调试时不工作, 右键单击Android项目并选择选项>构建> Android构建并确保快速程序集部署不受限制 滴答声。此选项会导致加载资源时出现问题,应 如果您正在测试本地化应用,则不能使用

第三,在试图找到解决问题的其他方法时,我发现文章中描述的方法很有趣。与文章中描述的丹尼尔·卡祖里诺(Daniel Cazzulino)的酷炫NuGet软件包相结合,我能够基于WPF项目中的RESX为Android平台构建一个简单的替代方案


希望它能帮助一些人。

@Jason,我目前正在Android上迁移我们的WPF应用程序,如果我可以重用BL(包括模型和viewmodels),但不能重用Resx,那真的很遗憾。如果有人感兴趣,有一个替代品可以替代Resx:等等,你回答“是”但最终使用T4来创建可能要翻译的xml文件?虽然我也为web应用程序创建了.json文件,但您自己的问题的答案实际上是“不,但是……您可以使用T4”。还是我错了?关于如何在axml(而不是xaml)文件中为Xamarin.AndroidPlease使用翻译,我仍然没有答案。请告诉我您实现的最终方案,以及如何访问XML和活动中的字符串?