Scribe-Android icon indicating copy to clipboard operation
Scribe-Android copied to clipboard

[FEATURE] - init Indonesian keyboard

Open catreedle opened this issue 2 months ago β€’ 17 comments

Contributor checklist


Description

This PR adds a new Indonesian keyboard to Scribe's supported keyboards.

  • [x] Create new file be/scri/services/IndonesianKeyboardIME.kt
  • [x] Add new db for Indonesian assets/data/IDLanguageData.sqlit
  • [x] Create new be.scri.helpers.indonesian.IDInterfaceVariables
  • [x] Add Indonesian support to
    • be.scri.ui.screens.settings
    • AndroidManifest.xml
    • be.scri.helpers.LanguageMappingConstants
    • be.scri.helpers.data.TranslationDataManager
    • be.scri.helpers.ui.HintUtils
    • xml/method.xml
  • [x] Create new file xml/method_indonesian.xml
  • [x] Create res/xml key_letters file for Indonesian

Related issue

  • #504

catreedle avatar Oct 24 '25 19:10 catreedle

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 General and Android rooms once you're in. Also consider attending our bi-weekly Saturday dev syncs. It'd be great to meet you 😊

[!NOTE] Scribe uses Conventional Comments in reviews to make sure that communication is as clear as possible.

github-actions[bot] avatar Oct 24 '25 19:10 github-actions[bot]

Maintainer Checklist

The 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 :)

  • [ ] The linting, formatting and testing workflows within the PR checks do not indicate new errors in the files changed

    • Tests may need to be reran as they're at times not deterministic
  • [ ] The CHANGELOG has been updated with a description of the changes for the upcoming release and the corresponding issue (if necessary)

github-actions[bot] avatar Oct 24 '25 19:10 github-actions[bot]

Hi @andrewtavis, @angrezichatterbox, @DeleMike would love to have your feedback on this when you have the time, thank you 😊

catreedle avatar Oct 26 '25 09:10 catreedle

Thanks @catreedle !

I will check this out :)

DeleMike avatar Oct 27 '25 20:10 DeleMike

Hi @DeleMike, thank you for looking into this 😊 Yes, we use the Latin alphabet. Some ethnic language(s) have their own alphabet, but the formal national language uses the Latin alphabet.

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. :)

catreedle avatar Oct 28 '25 07:10 catreedle

Okay great! And thanks for the clarification @catreedle ✨

You mentioned this in your issue:

Something that seems to be hard is the plural of nouns :) Thus the Plural key might be of more use to potential Scribe users :)

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 ✨

DeleMike avatar Oct 28 '25 08:10 DeleMike

Here's how I tried to generate it @DeleMike using the CLI Screenshot 2025-10-28 at 15 32 18

Screenshot 2025-10-28 at 15 35 49

and here's the result Screenshot 2025-10-28 at 15 37 19

catreedle avatar Oct 28 '25 08:10 catreedle

You mentioned this in your issue:

Something that seems to be hard is the plural of nouns :) Thus the Plural key might be of more use to potential Scribe users :)

I am not sure I understand it.

There's no clear rule for Indonesian plural, I think https://github.com/scribe-org/Scribe-iOS/issues/322#issuecomment-3390386279

catreedle avatar Oct 28 '25 08:10 catreedle

Ah, I see. Can you share with me the Indonesian output? or do you have data? @axif0 , will have more concrete info here :)


You mentioned this in your issue:

Something that seems to be hard is the plural of nouns :) Thus the Plural key might be of more use to potential Scribe users :)

I am not sure I understand it.

There's no clear rule for Indonesian plural, I think scribe-org/Scribe-iOS#322 (comment)

Okay, got it :) I think we should leave the final decision to @andrewtavis and @angrezichatterbox. Let us know what they think. But I agree with you! Totally makes sense. I just wanted to make sure we are abiding with consistent app design

DeleMike avatar Oct 28 '25 08:10 DeleMike

here is the Indonesian table @DeleMike :) Screenshot 2025-10-28 at 16 03 15

catreedle avatar Oct 28 '25 09:10 catreedle

Okay, got it :) I think we should leave the final decision to @andrewtavis and @angrezichatterbox. Let us know what they think. But I agree with you! Totally makes sense. I just wanted to make sure we are abiding with consistent app design

sure :). thank you for confirming the details here @DeleMike :)

catreedle avatar Oct 28 '25 09:10 catreedle

here is the Indonesian table @DeleMike :) Screenshot 2025-10-28 at 16 03 15


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 DatabaseFileManager.kt file to see how integration works.

DeleMike avatar Oct 28 '25 09:10 DeleMike

Screenshot 2025-10-28 at 16 16 00

question: here is the translation DB in Scribe-Android, so I assumed it should be in this format?

I haven't tried running the app using the newly generated DB, tho πŸ€”

catreedle avatar Oct 28 '25 09:10 catreedle

Yes, that is it. But I do not see the Indonesian column there. it is "in", right?

DeleMike avatar Oct 28 '25 09:10 DeleMike

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.

catreedle avatar Oct 28 '25 09:10 catreedle

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

Screenshot 2025-10-28 at 10 44 12

cc: @axif0

Thanks @catreedle !! ✨ Let's wait a bit :)

DeleMike avatar Oct 28 '25 09:10 DeleMike

@DeleMike Thank you! ✨ ✨

catreedle avatar Oct 28 '25 09:10 catreedle