Skip to content

Commit db19a9e

Browse files
authored
fix(project): restore localized language handling (#1131)
* fix(project): restore localized language labels Restore project page language selector localization on top of the current PR branch. Use native language labels in the selected pill, localize project-page UI/error states, and add plural-aware count strings. Use the current request display language for project page reads and deduplicate language options while preserving native short labels. Deploy: agora, api * fix(translation): preserve display targets Preserve configured target languages even when they match a detected source language. Source detection now contributes to effective display language selection without removing explicitly configured targets.\n\nAlso allow project-inherited conversations to include the auto-detected conversation display language in eager AI description translation targets. This keeps eager AI description translations aligned with the effective display language set for both conversation overrides and project inheritance.\n\nDeploy: api, math-updater, ai-description-retry-worker, description-translation-retry-worker * fix(agora): keep drawer width stable Constrain the Quasar drawer scroll content and sidebar internals so localized navigation labels cannot expand the desktop drawer beyond its configured width. Long French and Spanish menu labels previously widened the scroll area, causing the logo to appear off-center in the visible 200px drawer. Menu labels now truncate within the available drawer width instead of shifting the layout. Verification: cd services/agora && pnpm lint Deploy: agora * fix(project): show activity translations Expose original and machine-translated activity content in the project page activity payload so cards can render the same translation control used elsewhere. Project activity cards now toggle between original and translated conversation content without triggering the surrounding card navigation, preserving click-through behavior for the translation control while keeping the card itself navigable. Generated project page API artifacts were updated for the expanded activity response shape. Deploy: agora, api * refactor(api): clarify translation language flow Include project subtitle text in project content language detection so project source detection uses the full title, subtitle, and body corpus.\n\nCentralize the same-language translation skip helper used by content translation and project pages, and document that conversation target-language rows are the materialized effective target snapshot for workers, including project-inherited settings.\n\nDeploy: api * fix(translation): queue effective content targets Use detected content metadata as read-only output while removing request-side source language settings from create, update, and import flows. Resolve effective multilingual targets separately from configured conversation overrides so project-inherited conversations queue eager translations from project language settings. Keep per-source same-language skips at scheduling time and add queue-mode logging to distinguish eager-visible work from user-interactive lazy requests. Update frontend translation consumers to prefer contentLanguageMetadata, regenerate OpenAPI clients, and refresh the import-worker contract after removing legacy request languageSetting inputs. Deploy: agora, api, import-worker * test(api): cover detector language names Add a regression test for shouldSkipTranslation so raw detector language names such as English compare correctly against display language codes like en. Deploy: none
1 parent fa5070d commit db19a9e

89 files changed

Lines changed: 4745 additions & 1488 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

services/agora/src/api/.openapi-generator/FILES

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,7 @@ docs/ApiV1ConversationCreatePost200ResponseOneOf.md
148148
docs/ApiV1ConversationCreatePost200ResponseOneOf1.md
149149
docs/ApiV1ConversationCreatePostRequest.md
150150
docs/ApiV1ConversationCreatePostRequestExternalSourceConfig.md
151-
docs/ApiV1ConversationCreatePostRequestLanguageSetting.md
152-
docs/ApiV1ConversationCreatePostRequestLanguageSettingOneOf.md
153-
docs/ApiV1ConversationCreatePostRequestLanguageSettingOneOf1.md
151+
docs/ApiV1ConversationCreatePostRequestMultilingualSetting.md
154152
docs/ApiV1ConversationCreatePostRequestSurveyConfig.md
155153
docs/ApiV1ConversationCreatePostRequestSurveyConfigQuestionsInner.md
156154
docs/ApiV1ConversationCreatePostRequestSurveyConfigQuestionsInnerOneOf.md
@@ -183,6 +181,7 @@ docs/ApiV1ConversationFetchRecentPost200ResponseConversationDataListInner.md
183181
docs/ApiV1ConversationFetchRecentPost200ResponseConversationDataListInnerInteraction.md
184182
docs/ApiV1ConversationFetchRecentPost200ResponseConversationDataListInnerInteractionSurveyGate.md
185183
docs/ApiV1ConversationFetchRecentPost200ResponseConversationDataListInnerMetadata.md
184+
docs/ApiV1ConversationFetchRecentPost200ResponseConversationDataListInnerMetadataContentLanguageMetadata.md
186185
docs/ApiV1ConversationFetchRecentPost200ResponseConversationDataListInnerMetadataExternalSourceConfig.md
187186
docs/ApiV1ConversationFetchRecentPost200ResponseConversationDataListInnerMetadataImportInfo.md
188187
docs/ApiV1ConversationFetchRecentPost200ResponseConversationDataListInnerMetadataLanguageSetting.md
@@ -214,7 +213,6 @@ docs/ApiV1ConversationImportActivePost200ResponseOneOf1.md
214213
docs/ApiV1ConversationImportPost200Response.md
215214
docs/ApiV1ConversationImportPost200ResponseOneOf.md
216215
docs/ApiV1ConversationImportPostRequest.md
217-
docs/ApiV1ConversationImportPostRequestLanguageSetting.md
218216
docs/ApiV1ConversationImportPostRequestMultilingualSetting.md
219217
docs/ApiV1ConversationImportStatusPost200Response.md
220218
docs/ApiV1ConversationImportStatusPost200ResponseOneOf.md
@@ -325,6 +323,8 @@ docs/ApiV1ProjectCreateOptionsListPostRequest.md
325323
docs/ApiV1ProjectPageActivitiesFetchPost200Response.md
326324
docs/ApiV1ProjectPageFetchPost200Response.md
327325
docs/ApiV1ProjectPageFetchPost200ResponseActivitiesInner.md
326+
docs/ApiV1ProjectPageFetchPost200ResponseActivitiesInnerMachineTranslation.md
327+
docs/ApiV1ProjectPageFetchPost200ResponseActivitiesInnerOriginalContent.md
328328
docs/ApiV1ProjectPageFetchPost200ResponseActivitiesInnerStats.md
329329
docs/ApiV1ProjectPageFetchPost200ResponseLanguageOptionsInner.md
330330
docs/ApiV1ProjectPageFetchPost200ResponseNextActivityCursor.md

0 commit comments

Comments
 (0)