Difference between revisions of "How to translate"

From GCompris
Jump to: navigation, search
(Current status of the translation)
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{TOCright}}
 
{{TOCright}}
 
= Contact =
 
= Contact =
Translations are managed by the [https://l10n.kde.org/teams-list.php KDE translation teams]. If you wish to participate in the translation of GCompris you must contact the KDE translation team you want to participate in. The contact information can be found in the [https://l10n.kde.org/teams-list.php corresponding KDE translation team].
+
Translations are managed by the [https://l10n.kde.org/teams-list.php KDE translation teams]. If you wish to participate to the translation of GCompris, you must contact the KDE translation team corresponding to your language. The contact information can be found in the [https://l10n.kde.org/teams-list.php corresponding KDE translation team].
  
 
If the team hasn't answered you after one week or does not exist for your language, directly ping the [mailto:kde-i18n-doc@kde.org main translation mailing list] or the [mailto:gcompris-devel@kde.org GCompris development team].
 
If the team hasn't answered you after one week or does not exist for your language, directly ping the [mailto:kde-i18n-doc@kde.org main translation mailing list] or the [mailto:gcompris-devel@kde.org GCompris development team].
 +
 +
= Reporting an issue with translation =
 +
 +
As translation is mostly contributed by volunteers, there might be issues with the translation: mispells, better sentences could be used...
 +
 +
There are several ways to report a bug, from the "best" way for KDE to the "easiest" way for reporting an issue:
 +
* The best way to report a translation issue is to report a bug to the KDE localisation team: if you have a KDE account, follow the [https://bugs.kde.org/enter_bug.cgi?product=i18n template] to create a bug. Don't omit to tell it's about GCompris and the version/platform.
 +
* If you don't want to create an account, you can directly send a mail to the corresponding team (see the Contact section).
 +
* If you don't find the list or don't have an answer, send a mail directly to the [mailto:gcompris-devel@kde.org GCompris development team] and we will handle it.
  
 
= Current status of the translation =
 
= Current status of the translation =
Kde translation system uses po files. A PO file is a portable object file. It is text based and can be directly read by translators. GCompris uses several different files addressing different purposes.
+
The first two links allow you to visualize what remains to be translated in your language. The first link corresponds to the stable version, the one that is currently distributed, the second to the development version, the second one may evolve from day to day.
 
+
* [https://l10n.kde.org/stats/gui/stable-kf6/package/gcompris/ Translation status for the stable version]
* [https://l10n.kde.org/stats/gui/stable-kf5/package/gcompris/ Translation status for the stable version]
+
* [https://l10n.kde.org/stats/gui/trunk-kf6/package/gcompris/ Translation status for the development version]
* [https://l10n.kde.org/stats/gui/trunk-kf5/package/gcompris/ Translation status for the development version]
 
 
* [https://l10n.kde.org/stats/gui/trunk-kf5/po/gcompris-net.po/ Translation status for the website]
 
* [https://l10n.kde.org/stats/gui/trunk-kf5/po/gcompris-net.po/ Translation status for the website]
 +
* [https://l10n.kde.org/stats/doc/trunk-kf6/package/gcompris/ Translation status for the documentation] accessible at https://docs.kde.org/index.php?language=en&package=gcompris
  
 
Note: for the website, the po files contain only the 2 latest news. If you want to translate older news, you will need to manually fill the corresponding [https://invent.kde.org/websites/gcompris-net/-/tree/master/newsTemplate YYYYMMDD-locale.html page] and send it to us so we can integrate it.
 
Note: for the website, the po files contain only the 2 latest news. If you want to translate older news, you will need to manually fill the corresponding [https://invent.kde.org/websites/gcompris-net/-/tree/master/newsTemplate YYYYMMDD-locale.html page] and send it to us so we can integrate it.
 +
 +
If your language is not translated at all, you can find the templates to translate the application at https://websvn.kde.org/trunk/l10n-kf6/templates/messages/gcompris/ and https://websvn.kde.org/trunk/l10n-kf5/templates/messages/websites-gcompris-net/.
  
 
== Po files to translate ==
 
== Po files to translate ==
 +
KDE translation system uses po files. A PO file is a portable object file. It is text based and can be directly read by translators. GCompris uses several different files addressing different purposes:
 
* gcompris-qt.po is the main one, corresponding to the strings displayed in the application.
 
* gcompris-qt.po is the main one, corresponding to the strings displayed in the application.
 
* gcompris_lang.po is the set of words used in several activities for vocabulary such as lang, hangman... The corresponding images can be found in this [https://gcompris.net/incoming/lang/words.html page].
 
* gcompris_lang.po is the set of words used in several activities for vocabulary such as lang, hangman... The corresponding images can be found in this [https://gcompris.net/incoming/lang/words.html page].
Line 24: Line 36:
  
 
== Dataset to translate ==
 
== Dataset to translate ==
There are 3 other files to be translated that cannot be provided as po files. For these files, send them directly to the [mailto:support@gcompris.net GCompris maintainers]:
+
There are 5 other files to be translated that cannot be provided as po files. For these files, send them directly to the [mailto:support@gcompris.net GCompris maintainers]:
* [https://invent.kde.org/education/gcompris/-/blob/master/src/activities/click_on_letter/resource/levels-en.json click_on_letter dataset] contains a JSON file with "questions" being the letters that will be needed to be typed, and "answers" all the possible letters that will be displayed. "answers" must contain" questions" letters.
+
* [https://invent.kde.org/education/gcompris/-/blob/master/src/activities/click_on_letter/resource/levels-en.json click_on_letter dataset] is a JSON file with "questions" being the letters that will be needed to be typed, and "answers" all the possible letters that will be displayed.  
 +
Here is an example with the French file (all letters from a to z + the accented ones):
 +
<pre>[
 +
    { "level": 1, "questions": "aeiouy", "answers": "aeiouy" },
 +
    { "level": 2, "questions": "aeiouy", "answers": "aeiouycs" },
 +
    { "level": 3, "questions": "aeiouy", "answers": "aeiouycksvxz" },
 +
    { "level": 4, "questions": "ckpsvxwz", "answers": "ckpsvxwz" },
 +
    { "level": 5, "questions": "bfglmnqt", "answers": "bfglmnqt" },
 +
    { "level": 6, "questions": "bdgqpnmu", "answers": "bdgqpnmu" },
 +
    { "level": 7, "questions": "ilthwvae", "answers": "ilthwvae" },
 +
    { "level": 8, "questions": "abcdefgh", "answers": "abcdefgh" },
 +
    { "level": 9, "questions": "ijklmnop", "answers": "ijklmnop" },
 +
    { "level": 10, "questions": "qrstuvwxyz", "answers": "qrstuvwxyz" },
 +
    { "level": 11, "questions": "bcdfghjklmnpqrstvwxz", "answers": "bcdfghjklmnpqrstvwxz" }
 +
    { "level": 12, "questions": "éèàçù", "answers": "éèàçù" },
 +
    { "level": 13, "questions": "àâäçéèêëîïôöùûü", "answers": "àâäçéèêëîïôöùûü" }
 +
]
 +
</pre>
 +
 
 +
[[File:Click on letter.png]]
 +
 
 +
The image above corresponds to the first level of French dataset. The red ellipse corresponds to the "answers" list (one wagon per letter, all letters displayed) and the black circle will display one by one each letter of the "question" list).
 +
"answers" '''must''' contain" questions" letters. There can be as much levels as needed. All the letters in the language must be in the file.
 +
 
 
* [[Word Lists Qt|Additional localized list of words]] for wordsgame and gletters.
 
* [[Word Lists Qt|Additional localized list of words]] for wordsgame and gletters.
 +
 +
* Grammar classes and analysis datasets: you can find a description and example in [https://invent.kde.org/education/gcompris/-/tree/master/src/activities/grammar_analysis the source code] or in [https://mail.kde.org/pipermail/kde-i18n-doc/2023-July/001687.html the mail sent to the KDE translation team]
  
 
= Misc =
 
= Misc =

Latest revision as of 09:38, 16 December 2024

Contact

Translations are managed by the KDE translation teams. If you wish to participate to the translation of GCompris, you must contact the KDE translation team corresponding to your language. The contact information can be found in the corresponding KDE translation team.

If the team hasn't answered you after one week or does not exist for your language, directly ping the main translation mailing list or the GCompris development team.

Reporting an issue with translation

As translation is mostly contributed by volunteers, there might be issues with the translation: mispells, better sentences could be used...

There are several ways to report a bug, from the "best" way for KDE to the "easiest" way for reporting an issue:

  • The best way to report a translation issue is to report a bug to the KDE localisation team: if you have a KDE account, follow the template to create a bug. Don't omit to tell it's about GCompris and the version/platform.
  • If you don't want to create an account, you can directly send a mail to the corresponding team (see the Contact section).
  • If you don't find the list or don't have an answer, send a mail directly to the GCompris development team and we will handle it.

Current status of the translation

The first two links allow you to visualize what remains to be translated in your language. The first link corresponds to the stable version, the one that is currently distributed, the second to the development version, the second one may evolve from day to day.

Note: for the website, the po files contain only the 2 latest news. If you want to translate older news, you will need to manually fill the corresponding YYYYMMDD-locale.html page and send it to us so we can integrate it.

If your language is not translated at all, you can find the templates to translate the application at https://websvn.kde.org/trunk/l10n-kf6/templates/messages/gcompris/ and https://websvn.kde.org/trunk/l10n-kf5/templates/messages/websites-gcompris-net/.

Po files to translate

KDE translation system uses po files. A PO file is a portable object file. It is text based and can be directly read by translators. GCompris uses several different files addressing different purposes:

  • gcompris-qt.po is the main one, corresponding to the strings displayed in the application.
  • gcompris_lang.po is the set of words used in several activities for vocabulary such as lang, hangman... The corresponding images can be found in this page.
  • gcompris._desktop_.po are translations used to integrate into application menus of desktop environments.
  • org.kde.gcompris.appdata.po is translations that will be used by other applications/websites to display information about GCompris: https://apps.kde.org/gcompris/.
  • gcompris_voices.po is a helper for people providing voices to write down the spoken text and have update if intro text changes.
  • gcompris-net.po is the translation of the website. It is useless to translate the website if the software itself is not translated.

Dataset to translate

There are 5 other files to be translated that cannot be provided as po files. For these files, send them directly to the GCompris maintainers:

  • click_on_letter dataset is a JSON file with "questions" being the letters that will be needed to be typed, and "answers" all the possible letters that will be displayed.

Here is an example with the French file (all letters from a to z + the accented ones):

[
    { "level": 1, "questions": "aeiouy", "answers": "aeiouy" },
    { "level": 2, "questions": "aeiouy", "answers": "aeiouycs" },
    { "level": 3, "questions": "aeiouy", "answers": "aeiouycksvxz" },
    { "level": 4, "questions": "ckpsvxwz", "answers": "ckpsvxwz" },
    { "level": 5, "questions": "bfglmnqt", "answers": "bfglmnqt" },
    { "level": 6, "questions": "bdgqpnmu", "answers": "bdgqpnmu" },
    { "level": 7, "questions": "ilthwvae", "answers": "ilthwvae" },
    { "level": 8, "questions": "abcdefgh", "answers": "abcdefgh" },
    { "level": 9, "questions": "ijklmnop", "answers": "ijklmnop" },
    { "level": 10, "questions": "qrstuvwxyz", "answers": "qrstuvwxyz" },
    { "level": 11, "questions": "bcdfghjklmnpqrstvwxz", "answers": "bcdfghjklmnpqrstvwxz" }
    { "level": 12, "questions": "éèàçù", "answers": "éèàçù" },
    { "level": 13, "questions": "àâäçéèêëîïôöùûü", "answers": "àâäçéèêëîïôöùûü" }
]

Click on letter.png

The image above corresponds to the first level of French dataset. The red ellipse corresponds to the "answers" list (one wagon per letter, all letters displayed) and the black circle will display one by one each letter of the "question" list). "answers" must contain" questions" letters. There can be as much levels as needed. All the letters in the language must be in the file.

Misc

For the advanced colors activity, here is a table showing the different colors Advanced color translation.

Voice recording

To know the status of recording, you can check the Voice recording status for each locale.

To help recording, follow this guide.

Tooling

To translate, you can either use Lokalize or PoEdit. The first one is better integrated with the KDE environment.

warning: Do not confuse Lokalise which has nothing to do with KDE.