Przeglądaj źródła

fix: change i18n workflow trigger mechanism to run in main repository (#23662)

tags/1.7.2
lyzno1 2 miesięcy temu
rodzic
commit
f9abcfd789
No account linked to committer's email address

+ 13
- 5
.github/workflows/translate-i18n-base-on-english.yml Wyświetl plik

name: Check i18n Files and Create PR name: Check i18n Files and Create PR


on: on:
pull_request:
types: [closed]
push:
branches: [main] branches: [main]
paths:
- 'web/i18n/en-US/*.ts'


permissions: permissions:
contents: write contents: write


jobs: jobs:
check-and-update: check-and-update:
if: github.event.pull_request.merged == true
if: github.repository == 'langgenius/dify'
runs-on: ubuntu-latest runs-on: ubuntu-latest
defaults: defaults:
run: run:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
fetch-depth: 2 # last 2 commits
fetch-depth: 2
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}


- name: Check for file changes in i18n/en-US - name: Check for file changes in i18n/en-US
echo "Changed files: $changed_files" echo "Changed files: $changed_files"
if [ -n "$changed_files" ]; then if [ -n "$changed_files" ]; then
echo "FILES_CHANGED=true" >> $GITHUB_ENV echo "FILES_CHANGED=true" >> $GITHUB_ENV
file_args=""
for file in $changed_files; do
filename=$(basename "$file" .ts)
file_args="$file_args --file=$filename"
done
echo "FILE_ARGS=$file_args" >> $GITHUB_ENV
echo "File arguments: $file_args"
else else
echo "FILES_CHANGED=false" >> $GITHUB_ENV echo "FILES_CHANGED=false" >> $GITHUB_ENV
fi fi


- name: Generate i18n translations - name: Generate i18n translations
if: env.FILES_CHANGED == 'true' if: env.FILES_CHANGED == 'true'
run: pnpm run auto-gen-i18n
run: pnpm run auto-gen-i18n ${{ env.FILE_ARGS }}


- name: Create Pull Request - name: Create Pull Request
if: env.FILES_CHANGED == 'true' if: env.FILES_CHANGED == 'true'

+ 5
- 3
web/i18n-config/auto-gen-i18n.js Wyświetl plik



// Add command line argument support // Add command line argument support
const isDryRun = process.argv.includes('--dry-run') const isDryRun = process.argv.includes('--dry-run')
const targetFile = process.argv.find(arg => arg.startsWith('--file='))?.split('=')[1]
const targetFiles = process.argv
.filter(arg => arg.startsWith('--file='))
.map(arg => arg.split('=')[1])
const targetLang = process.argv.find(arg => arg.startsWith('--lang='))?.split('=')[1] const targetLang = process.argv.find(arg => arg.startsWith('--lang='))?.split('=')[1]


// Rate limiting helper // Rate limiting helper
.map(file => file.replace(/\.ts$/, '')) .map(file => file.replace(/\.ts$/, ''))
// Removed app-debug exclusion, now only skip specific problematic keys // Removed app-debug exclusion, now only skip specific problematic keys


// Filter by target file if specified
const filesToProcess = targetFile ? files.filter(f => f === targetFile) : files
// Filter by target files if specified
const filesToProcess = targetFiles.length > 0 ? files.filter(f => targetFiles.includes(f)) : files
const languagesToProcess = targetLang ? [targetLang] : Object.keys(languageKeyMap) const languagesToProcess = targetLang ? [targetLang] : Object.keys(languageKeyMap)


console.log(`📁 Files to process: ${filesToProcess.join(', ')}`) console.log(`📁 Files to process: ${filesToProcess.join(', ')}`)

+ 2
- 0
web/i18n/de-DE/workflow.ts Wyświetl plik

needEndNode: 'Der Endknoten muss hinzugefügt werden.', needEndNode: 'Der Endknoten muss hinzugefügt werden.',
needAnswerNode: 'Der Antwortknoten muss hinzugefügt werden.', needAnswerNode: 'Der Antwortknoten muss hinzugefügt werden.',
tagBound: 'Anzahl der Apps, die dieses Tag verwenden', tagBound: 'Anzahl der Apps, die dieses Tag verwenden',
currentWorkflow: 'Aktueller Arbeitsablauf',
currentView: 'Aktuelle Ansicht',
}, },
env: { env: {
envPanelTitle: 'Umgebungsvariablen', envPanelTitle: 'Umgebungsvariablen',

+ 2
- 0
web/i18n/es-ES/workflow.ts Wyświetl plik

needEndNode: 'Se debe agregar el nodo Final', needEndNode: 'Se debe agregar el nodo Final',
addBlock: 'Agregar nodo', addBlock: 'Agregar nodo',
tagBound: 'Número de aplicaciones que utilizan esta etiqueta', tagBound: 'Número de aplicaciones que utilizan esta etiqueta',
currentView: 'Vista actual',
currentWorkflow: 'Flujo de trabajo actual',
}, },
env: { env: {
envPanelTitle: 'Variables de Entorno', envPanelTitle: 'Variables de Entorno',

+ 2
- 0
web/i18n/fa-IR/workflow.ts Wyświetl plik

needAnswerNode: 'باید گره پاسخ اضافه شود', needAnswerNode: 'باید گره پاسخ اضافه شود',
addBlock: 'نود اضافه کنید', addBlock: 'نود اضافه کنید',
tagBound: 'تعداد برنامه‌هایی که از این برچسب استفاده می‌کنند', tagBound: 'تعداد برنامه‌هایی که از این برچسب استفاده می‌کنند',
currentView: 'نمای فعلی',
currentWorkflow: 'گردش کار فعلی',
}, },
env: { env: {
envPanelTitle: 'متغیرهای محیطی', envPanelTitle: 'متغیرهای محیطی',

+ 2
- 0
web/i18n/fr-FR/workflow.ts Wyświetl plik

needAnswerNode: 'Le nœud de réponse doit être ajouté.', needAnswerNode: 'Le nœud de réponse doit être ajouté.',
addBlock: 'Ajouter un nœud', addBlock: 'Ajouter un nœud',
tagBound: 'Nombre d\'applications utilisant cette étiquette', tagBound: 'Nombre d\'applications utilisant cette étiquette',
currentView: 'Vue actuelle',
currentWorkflow: 'Flux de travail actuel',
}, },
env: { env: {
envPanelTitle: 'Variables d\'Environnement', envPanelTitle: 'Variables d\'Environnement',

+ 2
- 0
web/i18n/hi-IN/workflow.ts Wyświetl plik

addBlock: 'नोड जोड़ें', addBlock: 'नोड जोड़ें',
needEndNode: 'अंत नोड जोड़ा जाना चाहिए', needEndNode: 'अंत नोड जोड़ा जाना चाहिए',
tagBound: 'इस टैग का उपयोग करने वाले ऐप्स की संख्या', tagBound: 'इस टैग का उपयोग करने वाले ऐप्स की संख्या',
currentView: 'वर्तमान दृश्य',
currentWorkflow: 'वर्तमान कार्यप्रवाह',
}, },
env: { env: {
envPanelTitle: 'पर्यावरण चर', envPanelTitle: 'पर्यावरण चर',

+ 2
- 0
web/i18n/it-IT/workflow.ts Wyświetl plik

addBlock: 'Aggiungi nodo', addBlock: 'Aggiungi nodo',
needAnswerNode: 'Deve essere aggiunto il nodo di risposta', needAnswerNode: 'Deve essere aggiunto il nodo di risposta',
tagBound: 'Numero di app che utilizzano questo tag', tagBound: 'Numero di app che utilizzano questo tag',
currentWorkflow: 'Flusso di lavoro corrente',
currentView: 'Vista corrente',
}, },
env: { env: {
envPanelTitle: 'Variabili d\'Ambiente', envPanelTitle: 'Variabili d\'Ambiente',

+ 2
- 0
web/i18n/ko-KR/workflow.ts Wyświetl plik

needAnswerNode: '답변 노드를 추가해야 합니다.', needAnswerNode: '답변 노드를 추가해야 합니다.',
needEndNode: '종단 노드를 추가해야 합니다.', needEndNode: '종단 노드를 추가해야 합니다.',
tagBound: '이 태그를 사용하는 앱 수', tagBound: '이 태그를 사용하는 앱 수',
currentView: '현재 보기',
currentWorkflow: '현재 워크플로',
}, },
env: { env: {
envPanelTitle: '환경 변수', envPanelTitle: '환경 변수',

+ 2
- 0
web/i18n/pl-PL/workflow.ts Wyświetl plik

needEndNode: 'Należy dodać węzeł końcowy', needEndNode: 'Należy dodać węzeł końcowy',
needAnswerNode: 'Węzeł odpowiedzi musi zostać dodany', needAnswerNode: 'Węzeł odpowiedzi musi zostać dodany',
tagBound: 'Liczba aplikacji korzystających z tego tagu', tagBound: 'Liczba aplikacji korzystających z tego tagu',
currentWorkflow: 'Bieżący przepływ pracy',
currentView: 'Bieżący widok',
}, },
env: { env: {
envPanelTitle: 'Zmienne Środowiskowe', envPanelTitle: 'Zmienne Środowiskowe',

+ 2
- 0
web/i18n/pt-BR/workflow.ts Wyświetl plik

needEndNode: 'O nó de Fim deve ser adicionado', needEndNode: 'O nó de Fim deve ser adicionado',
needAnswerNode: 'O nó de resposta deve ser adicionado', needAnswerNode: 'O nó de resposta deve ser adicionado',
tagBound: 'Número de aplicativos usando esta tag', tagBound: 'Número de aplicativos usando esta tag',
currentView: 'Visualização atual',
currentWorkflow: 'Fluxo de trabalho atual',
}, },
env: { env: {
envPanelTitle: 'Variáveis de Ambiente', envPanelTitle: 'Variáveis de Ambiente',

+ 2
- 0
web/i18n/ro-RO/workflow.ts Wyświetl plik

needAnswerNode: 'Nodul de răspuns trebuie adăugat', needAnswerNode: 'Nodul de răspuns trebuie adăugat',
needEndNode: 'Nodul de sfârșit trebuie adăugat', needEndNode: 'Nodul de sfârșit trebuie adăugat',
tagBound: 'Numărul de aplicații care folosesc acest tag', tagBound: 'Numărul de aplicații care folosesc acest tag',
currentView: 'Vizualizare curentă',
currentWorkflow: 'Flux de lucru curent',
}, },
env: { env: {
envPanelTitle: 'Variabile de Mediu', envPanelTitle: 'Variabile de Mediu',

+ 2
- 0
web/i18n/ru-RU/workflow.ts Wyświetl plik

needAnswerNode: 'В узел ответа необходимо добавить', needAnswerNode: 'В узел ответа необходимо добавить',
needEndNode: 'Узел конца должен быть добавлен', needEndNode: 'Узел конца должен быть добавлен',
tagBound: 'Количество приложений, использующих этот тег', tagBound: 'Количество приложений, использующих этот тег',
currentView: 'Текущий вид',
currentWorkflow: 'Текущий рабочий процесс',
}, },
env: { env: {
envPanelTitle: 'Переменные среды', envPanelTitle: 'Переменные среды',

+ 2
- 0
web/i18n/sl-SI/workflow.ts Wyświetl plik

configure: 'Konfiguriraj', configure: 'Konfiguriraj',
inRunMode: 'V načinu izvajanja', inRunMode: 'V načinu izvajanja',
tagBound: 'Število aplikacij, ki uporabljajo to oznako', tagBound: 'Število aplikacij, ki uporabljajo to oznako',
currentView: 'Trenutni pogled',
currentWorkflow: 'Trenutni potek dela',
}, },
env: { env: {
modal: { modal: {

+ 2
- 0
web/i18n/th-TH/workflow.ts Wyświetl plik

addBlock: 'เพิ่มโนด', addBlock: 'เพิ่มโนด',
needEndNode: 'ต้องเพิ่มโหนดจบ', needEndNode: 'ต้องเพิ่มโหนดจบ',
tagBound: 'จำนวนแอปพลิเคชันที่ใช้แท็กนี้', tagBound: 'จำนวนแอปพลิเคชันที่ใช้แท็กนี้',
currentWorkflow: 'เวิร์กโฟลว์ปัจจุบัน',
currentView: 'ปัจจุบัน View',
}, },
env: { env: {
envPanelTitle: 'ตัวแปรสภาพแวดล้อม', envPanelTitle: 'ตัวแปรสภาพแวดล้อม',

+ 2
- 0
web/i18n/tr-TR/workflow.ts Wyświetl plik

needAnswerNode: 'Cevap düğümü eklenmelidir.', needAnswerNode: 'Cevap düğümü eklenmelidir.',
needEndNode: 'Son düğüm eklenmelidir', needEndNode: 'Son düğüm eklenmelidir',
tagBound: 'Bu etiketi kullanan uygulama sayısı', tagBound: 'Bu etiketi kullanan uygulama sayısı',
currentView: 'Geçerli Görünüm',
currentWorkflow: 'Mevcut İş Akışı',
}, },
env: { env: {
envPanelTitle: 'Çevre Değişkenleri', envPanelTitle: 'Çevre Değişkenleri',

+ 2
- 0
web/i18n/uk-UA/workflow.ts Wyświetl plik

needEndNode: 'Необхідно додати кінцевий вузол', needEndNode: 'Необхідно додати кінцевий вузол',
needAnswerNode: 'Вузол Відповіді повинен бути доданий', needAnswerNode: 'Вузол Відповіді повинен бути доданий',
tagBound: 'Кількість додатків, що використовують цей тег', tagBound: 'Кількість додатків, що використовують цей тег',
currentView: 'Поточний вигляд',
currentWorkflow: 'Поточний робочий процес',
}, },
env: { env: {
envPanelTitle: 'Змінні середовища', envPanelTitle: 'Змінні середовища',

+ 2
- 0
web/i18n/vi-VN/workflow.ts Wyświetl plik

addBlock: 'Thêm Node', addBlock: 'Thêm Node',
needEndNode: 'Nút Kết thúc phải được thêm vào', needEndNode: 'Nút Kết thúc phải được thêm vào',
tagBound: 'Số lượng ứng dụng sử dụng thẻ này', tagBound: 'Số lượng ứng dụng sử dụng thẻ này',
currentWorkflow: 'Quy trình làm việc hiện tại',
currentView: 'Hiện tại View',
}, },
env: { env: {
envPanelTitle: 'Biến Môi Trường', envPanelTitle: 'Biến Môi Trường',

+ 2
- 0
web/i18n/zh-Hant/workflow.ts Wyświetl plik

exportImage: '匯出圖像', exportImage: '匯出圖像',
exportJPEG: '匯出為 JPEG', exportJPEG: '匯出為 JPEG',
tagBound: '使用此標籤的應用程式數量', tagBound: '使用此標籤的應用程式數量',
currentView: '當前檢視',
currentWorkflow: '當前工作流程',
}, },
env: { env: {
envPanelTitle: '環境變數', envPanelTitle: '環境變數',

Ładowanie…
Anuluj
Zapisz