Определение локали пользователя приложением

Как корректно сформулировать мою задачу, мне не известно вполне, но суть проста. Я пишу маленькое приложение и нужно, чтобы помимо основного английского языка, оно поддерживало, ну хотя бы русский. Многие приложения определяют настройку локали системы и выводят в терминал кириллицу (например, компиллятор gcc). Вот, к примеру, кусок кода:

if (rc != SQLITE_OK)
{

    fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db));
    sqlite3_close(db);

    return 1;
}

Если локаль системы RU, то должно, по хорошему, выводиться:

fprintf(stderr, "Невозможно открыть базу данных: %s\n", sqlite3_errmsg(db));

Вопрос, собственно такой: как научить приложение определять локаль и выводить текст на языке пользователя. Т. е. нужно что-то вроде:

fprintf(stderr, LANG["connect_m"]"%s\n", sqlite3_errmsg(db));

А уже в корне лежат два файлика с переводами (типа «ru_RUS.c», «en_EN.c») и они по ситуации подключаются. В них что-то в роде:

// Lang RU

LANG["hello"] = "Привет, по писят граммов?";
LANG["taxon_i"] = "Введите латинское (биноминальное) название таксона";
LANG["connect_m"] = "Невозможно открыть базу данных: ";
...

Я в этом деле совсем новичок, не судите строго, но окажите помощь :)


Ответы (0 шт):