-
Notifications
You must be signed in to change notification settings - Fork 85
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
Add Bokmål (Norwegian) keyboard #135
Comments
Word counts via Data/check_language_data.sparql:
|
The ISO 639-1 for Bokmål is |
Can I work on this issue? |
Hey @gkprasanth! You'd be welcome to work on this :) This would definitely be a beneficial language to add into Scribe. Do you have experience with Bokmål? It's fine if you don't so long as you understand that there will be some research for how the grammar works. I'm currently working on another project right now, but should switch back to looking at Scribe next week. At that point I'd have more time to support. For now feel free to ask questions on the process above if you have them 😊 Thanks for reaching out! |
I don't have any idea about scribe or |
I am ready to research or learn anything if needed in order to contribute. |
There is a lot to be done for this, and it's all detailed in the I could add that new app for you in the next few days if that sounds good. Aside from that, the question is how much Swift or Python you know. Would be happy to give you some pointers on either, but Swift is what the keyboard app is written in, and Python is how the data we get from Wikidata is manipulated. I can also send along some resources for learning those languages if you'd like to practice a bit and we can be in touch from there! |
Thank you so much, @andrewtavis, for your kindness. I am familiar with Python's syntax, but I am not familiar with Swift. If you could provide me with the resources as you said, it would be really helpful. As I've already stated, I'm willing to learn anything to be able to contribute. |
Sounds great, @gkprasanth! The data process for this should be able to help you learn some more Python, but first I need to get it to that point. I need to catch up with some other issues, but I'll write to you here next week 😊 |
Okay done. Till then do you want me to learn on work on something? Or should I just clone the project and look at the source code? |
I'd say cloning the project and checking out the source code would be enough for now. Specifically the Python work is actually done in Scribe-Data. You can check the Bokmål directory there to see the examples of the words we'd be getting out. In each of the directories we'd need to write Python scripts to format the data extracted from Wikidata appropriately, with there being tons of examples for the other languages that Scribe supports :) |
Let me know if you have any questions or would like some learning resources! |
I have seen the python files inside scribe-data and honestly I am not able to understand any of the code written there since this is my first time looking into a project. It's too intimidating looking at code more than a 100 lines. |
I'd say that the tutorial for Python would be a good place to start so that you have a good idea of what the code is saying. If you check that out then we can have better discussions about what's happening in the code, and I'd be happy to explain some of the parts to you :) |
Thanks for sharing this I will start working Python and then look into this project so that I can get better understanding of what exactly is this about. |
Good luck! You can also check the video of the app on the readme. Basically what Scribe is is keyboards that help second language learners when they forget grammar points. So some languages have masculine, feminine or neutral nouns that you need to remember their genders, or there's also verbs that need to be conjugated that are hard to remember, but with Scribe it's all in the keyboard. The goal is to continue to improve the current app so that people don't need to leave their keyboard to use the web or another app to check for things they're forgetting in a language they're learning. With that also comes data privacy as well, as the team has no interest in collecting user data :) The Python scripts you see are formatting data that we get from Wikidata, which is a giant database from the Wikimedia Foundation that also makes Wikipedia. We get semi structured data from Wikidata, and then use Python to prepare it for the app. It's an iOS app, so it's written in Swift, but we also are slowly working on an Android version in Kotlin. Hope that makes some sense! |
Thanks for the information it was necessary for me before looking into the code😊 |
Very welcome, @gkprasanth! Happy to explain and support as I can 🙂 |
@andrewtavis I have created Bokmål and added BokmålKeyboardViewController.swift file which contains class |
should I create BKCommandVariables.swift and BKInterfaceVariables.swift files along with directory names data and info.plist? |
Hi @gkprasanth :) I'll make the directory with the info.plist next week, and then you can add Just wondering, are you an iOS or an Android user? Thanks for the efforts so far! |
I am an android user👽 |
Simply put, I have no idea how I ended up looking into an iOS open source project. I'll look at the swift code of other languages' InterfaceVariables and CommandVariables files and try to understand the code until you create those directories . |
You could also look into Scribe-Android a bit if you'd like? We're working on releasing the keyboard for Android over there, and you'd be able to work on something that you could one day test/use :) Up to you, but I find it much easier to work on things that I can one day play around with 😊 |
The repo for that is here. I'd suggest you look into the Kotlin docs a bit before you start, but that language is how Android is going to be developed for the next 5+ years, and has tons of more applications :) Would be a great time investment for you, and the issues there are a bit more lower level as it's earlier stage :) |
Yeah I would love to.. |
You can definitely do commits to both, but I'd definitely pick one to focus on :) If you want to make apps for yourself some day, then sounds like Android would be the way to go 😊 Have you taken a look at the Kotlin docs? I did them a few months ago and found them very helpful. |
Yes |
Actually I am into web development so for that I have to learn javascript so right now it's like I have learn many things at once. |
I totally understand learning too many things at once 😅 I'll make the directory for you next week so that you can make those commits, and we can see where it goes from there. As far as looking into new languages, as you are an Android user I would definitely suggest Kotlin and to take the time to go through the docs, but happy to work with you on whatever 🙂 |
I genuinely appreciate that, thank you so much, man. I'll research Kotlin and try to contribute as much as I can to both repos. |
It’s tough at the start! Keep at it :) Trust me coding takes these kind of tutorials from start to finish again and again. I just did one a few weeks ago 🙃 Best thing is that each one you do makes the next a bit easier :) |
Yeah I have to give time for that and learn properly. |
Hi @andrewtavis any update on those folders? I gave a long break due to some personal reasons and I would again like to start working on this. |
Hi @gkprasanth, thanks for writing again :) First and foremost, I hope that everything ok with you and am wishing you the best! Sorry the folder has taken so long, and I really do appreciate your interest in this :) Let me work on getting that in here now 😊 It'll just be the base folder as we discussed so that you can add the files in and we can work from there :) |
Yesss😊 |
Alright, @gkprasanth! Here we go 😊 Keyboards/LanguageKeyboards/Norwegian has now been created and is ready for us to start working on :) Norwegian has also been set up as an option within the Scribe app, so as of now a person can go into their settings and select a A first commit that can be made is that we need to add a reference to the main KeyboardViewController to LanguageKeyboards/Norwegian/NBKeyboardViewController.swift as is done in the other languages. From there we need to make A note for myself for future releases, going into the Thanks again to your commitment to this issue! It really is commendable 👏 Looking forward to working more on all this with you :) :) |
d86e465 makes a simple change to they keyboard name so that it's |
Mee too |
Yup I will look into it now |
I am Vaishnavi Dasika. I am interested contributing to Wikimedia as a part of Google Summer of code. I wish to take up this issue and work on it. Super excited to work with the community! |
Hi @Dasika-Vaishnavi, thanks for writing and your interest in Scribe! I would submit your application to GSoC as soon as possible. The application deadline may soon close, but a new application did just make it through (I just checked). Happy to work on this with you regardless of if you're able to apply 😊 |
Terms
Language support
Norwegian is another language that has a lot of available data on Wikidata that further has grammar structures that Scribe could really serve. There are three genders - masculine, feminine and neutral, but verb conjugation is more similar to Danish and Swedish meaning that the 2x2 conjugation display would likely be used.
Of note is that there are two written forms of Norwegian - Bokmål and Nynorsk. This issue would focus on Bokmål as there is dramatically more support for it on Wikidata at time of writing (roughly 85% of Norwegians use Bokmål), but another issue to make a Nynorsk keyboard would be welcome 😊
Contribution
I'd be happy to work on this, and it may be focussed on in a future release :)
What's needed
BokmålKeyboardViewController.swift
fileNBInterfaceVariables.swift
in the above directoryNBCommandVariables.swift
in the above directoryData
directory in the new directory and updating the data table in the readmeThe text was updated successfully, but these errors were encountered: