Вы должны установить текущую культуру в своем приложении. Локализация работает очень хорошо. Вот как я это сделал:
public void SetLocale(CultureInfo ci)
{
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
}
И здесь вы получаете культуру от устройства:
public CultureInfo GetCurrentCultureInfo()
{
var netLanguage = "en";
if (NSLocale.PreferredLanguages.Length > 0)
{
var pref = NSLocale.PreferredLanguages[0];
netLanguage = iOSToDotnetLanguage(pref);
}
// this gets called a lot - try/catch can be expensive so consider caching or something
CultureInfo ci = null;
try
{
ci = new CultureInfo(netLanguage);
}
catch (CultureNotFoundException e1)
{
}
}
private string iOSToDotnetLanguage(string iOSLanguage)
{
// Testing special cases..
}
Если вы используете проект PCL, используйте абстракцию. Использовать интерфейс в PCL и его реализацию в собственном проекте.
Вы можете увидеть больше здесь: https://docs.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals / локализации
Открытый исходный код: сфинкс CMU
условно-бесплатное программное обеспечение: http://www.e-speaking.com/ (Windows)
Commercial: дракон NaturallySpeaking (Windows)
дракон NaturallySpeaking , кажется, поддерживает вход MP3.
, Если Вы хотите версия с открытым исходным кодом (я думаю, существуют некоторые проекты интеграции Звездочки на основе этого).