File: i18n.py

package info (click to toggle)
python-sshoot 1.6.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 344 kB
  • sloc: python: 1,579; makefile: 23; sh: 1
file content (22 lines) | stat: -rw-r--r-- 547 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
"""Internationalization setup."""

import argparse
import gettext
from pathlib import Path
from typing import Callable


def _setup_i18n():
    """Setup internationalization."""
    argparse._ = _get_i18n_func("argparse")
    return _get_i18n_func("sshoot")  # default domain


def _get_i18n_func(domain: str):
    """Return the internationalization function."""
    localedir = Path(__file__).parent / "locale"
    g = gettext.translation(domain, localedir=localedir, fallback=True)
    return g.gettext


_: Callable[[str], str] = _setup_i18n()