Supported formats
Fink reads and writes translation files through inlang format plugins. It ships three of them, pinned to tested versions.
| Format | Used by | Settings key | Notes |
|---|---|---|---|
| i18next JSON | i18next, react-i18next, next-i18next | plugin.inlang.i18next |
Nested or flat keys, namespaces, plural suffixes, context. Details |
| next-intl | next-intl | plugin.inlang.nextIntl |
messages/{locale}.json, nested namespaces, files per namespace, ICU plurals, selects and rich text tags. Details |
| inlang message format | Paraglide JS | plugin.inlang.messageFormat |
Variables, plurals, selects, exact numbers. Unused messages and usage in code. Details |
A project must configure exactly one of these. A repository can contain several projects, each with its own format.
Not supported
If your project uses another format plugin, Fink shows "Unsupported resource plugins" and doesn't open it. This includes:
- ICU MessageFormat files of other libraries (the generic ICU1 plugin), FormatJS / react-intl
- The generic inlang JSON plugin
- gettext PO, XLIFF, YAML, Android XML, iOS
.stringsand.xcstrings, ARB
Fink only runs its own bundled plugins. It never loads plugin code from a repository, so it can't add formats on the fly.
Limits
- Translation files are JSON, at most 1 MiB each.
- One push changes at most 100 files and 5 MiB in total.
- The repository must be on github.com, and GitHub must return its complete file tree. Very large repositories can exceed GitHub's limit.
- Settings must use inlang SDK v3 (
baseLocaleandlocales). - Fink needs a current browser with the Origin Private File System, where drafts are stored. It is tested in Chrome. Other current browsers should work but aren't tested.