Можно ли локализовать строку внутри файла cs в проекте WPF, используя метод LocBalm?

В нашем проекте плагина WPF мы используем инструмент LocBaml для локализации пользовательского интерфейса. Но теперь необходимо локализовать строку внутри файла cs:

ToolInfo.MenuCaption = "&Toggle console";

Я нашел несколько тем о локализации:

Локализация WPF - выбор языка на лету

WPF Application Framework (WAF)

Расширение локализации WPF

Похоже, что для использования этих сторонних инструментов необходимо удалить реализацию LocBalm и написать новую.

Можно ли остаться с инструментом LocBaml и добавить перевод только для этой строки в файле CS?

1 ответ

Решение

Если пользовательская локализация происходит только в codebehind (cs file(s)), я не вижу причин, чтобы она не работала с LocBaml.

Вы всегда можете использовать хак, чтобы использовать LocBaml и для этой локализованной строки, что-то вроде этого:

<TextBlock x:Uid="HiddenText" Name="HiddenText" Text="&Toggle console" Visibility="Collapsed" />

И в коде позади:

ToolInfo.MenuCaption = HiddenText.Text;

Это немного ужасно, но вы все равно сможете локализовать строку с помощью LocBaml таким образом.

В противном случае вам придется самостоятельно связать отдельную систему - скорее всего, со строками ресурсов и менеджером ресурсов - или попытаться заставить одну из платформ локализации работать с LocBaml.

Другие вопросы по тегам