61 lines
2.4 KiB
Bash
Executable File
61 lines
2.4 KiB
Bash
Executable File
#!/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 ""
|