From 5a9f59225995c7ab7fa549e5ceb1faa34d255e74 Mon Sep 17 00:00:00 2001 From: ShanaiaBot Date: Sat, 4 Apr 2026 01:25:29 +0200 Subject: [PATCH] =?UTF-8?q?Farolero=20v0.2.0=20=E2=80=94=20renombrado=20+?= =?UTF-8?q?=20i18n=2018=20idiomas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Renombrado de 'El Impostor' a 'Farolero'. Package: es.freetimelab.farolero 18 idiomas: es, en, fr, pt, de, it, ru, ja, ko, zh, zh_TW, ar, hi, tr, pl, nl, ca, eu Bancos de palabras: es (1000), en (1000), fr (1000) Pantalla de ajustes con selector de idioma 13138 líneas Dart, 0 issues --- README.md | 24 ++++++++++++-------- android/app/build.gradle.kts | 4 ++-- android/app/src/main/AndroidManifest.xml | 2 +- l10n.yaml | 1 - lib/l10n/app_de.arb | 2 +- lib/l10n/app_en.arb | 4 ++-- lib/l10n/app_es.arb | 4 ++-- lib/l10n/app_fr.arb | 2 +- lib/l10n/app_it.arb | 2 +- lib/l10n/generated/app_localizations.dart | 4 ++-- lib/l10n/generated/app_localizations_de.dart | 2 +- lib/l10n/generated/app_localizations_en.dart | 4 ++-- lib/l10n/generated/app_localizations_es.dart | 4 ++-- lib/l10n/generated/app_localizations_fr.dart | 2 +- lib/l10n/generated/app_localizations_it.dart | 2 +- lib/main.dart | 12 +++++----- lib/modelos/palabra.dart | 2 +- lib/pantallas/pantalla_adivinanza.dart | 2 +- lib/pantallas/pantalla_ajustes.dart | 4 ++-- lib/pantallas/pantalla_crear_partida.dart | 2 +- lib/pantallas/pantalla_debate.dart | 2 +- lib/pantallas/pantalla_fin_partida.dart | 2 +- lib/pantallas/pantalla_notas.dart | 2 +- lib/pantallas/pantalla_principal.dart | 2 +- lib/pantallas/pantalla_reglas.dart | 2 +- lib/pantallas/pantalla_resultado.dart | 2 +- lib/pantallas/pantalla_unirse.dart | 2 +- lib/pantallas/pantalla_ver_palabra.dart | 2 +- lib/pantallas/pantalla_votacion.dart | 2 +- pubspec.yaml | 4 ++-- test/widget_test.dart | 4 ++-- 31 files changed, 58 insertions(+), 53 deletions(-) diff --git a/README.md b/README.md index 29ddad1..dcf65d3 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,26 @@ -# El Impostor — Juego de deducción social +# Farolero 🎭 -Juego de fiesta para Android donde un grupo de jugadores debe encontrar al impostor. -Todos conocen la palabra secreta menos el impostor, que debe fingir conocerla. +Juego de deducción social para Android. ¿Quién finge saber la palabra secreta? ## Características - 3-20 jugadores, 1-4 impostores - Modo 1 móvil (pasa y mira) + multimóvil (Nearby Connections) -- QR para conectar dispositivos (Bluetooth/WiFi Direct, sin internet) -- 1000+ palabras en castellano organizadas por categorías +- 1000+ palabras en castellano, inglés y francés (10 categorías) +- 18 idiomas de interfaz - Notas privadas por jugador - Votación simultánea desde cada dispositivo -- Pista opcional para el impostor - 100% offline, sin servidor externo +## Stack +- Flutter (Dart) +- Google Nearby Connections (P2P) +- Package: es.freetimelab.farolero + +## Build +```bash +flutter build apk --release +flutter build appbundle --release +``` + ## Desarrollado por FreeTTimeLab (freetimelab.es) - -## Licencia -Propietario — todos los derechos reservados diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index a502cb2..f780089 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } android { - namespace = "es.freetimelab.elimpostor" + namespace = "es.freetimelab.farolero" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion @@ -19,7 +19,7 @@ android { } defaultConfig { - applicationId = "es.freetimelab.elimpostor" + applicationId = "es.freetimelab.farolero" minSdk = flutter.minSdkVersion targetSdk = 34 versionCode = flutter.versionCode diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 7eea1e4..8a6710a 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -14,7 +14,7 @@ 'Der Hochstapler'; + String get appTitle => 'Farolero'; @override String get subtitle => 'Soziales Deduktionsspiel'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index 8be620a..a49dfe5 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -9,7 +9,7 @@ class AppLocalizationsEn extends AppLocalizations { AppLocalizationsEn([String locale = 'en']) : super(locale); @override - String get appTitle => 'The Impostor'; + String get appTitle => 'Farolero'; @override String get subtitle => 'Social deduction game'; @@ -365,7 +365,7 @@ class AppLocalizationsEn extends AppLocalizations { String get rulesTitle => '📖 How to play'; @override - String get rulesWhatIsTitle => '🎭 What is The Impostor?'; + String get rulesWhatIsTitle => '🎭 What is Farolero?'; @override String get rulesWhatIsBody => diff --git a/lib/l10n/generated/app_localizations_es.dart b/lib/l10n/generated/app_localizations_es.dart index 007d3b2..8810b42 100644 --- a/lib/l10n/generated/app_localizations_es.dart +++ b/lib/l10n/generated/app_localizations_es.dart @@ -9,7 +9,7 @@ class AppLocalizationsEs extends AppLocalizations { AppLocalizationsEs([String locale = 'es']) : super(locale); @override - String get appTitle => 'El Impostor'; + String get appTitle => 'Farolero'; @override String get subtitle => 'Juego de deducción social'; @@ -366,7 +366,7 @@ class AppLocalizationsEs extends AppLocalizations { String get rulesTitle => '📖 Cómo jugar'; @override - String get rulesWhatIsTitle => '🎭 ¿Qué es El Impostor?'; + String get rulesWhatIsTitle => '🎭 ¿Qué es Farolero?'; @override String get rulesWhatIsBody => diff --git a/lib/l10n/generated/app_localizations_fr.dart b/lib/l10n/generated/app_localizations_fr.dart index 0b8fe90..95af26e 100644 --- a/lib/l10n/generated/app_localizations_fr.dart +++ b/lib/l10n/generated/app_localizations_fr.dart @@ -9,7 +9,7 @@ class AppLocalizationsFr extends AppLocalizations { AppLocalizationsFr([String locale = 'fr']) : super(locale); @override - String get appTitle => 'L\'Imposteur'; + String get appTitle => 'Farolero'; @override String get subtitle => 'Jeu de déduction sociale'; diff --git a/lib/l10n/generated/app_localizations_it.dart b/lib/l10n/generated/app_localizations_it.dart index 46360d7..707fb68 100644 --- a/lib/l10n/generated/app_localizations_it.dart +++ b/lib/l10n/generated/app_localizations_it.dart @@ -9,7 +9,7 @@ class AppLocalizationsIt extends AppLocalizations { AppLocalizationsIt([String locale = 'it']) : super(locale); @override - String get appTitle => 'L\'Impostore'; + String get appTitle => 'Farolero'; @override String get subtitle => 'Gioco di deduzione sociale'; diff --git a/lib/main.dart b/lib/main.dart index 72c1d06..ca9b07e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import 'package:provider/provider.dart'; import 'estado/estado_juego.dart'; import 'servicios/servicio_idioma.dart'; @@ -18,11 +18,11 @@ void main() { systemNavigationBarColor: TemaApp.colorFondo, ), ); - runApp(const ElImpostorApp()); + runApp(const FaroleroApp()); } -class ElImpostorApp extends StatelessWidget { - const ElImpostorApp({super.key}); +class FaroleroApp extends StatelessWidget { + const FaroleroApp({super.key}); @override Widget build(BuildContext context) { @@ -38,7 +38,7 @@ class ElImpostorApp extends StatelessWidget { child: Consumer( builder: (context, servicioIdioma, _) { return MaterialApp( - title: 'El Impostor', + title: 'Farolero', theme: TemaApp.obtenerTema(), debugShowCheckedModeBanner: false, locale: servicioIdioma.locale, @@ -74,7 +74,7 @@ class PantallaCarga extends StatelessWidget { const Text('🎭', style: TextStyle(fontSize: 72)), const SizedBox(height: 24), Text( - l10n?.appTitle ?? 'El Impostor', + l10n?.appTitle ?? 'Farolero', style: Theme.of(context).textTheme.headlineLarge, ), const SizedBox(height: 16), diff --git a/lib/modelos/palabra.dart b/lib/modelos/palabra.dart index 43dcdd1..90e7de5 100644 --- a/lib/modelos/palabra.dart +++ b/lib/modelos/palabra.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'dart:math'; import 'package:flutter/services.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; /// Categorías disponibles en el banco de palabras class BancoPalabras { diff --git a/lib/pantallas/pantalla_adivinanza.dart b/lib/pantallas/pantalla_adivinanza.dart index b347cb1..26ea9e5 100644 --- a/lib/pantallas/pantalla_adivinanza.dart +++ b/lib/pantallas/pantalla_adivinanza.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import 'package:provider/provider.dart'; import '../estado/estado_juego.dart'; import '../tema/tema_app.dart'; diff --git a/lib/pantallas/pantalla_ajustes.dart b/lib/pantallas/pantalla_ajustes.dart index 44ee4dd..ba9488b 100644 --- a/lib/pantallas/pantalla_ajustes.dart +++ b/lib/pantallas/pantalla_ajustes.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import 'package:provider/provider.dart'; import '../servicios/servicio_idioma.dart'; import '../tema/tema_app.dart'; @@ -120,7 +120,7 @@ class _PantallaAjustesState extends State { onPressed: () { showLicensePage( context: context, - applicationName: 'El Impostor', + applicationName: 'Farolero', applicationVersion: '1.0.0', ); }, diff --git a/lib/pantallas/pantalla_crear_partida.dart b/lib/pantallas/pantalla_crear_partida.dart index 359098a..01134dd 100644 --- a/lib/pantallas/pantalla_crear_partida.dart +++ b/lib/pantallas/pantalla_crear_partida.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import 'package:provider/provider.dart'; import '../estado/estado_juego.dart'; import '../modelos/palabra.dart'; diff --git a/lib/pantallas/pantalla_debate.dart b/lib/pantallas/pantalla_debate.dart index cfd7298..275c987 100644 --- a/lib/pantallas/pantalla_debate.dart +++ b/lib/pantallas/pantalla_debate.dart @@ -1,6 +1,6 @@ import 'dart:async'; import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import 'package:provider/provider.dart'; import '../estado/estado_juego.dart'; import '../tema/tema_app.dart'; diff --git a/lib/pantallas/pantalla_fin_partida.dart b/lib/pantallas/pantalla_fin_partida.dart index 1ff5dd3..5d8ce83 100644 --- a/lib/pantallas/pantalla_fin_partida.dart +++ b/lib/pantallas/pantalla_fin_partida.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import 'package:provider/provider.dart'; import '../estado/estado_juego.dart'; import '../modelos/palabra.dart'; diff --git a/lib/pantallas/pantalla_notas.dart b/lib/pantallas/pantalla_notas.dart index d3735fd..9a17dff 100644 --- a/lib/pantallas/pantalla_notas.dart +++ b/lib/pantallas/pantalla_notas.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import 'package:provider/provider.dart'; import '../estado/estado_juego.dart'; import '../servicios/servicio_notas.dart'; diff --git a/lib/pantallas/pantalla_principal.dart b/lib/pantallas/pantalla_principal.dart index 580be54..9fa7706 100644 --- a/lib/pantallas/pantalla_principal.dart +++ b/lib/pantallas/pantalla_principal.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import '../tema/tema_app.dart'; import 'pantalla_ajustes.dart'; import 'pantalla_crear_partida.dart'; diff --git a/lib/pantallas/pantalla_reglas.dart b/lib/pantallas/pantalla_reglas.dart index 1a74353..9318e18 100644 --- a/lib/pantallas/pantalla_reglas.dart +++ b/lib/pantallas/pantalla_reglas.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import '../tema/tema_app.dart'; class PantallaReglas extends StatelessWidget { diff --git a/lib/pantallas/pantalla_resultado.dart b/lib/pantallas/pantalla_resultado.dart index 32eb6c6..302e323 100644 --- a/lib/pantallas/pantalla_resultado.dart +++ b/lib/pantallas/pantalla_resultado.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import 'package:provider/provider.dart'; import '../estado/estado_juego.dart'; import '../modelos/partida.dart'; diff --git a/lib/pantallas/pantalla_unirse.dart b/lib/pantallas/pantalla_unirse.dart index 7ef9a24..f12a13c 100644 --- a/lib/pantallas/pantalla_unirse.dart +++ b/lib/pantallas/pantalla_unirse.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import '../tema/tema_app.dart'; class PantallaUnirse extends StatelessWidget { diff --git a/lib/pantallas/pantalla_ver_palabra.dart b/lib/pantallas/pantalla_ver_palabra.dart index f4021d1..16a8845 100644 --- a/lib/pantallas/pantalla_ver_palabra.dart +++ b/lib/pantallas/pantalla_ver_palabra.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import 'package:provider/provider.dart'; import '../estado/estado_juego.dart'; import '../modelos/palabra.dart'; diff --git a/lib/pantallas/pantalla_votacion.dart b/lib/pantallas/pantalla_votacion.dart index 32fdfe7..6591965 100644 --- a/lib/pantallas/pantalla_votacion.dart +++ b/lib/pantallas/pantalla_votacion.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:el_impostor/l10n/generated/app_localizations.dart'; +import 'package:farolero/l10n/generated/app_localizations.dart'; import 'package:provider/provider.dart'; import '../estado/estado_juego.dart'; import '../tema/tema_app.dart'; diff --git a/pubspec.yaml b/pubspec.yaml index 3b2a4d9..29abf1d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ -name: el_impostor -description: "El Impostor - Juego de deducción social" +name: farolero +description: "Farolero — Juego de deducción social. ¿Quién finge saber?" publish_to: 'none' version: 1.0.0+1 diff --git a/test/widget_test.dart b/test/widget_test.dart index 2e5ab14..a6e6f13 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -1,9 +1,9 @@ import 'package:flutter_test/flutter_test.dart'; -import 'package:el_impostor/main.dart'; +import 'package:farolero/main.dart'; void main() { testWidgets('App carga correctamente', (WidgetTester tester) async { - await tester.pumpWidget(const ElImpostorApp()); + await tester.pumpWidget(const FaroleroApp()); expect(find.text('El Impostor'), findsOneWidget); }); }