diff options
Diffstat (limited to 'lib/locale.sh')
-rw-r--r-- | lib/locale.sh | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/lib/locale.sh b/lib/locale.sh deleted file mode 100644 index 25a7758..0000000 --- a/lib/locale.sh +++ /dev/null @@ -1,88 +0,0 @@ -# pro-archman -# lib/locale.sh -# Locale functions -# -# Copyright (C) 2012, 2013 Patrick "P. J." McDermott -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -[ "x${_LOCALE_SM+set}" = 'xset' ] && return 0 -_LOCALE_SM=1 - -LOCALEDIR='@@LOCALEDIR@@' -DEFAULT_LOCALE='en_US' -TEXT_DOMAIN='pro_archman' - -load_locale() -{ - local localedir= - - # Make sure LC_MESSAGES is set. - if [ "x${LC_MESSAGES+set}" != 'xset' ]; then - if [ "x${LC_ALL+set}" = 'xset' ]; then - LC_MESSAGES="${LC_ALL}" - elif [ "x${LANG+set}" = 'xset' ]; then - LC_MESSAGES="${LANG}" - else - LC_MESSAGES="${DEFAULT_LOCALE}" - fi - fi - - if [ "${ARCHMAN_LOCALEDIR+set}" = 'set' ]; then - localedir="${ARCHMAN_LOCALEDIR:-.}" - else - localedir="${LOCALEDIR}" - fi - - # Try to load the locale. - if ! _try_load_locale "${localedir}" \ - "${LC_MESSAGES%.*}"; then - if ! _try_load_locale "${localedir}" \ - "${LC_MESSAGES%_*}"; then - if ! _try_load_locale "${localedir}" \ - "${DEFAULT_LOCALE}"; then - warn 'Cannot load locale' - return 1 - fi - fi - fi - - return 0 -} - -get_msg() -{ - local msgid="${1}" - - eval "printf '%s' \"\${msg_${TEXT_DOMAIN}_${msgid}}\"" - - return 0 -} - -_try_load_locale() -{ - local localedir="${1}" - local locale="${2}" - local ms= - - for ms in "${localedir}/${locale}/LC_MESSAGES/${TEXT_DOMAIN}.ms" \ - "${localedir}/${locale}.ms"; do - if [ -f "${ms}" ]; then - . "${ms}" - return 0 - fi - done - - return 1 -} |