Thirty-three locales were short the same sixty-six keys and had been since
2.2.1. Fifty-six of them are the two-factor setup and the auto-logout
preference; six are the two-factor challenge itself; the rest are the promo
strings the banner rotates through.
The six in `login.js` were the urgent ones. They render during sign-in, before
`core.js` is fetched, so a user with two-factor enabled met the whole challenge
in English — on the one screen they cannot get past without understanding it.
Three of those six exist in `core.js` as well and now read identically in both
files, which nothing checks and which two translators working from two files
would otherwise have got subtly different.
Plural forms follow each language rather than the English pair: Arabic carries
all six CLDR categories with the agreement its counting requires, Czech,
Polish, Russian, Slovak and Ukrainian four with the right case in each, and
Chinese, Japanese, Korean, Vietnamese and Indonesian only `other`, since a
`_one` variant would be a form i18next never reads.
Every file is additions only — no existing line was moved, reworded or
reformatted, so the diff shows what was missing and nothing else. Several
existing mistranslations turned up along the way and were left alone; they are
a separate concern from filling the gaps.
Adds a dismissible banner in the topbar that informs users about
PLANKA Pro features.
- Dismissible per-user (stored in localStorage)
- Reappears after 30 days
- Rotates between main message and 3 feature highlights
- Links to planka.app/pro (with ref parameter for anonymous source attribution)