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

Added Gujarati language layout #27

Open
wants to merge 23 commits into
base: main
Choose a base branch
from

Conversation

Abcd1234-dot
Copy link

@Abcd1234-dot Abcd1234-dot commented Jan 27, 2024

What is it?

  • Bugfix
  • Feature
  • Codebase improvement

Description of the changes in your PR

  • Added Guajarati Language Layout. Make sure that there's no syntax error. I can't compile source code to apk, so it would be nice if you provide compiled apk with these changes to test.

Fixes the following issue(s)

Acknowledgement

@@ -204,6 +205,7 @@ fun Context.getKeyboardLanguageText(language: Int): String {
LANGUAGE_FRENCH_BEPO -> "${getString(R.string.translation_french)} (BEPO)"
LANGUAGE_GERMAN -> getString(R.string.translation_german)
LANGUAGE_GREEK -> getString(R.string.translation_greek)
LANGUAGE_GUJARATI -> getString(R.string.translation_gujarati)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This string doesn't exist. You should add it in Commons in https://github.com/FossifyOrg/Commons/blob/master/commons/src/main/res/values/strings.xml. When creating a pull request in Commons, please mention that it's for this one.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, I just have to add similar line there?? That's it? I created PR there too.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's ok now.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please provide compiled apk to test when you finish these changes.

@naveensingh
Copy link
Member

@kumarayush2104 Hi! Do you know some Gujarati? If yes, can you test the suggested changes in this PR?

@kumarayush2104
Copy link

@naveensingh I will test and provide you results as soon as possible

@kumarayush2104
Copy link

kumarayush2104 commented Feb 6, 2024

@Abcd1234-dot @naveensingh Sorry for the delay.

There are many problems in this pull request:

  1. Try writing some words which uses half consonants like Sneha. You will not be able to write it.
  2. Try writing some words which start with vowels like Ayush, Astha, Unnati. You will not be able to write them.
  3. Users face difficulty in finding consonants after થ, like they have to hold each button to find consonants.

@Abcd1234-dot
Copy link
Author

Abcd1234-dot commented Feb 7, 2024

@kumarayush2104 Thank you for your testing. Here are my thoughts :

  • I already mentioned pop up keys issue in issue Add Gujarati language layout #22, it is more convenient to use shift key as page 1/2 key as there are many characters to fit into the layout and it is really a hassle to write with pop-up characters every time. I have also added gujarati language recently into OpenBoard helium314 fork and there was already a shiftkey status selector, so there will be different characters for shift ON and shift OFF state. That would be a good way to solve this pop up keys issue. But its up to developers.
  • I am not sure why you can not write half alphabets. You have to add " ્" (which you can find at the right bottom of keyboard) after that specific character to make it half character just like in case of Sneha (સ + ્ + ન + ે + હ + ા)
  • I have also added every vowel into pop up keys as well, so there should be no issue writing any vowel as well. You just need to find it into pop-ups. Another issue with the pop-up is, user can't see what is the pop-up key without try to long press, like there should be a hint or something as it is present for number row, numbers are visible as small hints on the first row of characters when number row is off which can be accessible via pop-ups.

@naveensingh
Copy link
Member

Sorry, closed it accidentally as a result of FossifyOrg/Commons#30

@naveensingh
Copy link
Member

@Abcd1234-dot I resolved the conflicts and fixed some layout issues. I also removed the (unused) shift button from the Gujarati layout so you can fit in more characters on the bottom line if you want to. I don't speak the language myself so here's an APK:

keyboard-fdroid-release.zip (GitHub doesn't support APKs, rename to keyboard.apk and install)

@Abcd1234-dot
Copy link
Author

Abcd1234-dot commented Jun 11, 2024

@naveensingh Thank you!! I will revert you back within short time.

Alright i tested the apk file you just tagged in previous reply. It is still very difficult and inconvenient to fit all characters properly within the space (even with no shift key!) (so either we have to use long press to pop-up which is not good for typing at all as @kumarayush2104 described or we can try the change i am proposing). So I propose a change in keyboard!! Rather than removing shift key, can we use it as "page 1/2" key?? Just like shift ON shows capital letters and shift OFF shows small letters (For English language), we can make shift key to show one set of (Gujarati) letters for ON state and another set of (Gujarati) letters for OFF state. This will solve similar "too many alphabets" issue for all languages permanently. I have added Gujarati Language to HeliBoard keyboard (another open source keyboard for android, fork of Openboard) with same functionality. I attach screenshots of Heliboard with Gujarati Language below (you can see how many characters to fit!!!).

For Shift ON
Screenshot_20240611-110446_1_1

For Shift OFF
Screenshot_20240611-110442_1

@naveensingh
Copy link
Member

Rather than removing shift key, can we use it as "page 1/2" key??

Yes but creating paged layouts will require some code restructuring. I'll be back to this after the initial release.

@tenextractor
Copy link

@Abcd1234-dot Wouldn't it be better to follow the InScript standard with some modifications to make it mobile-friendly, instead of creating a different layout?

@Abcd1234-dot
Copy link
Author

@Abcd1234-dot Wouldn't it be better to follow the InScript standard with some modifications to make it mobile-friendly, instead of creating a different layout?

It is not exactly "new layout", i made it very close to GBoard layout of same language with slight change, it would be convenient because most people would be switching from GBoard to other keyboards and GBoard layout makes typing easier on phone compared to desktop layouts of same language. I do not have technical knowledge to use or change InScript standard layout tho.

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

Successfully merging this pull request may close these issues.

Add Gujarati language layout
5 participants