.NET中英文切换常见错误

未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“LanguageChange.App_LocalResources.English.resources”正确嵌入或链接到程序集“LanguageChange”,或者确保所有需要的附属程序集都可加载并已进行了完全签名。

Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "LanguageChange.App_LocalResources.English.resources" was correctly embedded or linked into assembly "LanguageChange" at compile time, or that all the satellite assemblies required are loadable and fully signed.

 

以上为中英文情况下的错误提示,出现此问题原因在于程序找不到此资源文件。

在网上查询,有很多种情况会遇到此问题,这里仅记录自己遇到的问题,并提供解决方案。

资源文件在创建时,默认属性"生成操作”为内容,在此情况下,程序在编译时,不会将此资源文件编译到程序当中去,修改为” 嵌入的资源“即可。注意:创建资源文件后,需将”访问修饰符“修改为”public“,否者无法访问(如果有多种语言,只需设置其中一个语言的资源文件即可)。

具体创建中英文程序步骤(VS2013):选择本地资源文件=》右键资源文件名,添加新建项,选择资源文件(各种语言前半部分名字相同,在.后面跟对应语言特定code,查询地址:http://wenku.baidu.com/link?url=U0yQpeYVvZmfwG9cAs3huFR8pei2H6L4H86kplo0ZK0ot0GV8IP74XHwt12bKA8fMd2rgSCN8fhtmyavmJVidqn9toN1Lv8xSIslAJNujhu),举例:English.en-US.resx/ English.zh-CN.resx (.后面跟对应语言代码)

 

界面使用(引用资源文件到文件夹)

实现中英文切换:

System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = new System.Globalization.CultureInfo(对应语言代码(zh-CN/en-US));//必须有次资源文件

SelectLang为对应的语言代码(zh-CN/en-US)

还需要在Global.asax中设置默认打开时的语言:

System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = new System.Globalization.CultureInfo("en-US");

如果添加多国语言,只需加对应语言的资源文件

最后注意点:资源文件的”访问修饰符=public“,”生成操作属性=嵌入的资源“(右键资源文件,属性中查找)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值