Supported Languages
Readme.so currently supports multiple languages through its internationalization system powered bynext-i18next.
Section Template Languages
The following languages have complete section template libraries (defined in thedata/ directory):
English
Code:
en / en_ENFile: section-templates-en_EN.jsStatus: Primary language with all 33 section templates中文简体 (Chinese Simplified)
Code:
cn / cn_CNFile: section-templates-cn_CN.jsStatus: Full template libraryPortuguês (Portuguese)
Code:
pt / pt_BRFile: section-templates-pt_BR.jsStatus: Full template library (Brazilian Portuguese)Türkçe (Turkish)
Code:
tr / tr_TRFile: section-templates-tr_TR.jsStatus: Full template libraryUI Translation Languages
The user interface supports even more languages through the language dropdown (LanguageDropDown.js:3-84):
European Languages
European Languages
- English (
/en) - Français - French (
/fr) - Español - Spanish (
/es) - Italiano - Italian (
/it) - Deutsch - German (
/de) - Nederlands - Dutch (
/nl) - Русский - Russian (
/ru)
Asian Languages
Asian Languages
- 中文简体 - Chinese Simplified (
/cn) - 日本語 - Japanese (
/ja) - 한국어 - Korean (if supported)
- हिंदी - Hindi (
/hi) - বাংলা - Bengali (
/bn) - తెలుగు - Telugu (
/tl)
Other Languages
Other Languages
- العربية - Arabic (
/ar) - Türkçe - Turkish (
/tr) - Filipino (
/fil) - Bahasa Indonesia - Indonesian (
/id) - Swahili (
/sw) - O’zbekcha - Uzbek (
/uz) - Português - Portuguese (
/pt)
Some languages may have UI translations without complete section template libraries. The application will fall back to English templates when necessary.
Changing Language
Users can change their language preference using the language selector in the navigation area.Language Dropdown
Language Routes
Each language has its own route path:How Internationalization Works
Readme.so uses a multi-layer internationalization system combining section templates and UI translations.Section Templates
Section templates are organized by language in the data directory:- All 33 section templates
- Translated section names
- Localized markdown content
- Language-appropriate examples
Example: Chinese Section Template
Example: Chinese Section Template
UI Translations
The user interface text (buttons, labels, messages) is translated usingnext-i18next:
public/locales/en/- English translationspublic/locales/cn/- Chinese translationspublic/locales/pt/- Portuguese translationspublic/locales/tr/- Turkish translations
Configuration
The i18n system is configured innext-i18next.config.js:
Section Content Localization
When you switch languages, the section templates change to match:- English
- Portuguese
- Turkish
Section Name: “Installation”Content:
Switching languages affects:
- Section template names
- Pre-filled markdown content
- UI labels and buttons
- Help text and messages
- Your custom edits to sections
- Custom sections you’ve created
- Your section selection and order
Mixing Languages
You can create multilingual READMEs by editing the templates:Creating a Bilingual README
Example: Bilingual Title Section
Example: Bilingual Title Section
Contributing Translations
Readme.so welcomes contributions for new language support.Translation Components
To add a new language, you need to provide:Section Template Structure
Each language’s section template file should follow this structure:Translation Guidelines
When translating section templates:- Keep Technical Terms: Some terms like “npm”, “git”, “API” should remain in English
- Localize Examples: Use culturally relevant examples and placeholder text
- Maintain Formatting: Keep markdown structure identical to English version
- Test Thoroughly: Ensure all 33 sections are translated and working
- Update UI Strings: Translate all button labels, messages, and help text
Language-Specific Features
Some sections adapt to language and cultural contexts:Authors Section
The Authors section includes locale-appropriate social media examples:- English
- Chinese
Support Section
Contact methods may vary by language and region:- English
- Other Languages
Right-to-Left (RTL) Support
For languages like Arabic that read right-to-left:Arabic (
/ar) is included in the language dropdown. RTL layout support depends on the CSS implementation and may vary. The markdown content itself will render correctly on GitHub, which has built-in RTL support.Reporting Translation Issues
If you find translation errors or missing translations:Visit Language Dropdown
Click the language selector and find the “Report translation error” link at the bottom
Open GitHub Issue
The link takes you to:
https://github.com/koushikromel/readme-so-community/issues/newBest Practices for Multilingual READMEs
When creating READMEs for international audiences:Start with English
English is the most widely understood language in the developer community
Add Key Sections in Other Languages
Translate at minimum: title, description, installation, and usage
Use Clear Section Dividers
Separate language sections with horizontal rules (
---)Be Consistent
If you translate one section, translate all or clearly mark which are translated