fluent.js
    Preparing search index...

    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

      • requestedLocales: readonly string[]
      • availableLocales: readonly string[]
      • Optionaloptions: { defaultLocale?: string; strategy?: "lookup" | "filtering" | "matching" }

      Returns string[]