Skip to content
This repository has been archived by the owner on Feb 16, 2023. It is now read-only.

Translation of Paperless-ng #212

Open
jonaswinkler opened this issue Dec 29, 2020 · 83 comments
Open

Translation of Paperless-ng #212

jonaswinkler opened this issue Dec 29, 2020 · 83 comments
Labels
help needed This is stuff that I cannot do myself.

Comments

@jonaswinkler
Copy link
Owner

jonaswinkler commented Dec 29, 2020

In an effort to provide Paperless-NG in multiple languages, I've started a translation project at crowdin, which is free for open source projects.

https://crowdin.com/project/paperless-ng (please head over to paperless-ngx)

I will provide English and German translations, but will be unable to provide anything more than that. If you wan't to see paperless in your own language, please help out! The project page shows the current languages of paperless. If you want a new language added to the project, either mention me in this issue or post a message in the discussion section at crowdin.

Some notes about translation.

  • There are two resources. "src-ui/messages.xlf" is what contains the translation strings for the front end. This is important. "django.po" contains strings for the administration section of paperless, which is nice to have translated.
  • Keep in mind that most of these strings are used on buttons, menu items, etc. The translated string should therefore not be much longer than the English original.
  • Translation units may contain placeholders. These usually mean that there's a name of a tag or document or something in the string. You can click on the placeholders to copy them.
  • Translation units may contain plural expressions such as {PLURAL_VAR, plural, =1 {one result} =0 {no results} other {<placeholder> results}}. Copy these verbatim and translate only the content in the inner {} brackets. Example: {PLURAL_VAR, plural, =1 {Ein Ergebnis} =0 {Keine Ergebnisse} other {<placeholder> Ergebnisse}}
  • Changes to translations in crowdin will get pushed into the repository automatically.
@jonaswinkler jonaswinkler pinned this issue Dec 29, 2020
@jonaswinkler jonaswinkler added feature request New feature or request Front end help needed This is stuff that I cannot do myself. labels Dec 29, 2020
@jonaswinkler jonaswinkler changed the title Translation of Paperless-NG Translation of Paperless-ng Dec 29, 2020
@jonaswinkler jonaswinkler added this to the 1.1 milestone Dec 30, 2020
@jonaswinkler
Copy link
Owner Author

I found it pretty hard to find good German translations for some of the terms in paperless. This usually indicates that the given term might not be the best one to use in English and we should consider finding better terms for some features.

  • Saved View: This was "Saved filter" before, but since it also includes sorting, I renamed it to this.
  • Matching algorithm: Is it clear what this is? We're used to saying "to match a regex against something", therefore "Matching". Maybe it's just me failing to find a good translation.
  • Any, All, Fuzzy, etc. I don't think its very clear what these do without consulting the documentation. Can we do better?

I'd like to hear about these (and maybe other) from some native English speakers.

@qcasey
Copy link

qcasey commented Dec 31, 2020

Are you looking to replace Saved View with something different? That one seems quite clear.

Any, All, Fuzzy, etc. I don't think its very clear what these do without consulting the documentation. Can we do better?

Even after reading the docs I have no idea what Fuzzy match can provide, especially in contrast to Auto. Misspellings maybe?

Contains All / Contains Any might be a little clearer. Similarly Exact Match might be better than Literal.

@qcasey
Copy link

qcasey commented Dec 31, 2020

This may be a different discussion, but if you're up for change, would something like this translate well? Perhaps with "Auto" as the default and with the lower items hidden, while "Search" brings up the extra options?

Regardless, I think some examples should show up in the Match field's placeholder/hint text.

Screenshot from 2020-12-30 20-01-21

Screenshot from 2020-12-30 19-58-36

@jonaswinkler
Copy link
Owner Author

jonaswinkler commented Dec 31, 2020

Are you looking to replace Saved View with something different? That one seems quite clear.

Alright, good to know!

Even after reading the docs I have no idea what Fuzzy match can provide, especially in contrast to Auto. Misspellings maybe?

That searches for terms that are similar to the provided matches. possibly useful for when OCR messes up. I never used it though.

Regarding the screenshots:

"When document contains DROPDOWN of the following" is hard to translate, and doesn't really work for "exact match" or "regex". However, providing much longer names for the algorithms in the drop down might be the key here.

@shamoon
Copy link
Contributor

shamoon commented Dec 31, 2020

I think he's also asking about #164 . Do you remember what the issue was with hiding it? I can take a look if you want, I see theres a lot of other stuff going on right now!

@jonaswinkler
Copy link
Owner Author

Not sure. I just couldn't hook up the disabled attribute with the reactive form model.

Btw, localization support is on the development branch now. The next release will have localization support. Paperless will then support English, German, and any language that's sufficiently translated (untranslated strings will appear in English). Translating the .xlf file is mandatory, the .po is nice to have.

@shamoon
Copy link
Contributor

shamoon commented Jan 2, 2021

Yea that localization tool seems awesome, crazy how fast you got all that spun up, seems like will be very straightforward for people to add other languages. Sorted out that other thing, I think.

@jonaswinkler
Copy link
Owner Author

image

First language complete! 👍

Regarding language updates: I'll get pull requests whenever you feel like updating translations in transifex.

@jonaswinkler
Copy link
Owner Author

image

@jovandeginste
Copy link
Contributor

image

First language complete! +1

Regarding language updates: I'll get pull requests whenever you feel like updating translations in transifex.

Sadly, it mistook my name and mail address :( Anyway, nice! ;-)

@jovandeginste
Copy link
Contributor

Why is "Name" not translated?

@jonaswinkler
Copy link
Owner Author

Missed that one. Fixed. It will reuse existing translations.

@jonaswinkler
Copy link
Owner Author

jonaswinkler commented Jan 5, 2021

Sadly, it mistook my name and mail address :( Anyway, nice! ;-)

I was unaware of that until I've seen this info pop up in the generated PRs, and at that point it was already too late. You can configure your mail address to not show up in translation files. Very annoying that this is turned off by default.

@jovandeginste
Copy link
Contributor

Yes, I was unaware too :-)

@jonaswinkler
Copy link
Owner Author

@jovandeginste @Philmo67 @zjean

I'm not entirely sure how update notifications are handled with this tool - do you get any? I added a couple strings to the tool that cover added and changed features. I'll be doing some more testing in the next few days before getting this out.

@Philmo67
Copy link

Philmo67 commented Jan 6, 2021

@jonaswinkler
No notification from transifex. I didn't change any notification setting though.
Let's get back to work :-)

@jovandeginste
Copy link
Contributor

@jonaswinkler Are you planning to show the possible languages into the currently selected language? One issue I have with that, is that if I accidentally pick the wrong language (eg. Mandarin Chinese), it may take a long time to find a language I actually understand, to have a workable system 😉

My 2 cents: either

  • show the language in it's own language (never translated - if I don't understand Mandarin, there is no use for me to be able to read it in the list of available languages)
  • show both: Nederlands (荷蘭語) (In case I selected Mandarin - I hope this is correct, since I just used Google translate...).
  • always show in English as second: Nederlands (Dutch) - no matter what language I have currently selected

@jonaswinkler jonaswinkler removed Front end feature request New feature or request labels Jan 7, 2021
@jonaswinkler jonaswinkler modified the milestones: 1.1, 1.0 Jan 7, 2021
@jonaswinkler
Copy link
Owner Author

Are you planning to show the possible languages into the currently selected language? One issue I have with that, is that if I accidentally pick the wrong language (eg. Mandarin Chinese), it may take a long time to find a language I actually understand, to have a workable system

If you're referring to why the actual names of the supported languages are in the translation strings: That's suggested by the documentation of the framework I used (django). I'm not using that anywhere, yet.

@artjomsimon
Copy link

German users: Should "tag" be translated to something different? I know that "Tag" is perfectly viable in German, but maybe something different fits better. "Etikett" comes to mind.

I propose Schlagworte, and verschlagworten as a verb.

"Stichwort" seemed close, but there's a compelling argument here (see "Schlagwort oder Stichwort") why it actually wouldn't work as well

@martinpichlo
Copy link

martinpichlo commented Apr 7, 2021

German users: Should "tag" be translated to something different? I know that "Tag" is perfectly viable in German, but maybe something different fits better. "Etikett" comes to mind.

I propose Schlagworte, and verschlagworten as a verb.

"Stichwort" seemed close, but there's a compelling argument here (see "Schlagwort oder Stichwort") why it actually wouldn't work as well

As german native speaker I would prefere to leave it as it is ("tag"). I like a well known short english word more than a long german translation.

@jonaswinkler
Copy link
Owner Author

As german native speaker I would prefere to leave it as it is ("tag"). I like a well known short english word more than a long german translation.

That's what I think too.

@lknop
Copy link
Contributor

lknop commented Apr 11, 2021

@jonaswinkler Could you please add Polish at crowdin? I might be able to add some translation. Thanks.

@jonaswinkler
Copy link
Owner Author

jonaswinkler commented Apr 11, 2021

@jonaswinkler Could you please add Polish at crowdin? I might be able to add some translation. Thanks.

@lknop Done!

@jonaswinkler
Copy link
Owner Author

jonaswinkler commented Apr 13, 2021

@lknop Thanks for translating. I'll add the new locale in the next version.

@lknop
Copy link
Contributor

lknop commented Apr 13, 2021

@jonaswinkler Thanks! This is great news. I don't mind either English or German but the rest of the family will appreciate the localization ;-)

I have been using paperless for a few days only but I know this is the tool I needed for my documents for a very long time! I assumed that something like this must exist but hadn't actually seen a similar system before. I was browsing applications for unraid at https://unraid.net/community/apps?q=paperless# and stumbled upon your project. Keep up the great work!

BTW. I don't know if you noticed, I updated #894 as per your comment

@jonaswinkler
Copy link
Owner Author

jonaswinkler commented Apr 13, 2021

@lknop I certainly noticed, but life has its ways to keep me busy. The new job I picked up isn't exactly 9 to 5 :) I'll catch up with most of the queued things this weekend.

@w0ndersp00n
Copy link

w0ndersp00n commented Apr 18, 2021

I’ve been looking through the Dutch translations, specifically because I didn’t understand what was meant by “etiket”. In Dutch this usually is translated to “label” (Gmail uses that e.g.) or it is simply called “Tags” as well. In Crowdin I changed it to “label”, but don’t know if anyone disagrees. Also noted that some things are translated somewhat to literal, which makes it sometimes harder to understand. E.g. “log” can usually stay that, but is translated to a word that in Dutch could be interpreted as something like “chat message”. I might give it another look, but just wanted to be sure if I can simply edit the translations.
Also Dutch uses a lot of English terms, so translating to Dutch is sometimes challenging because of that.

@mweimerskirch
Copy link
Contributor

If you want a new language added to the project, either mention me in this issue or post a message in the discussion section at crowdin.

@jonaswinkler Could you add Luxembourgish (ISO code "lb") to Crowdin please?

@jonaswinkler
Copy link
Owner Author

If you want a new language added to the project, either mention me in this issue or post a message in the discussion section at crowdin.

@jonaswinkler Could you add Luxembourgish (ISO code "lb") to Crowdin please?

Done!

@geniusshiun
Copy link

@jonaswinkler Could you please add Chinese Traditional at crowdin? I might be able to add some translation. Thanks.

@jonaswinkler
Copy link
Owner Author

Done!

@Sherex
Copy link

Sherex commented Sep 10, 2021

Hey @jonaswinkler, just installed paperless-ng and loving it so far!
If you add Norwegian to Crowdin, I'll translate it. :)

@jonaswinkler
Copy link
Owner Author

jonaswinkler commented Sep 10, 2021

@Sherex done!

image

Should I select something different?

@Sherex
Copy link

Sherex commented Sep 10, 2021

Thank you @jonaswinkler!

Ah, I write Norwegian Bokmål, so it's best to select that. :)

@jonaswinkler
Copy link
Owner Author

Alright, I've changed that.

@feidianbo
Copy link

I have already translated it into Chinese and want to know when it can be used :-) @jonaswinkler

@ledakis
Copy link

ledakis commented Oct 29, 2021

Hey @jonaswinkler can you add Greek language please? I will start to slowly translate 😃
Thanks!!

@lewisleedev
Copy link

@jonaswinkler I can provide Korean translation of the project!

@thehijacker
Copy link

I can do Slovenian translation. Please add it to crowdin.

@Lrss
Copy link

Lrss commented Nov 29, 2021

Hi @jonaswinkler, I'll translate it to Danish if you'll add it to Crowdin.

@munzirtaha
Copy link

@jonaswinkler Seems a great piece of work. I will start testing it and translate to Arabic. However, I noticed there is different Arabic translations. This only make sense for locales so it customize things like number and currency formats. For translation, Arabic language is the same whether in Saudi Arabia, Egypt, Bahrain or Yemen. So, please leave one of the them, e.g Saudi Arabia and remove the others so no duplication work would happen. Thanks.

@shamoon
Copy link
Contributor

shamoon commented Feb 17, 2022

📣 Calling all translators, a group of us are trying to keep this project going—including translation! If you are willing to help please join at: https://crwd.in/paperless-ngx / https://github.com/paperless-ngx/paperless-ngx

Thank you 🙏

@Lrss
Copy link

Lrss commented Feb 17, 2022

What is the purpose of paperless-ngx, isn't paperless-ng still maintained?

@shamoon
Copy link
Contributor

shamoon commented Feb 17, 2022

Jonas has not said anything here in more than a year, so it seems not really, no. See #1526 and #1599

tribut pushed a commit to tribut/paperless-ng that referenced this issue Aug 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help needed This is stuff that I cannot do myself.
Projects
None yet
Development

No branches or pull requests