Не работает простейшая программа сделанная по руководству

Я искал руководства по написанию программ на C с использованием gettext и нашёл эту с федоры и эту. Пробовал делать оба варианта по инструкции (перевод делал и через терминал, и через poedit) , но всё равно программа выводила непереведённый текст. Текущий код такой

#include <stdlib.h>
#include <libintl.h>
#include <locale.h>
#define _(STRING) gettext (STRING)
int main()
{
setlocale (LC_ALL, "");
bindtextdomain ("main_6", getenv("PWD"));
textdomain ("main_6");

printf(_("translated"));
return 0;
}

А кусок текущего main_6.po

"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: main_6.c:12
#, c-format
msgid "translated"
msgstr "переведённый"

Выводит просто translated. Запускал через терминал с флагами LANG=ru; LANG=ru_RU и меняя локаль в программе. Возможно проблема из-за того что работаю на виртуалке Ubuntu. Вот дерево в каталоге, немного сделал лишнего и ненужного по идее.

├── main
├── main_6
├── main_6.c
├── po
│  ├── main_6.pot
│  └── ru
│     ├── LC_MESSAGES
│     │   └── main_6.mo
│     ├── main_6.mo
│     └── main_6.po
└── ru
   ├── LC_MESSAGES
   │ └── main_6.mo
   ├── main_6.mo
   └── main_6.po

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