Ex001 - Anylang

scripting_anylang_en_1223_v001

./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