mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-26 13:18:51 +01:00
🌎 i18n: React-i18next & i18next Integration (#5720)
* better i18n support an internationalization-framework. * removed unused package * auto sort for translation.json * fixed tests with the new locales function * added new CI actions from locize * to use locize a mention in the README.md * to use locize a mention in the README.md * updated README.md and added TRANSLATION.md to the repo * updated TRANSLATION.md badges * updated README.md to go to the TRANSLATION.md when clicking on the Translation Progress badge * updated TRANSLATION.md and added a new issue template. * updated TRANSLATION.md and added a new issue template. * updated issue template to add the iso code link. * updated the new GitHub actions for `locize` * updated label for new issue template --> i18n * fixed type issue * Fix eslint * Fix eslint with key-spacing spacing * fix: error type * fix: handle undefined values in SortFilterHeader component * fix: typing in Image component * fix: handle optional promptGroup in PromptCard component * fix: update localize function to accept string type and remove unnecessary JSX element * fix: update localize function to enforce TranslationKeys type for better type safety * fix: improve type safety and handle null values in Assistants component * fix: enhance null checks for fileId in FilesListView component * fix: localize 'Go back' button text in FilesListView component * fix: update aria-label for menu buttons and add translation for 'Close Menu' * docs: add Reasoning UI section for Chain-of-Thought AI models in README * fix: enhance type safety by adding type for message in MultiMessage component * fix: improve null checks and optional chaining in useAutoSave hook * fix: improve handling of optional properties in cleanupPreset function * fix: ensure isFetchingNextPage defaults to false and improve null checks for messages in Search component * fix: enhance type safety and null checks in useBuildMessageTree hook --------- Co-authored-by: Danny Avila <danny@librechat.ai>
This commit is contained in:
parent
2e8d969e35
commit
aae413cc71
153 changed files with 13448 additions and 38224 deletions
53
.github/workflows/locize-pull-published-sync-pr.yml
vendored
Normal file
53
.github/workflows/locize-pull-published-sync-pr.yml
vendored
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
name: Locize Version Published Workflow
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
repository_dispatch:
|
||||
types: [locize/versionPublished]
|
||||
|
||||
jobs:
|
||||
locize_update:
|
||||
name: Process Locize Version Published Event
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Display Dispatch Payload
|
||||
run: |
|
||||
echo "Received Version: ${{ github.event.client_payload.payload.version }}"
|
||||
echo "Full Payload: ${{ toJson(github.event.client_payload) }}"
|
||||
- name: Download Translations from locize
|
||||
uses: locize/download@v1
|
||||
with:
|
||||
project-id: ${{ secrets.LOCIZE_PROJECT_ID }}
|
||||
version: ${{ github.event.client_payload.payload.version }}
|
||||
path: "client/src/locales"
|
||||
path-mask: "{{language}}/{{namespace}}"
|
||||
clean: true # Ensures old translation files are removed before downloading new ones
|
||||
|
||||
- name: Create Pull Request
|
||||
id: create_pr
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commit-message: "chore: update translations from locize"
|
||||
branch: locize-update-${{ github.event.client_payload.payload.version }}
|
||||
delete-branch: true
|
||||
title: "chore: update translations from locize"
|
||||
body: |
|
||||
This PR updates translations from locize.
|
||||
- Version: `${{ github.event.client_payload.payload.version }}`
|
||||
- Automated update from GitHub Actions
|
||||
labels: "translations, automated"
|
||||
draft: false
|
||||
|
||||
- name: Check PR Outputs
|
||||
if: steps.create_pr.outputs.pull-request-number
|
||||
run: |
|
||||
echo "Pull Request Number - ${{ steps.create_pr.outputs.pull-request-number }}"
|
||||
echo "Pull Request URL - ${{ steps.create_pr.outputs.pull-request-url }}"
|
||||
26
.github/workflows/locize-push-missing-keys.yml
vendored
Normal file
26
.github/workflows/locize-push-missing-keys.yml
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
name: Push New Keys to locize
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
push-new-keys:
|
||||
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
|
||||
|
||||
- name: Push Missing Translation Keys to locize
|
||||
run: |
|
||||
cd client/src/locales
|
||||
locize save-missing --api-key ${{ secrets.LOCIZE_API_KEY }} --project-id ${{ secrets.LOCIZE_PROJECT_ID }} --language en
|
||||
Loading…
Add table
Add a link
Reference in a new issue