Reformatting + new instructions for Windows

RaydenX93 2020-10-11 17:07:28 +02:00
parent fa10e79202
commit 08cf400030
1 changed files with 34 additions and 22 deletions

@ -1,33 +1,45 @@
This page describes the process for creating and keeping a new translation up to date.
To create a new translation (Windows):
1. Clone the repository in the same way as described in the main README (submodules/recursive clone).
2. Run `set-language.bat` in `src\duckstation-qt\translations`.
(You can find a list of language codes here: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (use the 639-1 code). If your language has different variants for different countries, append a two-letter country code at the end after an underscore. You can find a list of country codes here: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes (use the 3166-1 Alpha-2 code)).
3. Run `update-and-edit-language`, also in `src\duckstation-qt\translations`. This should create a new `.ts` file for your language in the `translations` directory, update it, and open the translation file in Qt Linguist.
4. If prompted, select your language and country. Leave the source language as POSIX. Some languages seem to add a country code where is isn't necessary, too, so check that under Edit > Translation File Settings...
# Windows
To update an existing translation (Windows):
## Create New Translation
1. Clone the repository in the same way as described in the main **README** (submodules/recursive clone).
2. Run `create-update-and-edit-language.bat` in `src\duckstation-qt\translations`.
- You can find a list of language codes here: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (use the **639-1** code).
- If your language has different variants for different countries, append a two-letter country code at the end after an underscore. You can find a list of country codes here: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes (use the **3166-1 Alpha-2** code).
3. Follow the on-screen instructions.
- This should create a new `.ts` file for your language in the `translations` directory, update it, and open the translation file in Qt Linguist.
5. Leave the source language as **POSIX**. Some languages seem to add a country code where it isn't necessary, too, so check that under Edit > Translation File Settings...
## Update Existing Translation
1. Update your Git repository by running `git pull`. If it gives you an error about local changes, run `git reset --hard` and `git clean -d -f -x` to clear them out, and run `git pull` again. But make sure you have nothing you want to save in the repo first, I won't take responsibility if you delete your work this way.
2. Run the `update-and-edit-language.bat` file in `src\duckstation-qt\translations`. This will add the new strings to the `.ts` file and report how many new strings there are for translation, and open it in Qt Linguist for editing.
2. Drag and drop the `.ts` file you wish to edit onto `create-update-and-edit-language.bat` file in `src\duckstation-qt\translations`.
- This will add the new strings to the `.ts` file, report how many new strings there are for translation, and open it in Qt Linguist for editing.
To create a new translation (Linux):
1. Clone the repository in the same way as described in the main README.
2. run `cd src/duckstation-qt` and `lupdate ./ ../core/ ../frontend-common/ -tr-function-alias translate+=TranslateString -tr-function-alias translate+=TranslateStdString -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATABLE -ts translations/duckstation-qt_LANGUAGE_CODE_HERE.ts` manually. The file name should follow the `appname_language[_country].ts` convention specified [here](https://doc.qt.io/qt-5/linguist-translators.html#changing-the-target-locale). This should create a new `.ts` file for your language in the `translations` directory. You can find a list of language codes here: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (use the 639-1 code). If your language has different variants for different countries, append a two-letter country code at the end after an underscore. You can find a list of country codes here: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes (use the 3166-1 Alpha-2 code).
3. Open this new translation file in Qt Linguist. On Linux, your package manager will provide it.
4. If prompted, select your language and country. Leave the source language as POSIX. Some languages seem to add a country code where is isn't necessary, too, so check that under Edit > Translation File Settings...
# Linux
## Create New Translation
1. Clone the repository in the same way as described in the main **README** (submodules/recursive clone).
2. Run `cd src/duckstation-qt` and `lupdate ./ ../core/ ../frontend-common/ -tr-function-alias translate+=TranslateString -tr-function-alias translate+=TranslateStdString -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATABLE -ts translations/duckstation-qt_LANGUAGE_CODE_HERE.ts` manually. The file name should follow the `appname_language[_country].ts` convention specified [here](https://doc.qt.io/qt-5/linguist-translators.html#changing-the-target-locale).
- This should create a new `.ts` file for your language in the `translations` directory.
- You can find a list of language codes here: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (use the **639-1** code).
- If your language has different variants for different countries, append a two-letter country code at the end after an underscore. You can find a list of country codes here: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes (use the **3166-1 Alpha-2** code).
4. Open this new translation file in Qt Linguist. On Linux, your package manager will provide it.
5. If prompted, select your language and country. Leave the source language as **POSIX**. Some languages seem to add a country code where it isn't necessary, too, so check that under Edit > Translation File Settings...
To update an existing translation (Linux):
## Update Existing Translation
1. Update your Git repository by running `git pull`. If it gives you an error about local changes, run `git reset --hard` and `git clean -d -f -x` to clear them out, and run `git pull` again. But make sure you have nothing you want to save in the repo first, I won't take responsibility if you delete your work this way.
2. run `cd src/duckstation-qt` and `lupdate ./ ../core/ ../frontend-common/ -tr-function-alias translate+=TranslateString -tr-function-alias translate+=TranslateStdString -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATABLE -ts translations/duckstation-qt_LANGUAGE_CODE_HERE.ts` manually. This will add the new strings to the `.ts` file and report how many new strings there are for translation.
3. Open the translation file in Qt Linguist.
2. Run `cd src/duckstation-qt` and `lupdate ./ ../core/ ../frontend-common/ -tr-function-alias translate+=TranslateString -tr-function-alias translate+=TranslateStdString -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATABLE -ts translations/duckstation-qt_LANGUAGE_CODE_HERE.ts` manually.
- This will add the new strings to the `.ts` file and report how many new strings there are for translation.
4. Open the translation file in Qt Linguist.
Translating strings:
# Translating Strings
1. For each form/context on the left, a list of strings will appear in the middle for translation. A mock version of the UI will also be displayed.
2. Go through each string, entering a translation in your target language in the text box below. Mark the string as completed (check mark) after doing so, this way when new strings are added you can jump directly to them.
3. To submit your translation or updates, follow the normal Git process for forking/creating a branch/creating a pull request. You only want to submit the changes to your language's `.ts` file, no other files. If you are unsure about how to do this, send your translation (`.ts` file) directly to Stenzek on Discord, and I'll commit/push it for you.
2. Go through each string, entering a translation in your target language in the text box below. Mark the string as **Completed** (check mark) after doing so, this way when new strings are added you can jump directly to them.
3. To submit your translation or updates, follow the normal Git process for forking/creating a branch/creating a pull request.
- You **only** want to submit the changes to your language's `.ts` file, no other files.
- If you are unsure about how to do this, send your translation (`.ts` file) directly to *Stenzek* or to a member of the *Translators* team on Discord, and it will be committed/pushed for you.
Also see the Qt reference manual here: https://doc.qt.io/qt-5/linguist-translators.html
We also have a `#translations` channel on Discord where questions can be asked/you can get clarification on technical terms.
# Additional Info
- Refer to the Qt reference manual here: https://doc.qt.io/qt-5/linguist-translators.html
- We also have a `#translation` channel on Discord where questions can be asked/you can get clarification on technical terms.