mint-n-pepper / DanceBotsEditor

Qt GUI to edit Dancebot Choreographies
https://www.dancebots.ch
GNU General Public License v3.0
4 stars 1 forks source link

GUI Language Localization #71

Closed philippReist closed 3 years ago

philippReist commented 3 years ago

Goal is to provide DE/EN/FR/IT language options.

Qt features language localization features. I am not familiar with them so I would have to learn it. I would suggest @robinhanhart and @tiemes take the lead here.

Should there be a toggle in the GUI?

tiemes commented 3 years ago

main question is - how much effort is it? It is not a must have but would be nice. Do you have any experience with it @robinhanhart ?

robinhanhart commented 3 years ago

@tiemes It should not be that much effort. Qt already has everything built in. The code is ready for translation as all the text in the code is in the form qsTr("English")

From what I read the process should look like this: https://wiki.qt.io/How_to_create_a_multi_language_application#Add_translations_to_the_project

  1. Let a QT function run over the code files and make a list of all the english texts in a translation file.
  2. Translate the list of english words to german and other languages.
  3. Create a language switcher in the GUI
  4. Change some cmake setting to compile with the languages

Will give it a try maybe need some help from @philippReist

philippReist commented 3 years ago

Sounds good - let me know if you need help!

tiemes commented 3 years ago

@robinhanhart is this still a thing?

robinhanhart commented 3 years ago

@tiemes Technically it would work. I did have the basic work for translation in a local branch (compiling with the language files) Didn't get it to work completely. The problem is there is quite a bit of english text hardcoded in the code and would be a couple hours work of changing everything. Just ran out of time on this one.

Maybe a call with @philippReist at some point. Maybe I'm missing something or there is an easier way.

tiemes commented 3 years ago

ok, English is fine.