projectM-visualizer / projectm

projectM - Cross-platform Music Visualization Library. Open-source and Milkdrop-compatible.
https://discord.gg/mMrxAqaa3W
GNU Lesser General Public License v2.1
3.21k stars 365 forks source link

Crowdsourced localization ? #798

Open Cwpute opened 2 months ago

Cwpute commented 2 months ago

Is your feature request related to a problem? Please describe. I'm a french native speaker and would like to share this program with my friends but they are not necessarily used to having english in their apps.

Describe the solution you'd like Put this project up on a online translation tool like Weblate (preferrable, free and FOSS) so contributors like myself could provide translation for this software's user-facing strings.

Describe alternatives you've considered Other solutions include Crowdin, which has a very user-friendly interface, free for FOSS project, but proprietary at its core.

kblaschke commented 2 months ago

Definitely a good idea.

This would first of all require to add some kind of translation feature into the code, as all strings are currently hard-coded. Sadly, there's no cross-platform way of doing it, at least not without using larger C++ frameworks like Qt. The next best thing is GNU GetText/libintl, which probably will be the one we'll use.

The projectM core library (which is in this repository) most probably won't need translation. If any, then for the error messages, given applications choose to display these to users as-is, which isn't very likely.

This leaves the frontends using SDL2 and Qt. The latter can make use of Qt's own localization methodology (using Qt Linguist to translate strings, which is also FOSS/GPL), so this leaves the SDL2 frontend. I've added a specific issue to the app's repository:

https://github.com/projectM-visualizer/frontend-sdl2/issues/77

Cwpute commented 2 months ago

Thank you for redirecting this to the appropriate places ! i'll keep an eye on your issue on the sdl2 repo to contribute later on if the situation evolves in that direction. Maybe use QtLinguist for the Qt frontend when i have some time available, we'll see :)

kblaschke commented 2 months ago

The Qt frontend has other, more pressing issues, as it doesn't really work anymore (needs proper fixes for Qt 6 and an update to projectM 4, plus other things), so unless someone starts fixing the app, it's not in a state that we could release it to anyone.