写在前面:

1.创建资源文件

资源文件命名规则为:文件名(自定义)+cultrueInfo.Name+.resx后缀名

如:A.en-US.resx A.zh-CN.resx

这样命名应用程序代码会根据cultureInfo来确定从哪一个文件读取资源

2.加载资源文件

var rm = ResourceManager("{namespace}.A", typeof({namespace}.{className}).Assembly);

以资源名规则举例的名称为例加载资源

3.设置应用的Culture

Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

4.读取资源

根据设置的Culture不同读取对应的资源文件。 en-US则读取A.en-US.resx, zh-CN则读取A.zh-CN.resx

下来我们逐步操作

创建资源文件

创建两个资源文件分别用来记录对应culture的语言 ResourceLan.en-US.resx,ResourceLan.en-US.resx

加载资源文件

namespace MutilLanguage
{
  public class Language
  {
      public static ResourceManager LanResManager
      {
          get
          {
              return new ResourceManager("MutilLanguage.ResourceLan", typeof(MutilLanguage.Language).Assembly);
          }
      }
  }
}

ResourceManager 第一个参数为资源文件的源名称,源名称是用来定位资源文件的,为:命名空间.文件前缀(文件名第一个点以前为前缀),即MutilLanguage.MutilLanguage。我的资源文件名称为ResourceLan.en-US.resx,ResourceLan.en-US.resx 前缀为 ResourceLan

第二个参数,用来定位Assembly文件位置,也就是资源文件项目的Assembley,我在项目中添加了Language类,用来定位Assembley

设置CultureInfo,读取数据

        var culture = new CultureInfo("en-US");//if set culture new CultureInfo("zh-CN"); output:运动商店
      Thread.CurrentThread.CurrentCulture = culture;
      Thread.CurrentThread.CurrentUICulture = culture;
       
        var resManager = MutilLanguage.Language.LanResManager;
        var appName= resManager.GetString("appName");
      Console.WriteLine(appName);
      //output:SportStore

根据CultureInfo读取 MutilLanguage.ResourceLan.[CultureInfo.Name].resx资源文件;

使用Resource文件实现应用程序多语言的更多相关文章

  1. 可用于在 Microsoft.NET Framework 4.0 中的 ASP.NET 浏览器定义文件的修补程序

    http://support.microsoft.com/kb/2600088 此修补程序为 Internet Explorer 和 Mozilla Firefox 在浏览器定义文件引入了更新的定义. ...

  2. 微信小程序开发语言的选择

    微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...

  3. 如何在MVC的ActionLink中应用Resource文件

    项目中建立Resources文件夹. 添加Resource文件,必须添加一个默认的,其他语言可以添加很多个.我这里只添加了一个中文的. 双击每个资源文件,将Access Modifier 设置成pub ...

  4. 利用SHELL脚本实现文件完整性检测程序(1.2版更新)

    一..开发背景 因时势所逼,需要对服务器的文件系统实行监控.虽然linux下有不少入侵检测和防窜改系统,但都比较麻烦,用起来也不是很称手.自己琢磨着也不需要什么多复杂的功能,写个脚本应该就可以满足基本 ...

  5. ACEXML解析XML文件——简单示例程序

    掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...

  6. 导出resource文件的的资源

    写个小工具,方便一次性将resource文件中的资源导出,不然反编译后一个个找,真是太麻烦了. using System;using System.Collections.Generic;using  ...

  7. IOS 从Resource文件夹下Copy文件到沙盒

    - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.t ...

  8. JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(二)

    一  前言 本文是上一篇博客JWebFileTrans:一款可以从网络上下载文件的小程序(一)的续集.此篇博客主要在上一篇的基础上加入了断点续传的功能,用户在下载中途停止下载后,下次可以读取断点文件, ...

  9. JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(三),多线程断点下载

    一 前言 本篇博客是<JWebFileTrans(JDownload):一款可以从网络上下载文件的小程序>系列博客的第三篇,本篇博客的内容主要是在前两篇的基础上增加多线程的功能.简言之,本 ...

随机推荐

  1. 【译】System.Text.Json 的下一步是什么

    .NET 5.0 最近发布了,并带来了许多新特性和性能改进.System.Text.Json 也不例外.我们改进了性能和可靠性,并使熟悉 Newtonsoft.Json 的人更容易采用它.在这篇文章中 ...

  2. VBA如何实现筛选条件之“排除某些值”

    小爬一般习惯使用Python来解决爬虫和某些办公自动化场景问题,不过最近却需要实现一个VBA需求:从一堆人员处理的Excel数据记录中,排除某些"用户名称"处理的数据.整个思考过程 ...

  3. requests实现接口测试

    python+requests实现接口测试 - get与post请求基本使用方法 http://www.cnblogs.com/nizhihong/p/6567928.html   Requests ...

  4. 1Python运行Appium测试的例子

    电脑系统配置:Windows7的64位 1.Python sample(Python示例)下载 https://github.com/appium/sample-code/tree/master/sa ...

  5. JavaScript的原生Ajax解析

    通过JavaScript的Ajax进行详细的解析过程,从而更好的了解Jquery的Ajax. 顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百 ...

  6. find 查询命令 & 正则表达式

    今日内容 find 正则表达式 Linux 三剑客之 grep 内容详细 一.find 按名称或属性查询文件 按名称查询 find [查找目录] [参数] [] 通配符 : * 表示匹配多个字符 ? ...

  7. [LeetCode]1.Two Sum 两数之和(Java)

    原题地址:two-sum 题目描述: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标. 你可以假设每 ...

  8. suse 12 二进制部署 Kubernetets 1.19.7 - 第09章 - 部署kubelet组件

    文章目录 1.9.部署kubelet 1.9.0.创建kubelet bootstrap kubeconfig文件 1.9.1.创建kubelet配置文件 1.9.2.配置kubelet为system ...

  9. ASP.NET Core 6框架揭秘实例演示[07]:文件系统

    ASP.NET Core应用具有很多读取文件的场景,如读取配置文件.静态Web资源文件(如CSS.JavaScript和图片文件等).MVC应用的视图文件,以及直接编译到程序集中的内嵌资源文件.这些文 ...

  10. [gRPC via C#] gRPC本质的探究与实践

    鉴于内容过多,先上太长不看版: grpc 就是请求流&响应流特殊一点的 Http 请求,性能和 WebAPI 比起来只快在 Protobuf 上: 附上完整试验代码:GrpcWithOutSD ...