Локализация не работает в моем приложении UWP

У меня есть приложение UWP в Магазине Windows. Я установил несколько языков, используя многоязычный инструментарий приложения. Но каким-то образом локализация просто не работает. Я пробовал несколько раз, устанавливая язык отображения на один из поддерживаемых языков, но он просто не работает.

Я также создал пример проекта, чтобы любой мог мне помочь. Вот ссылка - https://1drv.ms/u/s!Ar2Oon4jkTNAqdkRe4R6gpr6DOXRDw

1 ответ

Если вы используете "новую" систему локализации на основе x:Uid представленные в приложениях для Windows 8.1, ознакомьтесь со следующим учебным пособием, в котором подробно представлен пример: https://www.codeproject.com/Articles/862152/Localization-in-Windows-Universal-Apps

Ваша ошибка в основном это имя в файле resw. У тебя есть TextBlock в вашем проекте вот так:

<TextBlock x:Uid="Hi" />

Тогда в вашем resw-файле ваша переведенная строка должна иметь:

  • Имя Hi.Text (потому что вы хотите локализовать TextProperty блока)
  • Значение, которое вы хотите показать (например, Hi на английском языке, Hallo на немецком языке и т. Д.)

Эта система позволяет вам изменять свой пользовательский интерфейс на основе языка, например, вы можете добавить в немецкий файл resw только вторую строку с именем Hi.Foreground и значение Green и строка будут зелеными, но только на немецком языке.

В вашем проекте он всегда показывает Hi, потому что у вас есть статическое значение:

<TextBlock x:Uid="Hi" Text="Hi"></TextBlock>

Если вы удалите Text="Hi" тогда ничего не будет показано в вашем текущем проекте из-за того, что я объяснил выше.

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