Я пытаюсь использовать подход Joehl, но это не сработало для меня. Я использовал этот подход
string cultureName = "es-US";
var locale = new Java.Util.Locale(cultureName);
Java.Util.Locale.Default = locale;
var config = new Android.Content.Res.Configuration { Locale = locale };
BaseContext.Resources.UpdateConfiguration(config, BaseContext.Resources.DisplayMetrics);
Также создал базовую активность
Найти ответ здесь:
изменение cultinfo на android с использованием xamarin и c #
Вы должны будете иметь 32-разрядный dll, загруженный в отдельный 32-разрядный процесс, и иметь Ваш процесс на 64 бита, связываются с ним через межпроцессное взаимодействие. Я не думаю, что существует любой способ, которым 32-разрядный dll может быть загружен в процесс на 64 бита иначе.
здесь существует довольно хорошая статья:
Необходимо записать исполняемые процессы как 32-разрядные процессы (по сравнению с Любым ЦП или x64) так, чтобы они были загружены WoW32 для Vista. Это загрузит их в 32-разрядном режиме эмуляции, и у Вас не будет проблемы точки входа. Можно оставить Вас библиотеками в режиме AnyCPU, но Ваши исполняемые файлы должны быть скомпилированы как x86.