#!/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 ""