.NET本地化卫星程序集

时间:2014-05-29 16:28:35

标签: asp.net .net

我们有一个本地化为30多种语言的网站项目。

该项目分为PLL,BLL& DAL。

我们有超过一百个.resx文件位于基本语言的各种不同文件夹中(英文)。

我们使用单独的系统进行本地化,自动以正确的格式/目录显示所有语言文件。

完成后,将有数千个文件导入Visual Studio项目!

这将成为管理的噩梦:(

有没有办法将本地化文件分别编译到Satellite Assembly中,然后将它们复制到项目中?

我只想在主VS项目中使用英文文件,而不是查看所有本地化文件。

1 个答案:

答案 0 :(得分:1)

您可以创建另一个仅包含本地化资源文件的项目 - 将这些文件构建到Satellite Assembly中,然后将它们复制到主项目中。

例如:

在现有解决方案中创建一个新项目,例如:myApp.Localized

然后更改程序集名称以匹配主应用程序(myApp)的名称,并更改默认名称空间(C#)或根名称空间(Visual Basic)以匹配主应用程序(myApp)的默认名称或根名称空间。

现在,当您构建myApp.Localized项目时,它将为bin文件夹中的每种语言文化创建附属程序集。

每种语言的卫星装配将位于垃圾箱内的子文件夹中。

准备好部署项目时,将每个语言文件夹复制到主应用程序bin中。 (程序集必须位于指定的语言文件夹中)

对每个项目(DAL,BLL,PLL)重复上述步骤

这使您可以在主项目中使用中性语言,并将所有其他语言保存在单独的项目中。从而减少项目的复杂性,建立时间和混乱!

您可以在以下网址找到更多信息:

http://visualstudiomagazine.com/articles/2005/01/01/make-the-best-of-net-resource-files.aspx