Я использовал следующий URL-адрес для реализации локализации в своем приложении. Он использует [фреймворк MVVMCross в xamarin.
Однако приложение не работает для iOS. Я следовал точному подходу. Код отлично работает для части Android. Он может читать AppResources.en.resx в iOS, но не может читать файл AppResources.es.resx. Когда я меняю язык своего устройства на испанский, он берет строку AppResources.en.resx, а также не берет AppResources.resx (по умолчанию)! Вы можете выполнить шаги, указанные в ссылке, чтобы воспроизвести проблему.
Есть ли что-то, что я упускаю или делаю неправильно. Пожалуйста, дайте мне знать!
Добро пожаловать в СО! the application is not working for iOS
в настоящее время очень широк; может быть множество причин, почему, но как мы должны воспроизвести проблему, если в вопросе нет кода?
Я предполагаю, что вам не хватает пакета nuget в вашем проекте iOS.
@Woj Я добавил MvvmCross.plugin.Resxlocalization, как указано в ссылке.
@ Çöđěxěŕ Я отредактировал вопрос. вы можете воспроизвести проблему, перейдя по ссылке, указанной в вопросе.
@Jet Когда я меняю свой язык на испанский, он читает строку файла AppResources.en.resx на iPhone. Тот же код работает нормально для части Android.
Это произошло потому, что в info.plist был установлен английский язык. Вот почему он не мог принять другие языки. Спасибо!
Я бы рекомендовал использовать https://www.mvvmcross.com/documentation/plugins/jsonlocalisation вместо этого плагина ResxLocalization, у которого так много проблем при реализации, особенно с последней версией mvvmcross.
используйте приведенный ниже пример, чтобы понять локализацию json, реализованную здесь. https://github.com/MvvmCross/MvvmCross-Samples/tree/master/Babel
Если кому-то нужна помощь, дайте мне знать, реализовал ее для собственного проекта Android Xamarin.
С какой проблемой вы сталкиваетесь?