[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
First ES translation patch and something else
- To: crimson-users@xxxxxxxx
- Subject: First ES translation patch and something else
- From: Ernesto Domato <edomat@xxxxxxxxx>
- Date: Thu, 29 Oct 2009 00:00:03 -0300
- Delivered-to: archiver@xxxxxxxx
- Delivered-to: crimson-users-outgoing@xxxxxxxx
- Delivered-to: crimson-users@xxxxxxxx
- Delivery-date: Wed, 28 Oct 2009 23:00:05 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=VeWGTy//WkNKe5w8EL1uAIqMwYBZr5tNaLNJAZZ0ejA=; b=NhNRh2tWOc5qTYkEG092h/aFXGi0MBVKez0NowKdm455JI3rzkXWo6SgtvKXf5St7c 2dAF98iI1CaeaRnZFnNTd0I5y2M+njviVi5vAf31L/F98+rCMZttkOGJiNmVoGa99dZt zM9np7aVDqFq3r0TYOAf2SLFzb8Raayhcp0pE=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=JD+tDMBYs7e5fLIZWHFD3/UDNCS4jLVtk5DoBXhrXb02d5SZhqLnO4mrtAXVcz3aPv By7b+Jlc/Z1ydDteTy/TAJjG9Or3JE2Jz2yFB0OYpV+NDXpDofirWHBc+Usua0YmQ3bx bWVE72pNkw+6nhVTY0TtbPORZ199uk+RoC07U=
- Reply-to: crimson-users@xxxxxxxx
- Sender: owner-crimson-users@xxxxxxxx
Well, here goes my first two patches for crimson field. The first one
implements the translations to Spanish of the engine and units, later
I'll send the patches for the levels. The second patch is optional and
it implements the functionality that if you start the game for the
first time, so the configuration file doesn't exists yet, it display
the "Language Selection" windows so you can choose with language you
want to use. I did this because at least in my country is usual that
players doesn't understand a bit of english and it could be difficult
for them to change the game to spanish easily.
What do you think about this implementation?
Regards,
Ernesto.
diff -Nur cvs/locale/es.tmpl new/locale/es.tmpl
--- cvs/locale/es.tmpl 1969-12-31 21:00:00.000000000 -0300
+++ new/locale/es.tmpl 2009-10-28 23:02:54.000000000 -0300
@@ -0,0 +1,232 @@
+# english language file for Crimson Fields ($Revision: 1.19 $)
+language=español
+id=es
+
+[messages]
+_OK
+# MSG_B_CANCEL
+_Cancelar
+# MSG_B_YES
+_Si
+# MSG_B_NO
+_No
+# MSG_B_START
+_Comenzar
+# MSG_B_MAP
+_Mapa
+# MSG_B_OBJECTIVES
+Ob_jetivos
+# MSG_B_LEVEL_INFO
+_Información del Nivel
+# MSG_B_LOAD
+_Cargar
+# MSG_B_SAVE
+_Guardar
+# MSG_B_SKIP
+_Parar
+# MSG_B_END_TURN
+_Terminar Turno
+# MSG_B_OPTIONS
+_Opciones
+# MSG_B_OPT_GENERAL
+_General
+# MSG_B_OPT_VIDEO
+_Video
+# MSG_B_OPT_AUDIO
+_Sonido
+# MSG_B_OPT_FULLSCREEN
+_Pantalla Completa
+# MSG_B_OPT_DAMAGE
+Mostrar _Indicadores de Daño
+# MSG_B_OPT_REPLAYS
+Mostrar _Repetición de Turnos
+# MSG_B_OPT_REPLAYS_QUICK
+Mostrar Resultados de _Batallas Solamente
+# MSG_B_OPT_SFX
+_SFX
+# MSG_B_OPT_MUSIC
+_Musica
+# MSG_B_OPT_LANGUAGE
+_Idiomas
+# MSG_B_OPT_KEYBOARD
+_Cambiar teclas
+# MSG_B_GAME_TYPE
+_Tipo de Juego
+# MSG_B_MAP_TYPE
+_Mapas
+# MSG_B_SAVE_GAME
+_Guardar...
+# MSG_B_MAIN_MENU
+_Rendirse...
+# MSG_B_QUIT
+_Salir...
+# MSG_B_EXIT
+_Salir
+# MSG_B_HANDICAP
+_Handicap
+# MSG_B_REPAIR
+_Reparar
+# MSG_B_UNIT_INFO
+_Información
+# MSG_B_UNIT_CONTENT
+_Contenido
+# MSG_B_UNIT_SWEEP
+_Barrer Mina
+# MSG_B_UNIT_UNDO
+_Deshacer
+# MSG_B_SERVER
+_Nombre del Servidor/Dirección
+# MSG_B_PORT
+_Puerto
+# MSG_GAME_HOT_SEAT
+Mismo Asiento
+# MSG_GAME_PBEM
+Jugar por e-Mail (PBEM)
+# MSG_GAME_AI
+vs. Computadora
+# MSG_GAME_NETWORK_SERVER
+Red (Servidor)
+# MSG_GAME_NETWORK_CLIENT
+Red (Cliente)
+# MSG_MAPS_SINGLES
+Escaramuzas
+# MSG_MAPS_CAMPAIGNS
+Campañas
+# MSG_MAPS_SAVES
+Juegos Guardados
+# MAG_HANDICAP_NONE
+Ninguno
+# MSG_HANDICAP_P1
+Jugador 1
+# MSG_HANDICAP_P2
+Jugador 2
+# MSG_TAG_PBEM
+PBEM
+# MSG_TAG_NET
+TCP/IP
+# MSG_TURN
+Turno
+# MSG_UNITS
+Unidades
+# MSG_SHOPS
+Tiendas
+# MSG_PLAYER_SELECTION
+Selección de Jugador
+# MSG_DEBRIEFING
+Detalle de Misión
+# MSG_LVL_INFO
+Información del Nivel
+# MSG_OPTIONS_GENERAL
+Opciones Generales
+# MSG_OPTIONS_VIDEO
+Opciones de Video
+# MSG_OPTIONS_AUDIO
+Opciones de Audio
+# MSG_OPTIONS_LANGUAGE
+Selección de Idioma
+# MSG_OPTIONS_KEYBOARD
+Cambiar Teclas
+# MSG_OPT_KEY_MINIMIZE
+Minimizar Juego
+# MSG_OPT_KEY_END_TURN
+Finalizar Turno
+# MSG_OPT_KEY_MAP
+Ver Mapa
+# MSG_OPT_KEY_GAME_MENU
+Menú del Juego
+# MSG_OPT_KEY_UNIT_MENU
+Menú de Unidad
+# MSG_OPT_KEY_UNIT_CONTENT
+Mostrar contenido
+# MSG_OPT_KEY_UNIT_INFO
+Información de Unidad
+# MSG_OPT_KEY_UNIT_NEXT
+Unidad Siguiente
+# MSG_OPT_KEY_UNIT_SELECT
+Seleccionar Unidad
+# MSG_OPT_KEY_UNIT_UNDO
+Deshacer Último Movimiento
+# MSG_OPT_KEY_UNIT_SWEEP
+Barrer Mina
+# MSG_PRESS_KEY
+Por favor presione una tecla para asignar o Retroceso/Supr para borrar
+# MSG_LOAD_GAME
+Cargar Juego
+# MSG_SAVE_GAME
+Guardar Juego
+# MSG_GAME_SAVED
+Juegos Guardados
+# MSG_GAME_SAVED_PBEM
+El juego actual de PBeM fue guardado en
+'%s'.
+# MSG_ENTER_PASSWORD
+Ingrese _Clave
+# MSG_CHOOSE_PASSWORD
+Elija una _Clave
+# MSG_CONFIRM_PASSWORD
+Confirme la _Clave
+# MSG_NET_WAITING
+Esperando al jugador remoto...
+# MSG_NET_WAITING_CLIENT
+Esperando por cliente...
+# MSG_NET_CONNECTING
+Conectando...
+# MSG_NET_CONFIG_SERVER
+Configuración del Servidor
+# MSG_NET_CONFIG_CLIENT
+Conectarse al Servidor
+# MSG_TRANSFER_UNITS
+Select your cargo.
+# MSG_ASK_SIDE
+¿De qué lado quiere jugar?
+# MSG_ASK_REPAIR
+Reparar el %s requiere %d cristales.
+# MSG_ASK_OVERWRITE
+El archivo '%s'
+existe. ¿Sobreescribirlo?
+# MSG_ASK_ABORT
+¿Volver al menú principal?
+# MSG_ASK_ABORT_PBEM
+Really abort? The current game will be lost!
+# MSG_ASK_ABORT_NETWORK
+¿Quiere dejar realmente el juego actual y desconectarse?
+# MSG_ASK_QUIT
+¿Realmente quiere salir?
+# MSG_RESULT_DRAW
+¡Este juego fue un empate!
+# MSG_RESULT_VICTORY
+!Felicitaciones! !Ha salido victorioso!
+# MSG_RESULT_DEFEAT
+!Ha sido derrotado!
+# MSG_MESSAGE
+Mensaje
+# MSG_WARNING
+Advertencia
+# MSG_ERROR
+Error
+# MSG_ERR_WRITE
+No se pudo abrir el archivo de salida.
+# MSG_ERR_SAVE
+¡No se pudo guardar el juego!
+# MSG_ERR_NETWORK
+¡Se perdió la conexión con el otro jugador!
+# MSG_ERR_LOAD_MAP
+¡Fallo al cargar misión!
+# MSG_ERR_NO_ACCESS
+¡Acceso denegado!
+# MSG_ERR_NO_BRIEFING
+¡No hay detalle de misión disponible!
+# MSG_ERR_NO_LVL_INFO
+¡No hay información disponible sobre el nivel!
+# MSG_ERR_MAP_NOT_FOUND
+¡El mapa requerido no esta disponible!
+# MSG_ERR_NO_MAP
+¡No seleccionó un nivel!
+# MSG_ERR_SWEEPER_FULL
+No hay espacio para la mina.
+# MSG_ERR_NO_CRYSTALS
+Suministros Insuficientes
+# MSG_ERR_NO_PRODUCTION
+No puede construir esta unidad.
+[/messages]
+
diff -Nur cvs/locale/Makefile.am new/locale/Makefile.am
--- cvs/locale/Makefile.am 2009-10-24 18:38:02.000000000 -0300
+++ new/locale/Makefile.am 2009-10-24 22:58:27.000000000 -0300
@@ -1,5 +1,5 @@
localedir = $(pkgdatadir)/locale
-locale_DATA = de.dat en.dat fr.dat hu.dat it.dat pl.dat sk.dat sr.dat tr.dat
+locale_DATA = de.dat en.dat es.dat fr.dat hu.dat it.dat pl.dat sk.dat sr.dat tr.dat
EXTRA_DIST = $(locale_DATA:.dat=.tmpl)
CLEANFILES = $(locale_DATA)
diff -Nur cvs/tools/default.usrc new/tools/default.usrc
--- cvs/tools/default.usrc 2007-01-14 08:25:14.000000000 -0300
+++ new/tools/default.usrc 2009-10-26 16:05:39.000000000 -0300
@@ -5,6 +5,7 @@
[unit]
name(de) = Infanterie
name(en) = Infantry
+name(es) = Infantería
name(fr) = Infanterie
name(it) = Fanteria
name(pl) = Piechota
@@ -34,6 +35,7 @@
[unit]
name(de) = Schützenpanzer
name(en) = Medium Tanks
+name(es) = Tanque Mediano
name(fr) = Tank Moyen
name(it) = Carro Armato
name(pl) = Lekkie czołgi
@@ -56,6 +58,7 @@
[unit]
name(de) = Schwere Panzer
name(en) = Heavy Tanks
+name(es) = Tanque Pesado
name(fr) = Tank Lourd
name(it) = Carro Armato Pesante
name(pl) = Ciężkie czołgi
@@ -79,6 +82,7 @@
[unit]
name(de) = Flakpanzer
name(en) = Anti-Aircraft Tanks
+name(es) = Tanque Antiaéreo
name(fr) = Tank Anti-Aérien
name(it) = Carro Armato Antiaereo
name(pl) = Czołgi przeciwlotnicze
@@ -104,6 +108,7 @@
[unit]
name(de) = Flakgeschütze
name(en) = Anti-Aircraft Guns
+name(es) = Cañón Antiaéreo
name(fr) = Canon Anti-Aérien
name(it) = Cannone Antiaereo
name(pl) = Działa przeciwlotnicze
@@ -123,6 +128,7 @@
[unit]
name(de) = Artillerie
name(en) = Artillery
+name(es) = Artillería
name(fr) = Artillerie
name(it) = Artiglieria
name(pl) = Artyleria
@@ -144,6 +150,7 @@
[unit]
name(de) = Minen
name(en) = Mines
+name(es) = Minas
name(fr) = Mine
name(it) = Mina
name(pl) = Miny
@@ -164,6 +171,7 @@
[unit]
name(de) = Patrouillenboote
name(en) = Patrol Boats
+name(es) = Barco Patrulla
name(fr) = Navire de Patrouille
name(it) = Pattugliatori
name(pl) = Łodzie patrolowe
@@ -189,6 +197,7 @@
[unit]
name(de) = Jagdgeschwader
name(en) = Fighter Squadron
+name(es) = Escuadrón de Cazas
name(fr) = Escadron de Chasseurs
name(it) = Squadrone di Caccia
name(pl) = Eskadra myśliwców
@@ -220,6 +229,7 @@
[unit]
name(de) = Truppentransporter
name(en) = Personnel Carriers
+name(es) = Transporte de Tropas
name(fr) = Transport de Troupes
name(it) = Autotrasportatore
name(pl) = Transportery opancerzone
@@ -244,6 +254,7 @@
[unit]
name(de) = Transportschiffe
name(en) = Troopships
+name(es) = Navío de Transporte
name(fr) = Navire de transport
name(it) = Nave da Trasporto
name(pl) = Łodzie transportowe
@@ -264,6 +275,7 @@
[unit]
name(de) = Transportflieger
name(en) = Transport Planes
+name(es) = Aviones de Transporte
name(fr) = Avion de transport
name(it) = Aerei da Trasporto
name(pl) = Samoloty transportowe
@@ -294,6 +306,7 @@
[unit]
name(de) = Aufklärer
name(en) = Scouts
+name(es) = Exploradores
name(fr) = Eclaireur
name(it) = Esploratori
name(pl) = Zwiadowcy
@@ -315,6 +328,7 @@
[unit]
name(de) = Abfangjäger
name(en) = Interceptors
+name(es) = Interceptores
name(fr) = Intercepteurs
name(it) = Intercettatori
name(pl) = Myśliwce przechwytujące
@@ -343,6 +357,7 @@
[unit]
name(de) = Bunker
name(en) = Bunkers
+name(es) = Búnker
name(fr) = Bunker
name(it) = Bunkers
name(pl) = Bunkry
@@ -365,6 +380,7 @@
[unit]
name(de) = Torpedoboote
name(en) = Torpedo Boats
+name(es) = Navío Torpedero
name(fr) = Torpilleur
name(it) = Torpediniere
name(pl) = Torpedowce
@@ -385,6 +401,7 @@
[unit]
name(de) = Bomberstaffel
name(en) = Bomber Wing
+name(es) = Bombardero
name(fr) = Bombardiers
name(it) = Bombardiere
name(pl) = Myśliwce wspierające
@@ -415,6 +432,7 @@
[unit]
name(de) = Luftkissenfahrzeuge
name(en) = Hovercraft
+name(es) = Aerodeslizante
name(fr) = Aéroglisseur
name(it) = Hovercraft
name(pl) = Poduszkowce
@@ -443,6 +461,7 @@
[unit]
name(de) = Kampfhubschrauber
name(en) = Gunships
+name(es) = Helicóptero de Combate
name(fr) = Hélicoptère de Combat
name(it) = Elicottero da Battaglia
name(pl) = Śmigłowce szturmowe
@@ -473,6 +492,7 @@
[unit]
name(de) = Truppenzug
name(en) = Troop Train
+name(es) = Tren de Tropas
name(fr) = Train pour Troupes
name(it) = Treno per Truppe
name(pl) = Pociąg transportowy
@@ -492,6 +512,7 @@
[unit]
name(de) = Schienengeschütze
name(en) = Rail Guns
+name(es) = Cañón de riel
name(fr) = Canon à Rail
name(it) = Cannone su Rotaia
name(pl) = Działa kolejowe
@@ -512,6 +533,7 @@
[unit]
name(de) = Panzerzug
name(en) = Armoured Train
+name(es) = Tren Blindado
name(fr) = Train Blindé
name(it) = Treno Corazzato
name(pl) = Opancerzony pociąg
@@ -531,6 +553,7 @@
[unit]
name(de) = U-Boote
name(en) = Submarines
+name(es) = Submarinos
name(fr) = Sous-marin
name(it) = Sottomarino
name(pl) = Łodzie podwodne
@@ -549,6 +572,7 @@
[unit]
name(de) = Flugzeugträger
name(en) = Aircraft Carriers
+name(es) = Portaaviones
name(fr) = Porte-avions
name(it) = Porta Aerei
name(pl) = Lotniskowce
diff -Nur cvs/src/cf/main.cpp new/src/cf/main.cpp
--- cvs/src/cf/main.cpp 2007-01-20 07:19:26.000000000 -0300
+++ new/src/cf/main.cpp 2009-10-28 22:39:39.000000000 -0300
@@ -125,6 +125,9 @@
display->SelectWindow( iwin );
}
+ // Load locale window if no locale is defined on the configuration file
+ if (!CFOptions.GetHasLocale()) new LocaleOptionsWindow( 0, display);
+
iwin->Show();
} else intro = 1;
diff -Nur cvs/src/cf/options.cpp new/src/cf/options.cpp
--- cvs/src/cf/options.cpp 2007-01-20 07:19:26.000000000 -0300
+++ new/src/cf/options.cpp 2009-10-28 22:39:42.000000000 -0300
@@ -35,7 +35,7 @@
Options::Options( void ) : gametype(GTYPE_AI), show_damage(true), replay(true),
quick_replay(false), campaign(false), language(CF_LANG_DEFAULT),
- server(CF_DEFAULT_SERVER), server_port(CF_DEFAULT_PORT),
+ server(CF_DEFAULT_SERVER), server_port(CF_DEFAULT_PORT), has_locale(false),
local_port(CF_DEFAULT_PORT) {
for (int i = 0; i < KEYBIND_COUNT; ++i)
keymap[i] = SDLK_UNKNOWN;
diff -Nur cvs/src/cf/options.h new/src/cf/options.h
--- cvs/src/cf/options.h 2007-01-20 07:19:26.000000000 -0300
+++ new/src/cf/options.h 2009-10-28 22:39:40.000000000 -0300
@@ -73,13 +73,14 @@
void SetTurnReplay( bool rep ) { replay = rep; }
void SetQuickReplay( bool rep ) { quick_replay = rep; }
void SetCampaign( bool flag ) { campaign = flag; }
- void SetLanguage( const char *lang ) { language.assign(lang); }
+ void SetLanguage( const char *lang ) { language.assign(lang); has_locale = true; }
void SetGameType( GameType type ) { gametype = type; }
bool GetDamageIndicator( void ) const { return show_damage; }
bool GetTurnReplay( void ) const { return replay; }
bool GetQuickReplay( void ) const { return quick_replay; }
bool GetCampaign( void ) const { return campaign; }
+ bool GetHasLocale( void ) const { return has_locale; }
const char *GetLanguage( void ) const { return language.c_str(); }
GameType GetGameType( void ) const { return gametype; }
@@ -115,6 +116,7 @@
bool replay; // show turn replays
bool quick_replay; // show only combat results
bool campaign; // playing a campaign
+ bool has_locale;
string language;
// network related settings