Почему язык OSX не меняется? - PullRequest
1 голос
/ 25 октября 2011

Я пытаюсь использовать strftime на Mac для вывода времени в зависимости от локали.

Я устанавливаю локаль и получаю время:

// sets the program's locale to the native locale
// without this line the locale is 'C'

log.debug(setlocale(LC_ALL,"")); 
struct tm* date = localtime(&time);
strftime(result.buf, size, "%X %x", date);
log.debug(result.buf);

который выводит

en_GB.UTF-8
13:58:01 25/10/2011

что правильно. Однако затем я перехожу на панель «Системные настройки языка и текста» и меняю регион на Соединенные Штаты. Если я снова запускаю свою программу, я получаю ту же локаль, и время форматируется таким же образом (я ожидаю, что локаль будет en_US, а дата будет отформатирована 10/25/2011). Что я делаю не так?

1 Ответ

2 голосов
/ 25 октября 2011

Чтобы изменения вступили в силу, вам необходимо перезапустить терминал или все, с чего вы запускаете программу.

...