Repository navigation
refactor(i18n): show the Review tab through Fluent - #952
Merged
Merged
Conversation
Part of Phase 2 of docs/i18n.md. review/ is marked migrated: everything the Review tab shows comes from review.ftl, with Fluent selectors for its plurals (files changed, folded lines, a cut-short file, Find's count). - Errors the tab shows (the changes or the base list that could not be read) keep the error and go through localize() when drawn, instead of a to_string() taken when they arrived. - Why a file's lines are missing is an Unreadable enum instead of English text stored in Body::Failed. - An agent that reports no name is None rather than "the agent", so the header says "Notes go to the agent" as one message. - The prompt an agent receives with review notes stays English, marked as data, as page notes' prompt is. Git's operation names (which the vcs error mapping keys on), Git's diff header words, and lockfile names are marked as data too. - The Review tab gains an en-XA leak test: its files, each kind of file it cannot show, a note, Find, and a branch review's base list.
✅ Deploy Preview for herdr-ui canceled.
|
Collaborator
Author
|
|
[Medium impact] The PR appears safe to merge; no new actionable issues were found. SummaryMoves Review tab text into Fluent messages.
The earlier unnumbered finding is fixed: removed-line and sent-note labels now use Fluent, and the test draws both.
Reviews (3) · Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." · Reviewed by Greptile |
This was referenced Nov 1, 2026
…h Fluent Greptile noticed the notes list still appended English "(removed)" and "· sent" to a note's place. Both are messages now, and the Review leak test draws a sent note and one on a removed line.
Collaborator
Author
|
@greptileai review |
# Conflicts: # docs/i18n.md
Collaborator
Author
|
@greptileai review |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Part of Phase 2 of
docs/i18n.md(string migration), following #880, #926, #928, #925, #941, and #943. This PR covers the Review tab. With it,review/is covered by a// i18n: migratedmarker. Two more PRs follow forautomations/andorchestrator/.review/is marked// i18n: migratedas a whole. Its text comes from a newreview.ftl. The checker's count forreviewgoes from 91 to 0. I also reviewed every file by hand for lowercase literals the checker can't see, such as the file status words (new,deleted,renamed,untracked) and the base button'schoose a base.↕ 3 more lines), a cut-short file, and Find's2 of 9+count.localize()when it draws it. Before, it stored ato_string()taken when the error arrived.Body::Failed(String). It is now anUnreadableenum (Change,File,NotFile,TooLarge).label: Noneinstead of the string"the agent", so the header can say "Notes go to the agent" as one message.// i18n: data:diff/parse.rs;set_placeholder_with, so they follow a language change.review/view/tests/en_xa.rsdraws the changed files, each kind of file the tab can't show (binary, large, unreadable, too large), a note in the notes panel, Find in changes, and a branch review whose base list could not be read.docs/i18n.mdis left to main: a final PR updates "What is left" once the i18n PRs merge, so they stop conflicting there.The Send button and the queued line in the notes panel come from
agent_notes, which is another agent's scope, so they still show English.Screenshots
Native macOS captures from a debug build of this branch, run against an isolated sandbox daemon (sandboxed HOME and XDG directories). The sandbox has a scratch repository with one modified and one untracked file. The tab was opened with
herdr-gpui review, and the language was switched withherdr-gpui language set; no synthetic input was used. File names and code are the checkout's own, so they stay as written.Under en-XB, the chrome mirrors, but the diff's code lines are right-aligned and the header keeps its left-to-right order. That is RTL layout of the diff, which this PR does not change; it is left for a Phase 4 follow-up.
QA
just formatjust cionf6e5581b9(macOS arm64), after merging main: passedleft.pycompletion check:reviewis at 0