.NET Globalization & Satellite DLL's

情到浓时终转凉″ 提交于 2019-12-03 07:42:23

Found an even easier solution - in app.config:

<configuration>
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <probing privatePath=".;Lang" />
  </assemblyBinding>
</runtime>
</configuration>

Then you can just toss all those dirs in the "Lang" subdir and it'll work right out of the box! A post-build event is also handy to auto-copy them in there after compilation :)

IMHO, I wouldn't change anything here. There is a standard mechanism for localization in .NET, which is based on satellite dlls and these subdirectories. If you use a tool for localization, eg. Passolo, it will also support exactly this structure and nothing else.

There will be a lot of subdirectories ... so what? Everything else will be quite complicated.

Add all your resource files (i.e. *.resx) to /Resource folder and create the object of ResourceManager as below

System.Resources.ResourceManager rm = new System.Resources.ResourceManager("ApplicationName.Resources.MyResource", Assembly.GetExecutingAssembly());

Here say for lang de-DE your resx file will be named as MyResource.de-DE.resx

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!