Skip to content

Info form#595

Open
catreedle wants to merge 37 commits intoscribe-org:mainfrom
catreedle:info-form
Open

Info form#595
catreedle wants to merge 37 commits intoscribe-org:mainfrom
catreedle:info-form

Conversation

@catreedle
Copy link
Copy Markdown
Collaborator

@catreedle catreedle commented Mar 2, 2026

Contributor checklist


Description

This PR removes old in-command state keyboard setups from Keyboard.xib and KeyboardViewController and refactor "Not in wikidata" info tooltip to use dynamic key form view.

Changes:

  • Remove unused keys elements from Keyboard.xib, its contraints and fix constraint
  • Remove unused keys elements initiation, its setup, and related functions from KeyboardViewController, change how information tooltip is shown
  • Set up showing information tooltip in DynamicConjugationViewController.swift and NavigationStructure.swift
  • Delete ToolTipViewDatasource.swift, ToolTipViewTheme.swift, ToolTipViewDatasourceable.swift, ToolTipViewUpdatable.swift, ViewThemeable.swift, ToolTipView.swift that are no longer used

Related issue

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 2, 2026

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 General and iOS 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
Copy link
Copy Markdown

github-actions bot commented Mar 2, 2026

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

  • Tests for changes have been written and the CI unit test, linting and formatting workflows within the PR checks do not indicate new errors in the files changed

  • The CHANGELOG has been updated with a description of the changes for the upcoming release and the corresponding issue (if necessary)

@andrewtavis
Copy link
Copy Markdown
Member

So great to have this, @catreedle! Do you want to maybe add in the work for #597 here? I'm realizing we need strings for the "Not in Wiktionary" description for the user. I can add those into Scribe-i18n now and maybe we can make the change so that all of this part is finalized?

@andrewtavis
Copy link
Copy Markdown
Member

The latest commit to main updated Scribe-i18n, @catreedle :) Feel free to use those new strings for the message about Wiktionary not being available, and for the Not in Wiktionary you can just translate the strings for the interface fields :)

@andrewtavis
Copy link
Copy Markdown
Member

Please let me know if you have questions or if you'd prefer to prioritize something else!

@andrewtavis andrewtavis self-requested a review March 5, 2026 02:18
@catreedle
Copy link
Copy Markdown
Collaborator Author

Please let me know if you have questions or if you'd prefer to prioritize something else!

Thank you! I will look into this soon. :)

@catreedle
Copy link
Copy Markdown
Collaborator Author

hi @andrewtavis the change applies to only translation command, right?
conjugate and plural will still use the old messages?

@andrewtavis
Copy link
Copy Markdown
Member

Yes exactly, @catreedle 😊

@catreedle
Copy link
Copy Markdown
Collaborator Author

Yes exactly, @catreedle 😊

Okay. working on it :)

@catreedle
Copy link
Copy Markdown
Collaborator Author

still need to look into the localization, currently the invalid description is always using fallback value.

@catreedle
Copy link
Copy Markdown
Collaborator Author

catreedle commented Mar 5, 2026

it seems that for wikidata, the invalid description follows device's language, not the Scribe's keyboard language. Which language should it follow @andrewtavis ?
as for the wiktionary localizations, it needs to be generated for other languages besides English. is there a script for this?

@andrewtavis
Copy link
Copy Markdown
Member

We don't have a script for this, @catreedle. We can just use an online translator for some of these scripts :) If there's an issue, it can be fixed by the community. We can also check the languages we all speak 😊

@andrewtavis
Copy link
Copy Markdown
Member

Feel free to send along the translations and we should be good to go after that!

@andrewtavis
Copy link
Copy Markdown
Member

andrewtavis commented Mar 7, 2026

Notes from the sync: We do need these texts coming from Scribe-i18n, and for now they do not need to be localized. If they don't have a text in a locale, then it should be defaulted to English :)

What was writtne out:

  • We should only use the keyboard language
  • Do we hard code the "Not in..." texts into the interface variables, or do we use Scribe-i18n?
  • If we do have localizations for the strings in the keyboard language, then put them in the interface file
  • If we don't, let's hard code them and translate them
  • If we don't have the keyboard, but we do have the localization, then let's make an interface file and just save the strings in the needed variables so that these localizations don't go to waste
  • Then we delete the following strings from Scribe-i18n:
    • i18n.app.keyboard.not_in_wikidata.explanation_1
    • i18n.app.keyboard.not_in_wikidata.explanation_2
    • i18n.app.keyboard.not_in_wikidata.explanation_3
    • i18n.app.keyboard.not_in_wiktionary.explanation_1
    • i18n.app.keyboard.not_in_wiktionary.explanation_2
    • i18n.app.keyboard.not_in_wiktionary.explanation_3

@andrewtavis andrewtavis mentioned this pull request Mar 21, 2026
2 tasks
shabicha and others added 9 commits March 24, 2026 16:44
* chore: add invalidCommandMsgWiktionary variable to language interface files

* fix: show Not in Wiktionary for translate and Not in Wikidata for conjugate and plural

* test: update keyboard styling tests for Wikidata and Wiktionary invalid command messages

* Update Scribe-i18n, use new hard coded strings for not in Wikidata message

* Remove trailing commas

---------

Co-authored-by: Andrew Tavis McAllister <andrew.t.mcallister@gmail.com>
* feat:use swift ui for conjugate app

* chore: removed unncessary files in build phase

* fix:linting issues

* Update ConjugateTab.swift with license header

Removed unnecessary comments and added SPDX license header.

* Update Scribe-i18n to fix merge conflicts

---------

Co-authored-by: Andrew Tavis McAllister <andrew.t.mcallister@gmail.com>
@andrewtavis
Copy link
Copy Markdown
Member

We have conflicts in the .xcodeproj from merging in the download functionality, @catreedle :) Could you fix them?

@andrewtavis
Copy link
Copy Markdown
Member

praise: So great to see all of these deletions here, @catreedle! Amazing work!

one note: As of now the translate command seems to break the keyboard. I can get to the command, but when I enter in text and execute the command the keyboard breaks and reverts to a system keyboard. Could we take a look at this? Maybe it's something having to do with the Wiktionary texts or something like this?

@andrewtavis
Copy link
Copy Markdown
Member

further note, @catreedle: It looks like translate is broken on main... Not sure when this came in, but we can potentially move on from this and open an issue. I'll be merging in something to format the codebase shortly ✨

@andrewtavis
Copy link
Copy Markdown
Member

@catreedle, the merge conflicts are because of the formatting that just went through on the files you're deleting, so hopefully they're able to be fixed. Let us know if you need some support here with them :)

Once this is finalized we can bring this in and make an issue for translate not working 😊

prince-0408 and others added 12 commits March 25, 2026 14:49
…-org#624)

- Replace RadioCircle with CheckDataSpinner component
- Add three states: idle (gray circle), checking (rotating arc + X cancel), checked (filled orange + checkmark)
- Animate spinner using Timer at ~60fps for smooth rotation
- Tap X during check to cancel back to idle
- Auto-transitions to checked state after check completes

Co-authored-by: Andrew Tavis McAllister <andrew.t.mcallister@gmail.com>
scribe-org#628)

* Convert project over to using Swift standard of four spaces and format all files

* Rename swiftlint file

* Edit swiftlint rules - comment out some

* Edit swiftlint rules - ignore some
@catreedle
Copy link
Copy Markdown
Collaborator Author

@catreedle, the merge conflicts are because of the formatting that just went through on the files you're deleting, so hopefully they're able to be fixed. Let us know if you need some support here with them :)

Once this is finalized we can bring this in and make an issue for translate not working 😊

fixed the conflict. sure I will look into that :)


func setDAKeyboardLayout() {}
func setDAKeyboardLayout() {
invalidCommandMsgWikidata = "Findes ikke i Wikidata"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Great to have these :) Thanks, @catreedle!

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.

5 participants