sonic-pi-net / sonic-pi

Code. Music. Live.
https://sonic-pi.net
Other
10.8k stars 922 forks source link

Splash screen, buttons and information pages are not translatable #872

Open petterreinholdtsen opened 8 years ago

petterreinholdtsen commented 8 years ago

The splash screen is not possible to translate. It is a PNG file, and there is no "source" version we can use to translate it to non-english languages, and no mechanism in the code to show a translated PNG when using a translated GUI. This give the impression that the program isn't available in ones native language, even if some of the GUI is translated once the main window show up. The main window also uses PNGs (like the Run button) which are not translatable, and English HTML pages that can not be replaced by translated versions.

Please make the rest of the GUI translatable.

samaaron commented 8 years ago

The splash screen and button icons are part of the aesthetic design of the app and are unlikely to be candidates for translation at this stage.

Translating the function doc strings would be great but it's not work I'm likely to focus on in the short term. If someone else wants to create a pull request I'd be very happy to consider it and help it along.

petterreinholdtsen commented 8 years ago

[Sam Aaron]

The splash screen and button icons are part of the aesthetic design of the app and are unlikely to be candidates for translation at this stage.

Oh, I am sorry to hear that.

The arrow, square, hard and cirle icons are great, but the text next to them make it very hard for those who do not understand English.

Please consider that it is quite alienating for people who do not read English to find and being forced to use terms they do not understand. Perhaps as alienating as you would feel if you were asked to use a GUI with "Kjør", "Avbryt", "Lagre", "Opptak", "Størrelse" and other Norwegian terms for the same actions as are currently present in the sonic-pi GUI. :)

Translating the function doc strings would be great but it's not work I'm likely to focus on in the short term. If someone else wants to create a pull request I'd be very happy to consider it and help it along.

Where is this code? I suspect the translation of the HTML pages is best done using po4a like my pull request for the tutorial.

Happy hacking Petter Reinholdtsen

samaaron commented 8 years ago

The buttons closely match the code which is clearly not a target for translation. The real question is where to stop translating! If students are expected to learn the English words play, synth, stop, sleep etc, I think the buttons are not much more of a challenge.

The code for the function documentation is inline with the code itself. For example see: https://github.com/samaaron/sonic-pi/blob/be4038e3408e5fd6e20104f86c78e7ff3a47db82/app/server/sonicpi/lib/sonicpi/lang/sound.rb#L1117

It would be possible for someone to write the code to enable translations of the appropriate metadata such as the doc:, opts:, summary: and examples: keys. However, my main concern would be that any translated versions would keep up to date. I'm constantly tweaking and improving these based on observations of people using the system.

petterreinholdtsen commented 8 years ago

[Sam Aaron]

The buttons closely match the code which is clearly not a target for translation. The real question is where to stop translating! If students are expected to learn the English words play, synth, stop, sleep etc, I think the buttons are not much more of a challenge.

Well, I am trying to make it ready for kids that barely can read their native language, and here it is a challenge. :)

The code for the function documentation is inline with the code itself. For example see: https://github.com/samaaron/sonic-pi/blob/be4038e3408e5fd6e20104f86c78e7ff3a47db82/app/server/sonicpi/lib/sonicpi/lang/sound.rb#L1117

Thank you for the pointer. :)

It would be possible for someone to write the code to enable translations of the appropriate metadata such as the doc:, opts:, summary: and examples: keys. However, my main concern would be that any translated versions would keep up to date. I'm constantly tweaking and improving these based on observations of people using the system.

If it is handled using pot and po files, changes would be automatically detected.

Happy hacking Petter Reinholdtsen

xavriley commented 8 years ago

I know @hzulla is keen to try generating the icons in imagemagick or similar, which might make the buttons translatable but as usual this is a question of juggling priorities.

petterreinholdtsen commented 8 years ago

[Xavier Riley]

I know @hzulla is keen to try generating the icons in imagemagick or similar, which might make the buttons translatable but as usual this is a question of juggling priorities.

I suspect using SVG as file format inkscape for rendering and po4a to do the translatoin could be a good fit. :)

Happy hacking Petter Reinholdtsen