Skip to content

fix(mobile): correct Hungarian apply, email channel and GGUF prompt copy - #8409

Merged
iscekic merged 2 commits into
mainfrom
drain/hu-apply-email-gguf-copy
Oct 21, 2026
Merged

iscekic merged 2 commits into
mainfrom
drain/hu-apply-email-gguf-copy

Conversation

@iscekic

@iscekic iscekic commented Oct 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

The Hungarian catalog rendered the shared filter action as the noun for an application, named the email delivery channel as an email address, and used two different words for prompts in the on-device model copy. This changes five values in the Hungarian catalog; keys, placeholders, plural families and every other catalog are unchanged.

  • common.apply (rendered by the session filter sheet and by the security finding filter sheet) is the imperative Alkalmaz.
  • common.email is the channel and field label E-mail. Every call site names the shared English "Email" (the provider label, the invite member field above its nev@ceg.hu placeholder, the spend-alert channel row and its composed switch label), so the channel reads as a channel and the address-specific wording stays in its own login key.
  • modelChat.gguf.help, modelChat.gguf.localPurpose and modelChat.localModels.help describe prompts with the formal utasítás forms already used by the model-chat backend copy, so the on-device model section uses one term with matching possessive and plural forms.

The catalog is edited as a reviewed translation slice; the parity checks are the guard.

Verification

pnpm --filter kilo-app run check:i18n     # check-catalogs: 87 languages, every catalog matches en.json
node tools/i18n/check-plurals.mjs         # every counted message and every locale declares its plural categories
pnpm --filter kilo-app format:check       # oxfmt --list-different src: clean
pnpm --filter kilo-app exec vitest run src/i18n src/components/organization src/components/agents
# 303 test files, 6639 tests passed

Flattened comparison against the base branch: 5 changed values, 0 keys added, 0 removed.

Runtime resolution through the app's own i18next options (Hungarian selected, English fallback configured) returned the new values for all five keys, with the exact key reported by returnDetails:

common.apply = Alkalmaz
common.email = E-mail
modelChat.gguf.help = Töltsön le egy nyílt modellt, és futtassa ezen a telefonon a llama.cpp segítségével. Az utasításai és a válaszai az eszközön maradnak. A modellek nagyok, ezért használjon Wi-Fi-t.
modelChat.gguf.localPurpose = Ezen az eszközön fut a llama.cpp-vel. Az utasítások és a válaszok az eszközön maradnak.
modelChat.localModels.help = Az eszközön futó modellek ezen a telefonon működnek. Az utasításai és a válaszok az eszközön maradnak.

Android emulator, app language set to Hungarian, owned fake account on the local dev stack, screens each read from the accessibility tree and OCR of the captured frame:

  • Session history, session filter sheet: footer buttons read Mégse and Alkalmaz; the action commits the selected filters.
  • Preferences, spend alerts: the channel row reads E-mail, and the switch beside it carries the composed label Küszöbátlépés és E-mail.
  • Chat, manage backends sheet: the on-device models help, the downloadable models help, and the downloaded model row description all render the utasítás wording in one screen.

Screenshots are attached in a follow-up comment.

Proxy answers

The owner's proxy gave these answers in the owner's place.

  1. Question: Prompt term: Hungarian term for "prompts" in the GGUF privacy pair (modelChat.gguf.help + modelChat.gguf.localPurpose). Fact: the same manage-backends sheet renders modelChat.localModels.help right above the GGUF section, and that sentence already says "A kérései és a válaszok az eszközön maradnak." The model-chat backends copy elsewhere (httpMessage "utasítások, válaszok", switchMessage "utasításait", details.localNote "utasítás-gyorsítótár") uses "utasítás" for prompts.
    Answer: "utasítás" across the sheet
    Confidence: 0.55 · Precedent: Keep similar elements consistent and fix the class: the owner asked that "the thought row match the tool call row" and to "fix the class". Using "utasítás" matches the rest of the model-chat backends copy, and localModels.help is in the Hungarian catalog, so it stays within scope.
  2. Question: Address form: Address form for the two GGUF strings. The whole gguf block is formal today ("Töltsön le", "futtassa", "használjon", "Törli ezt a modellt?", "Adjon meg érvényes hivatkozást."). The active modelChat item (fix(mobile): correct Hungarian model chat, notification and billing copy #8187) converts only keys whose siblings are informal and leaves the gguf block formal, so converting these two keys would split the block's register.
    Answer: Keep the gguf block formal
    Confidence: 0.50 · Precedent: Trust the code over documents: "only trust code". The active modelChat item leaves the gguf block formal, so changing only two keys would mix registers in one block. Keep every new possessive formal (-ai), including the localModels.help edit.
  3. Question: Invite field: common.email is rendered by the invite member form field label (en source is also "Email"; English keeps the address-specific wording in the separate login.emailAddress key = "Email address"). How should the invite field read in Hungarian after common.email becomes the channel label?
    Answer: "E-mail" everywhere (brief's option)
    Confidence: 0.75 · Precedent: Do the least work with no drop in quality: "do the least amount of work possible, with no drop in quality". It matches the English source, which shows "Email" above the same placeholder, and needs no new keys.
  4. Question: Apply label: Action label for common.apply, rendered on the session filter Apply button and as the security finding filter sheet's done label. Sibling action labels in common are verbal nouns (Mentés, Másolás, Frissítés), which is why the current "Alkalmazás" reads as "application".
    Answer: "Alkalmaz" (finding + brief)
    Confidence: 0.85 · Precedent: Do the least work with no drop in quality: "skip work that doesn't need to be done". One value covers both call sites, it follows the Hungarian platform convention, and it is what the brief asks for.

The Hungarian catalog rendered the shared filter action as the noun for an
application, the delivery-channel label as an email address, and two terms for
prompts in the on-device model copy.

- common.apply is the imperative "Alkalmaz", rendered by the session filter
  sheet and the security finding filter sheet.
- common.email is the channel and field label "E-mail", matching the English
  "Email" that every call site names.
- modelChat.gguf.help, modelChat.gguf.localPurpose and
  modelChat.localModels.help describe prompts with the formal "utasítás"
  forms used by the model-chat backend copy.
@iscekic iscekic added drain Work item from the findings drain janitor:i18n Janitor finding: mobile copy and catalog checks labels Oct 21, 2026
@kilo-code-bot

kilo-code-bot Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Executive Summary

Reviewed the five Hungarian catalog value edits in apps/mobile/src/i18n/locales/hu.json; all match their English sources, preserve keys, placeholders and register, and align with the call sites for common.apply and common.email, with no correctness, security, or memory concerns found.

Files Reviewed (1 file)
  • apps/mobile/src/i18n/locales/hu.json

Reviewed by deepseek-v4.1-flash-1017 · Input: 42.7K · Output: 6.6K · Cached: 409.6K

Review guidance: REVIEW.md from base branch main

@iscekic

iscekic commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator Author

bot: Captures from the Android emulator running the local dev stack with the app language set to Hungarian and an owned fake account.

  • Session history → session filter sheet: the footer actions read "Mégse" and "Alkalmaz", so the control reads as committing the selected filters.
  • Preferences → spend alerts: the delivery channel row reads "E-mail", and the switch beside it carries the composed label "Küszöbátlépés és E-mail".
  • Chat → manage backends: the on-device models help, the downloadable models help, and the downloaded model row description use one formal term for prompts in a single screen.

@iscekic iscekic added the merge:bot Bot-owned review; merge when ready once readiness passes and a review approves. label Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

drain Work item from the findings drain janitor:i18n Janitor finding: mobile copy and catalog checks merge:bot Bot-owned review; merge when ready once readiness passes and a review approves.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants