initialize static method

void initialize(
  1. List<String> supportedLanguageCodes, {
  2. Map<String, Map<String, String>>? additionalDictionaries,
  3. String? defaultLangCode,
  4. String? defaultFont,
  5. Map<String, String>? customFonts,
})

Initialize the translation service supportedLanguageCodes: the desired languages of the app as example ['ar', 'en_US'] 'additionalDictionaries': Supporting dictionaries for not translated words as example ['ar': {'hi_message':'أهلًا بك'}]

Implementation

static void initialize(List<String> supportedLanguageCodes,
    {Map<String, Map<String, String>>? additionalDictionaries,
    String? defaultLangCode,
    String? defaultFont,
    Map<String, String>? customFonts}) {
  if (_initialized) return;
  _initialized = true;

  languages.clear();

  for (var l in supportedLanguageCodes) {
    _addLanguageByCode(l);
  }

  if (additionalDictionaries != null) {
    for (var l in additionalDictionaries.entries) {
      var lang = getLanguage(l.key);
      if (lang != null) lang.mergeDictionary(l.value);
    }
  }

  if (defaultFont != null) {
    for (var l in languages.values) {
      l.prefferedFont = defaultFont;
    }
  }

  if (customFonts != null) {
    for (var l in customFonts.entries) {
      var lang = getLanguage(l.key);
      if (lang != null) lang.prefferedFont = l.value;
    }
  }

  setSavedLang(defaultLang: defaultLangCode);
  _initializeDeviceLocaleCodeUpdater();
}