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

Translation (Feature Request) #35

Closed
faileador1 opened this issue Feb 19, 2023 · 46 comments
Closed

Translation (Feature Request) #35

faileador1 opened this issue Feb 19, 2023 · 46 comments
Labels
enhancement New feature or request

Comments

@faileador1
Copy link

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 schlagmichdoch added the enhancement New feature or request label Feb 19, 2023
@schlagmichdoch
Copy link
Owner

schlagmichdoch commented Feb 19, 2023

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

@faileador1
Copy link
Author

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
Copy link
Contributor

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

@comradekingu
Copy link
Contributor

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

@schlagmichdoch
Copy link
Owner

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
Copy link
Contributor

comradekingu commented Jun 22, 2023

Transifex is not suitable in any capacity IMO…

@farline99
Copy link
Contributor

We need Weblate. Definetly 💯🙂

@schlagmichdoch
Copy link
Owner

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
Copy link
Contributor

comradekingu commented Jun 22, 2023

@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
Copy link
Contributor

😉

@schlagmichdoch
Copy link
Owner

@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
Copy link
Contributor

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

@schlagmichdoch
Copy link
Owner

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
Copy link
Contributor

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

@farline99
Copy link
Contributor

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
Copy link
Contributor

comradekingu commented Jul 7, 2023

@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
Copy link
Owner

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
Copy link
Contributor

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
Copy link
Contributor

farline99 commented Jul 7, 2023

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
Copy link
Contributor

AkkoYK commented Jul 19, 2023

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

@schlagmichdoch
Copy link
Owner

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

@AkkoYK
Copy link
Contributor

AkkoYK commented Jul 19, 2023

@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
Copy link
Contributor

kylethedeveloper commented Jul 24, 2023

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

@schlagmichdoch
Copy link
Owner

schlagmichdoch commented Jul 25, 2023

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

Thanks for contributing! 🎉

@schlagmichdoch
Copy link
Owner

@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.

  • Language - Weblate - Browser
  • Norwegian - nb-NO.json - nb
  • Chinese (simplified) - zh-Hans.json - zh-CN

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
Copy link
Owner

@comradekingu friendly nudge

@comradekingu
Copy link
Contributor

comradekingu commented Aug 28, 2023

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
Copy link
Owner

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
Copy link
Contributor

@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
Copy link
Owner

@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
Copy link
Contributor

farline99 commented Aug 30, 2023

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
Copy link
Owner

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
Copy link
Owner

@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
Copy link
Contributor

ann0see commented Sep 14, 2023

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

@schlagmichdoch
Copy link
Owner

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

@farline99
Copy link
Contributor

Russian translation is updated and ready for production!

@AkkoYK
Copy link
Contributor

AkkoYK commented Sep 16, 2023

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

schlagmichdoch added a commit that referenced this issue Sep 18, 2023
Add two major features: Translation #35 & Temporary Public Room  #55
@schlagmichdoch
Copy link
Owner

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

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

@schlagmichdoch
Copy link
Owner

Apparently, I missed to add three strings 🙄

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

@farline99
Copy link
Contributor

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

@schlagmichdoch
Copy link
Owner

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

@farline99
Copy link
Contributor

Russian is ready.

@UnifeGi
Copy link

UnifeGi commented Sep 20, 2023

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

@schlagmichdoch
Copy link
Owner

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

@ch3thanhs
Copy link
Contributor

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

Repository owner deleted a comment from schlagmichdoch Feb 17, 2024
@schlagmichdoch
Copy link
Owner

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!

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

No branches or pull requests

9 participants