Skip to content

i18n: split Thinking key — toggle label vs streaming status need different translations #2621

Description

@thedavidweng

Checks

  • I have searched existing issues and discussions

Area

UI / UX

Problem statement

A single Thinking catalog key serves two different UI roles with different grammar:

  1. Model-picker toggle label (ModelPickerView.thinkingOptionRow, incl. the accessibility label) — a noun/name context. In zh-Hans the progressive 「正在思考」 reads wrong here; it should be the noun 「思考」.
  2. Streaming status title (NativeThinkingView, FloatingInputCard accessibility) — an in-progress context where 「正在思考…」 is correct.

One translation cannot fit both. German has the same tension in reverse (Denkt nach verb form used as a settings label), Korean/Russian happen to use noun forms (생각 / мышление) that fit the label better than the status.

Proposed solution

Add a dedicated key for the toggle, e.g. Thinking mode, used by thinkingOptionRow (title + accessibility label); keep Thinking for the streaming status views. Seed zh-Hans/zh-Hant with 「思考」/「思考」 and mark de/ko/ru/es/ja as needs_review so translators can supply the proper label form (I don't want to guess German/Korean/Russian label wording unilaterally).

Alternatives considered

  • Keep the single key and pick one global wording: leaves either the toggle or the streaming title reading unnaturally in zh (and de).
  • Split with machine-translated de/ko/ru labels: risks shipping wrong grammar in 3 locales; prefer translator input.

Additional context

Spotted while translating Media settings + welcome prompts to zh-Hans (forthcoming PR from the same contributor). The toggle screenshot: model picker → Model Options → 「正在思考 / 让模型在回答前进行推理」.

Contribution

  • I would be willing to submit a PR for this feature (after key-name/label consensus here)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions