mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-19 06:30:10 +08:00
* refactor: rename i18n commands for better consistency - Rename `check:i18n` to `i18n:check` - Rename `sync:i18n` to `i18n:sync` - Rename `update:i18n` to `i18n:translate` (clearer purpose) - Rename `auto:i18n` to `i18n:all` (runs check, sync, and translate) - Update lint script to use new `i18n:check` command name This follows the common naming convention of grouping related commands under a namespace prefix (e.g., `test:main`, `test:renderer`). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor: update i18n command names and improve documentation - Renamed i18n commands for consistency: `sync:i18n` to `i18n:sync`, `check:i18n` to `i18n:check`, and `auto:i18n` to `i18n:translate`. - Updated relevant documentation and scripts to reflect new command names. - Improved formatting and clarity in i18n-related guides and scripts. This change enhances the clarity and usability of i18n commands across the project. --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
94 lines
3.1 KiB
YAML
94 lines
3.1 KiB
YAML
name: Auto I18N Weekly
|
|
|
|
env:
|
|
TRANSLATION_API_KEY: ${{ secrets.TRANSLATE_API_KEY }}
|
|
TRANSLATION_MODEL: ${{ vars.AUTO_I18N_MODEL || 'deepseek/deepseek-v3.1'}}
|
|
TRANSLATION_BASE_URL: ${{ vars.AUTO_I18N_BASE_URL || 'https://api.ppinfra.com/openai'}}
|
|
TRANSLATION_BASE_LOCALE: ${{ vars.AUTO_I18N_BASE_LOCALE || 'en-us'}}
|
|
|
|
on:
|
|
schedule:
|
|
# Runs at 00:00 UTC every Sunday.
|
|
# This corresponds to 08:00 AM UTC+8 (Beijing time) every Sunday.
|
|
- cron: "0 0 * * 0"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
auto-i18n:
|
|
runs-on: ubuntu-latest
|
|
name: Auto I18N
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
steps:
|
|
- name: 🐈⬛ Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: 📦 Setting Node.js
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 22
|
|
|
|
- name: 📦 Install corepack
|
|
run: corepack enable && corepack prepare yarn@4.9.1 --activate
|
|
|
|
- name: 📂 Get yarn cache directory path
|
|
id: yarn-cache-dir-path
|
|
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
|
|
|
|
- name: 💾 Cache yarn dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
${{ steps.yarn-cache-dir-path.outputs.dir }}
|
|
node_modules
|
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-yarn-
|
|
|
|
- name: 📦 Install dependencies
|
|
run: |
|
|
yarn install
|
|
|
|
- name: 🏃♀️ Translate
|
|
run: yarn i18n:sync && yarn i18n:translate
|
|
|
|
- name: 🔍 Format
|
|
run: yarn format
|
|
|
|
- name: 🔍 Check for changes
|
|
id: git_status
|
|
run: |
|
|
# Check if there are any uncommitted changes
|
|
git reset -- package.json yarn.lock # 不提交 package.json 和 yarn.lock 的更改
|
|
git diff --exit-code --quiet || echo "::set-output name=has_changes::true"
|
|
git status --porcelain
|
|
|
|
- name: 📅 Set current date for PR title
|
|
id: set_date
|
|
run: echo "CURRENT_DATE=$(date +'%b %d, %Y')" >> $GITHUB_ENV # e.g., "Jun 06, 2024"
|
|
|
|
- name: 🚀 Create Pull Request if changes exist
|
|
if: steps.git_status.outputs.has_changes == 'true'
|
|
uses: peter-evans/create-pull-request@v6
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }} # Use the built-in GITHUB_TOKEN for bot actions
|
|
commit-message: "feat(bot): Weekly automated script run"
|
|
title: "🤖 Weekly Auto I18N Sync: ${{ env.CURRENT_DATE }}"
|
|
body: |
|
|
This PR includes changes generated by the weekly auto i18n.
|
|
Review the changes before merging.
|
|
|
|
---
|
|
_Generated by the automated weekly workflow_
|
|
branch: "auto-i18n-weekly-${{ github.run_id }}" # Unique branch name
|
|
base: "main" # Or 'develop', set your base branch
|
|
delete-branch: true # Delete the branch after merging or closing the PR
|
|
|
|
- name: 📢 Notify if no changes
|
|
if: steps.git_status.outputs.has_changes != 'true'
|
|
run: echo "Bot script ran, but no changes were detected. No PR created."
|