mapLanguage static method

String? mapLanguage(
  1. ByteArkPlayerLanguage? language,
  2. List<String> preferredLanguages
)

Returns the SDK language code for language, or null when unset so the SDK default applies. preferredLanguages is the browser's navigator.languages (BCP 47 tags such as th-TH), consulted only for ByteArkPlayerLanguage.system.

Implementation

static String? mapLanguage(
  ByteArkPlayerLanguage? language,
  List<String> preferredLanguages,
) {
  switch (language) {
    case null:
      return null;
    case ByteArkPlayerLanguage.english:
      return _english;
    case ByteArkPlayerLanguage.thai:
      return _thai;
    case ByteArkPlayerLanguage.system:
      for (final tag in preferredLanguages) {
        final base = tag.split(RegExp('[-_]')).first.toLowerCase();
        if (_supported.contains(base)) return base;
      }
      return _english;
  }
}