-
Notifications
You must be signed in to change notification settings - Fork 116
Translation
This page is in a draft state (some of these sections should perhaps be moved to their own pages?)
Note: The Overview section below is automatically generated with the translation_wiki_helper.sh script in performous git tree, tools/scripts-directory. So instead of directly modifying the table, you should update it by running the script and copy-pasting the output here. Notes and other data are put to lang/TRANSLATORS-file. (This only applies to the overview section, rest of the page can be modified freely.)
| Language | Progress | Current version | Comment | ||||
| % | Translated | Fuzzy | Untranslated | Total | |||
| Asturian (ast) | 24Β % | 97 | 38 | 265 | 400 | ast.po | |
| Danish (da) | 9Β % | 36 | 68 | 296 | 400 | da.po | |
| German (de) | 100Β % | 400 | 0 | 0 | 400 | de.po | |
| Spanish (es) | 91Β % | 367 | 10 | 23 | 400 | es.po | |
| Persian (fa) | 55Β % | 222 | 34 | 144 | 400 | fa.po | work in progress... |
| Finnish (fi) | 57Β % | 230 | 34 | 136 | 400 | fi.po | |
| French (fr) | 91Β % | 366 | 11 | 23 | 400 | fr.po | |
| Hungarian (hu) | 53Β % | 213 | 33 | 154 | 400 | hu.po | |
| Italian (it) | 87Β % | 348 | 11 | 41 | 400 | it.po | |
| Japanese (ja) | 36Β % | 146 | 34 | 220 | 400 | ja.po | Translations not ready for release. |
| Dutch (nl) | 100Β % | 400 | 0 | 0 | 400 | nl.po | |
| Polish (pl) | 58Β % | 232 | 34 | 134 | 400 | pl.po | |
| Portuguese (pt_BR) | 37Β % | 151 | 49 | 200 | 400 | pt_BR.po | |
| Slovak (sk) | 100Β % | 400 | 0 | 0 | 400 | sk.po | |
| Swedish (sv) | 35Β % | 140 | 48 | 212 | 400 | sv.po | |
| Chinese (zh) | 35Β % | 140 | 50 | 210 | 400 | zh.po | |
Table last updated: 2023-08-07 14:43:18+02:00 (based on git commit [https://github.com/performous/performous/commit/e10f1272c99db258c380a98531ee7f4a0eff6ebe e10f1272] @ 2023-08-07 14:42:30 +0200)
There is a README in the repository folder lang which contains additional information.
We recommend using POEdit (http://www.poedit.net/). For Windows, download it from the website. Most Linux distros have it in their repositories.
- Open the .po file in POEdit.
- Hit the Synchronize to source button in the toolbar.
- Start translating.
- Remember to save.
Sometimes there are new strings in the file config/data/schema.xml. They must be extracted with the help of the python script lang/xml_gettext.py. The following steps show how to setup POEdit to use the script:
- Click Edit -> Preferences
- Click the Parsers tab
- Click the New button and fill out the form like this:
- Language: Performous XML
- List of extensions: *.xml
- Parser command: $SOURCE_ROOT/lang/xml_gettext.py %o %F
- An item in keywords list:
- An item in input files list: %f
- Source code charset:
- Click Okay
Here is an example for the configuration on windows:

- Ctrl + K vs Ctrl+K, Enter vs enter vs ENTER, etc
- [START] vs Start/Enter, etc
- Spaces, newlines and such in the strings - are they intentional?
- If possible (while maintaining a natural and good quality translation), try to aim to about the same string length as the English equivalent.
Although in many places the text size or the UI layout can adapt to different text lengths, there are places where this is not true (and heavily zoomed-out text looks bad anyway). For that reason, you should check that the translation actually fits in and does not e.g. go out of screen.
Also, problematic places should be reported so that developers can look into making the text rendering more robust in such places. - Partial strings that cause problems with correct word order should be reported to the developpers.
An example is the string "Highscore for %1%\n" which used to be just "Highscore for ". - Pay attention to spelling & grammar!
- It's always a good idea to verify that the translation fits the context in which it appears, this by looking at how it looks in the game and/or looking at the source context.
- the string "Visit performous.org\nfor free songs" refers to free as in ... (pending below)
(this section needs some formatting love, just dumping my list here for now... possibly a simple template could be used to provide consistency? maybe how to in start of each question!)
The easies way is to override all your localization by setting LC_ALL. for example for Farsi language you can run the game by following command in terminal:
LC_ALL=fa_IR.utf8 performous
or for Finnish you can run:
LC_ALL=fi_FI.UTF-8 performous
you can find out about localization with locale command. locale -a help you find out all locales available in your system. For more information about locale refer to https://help.ubuntu.com/community/Locale
You should first get the source code, create new file inside translation directory (translation file are located at ) then add your new file to your git master branch, commit and push your changes to remote server. for more information on pull, commit and push got to [link].
You should first get the source code, edit the corresponding translation file (translation file are located at ) then commit and push your changes. for more information on pull, commit and push got to [link].
Technically performous has no RTL mode, but you can use performous with RTL translation (look at fa).
- game/instrumentgraph.cc[39]:
void InstrumentGraph::setupPauseMenu() {
m_menu.clear();
m_menu.add(MenuOption(_("Resume"), _("Back to performing!")));
m_menu.add(MenuOption(_("Rejoin"), _("Change selections"), &m_rejoin));
m_menu.add(MenuOption(_("Restart"), _("Start the song\nfrom the beginning"), "Sing"));
m_menu.add(MenuOption(_("Quit"), _("Exit to song browser"), "Songs"));
}
Perhaps Rejoin should be changed to Change to make it a bit more clear, without the explanation the difference between Resume and Rejoin is very difficult to understand I think.
| String: | "Start the song\nfrom the beginning" |
| file[line]: | game/screen_sing.cc[120] |
| function: | void ScreenSing::enter() |
| Comment: | Is the "\n" intentional? |
| Discussion: |
| String: |
" ENTER to skip instrumental break" " Remember to wait for grading!" |
| file[line]: |
game/screen_sing.cc[457] game/screen_sing.cc[458] |
| function: | void ScreenSing::draw() |
| Comment: | Are the leading spaces intentional? |
| Discussion: |
| String: | "No playback devices could be used.\n"<br/>"\nPlease configure some before playing." |
| file[line]: |
game/screen_intro.cc[22] game/screen_intro.cc[23] |
| function: | void ScreenIntro::enter() |
| Comment: | Are the "\n" fully intentional? |
| Discussion: |
| String: | "Visit performous.org\nfor free songs" |
| file[line]: | game/screen_songs.cc[197] |
| function: | void ScreenSongs::draw() |
| Comment: | Free as in "free beer" or "free speech"? |
| Discussion: |
- Download & Install
- Songs
- Keys
- Gameplay
- Tools
- Composer (Performous)
- SingStar ripper (Performous)
- Separation tools
- Song creating tools
- Troubleshooting
- Audio Configuration
- Audio equipment guide
- Controller Configuration
- Command Line Arguments
- Video Configurations
- Player Configuration
- Random Backgrounds
- Webcam Background
- Microphone Pass-through
- Real karaoke
- Stereoscopic 3D
- Theming
- Ultrastar .txt Tags