在Windows Phone 8上更改Map控件上的语言

时间:2013-05-09 06:36:17

标签: map windows-phone-8 here-api

当我将手机语言更改为任何语言(例如法语)时,地图中的标签会更改为法语。

是否可以在Map Control中强制使用某种语言?我试图使用地图的“语言”属性并将其更改为“fr”& “FR-FR”。它没有用。

3 个答案:

答案 0 :(得分:3)

实际上它非常简单

如果你想改变全球语言:

private void Application_Launching(object sender, LaunchingEventArgs e)
        {                      
           Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-FR");
           Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");          
        }

private void Application_Activated(object sender, ActivatedEventArgs e)
        {                     
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-FR");
            Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");          
        }

如果你想获得单一资源:

CultureInfo c = new System.Globalization.CultureInfo("fr-FR");
var m = AppResources.ResourceManager.GetString(AppResources.MapControlTitle,c));

其中AppResourse是您的资源(resx)文件,AppResources.MapControlTitle是想要获得的标签。

快乐编码(:

编辑

你可以试试这个:

  

Thread.CurrentThread.CurrentUICulture = new   System.Globalization.CultureInfo( “FR-FR”);               YourMapControl.Language = System.Windows.Markup.XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);

答案 1 :(得分:1)

您可以尝试使用当前的线程文化。

尝试重新初始化文化

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-CH"); // For French Language ( or "fr-FR" )

在地图控件初始化之前。

理论上,线索将与法国文化一起重新初始化。 ^^

答案 2 :(得分:1)

可能不是您希望的答案,但地图控制将始终尊重操作系统的区域设置。