diff --git a/.trans-copy.sh b/.trans-copy.sh new file mode 100644 index 00000000..8440408b --- /dev/null +++ b/.trans-copy.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash +set -e + +# +# This script is used to copy the en-US content to our available locales as a +# fallback to always show all pages when displaying a specific locale that is +# missing some documents to be translated. +# +# Just execute the script without any argument and you will get the missing +# files copied into the content folder. We are calling this script within the CI +# server simply by `make trans-copy`. +# + +declare -a LOCALES=( + "zh-cn" + "zh-tw" +) + +ROOT=$(realpath $(dirname $0)/..) + +for SOURCE in $(find ${ROOT}/content -type f -iname *.en-us.md); do + for LOCALE in "${LOCALES[@]}"; do + DEST="${SOURCE%.en-us.md}.${LOCALE}.md" + + if [[ ! -f ${DEST} ]]; then + cp ${SOURCE} ${DEST} + sed -i.bak "s/en\-us/${LOCALE}/g" ${DEST} + rm ${DEST}.bak + fi + done +done \ No newline at end of file diff --git a/Makefile b/Makefile index ceafb51d..0777b173 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,10 @@ prepare-awesome\#%: clone_main: clone cd .tmp/upstream-docs && git clean -f && git reset --hard && git checkout $(GITEA_LATEST_BRANCH) cur_path=`pwd` + mkdir -p .tmp/upstream-docs/docs/scripts + cp .trans-copy.sh .tmp/upstream-docs/docs/scripts/trans-copy.sh cd .tmp/upstream-docs/docs && bash scripts/trans-copy.sh + rm .tmp/upstream-docs/docs/scripts/trans-copy.sh cd $(cur_path) bash check_outdated.sh zh-cn