@AirFlare

Как локализовать скрипт на BASH?

Доброго времени суток! Собсно задался вопросом локализации BASH скрипта... Языковые файлы лежат в определенной папке. Содержание у них вида: language=Русский. Их названия соответствуют кодовым названиям языков (ru.lng, en.lng и тп). Содержимое их читается и отображается. Проблема в том, что не могу никак придумать к вывести меню для их выбора. Т.е вот человек создал свой языковой файл (например uk.lng), в каждом из таких файлов есть строка language=НазваниеЯзыка. Как можно вывести список этих языков в меню на основании файлов в их языковой директории (название языка из языкового файла будет доставаться: language=).
Знаю что вопрос глупейший, сильно уже не пинайте. Кому не сложно, не могли бы вы предоставить пример такой реализации? Заранее спасибо.
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
3vi1_0n3
@3vi1_0n3
#!/bin/bash

declare -A LANGUAGES

BASE="./langs"
for path in $(find $BASE -name '*.lng')
do
        base=$(basename $path)
        language=${base%.*}
        line=$(grep "language" $path)
        name=${line#*=}
        LANGUAGES[$name]=$language
done

echo ${!LANGUAGES[@]}
echo ${LANGUAGES[@]}

select l in ${!LANGUAGES[@]}
do
        echo "Selected: $l"
        echo "Selected file: " $BASE/${LANGUAGES[$l]}.lng
        break
done
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xotkot
@xotkot
хорошо есть и хорошо весьма
sk ( skim )
get_lang=$(grep -rh папка/где/искать -e '^language=' | awk -F'=' '{print $2}' | sk)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы