chore: add wiki

Signed-off-by: Innei <i@innei.in>
This commit is contained in:
Innei 2024-09-14 15:35:46 +08:00
parent d20ef05794
commit ebfb4d50e9
No known key found for this signature in database
GPG Key ID: 0F62D33977F021F7
4 changed files with 117 additions and 4 deletions

54
.github/ISSUE_TEMPLATE/i18n.yml vendored Normal file
View File

@ -0,0 +1,54 @@
name: 🌐 Internationalization (i18n)
description: Contribute to or report issues with translations
title: "[i18n]: "
labels: ["i18n", "triage"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to contribute to our internationalization efforts!
Before proceeding, please check our [i18n Contribution Guidelines](https://github.com/RSSNext/Follow/blob/dev/wiki/contribute-i18n.md) for detailed instructions.
- type: dropdown
id: type
attributes:
label: Type of i18n contribution
options:
- New language support
- Update existing translations
- Report incorrect translation
- Other i18n-related issue
validations:
required: true
- type: input
id: language
attributes:
label: Language
description: What language are you contributing to or reporting about?
placeholder: e.g., Spanish, French, Japanese
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: Please provide details about your contribution or the issue you're reporting.
placeholder: |
For new languages: List any specific challenges or considerations.
For updates: Describe what you're changing and why.
For issues: Provide the incorrect translation and suggest a correction.
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context, screenshots, or file references here.
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com/code-of-conduct)
options:
- label: I agree to follow this project's Code of Conduct
required: true

View File

@ -23,6 +23,7 @@
"dev:debug": "export DEBUG=true && vite --debug",
"dev:web": "vite",
"format": "prettier --write .",
"generator:i18n-template": "tsx scripts/generate-i18n-locale.ts",
"lint": "eslint",
"lint:fix": "eslint --fix",
"polyfill-optimize": "pnpx nolyfill install",
@ -192,6 +193,7 @@
"simple-git-hooks": "2.11.1",
"tailwindcss": "3.4.11",
"tailwindcss-animate": "1.0.7",
"tsx": "4.19.1",
"typescript": "^5.6.2",
"vite": "^5.4.4",
"vite-bundle-analyzer": "0.10.6",

View File

@ -495,6 +495,9 @@ importers:
tailwindcss-animate:
specifier: 1.0.7
version: 1.0.7(tailwindcss@3.4.11)
tsx:
specifier: 4.19.1
version: 4.19.1
typescript:
specifier: ^5.6.2
version: 5.6.2
@ -7857,8 +7860,8 @@ packages:
tslib@2.7.0:
resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
tsx@4.19.0:
resolution: {integrity: sha512-bV30kM7bsLZKZIOCHeMNVMJ32/LuJzLVajkQI/qf92J2Qr08ueLQvW00PUZGiuLPP760UINwupgUj8qrSCPUKg==}
tsx@4.19.1:
resolution: {integrity: sha512-0flMz1lh74BR4wOvBjuh9olbnwqCPc35OOlfyzHba0Dc+QNUeWX/Gq2YTbnwcWPO3BMd8fkzRVrHcsR+a7z7rA==}
engines: {node: '>=18.0.0'}
hasBin: true
@ -14620,7 +14623,7 @@ snapshots:
jiti: 2.0.0-beta.3
jiti-v1: jiti@1.21.6
pathe: 1.1.2
tsx: 4.19.0
tsx: 4.19.1
transitivePeerDependencies:
- supports-color
@ -17290,7 +17293,7 @@ snapshots:
tslib@2.7.0: {}
tsx@4.19.0:
tsx@4.19.1:
dependencies:
esbuild: 0.23.1
get-tsconfig: 4.8.0

54
wiki/contribute-i18n.md Normal file
View File

@ -0,0 +1,54 @@
# Contributing to Internationalization (i18n)
We welcome contributions to our internationalization efforts! This guide will help you get started with adding or updating translations for our project.
## Adding a New Language
To add support for a new language:
1. Run the following command in the project root:
```bash
npm run generator:i18n-template
```
2. Select the desired locale from the list.
3. The script will:
- Create new resource files for the selected locale
- Update the necessary configuration files
4. Open your editor and navigate to the `locales/` directory. You'll find new JSON files for the selected locale.
5. Translate the keys in these JSON files to the target language.
## Updating Existing Translations
To update or improve existing translations:
1. Navigate to the `locales/` directory.
2. Find the JSON files for the language you want to update.
3. Edit the translations as needed.
## Translation Guidelines
- Maintain the same structure and keys as the original English version.
- Ensure translations are culturally appropriate and context-aware.
- Use gender-neutral language where possible.
- Keep special placeholders (e.g., `{{variable}}`) intact.
## Testing Your Translations
After making changes:
1. Run the application locally.
2. Switch to the language you've edited.
3. Navigate through the app to verify your translations in context.
## Submitting Your Contribution
1. Create a new branch for your changes.
2. Commit your changes with a clear, descriptive message.
3. Open a pull request with details about the languages and sections you've updated.
Thank you for helping make our project more accessible to users worldwide!