Как я могу локализовать ресурс в WPF?

Я узнаю, как локализовать проект и использовать книгу в качестве учебника. Я добавил UICulture в файлы .csproj и сборки:

[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]

Но теперь в книге говорится обновить элементы с помощью UID, и я не знаю, где это сделать.

Я должен вызывать msbuild (не уверенную форму где) и должен использовать

msbuild/t:updateuid ProjectName.csproj.

Как мне это сделать?

1 ответ

Если я могу предложить альтернативный подход. Мне никогда не нравился "дефолтный" подход Microsoft к локализации в WPF, поэтому еще в 2008 году я начал искать альтернативы. В итоге я решил решить проблему, описанную в статье "Простая локализация WPF" в CodeProject. Это расширение разметки XAML, а также позволяет вам менять языки на лету и т.д. Очень прост в использовании.

У автора теперь более развитая "расширенная" версия: расширенная локализация WPF, которая позволяет локализовать изображения, кисти, поля и т.д. (Все это в верхней части статьи).

Есть еще несколько таких "библиотек" (некоторые из них также относятся к CodeProject), но я использую эту программу в течение 3,5 лет без каких-либо проблем. Возможно, стоит посмотреть, подходит ли подход к тому, что вы делаете.

licensed under cc by-sa 3.0 with attribution.