Interface Translations
Add a New Language to Remark42
Translation files are stored in /frontend/apps/remark42/app/locales
directory with .json extension and content like following:
{
"anonymousLoginForm.length-limit": "Username must be at least 3 characters long",
"anonymousLoginForm.log-in": "Log in",
"anonymousLoginForm.symbol-limit": "Username must start from the letter and contain only Latin letters, numbers, underscores, and spaces",
<...>
}
Add a new translation
We truly appreciate people spending time contributing their translations to remark42. Please go through the steps
below to have your translation available to all remark42 users and included in the next release.
Create a fork of umputun/remark42 repo, and if you already have one, please pull the latest changes from the upstream master branch. It could be done like that:
git remote add upstream https://github.com/umputun/remark42.git git fetch upstream git rebase upstream/master git pushAdd a new locale with a two-letter code of the language you want to do the translation into to list in frontend/apps/remark42/tasks/supportedLocales.json
Run
pnpm iin thefrontend/apps/remark42folderRun
pnpm translation:extractin thefrontend/apps/remark42folderRun
pnpm translation:generatein thefrontend/apps/remark42folderTranslate all values in the newly created JSON file in
frontend/apps/remark42/app/locales/Run
pnpm translation-checkinfrontend/apps/remark42to validate the translation keys, tags and placeholdersUpdate the documented locale list with the language name and code
Commit all changes above in your fork, including the generated
app/utils/loadLocale.tsTest your changes in the interface:
Uncomment
locale: "ru"line in frontend/apps/remark42/templates/demo.ejs and replaceruwith your translation language codeStart the backend from the root directory of your fork:
docker compose -f compose-dev-frontend.yml up --buildStart the frontend in another terminal:
cd frontend/apps/remark42 pnpm devOpen http://127.0.0.1:9000/web/, log in, make a comment, make a reply to a comment, and check your translation
Take a screenshot of that page with your translation in place
after all previous steps are done, create a Pull Request to umputun/remark42 repo with your changes, attaching a screenshot or two from your local test instance to it