Skip to content

fix(studio): translate unavailable reasons as sentences - #2036

Merged
MODSetter merged 1 commit into
MODSetter:devfrom
fukalous:fix/studio-unavailable-translations
Sep 29, 2026
Merged

MODSetter merged 1 commit into
MODSetter:devfrom
fukalous:fix/studio-unavailable-translations

Conversation

@fukalous

@fukalous fukalous commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

What

  • replace runtime composition of translated model-name fragments with two complete fallback messages
  • cover both catalog shapes: chat-only and chat-plus-image
  • remove the five unused fragment keys and translate the two new sentences in every shipped locale
  • remove the resolved Known gap from the localization architecture doc

Why

The Studio fallback inserted independently translated noun phrases into Needs {models}. Languages with case agreement could not translate that sentence correctly because each phrase was translated without its sentence context. studioCatalog() currently produces only two requirement shapes, so two complete messages cover the full fallback surface.

Fixes #1968

How to test

  • corepack pnpm exec vitest run --environment jsdom (49 files, 301 tests passed)
  • corepack pnpm exec eslint .
  • corepack pnpm exec tsc -b
  • corepack pnpm run translations:verify
  • node scripts/check_translations.mjs
  • python scripts/check_docs.py

AI disclosure

This PR was implemented and reviewed by an AI coding assistant. No independent human review is claimed.

High-level PR Summary

This PR fixes a localization issue in the Studio feature where model requirement messages were composed at runtime by joining translated fragments, preventing proper grammatical case agreement in languages like German. The fix replaces five translation keys with two complete sentences covering both requirement shapes (chat-only and chat-plus-image), updates all shipped locale files, adds test coverage for the new fallback messages, and removes the resolved known gap from the localization architecture documentation.

⏱️ Estimated Review Time: 15-30 minutes

💡 Review Order Suggestion
Order File Path
1 docs/architecture/localization.md
2 surfsense_local/frontend/src/features/studio/studio-panel.tsx
3 surfsense_local/frontend/src/features/studio/studio-panel.test.tsx
4 surfsense_local/frontend/translations/en.json
5 surfsense_local/frontend/translations/de.json
6 surfsense_local/frontend/translations/es.json
7 surfsense_local/frontend/translations/fr.json
8 surfsense_local/frontend/translations/hi.json
9 surfsense_local/frontend/translations/ja.json
10 surfsense_local/frontend/translations/ko.json
11 surfsense_local/frontend/translations/pt-BR.json
12 surfsense_local/frontend/translations/ru.json
13 surfsense_local/frontend/translations/zh-CN.json

Need help? Join our Discord

@vercel

vercel Bot commented Sep 29, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Sep 29, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 7f89a637-cc58-4c2d-934c-50bb55fd081c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@MODSetter
MODSetter merged commit 0027906 into MODSetter:dev Sep 29, 2026
16 of 18 checks passed
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.

2 participants