Skip to content

Commit fce0d62

Browse files
committed
...
1 parent abd018c commit fce0d62

10 files changed

+142
-0
lines changed

config/clouddb_en

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LANGUAGES=(en-asia en-au en-ca en-gb en-ie en-sg en-us)

config/clouddb_es

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LANGUAGES=(es-es es-us)

config/clouddb_fr

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LANGUAGES=(fr-ca fr-fr)

config/nutanix_en

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
LANGUAGES=(de-de en-asia en-au en-ca en-gb en-ie en-sg en-us es-es es-us it-it pl-pl pt-pt)
2+
TRANSLATE_TITLE='de es it pl pt'
3+
TRANSLATE_SECTION='de es it pl pt'
4+
TRANSLATE_EXCLUDE=('OVHgateway')

config/nutanix_fr

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LANGUAGES=(fr-ca fr-fr)

config/pcai

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
TRANSLATE_TITLE='fr'
2+
TRANSLATE_EXCERPT='fr'
3+
TRANSLATE_SECTION='fr'
4+
TRANSLATE_EXCLUDE=('Command Line Interface' 'AI Notebooks' 'AI Training' 'AI Deploy')

config/pcdb

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
TRANSLATE_TITLE='fr'
2+
TRANSLATE_SECTION='fr'

config/storage_en

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
LANGUAGES=(de-de en-asia en-au en-ca en-gb en-ie en-sg en-us es-es es-us it-it pl-pl pt-pt)
2+
TRANSLATE_TITLE='de es it pl pt'
3+
TRANSLATE_EXCLUDE=('Object Storage' 'Veeam Cloud Connect')

config/storage_fr

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LANGUAGES=(fr-ca fr-fr)

duplicate

+124
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
#!/usr/bin/env bash
2+
3+
GIT_ROOTPROGRAM=$(basename "$0")
4+
GIT_ROOTPROGRAM_PATH=$(dirname "$0")
5+
GIT_ROOTCONFIG_PATH="${PROGRAM_PATH}/config"
6+
GIT_ROOTOLD_IFS=${IFS}
7+
8+
LANGUAGES=(de-de en-asia en-au en-ca en-gb en-ie en-sg en-us es-es es-us fr-ca fr-fr it-it pl-pl pt-pt)
9+
OVERWRITE_SUBS='de en es fr it pl pt'
10+
OVERWRITE_MODE=body
11+
12+
declare -A MANAGER
13+
14+
MANAGER["DE-DE"]="https://www.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.de/\&ovhSubsidiary=de"
15+
MANAGER["EN-ASIA"]="https://ca.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.com/asia/\&ovhSubsidiary=asia"
16+
MANAGER["EN-AU"]="https://ca.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.com.au/\&ovhSubsidiary=au"
17+
MANAGER["EN-CA"]="https://ca.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.com/ca/en/\&ovhSubsidiary=ca"
18+
MANAGER["EN-GB"]="https://www.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.co.uk/\&ovhSubsidiary=GB"
19+
MANAGER["EN-IE"]="https://www.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.ie/\&ovhSubsidiary=ie"
20+
MANAGER["EN-SG"]="https://ca.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.com/sg/\&ovhSubsidiary=sg"
21+
MANAGER["EN-US"]="https://ca.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.com/world/\&ovhSubsidiary=we"
22+
MANAGER["ES-ES"]="https://www.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.es/\&ovhSubsidiary=es"
23+
MANAGER["ES-US"]="https://ca.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.com/world/\&ovhSubsidiary=ws"
24+
MANAGER["FR-CA"]="https://ca.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.com/ca/fr/\&ovhSubsidiary=qc"
25+
MANAGER["FR-FR"]="https://www.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.com/fr/\&ovhSubsidiary=fr"
26+
MANAGER["IT-IT"]="https://www.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.it/\&ovhSubsidiary=it"
27+
MANAGER["PL-PL"]="https://www.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.pl/\&ovhSubsidiary=pl"
28+
MANAGER["PT-PT"]="https://www.ovh.com/auth/?action=gotomanager\&from=https://www.ovh.pt/\&ovhSubsidiary=pt"
29+
30+
declare -A OVHCLOUD_LANG
31+
32+
OVHCLOUD_LANG["DE-DE"]="de"
33+
OVHCLOUD_LANG["EN-ASIA"]="asia"
34+
OVHCLOUD_LANG["EN-AU"]="en-au"
35+
OVHCLOUD_LANG["EN-CA"]="en-ca"
36+
OVHCLOUD_LANG["EN-GB"]="en-gb"
37+
OVHCLOUD_LANG["EN-IE"]="en-ie"
38+
OVHCLOUD_LANG["EN-SG"]="en-sg"
39+
OVHCLOUD_LANG["EN-US"]="en"
40+
OVHCLOUD_LANG["ES-ES"]="es-es"
41+
OVHCLOUD_LANG["ES-US"]="es"
42+
OVHCLOUD_LANG["FR-CA"]="fr-ca"
43+
OVHCLOUD_LANG["FR-FR"]="fr"
44+
OVHCLOUD_LANG["IT-IT"]="it"
45+
OVHCLOUD_LANG["PL-PL"]="pl"
46+
OVHCLOUD_LANG["PT-PT"]="pt"
47+
48+
declare -A OVHDOCS_LANG
49+
50+
OVHDOCS_LANG["DE-DE"]="de"
51+
OVHDOCS_LANG["EN-ASIA"]="asia/en"
52+
OVHDOCS_LANG["EN-AU"]="au/en"
53+
OVHDOCS_LANG["EN-CA"]="ca/en"
54+
OVHDOCS_LANG["EN-GB"]="gb/en"
55+
OVHDOCS_LANG["EN-IE"]="ie/en"
56+
OVHDOCS_LANG["EN-SG"]="sg/en"
57+
OVHDOCS_LANG["EN-US"]="us/en"
58+
OVHDOCS_LANG["ES-ES"]="es"
59+
OVHDOCS_LANG["ES-US"]="us/es"
60+
OVHDOCS_LANG["FR-CA"]="ca/fr"
61+
OVHDOCS_LANG["FR-FR"]="fr"
62+
OVHDOCS_LANG["IT-IT"]="it"
63+
OVHDOCS_LANG["PL-PL"]="pl"
64+
OVHDOCS_LANG["PT-PT"]="pt"
65+
66+
67+
git rev-parse --is-inside-work-tree > /dev/null
68+
GIT_ROOT="$(git rev-parse --show-toplevel)"
69+
cd "${GIT_ROOT}"
70+
71+
update_link_subs(){
72+
sed -i "s,www.ovhcloud.com/[^/]*,www.ovhcloud.com/${OVHCLOUD_LANG["${LANG^^}"]},g" ${TARGET}
73+
sed -i "s,docs.ovh.com/[^/]*/[^/]*,docs.ovh.com/${OVHDOCS_LANG["${LANG^^}"]},g" ${TARGET}
74+
sed -i "s,${MANAGER["${GUIDE_SUB^^}"]},${MANAGER["${LANG^^}"]},g" ${TARGET}
75+
}
76+
77+
find "${GIT_ROOT}" -type f -name "duplicate.task" | while read tasks
78+
do
79+
cat ${tasks} | while read task
80+
do
81+
GUIDE_SUB=$(echo ${task} | awk -F ":" '{print $1}')
82+
GUIDE_CONFIG=$(echo ${task} | awk -F ":" '{print $2}')
83+
GUIDE_OVERWRITE=$(echo ${task} | awk -F ":" '{print $3}')
84+
GUIDE=$(dirname ${tasks})/guide.${GUIDE_SUB}.md
85+
[[ -n ${GUIDE_CONFIG} ]] && source "${CONFIG_PATH}/${GUIDE_CONFIG}"
86+
[[ -n ${GUIDE_OVERWRITE} ]] && eval ${GUIDE_OVERWRITE}
87+
LANGUAGES=("${LANGUAGES[@]/$GUIDE_SUB}")
88+
for LANG in ${LANGUAGES[@]}
89+
do
90+
TARGET=$(dirname ${GUIDE})/guide.${LANG}.md
91+
echo "GUIDE: ${GUIDE#${GIT_ROOT}\/}"
92+
echo "TARGET: ${TARGET#${GIT_ROOT}\/}"
93+
if [[ -f ${TARGET} && ${OVERWRITE_MODE} == "body" && $(echo ${OVERWRITE_SUBS} | grep -ow "${LANG::2}" | wc -w) != 0 ]];then
94+
TARGET_FM=$(sed -n '1,/---/p' ${TARGET})
95+
sed -e '1,/---/d' ${GUIDE} > ${TARGET}
96+
update_link_subs && wait
97+
CONTENT=$(echo "${TARGET_FM}" && cat ${TARGET})
98+
echo "${CONTENT}" > ${TARGET}
99+
GUIDE_UPDATED_KEY=$(grep -Eo "^updated: [0-9]{4}(-[0-9]{2}){2}.+?$" ${GUIDE})
100+
TARGET_UPDATED_KEY=$(grep -Eo "^updated: [0-9]{4}(-[0-9]{2}){2}.+?$" ${TARGET})
101+
sed -i "2,/---/ s/${TARGET_UPDATED_KEY}/${GUIDE_UPDATED_KEY}/" ${TARGET}
102+
else
103+
cp -f ${GUIDE} ${TARGET}
104+
update_link_subs && wait
105+
if [[ "${GUIDE_SUB::2}" != "${LANG::2}" ]];then
106+
CANONICAL_URL="https://docs.ovh.com/${OVHDOCS_LANG[${GUIDE_SUB^^}]}/"
107+
IFS='/' read -r -a arr <<< $(dirname ${GUIDE#${GIT_ROOT}\/} | cut -d/ -f 3-)
108+
IFS=${OLD_IFS}
109+
p=$(echo ${GUIDE#${GIT_ROOT}\/} | awk -F "/" '{print $1"/"$2"/"}')
110+
for d in ${arr[@]}
111+
do
112+
p+=${d}/
113+
CANONICAL_URL+=$(cat ${p}*.${GUIDE_SUB}.md | sed -n '2,/---/p' | awk -F ": " '/^slug: / {print $2}' | tr -d "\r")/
114+
done
115+
sed -i "2,/---/ s;---;routes:\n canonical: '${CANONICAL_URL}'\n---;" ${TARGET}
116+
echo "CANONICAL_URL: ${CANONICAL_URL}"
117+
fi
118+
fi
119+
echo
120+
done
121+
done && wait
122+
rm -f ${tasks}
123+
echo
124+
done

0 commit comments

Comments
 (0)