Base solution for your next web application
Open Closed

Order of languages #4836


User avatar
0
vladsd created

How do I change the order of languages in abp.localization.languages

I would like English to be a first choice, no offence to anyone language:)

Thanks.

Markdown is supported
Copy & paste or drag & drop images (max 30 MB per image)

5 Answer(s)
  • User Avatar
    0
    ismcagdas created
    Support Team

    @vladsd, I think easiest way is to do it on the client side if you only want to change order for abp.localization.languages. You can do it after the ajax request is finished.

    Markdown is supported
    Copy & paste or drag & drop images (max 30 MB per image)
  • User Avatar
    0
    vladsd created

    @ismcagdas - i cannot find where those languages are loaded, or you suggest to do it at the app startup?

    thanks.

    Markdown is supported
    Copy & paste or drag & drop images (max 30 MB per image)
  • User Avatar
    0
    ismcagdas created
    Support Team

    If you are using angular version, then you can do it here <a class="postlink" href="https://github.com/aspnetzero/aspnet-zero-core/blob/94e8ec44a49a22ecb8a09d65954c1d193ad532c6/angular/src/AppPreBootstrap.ts#L139">https://github.com/aspnetzero/aspnet-ze ... ap.ts#L139</a>.

    Request to "AbpUserConfiguration/GetAll" returns related scripts.

    Markdown is supported
    Copy & paste or drag & drop images (max 30 MB per image)
  • User Avatar
    0
    vladsd created

    Here you go, solution, not pretty but works:)

    // reorg languages with english first
                var langs = abp.localization.languages;
                var languages = [];
                for (var i = 0; i < langs.length; i++) {
                    var info = langs[i];
                    if (info.name == 'en') languages.push(info);
                }
                for (var i = 0; i < langs.length; i++) {
                    var info = langs[i];
                    if (info.name != 'en') languages.push(info);
                }
                abp.localization.languages = languages;
    
    Markdown is supported
    Copy & paste or drag & drop images (max 30 MB per image)
  • User Avatar
    0
    aaron created
    Support Team

    How about:

    abp.localization.languages.sort(function (info1, info2) {
        return info1.name == 'en' ? -1 : info2.name == 'en' ? 1 : 0;
    });
    
    Markdown is supported
    Copy & paste or drag & drop images (max 30 MB per image)