abraunegg / onedrive

OneDrive Client for Linux
https://abraunegg.github.io
GNU General Public License v3.0
10.01k stars 860 forks source link

Feature Request: International Language Support #779

Open abraunegg opened 4 years ago

abraunegg commented 4 years ago

One of the major gaps that this client has is support for languages other than English - so that the client output is more understandable and meaningful to non-native English speakers.

I would like to gauge interest in whether it is worth pursuing an "internationalisation" patch to the client, most likely configured as a parameter detected / passed in at compile time + a value switch in the configuration file.

Obviously, to support languages would require a consistent approach to logging messages, have these stored in a specific file, where, depending on the language selected, the right message used.

The only way though to support languages other than English (US, UK, AU etc) would be from the wider folk using the client to contribute a translation and submit a PR, then have this PR reviewed by at least one or two other folk who are that language native speakers.

Initial support that I can think of which might be required:

Thoughts?

Rondom commented 4 years ago

A PR is quite a bit of overhead for "just changing one translation-string". There are quite nice UIs such as https://weblate.org/ which make the process easier.

abraunegg commented 4 years ago

@Rondom Thanks for the suggestion - will have to look into this further as an option

tyger commented 4 years ago

The installation process for Raspbian (on Raspberry Pi) is quite evolved on it's own and it might be to complicated to comprehend for person that is not well familiar with English already.

abraunegg commented 4 years ago

@tyger

The installation process for Raspbian (on Raspberry Pi) is quite evolved on it's own and it might be to complicated to comprehend for person that is not well familiar with English already.

Can you help expand on this?

The installation instructions for Raspbian is really straight forward - and really no differnt to any other Linux OS's as documented - https://github.com/abraunegg/onedrive/blob/master/docs/INSTALL.md#dependencies-raspbian-armhf

Curious as to why you think it is more complex on Raspbian ?

tyger commented 4 years ago

@abraunegg Sorry if I confused you. Well, probably I chose too strong words, what I meant is that even though it doesn't seem too complicated, but being able to walk all the way from installing Raspbian, then build the dependencies, the onedrive client and install it you need at least basic level of English and that is the reality. Hence I'm assuming that it might not be very beneficial. Don't get me wrong, I don't think that installation is more complex on Raspbian, but it's not just sudo apt install onedrive either.

asdf8dfafjk commented 4 years ago

Not a direct answer but some (somewhat incohreent) questions/thoughts...

1) I know no telemetry but do you know if you have mainland chinese users? https://blog.yoocare.com/how-to-access-onedrive-in-china/ says OneDrive is blocked in China but accessible using VPN .

2) Chinese simplified is only used by mainland china so you might want to add two other locales: zh_TW and zh_HK. I know you won't convert yourself but I still figure the following piece of information might come handy if/when you do decide to do i18n.

2a) zh_TW, used in Taiwan, uses traditional chars. ROC and PRC use almost the same language, and in most cases one can convert just traditional characters to simplified characters for non-technical terms to get the PRC version from ROC. Here's a list (just for G, click other chars)- http://www.iicm.org.tw/term/termb_G.htm where the first column is Taiwan Mandarin and second is Chinese Mandarin. (Nothing for "cloud storage" though :)). This list itself is crazy because they use traditional characters even for PRC version .

2b) zh_HK (HKG uses traditional but their language is different).

Also might I suggest using https://github.com/projectfluent/fluent if you decide to go down this path? Made by mozilla, and I've heard good things about it. No D API right now but you could call rust code using FFI (If I'm free I might be able to help you ...)

Adding to weblate suggestion, there is also crowdin (never used either ... )

asdf8dfafjk commented 3 years ago

@abraunegg I might be able to provide (really terrible) chinese (simplified) translations if you want. The first step to plan would be extracting out the word list in english

abraunegg commented 3 years ago

In the next few weeks I will be submitting a PR to provide international language support as this is long overdue.

Initially, support will be for the following languages:

I am looking for folk to do the following:

Once done, adding a new language will require:

  1. Updating the application code to reference the new translation
  2. Translating each of the application responses (100+) into the new language for correct application output

I will be looking to the community to assist here with creating new language translations.

@deskpronto This might be a better approach to ensure your language updates for Portuguese are included by default, and you do not have to maintain a separate fork & constantly make changes when a new application version is released.