• C# 支持多种语言


    通过Resource文件建立本地化。

     net 资源文件名(这里是Resource.resx)由根名称(即Resource),本地语言名称(默认情况下还没有)及扩展名组成,在读取资源时,资源管理器会根据当前环境决定需要的本地语言名称,例如英语,然后试图以全名读取资源,美国英语的本地名称为en-US(更多语言名称可以从MSDN中查询CultureInfo信息得到),那么资源全名为Resource.en-US.resx,如果存在该文件,则载入该文件作为资源文件,如果没有则使用默认值Resource.resx,确定好资源文件后开始查找指定的资源(例如"String1"),如果在本地资源文件中没有找到,则向上查找上一级的本地资源文件,最终找到根名称Resource为止

     

    1.分别建立Resource.resx,Resource.en-US.resx,Resource.zh-CHS.resx文件;其String1值分别对应为"默认语言”,“英文","中文"。

    目前发现:

    1.1.必须在程序根目录,不能放在自己建立的文件夹里;

    1.2.必须有Resource.resx文件(引用的时候就是用这个文件的名字,缺少会引用不了),也就是说虽然系统默认语言中文,已建立中文(Resource.zh-CHS.resx),但也不能没有Resource.resx文件。

    1.3.其他语言有的字符串变量名,在Resource.resx必须存在,因此使用的时候先完整在Resource.resx建立需要汉化或英语变量名。

    2.在不同语言建立相同的字符串变量,对应不同语言value值。字符串变量命名要窗口Id名字+字符串变量名。resx文件其实就是xml文件,用记事本可以打开编辑。 

      

    3.程序会随着操作系统语言而保持相同。

     以下代码手动控制使用语言种类。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace GlobalizationTest
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
    
            private void btnChiness_Click(object sender, EventArgs e)
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CHS");
                lblMsg.Text = Resource1.String1;
            }
    
            private void btnEnUs_Click(object sender, EventArgs e)
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
                lblMsg.Text = Resource1.String1;
            }
        }
    }

     

  • 相关阅读:
    linux的setup命令设置网卡和防火墙等
    在定时任务中慎用pause,否则造成弹窗没关闭,下一次任务不会成功执行
    删除指定文件路径下的所有文件及文件夹
    PHP遍历文件夹及子文件夹所有文件(此外还有飞递归的方法)
    解决wamp、vertrigo等集成环境安装后apache不能启动的问题
    【整理】Virtualbox中的网络类型(NAT,桥接等),网卡,IP地址等方面的设置
    linux IP 设置
    Linux常用命令大全
    在centos命令行下安装软件
    ubuntu12.04安装及配置过程详解1
  • 原文地址:https://www.cnblogs.com/ike_li/p/3730358.html
Copyright © 2020-2023  润新知