-
Notifications
You must be signed in to change notification settings - Fork 93
[FEATURE] - init Indonesian keyboard #508
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
base: main
Are you sure you want to change the base?
Conversation
Thank you for the pull request! 💙The Scribe-Android team will do our best to address your contribution as soon as we can. If you're not already a member of our public Matrix community, please consider joining! We'd suggest that you use the Element client as well as Element X for a mobile app, and definitely join the Note Scribe uses Conventional Comments in reviews to make sure that communication is as clear as possible. |
Maintainer ChecklistThe following is a checklist for maintainers to make sure this process goes as well as possible. Feel free to address the points below yourself in further commits if you realize that actions are needed :)
|
ac4f09d Latest update of i18n files bad9ffc Translated using Weblate (Turkish) (scribe-org#96) 0c6bd83 Do latest JSON conversions to client app files 2c0ee20 Add Indonesian to global languages 62377d4 Add note on conventional comments to PR thank you ef56ab0 Add Telugu and sort keys for campatibility with Weblate PRs 1179787 Translated using Weblate (Turkish) (scribe-org#95) 955283d Sort all JSON files dc21ca8 Translations update from Hosted Weblate (scribe-org#94) 05ae09e Change the json keys to start with i18n.app for all app keys (scribe-org#89) ed999a5 Feature/kannada i18n (scribe-org#93) 6b80dbe feature: added tamil language support (scribe-org#90) 889f779 Update docs for syncing projects git-subtree-dir: app/src/main/assets/i18n git-subtree-split: ac4f09d0d61982f3c6940c8731ec511da6924ef5
|
Hi @andrewtavis, @angrezichatterbox, @DeleMike |
|
Thanks @catreedle ! I will check this out :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again @catreedle ,
praise:
- I love the fact you added an Indonesian tile in the download data screen
- I do not know if Inodesia uses Latin alphabets. do they?
issue to look into:
When I tried to perfom the translation function, I tried to translate "dog" to indonesian, I was hit with
2025-10-27 22:13:36.922 6648-6648 MessageQueue-JNI be.scri.debug E android.database.sqlite.SQLiteException: no such column: id (code 1 SQLITE_ERROR): , while compiling: SELECT `id` FROM `english` WHERE word = ? at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.-$$Nest$smnativePrepareStatement(Unknown Source:0) at android.database.sqlite.SQLiteConnection$PreparedStatementCache.createStatement(SQLiteConnection.java:1562) at android.database.sqlite.SQLiteConnection.acquirePreparedStatementLI(SQLiteConnection.java:1098) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1126) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:686) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:614) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:62) at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37) at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:46) at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1823) at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1755) at be.scri.helpers.data.TranslationDataManager.queryForTranslation(TranslationDataManager.kt:78) at be.scri.helpers.data.TranslationDataManager.getTranslationDataForAWord(TranslationDataManager.kt:51) at be.scri.services.GeneralKeyboardIME.getTranslation(GeneralKeyboardIME.kt:2097) at be.scri.services.GeneralKeyboardIME.handlePluralOrTranslateState(GeneralKeyboardIME.kt:2165) at be.scri.services.GeneralKeyboardIME.handleKeycodeEnter(GeneralKeyboardIME.kt:2136) at be.scri.helpers.KeyHandler.handleEnterKey(KeyHandler.kt:241) at be.scri.helpers.KeyHandler.processKeyCode(KeyHandler.kt:95) at be.scri.helpers.KeyHandler.handleKey(KeyHandler.kt:58) at be.scri.services.IndonesianKeyboardIME.onKey(IndonesianKeyboardIME.kt:40) at be.scri.views.KeyboardView.detectAndSendKey(KeyboardView.kt:1172) at be.scri.views.KeyboardView.onModifiedTouchEvent(KeyboardView.kt:1824) at be.scri.views.KeyboardView.onTouchEvent(KeyboardView.kt:1649)
There is an SQL error in there.
- I also noticed the Indonesian Keyboard omitted the plural and conjugate commands. is that something that was agreed upon?
In summary,
- the keyboard looks nice! does it follow Indonesia writing standards?
- Just ensure that we have our three commands to allow the keyboard stay consistent.
- Fix the sql find issue:
(1) no such column: id in "SELECT `id` FROM `english` WHERE word = ?"
Well done for these great work!!
|
Hi @DeleMike, thank you for looking into this 😊 For the translation error, I would need some help generating the translation database for Indonesian. For the commands, Indonesian doesn't have conjugation or clear plural rules, so I assumed it made sense to omit them, also based on the discussion here. Hope that clarifies things. Let me know if there's anything else. :) |
|
Okay great! And thanks for the clarification @catreedle ✨ You mentioned this in your issue:
I am not sure I understand it. I do understand why conjugation might not work. Is it something we should remove? (this is an edge case) @andrewtavis for the generation of the Indonesian translation database, I’m wondering that the generation should be straightforward (just as the rest) unless there’s a something different we should do. Did you try it out? What did you do? can you weigh in on this @axif0 ? (Concerning the Indonesian translation db). Thanks! Well done for the great work @catreedle ✨ |
|
Here's how I tried to generate it @DeleMike using the CLI
|
There's no clear rule for Indonesian plural, I think scribe-org/Scribe-iOS#322 (comment) |
|
Ah, I see. Can you share with me the Indonesian output? or do you have data? @axif0 , will have more concrete info here :)
Okay, got it :) |
|
here is the Indonesian table @DeleMike :) |
sure :). thank you for confirming the details here @DeleMike :) |
Great! That means that you have your data working. So now, the challenge you are facing is? I would like a small brief again. But I do know that you can just drop the SQLite file in the assets directory. And make sure you process it from your Kotlin code. You will also have to look into your |
|
Yes, that is it. But I do not see the Indonesian column there. it is "in", right? |
|
No, it is not. Indonesia is "id". The TranslationData I generated has a table for each language, but the one for the app has one table with one column for each language. |
|
That is true. I am not sure of the process to combine all generated translation data into one table. How are we gonna do this? @andrewtavis , is there a process for this? The screenshot is from Scribe-Data. It separates one language per table
cc: @axif0 Thanks @catreedle !! ✨ |
|
@DeleMike Thank you! ✨ ✨ |







Contributor checklist
./gradlew lintKotlin detekt testcommand as directed in the testing section of the contributing guideDescription
This PR adds a new Indonesian keyboard to Scribe's supported keyboards.
Related issue