Локализация для мобильной кроссплатформенности с использованием xamarin и проблема только с iOS

У меня есть проект в Xamarin, который нацелен на Android, iOS и Windows Phone. Я использовал ядро ​​(библиотека PCL) для обмена общим кодом между различными платформами. Я добавил Resource files (.net resource) .Resx в основную библиотеку и для чтения строки, специфичной для данной культуры, я использовал следующий фрагмент кода в одной из моих ViewModel:

public string GetString() 
{  
    // CommonResources is the name of my resource file   
    ResourceManager resManager = new ResourceManager(typeof(CommonResources));   
    return resManager.GetString("LoginLabel",CultureInfo.CurrentCulture); 
}

«LoginLabel» - это мой ресурсный ключ, значение которого - «Войти» (на английском) и «inloggen» на голландском.

Я создал два файла ресурсов CommonResources для английского и голландского в моем проекте PCL.CommonResources.resx
CommonResources.nl-NL.resx

В Android, iOS и Windows Phone я установил следующую культуру:

Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("nl-NL");
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("nl-NL");

Это прекрасно работает для Android и Windows Phone.

Но дляIOS это не работает. Он всегда возвращает строку ресурса из английского файла. Культура настроена правильно и отображается в режиме отладки. но почему-то он не может загрузить строку ресурса из голландского ресурса.

Таким образом, вопрос в том, можно ли локализовать строку (.Net способом), используя PCL для всех платформ? У кого-нибудь есть идеи? Заранее спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос