[docs] Improve language contribution process (#4409)

This commit is contained in:
Christian Byrne
2025-07-09 22:51:12 -07:00
committed by GitHub
parent 733c9f81b0
commit bc4753e119
2 changed files with 184 additions and 63 deletions

View File

@@ -14,68 +14,17 @@ Our project supports multiple languages using `vue-i18n`. This allows users arou
## How to Add a New Language
We welcome the addition of new languages. You can add a new language by following these steps:
Want to add a new language to ComfyUI? See our detailed [Contributing Guide](./CONTRIBUTING.md) with step-by-step instructions and confirmed working process.
### 1\. Generate language files
### Quick Start
1. Open an issue or reach out on Discord to request a new language
2. Follow the [technical process](./CONTRIBUTING.md#technical-process-confirmed-working) or ask for help
3. Our CI will automatically generate translations using OpenAI
4. Become a maintainer for your language
We use [lobe-i18n](https://github.com/lobehub/lobe-cli-toolbox/blob/master/packages/lobe-i18n/README.md) as our translation tool, which integrates with LLM for efficient localization.
Update the configuration file to include the new language(s) you wish to add:
```javascript
const { defineConfig } = require('@lobehub/i18n-cli');
module.exports = defineConfig({
entry: 'src/locales/en.json', // Base language file
entryLocale: 'en',
output: 'src/locales',
outputLocales: ['zh', 'ru', 'ja', 'ko', 'fr', 'es'], // Add the new language(s) here
});
```
Set your OpenAI API Key by running the following command:
```sh
npx lobe-i18n --option
```
Once configured, generate the translation files with:
```sh
npx lobe-i18n locale
```
This will create the language files for the specified languages in the configuration.
### 2\. Update i18n Configuration
Import the newly generated locale file(s) in the `src/i18n.ts` file to include them in the application's i18n setup.
### 3\. Enable Selection of the New Language
Add the newly added language to the following item in `src/constants/coreSettings.ts`:
```typescript
{
id: 'Comfy.Locale',
name: 'Locale',
type: 'combo',
// Add the new language(s) here
options: [
{ value: 'en', text: 'English' },
{ value: 'zh', text: '中文' },
{ value: 'ru', text: 'Русский' },
{ value: 'ja', text: '日本語' },
{ value: 'ko', text: '한국어' },
{ value: 'fr', text: 'Français' },
{ value: 'es', text: 'Español' }
],
defaultValue: navigator.language.split('-')[0] || 'en'
},
```
This will make the new language selectable in the application's settings.
### 4\. Test the Translations
Start the development server, switch to the new language, and verify the translations. You can switch languages by opening the ComfyUI Settings and selecting from the `ComfyUI > Locale` dropdown box.
### File Structure
Each language has 4 translation files in `src/locales/[language-code]/`:
- `main.json` - Main UI text
- `commands.json` - Command descriptions
- `settings.json` - Settings panel
- `nodeDefs.json` - Node definitions