Skip to main content

Language System Overview

ImageGlass supports multiple languages through .iglang.json language pack files. Each language pack contains translations for all UI text, menus, and messages.

Language File Location

Language packs can be installed in two locations:
%APPDATA%\ImageGlass\Languages\*.iglang.json
User language packs take precedence over built-in packs.

Setting Language

Via Configuration File

Language
string
default:"English"
Language pack filename (with or without .iglang.json extension)Example: "Language": "Spanish.iglang.json"Or simply: "Language": "Spanish"

Via Settings UI

1

Open Settings

Launch ImageGlass → Menu → Settings
2

Navigate to Language

Click Language in the left sidebar
3

Select Language

Choose from installed language packs in the dropdown
4

Apply

Click Apply to switch language immediately

Available Languages

ImageGlass includes these built-in language packs:

English

Default language

Arabic

العربية (ar-SA)

Armenian

Հայերեն

Bulgarian

Български

Catalan

Català

Chinese (Simplified)

简体中文

And many more...

Installing Language Packs

1

Download Language Pack

Get .iglang.json file from:
2

Install via Settings

Option 1: Using ImageGlass Settings
  1. Open Settings → Language tab
  2. Click Install new language packs…
  3. Select one or more .iglang.json files
  4. Click Open to install
3

Install Manually

Option 2: Manual Installation
  1. Copy .iglang.json file to %APPDATA%\ImageGlass\Languages\
  2. Click Refresh button in Language settings
  3. Select new language from dropdown
4

Apply Language

The language changes immediately when selected

Language Pack Structure

File Format

Language packs use JSON format:
Example.iglang.json
{
  "_Metadata": {
    "Code": "en-US",
    "EnglishName": "English",
    "LocalName": "English",
    "Author": "ImageGlass Team",
    "MinVersion": "9.0"
  },
  "Items": {
    "FrmMain.MnuFile": "File",
    "FrmMain.MnuOpenFile": "Open file…",
    "FrmMain.MnuSave": "Save",
    "FrmMain.MnuExit": "Exit",
    "_._OK": "OK",
    "_._Cancel": "Cancel"
    // ... hundreds more translations
  }
}

Metadata Section

_Metadata.Code
string
required
ISO language code (e.g., "en-US", "es-ES", "zh-CN")
_Metadata.EnglishName
string
required
Language name in EnglishExample: "Spanish", "Chinese (Simplified)"
_Metadata.LocalName
string
required
Language name in the native languageExample: "Español", "简体中文"
_Metadata.Author
string
Name(s) of translator(s)Example: "John Doe, Jane Smith"
_Metadata.MinVersion
string
required
Minimum ImageGlass version requiredCurrent: "9.0" or "9.3"

Translation Items

The Items object contains key-value pairs:
  • Key: Internal string identifier (don’t change)
  • Value: Translated text in your language
Items.{KeyName}
string
Translation for a specific UI elementSpecial characters:
  • {0}, {1}, etc. - Placeholders for dynamic values (preserve these!)
  • (U+2026) - Ellipsis character
  • \r\n - Line breaks
Example:
"FrmMain.MnuSave._Success": "Image saved to {0}"
Always preserve placeholders like {0}, {1} in your translations - they are replaced with dynamic values at runtime

Creating a Language Pack

1

Export English Template

  1. Open ImageGlass Settings → Language
  2. Select English language
  3. Click Export language pack…
  4. Save as YourLanguage.iglang.json
2

Edit Metadata

Open the file and update metadata:
{
  "_Metadata": {
    "Code": "es-ES",
    "EnglishName": "Spanish",
    "LocalName": "Español",
    "Author": "Your Name",
    "MinVersion": "9.0"
  }
}
3

Translate Items

Translate each string in the Items section:Before:
"FrmMain.MnuOpenFile": "Open file…"
After:
"FrmMain.MnuOpenFile": "Abrir archivo…"
Use a JSON editor with validation to avoid syntax errors
4

Test Translation

  1. Save the file
  2. Install it via Settings → Language
  3. Select your language
  4. Check all UI elements for correctness
5

Submit to Community

Share your translation:

Translation Guidelines

String Length

Keep translations similar in length to English text when possible. Very long translations may be truncated in the UI.

Placeholders

Preserve all placeholders in the correct order:
// ✅ Correct
"FrmExportFrames._Exporting": "Exportando {0}/{1} fotogramas\r\n{2}…"

// ❌ Wrong - missing placeholders
"FrmExportFrames._Exporting": "Exportando fotogramas…"

// ❌ Wrong - wrong order
"FrmExportFrames._Exporting": "Exportando {1}/{0} fotogramas…"

Special Characters

  • Ellipsis: Use (U+2026), not ... (three periods)
  • Line breaks: Use \r\n for new lines
  • Quotes: Use proper typographic quotes for your language
  • Ampersands: & for keyboard shortcuts (e.g., "&File" for Alt+F)

Context Awareness

Some keys have contextual suffixes:
  • ._Description - Descriptive text or help message
  • ._Error - Error message
  • ._Success - Success message
  • ._Tooltip - Tooltip text
Example:
"FrmMain.MnuSave": "Save",
"FrmMain.MnuSave._Success": "Image saved successfully",
"FrmMain.MnuSave._Error": "Could not save the image"

Updating Existing Translations

1

Check for New Strings

Compare your language pack with the latest English version:
  1. Export current English pack
  2. Compare with your translation
  3. Find missing keys
2

Add Missing Translations

Add new keys to your Items section
3

Update MinVersion

Update _Metadata.MinVersion to current ImageGlass version
4

Test

Verify new strings appear correctly in ImageGlass

Language Pack Management

Refresh Language List

After manually copying language files:
  1. Open Settings → Language
  2. Click Refresh button
  3. New languages appear in dropdown

Viewing Contributors

  1. Open Settings → Language
  2. Select a language
  3. Click Contributors to see translator names

Exporting Your Current Language

  1. Settings → Language
  2. Select active language
  3. Click Export language pack…
  4. Save for backup or sharing

Common Translation Keys

General UI

"_._OK": "OK",
"_._Cancel": "Cancel",
"_._Apply": "Apply",
"_._Close": "Close",
"_._Save": "Save",
"_._Delete": "Delete"

Settings Tabs

"FrmSettings.Nav._General": "General",
"FrmSettings.Nav._Image": "Image",
"FrmSettings.Nav._Viewer": "Viewer",
"FrmSettings.Nav._Toolbar": "Toolbar",
"FrmSettings.Nav._Gallery": "Gallery",
"FrmSettings.Nav._Language": "Language",
"FrmSettings.Nav._Appearance": "Appearance"

Troubleshooting

  • Verify .iglang.json file extension
  • Check JSON syntax is valid (use a validator)
  • Ensure _Metadata section is complete
  • Click Refresh in Language settings
  • Translation key may be missing from your language pack
  • Compare with latest English version for new keys
  • Add missing translations to Items section
  • JSON syntax error in language file
  • Missing or incorrect translation value
  • Validate JSON structure
  • Ensure file is saved as UTF-8 encoding
  • Use proper JSON escape sequences
  • Check for BOM (Byte Order Mark) issues

Contributing Translations

Help make ImageGlass accessible to more users:
  1. Check existing translations at ImageGlass Languages
  2. Create or improve a language pack
  3. Submit via:
Your contribution will be credited in the language pack metadata and ImageGlass about dialog

See Also

Settings Overview

Configuration basics

Themes

Visual customization

Build docs developers (and LLMs) love