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

support even more database languages: Spanish, Esperanto, Japanese #462

Closed
De7vID opened this issue Jul 2, 2018 · 26 comments
Closed

support even more database languages: Spanish, Esperanto, Japanese #462

De7vID opened this issue Jul 2, 2018 · 26 comments

Comments

@De7vID
Copy link
Owner

De7vID commented Jul 2, 2018

Requested languages are: Spanish, Esperanto

Currently the app supports: English, German
Partial support exists for: Swedish, Russian, Persian, Chinese (Hong Kong)

@LievenLitaer
Copy link
Collaborator

Regarding growing possiblities, would it make sense to start working with "language packages"? Or is that too complicated?

@De7vID
Copy link
Owner Author

De7vID commented Jul 2, 2018

The existing database code on Android wasn't originally designed to work with multiple languages, and needs to be rewritten to scalably support so many languages.

Making different packages for different languages is a possibility, and is related to this issue: De7vID/klingon-assistant-android#20

@De7vID
Copy link
Owner Author

De7vID commented Jul 9, 2018

Japanese was requested.

@De7vID De7vID changed the title support even more database languages support even more database languages: Spanish, Esperanto, Japanese Jul 9, 2018
@kechpaja
Copy link

I can contribute to Finnish and Hungarian, although it may be a bit slow going (so don't worry about opening them right this minute).

@De7vID
Copy link
Owner Author

De7vID commented Jul 23, 2018

No more languages are going to be added until the database code is rewritten to be able to support more languages.

@kechpaja
Copy link

Is that something I could theoretically contribute to without having access to either Apple dev tools or an Android phone?

@De7vID
Copy link
Owner Author

De7vID commented Jul 23, 2018

You mean to contribute a language or to rewrite the database code? To make code changes you'd need to be able to build the Android app, to make sure your changes work.

@kechpaja
Copy link

The latter. I run Linux, and don't have any other OS on my computer; I also have an iPhone and thus can't test on Android. If you'd accept pull requests that have only been tested on an Android simulator/in a VM, I could theoretically try and help at some point, but I won't be able to do actual device testing.

@kechpaja
Copy link

And I probably can't do Apple anything without shelling out a lot of money.

@dadap
Copy link

dadap commented Jul 23, 2018 via email

@De7vID
Copy link
Owner Author

De7vID commented Jul 23, 2018

The Android code is fairly fragile since the SQL file is just built into the app. I had originally never intended it to support anything other than Klingon-English, so German and other subsequently added languages are just stored in columns tacked on at the end. The database requires blank columns even when the data for an entry don't exist. The format should probably be changed to resemble the json format used for iOS: with the localised versions of a column grouped together (so instead of definition [en], definition_de, definition_sv, and so on, there would be one definition with subfields en, de, sv, etc.).

@De7vID
Copy link
Owner Author

De7vID commented Jul 23, 2018

While it's possible to program an Android app using Linux and emulation, unless you're very familiar already with Android (or at least some kind of mobile platform) programming, it might be quite difficult.

@oooooooooooooooooooooooppppppssssss

I'm already working on checking the German definitions, but I would be happy to complete Jamaican Patois. In about a week I would be able to work on it for an extended period of time.

@De7vID
Copy link
Owner Author

De7vID commented Aug 3, 2018

As I noted above, I can't add any more languages. The set of supported languages is frozen until the database code is rewritten.

(I've been getting a lot of crash reports since adding the post-German languages, as the database size and format is causing problems on older devices.)

@oooooooooooooooooooooooppppppssssss

Oh ok. Hope you find a good solution.

@De7vID
Copy link
Owner Author

De7vID commented Aug 18, 2018

Just for record-keeping: French was requested.

@De7vID
Copy link
Owner Author

De7vID commented Aug 18, 2018

Each additional language adds more than 100k to the app's binary, so a solution is definitely needed to split the languages into independently downloadable packages before we can proceed.

@De7vID
Copy link
Owner Author

De7vID commented Aug 18, 2018

Also, before translating any vocabulary, it would be good to translate the app's UI first.

The UI is currently available in English, Klingon, German, Spanish, Italian:
https://github.com/De7vID/klingon-assistant-android/tree/master/app/src/main/res

That reminds me, Italian was actually requested a long time ago, but I forgot to add it to this bug.

@De7vID
Copy link
Owner Author

De7vID commented Aug 18, 2018

These are the current (Aug. 18, 2018) percentages of the Android app's users by language/country:

English (United States) | 47.10%
German (Germany) | 19.20%
English (United Kingdom) | 9.70%
English (Canada) | 3.70%
Italian (Italy) | 2.30%
Spanish (Spain) | 1.90%
English (Australia) | 1.80%
French (France) | 1.40%
Russian (Russia) | 1.40%
German (Austria) | 1.10%

@De7vID
Copy link
Owner Author

De7vID commented Aug 19, 2018

Also forgot to mention that Chinese was requested by the Taiwan Star Trek club. That's the reason Hong Kong Chinese was added, since I know Hong Kong Chinese so it's easier to drive to completion. However, there are slight dialect differences between Hong Kong and Taiwanese Chinese, so eventually they'll have to be separated, at which point probably China Chinese can be added as well. But that's blocked by both the completion of the Hong Kong Chinese data and also refactoring the database code to accept language packages.

@De7vID
Copy link
Owner Author

De7vID commented Dec 24, 2019

I would strongly encourage anyone who wants a new language to be added to first translate the UI strings.

@De7vID
Copy link
Owner Author

De7vID commented Jul 13, 2020

The next release will fully support Portuguese. This will undoubtedly cause compatibility problems with some older devices, but it's been 2 years since the database format was changed so most people should be running devices which can handle a larger binary. I made the decision to add Portuguese support because someone volunteered to translate all of the entries and did.

@De7vID
Copy link
Owner Author

De7vID commented Jul 29, 2020

An update to the above comment about crashes: it seems that since 2018, a number of bugs have been fixed in Android and devices have gotten more powerful, so that it's now possible to add new languages, which was how it was possible to add Portuguese.

However, due to the legacy APIs used, the addition of new languages is still highly inefficient. (Every user has to download the data for every language, regardless of whether they use them or not. This is Android app issue #20.)

Anyway, I'm willing to add additional languages if someone is committed to translating all (let's say > 99%) of the entries and submitting them at once, as was done for Portuguese.

@De7vID
Copy link
Owner Author

De7vID commented Sep 29, 2020

Finnish added in De7vID/klingon-assistant-data#417.

@De7vID
Copy link
Owner Author

De7vID commented Sep 29, 2020

Please check with me before starting to translate the entire database. I don't want to be in a position to have to turn down someone's work after it's been done, but I also don't want to force users to download data they don't need.

@De7vID
Copy link
Owner Author

De7vID commented Nov 25, 2022

These are the current percentages for Android, for language-country combinations with over 1% of users:

English (United States) | 44.56%
German (Germany) | 20.3%
English (United Kingdom) | 10.21%
English (Canada) | 3.54%
Italian (Italy) | 2.64%
English (Australia) | 2.19%
Portuguese (Brazil) | 1.66%
French (France) | 1.51%
Russian (Russia) | 1.51%
Spanish (Spain) | 1.35%
German (Austria) | 1.18%

Congrats to Portuguese (Brazil) for breaking the 1% barrier.

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

No branches or pull requests

5 participants