首页 > 编程语言 >C# 处理多语言的基础类

C# 处理多语言的基础类

时间:2022-09-06 14:04:36浏览次数:69  
标签:lang 语言 C# value 处理 key using public string

 1 using Newtonsoft.Json;
 2 using Newtonsoft.Json.Linq;
 3 using System.IO;
 4 using System.Text;
 5 
 6 namespace TestDemo
 7 {
 8     /// <summary>
 9     /// 处理多语言的基础类
10     /// </summary>
11     public class Lang
12     {
13         /// <summary>
14         /// 语言文件
15         /// </summary>
16         private readonly JObject lang;
17 
18         /// <summary>
19         /// 构造函数
20         /// </summary>
21         /// <param name="fileName"></param>
22         public Lang(string filePath)
23         {
24             // 读取文件
25             string str = string.Empty;
26             using (StreamReader sr = new StreamReader(filePath, Encoding.UTF8))
27             {
28                 str = sr.ReadToEnd();
29             }
30             lang = JObject.Parse(str);
31         }
32 
33         /// <summary>
34         /// 通过key取得文本
35         /// </summary>
36         /// <param name="key"></param>
37         /// <returns></returns>
38         public string this[string key]
39         {
40             get
41             {
42                 string value = string.Empty;
43                 if (lang.ContainsKey(key))
44                 {
45                     value = lang[key].ToString();
46                 }
47                 return value;
48             }
49         }
50 
51         /// <summary>
52         /// 取得多语言文件
53         /// </summary>
54         /// <returns></returns>
55         public string GetLanguageFile()
56         {
57             return JsonConvert.SerializeObject(lang);
58         }
59 
60     }
61 }

 

标签:lang,语言,C#,value,处理,key,using,public,string
From: https://www.cnblogs.com/smartnn/p/16661491.html

相关文章

  • Check if a string is null or empty in XSLT
    多条件查询string.Format("/root/deviceList//item/guid[{0}]",strBuilder.ToString())"/root/deviceList//item/guid[text()=\"h\"ortext()=\"a\"ortext()=\"c\"......
  • 苹果Mac原型设计:Axure RP9如何查看和共享您的原型?
    今天就给大家带来了AxureRP如何查看和共享您的原型的教程,你快速完成操作,快来跟小编看看吧!为您带来Mac上好用的原型设计软件AxureRP9中文正式版,axuremac是专为UX专业......
  • 安装PowerCLI
    1.使用powershell直接安装Install-ModuleVMware.PowerCLI-ScopeCurrentUser2.下载安装包后解压,将模块复制到powershell的模块目录1在官网下载ZIP包:https://devel......
  • 最新资讯|2022年8月29日,IECEE发布电池认证CTL协议DSH1037A!
    2022年8月29日,IECEE发布电池认证CTL协议DSH1037A,涉及标准IEC62133:2002,IEC62133:2012,IEC62133-1:2017,IEC62133-2:2017,IEC62619:2017,IEC62660-3:2016,CTL协议DSH103......
  • jerry99的序列 --binary search, math
      #include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;constintN=1e5+10;constintM=N-10;inttot,vis[N],prime[N];//#define......
  • html+css
    第一章<html><!--解释器--><!DOCTYPEhtml><head> <!--字符集--> <metahttp-equiv="content-type"content="text/html;charset=utf-8"/> <!--刷新跳转--> <meta......
  • 服务端挂了,客户端的 TCP 连接还在吗?
    作者:小林coding计算机八股文网站:https://xiaolincoding.com大家好,我是小林。如果「服务端挂掉」指的是「服务端进程崩溃」,服务端的进程在发生崩溃的时候,内核会发送FI......
  • docker-compose
    docker-compose简介dockercpmpose是给容器做单机编排的Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。docker-compose将所管理的容......
  • 前端不缓存,ajax不缓存,js操作cookie
    前端不缓存,ajax不缓存,js操作cookie 今天实现网站注销功能时,需要清除cookie缓存,开始在网上搜索的是“js清除缓存”,发现很多都是预先防患缓存存储的内容,千篇一律,不过也......
  • Linux centos7 安装nginx
    安装前准备安装GCC编译环境yuminstall-ygccgcc-c++autoconfautomakemake安装模块依赖Nginx支持的功能模块需要有第三方的库支持,例如gzip的zlib库,rewrite重写需......