Я пытаюсь использовать .resx файлы для локализации в xamarin.macлокализация Xamarin.mac ресурсов не изменяется текущей культуры
Внутри AppDelegate я изменил текущую культуру резьбы:
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo ("ru");
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo ("ru");
также у меня есть два файла ресурсов внутри моего приложения:
Но строки всегда отображаются из файла ресурсов по умолчанию. .. Любое решение?
Я также использовать родной язык изменения, здесь весь AppDelegate конструктор:
public AppDelegate()
{
string [] lang = { "ru", "en" };
NSUserDefaults.StandardUserDefaults.SetValueForKey (NSArray.FromObjects (lang), (Foundation.NSString)"AppleLanguages");
NSUserDefaults.StandardUserDefaults.Synchronize();
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo ("ru");
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo ("ru");
Resources.Culture = GetCurrentCultureInfo();
}
BTW, Xamarin студия 6.1.1 (сборка 15) не позволяет мне добавить resource.ru.resx, если у меня есть resource.ru в моем проекте, любопытная ошибка!
Я создал файл resource-ru.resx и переименовал его.
спасибо за ответ @Gusman .. но это не работает для меня :(вот еще одна задача, я также использовать родной язык изменения: строка [] = {Ланг "RU", "EN"}; \t \t \t NSUserDefaults.StandardUserDefaults.SetValueForKey (NSArray.FromObjects (Lang), (Foundation.NSString) «AppleLanguages»); \t \t \t NSUserDefaults.StandardUserDefaults.Synchronize(); После этого я установил код, который вы написали: Resources.Culture = GetCurrentCultureInfo(); – Nininea
вот что-то не получается получить resources.ru.resx файл :( – Nininea