-
Notifications
You must be signed in to change notification settings - Fork 43
Proofreading a translation
vutuv's interface is available in English, German and Italian. Nearly all of that text lives in a handful of plain text files per language, and you can read them in the browser without installing anything.
Each language has a two-letter code: en English, de German, it Italian.
Put the code into the paths below and you have that language's files. Italian,
as the example:
| File | What is in it | Entries |
|---|---|---|
priv/gettext/it/LC_MESSAGES/default.po |
Everything on screen: buttons, labels, menus, confirmations | 3,965 |
priv/gettext/it/LC_MESSAGES/errors.po |
Form validation messages ("can't be blank") | 69 |
Both files are sorted alphabetically by the English original, so the browser's find-in-page is a good enough index.
#: lib/vutuv_web/controllers/address_controller.ex:57
#, elixir-autogen
msgid "Address created successfully."
msgstr "Indirizzo creato."
-
msgidis the English original. It doubles as the lookup key, so it must stay exactly as it is. -
msgstris the translation, and usually the only line a correction changes. - The
#:lines name the file the string is rendered in. They are often the only clue about context, so read them when a word could go two ways.
Four things worth knowing before you flag something:
Plurals carry two translations.
msgid "%{count} month"
msgid_plural "%{count} months"
msgstr[0] "%{count} mese"
msgstr[1] "%{count} mesi"
Placeholders are filled in at runtime. %{count}, %{name}, %{date} and
their siblings must survive verbatim. Moving one inside the sentence is fine;
renaming, translating or inventing one is not, because a placeholder the code
does not supply makes the whole string fall back to English.
An empty-looking msgstr "" is usually not empty. A translation longer
than one line is written as an empty first line plus indented pieces that get
glued together:
msgid "It doesn't look like you're following anyone yet. …"
msgstr ""
"Sembra che non segua ancora nessuno. Cerchi il profilo di una persona che "
"conosce, o che La incuriosisce, e prema il pulsante «Segui»."
A genuinely empty one is not a crash; it shows the English sentence on screen.
A fuzzy flag means a machine guessed. The line reads
#, elixir-autogen, elixir-format, fuzzy, and the guess is frequently a
different string altogether. German and Italian are fuzzy-free today, so any
you find is fresh and unreviewed.
Message bodies are not in the catalogs. Every mail has two files per language saying the same thing, so a correction usually belongs in both:
-
lib/vutuv_web/templates/email/<name>_it.text.eexfor the plain text part -
lib/vutuv_web/templates/email_body/<name>_it.html.heexfor the HTML part
Anything inside <%= … %> is code and stays untouched. Italian has 28 such
pairs plus a signature file, _signature_it.text.eex.
Two help pages sit outside all of this and are ordinary Markdown:
priv/help/markdown_it.md and priv/help/mastodon_it.md.
The fastest way to judge wording is on the site. Set your browser's preferred
language to Italian, or sign in and pick the language under
Settings → Preferences (/settings/preferences). Appending ?lang=it to a URL
does nothing for a normal web page; the browser's own header decides.
- The legal pages. Impressum, privacy policy and terms are written by whoever runs the installation and stay in their language.
- What members write. Posts are translated on demand by a model, never by us.
- A few operator mails. They never reach a member and are German only.
-
English itself. The
encatalog has empty translations on purpose, because English is themsgid. Fixing an English wording means changing the source code, so report those instead of editingpriv/gettext/en/.
With a GitHub account: open the file, click the pencil icon, change the
msgstr lines, and GitHub walks you through the pull request. Leave every
msgid alone and keep one language per pull request. If you would rather not
touch the file, open an issue with the English original and your better
wording.
Without a GitHub account: mail the corrections to
sw@wintermeyer-consulting.de. Name the language, quote the English original
(the msgid, or a screenshot of the page it appears on) and give the sentence
as it should read. A plain list in a plain mail is genuinely welcome, and none
of the machinery above is required.