Skip to main content

Troubleshooting

Module not initialized

Make sure @quik/i18n is registered in your bootstrap module and appears after its dependencies. Until then, getI18n() returns a no-op default implementation whose translate() returns the requested key unchanged.

Translation key returns the key itself

translate()/get() return the key string unchanged when the key is missing from both the requested language and the fallback language (i18n.fallback, default "en"). Check that the locale file for that language actually defines the key.

Locale file not loaded

loadFolder(folder, recursive?) silently skips any file whose base name is not one of the languages passed to the QI18n constructor (or configured via i18n.supported). Recursion into subfolders only happens when the second argument is true.

Common Errors

  • quik.errors.i18n.language-not-available: defaultLanguage, fallbackLanguage, dump(language), unload(language), remove(language, key), or set targeted a language that was not registered as a supported language.
  • quik.errors.i18n.language-key-not-available: remove(language, key) was called for a key that does not exist in that language.
  • quik.errors.i18n.language-file-not-supported: read(language, filePath) was given a path that does not exist or is not a .json file.