diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index d783ecf..74afc9a 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -1,26 +1,22 @@
name: Deploy site to Pages
-
on:
push:
branches: [ main ]
workflow_dispatch:
-
# 设置 GITHUB_TOKEN 的权限,以允许部署到 GitHub Pages
permissions:
contents: read
pages: write
id-token: write
-
# 只允许同时进行一次部署
concurrency:
group: pages
-
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
@@ -39,7 +35,6 @@ jobs:
uses: actions/upload-pages-artifact@v3
with:
path: .vitepress/dist
-
deploy:
environment:
name: github-pages
@@ -49,4 +44,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
- uses: actions/deploy-pages@v4
\ No newline at end of file
+ uses: actions/deploy-pages@v4
diff --git a/.github/workflows/l10n.yml b/.github/workflows/l10n.yml
new file mode 100644
index 0000000..36f0831
--- /dev/null
+++ b/.github/workflows/l10n.yml
@@ -0,0 +1,31 @@
+name: L10n
+on:
+ schedule:
+ - cron: "*/5 * * * *"
+ workflow_dispatch:
+concurrency:
+ group: l10n
+ cancel-in-progress: true
+permissions:
+ contents: write
+ pull-requests: write
+jobs:
+ l10n:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v5
+ - name: Sync with Crowdin
+ uses: crowdin/github-action@v2
+ with:
+ config: crowdin.yml
+ upload_sources: true
+ upload_translations: false
+ download_translations: true
+ export_only_approved: true
+ create_pull_request: true
+ pull_request_title: 'l10n: sync translations with Crowdin'
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
+ CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
diff --git a/crowdin.yml b/crowdin.yml
index c0e0f90..684ce3b 100644
--- a/crowdin.yml
+++ b/crowdin.yml
@@ -1,7 +1,8 @@
-commit_message: '[skip ci] Update translations (%language%) %original_file_name%'
-pull_request_title: 'l10n: update translations'
+project_id_env: CROWDIN_PROJECT_ID
+api_token_env: CROWDIN_PERSONAL_TOKEN
+preserve_hierarchy: true
files:
- source: /en/**/*.md
translation: /%locale_with_underscore%/**/%file_name%.md
- source: /.vitepress/config/en.ts
- translation: /.vitepress/config/%locale_with_underscore%.ts
\ No newline at end of file
+ translation: /.vitepress/config/%locale_with_underscore%.ts
diff --git a/en/about.md b/en/about.md
index bf3083e..34a27b8 100644
--- a/en/about.md
+++ b/en/about.md
@@ -30,7 +30,7 @@ const members = [
# About
-RatPanel is a professional server operation and maintenance management panel dedicated to providing users with simple, efficient, and secure server management solutions.
+AcePanel is a professional server operation and maintenance management panel dedicated to providing users with simple, efficient, and secure server management solutions.
| Vision | Mission | Values |
|----------------------------------------------------------|---------------------------------------------|---------------------------------------------------|
diff --git a/en/advanced/api.md b/en/advanced/api.md
index 32afddb..d35ce85 100644
--- a/en/advanced/api.md
+++ b/en/advanced/api.md
@@ -2,7 +2,7 @@
## Overview
-RatPanel provides a secure RESTful interface for interacting with the panel system. All API requests require HMAC-SHA256 signature authentication to ensure the security and integrity of communications.
+AcePanel provides a secure RESTful interface for interacting with the panel system. All API requests require HMAC-SHA256 signature authentication to ensure the security and integrity of communications.
## Basic Information
@@ -182,7 +182,7 @@ func HMACSHA256(data string, secret string) string {
```php
-
+
diff --git a/renovate.json b/renovate.json
new file mode 100644
index 0000000..8d96ca7
--- /dev/null
+++ b/renovate.json
@@ -0,0 +1,28 @@
+{
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
+ "extends": [
+ "config:recommended"
+ ],
+ "commitMessagePrefix": "chore(deps): ",
+ "lockFileMaintenance": {
+ "enabled": true,
+ "automerge": true
+ },
+ "platformAutomerge": true,
+ "postUpdateOptions": [
+ "pnpmDedupe"
+ ],
+ "packageRules": [
+ {
+ "groupName": "non-major dependencies",
+ "matchUpdateTypes": [
+ "digest",
+ "pin",
+ "patch",
+ "minor"
+ ],
+ "automerge": true
+ }
+ ],
+ "ignoreDeps": []
+}