Skip to content

Internationalization (i18n) ​

HANA CLI supports multiple languages for global accessibility.

Supported Languages ​

  • English (en)
  • German (de)
  • Spanish (es)
  • French (fr)
  • Japanese (ja)
  • Korean (ko)
  • Portuguese (pt)
  • Simplified Chinese (zh)
  • Hindi (hi)
  • Polish (pl)

Language Selection ​

Environment Variable ​

HANA CLI uses standard Unix locale environment variables to determine the language.

PowerShell (Windows):

powershell
# Set for current session
$env:LANG = "de_DE"

# Set permanently for current user
[System.Environment]::SetEnvironmentVariable('LANG', 'de_DE', 'User')

# Run single command with language
& { $env:LANG = "de_DE"; hana-cli dbInfo }

Command Prompt (Windows):

cmd
# Set for current session
set LANG=de_DE

# Set permanently
setx LANG de_DE

# Run single command with language
set LANG=de_DE && hana-cli dbInfo

Bash/Zsh (macOS/Linux):

bash
# Set for current session
export LANG=de_DE

# Set permanently (add to ~/.bashrc or ~/.zshrc)
echo 'export LANG=de_DE' >> ~/.bashrc

# Run single command with language
LANG=de_DE hana-cli dbInfo

Supported Environment Variables ​

The CLI checks these environment variables in order:

  1. LC_ALL - Overrides all other locale settings
  2. LC_MESSAGES - Controls message language specifically
  3. LANG - General locale setting
  4. LANGUAGE - Fallback language list

Example using LC_MESSAGES (recommended for message translation only):

bash
# Bash/Zsh
export LC_MESSAGES=de_DE

# PowerShell
$env:LC_MESSAGES = "de_DE"

Supported Locale Formats ​

Both language-only and full locale formats work:

  • Language only: de, es, fr, ja, ko, pt, zh, hi, pl, en
  • Full locale: de_DE, es_ES, fr_FR, ja_JP, ko_KR, pt_PT, zh_CN, hi_IN, pl_PL, en_US

The CLI extracts the language code from the full locale automatically.

Troubleshooting ​

If translations don't appear:

  1. Verify the environment variable is set:

    powershell
    # PowerShell
    echo $env:LANG
    
    # Bash/Zsh
    echo $LANG
  2. Test with a simple command:

    powershell
    $env:LANG = "de"
    hana-cli help | Select-Object -First 1
    # Should output: "Verwendung: hana-cli <cmd> [Optionen]"
  3. Try the script block syntax in PowerShell:

    powershell
    & { $env:LANG = "de"; hana-cli help | Select-Object -First 1 }
  4. Check if another locale variable is overriding:

    powershell
    # Check all locale variables
    Get-ChildItem env: | Where-Object { $_.Name -match "LANG|LC_" }
  5. Restart your terminal if you set a permanent environment variable with SetEnvironmentVariable().

Translation Files ​

Translations are located in _i18n/ directory:

bash
_i18n/
├── messages.properties           # English
├── messages_de.properties        # German
├── messages_es.properties        # Spanish
├── messages_fr.properties        # French
├── messages_ja.properties        # Japanese
├── messages_ko.properties        # Korean
├── messages_pt.properties        # Portuguese
├── messages_zh.properties        # Simplified Chinese
├── messages_hi.properties        # Hindi
├── messages_pl.properties        # Polish
├── import.properties
├── import_de.properties
├── import_es.properties
├── import_fr.properties
├── import_ja.properties
├── import_ko.properties
├── import_pt.properties
├── import_zh.properties
├── import_hi.properties
├── import_pl.properties
├── export.properties
├── export_de.properties
├── export_es.properties
├── export_fr.properties
├── export_ja.properties
├── export_ko.properties
├── export_pt.properties
├── export_zh.properties
├── export_hi.properties
├── export_pl.properties
└── ...

Available Translations ​

All user-facing text is translated:

  • Command descriptions
  • Help text and usage
  • Error messages
  • Status messages
  • Prompts and confirmations

Example Output ​

English ​

bash
hana-cli import --help

Usage: hana-cli import [options]

Description:
  Import data from CSV or Excel files into database tables

Options:
  -n, --filename <file>    Input file path
  -t, --table <table>      Target table

German ​

Bash/Zsh:

bash
LANG=de_DE hana-cli import --help

Verwendung: hana-cli import [Optionen]

Beschreibung:
  Importieren Sie Daten aus CSV- oder Excel-Dateien in Datenbanktabellen

Optionen:
  -n, --filename <file>    Eingabedateipfad
  -t, --table <table>      Zieltabelle

PowerShell:

powershell
$env:LANG = "de_DE"
hana-cli import --help

Verwendung: hana-cli import [Optionen]

Beschreibung:
  Importieren Sie Daten aus CSV- oder Excel-Dateien in Datenbanktabellen

Optionen:
  -n, --filename <file>    Eingabedateipfad
  -t, --table <table>      Zieltabelle

Japanese ​

Bash/Zsh:

bash
LANG=ja_JP hana-cli import --help

使用法: hana-cli import [オプション]

説明:
  CSVまたはExcelファイルからデータベーステーブルにデータをインポート

オプション:
  -n, --filename <file>    ソースファイル
  -t, --table <table>      ターゲットテーブル

PowerShell:

powershell
$env:LANG = "ja_JP"
hana-cli import --help

使用法: hana-cli import [オプション]

説明:
  CSVまたはExcelファイルからデータベーステーブルにデータをインポート

オプション:
  -n, --filename <file>    ソースファイル
  -t, --table <table>      ターゲットテーブル

Adding New Languages ​

  1. Create translation file: _i18n/messages_xx.properties (where xx is language code)
  2. Add translations for all message keys
  3. Update configuration to support new language
  4. Test translations

Message Keys ​

Common message keys available for translation:

properties
messages.import.start=Starting import...
messages.import.success=Import completed successfully
messages.import.error=Import failed
messages.export.start=Exporting data...
messages.error.connection=Database connection failed
messages.error.tableNotFound=Table not found

Default Language ​

If language is not specified, HANA CLI uses:

  1. Environment variables (LC_ALL, LC_MESSAGES, LANG, LANGUAGE)
  2. System locale
  3. English (fallback)

Language in Scripts ​

Bash/Zsh Script:

bash
#!/bin/bash

# Use German for all commands
export LANG=de_DE

hana-cli import -n data.csv -t TABLE
hana-cli export -s SCHEMA -t TABLE -o output.csv
hana-cli dataValidator -s SCHEMA -t TABLE

PowerShell Script:

powershell
# Use German for all commands
$env:LANG = "de_DE"

hana-cli import -n data.csv -t TABLE
hana-cli export -s SCHEMA -t TABLE -o output.csv
hana-cli dataValidator -s SCHEMA -t TABLE

Batch Script (Windows):

batch
@echo off
REM Use German for all commands
set LANG=de_DE

hana-cli import -n data.csv -t TABLE
hana-cli export -s SCHEMA -t TABLE -o output.csv
hana-cli dataValidator -s SCHEMA -t TABLE

Contributing Translations ​

Want to add support for a new language?

  1. Fork the repository
  2. Create _i18n/messages_xx.properties
  3. Translate all keys
  4. Submit pull request

Want to add support for a new language? Or encounter a translation issue? See the repository for translation contribution guidelines. We welcome contributions to expand our language support!

See Also ​