Xamarin的Telerik UI?下载30天免费试用

本土化与全球化

本地化和全球化是一个设计和开发应用程序的过程,它可以适应不同的语言和文化配置。

本主题概述如何为Xamarin组件利用Telerik UI的本地化和全球化特性。

全球化

全球化指的是以这样一种方式开发应用程序,即它与目标设备文化相关。这包括不同文化之间可能存在差异的数字格式,特别是对于某些特定的符号,如小数分隔符、货币和其他,以及日期和时间格式。以下是支持全球化的Telerik Xamarin控件列表:

  • 日历和日程安排
  • 图表
  • DataForm
  • 数据表格
  • NumericInput
  • 日期选择器
  • 日期时间选择器
  • 时间选择器
  • 时间间隔选择器

本地化

本地化是指将应用程序资源翻译为应用程序支持的特定语言的本地化版本。查看以下支持本地化的Telerik Xamarin控件列表:

  • AutoCompleteView
  • 日历和日程安排
  • ConversationalUI
  • DataForm
  • 数据表格
  • ImageEditor
  • 日期选择器
  • 日期时间选择器
  • 列表中选择
  • PdfViewer
  • RichTextEditor
  • 模板化选择
  • 时间选择器
  • 时间间隔选择器

Telerik Xamarin控件中的本地化机制是通过TelerikLocalizationManager类,更具体地说TelerikLocalizationManager。经理静态属性。要启用上面列出的任何组件的本地化,你应该在以下方法中选择:

在这两种情况下,您都需要提供在受支持的控件中使用的所有资源键的翻译。

您可以从。下载包含所有支持组件中使用的资源键的完整列表在GitHub上的SDKBrowser示例库

使用自定义本地化管理器进行本地化

要将本地化应用到控件,只需实例化自定义的TelerikLocalizationManager并将其设置为静态属性TelerikLocalizationManager。,在创建UI之前。下面您可以找到一个RadDataGrid控件的示例。

首先,创建一个继承自的自定义类TelerikLocalizationManager并覆盖GetString ()方法:

公共类CustomTelerikLocalizationManager: TelerikLocalizationManager{公共覆盖字符串GetString(字符串key) {if (key == "FilterText"){返回"过滤器";} if (key == "FilterUISectionText"){返回"过滤参数";} if (key == "Contains"){返回" continent ";}返回base.GetString(key);}}

将其设为TelerikLocalizationManager。经理

TelerikLocalizationManager。经理= new CustomTelerikLocalizationManager(); this.InitializeComponent();

您应该在调用InitializeComponent()方法之前设置自定义管理器,否则默认值将应用于RadDataGrid。

下面是应用自定义本地化管理器后RadDataGrid中过滤组件的外观。

自定义本地化管理器

使用ResourceManager进行本地化

应用本地化的第二个选项是设置自定义ResourceManager

与.NET应用程序的内置机制使用的方式相同RESX文件这些类系统。资源而且系统。全球化名称空间,Telerik Xamarin控件依赖于类似的设置来实现功能。

您应该根据您想使用的不同语言/文化添加不同的资源(. resx)文件。假设您想将控件(例如RadDataGrid)翻译成英语和德语。您必须向Xamarin添加两个新的资源文件。与嵌入的资源建立行动:

  • DataGridResource.resx这个资源文件将存储DataGrid控件的英文(默认)资源。

  • DataGridResource.de.resx这个资源文件将存储DataGrid控件的德语资源。当目标设备的语言设置为德语时,它将自动使用。

下图显示了一个用于德语的自定义资源文件的例子:

自定义资源文件

为了应用本地化从DataGridResource资源文件,您将需要设置ResourceManager属性。管理器到DataGridResource。ResourceManager:

TelerikLocalizationManager.Manager.ResourceManager = DataGridResource.ResourceManager;this.InitializeComponent ();

您应该在调用InitializeComponent()方法之前设置自定义管理器,否则默认值将应用于RadDataGrid。

当应用本地化时,检查过滤控件的外观:

图3:德语的自定义资源文件

自定义资源管理器

中可以查看工作的本地化示例DataGrid /本地化文件夹中的SDK浏览器应用

中的代码可以直接浏览在GitHub上的SDKBrowser示例库

在本文中
Baidu
map