nl_tokens: Returns an intersection of locales and service supported locales . Parameter locales is treated as a priority list .
pl_tokens: function supportedLocalesOf ( service , locales , options ) { if ( IS_NULL ( InternalRegExpMatch ( GetServiceRE ( ) , service ) ) ) { throw MakeError ( kWrongServiceType , service ) ; } // Provide defaults if matcher was not specified. if ( IS_UNDEFINED ( options ) ) { options = { } ; } else { options = TO_OBJECT ( options ) ; } var matcher = options . localeMatcher ; if ( ! IS_UNDEFINED ( matcher ) ) { matcher = TO_STRING ( matcher ) ; if ( matcher !== 'lookup' && matcher !== 'best fit' ) { throw MakeRangeError ( kLocaleMatcher , matcher ) ; } } else { matcher = 'best fit' ; } var requestedLocales = initializeLocaleList ( locales ) ; // Cache these, they don't ever change per service. if ( IS_UNDEFINED ( AVAILABLE_LOCALES [ <mask> ] ) ) { AVAILABLE_LOCALES [ service ] = getAvailableLocalesOf ( service ) ; } // Use either best fit or lookup algorithm to match locales. if ( matcher === 'best fit' ) { return initializeLocaleList ( bestFitSupportedLocalesOf ( requestedLocales , AVAILABLE_LOCALES [ service ] ) ) ; } return initializeLocaleList ( lookupSupportedLocalesOf ( requestedLocales , AVAILABLE_LOCALES [ service ] ) ) ; }