8

下面解释的功能在 ERP 应用程序 Microsoft Dynamics AX(以前称为 Axapta)中可用。但是,我的问题与 Visual Studio 2010 和 MVC 3 应用程序有关。请在此功能说明后找到我的问题。

  1. 屏幕截图 # 1显示了使用 MorphX 编辑器以 X++(Microsoft Dynamics AX 中使用的语言)编写的方法。如果我选择双引号内的文本并右键单击它们,我将获得屏幕截图中显示的选项。如果文本以@字符开头并且是在标签文件中找到的有效 id,则为 true。
  2. 如果我单击选项Lookup Properties/Methods,将出现一个工具提示,显示与所选标签 ID 关联的实际文本。在这种情况下,标签 id 是@SYS67,其关联的标签文本是Transaction date。参考截图# 2
  3. 如果我单击选项Lookup Label/Text,标签编辑器将出现,标签 ID 与编辑器底部的其他选择语言一起预先过滤。我可以使用编辑器更改不同语言的翻译文本。参考截图# 3
  4. 在 Dynamics AX 中,标签文本存储在带有标签 ID 的文本文件中,并由制表符分隔。标签 ID 始终以@符号开头。在此示例中,@SYS 是组前缀,给定的数字是顺序索引。请参阅屏幕截图 # 4,它显示了在 en-us 标签文件中找到的文本。

我知道这类似于 Visual Studio 中的资源编辑器,其中翻译文本存储在每种语言的 .resx 文件中。我想为使用 SQL Server 数据库作为翻译文本的数据存储的 ASP.NET MVC 3 应用程序做类似的事情。

以下是我的问题:

  1. 我需要在 Visual Studio 2010 中创建什么来实现此功能,以便可以在 IDE 中调用翻译编辑器?那是插件还是扩展?

  2. 在 ASP.NET MVC 应用程序中是否可以使用类似的资源提供程序,我可以在双引号内指定标签 id 并让提供程序模型在运行时从数据库中获取数据?语法Resources.MyResource.GetLabel("@SYS67");是 ASP.NET 中唯一可用的选项吗?抱歉,如果资源语法错误。

  3. Visual Studio 是否已经有任何类似的工具集(插件/扩展)可用?

  4. 我相信在 ASP.NET 应用程序中进行翻译的术语之一是使用Resource Provider Model. 还有其他条款吗?我很想知道我想要达到的目标,这样我就可以在网上搜索以了解更多信息。

任何输入将不胜感激。

提前致谢。

截图#1:

1

截图#2:

2

截图#3:

3

截图#4:

4

4

1 回答 1

1

我要跳到这里,把我知道的告诉你。如果它不能完全回答您的问题,我深表歉意,但我不想偏离我所熟悉的太远,从而给您不好的建议。

从您描述问题的方式来看,您似乎可以使用资源文件 (RESX) 进行翻译,问题更多的是您想知道如何以用户友好的方式编辑它们。此外,一些用户可能想要在网络上编辑翻译。

要回答您问题的这一部分,我建议您查看这篇文章:

http://blog.lavablast.com/post/2008/02/07/RESX-file-Web-Editor.aspx

作者似乎和您有类似的问题,作者得出的结论与您的想法相似。提供了源代码,因此如果您想采用这种方法,您可以抢占先机。

如果你打算推出自己的编辑器,我建议你选择一个界面并坚持下去。否则,您将在一些不是您实际产品的东西上增加开发时间。由于您希望某些用户使用网络,因此我建议您坚持为所有人使用网络。但是,如果您真的想为 Visual Studio 开发插件,我建议您将尽可能多的代码放入中央业务逻辑层,这样您的表示层就不会占用您太多的时间。

至于当前可用的选项,我认为以下任何一个都不是 Visual Studio 插件,但它们在处理本地化方面都做得很好:

如果您想了解更多关于本地化的术语和实践,我会推荐以下网站:

http://quickstarts.asp.net/QuickStartv20/aspnet/doc/localization/localization.aspx

如果您想将信息存储在数据库而不是.resx文件中,这里有一个资源将向您展示如何做到这一点:

http://msdn.microsoft.com/en-us/library/aa905797.aspx

于 2011-06-05T00:27:55.597 回答