C1Editor:本地化资源文件

发布时间:2013/02/19 00:02 发布者:iceman

返回博客中心

所有 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. 添加更改资源文件后台代码:

 

 


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网