-
Notifications
You must be signed in to change notification settings - Fork 69
[Conjugation, Epic] Add functionality to switch conjugation views #268
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
Comments
@angrezichatterbox, I decided to just make one issue here, which will end up being a bit long, but then the information used to do one language is then more easily referenced when doing the rest 😊 |
I unblocked this and #270, @angrezichatterbox, as I guess if we wanted to populate the display first and then insert without the ability to switch the views then we can also go that route. Let's maybe discuss the next steps in the sync tomorrow! 😊 |
I will pick this and #270 up. |
Thanks for continuing to take on the most important issues, @angrezichatterbox! 🚀 |
Addition of auxiliary verbs before in the conjugate forms in perfect tense is specific to German language right ? |
Exactly, @angrezichatterbox :) Maybe another language 8000 later will have a similar functionality, but for now it's just German 😊 |
Wouldn't it be better if we can have the formats of the auxiliary verbs as well in the data-contracts ? "3": {
"title": "Perfekt",
"1": { "ich": "[auxiliaryVerb] pastParticiple" },
"2": { "du": "[auxiliaryVerb] pastParticiple" },
"3": { "er/sie/es": "[auxiliaryVerb] pastParticiple" },
"4": { "wir": "[auxiliaryVerb] pastParticiple" },
"5": { "ihr": "[auxiliaryVerb] pastParticiple" },
"6": { "sie/Sie": "[auxiliaryVerb] pastParticiple" }
} So that we could query it easily using it contract itself. |
I think that the contracts must have just not been updated within Scribe-Android, @angrezichatterbox :) This is what's in Scribe-Data: "3": {
"title": "Perfekt",
"1": { "ich": "[auxiliaryVerb] pastParticiple" },
"2": { "du": "[auxiliaryVerb] pastParticiple" },
"3": { "er/sie/es": "[auxiliaryVerb] pastParticiple" },
"4": { "wir": "[auxiliaryVerb] pastParticiple" },
"5": { "ihr": "[auxiliaryVerb] pastParticiple" },
"6": { "sie/Sie": "[auxiliaryVerb] pastParticiple" }
} So looks like we're good to follow this. The current contracts are here :) |
I might be a little confused on how grammar works but. For the finalized output from this would be like I would have the query the auxiliary word based on the lexeme I would get from the word and the different forms. I am a little confused on how to use the word and get the finalized output from it. For Example: I have the word I would like to have some clarity on this. Sorry I'm quite weak in grammar stuffs. |
I might be done with all language except English and German. I am looking into make the entire work-flow better as currently its a little messed up. I would then make a PR. |
Thanks for all your efforts here, @angrezichatterbox! Generally the way that this works is that we always have the same
Any thoughts on how this would be conveyable contractually? Something like |
So if I am thinking right we should extract variables like this. {
"title": "Perfekt",
"1": { "ich": "[indicativePresentFirstPersonSingular] gegangen" },
"2": { "du": "[indicativePresentSecondPersonSingular] gegangen" },
"3": { "er/sie/es": "[indicativePresentThirdPersonSingular] gegangen" },
"4": { "wir": "[indicativePresentFirstPersonPlural] gegangen" },
"5": { "ihr": "[indicativePresentSecondPersonPlural] gegangen" },
"6": { "sie/Sie": "[indicativePresentThirdPersonPlural] gegangen" }
}
Should I fix them to extract like this or can the contract be modified to easily do regex on the column and get the auxiliary verb and type easily. |
But we need to say that this conjugation is on the auxiliary verb. Something like this? {
"title": "Perfekt",
"1": { "ich": "[indicativePresentFirstPersonSingular auxiliaryVerb] gegangen" },
"2": { "du": "[indicativePresentSecondPersonSingular auxiliaryVerb] gegangen" },
"3": { "er/sie/es": "[indicativePresentThirdPersonSingular auxiliaryVerb] gegangen" },
"4": { "wir": "[indicativePresentFirstPersonPlura auxiliaryVerbl] gegangen" },
"5": { "ihr": "[indicativePresentSecondPersonPlural auxiliaryVerb] gegangen" },
"6": { "sie/Sie": "[indicativePresentThirdPersonPlural auxiliaryVerb] gegangen" }
} |
Ya this sounds good. |
I could temporary modify the data-contracts to work around with it right. Until I receive the correct contacts from Scribe-Data. There is a subtree If I remember correct for whatever inside assets folder. |
I don't think we've done a subtree for this yet, actually. Just for Scribe-i18n, but not for the contracts. Feel free to include the update in your PR and then we can finalize it :) What are you thinking for a way to keep this all synced? A watcher on Scribe-Data that checks if the contracts have been updated, and if so PRs are opened in all client applications? |
Okay I would include it in my PR
I suppose that would be great. In addition we would need a check on the frontend application to see if the contract works perfectly for all languages. Probably we are getting output from all the query functions. If we could integrate that into the workflow we could easily merge the changes or bring in changes as required much easily without any hassle. |
Thanks for the thoughts here, @angrezichatterbox! I'll make an issue in Scribe-Data for this 😊 |
How should we handle English conjugation.Earlier we used to have |
Something like this? {
"title": "Perfekt",
"1": { "ich": "[present have] gone" },
"2": { "du": "[present have] gone" },
"3": { "er/sie/es": "[present have] gone" },
"4": { "wir": "[present have] gone" },
"5": { "ihr": "[present have] gone" },
"6": { "sie/Sie": "[present have] gone" }
} |
So If I take the example of the word describe. "1": {
"title": "Present",
"1": { "I": "describe" },
"2": { "you": "describe" },
"3": { "he/she/it": "describes" },
"4": { "we": "describe" },
"5": { "you all": "describe" },
"6": { "they": "describe" }
},
"2": {
"title": "Past",
"1": { "I": "described" },
"2": { "you": "described" },
"3": { "he/she/it": "described" },
"4": { "we": "described" },
"5": { "you all": "described" },
"6": { "they": "described" }
},
"3": {
"title": "Perfect",
"1": { "I": "presentParticiple simplePast" },
"2": { "you": "presentParticiple simplePast" },
"3": { "he/she/it": "presentParticiple simplePast" },
"4": { "we": "presentParticiple simplePast" },
"5": { "you all": "presentParticiple simplePast" },
"6": { "they": "presentParticiple simplePast" }
},
"4": {
"title": "Past Perfect",
"1": { "I": "pastParticiple simplePast" },
"2": { "you": "pastParticiple simplePast" },
"3": { "he/she/it": "pastParticiple simplePast" },
"4": { "we": "pastParticiple simplePast" },
"5": { "you all": "pastParticiple simplePast" },
"6": { "they": "pastParticiple simplePast" }
}
Could I get some idea on how to handle here in such cases for Present, Past, Perfect. How should I get the data in ? |
The thing is that we have this weird situation where it's similar to German in this case where we want to have a version of "have" in there. My example above was incorrect - apologies. Maybe trying to use German as a base? {
"title": "Perfekt",
"1": { "ich": "[indicativePresentFirstPersonSingular auxiliaryVerb] gegangen" },
"2": { "du": "[indicativePresentSecondPersonSingular auxiliaryVerb] gegangen" },
"3": { "er/sie/es": "[indicativePresentThirdPersonSingular auxiliaryVerb] gegangen" },
"4": { "wir": "[indicativePresentFirstPersonPlura auxiliaryVerbl] gegangen" },
"5": { "ihr": "[indicativePresentSecondPersonPlural auxiliaryVerb] gegangen" },
"6": { "sie/Sie": "[indicativePresentThirdPersonPlural auxiliaryVerb] gegangen" }
} But then for English there's only one "auxiliary verb" available to make a perfect tense - to have. So something like: ```json
{
"title": "Present Perfect",
"1": { "I": "[simplePresent have] gone" },
"2": { "you": "[simplePresent have] gone" },
"3": { "he/she/is": "[thirdPersonSingular have] gone" },
"4": { "we": "[simplePresent have] gone" },
"5": { "you all": "[simplePresent have] gone" },
"6": { "they": "[simplePresent have] gone" }
} In this case we're telling it what the verb is as there's only one option. We check to see if the second element in the brackets is in the verb infinitives, and if it is then we conjugate it, or if not we check to see what the Only suggestions above :) Let me know what you're thinking! 😊 |
So the final output would be similar to this I assume. {
"conjugations": {
"1": {
"title": "Present",
"1": { "I": "describe" },
"2": { "you": "describe" },
"3": { "he/she/it": "describes" },
"4": { "we": "describe" },
"5": { "you all": "describe" },
"6": { "they": "describe" }
},
"2": {
"title": "Past",
"1": { "I": "described" },
"2": { "you": "described" },
"3": { "he/she/it": "described" },
"4": { "we": "described" },
"5": { "you all": "described" },
"6": { "they": "described" }
},
"3": {
"title": "Present Perfect",
"1": { "I": "[simplePresent have] described" },
"2": { "you": "[simplePresent have] described" },
"3": { "he/she/it": "[simplePresentThirdPersonSingular have] described" },
"4": { "we": "[simplePresent have] described" },
"5": { "you all": "[simplePresent have] described" },
"6": { "they": "[simplePresent have] described" }
},
"4": {
"title": "Past Perfect",
"1": { "I": "[simplePast have] described" },
"2": { "you": "[simplePas
9E88
t have] described" },
"3": { "he/she/it": "[simplePast have] described" },
"4": { "we": "[simplePast have] described" },
"5": { "you all": "[simplePast have] described" },
"6": { "they": "[simplePast have] described" }
}
}
}
How should the final output be organized in the conjugate tables. Sorry I am a little confused |
No need to apologize whatsoever :) We're figuring this out! The general way that the contract would be read is that the tables would be in the order that they're in the JSON, hence the numeric base keys. So the first is Present, and there are six fields aside from Let me know if this helps! |
For English, How exactly should the conjugations be arranged. For other language they seem to be easily arranged in either 3x2 or 2x2 . For English keyboard in Scribe-iOS I could see 2x2 goes into a 1x2 in some cases. I am a little confused since the data I get is 4 in size and 6 each. So I assumed I would be using 3x2 for all. |
Ya I think we should switch iOS to be all 3x2. Does that make sense? |
It makes sense for now as far as implementation is concerned but was there any specific reason why earlier the divisions were different. |
I think when we were first doing it we were saying that English is only different in one form, so just make it simple and use other views. This is documented in one of the dev sync notes when @Jag-Marcel was doing GSoC (pinging you here @Jag-Marcel as we're discussing doing 3x2 views for all English verb conjugations). I think it does make sense at this point as the conjugations are the same, yes, but there are six "persons". We should be having one field for each of these as a baseline. Will make the decisions easier later on which to include when adding other keyboards/conjugations in Scribe-Conjugate and which not to - we always include all :) |
Uh oh!
There was an error while loading. Please reload this page.
Terms
Description
This is a multi stage epic for allowing conjugations to be shifted between on the various Scribe-Android keyboards.
We'll need to complete this for all the Scribe-Android keyboards:
Once #267 is complete, we'll begin to add in conjugations that should be included in each language based on the data that's being returned from Scribe-Data. The conjugations will be paired with the conjugation views that should be used to display the data.
Contribution
Will be mapping out all of the conjugations that need to be included in each language. From there happy to plan the work and review as needed, and can also potentially help working on some of the languages after we decide on a standard :)
The text was updated successfully, but these errors were encountered: