Локализация не работает в моем приложении 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"
тогда ничего не будет показано в вашем текущем проекте из-за того, что я объяснил выше.