mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-16 16:30:15 +01:00
72 lines
No EOL
2.5 KiB
YAML
72 lines
No EOL
2.5 KiB
YAML
name: Sync Locize Translations & Create Translation PR
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
repository_dispatch:
|
|
types: [locize/versionPublished]
|
|
|
|
jobs:
|
|
sync-translations:
|
|
name: Sync Translation Keys with Locize
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set Up Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
|
|
- name: Install locize CLI
|
|
run: npm install -g locize-cli
|
|
|
|
# Sync translations (Push missing keys & remove deleted ones)
|
|
- name: Sync Locize with Repository
|
|
if: ${{ github.event_name == 'push' }}
|
|
run: |
|
|
cd client/src/locales
|
|
locize sync --api-key ${{ secrets.LOCIZE_API_KEY }} --project-id ${{ secrets.LOCIZE_PROJECT_ID }} --language en
|
|
|
|
# When triggered by repository_dispatch, skip sync step.
|
|
- name: Skip sync step on non-push events
|
|
if: ${{ github.event_name != 'push' }}
|
|
run: echo "Skipping sync as the event is not a push."
|
|
|
|
create-pull-request:
|
|
name: Create Translation PR on Version Published
|
|
runs-on: ubuntu-latest
|
|
needs: sync-translations
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
steps:
|
|
# 1. Check out the repository.
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
|
|
# 2. Download translation files from locize.
|
|
- name: Download Translations from locize
|
|
uses: locize/download@v2
|
|
with:
|
|
project-id: ${{ secrets.LOCIZE_PROJECT_ID }}
|
|
path: "client/src/locales"
|
|
|
|
# 3. Create a Pull Request using built-in functionality.
|
|
- name: Create Pull Request
|
|
uses: peter-evans/create-pull-request@v7
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
sign-commits: true
|
|
commit-message: "🌍 i18n: Update translation.json with latest translations"
|
|
base: main
|
|
branch: i18n/locize-translation-update
|
|
reviewers: danny-avila
|
|
title: "🌍 i18n: Update translation.json with latest translations"
|
|
body: |
|
|
**Description**:
|
|
- 🎯 **Objective**: Update `translation.json` with the latest translations from locize.
|
|
- 🔍 **Details**: This PR is automatically generated upon receiving a versionPublished event with version "latest". It reflects the newest translations provided by locize.
|
|
- ✅ **Status**: Ready for review.
|
|
labels: "🌍 i18n" |