Files
farolero/lib/l10n/generated/app_localizations_ar.dart
ShanaiaBot 757344ca48
All checks were successful
Build & Deploy Farolero / Análisis de código (push) Successful in 9s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 1m7s
feat: discovery automático + QR como fallback en PantallaUnirse
- Discovery: busca hosts cercanos automáticamente y los muestra en lista
- Cada host aparece como tile tocable con nombre de la sala
- QR fallback: botón 'Escanear QR' debajo de la lista
- ServicioNearby: hostsEncontrados map, pararBusqueda(), no auto-connect
- Flujo: nombre → buscar → lista de salas (o QR) → conectar → espera
- l10n: searchGames, searchingGames, noGamesFound, orScanQR (es/en)
2026-04-04 03:20:36 +02:00

535 lines
14 KiB
Dart

// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Arabic (`ar`).
class AppLocalizationsAr extends AppLocalizations {
AppLocalizationsAr([String locale = 'ar']) : super(locale);
@override
String get appTitle => 'المنتحل';
@override
String get subtitle => 'لعبة تخمين اجتماعية';
@override
String get loadingWords => 'جارٍ تحميل الكلمات...';
@override
String get playersRange => '3-20 لاعبًا • بدون إنترنت';
@override
String get createGame => 'إنشاء لعبة';
@override
String get joinGame => 'الانضمام إلى لعبة';
@override
String get howToPlay => 'كيفية اللعب';
@override
String get settings => 'الإعدادات';
@override
String get gameMode => 'وضع اللعب';
@override
String get singleDevice => 'جهاز واحد';
@override
String get multiDevice => 'أجهزة متعددة';
@override
String get category => 'الفئة';
@override
String get categoryAll => 'الكل';
@override
String get categoryAnimals => 'حيوانات';
@override
String get categoryFood => 'طعام';
@override
String get categoryCountries => 'دول';
@override
String get categorySports => 'رياضة';
@override
String get categoryProfessions => 'مهن';
@override
String get categoryObjects => 'أشياء';
@override
String get categoryPlaces => 'أماكن';
@override
String get categoryMovies => 'أفلام';
@override
String get categoryMusic => 'موسيقى';
@override
String get categoryTechnology => 'تكنولوجيا';
@override
String playersCount(int count) {
return 'اللاعبون ($count)';
}
@override
String get playersRangeHint => '3-20';
@override
String get playerNameHint => 'اسم اللاعب';
@override
String get playerAlreadyExists => 'يوجد لاعب بهذا الاسم بالفعل';
@override
String get maxPlayersReached => 'الحد الأقصى 20 لاعبًا';
@override
String get minPlayersRequired => 'يلزم 3 لاعبين على الأقل';
@override
String get configuration => 'الإعدادات';
@override
String get impostors => '🎭 المنتحلون';
@override
String get impostorClue => '🔍 تلميح للمنتحل';
@override
String get impostorClueDescription => 'المنتحل يعرف الفئة';
@override
String get debateTime => '⏱️ وقت النقاش';
@override
String get noLimit => 'بلا حد';
@override
String get oneMin => '1 د';
@override
String get twoMin => '2 د';
@override
String get threeMin => '3 د';
@override
String get fiveMin => '5 د';
@override
String get startGame => 'بدء اللعبة';
@override
String get seeYourWord => 'اعرف كلمتك';
@override
String get eachPlayerMustSee => 'يجب على كل لاعب رؤية كلمته بسرية';
@override
String roundNumber(int round) {
return 'الجولة $round';
}
@override
String get alreadySeen => 'شاهد كلمته بالفعل';
@override
String get tapToSee => 'اضغط للعرض';
@override
String get allSeenStartDebate => 'الجميع شاهد ← بدء النقاش';
@override
String playersRemaining(int count) {
return 'متبقٍّ $count لاعبين';
}
@override
String get youAreImpostor => 'أنت المنتحل!';
@override
String get yourWordIs => 'كلمتك هي:';
@override
String clueCategory(String category) {
return 'تلميح: $category';
}
@override
String get holdToSeeWord => 'اضغط مطولًا لرؤية كلمتك';
@override
String get makeSureNoOneLooks => 'تأكد أن لا أحد ينظر';
@override
String get showingWord => '👁️ جارٍ العرض...';
@override
String get holdToSee => '👆 اضغط مطولًا للعرض';
@override
String get seenMyWord => 'رأيت كلمتي';
@override
String debateRound(int round) {
return 'النقاش - الجولة $round';
}
@override
String get timeUp => '⏰ انتهى الوقت!';
@override
String get timeRemaining => '⏱️ الوقت المتبقي';
@override
String get playersInDebate => 'اللاعبون في النقاش';
@override
String activePlayersInfo(int active, int impostors) {
return '$active نشطون • $impostors منتحل(ون) مختبئون';
}
@override
String get eliminated => 'تم إقصاؤه';
@override
String get notes => 'ملاحظات';
@override
String get goToVoting => 'الانتقال للتصويت';
@override
String get voting => '🗳️ التصويت';
@override
String get turnToVote => 'دورك للتصويت:';
@override
String votesProgress(int current, int total) {
return 'الأصوات: $current/$total';
}
@override
String get whoIsImpostor => 'من تعتقد أنه المنتحل؟';
@override
String get confirmVote => 'تأكيد التصويت';
@override
String get votingComplete => '🗳️ اكتمل التصويت';
@override
String get allVoted => 'صوّت الجميع!';
@override
String get tapToReveal => 'اضغط لكشف النتيجة';
@override
String get revealResult => 'كشف النتيجة';
@override
String get result => 'النتيجة';
@override
String get revealing => 'جارٍ الكشف...';
@override
String get wasImpostor => 'كان المنتحل! 🎉';
@override
String get wasInnocent => 'كان بريئًا 😱';
@override
String get votesThisRound => 'أصوات هذه الجولة';
@override
String get seeEndResult => 'عرض النتيجة النهائية';
@override
String get impostorGuessWord => 'هل يخمّن المنتحل الكلمة؟';
@override
String get nextRound => 'الجولة التالية';
@override
String get impostorGuessTitle => '🎯 تخمين المنتحل';
@override
String get impostorCanGuess => 'يمكن للمنتحل المُقصى\nمحاولة تخمين الكلمة';
@override
String get ifCorrectImpostorsWin => 'إذا أصاب، يفوز المنتحلون!';
@override
String get guessWordHint => 'ما الكلمة برأيك؟';
@override
String get dontGuess => 'عدم المحاولة';
@override
String get guess => 'تخمين';
@override
String get correctGuess => 'تخمين صحيح!';
@override
String theWordWas(String word) {
return 'الكلمة كانت: $word';
}
@override
String get impostorsWin => 'فاز المنتحلون!';
@override
String get wrongGuess => 'تخمين خاطئ!';
@override
String get gameContinues => 'اللعبة مستمرة...';
@override
String get gameOver => 'انتهت اللعبة';
@override
String get playersWin => 'فاز اللاعبون!';
@override
String get theSecretWordWas => '🔍 الكلمة كانت:';
@override
String categoryLabel(String category) {
return 'الفئة: $category';
}
@override
String get theImpostorWas => '🎭 المنتحل كان:';
@override
String get theImpostorsWere => '🎭 المنتحلون كانوا:';
@override
String get votingHistory => '📊 سجل التصويت';
@override
String roundElimination(int round, String name) {
return 'الجولة $round: $name';
}
@override
String get rematch => 'إعادة المباراة';
@override
String get mainMenu => 'القائمة الرئيسية';
@override
String get notesTitle => '📝 ملاحظات';
@override
String get notesSaved => 'تم حفظ الملاحظات';
@override
String get whoAreYou => 'من أنت؟';
@override
String get selectYourName => 'اختر اسمك لعرض ملاحظاتك الخاصة';
@override
String notesOf(String name) {
return 'ملاحظات $name';
}
@override
String get notesAboutPlayers => 'ملاحظات عن كل لاعب';
@override
String get playerNoteHint => 'ماذا قال؟ هل هو مشبوه؟';
@override
String get freeNote => 'ملاحظة حرة';
@override
String get freeNoteHint => 'ملاحظات شخصية...';
@override
String get rulesTitle => '📖 كيفية اللعب';
@override
String get rulesWhatIsTitle => '🎭 ما هو المنتحل؟';
@override
String get rulesWhatIsBody =>
'لعبة تخمين اجتماعية لـ 3-20 لاعبًا. الجميع يحصل على كلمة سرية... ما عدا المنتحل! مهمتك: اكتشف من يتظاهر.';
@override
String get rulesHowToPlayTitle => '🔍 كيف تُلعب؟';
@override
String get rulesHowToPlayBody =>
'1. توزيع الأدوار: الجميع يحصل على نفس الكلمة، ما عدا المنتحل(ين).\n\n2. النقاش: بالتناوب، كل لاعب يصف الكلمة دون ذكرها مباشرة. على المنتحل التظاهر بمعرفتها.\n\n3. التصويت: بعد انتهاء النقاش، يصوّت الجميع على من يعتقدون أنه المنتحل.\n\n4. الإقصاء: الأكثر حصولًا على الأصوات يُقصى ويُكشف ما إذا كان منتحلًا أم لا.\n\n5. إذا كان منتحلًا، يمكنه محاولة تخمين الكلمة. إذا أصاب، يفوز المنتحلون!';
@override
String get rulesWhoWinsTitle => '🏆 من يفوز؟';
@override
String get rulesWhoWinsBody =>
'• اللاعبون: يفوزون بإقصاء جميع المنتحلين.\n• المنتحلون: يفوزون إذا لم يُكتشفوا حتى يتساوى أو يقل عدد اللاعبين العاديين عن عدد المنتحلين، أو إذا خمّنوا الكلمة عند إقصائهم.';
@override
String get rulesTipsPlayersTitle => '💡 نصائح للاعبين';
@override
String get rulesTipsPlayersBody =>
'• أعطِ تلميحات ذكية تُثبت معرفتك بالكلمة، لكن ليست واضحة جدًا ليستغلها المنتحل.\n• راقب من يعطي إجابات غامضة أو عامة.\n• استخدم الملاحظات لتدوين ما يقوله كل شخص.\n• لا تقل الكلمة مباشرة، فهذا يساعد المنتحل!';
@override
String get rulesTipsImpostorTitle => '🎭 نصائح للمنتحل';
@override
String get rulesTipsImpostorBody =>
'• استمع بانتباه لتلميحات الآخرين.\n• حاول استنتاج الكلمة لتقديم تلميحات مقنعة.\n• لا تكن أول من يتحدث إن لم تكن متأكدًا.\n• إذا حصلت على تلميح الفئة، استغله لصالحك.\n• اتّهم الآخرين لصرف الانتباه عنك.';
@override
String get rulesModesTitle => '📱 أوضاع اللعب';
@override
String get rulesModesBody =>
'• جهاز واحد: الجميع يشارك نفس الجهاز. كل لاعب يرى كلمته بالضغط المطول على الزر.\n\n• أجهزة متعددة: كل لاعب يستخدم جهازه الخاص. يتم الاتصال عبر بلوتوث/WiFi Direct بدون حاجة للإنترنت.';
@override
String get rulesExampleTitle => '✏️ مثال على لعبة';
@override
String get rulesExampleBody =>
'الكلمة السرية: \"بيتزا\"\n\n• أحمد: \"تُؤكل ساخنة\"\n• فاطمة: \"تأتي في صندوق\"\n• ليلى (المنتحل): \"شيء شائع جدًا\" 🤔\n• خالد: \"عليها جبنة\"\n\nإجابة ليلى كانت عامة جدًا... مشبوهة!';
@override
String get joinGameTitle => 'الانضمام إلى لعبة';
@override
String get multiDeviceMode => 'وضع الأجهزة المتعددة';
@override
String get scanQrDescription =>
'امسح رمز QR الذي يعرضه المضيف للاتصال باللعبة عبر بلوتوث/WiFi Direct.';
@override
String get comingSoon => 'قريبًا';
@override
String get nearbyNotAvailable =>
'اتصال الأجهزة المتعددة عبر Nearby Connections يتطلب أجهزة أندرويد فعلية.\n\nحاليًا، استخدم وضع \"جهاز واحد\" للعب على جهاز مشترك.';
@override
String get back => 'رجوع';
@override
String get yes => 'نعم';
@override
String get no => 'لا';
@override
String get cancel => 'إلغاء';
@override
String get accept => 'قبول';
@override
String get next => 'التالي';
@override
String get settingsTitle => 'الإعدادات';
@override
String get language => 'اللغة';
@override
String get soundVolume => 'مستوى المؤثرات الصوتية';
@override
String get vibration => 'الاهتزاز';
@override
String get about => 'حول التطبيق';
@override
String get version => 'الإصدار';
@override
String get developer => 'المطوّر';
@override
String get licenses => 'التراخيص';
@override
String get scanToJoin => 'Escanea el QR para unirte';
@override
String get connectedPlayers => 'Jugadores conectados';
@override
String get waitingForPlayers => 'Esperando jugadores...';
@override
String needMorePlayers(int count) {
return 'Faltan $count jugadores más';
}
@override
String get starting => 'Iniciando...';
@override
String get enterNameAndScan => 'Escribe tu nombre y escanea el QR del host';
@override
String get yourName => 'Tu nombre';
@override
String get nameRequired => 'Escribe tu nombre';
@override
String get connectingTo => 'Conectando a';
@override
String get scanQR => 'Escanear QR';
@override
String get scanHostQR => 'Apunta al QR del host';
@override
String get connectedWaiting => '¡Conectado!';
@override
String get waitingForHost => 'Esperando a que el host inicie la partida...';
@override
String get enterNameToSearch =>
'Escribe tu nombre para buscar partidas cercanas';
@override
String get searchGames => 'Buscar partidas';
@override
String get searchingGames => 'Buscando partidas cercanas...';
@override
String get noGamesFound => 'No se encontraron partidas';
@override
String get noGamesFoundHint =>
'Asegúrate de que el host tiene la sala abierta y estáis cerca';
@override
String get orScanQR => '¿No aparece? Escanea el QR del host';
}