Lizerium.Localization.Toolkit

Lizerium.Localization.Generator

Incremental source generator для строго типизированного доступа к .resx ключам.

Как работает

Генератор читает .resx файлы из AdditionalFiles:

<AdditionalFiles Include="Resources\Localization\*.resx" />

Ключи вида:

MainWindow_Title
Settings_Log_FileCreated_Format

становятся API:

Localization.MainWindow.Title()
Localization.Settings.Log.FileCreated(arg0)

Placeholders

Если ключ заканчивается на _Format, generator ожидает placeholders:

<data name="MainWindow_Message_Format" xml:space="preserve">
  <value>Current folder: {0}</value>
</data>

В коде:

var text = L.MainWindow.Message(AppContext.BaseDirectory);

Диагностика