首页
学习
活动
专区
工具
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中嵌入多语言资源文件,并在程序中动态切换语言。

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

相关·内容

.NET 项目如何管理资源及配置文件

3 注意点 路径中不能有 # 嵌入的资源(Embedded Resource) 不推荐,有更好的方法,如后面的 Resources.resx 将会被嵌入到程序集文件中,可以通过 GetManifestResourceStream...Resources.resx 添加方式:添加新建项 - 资源文件(C#) Resources 中的内容,都是只读的,而且处理字符串,可以添加图片,音视频等多媒体文件。...最终会变成嵌入资源,打包到输出的 DLL 中。 嵌入的文件,文本文件会变成 string,直接拿到,二进制文件就是 byte[]。 // 也可以直接通过 Properties 命名空间访问。...Resources.resx Resources.zh-CN.resx 然后在代码中,如果如下方式切换语言项。...注意,多语言使用时,多个 Resources 文件,只能有一个 Designer.cs 文件,类似下面这样,可以直接在资源管理器中,通过复制 Resources.resx 文件的方式,重命名得到 Resources.zh-CN.resx

13710

本地化入门

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

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

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

    45510

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

    将语言资源文件输出存储为 .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)设置就添加完成了。 列举可用语言文化区域设置 ?

    2K20

    Avalonia 国际化之路:Resx 资源文件的深度应用与探索

    Avalonia UI 以其灵活的架构和丰富的功能,在跨平台应用开发中崭露头角。而 Resx 资源文件,作为一种久经考验的本地化资源管理方式,在 Avalonia UI 中也找到了新的用武之地。...详细使用步骤:构建多语言应用的基石 2.1. Resx 资源文件的精心布局 2.1.1....----------------------------------------------------------- <# const string ResourceFileName = "Resources.resx...它充分利用了已有的开发经验和工具生态,如 ResXManager 和 T4 文件技术,使得国际化的开发过程能够高效地融入到现有的项目流程中。然而,这种方式也并非完美无缺。...这就要求在项目的设计和实施过程中,开发者需要充分考虑到后续的维护成本,可能需要为普通用户提供一些简单易用的界面或工具来辅助他们进行国际化资源的更新和管理。

    7510

    Avalonia 国际化之路:Resx 资源文件的深度应用与探索

    Avalonia UI 以其灵活的架构和丰富的功能,在跨平台应用开发中崭露头角。而 Resx 资源文件,作为一种久经考验的本地化资源管理方式,在 Avalonia UI 中也找到了新的用武之地。...详细使用步骤:构建多语言应用的基石 2.1. Resx 资源文件的精心布局 2.1.1....----------------------------------------------------------- <# const string ResourceFileName = "Resources.resx...它充分利用了已有的开发经验和工具生态,如 ResXManager 和 T4 文件技术,使得国际化的开发过程能够高效地融入到现有的项目流程中。然而,这种方式也并非完美无缺。...这就要求在项目的设计和实施过程中,开发者需要充分考虑到后续的维护成本,可能需要为普通用户提供一些简单易用的界面或工具来辅助他们进行国际化资源的更新和管理。

    9310

    MVP 聚技站|Avalonia 国际化之路:Resx 资源文件的深度应用与探索

    Avalonia UI 以其灵活的架构和丰富的功能,在跨平台应用开发中崭露头角。而 Resx 资源文件,作为一种久经考验的本地化资源管理方式,在 Avalonia UI 中也找到了新的用武之地。...itemName=TomEnglert.ResXManager 详细使用步骤:构建多语言应用的基石 Resx 资源文件的精心布局 项目目录规划与基础资源文件创建 开启您的 Avalonia UI 项目之旅...----------------------------------------------------------- <# const string ResourceFileName = "Resources.resx...它充分利用了已有的开发经验和工具生态,如 ResXManager 和 T4 文件技术,使得国际化的开发过程能够高效地融入到现有的项目流程中。然而,这种方式也并非完美无缺。...这就要求在项目的设计和实施过程中,开发者需要充分考虑到后续的维护成本,可能需要为普通用户提供一些简单易用的界面或工具来辅助他们进行国际化资源的更新和管理。

    4600

    WPF中使用资源

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

    62310

    本地化入门

    使用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

    3K52

    深入浅出话资源

    常见的应用程序资源有图标、图片、文本、音频、视频等,各种编程语言的编译器或者资源编译器都有能力把这些文件编译进目标文件(最终的.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。

    53130

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

    举个简单的例子,如果我们需要对资源提供针对多语言的支持,最好的方式是在请求的URL中提供目标资源所针对的Culture。...我们利用资源文件来作为文本资源的存储,如下图所示,我们在一个ASP.NET Core应用中创建了两个资源文件Resources.resx(语言文化中性)和Resources.zh.resx(中文),并定义了一个名为...我们从解析出来的路由参数中获取目标资源条目的名称,然后利用资源文件自动生成的Resoruces类型获取对应的资源内容并响应给客户端。...就我们这实例提供的两个资源文件(Resources.resx和Resources.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份图标数据。

    85730

    CA1824:用 NeutralResourcesLanguageAttribute 标记程序集

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

    49900

    造轮子之多语言管理

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

    27760
    领券