所有   ComponentOne Editor for WinForms  中用户可见的字符串都支持本地化。Editor for WinForms 本地化基于  .NET Windows forms   标准本地化原理,通过 Localizable 属性实现。在 Windows Forms程序中 ,   你可以为   C1Editor创建后缀为 .resx   resource   文件。当应用程序运行时,你可以切换当前的资源文件及语言。应用程序中所有用到   C1Editor    DLL   都必须使用相同的资源。

本地化 对话框

本地化   C1Editor   控件 ,   选择 C1Editor Localize   项。

如图所示 :

点击 Localize   打开本地化对话框 :

  本地化对话框允许你 本地化 ComponentOne Editor for WinForms 程序集 (C1.Win.C1Editor.2.dll) 同时自动在工程中保存资源文件。

资源对话框的左侧为 资源字符串的树形列表,右侧为当前选择项的当前资源信息。资源信息结构如下

Description

名称

当前资源名称  ID

默认值

默认英文值

翻译值

目标语言翻译值

以下为本地化对话框 Toolbar   列表。

本地化对话框工具条

本地化对话框包含如下选项 :

Button

Description

创建新的本地化资源文件。

打开现有资源文件。

保存当前翻译文件。

另存为当前资源文件,可以选择存储工程位置。

新增语言。

从语言列表中删除当前资源文件。

选择语言。

Options 设置资源对话框的显示方式。

创建新的翻译资源

点击 Create new translation 按钮,开始创建新的 ComponentOne   程序集资源文件 .   在弹出的对话框中选择将要本地化的程序集。

注意 :   程序集必须已经添加到当前项目的引用中。

Open

点击 Open 按钮打开已有的资源文件。翻译文件将会被存储为 .resx   后缀文件。如图所示:

在你创建并且存储翻译文件之后,该对话框中将显示现有资源文件列表以供选择。

Save

点击   Save 按钮可以保存当前资源文件。

当资源文件被保存后,工程中会自动创建名为 C1LocalizedResources 的文件夹  ( 如果当前工程非  read only), 同时资源文件会自动存储在该文件夹下。针对不同的语言,会创建单独的 .resx   文件。这些文件在 Solution Explorer   窗体中是可见的。 .

注意 :   如果资源文件只应用于  invariant culture, .resx   文件将不包含语言后缀。

Save As

另存为当前资源文件,可以选择存储工程位置。

添加资源文件

点击 Add culture 按钮添加新的资源文件。

你可以创建不同的资源文件,同时,在运行时自动切换。点击 Add culture 按钮,弹出对话框如下,可以选择目标语言:

删除已有  Culture

点击   Delete culture 按钮删除当前已有资源文件。如图所示:

选择文件,点击 OK 删除。

选择资源文件  Culture

点击   Culture 下拉列表可以选择和编辑当前资源文件。

设置当前语言

C1Editor 控件将根据选择的语言自动显示相应的资源文件。代码如下:

Visual Basic Code

Public Sub New()

 ' Set desired culture, for example here the French (France) locale.

 System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("fr-FR")

 ' This call is required by the Windows Form Designer.

 InitializeComponent()

 ' Add any initialization after the InitializeComponent() call.

 End Sub

C# Code

public Form1()

 {// Set desired culture, for example here the French (France) locale.

 System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-FR");

  // This call is required by the Windows Form Designer.

 InitializeComponent();

  // Add any initialization after the InitializeComponent() call.

 }

运行时切换资源文件:

创建资源文件后,可以在运行时轻松切换资源文件:

Visual Basic Code

' This will switch to German locale.

System.Threading.Thread.CurrentThread.CurrentUICulture = New CultureInfo("de")

C# Code

// This will switch to German locale.

System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("de");

总结:

这里总结下本地化步骤:

1. 通过   Smart tag/Context menu   打开 C1Editor 对话框 .

2.   点击 New Culture’ 按钮。

3.  Culture   列表中选择目标语言。

4.   设置自定义字符串名称。

5.   点击  ‘Save As’   按钮保存本地化字符串。

6.   关闭本地化对话框。

7.   添加更改资源文件后台代码: