Ex001 - Anylang
./zhooks/__langs.x
# ----------------------------------------------
# Scripting Unix Architecture - Brqx 2023
# Course Version 0.0.3
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Langs - 16 langs
# ==============================================#
# VER 0.0.1
# ----------------------------------------------
__langs()
{
LANGS="ar bn ca ko de en es fr hi it ja pt ro ru uk zh"
LATIN_LANGS="ca de en es fr it pt ro"
}
# ----------------------------------------------
__is_lang()
{
if [[ "${LANGS}" = *"${STRING}"* ]] ; then
echo 0
else
echo 1
fi
}
# ----------------------------------------------
__is_latin_lang()
{
if [[ "${LATIN_LANGS}" = *"${STRING}"* ]] ; then
echo 0
else
echo 1
fi
}
# ----------------------------------------------
__langs
# Falta ver si ya se ha establecido el lang
# CURRENT_LANG
if [ "${LANG_PASSED}" == "" ] ; then
# Si el lenguaje actual es permitido ....
STRING=${CURRENT_LANG}
if [ $(__is_lang) -eq 0 ] ; then
LL=${CURRENT_LANG}
else
LL="en"
fi
else
STRING=${LANG_PASSED}
if [ $(__is_lang) -eq 0 ] ; then
LL=${LANG_PASSED}
else
LL="en"
fi
fi
CURRENT_LANG=${LL}
# Maybe manage langs here
# ----------------------------------------------
./zhooks/__langs.x
# ----------------------------------------------
# Scripting Unix Architecture - Brqx 2023
# Course Version 0.0.3
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Langs - 16 langs
# ==============================================#
# VER 0.0.1
# ----------------------------------------------
__langs()
{
LANGS="ar bn ca ko de en es fr hi it ja pt ro ru uk zh"
LATIN_LANGS="ca de en es fr it pt ro"
}
# ----------------------------------------------
__is_lang()
{
if [[ "${LANGS}" = *"${STRING}"* ]] ; then
echo 0
else
echo 1
fi
}
# ----------------------------------------------
__is_latin_lang()
{
if [[ "${LATIN_LANGS}" = *"${STRING}"* ]] ; then
echo 0
else
echo 1
fi
}
# ----------------------------------------------
__langs
# Falta ver si ya se ha establecido el lang
# CURRENT_LANG
if [ "${LANG_PASSED}" == "" ] ; then
# Si el lenguaje actual es permitido ....
STRING=${CURRENT_LANG}
if [ $(__is_lang) -eq 0 ] ; then
LL=${CURRENT_LANG}
else
LL="en"
fi
else
STRING=${LANG_PASSED}
if [ $(__is_lang) -eq 0 ] ; then
LL=${LANG_PASSED}
else
LL="en"
fi
fi
CURRENT_LANG=${LL}
# Maybe manage langs here
# ----------------------------------------------
./scripts/func/utils/langs/create/lang_create.f
# ----------------------------------------------
# Scripting Unix Architecture - Brqx 2023
# Course Version 0.0.3
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Multi language Management - Chapter 001 - Num 030
# ==============================================
lang_create_i=$( __t "f_lang_create")
# ----------------------------------------------
lang_create()
{
VER="0.0.0.2"
# We have this structure to remember and copy when be needed
##"${1}" == "-?" -o
if [ "${1}" == "-?" -o "${1}" == "" ] ; then
OO "==--==--==--==--==--==--==--==--==--==--==--==--==--==--=="
OO "${lang_create_i} [${VER}]"
OO "=========================================================="
OO "Format : lc | lang_create STRING | FILE "
OO "==--==--==--==--==--==--==--==--==--==--==--==--==--==--=="
else
# Two methods of work
# 1.Pass a file
# 2.Pass a string of a file ... a lang
PARAM="${1}"
if [ -f "${PARAM}" ] ; then
## OO "File Exist"
# We must to know what part of file must to be changed
# example_it ... it is what we will change it
__lang_create_file ${PARAM}
else
## OO "Is not a file"
__lang_create_string ${PARAM}
fi
fi
}
# ----------------------------------------------
./scripts/func/utils/langs/create/hook_lang_create.f
# ----------------------------------------------
# Scripting Unix Architecture - Brqx 2023
# Course Version 0.0.3
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Multi language Management - Chapter 001 - Num 030
# ==============================================
__lang_create_file()
{
# We know is a file
# Must have format name_LANG.extension in lowercase
VER="0.0.0.1"
FILE="${1}"
FILE_NO_EXT=$( echo ${FILE} | cut -d . -f1 )
EXT=$( echo ${FILE} | cut -d . -f2 )
FILE_NO_LANG=$( ecut ${FILE_NO_EXT} 3 )
__langs
for i in ${LANGS} ; do
DESTINATION="${FILE_NO_LANG}_${i}.${EXT}"
# echo "${FILE} -- ${DESTINATION}"
if [ "${FILE}" != "${DESTINATION}" ] ; then
# EE "cp ${FILE} ${DESTINATION}"
# Only copy if no exist destination
cp ${FILE} ${DESTINATION}
fi
done
}
# ----------------------------------------------
__lang_create_string()
{
# We know is a string
# We don't know what format have
# string_es.k string_en.k ... string_zh.k
VER="0.0.0.1"
STRING="${1}"
# We must be sure string is a language
if [ $(__is_lang) -eq 0 ] ; then
# what file will be the string : ll
# ll is an alias to lg
FILE="$(lg ${STRING} )"
if [ "${FILE}" != "" ] ; then
## EE "File : ${FILE}"
if [ -f "${FILE}" ] ; then
## EE " __lang_create_file ${FILE}"
__lang_create_file ${FILE}
fi
fi
fi
}
# ----------------------------------------------
./zhooks/__langs.x