Можно ли локализовать строку внутри файла cs в проекте WPF, используя метод LocBalm?
В нашем проекте плагина WPF мы используем инструмент LocBaml для локализации пользовательского интерфейса. Но теперь необходимо локализовать строку внутри файла cs:
ToolInfo.MenuCaption = "&Toggle console";
Я нашел несколько тем о локализации:
Локализация WPF - выбор языка на лету
WPF Application Framework (WAF)
Похоже, что для использования этих сторонних инструментов необходимо удалить реализацию 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.