pre=deploy
This commit is contained in:
60
bin/find_hardcoded_texts.sh
Executable file
60
bin/find_hardcoded_texts.sh
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Скрипт для поиска всех хардкод-текстов на русском языке в TypeScript файлах
|
||||
|
||||
echo "========================================="
|
||||
echo "🔍 Поиск хардкод-текстов в проекте"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
|
||||
# Директория для поиска
|
||||
SEARCH_DIR="src"
|
||||
|
||||
# Подсчет общего количества хардкод-текстов
|
||||
echo "📊 Общая статистика:"
|
||||
echo "-------------------"
|
||||
|
||||
single_quotes=$(grep -rn "'[А-Яа-яЁё]" $SEARCH_DIR --include="*.ts" | wc -l)
|
||||
double_quotes=$(grep -rn '"[А-Яа-яЁё]' $SEARCH_DIR --include="*.ts" | wc -l)
|
||||
total=$((single_quotes + double_quotes))
|
||||
|
||||
echo "Тексты в одинарных кавычках: $single_quotes"
|
||||
echo "Тексты в двойных кавычках: $double_quotes"
|
||||
echo "ВСЕГО: $total"
|
||||
echo ""
|
||||
|
||||
# Топ-10 файлов с наибольшим количеством хардкода
|
||||
echo "📁 Топ-10 файлов с хардкод-текстами:"
|
||||
echo "-----------------------------------"
|
||||
grep -rn "'[А-Яа-яЁё]\|\"[А-Яа-яЁё]" $SEARCH_DIR --include="*.ts" | \
|
||||
cut -d: -f1 | \
|
||||
sort | \
|
||||
uniq -c | \
|
||||
sort -rn | \
|
||||
head -10 | \
|
||||
awk '{printf "%3d тексто в: %s\n", $1, $2}'
|
||||
echo ""
|
||||
|
||||
# Детальная информация по каждому файлу
|
||||
echo "📄 Детальная статистика по файлам:"
|
||||
echo "----------------------------------"
|
||||
|
||||
for file in $(grep -rl "'[А-Яа-яЁё]\|\"[А-Яа-яЁё]" $SEARCH_DIR --include="*.ts" | sort); do
|
||||
count=$(grep -n "'[А-Яа-яЁё]\|\"[А-Яа-яЁё]" "$file" | wc -l)
|
||||
if [ $count -gt 0 ]; then
|
||||
printf "%-60s %3d текстов\n" "$file" "$count"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo "✅ Анализ завершен"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo "Рекомендации:"
|
||||
echo "1. Начните с файлов, содержащих больше всего текстов"
|
||||
echo "2. Используйте команду для просмотра конкретных строк:"
|
||||
echo " grep -n \"'[А-Яа-яЁё]\\|\\\"[А-Яа-яЁё]\" <файл>"
|
||||
echo "3. Замените тексты на локализационные ключи"
|
||||
echo "4. Добавьте переводы в файлы src/locales/*.json"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user