Android和iOS跨平台字符串资源(MonoTouch &MonoDroid)
本文关键字:MonoTouch MonoDroid 字符串资源 iOS 跨平台 Android | 更新日期: 2023-09-27 18:02:19
我正忙于使用Xamarin mono库的跨平台移动应用程序,我遇到了以下情况…
我有一堆字符串资源在我的monodroid项目(strings.xml)正在使用我的布局和我的c#代码。
我想要做的是将这些字符串资源移动到共享项目中的文件中,以便iOS, Android和Windows phone都能够使用它们。实现这一目标的最佳方式是什么?
*当前我正在使用资源。包含非ui字符串的resx文件。然后我在android(monodroid)项目中有strings.xml文件,以满足UI资源字符串。
请牢记以下内容:
- 所有平台必须使用相同的文件
- 我需要android布局也使用相同的资源。(目前是strings.xml文件) 最好是一个文件。
的意见吗?
这里(至少)有几个"标准"库/工具可供参考:
- Rdio的白话工具看起来可以帮助使用
GetText
层解决这个问题- https://github.com/rdio/vernacular - MvvmCross使用JSON文件来共享文本(参见MvvmCross ViewModels中的文本本地化)
它们都是开源的——你应该能够从它们中创建自己的设计时或运行时工具。
另一个选择是使用生成器在构建时生成适当的资源。为简单起见,我决定创建一个资源迁移器,在每次构建时运行它。
基本上,我把我的PCL的*.resx
文件中的所有内容,并在构建应用程序之前生成Android或iOS资源。这是在构建期间在web应用程序中组合/缩小CSS/JS的类似方法…