Conversation
…sition to abbreviation
Thank you for the pull request! 💙The Scribe-iOS 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 :) |
|
@catreedle, would you be able to look into the merge conflicts and we can review this in the sync? |
|
We can also fix the merge conflicts together in the sync, if you'd prefer to do that :) |
Contributor checklist
xcodebuildandswiftlint --strictcommands as directed in the testing section of the contributing guideDescription
This PR migrates the iOS keyboard's conjugation and declension systems from hardcoded implementations to a dynamic, JSON contract-based architecture.
Added:
Keyboards/KeyboardsBase/DynamicConjugationViewController.swift - Dynamic view controller that handles both conjugation and declension navigation
Keyboards/DataManager/ConjugationManager.swift - Parses conjugation JSON contracts and builds navigation structures
Keyboards/DataManager/DeclensionManager.swift - Parses declension JSON contracts and builds navigation structures
Keyboards/KeyboardsBase/NavigationStructure.swift - Defines NavigationNode and NavigationLevel structures for recursive navigation
Keyboards/DataContracts/de_declensions.json - German declension contract
Keyboards/DataContracts/ru_declensions.json - Russian declension contract
Updated Keyboards/KeyboardsBase/KeyboardViewController.swift to use new dynamic system, removed old hardcoded conjugation/declension state
Removed stale variables and functions from Keyboards/KeyboardsBase/ScribeFunctionality/Conjugate.swift
Related issue