Файлы ресурсов (resx) всегда возвращают строки engli sh (по умолчанию) - PullRequest
1 голос
/ 27 мая 2020

У меня проблемы с использованием файлов .resx. Все было создано с использованием расширения windows MAT toolkit (проблема возникла независимо от этого).

У меня два языка (en и es). Когда я создаю новый проект и использую приведенный ниже код, он работает:

System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("es");
string temp = MultilingualResources.strings.Hello;

Строка возвращается как «Hallo», поэтому перевод работает. Но когда я делаю это в GoDot (c#) внутри визуального кода, строка всегда возвращается в формате engli sh, независимо от того, какую культуру или UIculture я указываю, но код точно такой же. Я пробовал с менеджером ресурсов, и результат такой же. Таким образом, в основном он получает значения strings.resx, но не значения strings.es.resx. Файлы resx - это встроенные ресурсы. Есть идеи, почему это происходит и как это сделать?

Я также пробовал использовать

CultureInfo culture = CultureInfo.CreateSpecificCulture("es");
CultureInfo.DefaultThreadCurrentUICulture = culture;

1 Ответ

1 голос
/ 28 мая 2020

Проблема началась для меня после последнего обновления Visual Studio (MA C) (версия 8.6 (сборка 4520))

Посмотрите это:

https://github.com/xamarin/xamarin-android/issues/4664#issuecomment - 632986668

Этот обходной путь решил мою проблему.

Но есть новое предварительное обновление Visual Studio, которое решает проблему.

Изменить: проблема была решена в новой версии Visual Studio

...