.NET Globalization & Satellite DLL

bool is_power_of_2(int i) {
    if ( i <= 0 ) {
        return 0;
    }
    return ! (i & (i-1));
}
6
задан John Saunders 16 February 2010 в 09:18
поделиться

4 ответа

Нашел еще более простое решение - в app.config:

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

Затем вы можете просто выбросить все эти каталоги в подкаталог «Lang», и он будет работать прямо из коробки! Событие после сборки также удобно для автоматического копирования их туда после компиляции :)

11
ответ дан 8 December 2019 в 18:37
поделиться

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.

1
ответ дан 8 December 2019 в 18:37
поделиться

Добавьте все ваши файлы ресурсов (т.е. *.resx) в папку /Resource и создайте объект ResourceManager следующим образом

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

Скажем, для lang de-DE ваш resx файл будет назван MyResource.de-DE.resx

0
ответ дан 8 December 2019 в 18:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: