How to add new language translation to Remark42

Translation files are stored in /frontend/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",

How to add a new translation

We truly appreciate people spending time contributing their translations to remark42. Please go through the steps below in order to have your translation start being available to all remark42 users and included in the next release.

  1. 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
    git fetch upstream
    git rebase upstream/master
    git push
  2. add a new locale with two-letter code of the language you want to make the translation into to list in frontend/tasks/supportedLocales.json

  3. run npm run translation:generate in frontend folder

  4. translate all values in the newly created json file in frontend/app/locales/

  5. commit all changes above in your fork

  6. test your changes in the interface:

    1. uncomment locale: "ru" line in frontend/index.ejs and replace ru with your translation language code

    2. run remark42 in Docker by issuing following commands from the root directory of your remark42 fork:

      docker-compose -f compose-dev-frontend.yml build
      docker-compose -f compose-dev-frontend.yml up
    3. open, log in, make a comment, make a reply to a comment, and make sure your translation looks as you expect it to look

    4. make a screenshot from with your translation in place

  7. 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