schlagmichdoch / PairDrop

PairDrop: Transfer Files Cross-Platform. No Setup, No Signup.
https://pairdrop.net
GNU General Public License v3.0
4.52k stars 251 forks source link

Translation (Feature Request) #35

Closed faileador1 closed 1 year ago

faileador1 commented 1 year ago

I would like to translate this docker container into spanish. Actually i'm translator of another open projects here in github like stashapp.

If you implement template variables for text strings I will translate them into spanish.

Thanks for your hard work with this tool. Faileador.

schlagmichdoch commented 1 year ago

Thanks a lot for offering to help! Any proposals what structure, tool or template to use for translation? https://crowdin.com ?

faileador1 commented 1 year ago

Oh no, thank you for your hard work with PairDrop.

Many open projects are using https://weblate.org/ for this purpose. Is an excellent tool, translated into many languages and its interface is very friendly for standard users.

farline99 commented 1 year ago

Thank you for your work ❤️. PairDrop needs a Russian translation. If only there was a Weblate...

comradekingu commented 1 year ago

There is, but it is empty as of right now https://hosted.weblate.org/projects/pairdrop/#components

schlagmichdoch commented 1 year ago

I‘m going to set up either Weblate or Transifex during the next week as I’m currently testing out which is suiting the project better. I will keep you updated!

comradekingu commented 1 year ago

Transifex is not suitable in any capacity IMO…

farline99 commented 1 year ago

We need Weblate. Definetly 💯🙂

schlagmichdoch commented 1 year ago

Transifex is not suitable in any capacity IMO…

Why is that? It seems to offer a similar set of features and is used by big names like Collabora among others

comradekingu commented 1 year ago

@schlagmichdoch Collabora is doing both https://explore.transifex.com/collabora-productivity-ltd/collabora-office-libreoffice-windows-group-policy-template-amdx/ and more recently https://hosted.weblate.org/projects/collabora-online/#languages On the Weblate side you can gauge for yourself how well it is going for every string, and/or check the stats or breakdown of issues. Transifex only gives coverage, and it doesn't have that, so I guess it could all be going a lot better ideally. I'll see you at the other side of reading the terms and services, and if you don't want to or stop once it gets bonkers, I guess we are done there.

Subjecting translators to what is the direct opposite of PairDrop and leaving it there to unravel is not a winning move.

Having features not implemented right is more similar to missing features. Transifex treats the user like the hand in between the nail and the hammer. When you have a lot of crucial features implemented in an inept and compounding way you get Transifex. Some still use it, but then again those are also moving or planning on it. (?) The more poignant question is if anyone has had success using it… Meanwhile Tor, elementary, Nextcloud, VLC etc. all failed on Transifex for reasons why it is different from functional software. It isn't even software in the traditional sense, it is proprietary SaaS with hot garbage terms, and even worse enterprise plans. The service even for those paying 6-figure dollar amounts yearly is awful. There are no moved to Transifex projects, but the ones going the other way do much better. Where in this albeit circumstantial evidence are we trying to master Transifex? I have years and years using it from top to bottom every day, and the experience of how stable it is for changes made i that timeframe.

( @kylethedeveloper @Xue-JW ) The Transifex experience is that of not being able to span multiple lines, browse multiple languages at once, having to sort through deleted suggestions that might be implementations found elsewhere, needless lineshifts between source and translation, a non-threaded messaging system, or a comment system that nobody looks at, user roles instead of functional quality control, hierarchy navigation, no insight without logging in. In the home of the drive-by translator, endlessly everything must be kept pristine every day at tremendous extra cost for no more than any individual translator. We could go on and on.

Crowdin does dictionaries well, and it similarly doesn't ever have things go right because once you ask volunteers to not only accept all those egregious terms and services, but also overcome the tool and its basic structural flaws in a lack of community fashion and hope the broken default logic of the voting system won't dig your hole deeper, you get Crowdin results. Even the better option Pontoon is a non-starter, because it mimicked the UI. I haven't used Crowdin professionally, but those are not at all immune to errors as a result of the tool. The libre software translators I know of that mostly volunteer for projects are far better than what one could hope to commission for any money from the places I've seen.

There are even some very basic that could very well work for very basic things. The good translators aren't using those, and then it is even harder to extract quality results. At that point auto-translations are actually preferable. From the end-user with the software point of view, the hard part is getting in right, which goes far beyond using the better tools available. The tool won't save you, but it will ruin your day.

farline99 commented 1 year ago

😉

schlagmichdoch commented 1 year ago

@comradekingu Thanks for the thorough argument! I guess weblate it is then 😉

@everyone: It took me a while but it PairDrop is now ready to be translated! 🎉

https://hosted.weblate.org/projects/pairdrop/#components

Please tell me if everything works as expected! I have just applied for the free hosting for open-source projects at weblate.org and I am waiting for their answer. I will keep you posted.

farline99 commented 1 year ago

Can't add Russian language. It says "no permission to start new translation".

schlagmichdoch commented 1 year ago

Not sure where to find the setting to open the project up. I have added a russian translation for you. Can you translate strings now?

https://hosted.weblate.org/projects/pairdrop/pairdrop-spa/

farline99 commented 1 year ago

Yeah, as of now I can work with Russian language 😉

farline99 commented 1 year ago

The Russian language is done. However, I could not translate the strings from the GitHub, Buy me a coffee, twitter and about buttons, because these lines simply did not appear on Weblate. Thank you for listening to users ❤️

comradekingu commented 1 year ago

@schlagmichdoch Going with GPLv3-or-later is a good idea, since it allows more flexibility on the stuff that can be brought in, and possible better licenses, like AGPLv3, or GPLv4 down the road.

Moreover, https://hosted.weblate.org/projects/pairdrop/pairdrop-spa/#information says "LGPL", when it should be "GPL".

It can be changed in https://hosted.weblate.org/settings/pairdrop/pairdrop-spa/ which also shouldn't be a dictionary/glossary, as that makes it harder to translate.

Feel free to add "kingu", and I can try to find other improvements to make.

schlagmichdoch commented 1 year ago

Thanks a lot!

@farline99 I have added the missing strings. I wasn't sure whether it was useful to translate them at first.

@comradekingu I have changed the licence to GPLv3 or later and have removed the glossary checkmark.

If I get your go I will merge the russian translation into v1.8.0

farline99 commented 1 year ago

Thanks a lot!

@farline99 I have added the missing strings. I wasn't sure whether it was useful to translate them at first.

@comradekingu I have changed the licence to GPLv3 or later and have removed the glossary checkmark.

If I get your go I will merge the russian translation into v1.8.0

Thank you, I'll finish this evening and it will be possible to use it in the next release 🙂

farline99 commented 1 year ago

Job is done. Of course you can use this translation in 1.8.0 (current version), what a question. Thank you for maintaining this project. It is awesome ❤️❤️❤️

AkkoYK commented 1 year ago

@schlagmichdoch Please add a Chinese translation so that I can work with it.

schlagmichdoch commented 1 year ago

@AkkoYK Here you go https://hosted.weblate.org/projects/pairdrop/pairdrop-spa/zh_Hans/

AkkoYK commented 1 year ago

@AkkoYK Here you go https://hosted.weblate.org/projects/pairdrop/pairdrop-spa/zh_Hans/

Thank you! The translation work has come to an end.

kylethedeveloper commented 1 year ago

@schlagmichdoch Can you add Turkish language? I'd be happy to contribute.

schlagmichdoch commented 1 year ago

@kylethedeveloper Here you go: https://hosted.weblate.org/projects/pairdrop/pairdrop-spa/tr/

Thanks for contributing! :tada:

schlagmichdoch commented 1 year ago

@comradekingu I have a problem with the language files.

Apparently, Weblate saves all files in a BCP style with hyphens as separators. Sadly, some of those language codes do not match exactly with the language codes provided by browsers.

Is there a setting in Weblate that I'm missing to change the language codes to those provided by browsers? Can we change the language code in hindsight or do we have to regenerate the language files?

schlagmichdoch commented 1 year ago

@comradekingu friendly nudge

comradekingu commented 1 year ago

I have wondered this myself. I think it may work anyway? nb-NO is more correct, as "nb_NO" is the UTF-8 locale. It is more of a Weblate problem, that arose when I think Chromium started doing it.

With a whitelist it becomes impossible to start translations of "conflicting locales" on the user side (from Weblate).

Whatever the workaround is, it can be done in "Language aliases" https://hosted.weblate.org/settings/pairdrop/#workflow

as per https://docs.weblate.org/no/latest/admin/projects.html#project-language-aliases

schlagmichdoch commented 1 year ago

Awesome, thanks! I got it working by doing the following:

  1. Adding nb:nb_NO,zh-CN:zh-Hans as language aliases
  2. Renaming the repo files (nb-NO.json-> nb.json & zh-Hans.json -> zh-CN.json)
  3. Using Rescan all translation files in the Weblate repository in the weblate component settings at https://hosted.weblate.org/projects/pairdrop/pairdrop-spa/#repository

After some more tweaks we finally have a working version with English, Norwegian, Russian, and Chinese enabled: https://pairdrop-dev.onrender.com/

@comradekingu @farline99 @AkkoYK please test whether everything works as expected.

@kylethedeveloper If you want the Turkish version soon, I need you to add some more translations first

farline99 commented 1 year ago

@schlagmichdoch for some reason on Firefox Android the language does not change to Russian. Everything is fine in Chrome. Also, we need the ability to manually switch the language, 100%. Thank you ❤️

schlagmichdoch commented 1 year ago

@farline99 Thanks for testing!

Firefox Android seems to stick to the system language instead of using the language selected in its settings.

I added a language picker to the UI. What do you think? https://pairdrop-dev.onrender.com/

farline99 commented 1 year ago

Picker is good, but it definetly needs duplication of language names into English. Let's say Русский (Russian). Also, add a Select Language line to Weblate so that it can be translated too.

Edit: Also noticed that if you don't give permission to show notifications, a notification appears (notification permission has been blocked as the user etc...), the text of which can't be translated on Weblate either.

schlagmichdoch commented 1 year ago

Translations will soon be released alongside another new major feature: Temporary Public Rooms #150

@farline99 The current state including the language picker and reworked dialogs can be found here: https://pairdrop.onrender.com

Feel free to test everything out and give feedback on the issue page.

Upon your request, I have added the English translations of the language names. The "Select Language" and "System Language" strings were already in the English language file on the branch. I will the strings to Weblate tomorrow.

@Everyone These bigger changes also mean that some of the strings have been slightly changed and new ones were added. I would love to see everyone adding the translations before release.

I will keep you updated when the strings will be available in Weblate.

schlagmichdoch commented 1 year ago

@farline99 @kylethedeveloper @comradekingu @AkkoYK @ann0see Thanks a lot for contributing by translating PairDrop!

PairDrop v1.8.0 is near release and packed with translations and temporary public rooms. The current state can be found here: https://pairdrop.onrender.com

The new feature added some new strings to Weblate and I would be very grateful if you would translate them in the next days.

I plan on releasing v1.8.0 and deploy it to pairdrop.net on Monday.

Many thanks!

ann0see commented 1 year ago

https://pairdrop.onrender.com/ doesn't seem to show German yet.

schlagmichdoch commented 1 year ago

True! I'll activate it after adding the German strings by merging #139

farline99 commented 1 year ago

Russian translation is updated and ready for production!

AkkoYK commented 1 year ago

@schlagmichdoch Chinese translation has been updated as well. Ready for production!

schlagmichdoch commented 1 year ago

This is finally merged and released as v1.8.0 :tada: Therefore, I'll close this!

Feel free to enter the discussion about technical strings here: #152

schlagmichdoch commented 1 year ago

Apparently, I missed to add three strings :roll_eyes:

I'll add them as soon as you have translated them.

farline99 commented 1 year ago

No "Temporary Public Room" string to translate :D Other are ready.

schlagmichdoch commented 1 year ago

I give up :wink: Added via 9a7ee95. You can find it now in Weblate. Thanks!

farline99 commented 1 year ago

Russian is ready.

UnifeGi commented 1 year ago

I also want to translate into Romanian, got kinda of confused about the "permission" that can't be added.

schlagmichdoch commented 1 year ago

@UnifeGi I added Romanian for you to translate. Thanks for contributing!

ch3thanhs commented 10 months ago

Hi @schlagmichdoch, I would like to translate PairDrop to the Kannada language, can you please add it?

schlagmichdoch commented 5 months ago

The following comments were deleted by GitHub (via hubot) as part of mistakenly marking this account as spam on 17th February 2024. The correct thread order and the creation date is unclear. I decided to manually restore them anyway in order to complete the information this issue holds even though the restored information might be outdated:

Comment by @schlagmichdoch:

I have just added it to Weblate: https://hosted.weblate.org/projects/pairdrop/pairdrop-spa/kn/

Happy translating and thanks for your contribution!