From aa19870c5410e4cff3caa567524b211d8250a5ad Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Fri, 15 Jan 2021 10:56:02 +0100 Subject: [PATCH] Updated doc/Localization_guide.md --- doc/Localization_guide.md | 35 +++++++++++++++++++++++++---- doc/images/long_text_on_button.png | Bin 0 -> 11913 bytes 2 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 doc/images/long_text_on_button.png diff --git a/doc/Localization_guide.md b/doc/Localization_guide.md index 8e34deef5..8dfbc5490 100644 --- a/doc/Localization_guide.md +++ b/doc/Localization_guide.md @@ -16,7 +16,7 @@ Full manual for GNUgettext can be seen here: http://www.gnu.org/software/gettext https://github.com/prusa3d/PrusaSlicer/tree/master/resources/localization 2. Open this file in PoEdit as "Edit a translation" 3. Apply your corrections to the translation -4. Push changed PrusaSlicer.po and PrusaSlicer.mo (will create automatically after saving of PrusaSlicer.po in PoEdit) back to to the enter folder. +4. Push changed PrusaSlicer.po and PrusaSlicer.mo (will create automatically after saving of PrusaSlicer.po in PoEdit) into the original folder. ### Scenario 2. How do I add a new language support 1. Get file PrusaSlicer.pot here : @@ -71,6 +71,33 @@ https://github.com/prusa3d/PrusaSlicer/tree/master/resources/localization/list.t ``` Notice, in this Catalog it will be totally same strings for initial text and translated. -When you have Catalog to translation open POT or PO file in PoEdit and start to translation, -it's very important to keep attention to every gaps and punctuation. Especially with -formatted strings. (using %d, %s, etc.) \ No newline at end of file +When you have Catalog to translation open POT or PO file in PoEdit and start translating. + + +## General guidelines for PrusaSlicer translators + + +- We recommend using *PoEdit* application for translation (as described above). It will help you eliminate most punctuation errors and will show you strings with "random" translations (if the fuzzy parameter was used). + +- To check how the translated text looks on the UI elements, test it :) If you use *PoEdit*, all you need to do is save the file. At this point, a MO file will be created. Rename it PrusaSlicer.mo, and you can run PrusaSlicer (see above). + +- If you see an encoding error (garbage characters instead of Unicode) somewhere in PrusaSlicer, report it. It is likely not a problem of your translation, but a bug in the software. + +- See on which UI elements the translated phrase will be used. Especially if it's a button, it is very important to decide on the translation and not write alternative translations in parentheses, as this will significantly increase the width of the button, which is sometimes highly undesirable: + +![Long text on button](images/long_text_on_button.png) + +- If you decide to use autocorrect or any batch processing tool, the output requires very careful proofreading. It is very easy to make it do changes that break things big time. + +- **Any formatting parts of the phrases must remain unchanged.** For example, you should not change `%1%` to `%1 %`, you should not change `%%` to `%` (for percent sign) and similar. This will lead to application crashes. + +- Please pay attention to spaces, line breaks (\n) and punctuation marks. **Don't add extra line breaks.** This is especially important for parameter names. + +- Description of the parameters should not contain units of measurement. For example, "Enable fan if layer print time is less than ~~n seconds~~" + +- For units of measurement, use the international system of units. Use "s" instead of "sec". + +- If the phrase doesn't have a dot at the end, don't add it. And if it does, then don't forget to :) + +- It is useful to stick to the same terminology in the application (especially with basic terms such as "filament" and similar). Stay consistent. Otherwise it will confuse users. + diff --git a/doc/images/long_text_on_button.png b/doc/images/long_text_on_button.png new file mode 100644 index 0000000000000000000000000000000000000000..5f4ca87be247275a178d3c28e9a45b7af420504c GIT binary patch literal 11913 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