Определение локали пользователя приложением
Как корректно сформулировать мою задачу, мне не известно вполне, но суть проста. Я пишу маленькое приложение и нужно, чтобы помимо основного английского языка, оно поддерживало, ну хотя бы русский. Многие приложения определяют настройку локали системы и выводят в терминал кириллицу (например, компиллятор 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"] = "Невозможно открыть базу данных: ";
...
Я в этом деле совсем новичок, не судите строго, но окажите помощь :)