Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow internationalization #77

Closed
trebmuh opened this issue Apr 16, 2020 · 126 comments
Closed

Allow internationalization #77

trebmuh opened this issue Apr 16, 2020 · 126 comments
Labels
feature request Feature request

Comments

@trebmuh
Copy link
Member

trebmuh commented Apr 16, 2020

I'd be really happy to provides the project with a French translation for the GUI if a translation mechanism was made available.

@corrados corrados added the feature request Feature request label Apr 16, 2020
@corrados corrados changed the title [feature request] allow internationalization Allow internationalization Apr 18, 2020
@gilgongo
Copy link
Member

Same applies to the Wiki/docs ideally. I don't think it's really feasible with Github's wiki though. Perhaps if we moved to Github Pages, but that might cause other issues.

@trebmuh
Copy link
Member Author

trebmuh commented Apr 19, 2020

If the docs should be moved elsewhere for being translatable, then I'd encourage to make use of https://hosted.weblate.org/ (it's free software and free to use for free software). Note that, you can use the hosted.weblate to make the GUI component translation too.

@gilgongo
Copy link
Member

gilgongo commented Apr 19, 2020

Interesting. How would this work in Jamulus's case? For example I notice from Weblate's own docs that they appear to be hosted on Github (there's an "edit" button in the top right which takes you to what I assume is a docs repo with .rst files in it). What I don't understand is how to switch to another language (or is that being auto-detected?), or where the web app is being hosted (Is it Github pages, or perhaps some 3rd party that you can deploy to via Github? - looks rather similar to this site which I see has a language switch as well) Is this the default if you opt for weblate hosting?

@trebmuh
Copy link
Member Author

trebmuh commented Apr 19, 2020

I don't understand very well what you wrote @gilgongo . Not a native English speaker here.

Not being a coding person neither, I can tell you how I understand it since I'm using it as a translator for several projects.

  • the jamulus dev(s) set up a translation mechanism (let's say the Qt translation system here)
  • the jamulus dev(s) does ask to hosted.weblate if they're ok to host the project's translation for free (being a free software)
  • weblate says OK (most likely and hopefully 🤞 )
  • then the dev or/and weblate people (I don't know) make a kind of a "hook" thing which allow to copy the translation file from github to weblate, and back
  • the translators translate online (on hosted.weblate) and the hook take care of integrating things back into the github repo

I hope this helps.

If you need more information, I can maybe ask someone from a project I'm translating on weblate to talk with you on what are the details of the installation of that.

@gilgongo
Copy link
Member

@trebmuh My apologies - I was referring to how weblate might work with the localisation of our documentation, not the application itself. Does weblate help with localising a collaboratively-edited website?

@trebmuh
Copy link
Member Author

trebmuh commented Apr 20, 2020

@gilgongo as far as I know, you just feed Weblate with files (.pot/.po or .ts type file, maybe there are other translations mechanism accepted) and translators can start working. I'm not sure with what you call a collaboratively-edited website. As an example, zrythm GUI interface and website is translated using hosted.weblate .

@gilgongo
Copy link
Member

By "collaboratively-edited" I mean content created and maintained by more than one person, so that implies things like user permissions and things.

I've got very little experience with internationalisation, but for example if you take something like the Github wiki, or Wordpress, or just flat HTML, I assume the .pot/.po or .ts etc. files have to be integrated into that in some way so that weblate can manage the content independently of the presentation? Apologies, but I'm finding it hard to understand how it would work if we were to decide to internationalise the docs as we have them right now (that is, Github wiki), as opposed to the Jamulus app, which seems less of an issue.

@trebmuh
Copy link
Member Author

trebmuh commented Apr 20, 2020

I don't really know how it works at such a low level (only a translator here). You might want to chat with weblate people about that, and/or with people using it as project manager (ie: zrythm as a close example to what you're talking about here - its main dev "alextee" is usually on the #lad IRC channel on freenode). I'm sorry that I can't help you further than that. I still hope this talk was helping in some ways !

@gilgongo
Copy link
Member

OK thanks - that's very helpful. I'll see if I can contact the zrythm project about it!

@corrados
Copy link
Contributor

I have already prepared Jamulus for internationalization from the beginning. In the code you will find a lot of tr() calls, e.g.: https://github.com/corrados/jamulus/blob/master/src/clientdlg.cpp#L51

Using the Qt lupdate tool, you can extract the english text. I did this as an example for the following file:
jamulus_en.zip
You can load this file in the Qt Linguist GUI and do the translations:
grafik
Before you spend too much time on it, we should try it out with some example texts, e.g. the ones on the main windows and see how it works. The modifications inside the Jamulus software should hopefully be small.

@trebmuh
Copy link
Member Author

trebmuh commented Apr 20, 2020

I have already prepared Jamulus for internationalization from the beginning. In the code you will find a lot of tr() calls, e.g.: https://github.com/corrados/jamulus/blob/master/src/clientdlg.cpp#L51

Yes, I saw that in the code. Good thinking 😉

Let me know if/when a .ts file is ready for translation and I'll start providing a French version of it.

@corrados
Copy link
Contributor

corrados commented May 4, 2020

Finally I have done a very first implementation of the translations. For a test I added some German texts:
grafik
The translation files are here: https://github.com/corrados/jamulus/tree/master/src/res/translation

If you want to start the French translations, then you should clone the Git repo, open the file https://github.com/corrados/jamulus/blob/master/src/res/translation/translation_fr_FR.ts in QLinguist and do the translations. When you are done then create a pull request.

Maybe it is a good idea that you start with just a few translated texts, make a pull request and I can then generate you a Jamulus versino with which you can do a test that everything works for you.

@Snayler
Copy link
Contributor

Snayler commented May 5, 2020

Nice, I'll start the Portuguese translations.

EDIT:
Question: There's some dialogs I'm not sure I should be translating. For example, on CAboutDlgBase, there a TextLabelVersion which seems like a placeholder for the text defined on CAboutDlg. What should be done in these cases?

Also, can we add translator next to the author in the about dialog? Like so:
Autor: Volker Fischer; Tradução: Snayler

@corrados
Copy link
Contributor

corrados commented May 5, 2020

In the About dialog white text box we have this: "We would like to acknowledge the contributors listed in the Github Contributors list". Additionally I could add a text for listing the translators.

@Snayler
Copy link
Contributor

Snayler commented May 5, 2020

Well, it would not make sense to have the direct mention of the translators on the About Window without directly mentioning all other contributors who, IMHO, have made more significant contributions. So I'm happy with the "Github Contributors List" link.

@trebmuh
Copy link
Member Author

trebmuh commented May 5, 2020

@corrados : nice.

I've done a few strings translation as requested. See #176 .

In the About dialog white text box we have this: "We would like to acknowledge the contributors listed in the Github Contributors list". Additionally I could add a text for listing the translators.

It'd be great.

...her contributors who, IMHO, have made more significant contributions.

Well, that's only a PoV. For someone not able to read/understand English, having a good translation in his/her mother tongue is much more important than pretty much any other feature.

@Snayler
Copy link
Contributor

Snayler commented May 5, 2020

Well, that's only a PoV. For someone not able to read/understand English, having a good translation in his/her mother tongue is much more important than pretty much any other other feature.

Yes, it's only my opinion, hence the "IMHO" acronym. I do understand your PoV, it's just that I'm fluent in English and I actually prefer to have all my systems and programs in English than in my mother tongue, as I can better understand technical texts and instructions that way. That's why I value more contributors who actually program features into the software than translators.

On the other hand, I did spend most of today translating, checking and re-checking all the strings on the translation files, I can say it's no easy task. Also, what's not needed for me might be needed for someone who doesn't fully grasp the English language and wants to learn how the software works and what each setting does, so I see your point.

Maybe just have one field for the translator and each language would have it's translator(s) named.

On another note, I found that no strings for most of the dropdown menus were included in the translation files, and I would like to be able to translate some options as it would match the translated explanations better.

corrados added a commit that referenced this issue May 6, 2020
Starting French translation #77
@corrados
Copy link
Contributor

corrados commented May 6, 2020

My plan is to re-design the About dialog. My plan is to list all the contributors (code development, documentation, translation).

@ignotus666
Copy link
Contributor

I could do the Spanish translation. Does the 'translation_es_ES.ts' file need to be created or could I just work with the 'translation_de_DE.ts' file (later changing the extension) seeing as it's still empty?

@corrados
Copy link
Contributor

corrados commented May 6, 2020

Great, I will prepare a file for your spanish translation.

@corrados
Copy link
Contributor

corrados commented May 6, 2020

I could do the Spanish translation.

Please wait for some days before you start. I want to change something in the texts soon.

@ignotus666
Copy link
Contributor

Ok!

@corrados
Copy link
Contributor

corrados commented May 7, 2020

Ok, I think I am done now with the modifications. If you like you can start now your translations using the latest Git master commit.

@corrados
Copy link
Contributor

corrados commented May 7, 2020

@Snayler, @trebmuh Here is a first proposal for the new About dialog:
grafik
In this tab I will list the supported languages and the peoples names who contributed to the translations. How do you like it?

@trebmuh
Copy link
Member Author

trebmuh commented May 7, 2020

👍

@Snayler
Copy link
Contributor

Snayler commented May 10, 2020

I'm having trouble selecting the language on 3.5.3git. I'm using --translation, but I'm not sure what to input next to select the Portuguese language.

@corrados
Copy link
Contributor

FYI: I plan to make the next release 3.6.1 on Sunday morning, 22th of November. It would be good to have updated translations the day before (Saturday) if possible.

jerogee added a commit to jerogee/jamulus that referenced this issue Nov 15, 2020
corrados added a commit that referenced this issue Nov 15, 2020
corrados added a commit that referenced this issue Nov 16, 2020
Update French translation for 3.6.1 (see #77)
corrados added a commit that referenced this issue Nov 21, 2020
Update pt_BR translation for 3.6.1 (see #77)
@corrados
Copy link
Contributor

corrados commented Dec 6, 2020

@dyeopensource wants to add Hungarian translations, see #760.

@corrados
Copy link
Contributor

corrados commented Dec 7, 2020

FYI: I plan to make the next release 3.6.2 on Sunday morning, 13th of December. It would be good to have updated translations the day before (Saturday) if possible.

jerogee added a commit to jerogee/jamulus that referenced this issue Dec 7, 2020
corrados added a commit that referenced this issue Dec 7, 2020
@trebmuh
Copy link
Member Author

trebmuh commented Dec 7, 2020

@corrados : thanks for the "nbsp" changes, forgot to commit these.

@dyeopensource
Copy link

dyeopensource commented Dec 12, 2020 via email

@corrados
Copy link
Contributor

@ann0see Are you interested in taking over the German translation in the Jamulus software? If yes, please do not forget to add your name here: https://github.com/corrados/jamulus/blob/7a6955d094caa8eeb1f0b2500b42fda0752aa524/src/util.cpp#L499

@ann0see
Copy link
Member

ann0see commented Jan 28, 2021

I'm sorry to say that I don't want to take over. I already have the Wiki and actually wanted to hand it to someone else @SmuSmu .

Unfortunately he didn't respond. Maybe someone else would be interested in this?

@jerogee
Copy link
Contributor

jerogee commented Jan 28, 2021

@ann0see, unfortunally my German is not good enough. Perhaps you know a German Jamulus-enthousiast who like to take that on? Or perhaps there is a German forum to post a message on and ask?

Apart from that, I suggest to add this sentence in the "Contribute!" block on https://jamulus.io/:

Contribute!

Ideas? Found a bug? Want to contribute? Or help translating into your language? Since Jamulus is free and open source software licensed under the GPL you can help us!

@ann0see
Copy link
Member

ann0see commented Feb 2, 2021

@ALL I hope all translators are now in the Jamulussoftware/Translators team. I think it would be great to move discussion about translation there since translation also applies to the website now.

@SmuSmu
Copy link

SmuSmu commented Feb 2, 2021

I'm sorry to say that I don't want to take over. I already have the Wiki and actually wanted to hand it to someone else @SmuSmu .

Unfortunately he didn't respond. Maybe someone else would be interested in this?

Shame on me. Sadly i will Not bei able to translate as fast as you will need it in your new process. My Goal was to contribute from time to time. I suggest to Open an issue regarding Help wanted. And ask for Help directly in the Website. So sadly i am Out Here.

@ann0see
Copy link
Member

ann0see commented Feb 2, 2021

Sadly i will Not bei able to translate as fast as you will need it in your new process

No problem. The project is quite active at the moment and especially the documentation is a big task to translate ;-). Maybe you can share work with somebody?

@ann0see
Copy link
Member

ann0see commented Feb 14, 2021

@Snayler @Martyna27 @SeeLook @genesisproject2020 @jose1711 I've now added you to the jamulussoftware organisation. Please accept this invitation which will allow to make announcements of new releases and communication much easier. If I forgot to add a translator, please ping me.

@ann0see ann0see closed this as completed Feb 14, 2021
@ann0see
Copy link
Member

ann0see commented Feb 14, 2021

Closed since the initial feature request has been fulfilled:

  1. Jamulus can be translated now (just recently the upcoming installer has also added translation support)
  2. The documentation can be translated too
  3. We now have an organisation with a translator team where every translator can comment and new releases can be announced: https://github.com/orgs/jamulussoftware/teams/translators please "watch" this team as translator to get a notification once a new release is coming up (which will be the case soon, I assume).

@ann0see
Copy link
Member

ann0see commented Feb 17, 2021

Sorry I accidentally removed all translators from the GitHub team. Please re-accept the invitation.

@ann0see
Copy link
Member

ann0see commented Feb 22, 2021

@jose1711 @Martyna27 I've renewed the invitation to the organisation. To the other translators: Soon someone will ping you soon since a release will be made shortly.

@rolamos
Copy link
Contributor

rolamos commented Feb 23, 2021

Hi , I would like to help with the translations into German :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Feature request
Projects
None yet
Development

No branches or pull requests