首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在单个EXE中嵌入多语言*.resx(或*.resources)文件?

在单个EXE中嵌入多语言.resx(或.resources)文件的方法如下:

  1. 创建多语言资源文件:

在Visual Studio中,右键单击项目名称,然后选择“添加”>“新建项”>“资源文件”。为每种语言创建一个资源文件,例如:

  • Resources.resx(默认语言,通常为英语)
  • Resources.zh-CN.resx(简体中文)
  • Resources.zh-TW.resx(繁体中文)
  • Resources.ja-JP.resx(日语)
  1. 添加资源:

在每个资源文件中,添加所需的字符串、图像、音频等资源。例如,在Resources.resx中添加一个名为“HelloWorld”的字符串资源。

  1. 设置资源文件的生成操作:

右键单击每个资源文件,然后选择“属性”。在“生成操作”下,选择“嵌入的资源”。

  1. 在代码中使用资源:

在代码中,可以使用以下方法访问资源:

代码语言:csharp
复制
using System.Resources;
using System.Globalization;

// 加载资源文件
ResourceManager rm = new ResourceManager("YourProjectName.Resources", typeof(Resources).Assembly);

// 获取指定语言的资源文件
ResourceManager rm = new ResourceManager("YourProjectName.Resources", typeof(Resources).Assembly, new CultureInfo("zh-CN"));

// 获取资源值
string helloWorld = rm.GetString("HelloWorld");
  1. 在程序中动态切换语言:

要在程序中动态切换语言,可以使用以下代码:

代码语言:csharp
复制
using System.Globalization;
using System.Threading;

// 设置当前线程的UI语言
Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");

通过以上步骤,您可以在单个EXE中嵌入多语言资源文件,并在程序中动态切换语言。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

本地化入门

使用resw资源文件实现本地化 在以前的XAML平台,resx资源文件是一种很方便的本地化方案,但在UWP微软又再次推荐x:Uid方案,默认的资源文件也变成resw资源文件。...项目中有如下两张图片: ? 在XAML可以直接通过Images/Flag.png引用。...但在XAML写的任何内容都可能被资源文件覆盖,无论是文本还是大小、对齐方式其它所有属性对XAML的编写者来说都是不可控的,不到实际运行时根本不清楚UI的最终效果,这就很考验本地化人员和测试人员。...在“解决方案资源管理器”选中“Labels.resx”,邮件打开“属性”视图,“生成操作”选择“嵌入的资源”。...resx本地化方案差不多,设计时支持几乎完美,包括智能感知和错误提示,不过还是没办法解决系统组件的本地化问题(TextBox右键菜单)。

2K40

Blazor学习之旅(10)多语言+本地化

因此,为Web应用提供多语言,页面内容可以本地化,会扩展我们的IT系统受众范围,提升一点用户体验。 因此,如何在Blazor实现多语言+本地化就被提上议程。...例如“zh”、“en”,仅仅表示中文英文,并没有包含指定地区,大陆、中国香港、中国台湾等。 Specific Culture: 特定区域性,即具有指定语言和区域的区域性。...(2)创建三个资源文件 在根目录下创建一个Resources目录,再创建一个Pages子目录,然后再创建三个resx资源文件。...这里我们可以使用一个资源文件来覆盖所有页面的本地化内容,也可以针对多个页面配置多个资源文件。为了演示,这里只有一个资源文件Home.resx应对演示页面Home.razor。...-- 德语 补充:如果你习惯使用json作为资源文件,也可以使用My.Extensions.Localization.Json 这个包来将resx换为json文件

37310
  • 桌面程序用什么语言开发好

    将语言资源文件输出存储为 .csv 文件,以作进一步分析 将 LocBaml.exe(LocBaml 工具是一种尚未投产使用的应用程序。...测试新增语言资源文件同"使用LocBaml工具"step8 三、使用.resx资源文件 这种方式和Winform支持多国语言保持一致,相对较容易实现,新增支持语言需要重新编译程序,所有的.resx文件必须放在同一个主程序集中...添加字符串资源 在资源文件Resources.resx添加字符串资源,并将访问修饰符设置为Public。 image.png 2....新增语言资源文件 以新增简体中文为例,复制资源文件Resources.resx,重命名为Resources.zh-CN.resx,将值翻译为中文保存。 image.png 4....使用DynamicResource 具体实现方法和本文使用资源字典文件步骤基本一致,只需将UI相关的.xaml文件引用资源字典文件键值的StaticicResource改为DynamicResource

    1.8K20

    在VisualStudio中提供运行时和设计时支持的WPF本地化解决方案

    因此,我们需要做的就是替换(刷新)ObjectDataProvider对象实例,并且ODP属性上的任何绑定都将自动更新。 这就是这个多语言支持解决方案的改进之处。...如果有绑定错误,那么绑定的路径集不匹配任何RESX文件的任何字符串,而且它甚至不能像以前那样返回默认的RESX值。 添加更多区域设置 ?...向项目中添加另一种区域设置的简单方法是复制和粘贴默认资源文件。在Visual Studio创建一个新文件resx文件。...在资源文件扩展名添加区域性代码,如在Resources.Fr-fr.resx,在编译应用程序时,Visual Studio将使用它创建本地化的DLL。...现在您已经有了一个新的RESX文件,您可以更改区域资源文件的资源值,这样新的区域(Resources.Fr-fr.resx)设置就添加完成了。 列举可用语言文化区域设置 ?

    1.9K20

    WPF中使用资源

    这节讲一下如何在WPF中使用资源。...在WPF,除了常用的根据路径引用资源文件,还为我们提供了管理资源数据的“对象级”资源,以及Resources.resx文件,前者通过一个类型为ResouceDictionary的键值对对象来管理页面定义的资源...除了在Xaml中使用资源,我们也可以在代码通过Resoure对象获取,请看如下代码: 从后台代码,我们可以使用FindResource方法访问Resources对象通过索引器的方式获取,...03.Resources.resx文件 在项目的Properties下展开可以找到这个文件: 双击打开后,是个列表,我们可以看到是个表格界面: 左上角可以指定资源是string...在代码获取该资源如下: 在Xaml获取该资源如下: 在.NET 5版本,默认去掉了Properties这个文件夹,但如果需要的话我们依然可以通过手动为项目添加Resources.resx

    59910

    本地化入门

    使用Resx资源文件 3.1 基本原理 比起资源词典,我更喜欢使用Resx资源文件,不过这种方式语法复杂一些,而且也有不少小问题。...在VisualStudio创建后缀名为resx的资源文件并打开,可在以下UI编辑资源文件的值(将访问修饰符改为public用起来方便些): ?...> 在资源文件的方案,需要在ApplicationResources添加一个属性: private string _language; /// /// 获取设置 Language...Demo只有一个名字Labels的资源文件,实际项目中可以按功能模块分别建立对应的资源文件,解决了资源词典重名、互相覆盖、智能感知列表过长等问题。...结语 这篇文章只介绍了本地化的入门知识,其它还有很多本地化的要点,验证信息的本地化没有涉及。

    2.5K20

    vs2015编写c#项目下各文件解析 vs项目结构解析vs项目结构解析

    Form1.resx: (窗体资源文件)你在设计窗体时所嵌入的资源, 用来存放你的窗体资源的,比如你自定义了你的窗体的图标,这个图标就会出现在Form.resx里面。...在.NET,编译是分模块进行的,每个模块的编译结果都保存在了Obj 目录下。最后会合并为一个.exe 或者 .dll 文件保存到 bin 之中。....vshost.exe文件: 宿主进程文件(VS host process),是Visual Studio 2005的一项功能,主要是为了提高调试性能。 release时最好删除。...5、Properties文件夹下Assemblyinfo.cs  Resources.resx  Resources.Designer.cs  Settings.settings  Settings.Designer.cs...Resources.resx  Resources.Designer.cs  Settings.settings  Settings.Designer.cs   不是每个c#项目都有的...只有VS的WinForm

    2.9K52

    深入浅出话资源

    常见的应用程序资源有图标、图片、文本、音频、视频等,各种编程语言的编译器或者资源编译器都有能力把这些文件编译进目标文件(最终的.exe文件或者.dll文件)。...下面让我们看看如何向WPF程序添加二进制资源并使用它们。 如果要添加的资源是字符串而非文件,我们可以使用应用程序名称空间下的Resources.resx资源文件。...打开资源文件的方法是项目管理器展开Properties文件夹,并双击下面的Resources.resx资源文件。如下图所示: ? ?...Resources.resx文件内容的组织形式也是“键-值”对,编译后,Resources.resx会形成Properties名称空间中的Resource类,使用这个类的方法属性就能获取资源。...方法就不是使用Resources.resx了,WPF不支持这么做。在WPF使用外部文件作为资源,仅需要将其简单的放入项目即可。

    1.8K20

    (翻译)LearnVSXNow!-#7 创建我们第一个工具集-完成这个示例

    另外,由于这些资源标识是由VS IDE来处理的,所以这个图片必须放在VSPackage.resx文件。...,这些资源最好放在Resource.resx文件,因为Visual Studio已经自动地帮我们创建了一个Resources类了,并且以静态属性的方式来表示放在该文件的资源。...在Resources.resx文件,添加如下的字符串资源,我们在后面会用到它们: 资源名 资源值 ToolWindowTitle Calculate Tool Windows CanNotCreateWindow...但是在这里我用了和VSPackage向导一样的方式:通过在Resources.resx文件中指定的值来给Caption赋值。...第一个必须是一个整型的ID,这个ID值就是我们在VSPackage.resx文件添加的图片资源的ID。

    52130

    ASP.NET Core的路由:内联路由约束的检验

    举个简单的例子,如果我们需要对资源提供针对多语言的支持,最好的方式是在请求的URL中提供目标资源所针对的Culture。...我们利用资源文件来作为文本资源的存储,如下图所示,我们在一个ASP.NET Core应用创建了两个资源文件Resources.resx(语言文化中性)和Resources.zh.resx(中文),并定义了一个名为...我们从解析出来的路由参数获取目标资源条目的名称,然后利用资源文件自动生成的Resoruces类型获取对应的资源内容并响应给客户端。...就我们这实例提供的两个资源文件Resources.resxResources.zh.resx)来说,如果当前线程的UICulture属性代表的是一个针对“zh”的语言文化,资源文件Resources.zh.resx...对于其他语言文件,则被选择的就是这个Resources.resx文件

    1.3K60

    【C#】注意用“划算”的方式使用图标

    即同一个图标要用在程序本身和程序的各个窗体之上。那么所谓“划算”就是指,在程序文件exe只存储1份图标数据,所有要用到该图标的地方都从这里取。...VS会自动把ico文件拷贝到项目根目录 2、把ico文件存放到项目根目录任意子目录(该目录必须“包括在项目中”),然后就可以在这里下拉选取。...如上图的Resources\test.ico和test.ico就是这种情况 无论用何种方式选取,项目编译成PE文件后,这个图标都是存放在PE文件的资源节,可以用eXeScope之类的工具看出。...2、把图标添加进项目资源(Resources.resx。...PE资源,所以在整个PE文件还是存在2份图标数据。

    84530

    CA1824:用 NeutralResourcesLanguageAttribute 标记程序集

    值 规则 ID CA1824 类别 “性能” 修复是中断修复还是非中断修复 非中断 原因 程序集包含基于 ResX 的资源,但没有向其应用 System.Resources.NeutralResourcesLanguageAttribute...如果默认区域性的资源嵌入在应用的主程序集中,并且 ResourceManager 必须检索与默认区域性属于与同一区域性的资源,则 ResourceManager 会自动使用位于主程序集内的资源,而不是搜索附属程序集...指定资源的非特定语言 在“解决方案资源管理器”,右键单击项目,然后选择“属性” 。 选择“包”选项卡。...若要禁止显示此警告,请向 .globalconfig .editorconfig 文件添加 dotnet_diagnostic.CA1824.severity = none 。...请参阅 NeutralResourcesLanguageAttribute .NET 应用的资源

    47200

    造轮子之多语言管理

    多语言也是我们经常能用到的东西,asp.net core默认支持了多语言,可以使用.resx资源文件来管理多语言配置。 但是在修改资源文件后,我们的应用服务无法及时更新,属实麻烦一些。...我们可以通过扩展IStringLocalizer,实现我们想要的多语言配置方式,比如Json配置,PO 文件配置,EF数据库配置等等。...这里我们选用数据库配置的方式,直接查询数据库的多语言配置进行转换。 创建表实体 多语言管理只需要两个表结构,一个是多语言国家表,一个是多语言资源表。两者是一对多关系。...启用多语言 再Program添加多语言代码: builder.Services.AddLocalization(options => options.ResourcesPath = "Resources...可以看到成功获取英文和中文的多语言列表。 就这样我们完成多语言管理的实现。

    25560

    C#项目里每个文件的含义你都知道吗?

    其中都有debug和release两个子目录,分别对应调试版本和发行版本,在.NET,编译是分模块进行的,编译整个完成后会合并为一个.DLL.EXE保存到bin目录下。...Properties文件夹 定义你程序集的属性 项目属性文件夹 一般只有一个 AssemblyInfo.cs 类文件,用于保存程序集的信息,名称,版本等,这些信息一般与项目属性面板的数据对应,不需要手动编写....cs 类文件。源代码都写在这里,主要就看这里的代码。   .resx 资源文件,一些资源存放在这里,一般不需要看。   ...它将一个多个项目的所有元素组织到单个的解决方案。...此文件存储在父项目目录.解决方案文件,他是一个多个.proj(项目)的集合   *.sln:(Visual Studio.Solution) 通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用

    43820

    删删删!快速将旧版 .NET Framework 的 WPF Windows Forms 项目格式(csproj) 迁移成新版 SDK 风格的项目格式

    额外的,根据你项目的实际情况稍作调整: 如果期望其他的 .NET Framework 版本,则把 net48 改为其他版本( net45、net462 等) 如果期望同时拥有 .NET 6 和 .NET...Framework 版本,则把 TargetFramework 变复数,然后在里面加多个框架( net6.0-windows;net48</TargetFrameworks...第二步:删除不再需要的文件 如果你不知道不记得曾改过以下这几个文件,那么就应该全删掉。(这些文件是自动生成的,换言之,如果你明确知道这几个文件你正在用,那么就不要删。)...Properties\Resources.resx Properties\Resources.Designer.resx Properties\Settings.resx Properties\Settings.Designer.resx...主题特定资源词典所处位置 //(未在页面中找到资源时使用, //应用程序资源字典中找到时使用

    42110

    .NET Core多语言支持

    在.NET Core项目中也是可以使用.resx资源文件,来为程序提供多语言支持。以下我们就以一个.NET Core控制台项目为例,来讲解资源文件的使用。...新建一个.NET Core控制台项目,然后我们在其中新建一个.resx资源文件叫DemoResource.resx 注意.resx资源文件默认是Internal访问级别的,这会导致其它程序集无法访问资源文件类...,所以我们最好将其改为Public访问级别 然后我们在资源文件DemoResource.resx定义一个字符串叫"Message",值为"Hello",如下所示: 由于资源文件是支持多语言的,其文件名命名格式如下...所以现在我们就为资源文件DemoResource.resx再创造两种语言: DemoResource.zh-CN.resx,简体中文资源文件: DemoResource.ja-JP.resx,日语资源文件...有谁来对上联下联?

    1.3K20
    领券