#!/usr/bin/env bash

#######################################################################
## Вывести текст на sdtout
## $1 Выводимы текст
## Остальные аргументы используются как информация для подстановки %s
i18n() {
    declare key="$1"; shift
    printf "$(gettext -s "$key")" "$@"
}

#######################################################################
## Вывести текст на sdterr
## $1 Выводимы текст
## Остальные аргументы используются как информация для подстановки %s
i18n_error() {
    declare key="$1"; shift
    printf "$(gettext -s "$key")" "$@" >&2
}

#######################################################################
## Добавить сообщение в файл
## $1 Путь с фалом для сообщения
## $2 Выводимы текст
## Остальные аргументы используются как информация для подстановки %s
i18n_fileout() {
        [[ $# -lt 2 ]] && return 1
        declare file="$1"
        declare key="$2"
        shift 2
        printf "$(gettext -s "$key")" "$@" >> ${file}
}

#######################################################################
## Приглашение пользователю для ввода текста и возврат ответ
## $1 Выводимы текст
i18n_prompt() {
        declare rv
        [[ $# -lt 1 ]] && return 1
        read -p "$(gettext "$1"): " rv
        echo $rv
}
