radioman / greatmaps

GMap.NET - Great Maps for Windows Forms & Presentation
909 stars 409 forks source link

gmap.net set map name language invalid? #192

Open guhuan769 opened 1 year ago

guhuan769 commented 1 year ago

I set the attribute language to Chinese in the mapprovider and it doesn't take effect? Is there any solution?

JManikiza commented 8 months ago

Did you have any success with finding a solution? I'm in the same problem

JManikiza commented 8 months ago

I was able to do it like this, you may have solved it already but for anyone else:

        var currentCulture = System.Globalization.CultureInfo.CurrentCulture;
        LanguageType languageType;

        switch (currentCulture.TwoLetterISOLanguageName.ToLower())
        {
            case "en":
                languageType = LanguageType.Japanese;
                break;
            case "es":
                languageType = LanguageType.Spanish;
                break;
            case "it":
                languageType = LanguageType.Italian;
                break;
            case "fr":
                languageType = LanguageType.French;
                break;
            case "zh":
                languageType = LanguageType.ChineseSimplified;
                break;
            case "ja":
                languageType = LanguageType.Japanese;
                break;
            case "vi":
                languageType = LanguageType.Vietnamese;
                break;
            case "ar":
                languageType = LanguageType.Arabic;
                break;
            default:
                languageType = LanguageType.English; // Default to English if the language is not recognized
                break;
        }

        GMapProvider.Language = languageType;

And you have to set the language before most other map settings otherwise it won't work, even with a ReloadMap()

guhuan769 commented 8 months ago

I was able to do it like this, you may have solved it already but for anyone else:

        var currentCulture = System.Globalization.CultureInfo.CurrentCulture;
        LanguageType languageType;

        switch (currentCulture.TwoLetterISOLanguageName.ToLower())
        {
            case "en":
                languageType = LanguageType.Japanese;
                break;
            case "es":
                languageType = LanguageType.Spanish;
                break;
            case "it":
                languageType = LanguageType.Italian;
                break;
            case "fr":
                languageType = LanguageType.French;
                break;
            case "zh":
                languageType = LanguageType.ChineseSimplified;
                break;
            case "ja":
                languageType = LanguageType.Japanese;
                break;
            case "vi":
                languageType = LanguageType.Vietnamese;
                break;
            case "ar":
                languageType = LanguageType.Arabic;
                break;
            default:
                languageType = LanguageType.English; // Default to English if the language is not recognized
                break;
        }

        GMapProvider.Language = languageType;

And you have to set the language before most other map settings otherwise it won't work, even with a ReloadMap()

Thank you