-
Notifications
You must be signed in to change notification settings - Fork 3
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
Comments
Regarding growing possiblities, would it make sense to start working with "language packages"? Or is that too complicated? |
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 |
Japanese was requested. |
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). |
No more languages are going to be added until the database code is rewritten to be able to support more languages. |
Is that something I could theoretically contribute to without having access to either Apple dev tools or an Android phone? |
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. |
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. |
And I probably can't do Apple anything without shelling out a lot of money. |
The Flutter codebase (for iOS) already supports an arbitrary set of database languages. New database languages can be added without updates to the app. (New UI Languages will require an app update.) I haven’t released the app update to support database languages other than English and German yet, but hope to soon.
You can test Android changes in the emulator without needing an Android phone.
|
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 |
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. |
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. |
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.) |
Oh ok. Hope you find a good solution. |
Just for record-keeping: French was requested. |
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. |
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: That reminds me, Italian was actually requested a long time ago, but I forgot to add it to this bug. |
These are the current (Aug. 18, 2018) percentages of the Android app's users by language/country: English (United States) | 47.10% |
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. |
I would strongly encourage anyone who wants a new language to be added to first translate the UI strings. |
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. |
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. |
Finnish added in De7vID/klingon-assistant-data#417. |
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. |
These are the current percentages for Android, for language-country combinations with over 1% of users: English (United States) | 44.56% Congrats to Portuguese (Brazil) for breaking the 1% barrier. |
Requested languages are: Spanish, Esperanto
Currently the app supports: English, German
Partial support exists for: Swedish, Russian, Persian, Chinese (Hong Kong)
The text was updated successfully, but these errors were encountered: