using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Resources; namespace MaterialTraceabilityUI.Resources { public interface IResource { string GetString(string name); CultureInfo CurrentCulture { set; } } public class Resource : IResource { private ResourceManager stringResource; //我们这样设置的时候ResourceManager会去查找MultilanguageTest.StringResource.en-us.resx,如果没有会查找MultilanguageTest.StringResource.resx private CultureInfo culture = new CultureInfo("zh-cn"); //默认值 public Resource() { //MultilanguageTest.StringResource是根名称,该实例使用指定的System.Reflection.Assmbly查找从指定的跟名称导出的文件中包含的资源 //此处注意WpfApp2.Resources.Lang,Lang是资源文件的名字 stringResource = new ResourceManager("MaterialTraceabilityUI.Resources.Lang", typeof(Resource).Assembly); } /// /// 通过资源名称获取资源内容 /// /// /// public string GetString(string name) { return stringResource.GetString(name, culture); } /// /// 改变当前的区域信息,ResourceManager可以通过当前区域信息去查找.resx文件 /// public CultureInfo CurrentCulture { set { culture = value; } } } }