|
Alain Reguera Delgado |
52ee2e |
#!/bin/bash
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
function locale_setLocaleType {
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
local SECTION=''
|
|
Alain Reguera Delgado |
52ee2e |
local -a SECTIONS
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
# Define motif-specific environment variables, based on
|
|
Alain Reguera Delgado |
52ee2e |
# configuration file path. These variables might save
|
|
Alain Reguera Delgado |
52ee2e |
# configuration file writers from typing motif-specific
|
|
Alain Reguera Delgado |
52ee2e |
# information when they produce motif-specific content. These
|
|
Alain Reguera Delgado |
52ee2e |
# variables will be empty if the configuration file isn't inside
|
|
Alain Reguera Delgado |
52ee2e |
# a motif-specific directory structure.
|
|
Alain Reguera Delgado |
52ee2e |
MOTIF=$(tcar_getPathComponent ${CONFIGURATION} --motif)
|
|
Alain Reguera Delgado |
52ee2e |
MOTIF_NAME=$(tcar_getPathComponent ${CONFIGURATION} --motif-name)
|
|
Alain Reguera Delgado |
52ee2e |
MOTIF_VERSION=$(tcar_getPathComponent ${CONFIGURATION} --motif-version)
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
# Use arrays to store section names. This make possible to make
|
|
Alain Reguera Delgado |
52ee2e |
# use of post-rendition and last-rendition concepts. Otherwise it
|
|
Alain Reguera Delgado |
52ee2e |
# would be difficult to predict information about sections inside
|
|
Alain Reguera Delgado |
52ee2e |
# deeper environments.
|
|
Alain Reguera Delgado |
52ee2e |
for SECTION in $(tcar_getConfigSectionNames "${CONFIGURATION}" \
|
|
Alain Reguera Delgado |
52ee2e |
| egrep ${TCAR_FLAG_FILTER});do
|
|
Alain Reguera Delgado |
52ee2e |
SECTIONS[((++${#SECTIONS[*]}))]="${SECTION}"
|
|
Alain Reguera Delgado |
52ee2e |
done
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
local COUNTER=0
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
while [[ ${COUNTER} -lt ${#SECTIONS[*]} ]];do
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
# Initialize array variables locally.
|
|
Alain Reguera Delgado |
52ee2e |
local -a TRANSLATIONS
|
|
Alain Reguera Delgado |
52ee2e |
local -a SOURCES
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
local SECTION=${SECTIONS[${COUNTER}]}
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
local RENDER_TYPE=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" "render-type")
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
local RENDER_FROM=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" "render-from")
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
for SOURCE in ${RENDER_FROM};do
|
|
Alain Reguera Delgado |
52ee2e |
if [[ ${SOURCE} =~ "^/" ]];then
|
|
Alain Reguera Delgado |
52ee2e |
SOURCES[((++${#SOURCES[*]}))]=${SOURCE}
|
|
Alain Reguera Delgado |
52ee2e |
else
|
|
Alain Reguera Delgado |
52ee2e |
SOURCES[((++${#SOURCES[*]}))]=$(dirname ${CONFIGURATION})/${SOURCE}
|
|
Alain Reguera Delgado |
52ee2e |
fi
|
|
Alain Reguera Delgado |
52ee2e |
done
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
if [[ -z ${RENDER_TYPE} ]];then
|
|
Alain Reguera Delgado |
52ee2e |
RENDER_TYPE=$(echo ${SOURCES[0]} | sed -r 's/.+\.([[:alpha:]]+)$/\1/')
|
|
Alain Reguera Delgado |
52ee2e |
fi
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
local LOCALE_FROM=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" "locale-from")
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
for TRANSLATION in ${LOCALE_FROM};do
|
|
Alain Reguera Delgado |
52ee2e |
if [[ ${TRANSLATION} =~ "^/" ]];then
|
|
Alain Reguera Delgado |
52ee2e |
TRANSLATIONS[((++${#TRANSLATIONS[*]}))]=${TRANSLATION}
|
|
Alain Reguera Delgado |
52ee2e |
else
|
|
Alain Reguera Delgado |
52ee2e |
TRANSLATIONS[((++${#TRANSLATIONS[*]}))]=$(dirname ${CONFIGURATION})/${TRANSLATION}
|
|
Alain Reguera Delgado |
52ee2e |
fi
|
|
Alain Reguera Delgado |
52ee2e |
done
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
# Initialize locale's modules.
|
|
Alain Reguera Delgado |
52ee2e |
tcar_setModuleEnvironment "${RENDER_TYPE}" "${@}"
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
# Increment section's counter.
|
|
Alain Reguera Delgado |
52ee2e |
COUNTER=$(( ${COUNTER} + 1 ))
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
# Reset array variable to avoid undesired concatenations
|
|
Alain Reguera Delgado |
52ee2e |
# between sections blocks.
|
|
Alain Reguera Delgado |
52ee2e |
unset TRANSLATIONS
|
|
Alain Reguera Delgado |
52ee2e |
unset SOURCES
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
done
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
# Reset array variables and their counters to avoid undesired
|
|
Alain Reguera Delgado |
52ee2e |
# concatenations between configuration files.
|
|
Alain Reguera Delgado |
52ee2e |
unset COUNTER
|
|
Alain Reguera Delgado |
52ee2e |
unset SECTIONS
|
|
Alain Reguera Delgado |
52ee2e |
|
|
Alain Reguera Delgado |
52ee2e |
}
|