Function negotiateLanguages

  • Negotiates the languages between the list of requested locales against a list of available locales.

    It accepts three arguments:

    requestedLocales: an Array of strings with BCP47 locale IDs sorted according to user preferences.

    availableLocales: an Array of strings with BCP47 locale IDs of locale for which resources are available. Unsorted.

    options: An object with the following, optional keys:

      strategy: 'filtering' (default) | 'matching' | 'lookup'

    defaultLocale:
    a string with BCP47 locale ID to be used
    as a last resort locale.

    It returns an Array of strings with BCP47 locale IDs sorted according to the user preferences.

    The exact list will be selected differently depending on the strategy:

    'filtering': (default) In the filtering strategy, the algorithm will attempt to match as many keys in the available locales in order of the requested locales.

    'matching': In the matching strategy, the algorithm will attempt to find the best possible match for each element of the requestedLocales list.

    'lookup': In the lookup strategy, the algorithm will attempt to find a single best available locale based on the requested locales list.

    This strategy requires defaultLocale option to be set.
    

    Parameters

    Returns string[]