#!/usr/bin/env python3
"""Final translation pass — covers the remaining keys (fa: 41, tr/ar: 192)."""
import json
import os

BASE = '/home/z/my-project/fightskill'
LOCALES = os.path.join(BASE, 'app', 'i18n', 'locales')

FA2 = {
    "my_rewards": "جوایز من", "next_match": "مسابقه بعدی",
    "pass_desc": "دسترسی ویژه به مسابقات ویژه و جوایز بیشتر",
    "platform": "پلتفرم", "play": "بازی",
    "play_and_win": "بازی کن و ببر",
    "play_and_win_desc": "در زمان مسابقه وارد شوید و بدرخشید",
    "play_and_win_long": "در زمان مسابقه، کد اتاق و رمز منتشر می‌شود. وارد شوید و غلبه کنید.",
    "players_online": "بازیکن آنلاین", "points": "امتیاز",
    "prize": "جایزه", "results": "نتایج",
    "rewards_desc": "XP کسب کنید، سطح بگیرید و جوایز باز کنید",
    "rewards_store": "فروشگاه جوایز",
    "rising_desc": "۱۰۰۰ XP در ماه",
    "rising_star": "ستاره نوظهور",
    "round_of_16": "یک‌هشتم نهایی",
    "rule_1v1": "قوانین 1v1 رعایت شود",
    "rule_cheat": "هرگونه تقلب = حذف دائمی",
    "rule_disconnect": "قطع اتصال = باخت",
    "rule_match_code": "کد مسابقه محرمانه است",
    "rule_report": "نتایج ظرف ۱۵ دقیقه گزارش شود",
    "second_place": "مقام دوم",
    "skin_desc": "اسکین انحصاری FIGHTSKILL",
    "speed_demon": "شبح سرعت",
    "speed_desc": "۱۰ برد متوالی در یک روز",
    "starts_at": "شروع در",
    "starts_in": "شروع در",
    "streak_desc": "۵ برد متوالی",
    "total_prizes": "کل جوایز",
    "total_prizes_this_month": "جوایز این ماه",
    "total_xp": "کل XP",
    "tournament_info": "اطلاعات تورنمنت",
    "tournament_pass": "پاس تورنمنت",
    "tournament_winner": "برنده تورنمنت",
    "tournaments": "تورنمنت‌ها",
    "tournaments_desc": "در تورنمنت‌های روزانه در تمام بازی‌های موردعلاقه‌تان رقابت کنید.",
    "upcoming_tournaments": "تورنمنت‌های پیش رو",
    "view_leaderboard": "مشاهده لیدربورد",
    "win_streak": "برد متوالی",
    "xp_boost": "تقویت XP",
}

TR2 = {
    "add_mode": "Mod Ekle", "advanced_search": "Gelişmiş Arama",
    "all_rights_reserved": "Tüm hakları saklıdır", "already_registered": "Zaten kayıtlısınız",
    "amount": "Miktar", "apply_filters": "Filtreleri Uygula", "avatar": "Avatar",
    "bio": "Biyografi", "cancel": "İptal", "change_password": "Şifre Değiştir",
    "charge_wallet": "Cüzdan Yükle", "clear_filters": "Filtreleri Temizle",
    "code_sent_to": "Kod gönderildi", "confirm_delete": "Silmeyi Onayla",
    "confirm_join_slot": "Katılım Slotunu Onayla", "confirm_password": "Şifreyi Onayla",
    "conflict_explanation": "Takvim çakışması açıklaması", "create_team": "Takım Oluştur",
    "credentials_hidden": "Bilgiler gizli", "credits": "Krediler",
    "current_password": "Mevcut Şifre", "dark_mode": "Karanlık Mod",
    "dashboard": "Kontrol Paneli", "deposit_wallet": "Cüzdana Yatır",
    "edit_mode": "Modu Düzenle", "edit_profile": "Profili Düzenle",
    "eligible": "Uygun", "email_management": "E-posta Yönetimi",
    "email_status": "E-posta Durumu", "end_time": "Bitiş Zamanı",
    "enter_code": "Kodu Girin", "enter_webapp": "Uygulamaya Gir",
    "featured": "Öne Çıkan", "filter_by_game": "Oyuna Göre Filtrele",
    "filter_by_mode": "Moda Göre Filtrele", "finished": "Tamamlandı",
    "forbidden": "Yasak", "free": "Ücretsiz", "game_icon": "Oyun Simgesi",
    "game_image": "Oyun Görseli", "game_name": "Oyun Adı",
    "game_profiles_desc": "Oyun profillerinizi bağlayın",
    "game_slug": "Oyun Slug", "games_management": "Oyun Yönetimi",
    "in_game_id": "Oyun İçi ID", "in_game_name": "Oyun İçi Ad",
    "insufficient_balance": "Yetersiz bakiye", "intro_video_desc": "Tanıtım videosu açıklaması",
    "intro_video_title": "Tanıtım Videosu", "invite_player": "Oyuncu Davet Et",
    "invited_you_to": "sizi davet etti", "is_active": "Aktif",
    "join_room": "Odaya Katıl", "join_solo": "Tek Başına Katıl",
    "join_team": "Takıma Katıl", "join_with_team": "Takımla Katıl",
    "language": "Dil", "leaderboard": "Liderlik Tablosu", "light_mode": "Açık Mod",
    "live": "CANLI", "logout": "Çıkış Yap", "losses": "Kayıplar",
    "make_manager": "Yönetici Yap", "match_entry_fee": "Maç Giriş Ücreti",
    "match_game": "Maç Oyunu", "match_mode": "Maç Modu",
    "match_prize_pool": "Maç Ödül Havuzu", "match_start": "Maç Başlangıcı",
    "match_status": "Maç Durumu", "match_title": "Maç Başlığı",
    "matches_management": "Maç Yönetimi", "max_squad_size": "Maks. Takım Boyutu",
    "members_to_join": "Katılacak üyeler", "minimum_hours": "Minimum saat",
    "minimum_month": "Minimum ay", "mode_name": "Mod Adı", "modes": "Modlar",
    "my_profile": "Profilim", "my_rewards": "Ödüllerim", "need_more_members": "Daha fazla üye gerekli",
    "new_password": "Yeni Şifre", "next": "Sonraki", "next_match": "Sonraki Maç",
    "no_matches_today": "Bugün maç yok", "no_modes": "Mod yok",
    "no_notifications": "Bildirim yok", "no_pending_invites": "Bekleyen davet yok",
    "no_rooms_mode": "Bu modda oda yok", "no_team": "Takım yok",
    "notif_prefs_note": "Bildirim tercihleri notu", "notification_settings": "Bildirim Ayarları",
    "our_team": "Ekibimiz", "page_not_found": "Sayfa bulunamadı",
    "pass_desc": "Özel maçlara ve daha fazla ödüle erişim",
    "platform": "Platform", "play": "OYNA", "play_and_win": "OYNA VE KAZAN",
    "play_and_win_desc": "Maç zamanında girin ve parlayın",
    "play_and_win_long": "Maç zamanında oda kodları ve şifreler yayınlanır. Girin ve hakim olun.",
    "play_time": "Oyun süresi", "player": "Oyuncu", "player_username": "Oyuncu adı",
    "players_online": "Çevrimiçi Oyuncular", "players_per_slot": "Slot başına oyuncu",
    "points": "Puanlar", "prize": "Ödül", "profile_picture": "Profil Fotoğrafı",
    "quick_actions": "Hızlı İşlemler", "reason": "Sebep", "recent_matches": "Son Maçlar",
    "registered": "Kayıtlı", "registered_at": "Kayıt zamanı",
    "remove_player": "Oyuncuyu Çıkar", "request_sent": "İstek gönderildi",
    "required": "Zorunlu", "resend_code": "Kodu Yeniden Gönder", "results": "Sonuçlar",
    "rewards_desc": "XP kazan, seviye atla, ödüller aç",
    "rewards_store": "Ödül Mağazası", "rising_desc": "Ayda 1.000 XP",
    "rising_star": "Yükselen Yıldız", "room_code": "Oda Kodu",
    "room_credentials": "Oda Bilgileri", "room_password": "Oda Şifresi",
    "rooms": "Odalar", "round_of_16": "Son 16", "rule_1v1": "1v1 kurallarına uy",
    "rule_cheat": "Herhangi bir hile = kalıcı ban", "rule_disconnect": "Bağlantı kesilmesi = yenilgi",
    "rule_match_code": "Maç kodu gizlidir", "rule_report": "Sonuçları 15 dk içinde bildir",
    "save": "Kaydet", "save_changes": "Değişiklikleri Kaydet",
    "schedule_conflict": "Takvim çakışması", "search": "Ara", "search_player": "Oyuncu Ara",
    "second_place": "2. lik", "security_warning": "Kurumsal düzeyde güvenlik. Hesabınız ve verileriniz her zaman korunur.",
    "select_language_desc": "Tercih ettiğiniz dili seçin", "select_slot": "Slot Seç",
    "select_team": "Takım Seç", "server_error": "Sunucu hatası", "settings": "Ayarlar",
    "share_with_team": "Takımla paylaş", "skin_desc": "Özel FIGHTSKILL skini",
    "skip": "Geç", "slot": "Slot", "slot_free": "Slot boş",
    "slot_selected": "Slot seçildi", "slot_taken": "Slot dolu",
    "solo_mode": "Tek Kişilik Mod", "sort_order": "Sıralama", "special_match": "Özel Maç",
    "speed_demon": "Hız İblisi", "speed_desc": "Bir günde 10 galibiyet",
    "start_time": "Başlangıç", "starts_at": "Başlangıç", "starts_in": "Başlıyor",
    "streak_desc": "5 galibiyet serisi", "tagline": "Rekabet Et. Kazan. Hakim Ol.",
    "team_add_player": "Takıma Oyuncu Ekle", "team_members": "Takım Üyeleri",
    "team_mode": "Takım Modu", "team_per_game_desc": "Oyun başına bağımsız takım",
    "total_fee": "Toplam Ücret", "total_prizes": "Toplam Ödüller",
    "total_prizes_this_month": "Bu ayın ödülleri", "total_slots": "Toplam Slot",
    "total_xp": "Toplam XP", "tournament_info": "Turnuva Bilgisi",
    "tournament_pass": "Turnuva Pass", "tournament_winner": "Turnuva Kazananı",
    "tournaments": "Turnuvalar", "tournaments_desc": "Favori oyunlarınızda günlük turnuvalarda yarışın.",
    "transactions": "İşlemler", "transactions_mgmt": "İşlem Yönetimi",
    "unverified": "Doğrulanmamış", "upcoming_tournaments": "Yaklaşan Turnuvalar",
    "users": "Kullanıcılar", "verified": "Doğrulanmış", "view_leaderboard": "LİDERLİK TABLOSUNU GÖR",
    "wallet_note": "Cüzdan notu", "wallets_management": "Cüzdan Yönetimi",
    "win_streak": "Galibiyet Serisi", "wins": "Galibiyetler", "xp_boost": "XP Takviyesi",
    "you_are_in": "İçindesiniz!", "you_are_registered": "Kayıtlısınız",
    "your_entry_balance": "Katılım bakiyeniz", "your_slot": "Slottunuz", "your_teams": "Takımlarınız",
}

AR2 = {
    "add_mode": "إضافة وضع", "advanced_search": "بحث متقدم",
    "all_rights_reserved": "جميع الحقوق محفوظة", "already_registered": "مسجل بالفعل",
    "amount": "المبلغ", "apply_filters": "تطبيق الفلاتر", "avatar": "الصورة الرمزية",
    "bio": "نبذة", "cancel": "إلغاء", "change_password": "تغيير كلمة المرور",
    "charge_wallet": "شحن المحفظة", "clear_filters": "مسح الفلاتر",
    "code_sent_to": "تم إرسال الرمز إلى", "confirm_delete": "تأكيد الحذف",
    "confirm_join_slot": "تأكيد انضمام الفتحة", "confirm_password": "تأكيد كلمة المرور",
    "conflict_explanation": "شرح تعارض المواعيد", "create_team": "إنشاء فريق",
    "credentials_hidden": "بيانات مخفية", "credits": "أرصدة",
    "current_password": "كلمة المرور الحالية", "dark_mode": "الوضع الداكن",
    "dashboard": "لوحة التحكم", "deposit_wallet": "إيداع في المحفظة",
    "edit_mode": "تعديل الوضع", "edit_profile": "تعديل الملف الشخصي",
    "eligible": "مؤهل", "email_management": "إدارة البريد",
    "email_status": "حالة البريد", "end_time": "وقت الانتهاء",
    "enter_code": "أدخل الرمز", "enter_webapp": "الدخول للتطبيق",
    "featured": "مميز", "filter_by_game": "تصفية حسب اللعبة",
    "filter_by_mode": "تصفية حسب الوضع", "finished": "انتهت",
    "forbidden": "محظور", "free": "مجاني", "game_icon": "أيقونة اللعبة",
    "game_image": "صورة اللعبة", "game_name": "اسم اللعبة",
    "game_profiles_desc": "اربط ملفات ألعابك",
    "game_slug": "معرف اللعبة", "games_management": "إدارة الألعاب",
    "in_game_id": "معرف داخل اللعبة", "in_game_name": "الاسم داخل اللعبة",
    "insufficient_balance": "رصيد غير كافٍ", "intro_video_desc": "وصف فيديو التعريف",
    "intro_video_title": "فيديو التعريف", "invite_player": "دعوة لاعب",
    "invited_you_to": "دعاك إلى", "is_active": "نشط",
    "join_room": "انضم للغرفة", "join_solo": "انضم منفردًا",
    "join_team": "انضم لفريق", "join_with_team": "انضم مع فريق",
    "language": "اللغة", "leaderboard": "لوحة الصدارة", "light_mode": "الوضع الفاتح",
    "live": "مباشر", "logout": "تسجيل الخروج", "losses": "خسائر",
    "make_manager": "تعيين كمشرف", "match_entry_fee": "رسوم دخول المباراة",
    "match_game": "لعبة المباراة", "match_mode": "وضع المباراة",
    "match_prize_pool": "جوائز المباراة", "match_start": "بداية المباراة",
    "match_status": "حالة المباراة", "match_title": "عنوان المباراة",
    "matches_management": "إدارة المباريات", "max_squad_size": "أقصى حجم للفريق",
    "members_to_join": "أعضاء للانضمام", "minimum_hours": "الحد الأدنى للساعات",
    "minimum_month": "الحد الأدنى للشهر", "mode_name": "اسم الوضع", "modes": "أوضاع",
    "my_profile": "ملفي الشخصي", "my_rewards": "مكافآتي", "need_more_members": "تحتاج أعضاء أكثر",
    "new_password": "كلمة المرور الجديدة", "next": "التالي", "next_match": "المباراة التالية",
    "no_matches_today": "لا مباريات اليوم", "no_modes": "لا أوضاع",
    "no_notifications": "لا إشعارات", "no_pending_invites": "لا دعوات معلقة",
    "no_rooms_mode": "لا غرف في هذا الوضع", "no_team": "لا فريق",
    "notif_prefs_note": "ملاحظة تفضيلات الإشعارات", "notification_settings": "إعدادات الإشعارات",
    "our_team": "فريقنا", "page_not_found": "الصفحة غير موجودة",
    "pass_desc": "وصول خاص للمباريات الخاصة ومكافآت أكثر",
    "platform": "المنصة", "play": "العب", "play_and_win": "العب واربح",
    "play_and_win_desc": "ادخل وقت المباراة وتألق",
    "play_and_win_long": "وقت المباراة، يتم نشر رموز الغرف وكلمات المرور. ادخل وسيطر.",
    "play_time": "وقت اللعب", "player": "لاعب", "player_username": "اسم اللاعب",
    "players_online": "لاعبون متصلون", "players_per_slot": "لاعبون لكل فتحة",
    "points": "نقاط", "prize": "جائزة", "profile_picture": "صورة الملف الشخصي",
    "quick_actions": "إجراءات سريعة", "reason": "السبب", "recent_matches": "مباريات حديثة",
    "registered": "مسجل", "registered_at": "مسجل في",
    "remove_player": "إزالة لاعب", "request_sent": "تم إرسال الطلب",
    "required": "مطلوب", "resend_code": "إعادة إرسال الرمز", "results": "النتائج",
    "rewards_desc": "اكسب XP وارتقِ وافتح المكافآت",
    "rewards_store": "متجر المكافآت", "rising_desc": "1,000 XP شهريًا",
    "rising_star": "نجم صاعد", "room_code": "رمز الغرفة",
    "room_credentials": "بيانات الغرفة", "room_password": "كلمة مرور الغرفة",
    "rooms": "غرف", "round_of_16": "دور الـ16", "rule_1v1": "اتبع قواعد 1v1",
    "rule_cheat": "أي غش = حظر دائم", "rule_disconnect": "انقطاع الاتصال = خسارة",
    "rule_match_code": "رمز المباراة سري", "rule_report": "أبلغ عن النتائج خلال 15 دقيقة",
    "save": "حفظ", "save_changes": "حفظ التغييرات",
    "schedule_conflict": "تعارض المواعيد", "search": "بحث", "search_player": "ابحث عن لاعب",
    "second_place": "المركز الثاني", "security_warning": "أمان بمستوى المؤسسات. حسابك وبياناتك محمية دائمًا.",
    "select_language_desc": "اختر لغتك المفضلة", "select_slot": "اختر فتحة",
    "select_team": "اختر فريقًا", "server_error": "خطأ في الخادم", "settings": "الإعدادات",
    "share_with_team": "شارك مع الفريق", "skin_desc": "جلد FIGHTSKILL حصري",
    "skip": "تخطي", "slot": "فتحة", "slot_free": "فتحة حرة",
    "slot_selected": "تم اختيار الفتحة", "slot_taken": "الفتحة مشغولة",
    "solo_mode": "وضع الفردي", "sort_order": "ترتيب", "special_match": "مباراة خاصة",
    "speed_demon": "شبح السرعة", "speed_desc": "10 انتصارات في يوم",
    "start_time": "وقت البدء", "starts_at": "يبدأ في", "starts_in": "تبدأ في",
    "streak_desc": "سلسلة 5 انتصارات", "tagline": "نافس. اربح. سيطر.",
    "team_add_player": "إضافة لاعب للفريق", "team_members": "أعضاء الفريق",
    "team_mode": "وضع الفريق", "team_per_game_desc": "فريق مستقل لكل لعبة",
    "total_fee": "الرسوم الإجمالية", "total_prizes": "إجمالي الجوائز",
    "total_prizes_this_month": "جوائز هذا الشهر", "total_slots": "إجمالي الفتحات",
    "total_xp": "إجمالي XP", "tournament_info": "معلومات البطولة",
    "tournament_pass": "تذكرة البطولة", "tournament_winner": "فائز البطولة",
    "tournaments": "بطولات", "tournaments_desc": "نافس في بطولات يومية عبر ألعابك المفضلة.",
    "transactions": "المعاملات", "transactions_mgmt": "إدارة المعاملات",
    "unverified": "غير موثق", "upcoming_tournaments": "بطولات قادمة",
    "users": "المستخدمون", "verified": "موثق", "view_leaderboard": "عرض لوحة الصدارة",
    "wallet_note": "ملاحظة المحفظة", "wallets_management": "إدارة المحافظ",
    "win_streak": "سلسلة انتصارات", "wins": "انتصارات", "xp_boost": "تعزيز XP",
    "you_are_in": "أنت داخل!", "you_are_registered": "أنت مسجل",
    "your_entry_balance": "رصيد دخولك", "your_slot": "فتحتك", "your_teams": "فرقك",
}

for lang, extra in [("fa", FA2), ("tr", TR2), ("ar", AR2)]:
    path = os.path.join(LOCALES, f"{lang}.json")
    with open(path, encoding="utf-8") as f:
        d = json.load(f)
    added = 0
    for k, v in extra.items():
        if k not in d:
            d[k] = v
            added += 1
    with open(path, "w", encoding="utf-8") as f:
        json.dump(d, f, ensure_ascii=False, indent=2)
    print(f"{lang}.json: +{added} -> {len(d)} total")
print("DONE")
