2017-01-31 11 views
1

Я пытаюсь добавить многоязычную поддержку сборки Yocto. Читая официальную документацию, я обнаружил, что варианты сборки, которые контролируют региональные настройки являются:Как добавить многоязычную поддержку сборки Yocto?

  • GLIBC_GENERATE_LOCALES
  • IMAGE_LINGUAS

Ссылка: http://www.yoctoproject.org/docs/1.8/mega-manual/mega-manual.html#var-GLIBC_GENERATE_LOCALES

После сборки со следующими параметрами:

GLIBC_GENERATE_LOCALES="en_GB.UTF-8 en_US.UTF-8" 
IMAGE_LINGUAS?="en-gb" 

, если я попрошу «localectl» список доступных локалей, ничего не отображается (команда: localectl list-locales).

Еще немного информации, вывод команды "локаль" является:

LANG= 
LC_CTYPE="POSIX" 
LC_NUMERIC="POSIX" 
LC_TIME="POSIX" 
LC_COLLATE="POSIX" 
LC_MONETARY="POSIX" 
LC_MESSAGES="POSIX" 
LC_PAPER="POSIX" 
LC_NAME="POSIX" 
LC_ADDRESS="POSIX" 
LC_TELEPHONE="POSIX" 
LC_MEASUREMENT="POSIX" 
LC_IDENTIFICATION="POSIX" 
LC_ALL= 

Выход "локаль -a" команда:

C 
POSIX 

Что мне не хватает?

+0

После дополнительных исследований я обнаружил, что параметры IMAGE_LINGUAS были перезаписаны в другой файл конфигурации. После решения этого конфликта я обнаружил, что установлены следующие локали: «en_US», «en_GB». Этого недостаточно, я ищу: «en_US.utf8». Почему версия utf8 локали не установлена? – Grynium

ответ

0

Локали не создавались, потому что переменная IMAGE_LINGUAS была перезаписана в другое место (моя ошибка).

Локали, созданные с помощью IMAGE_LINGUAS, например. «en_GB» или «en_US», не имеет суффикса «.UTF-8» в их имени, но они используют кодировку UTF-8. Чтобы проверить, является ли языковой стандарт UTF-8, выполните следующие действия: https://stackoverflow.com/a/42797421/5321161