创建包含多种语言文本的aspx文件

时间:2017-01-05 20:26:19

标签: html css asp.net

问题:我想在英文“Hello world!”中有以下段落。我希望能用pmingliu字体用普通话说同样的文字。

但是,当我用多种语言输入不同版本的文本时,普通话会产生乱码。

有没有办法让一个包含多种语言文本的aspx文件,如果有机会将其打印出来,可以正确显示文本?

2 个答案:

答案 0 :(得分:0)

使用ResourceManager可以轻松实现多语言支持,Link可以从应用程序中嵌入或包含在附属程序集中的资源中检索特定于语言的文本(或其他资源,如图标)。

示例代码:

// C#
// Gets a reference to the same assembly that 
// contains the type that is creating the ResourceManager.
var myAssembly = this.GetType().Assembly;
var myManager = new System.Resources.ResourceManager("ResourceNamespace.myResources", myAssembly);

// Gets a reference to a different assembly.
var myOtherAssembly = System.Reflection.Assembly.Load("ResourceAssembly");

// Retrieves String and Image resources.
var myString = myManager.GetString("StringResource");
var myImage = (System.Drawing.Image)myManager.GetObject("ImageResource");

资源可以是特定于语言的:

  

在附属装配部署模型中,您将使用默认装配(主装配)和多个附属装配创建应用程序。使用主程序集打包默认或中性文化的资源,并为应用程序支持的每种语言创建单独的附属程序集。由于附属程序集不是主程序集的一部分,因此您可以轻松替换或更新与特定文化相对应的资源,而无需替换应用程序的主程序集。

Fiddle

答案 1 :(得分:0)

使用资源文件的替代方法

资源是第一种方式,并且极为常见,因为它们是为此目的而设计的。但是,由于您似乎对此感兴趣,因此有一些替代方案。

  1. 使用content management system或CMS。虽然这是一项巨大的创建和维护工作,但它提供了最大的灵活性,包括在将变更推入生产模式之前审核变更的能力。

  2. 为每种语言或文化部署单独的网页。这会增加您需要维护的页数,因此并不常见。它的优点是布局可以是文化特定的,如果从右到左或从上到下读取感兴趣的语言,或者如果翻译的文本比默认语言短得多或长得多,则这可能是重要的。可能有other cultural considerations as well

  3. 自己动手。我曾经在一个项目上工作过,所有文本资源都存储在数据库中。您也可以将它们全部存储在平面文件中或从服务中获取它们。可能性仅限于你的想象力。