Skip to content

Commit

Permalink
l10n.eclass: Update for unexpanded LINGUAS.
Browse files Browse the repository at this point in the history
  • Loading branch information
ulm committed Jan 5, 2018
1 parent e48e6d6 commit d2b35d3
Showing 1 changed file with 22 additions and 20 deletions.
42 changes: 22 additions & 20 deletions eclass/l10n.eclass
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

# @ECLASS: l10n.eclass
Expand All @@ -12,8 +12,7 @@
# conveniently handle localizations (translations) offered by packages.
# These are meant to prevent code duplication for such boring tasks as
# determining the cross-section between the user's set LINGUAS and what
# is offered by the package; and generating the right list of linguas_*
# USE flags.
# is offered by the package.

# @ECLASS-VARIABLE: PLOCALES
# @DEFAULT_UNSET
Expand All @@ -33,11 +32,6 @@
#
# Example: PLOCALE_BACKUP="en_US"

# Add linguas useflags
for u in ${PLOCALES}; do
IUSE+=" linguas_${u}"
done

# @FUNCTION: l10n_for_each_locale_do
# @USAGE: <function>
# @DESCRIPTION:
Expand Down Expand Up @@ -103,23 +97,31 @@ l10n_find_plocales_changes() {
# @FUNCTION: l10n_get_locales
# @USAGE: [disabled]
# @DESCRIPTION:
# Determine which LINGUAS USE flags the user has enabled that are offered
# by the package, as listed in PLOCALES, and return them. In case no locales
# are selected, fall back on PLOCALE_BACKUP. When the disabled argument is
# given, return the disabled useflags instead of the enabled ones.
# Determine which LINGUAS the user has enabled that are offered by the
# package, as listed in PLOCALES, and return them. In case no locales
# are selected, fall back on PLOCALE_BACKUP. When the disabled argument
# is given, return the disabled locales instead of the enabled ones.
l10n_get_locales() {
local disabled_locales enabled_locales loc locs
for loc in ${PLOCALES}; do
if use linguas_${loc}; then
enabled_locales+="${loc} "
else
disabled_locales+="${loc} "
fi
done
if [[ -z ${LINGUAS+set} ]]; then
# enable all if unset
enabled_locales=${PLOCALES}
elif [[ -z ${LINGUAS} ]]; then
# disable all if empty
disabled_locales=${PLOCALES}
else
for loc in ${PLOCALES}; do
if has ${loc} ${LINGUAS}; then
enabled_locales+="${loc} "
else
disabled_locales+="${loc} "
fi
done
fi
if [[ ${1} == disabled ]]; then
locs=${disabled_locales}
else
locs=${enabled_locales:-$PLOCALE_BACKUP}
locs=${enabled_locales:-${PLOCALE_BACKUP}}
fi
printf "%s" "${locs}"
}

0 comments on commit d2b35d3

Please sign in to comment.