Commit Graph

5059 Commits

Author SHA1 Message Date
icarus
8f2b3f0bdc feat(i18n): update translation files and add missing plural forms
- Update README to clarify translation maintenance status
- Add missing plural forms in en-us, zh-cn, and zh-tw locales
- Complete machine translations for de-de, ja-jp, ru-ru, pt-pt, es-es, fr-fr, and el-gr
- Convert array to object format for accessibility description in de-de and zh-cn
2025-10-23 21:50:21 +08:00
icarus
91704f2ee9 refactor(translation): simplify translation prompt and function parameters
Remove redundant <translate_input> tags and pass text directly to translate function
Improve logging by showing both original and translated text
2025-10-23 21:50:21 +08:00
icarus
e1aa223e5d feat(i18n): add Simplified Chinese and German language support
Add 'zh-cn' and 'de-de' to language map and log system prompt for debugging
2025-10-23 21:50:21 +08:00
icarus
74eb3141cd feat(i18n): add missing pluralization strings for citations and search results 2025-10-23 21:50:21 +08:00
icarus
9dcaf84da6 refactor(i18n): simplify default translation placeholder
Remove language parameter from default value function since it's unused and simplify the placeholder text
2025-10-23 21:50:21 +08:00
icarus
66e48dbba9 chore: update i18n sync command and vscode settings
- Replace custom i18n sync script with i18next-cli sync command
- Update json sorting setting to use biome formatter
- Format i18n-ally config arrays for better readability
2025-10-23 21:50:21 +08:00
icarus
534459dd13 refactor(sort): replace lexicalSort with naturalSort for better string comparison
Use localeCompare with numeric sensitivity for more natural string sorting behavior
2025-10-23 21:50:21 +08:00
icarus
b2e2acebb1 feat(i18n): add pluralization support for translation strings
- Add singular/plural forms for count-based translation strings
- Update VS Code settings to enable JSON sorting
- Remove unused i18n-ally sortKeys setting
2025-10-23 21:50:21 +08:00
icarus
6b3828f189 fix: correct translation keys and remove unused code
- Fix incorrect translation key paths in MessageVideo component
- Remove commented-out code for unused OCR options in PreprocessProviderSettings
- Simplify success toast message in NotesSidebar by removing count parameter
2025-10-23 21:50:21 +08:00
icarus
5f02822ef2 fix(i18n): remove count interpolation from tool labels
The count values were moved outside the translated strings to simplify localization and improve consistency across languages. The counts are now displayed separately after the translated labels in the UI.
2025-10-23 21:50:21 +08:00
icarus
c0fe0a7774 fix(i18n): improve default translation value handling
Use a function to generate more informative default values for missing translations, showing target language and original value
2025-10-23 21:50:21 +08:00
icarus
c61aec34af chore: update i18next-cli dependency to v1.12.0 2025-10-23 21:50:21 +08:00
icarus
3e990dddb5 feat(i18n): enhance i18next configuration and vscode settings
- Add new i18next config options including defaultValue, primaryLanguage, and types generation
- Update vscode settings for better i18n-ally integration and namespace support
- Reorder search exclude patterns for consistency
2025-10-23 21:50:21 +08:00
icarus
cf0aa49427 refactor(i18n): add translation namespace to locale json instead of adding namespace in code 2025-10-23 21:50:20 +08:00
icarus
311a229ab7 style: change biome sort order to natural and clean up i18next config
- Update biome.jsonc to use natural sort order for keys
- Clean up i18next.config.ts formatting and remove trailing newline
2025-10-23 21:50:00 +08:00
icarus
3677a34ceb feat(i18n): add i18next config and update extract commands
Add configuration file for i18next-cli with supported locales and extraction settings
Update package.json scripts to use i18next-cli commands for status and extraction
2025-10-23 21:50:00 +08:00
icarus
43fcfa6c95 build: add i18next-cli dependency for translation management
Add i18next-cli package to support translation file generation and management. This enables better i18n workflow integration.
2025-10-23 21:50:00 +08:00
icarus
3b97142361 fix(i18n): split fetch_complete into singular and plural forms
Update translation files to properly handle singular/plural cases for search results display
2025-10-23 21:49:49 +08:00
icarus
2e60db80df feat(i18n): add i18next scanner configuration and script
Add i18next-scanner configuration file to automate translation key extraction
Include new 'i18n:scan' script in package.json to run the scanner
Update tsconfig and oxlintrc to include the new config file
2025-10-23 21:49:49 +08:00
icarus
e5232b1fbb docs(i18n): update i18n documentation to reflect english as source language
- Change source language from Chinese to English in both docs
- Update script names from check:i18n/sync:i18n/auto:i18n to i18n:check/i18n:sync/i18n:auto
- Remove deprecated update:i18n script references
- Clarify base locale behavior and environment variable usage
2025-10-23 21:49:16 +08:00
icarus
7365c1ca1a docs(scripts): translate comments and error messages to english
Update documentation and error messages in i18n-related scripts from Chinese to English to improve codebase accessibility for international teams.
2025-10-23 21:49:16 +08:00
icarus
16a69e240b refactor(i18n): standardize i18n script names and update base locale
- Rename i18n-related scripts to follow consistent naming pattern (i18n:check, i18n:sync, i18n:auto)
- Change default base locale from zh-cn to en-us
- Remove unused update-i18n.ts script
- Update documentation and CI workflow to reflect script name changes
2025-10-23 21:49:16 +08:00
icarus
9c43bb07c0 build: add i18next-scanner dependency for localization support
Add i18next-scanner package to automate extraction and management of localization strings
2025-10-23 21:48:26 +08:00
fullex
736aef22c4 Merge branch 'main' of github.com:CherryHQ/cherry-studio into v2 2025-10-23 18:30:32 +08:00
Phantom
53881c5824
ci: update OpenAI dependency in i18n workflow (#10914)
* ci: update OpenAI dependency in i18n workflow

Use @cherrystudio/openai instead of openai package for translation dependencies

* ci(workflows): allow workflow dispatch for auto-i18n job
2025-10-23 18:21:00 +08:00
fullex
d0ed4cc1f2
Merge pull request #10913 from CherryHQ/v2-merge-main
Merge branch 'main' into v2
2025-10-23 18:14:19 +08:00
icarus
8c6a577cca fix: correct model logo source to use message.model directly 2025-10-23 17:48:33 +08:00
icarus
27b6ad75df refactor: use type-only import for Model type 2025-10-23 17:44:30 +08:00
icarus
c617a0b51a Merge branch 'main' into v2 2025-10-23 17:41:21 +08:00
Zhaokun
35c15cd02c
fix: topic branch incomplete copy - split ID mapping into two passes (#10900)
Fix the bug where topic branching would not copy all message relationships completely.The issue was that askId mapping lookup happened in the same loop as ID generation, causing later messages' askIds to fail mapping when they referenced messages that hadn't been processed yet.

Solution: Split into two passes:
 1. First pass: Generate new IDs for all messages and build complete mapping
 2. Second pass: Clone messages and blocks using the complete ID mapping

This ensures all message relationships (especially assistant message askId references)are properly maintained in the new topic.
2025-10-23 16:18:23 +08:00
SuYao
3c8b61e268 ci: add GitHub issue tracker workflow with Feishu notifications (#10895)
* feat: add GitHub issue tracker workflow with Feishu notifications

* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow

* fix: update environment variable for Claude translator in GitHub issue tracker workflow

* Add quiet hours handling and scheduled processing for GitHub issue notifications

- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude

* Replace custom Node.js script with Claude Code Action for issue processing

- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features

* Remove GitHub issue comment functionality

- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions

* feat: add GitHub issue tracker workflow with Feishu notifications

* feat: add GitHub issue tracker workflow with Feishu notifications

* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow

* fix: update environment variable for Claude translator in GitHub issue tracker workflow

* Add quiet hours handling and scheduled processing for GitHub issue notifications

- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude

* Replace custom Node.js script with Claude Code Action for issue processing

- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features

* Remove GitHub issue comment functionality

- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions

* Add OIDC token permissions and GitHub token to Claude workflow

- Add `id-token: write` permission for OIDC authentication in both jobs
- Pass `github_token` to Claude action for proper GitHub API access
- Maintain existing issue write and contents read permissions

fix: add GitHub issue tracker workflow with Feishu notifications

* feat: add GitHub issue tracker workflow with Feishu notifications

* fix: add missing environment variable for Claude translator in GitHub issue tracker workflow

* fix: update environment variable for Claude translator in GitHub issue tracker workflow

* Add quiet hours handling and scheduled processing for GitHub issue notifications

- Implement quiet hours detection (00:00-08:30 Beijing Time) with delayed notifications
- Add scheduled workflow to process pending issues daily at 08:30 Beijing Time
- Create new script to batch process and summarize multiple pending issues with Claude

* Replace custom Node.js script with Claude Code Action for issue processing

- Migrate from custom JavaScript implementation to Claude Code Action for AI-powered issue summarization and processing
- Simplify workflow by leveraging Claude's built-in GitHub API integration and tool usage capabilities
- Maintain same functionality: fetch pending issues, generate Chinese summaries, send Feishu notifications, and clean up labels
- Update Claude action reference from version pin to main branch for latest features

* Remove GitHub issue comment functionality

- Delete automated AI summary comments on issues after processing
- Remove documentation for manual issue commenting workflow
- Keep Feishu notification system intact while streamlining issue interactions

* Add OIDC token permissions and GitHub token to Claude workflow

- Add `id-token: write` permission for OIDC authentication in both jobs
- Pass `github_token` to Claude action for proper GitHub API access
- Maintain existing issue write and contents read permissions

* Enhance GitHub issue automation workflow with Claude integration

- Refactor Claude action to handle issue analysis, Feishu notification, and comment creation in single step
- Add tool permissions for Bash commands and custom notification script execution
- Update prompt with detailed task instructions including summary generation and automated actions
- Remove separate notification step by integrating all operations into Claude action workflow

* fix

* 删除AI总结评论的添加步骤和注意事项
2025-10-23 15:09:19 +08:00
ABucket
6f63eefa86
fix: deep research model only support medium search context and reasoning effort (#10676)
Co-authored-by: ABucket <abucket@github.com>
2025-10-22 21:59:00 +08:00
defi-failure
4a38f2e8b1
feat: add cherryin in provider type options (#10891) 2025-10-22 21:32:33 +08:00
Sipan
f088069fb3
Feature/add ling series support (#10863)
* feat(Miniapp): add Ling app and according migration support.

* feat(models): add Ling model support and related reasoning checks

Signed-off-by: cafe3310 <4354898+cafe3310@users.noreply.github.com>

* fix: resolved lint findings; simplifying model reasoning check.

---------

Signed-off-by: cafe3310 <4354898+cafe3310@users.noreply.github.com>
2025-10-22 18:25:11 +08:00
Phantom
7f83f0700b
chore: migrate from openai to @cherrystudio/openai package (#10802)
* build: replace openai package with @cherrystudio/openai

Update all imports from 'openai' to '@cherrystudio/openai' and remove the yarn patch

* refactor(OpenAIResponseAPIClient): simplify token estimation logic for function call output

Consolidate token estimation by first concatenating all output parts into a single string before counting tokens. This improves maintainability and handles additional output types consistently.
2025-10-22 17:34:23 +08:00
defi-failure
296f71ed8a
feat: position add button and new items at the top (#10881)
* feat: add sorting support to list agent api

* feat: move add button to top

* feat: display newly added assistant or agent on top
2025-10-22 17:20:17 +08:00
beyondkmp
f4d7c90126
chore: update electron to 38 and vite to 4.0.1 (#10884)
update electron to 38.4.0
2025-10-22 17:15:27 +08:00
beyondkmp
4063c20505
feat: support germen (#10879)
* feat: support germen

* format code

* translate

* update trans

* format

* add de

---------

Co-authored-by: Payne Fu <payne@Paynes-MBP.rcoffice.ringcentral.com>
2025-10-22 15:38:17 +08:00
chenxue
50798280db
fix(aihubmix): fix model route rules (#10878)
Update aihubmix.ts
2025-10-22 11:08:38 +08:00
Phantom
39fa080263
fix: check model capability with model name (#10860)
* fix(ModelListItem): fallback to model name when logo not found by id

Use model name as fallback when fetching model logo if lookup by id fails

* refactor(model-logo): simplify model logo handling with unified function

Replace direct calls to getModelLogo with model.id with new getModelLogo function that handles both id and name fallback
Rename original getModelLogo to getModelLogoById for clarity
Update all components to use the new unified function

* refactor(model-utils): improve model type detection with fallback logic

Add helper function to check both model ID and name as ID for type detection
Refactor getThinkModelType and isSupportedThinkingTokenModel to use new fallback logic

* refactor(agent-popups): make avatar optional in BaseOption interface

update getModelLogo functions to return undefined instead of null for consistency

* refactor(models): remove outdated comment in reasoning.ts
2025-10-22 04:39:38 +08:00
dependabot[bot]
5c7b81569e
build(deps-dev): bump playwright from 1.52.0 to 1.55.1 (#10850)
Bumps [playwright](https://github.com/microsoft/playwright) from 1.52.0 to 1.55.1.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.52.0...v1.55.1)

---
updated-dependencies:
- dependency-name: playwright
  dependency-version: 1.55.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 18:18:14 +01:00
Phantom
c021947d52
fix(home-tabs): correct tab switching logic for left position (#10858)
Ensure proper tab switching when position is left and topicPosition is right by including 'settings' tab in the condition
2025-10-22 01:15:25 +08:00
Phantom
f58d2e2e52
build: pin vite to specific version 7.1.5 (#10873)
* build: pin vite to specific version 7.1.5

Update package.json and yarn.lock to use exact version of vite instead of latest tag for better dependency stability

* build: pin vite version to 7.1.5

* build: pin rolldown-vite version to 7.1.5
2025-10-22 01:08:43 +08:00
fullex
75d7ed075b fix: update snapshot styles for InputEmbeddingDimension and Spinner components
- Adjusted the flex style for the InputEmbeddingDimension component to improve layout consistency.
- Removed the unset color style from the Spinner component to ensure default styling is applied.
2025-10-22 01:01:21 +08:00
fullex
b5b577dc79 fix: yarn.lock 2025-10-22 00:39:08 +08:00
kangfenmao
81ac77e988 chore: update LICENSE file to include full text of GNU AGPL-3.0
- Replaced previous licensing information with the complete text of the GNU Affero General Public License v3.0 (AGPL-3.0).
- Clarified terms regarding commercial use and compliance with AGPL-3.0.
- Added detailed definitions and conditions for users and organizations regarding licensing options.

This update ensures that users have clear access to the licensing terms governing the Cherry Studio Community Edition.
2025-10-21 22:56:27 +08:00
fullex
e754b5a863 style: format InfoTooltip component in GeneralSettings for improved readability 2025-10-21 18:01:02 +08:00
fullex
82dd771110 fix: replace Tooltip with InfoTooltip in GeneralSettings for improved clarity
- Updated the proxy bypass tooltip to use InfoTooltip component for better styling and functionality.
- Maintained existing behavior while enhancing the user interface.
2025-10-21 17:40:17 +08:00
fullex
8a4a34a946 Merge branch 'main' of github.com:CherryHQ/cherry-studio into v2 2025-10-21 17:38:15 +08:00
beyondkmp
fb62ae18b7
chores: remove config manager (#10856)
* refactor: migrate from configManager to preferenceService

- Replace configManager with preferenceService for app settings
- Update zoom factor management to use preferenceService
- Migrate spell check settings to preferenceService
- Update language subscription in NodeTraceService
- Move client ID generation to systemInfo utility
- Keep shortcuts management in configManager (not migrated)
- Mark legacy Config_Set/Config_Get as deprecated
- Update AppUpdater test mock to include getClientId

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor: migrate from configManager to preferenceService

- Replace configManager with preferenceService for app settings
- Update zoom factor management to use preferenceService
- Migrate spell check settings to preferenceService
- Update language subscription in NodeTraceService
- Move client ID generation to systemInfo utility
- Keep shortcuts management in configManager (not migrated)
- Mark legacy Config_Set/Config_Get as deprecated
- Update AppUpdater test mock to include getClientId

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-21 13:46:05 +08:00