-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtranslation.sh
executable file
·41 lines (30 loc) · 1.02 KB
/
translation.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
echo '##### Symfony Translation Inspector #####'
printf '\n'
FILE_COUNT=0
CASES_COUNT=0
# LOOP OVER DIRECTORIES
for ARG in "$@"
do
# FIND ALL FILES MATCHING EXTENSIONS
FILENAME_LIST=$(find $ARG -type f -regex '.*\.\(twig\|vue\)$' -printf '%p;')
# TRANSFORM STRING INTO ARRAY
IFS=';' FILENAME_ARRAY=($FILENAME_LIST)
# LOOP OVER FILES
for FILENAME in "${FILENAME_ARRAY[@]}"; do
echo "Checking $FILENAME"
# GET FILE CONTENT
FILE_CONTENT=$(cat $FILENAME)
# FIND STRINGS NOT TRANSLATED AND INCREMENT CASES
CASES_FOUND=$(echo "$FILE_CONTENT" | grep -E '<.+>(.[^<]+)<.+>' | grep -E '^[^{}]+$' | wc -l)
CASES_COUNT=$((CASES_COUNT+CASES_FOUND))
# UNCOMMENT THIS TO CHECK CASES
# echo "$FILE_CONTENT" | grep -E '<.+>(.[^<]+)<.+>' | grep -E '^[^{}]+$'
# INCREMENT FILE
FILE_COUNT=$((FILE_COUNT+1))
done
done
printf '\n'
echo '##### Results #####'
printf '\n'
echo "$FILE_COUNT" files
echo "$CASES_COUNT" strings to translate