栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在C#中使用本地化

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在C#中使用本地化

  • 通过执行以下操作,将资源文件添加到您的项目中(您可以将其称为“ strings.resx”):
    右键单击项目中的“ 属性 ”,在上下文菜单中选择“ 添加”- >“新建项… ”,然后在列表中 Visual C#项目 选择
    “资源文件” 并将其命名

    strings.resx


  • 在resx文件中添加一个字符串资源,并给它起一个好名字(例如:将其命名为“ Hello”,并为其赋予值“ Hello”)

  • 保存资源文件( 注意: 这将是 默认的 资源文件,因为它没有两个字母的语言代码)
  • 添加对程序的引用:
    System.Threading
    System.Globalization

运行此代码:

Console.WriteLine(Properties.strings.Hello);

它应该打印“ Hello”。

现在,添加一个名为“ strings.fr.resx”的新资源文件(请注意“
fr”部分;该文件将包含法语资源)。添加一个与strings.resx中名称相同的字符串资源,但其值使用法语(Name =“ Hello”,Value =“
Salut”)。现在,如果您运行以下代码,它将显示Salut:

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("fr-FR");Console.WriteLine(Properties.strings.Hello);

发生的情况是系统将寻找“ fr-FR”的资源。它不会找到一个(因为我们在您的文件中指定了“ fr”),然后便退回到检查(找到并使用)的“ fr”。

下面的代码,将打印“ Hello”:

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");Console.WriteLine(Properties.strings.Hello);

那是因为它找不到任何“ en-US”资源,也找不到“ en”资源,因此它将回退到默认值,这是我们从一开始就添加的资源。

您可以根据需要使用具有更多特定资源的文件来创建文件(例如,分别在法国和加拿大使用French的strings.fr-FR.resx和strings.fr-
CA.resx)。在每个这样的文件中,您将需要为那些与后备资源不同的字符串添加资源。因此,如果文本在法国和加拿大是相同的,则可以将其放在strings.fr.resx中,而在加拿大法语中不同的字符串可以输入strings.fr-
CA.resx。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/594649.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号