Skip to content

Add context to FwAvaloniaStrings - #1178

Open
papeh wants to merge 2 commits into
mainfrom
feature/FwAvaloniaStringContext
Open

papeh wants to merge 2 commits into
mainfrom
feature/FwAvaloniaStringContext

Conversation

@papeh

@papeh papeh commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Copy <summary>s from FAS.cs to <comment>s in FAS.resx for inclusion in Crowdin context. Both screen-reader strings' contexts were missing important details that were present in their summaries. Several other strings had summaries that would be helpful for localizers.

REVIEW: not all of the context is relevant. Much is helpful. Is any confusing?

Co-authored-by: Copilot (Chat GPT)


This change is Reviewable


Devin

Copy <summary>s from FAS.cs to <comment>s in FAS.resx.

REVIEW: not all of the context is relevant. Much is helpful. Is any confusing?
@papeh
papeh force-pushed the feature/FwAvaloniaStringContext branch from 4a9653f to 4ad3d1f Compare October 13, 2026 17:35
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

NUnit Tests

    1 files  ±  0      1 suites  ±0   8m 21s ⏱️ - 2m 1s
6 840 tests +245  6 755 ✅ +245  85 💤 ±0  0 ❌ ±0 
6 849 runs  +245  6 764 ✅ +245  85 💤 ±0  0 ❌ ±0 

Results for commit 0de7a83. ± Comparison against base commit a90754c.

This pull request removes 28 and adds 273 tests. Note that renamed tests count towards both.
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ TabIntoAMultiWsRow_VisitsBothWritingSystemsBeforeAdvancing
FwAvaloniaTests.LayoutImportCoverageTests ‑ ShippedLayouts_UnresolvedParts_AreExactlyTheLegacyUnresolvableSet
FwAvaloniaTests.XmlLayoutImporterDropDiagnosticsTests ‑ SublayoutElement_RaisesInfoDropDiagnostic
LexTextDllTests.AiAnalysisExportListenerTests ‑ Export_UnloadableGrammar_ThrowsAndWritesNothing
LexTextDllTests.AiAnalysisExportListenerTests ‑ Export_WritesTheGrammarAndMarksTheRequestHandled
LexTextDllTests.GrammarExportLoadLoggerTests ‑ InvalidPhoneme_AddsAMessage_DoesNotThrow
LexTextDllTests.GrammarExportLoadLoggerTests ‑ InvalidStrata_AddsTheReasonToTheMessage
SIL.FieldWorks.Common.FwUtils.AiAnalysisExportRequestTests ‑ Constructor_SetsTextsFolderAndGrammarPath_LeavesHandledFalseAndMessagesEmpty
SIL.FieldWorks.Common.FwUtils.AiAnalysisExportRequestTests ‑ Messages_CanBeAppendedByASubscriber
SIL.FieldWorks.IText.FlexTextExporterTests ‑ ExportTexts_OnAThreadPoolThread_WritesTheFileWithoutThrowing
…
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ ArrowsInAMultiWsRow_DoNotLeaveItsFirstOrLastEdge
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ EditingAwayTheRtlFirstRun_FlipsTheParagraphToTheNewFirstRunsDirection
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ EmptyingAnRtlParagraph_KeepsItsDirection
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ LeftAndRightAtTheTextEdges_MoveBetweenWritingSystems
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ LeftAndRightAtTheTextEdges_MoveBetweenWritingSystems_InEditableRows
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ ReplacingTextInAnRtlFirstRun_KeepsTheParagraphRtl
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ RtlStructuredTextParagraphWithDisplay_CrossesAtItsOwnEdges
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ RtlStructuredTextParagraph_CrossesAtItsOwnEdges
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ ShiftTabFromALaterParagraph_LeavesTheField
FwAvaloniaTests.Detail.DataTreeTabNavigationIntegrationTests ‑ ShiftTabFromALaterWritingSystem_LeavesTheRow
…

♻️ This comment has been updated with latest results.

@codecov-commenter

codecov-commenter commented Oct 13, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 39.94%. Comparing base (a90754c) to head (0de7a83).
⚠️ Report is 22 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1178      +/-   ##
==========================================
+ Coverage   39.49%   39.94%   +0.44%     
==========================================
  Files        1537     1542       +5     
  Lines      354392   355217     +825     
  Branches    41058    41329     +271     
==========================================
+ Hits       139974   141887    +1913     
+ Misses     185044   183993    -1051     
+ Partials    29374    29337      -37     

see 108 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@papeh
papeh marked this pull request as ready for review October 23, 2026 16:01

@jasonleenaylor jasonleenaylor left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@jasonleenaylor reviewed 1 file and all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on papeh).

The comments carried over from the doc comments named classes, used
code markup that Crowdin shows as literal text, and in a few places
described the wrong control. They now say what each string is and
where it appears.

- AudioRecordingReadOnly is a tooltip, not a placeholder.
- LaunchDialog and LauncherUnavailable belong to the settings gear.
- CharacterStyle, WritingSystem, Link and DeleteEmbeddedObject are
  right-click menu items, not buttons.
- Chooser.EmptyItemLabel asks translators to match "<Empty>" in the
  WinForms choosers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jasonleenaylor

Copy link
Copy Markdown
Contributor

To your question: the confusing parts were implementation notes carried over from the doc comments, so I pushed 0de7a83 to reword them for translators instead of leaving suggestions. Each comment now says what the string is and where it appears, without class names (PopupTreeManager, ShortSoundFieldControl, ORC, TsString), <see cref>/<c> markup that Crowdin shows literally, or "legacy".

A few comments also described the wrong control: AudioRecordingReadOnly is a tooltip, LaunchDialog is the settings gear, and CharacterStyle, WritingSystem and Link are right-click menu items. Change anything that reads wrong to you.

This comment was assisted by Claude Opus 5.5.

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.

3 participants