racket / racket/string-constants

POT and PO usage for translations?

Open
#31 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Racket
Stars
6
Forks
35
PR merge metrics
No merged PRs in 30d

Description

I am new to Racket... I would like to translate it to my own language - Slovak. I've started the translating by copying english english-string-constants.rkt to slovak-string-constants.rkt. I've updated files, but during the translation process I've missed out ", and I had to resolve bug to make my translation work again.

So I've found myself wondering how are changes handled? New strings, removed strings? How is the translation decoupled from the code?

In my professional experience on international projects we had very nice process for i18n by using gettext POT and PO files (more here):

  1. Developer specified strings in file like english-string-constants.rkt. Developer removed/add strings as needed in application.
  2. A tool extracted these strings to POT file.
  3. POT (and language PO file if it already existed) was provided to translators
  4. Translators used tool of their choice (there are plenty of them e.g. poedit) to translate strings. By opening PO file, specifying the POT (template) file, they were able to see, old-unused translations or newly added translations.
  5. After translation was done, updated PO files were transformed with some sort of script back to files like: slovak-string-constants.rkt

Because I like Racket and stuff around it, and I like to learn by doing, I would like to contribute to DrRacket project (string-constants) not only by translating, but by creating such a tool which would simplify translation and proofreading for non developers (including maintenance of new strings and removing non-used ones).

What do you think? Do you think it will improve project somehow?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading english-string-constants.rkt and the proposed slovak-string-constants.rkt workflow described in the issue. Investigate how strings are currently extracted, updated, and loaded, then compare that process with the proposed POT and PO steps. Done would require an agreed tool and a defined conversion workflow for new, removed, and translated strings.

Written by the indexing model from the issue text.

Assessment

Domain
internationalization, localization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.