Overview
ImageGlass is available in multiple languages thanks to the amazing work of community translators. We use Crowdin to manage translations, making it easy for anyone to contribute.Why Translate ImageGlass?
By translating ImageGlass, you:- Make the software accessible to users who don’t speak English
- Help grow the community in your language region
- Gain recognition as a contributor to an open source project
- Improve your translation skills with a real-world project
Getting Started with Crowdin
1. Create a Crowdin Account
- Visit the ImageGlass Crowdin page
- Click Sign Up to create a free account
- Verify your email address
2. Join the ImageGlass Project
- Go to ImageGlass on Crowdin
- Click Join to become a translator
- Select your language(s)
3. Start Translating
- Select your language from the list
- Click on a file to start translating (usually the main application file)
- Translate strings in the Crowdin editor
- Click Save to submit your translations
Available Languages
ImageGlass currently supports many languages, including:- Arabic (Egypt)
- Armenian
- Bulgarian
- Catalan
- Chinese Simplified
- Chinese Traditional
- Croatian
- Czech
- Danish
- Dutch
- Finnish
- French
- German
- Greek
- Hebrew
- Hungarian
- Indonesian
- And many more…
Don’t see your language? Request it on the ImageGlass Crowdin page or contact the maintainers.
Translation Guidelines
General Principles
- Be consistent - Use the same translations for recurring terms
- Be concise - UI space is limited, keep translations short
- Be natural - Translate meaning, not just words
- Be accurate - Ensure technical terms are correct
- Use glossary - Check Crowdin glossary for standard terms
Context is Important
Crowdin provides context for each string:- Screenshots - Show where the text appears
- String keys - Indicate the purpose (e.g.,
FrmMain.MnuCopyPath) - Comments - Additional context from developers
Common Translation Patterns
Menu Items
Menu items usually end with... (ellipsis) if they open a dialog:
Keyboard Shortcuts
Do not translate keyboard shortcut keys:Placeholders
Keep placeholders like{0}, {1} in your translation:
Technical Terms
Some terms should remain in English or use standard translations:- File formats: JPEG, PNG, GIF, WebP (usually not translated)
- Technical features: Zoom, DPI, RGB (check conventions in your language)
- Brand names: ImageGlass, Windows (never translate)
Quality Checklist
Before submitting translations:- Translation is grammatically correct
- Translation fits the UI context
- Placeholders are preserved
- Keyboard shortcuts are unchanged
- Punctuation matches UI conventions
- Technical terms are accurate
- Tone is appropriate for the context
Language Pack Structure
ImageGlass language files are stored as JSON files with the.iglang.json extension:
Language File Format
Each language file contains:Metadata Fields
- Code: Language code (e.g.,
en-US,fr-FR,de-DE) - EnglishName: English name of the language
- LocalName: Name in the native language
- Author: Translator’s name/username
- MinVersion: Minimum ImageGlass version supporting this language pack
Testing Your Translations
In Crowdin
Crowdin provides a preview feature:- Translate some strings
- Use the preview to see your translations in context
- Adjust as needed
In ImageGlass (Advanced)
If you want to test locally:-
Download your translation from Crowdin:
- Go to your language
- Click Download
- Save as
<LanguageName>.iglang.json
- Install ImageGlass on your system
-
Add your language file:
- Navigate to ImageGlass installation folder
- Go to
Languagesubfolder - Copy your
.iglang.jsonfile there
-
Select your language:
- Open ImageGlass
- Go to Settings > Language
- Select your language from the dropdown
- Restart ImageGlass
-
Test the UI:
- Check all menus and dialogs
- Look for text that doesn’t fit
- Verify translations make sense in context
Updating Existing Translations
ImageGlass is constantly evolving. To update translations:-
Check for new strings:
- Crowdin highlights untranslated strings
- Look for strings marked as “New”
-
Review changed strings:
- Crowdin marks strings that have changed in the source
- Update your translation to match
-
Review existing translations:
- Other translators may suggest improvements
- Vote on suggestions or propose your own
Translation Workflow
For Translators
- Translations are submitted on Crowdin
- Translations are reviewed by language moderators (if applicable)
- Approved translations are automatically synced to GitHub
- Translations are included in the next ImageGlass release
Release Cycle
Translations merged before a release will be included. Check the ImageGlass roadmap for release schedules.Advanced: Language Pack Development
If you want to create a custom language pack or understand the format:Key Naming Convention
Keys follow this pattern:FrmMain.MnuFile- Menu item on main formFrmSettings.Nav._Viewer- Navigation item in settings_.Metadata._FileLastAccessTime- Global metadata string
Special Prefixes
_(underscore) - Global strings not tied to a specific form_Tooltip- Tooltip text for a control_Description- Description or help text_Error- Error message
Creating a New Language Pack
-
Copy the English template:
- Download the English language file from Crowdin
- Save with your language name
-
Update metadata:
- Translate all items
- Test the language pack
- Submit to Crowdin or create a pull request on GitHub
Becoming a Language Moderator
Experienced translators can become moderators to:- Review and approve translations
- Manage translation consistency
- Help onboard new translators
- Contribute quality translations consistently
- Show understanding of translation guidelines
- Contact the project maintainer via Discord or email
Recognition
Translators are recognized in:- Language pack metadata (Author field)
- ImageGlass contributors page
- Crowdin project page
Getting Help
If you need help with translations:- Crowdin discussions - Ask in the language-specific discussion
- ImageGlass Discord - Join the Discord server
- GitHub issues - Create an issue for translation-related bugs
- Email - Contact [email protected]
Translation Statistics
Check translation progress for all languages:- Visit the ImageGlass Crowdin project
- View overall progress and language-specific completion rates
Contributing Translations to Development
For Developers
If you’re contributing code that adds new strings:- Add English strings to the source code
- Update language templates in
Setup/Assets/Language/ - Sync with Crowdin so translators can add translations
- Document the context - Add comments in code or Crowdin
Pull Request Checklist
When your PR adds new translatable strings:- English strings added to appropriate locations
- String keys follow naming conventions
- Context provided for translators
- Language template files updated
- PR description mentions new translatable strings
Thank You!
Translations make ImageGlass accessible to millions of users worldwide. Thank you for your contributions!Next Steps
- Join ImageGlass on Crowdin
- Getting Started - Set up development environment
- Contributing Guide - Other ways to contribute