Skip to content
Dima Enns edited this page May 18, 2021 · 15 revisions

Welcome to the MrMeeseeks.ResXTranslationCombinator wiki!

Requirements

  • ResX default file (see Definitions)
    • Where values are of a language of your choice, which DeepL supports
  • An auth key for the DeepL API

Definitions

  • ResX file family
    • Definition: default file
      • naming pattern: "[name].resx"
      • created by the user (you)
      • defines the keys which should be included in all other ResX files
      • the values are used for the automatic translations
    • Definition: automatic file
      • naming pattern: "[name].[languageCode].a.resx"
      • created by this project (MrMeeseeks.ResXTranslationCombinator)
      • its values are the automatic (machine/DeepL) translations of the default file's values with the same key using the target language defined by the [languageCode]
    • Definition: combined file
      • naming pattern: "[name].[languageCode].o.resx"
      • created by the user (you)
      • optional, if existent it will be considered
      • meant for language experts or linguist to override automatic translations if necessary
    • Definition: override file
      • naming pattern: "[name].[languageCode].resx"
      • created by this project (MrMeeseeks.ResXTranslationCombinator)
      • values take the value from the override file (if the override file exists and has an non-empty value for the corresponding key) or fallback to the value from the automatic file

How does it work?

The Github Action of this project searches for default ResX files. Following steps are executed per default file:

  1. the already existing automatic and override files are collected
  2. missing values in automatic files are filled by automatic translations of the corresponding value in default file using the DeepL API
  3. automatic and override files are combined into combined files. Prioticing the override value (if existent) or else falling back to the automatic value.
  4. An empty template file for overrides is created

Remarks

  • The set of the combined files (and the default file) are intended to be used as the localization for your application.
  • The override and automatic files shouldn't be relevant to your application directly.
  • The automatic files work like translation caches. Only their missing values are going to be translated.
    • That means if you would like to have a specific value re-translated then just remove that value. If you would like to have the whole localization for a specific language translated, delete the corresponding automatic file.
  • Overriding the automatic translation is designed to be completely on demand. It's great if it isn't necessary. However, if it is still needed point-wise, you have the ability to override precisely.
Clone this wiki locally