# Translation with YAML

Published 2024-03-03

This page contains the instructions for translating ETS2LA to other languages.

# Forbidden files:

This file contains all the translation keys, the app will validate translation files against the contents of this file.

This file contains the base English translations. When translating use this as a reference point.

# Example file:
Language:
  name: "Suomi"
  # ^ The name of the language in its own language. Example: "Suomi"
  name_en: "Finnish"
  # ^ The name of the language in English. Example: "Finnish"
  iso_code: "fi"
  # ^ The ISO 639-1 code for the language. Example: "fi"
  credits: "Kääntäjänä toimi Tumppi066, kiitos latauksesta ja toivottavasti pidät!"
  # ^ The credits for the language show in the UI.
  version: "2.0.0"
  # ^ Latest compatible version. Checked by the UI for compatibility.

Translations:

  # MARK: Globals

  confirm: "Vahvista"
  cancel: "Peruuta"
  'yes': "Kyllä"
  'no': "Ei"
  continue: "Jatka"
  loading: "Ladataan..."
  success: "Onnistui"
  # ^ Usually used in a statement that says something was successful. Example: [Something was completed] 'Success!'
  error: "Epäonnistui"
  # ^ Usually used in a statement that says something was unsuccessful. Example: [Something was not completed] 'Error!'
  done: "Valmis"
  set: "Asetettu"
  # ^ Something was set. Example: [Stay on top set to true] 'Set'
  setting: "Asetetaan..."
  # ^ The act of setting something. Example: [Setting stay on top to true] 'Setting...'
  unknown: "Tuntematon"
  download: "Lataa"
  downloading: "Ladataan {0}..."
  # ^ {0} is the name of what is being downloaded. Example: 'Downloading model...'
  clear: "Tyhjennä"
  search: "Etsi"
  submit: "Lähetä"
  install: "Asenna"
  uninstall: "Poista"
  ...
# Translation process
  1. Go to the ETS2LA Discord server, then ping Tumppi066 or Moderator to receive the translation role. Please note that if your language is completely new (not even started yet) then you can begin translating before receiving the role.
  2. Go to the #translations forum and find the post of the language you want to translate. If it doesn't exist, create a new post.
  3. If you are not the first person, then check with others on the current progress of the language (you can use @here to ping everyone that has commented on the post).
  1. Copy the en.yaml file file app/Translations and rename it to your language's ISO code (fi.yaml, de.yaml, etc...).
  2. Change the variables in the Language category to match your language.
  3. Check the translation guidelines below.
  4. Start translating the keys in the Translations category.
  1. Copy your file to the app/Translations folder.
  2. Start the app with the --dev --local flags to use your local translations. If you use the launcher to install the app, then these settings can be found in the launcher settings.
# Manually

Send the edited file in the discord forum of your own language. Then ping either DylDev or Tumppi066 to update the translations with your file.

# Automatically

Make a PR (pull request) on the Translations repository with your file. This is preferred but you can just as well just ping us.

# Translation Guidelines

  1. Be consistent! If you translate a word one way, keep it that way throughout the translation.
  2. Work with others! This is often a multi-person job, so make sure to communicate with the others to setup your own guidelines.
  3. This is not a job! If you don't have time to translate immediately, that's fine. Most of the time there are others and if you are the only translator, then don't worry about it!
  1. Preserve special characters! If the English text has special characters (like \n, \t, : etc... or spaces at the start or end), make sure to keep them in the translation.
  2. Do not add special characters! If the English text doesn't have special characters, don't add them.

We use variables in the translations to add dynamic content. They are written as {0}, {1}, {2} etc... and are replaced with the actual content when the translation is used. You can usually see what the variables mean in the comment below the line, there's also often a sample of what it would look like in english.

downloading: "Ladataan {0}..."
# ^ {0} is the name of what is being downloaded. Example: 'Downloading model...'