You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(87) |
Jun
(46) |
Jul
(19) |
Aug
(2) |
Sep
(143) |
Oct
(74) |
Nov
(6) |
Dec
(122) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(182) |
Feb
(125) |
Mar
(11) |
Apr
(30) |
May
|
Jun
(57) |
Jul
(49) |
Aug
(124) |
Sep
(77) |
Oct
(78) |
Nov
(102) |
Dec
(256) |
| 2007 |
Jan
(217) |
Feb
(128) |
Mar
(303) |
Apr
(235) |
May
(373) |
Jun
(248) |
Jul
(230) |
Aug
(297) |
Sep
(138) |
Oct
(103) |
Nov
(96) |
Dec
(99) |
| 2008 |
Jan
(127) |
Feb
(140) |
Mar
(135) |
Apr
(100) |
May
(149) |
Jun
(115) |
Jul
(116) |
Aug
(95) |
Sep
(55) |
Oct
(120) |
Nov
(117) |
Dec
(153) |
| 2009 |
Jan
(201) |
Feb
(134) |
Mar
(119) |
Apr
(110) |
May
(104) |
Jun
(95) |
Jul
(130) |
Aug
(77) |
Sep
(83) |
Oct
(80) |
Nov
(97) |
Dec
(159) |
| 2010 |
Jan
(210) |
Feb
(147) |
Mar
(146) |
Apr
(153) |
May
(125) |
Jun
(177) |
Jul
(150) |
Aug
(105) |
Sep
(108) |
Oct
(123) |
Nov
(142) |
Dec
(119) |
| 2011 |
Jan
(145) |
Feb
(47) |
Mar
(163) |
Apr
(133) |
May
(120) |
Jun
(130) |
Jul
(201) |
Aug
(129) |
Sep
(127) |
Oct
(111) |
Nov
(95) |
Dec
(237) |
| 2012 |
Jan
(103) |
Feb
(72) |
Mar
(61) |
Apr
(75) |
May
(67) |
Jun
(101) |
Jul
(64) |
Aug
(90) |
Sep
(54) |
Oct
(83) |
Nov
(73) |
Dec
(97) |
| 2013 |
Jan
(67) |
Feb
(5) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <sti...@us...> - 2022-01-18 19:35:43
|
Revision: 10494
http://sourceforge.net/p/freecol/code/10494
Author: stiangre
Date: 2022-01-18 19:35:41 +0000 (Tue, 18 Jan 2022)
Log Message:
-----------
Adding readme explaining this directory is only for historical purposes.
Added Paths:
-----------
freecol/README.md
Added: freecol/README.md
===================================================================
--- freecol/README.md (rev 0)
+++ freecol/README.md 2022-01-18 19:35:41 UTC (rev 10494)
@@ -0,0 +1 @@
+This is the old FreeCol code prior to migration to Git.
Property changes on: freecol/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sie...@us...> - 2013-03-11 04:55:27
|
Revision: 10472
http://freecol.svn.sourceforge.net/freecol/?rev=10472&view=rev
Author: siebrand
Date: 2013-03-11 04:55:19 +0000 (Mon, 11 Mar 2013)
Log Message:
-----------
Localisation updates from http://translatewiki.net.
Modified Paths:
--------------
freecol/trunk/data/strings/FreeColMessages_br.properties
freecol/trunk/data/strings/FreeColMessages_cs_CZ.properties
freecol/trunk/data/strings/FreeColMessages_es_ES.properties
freecol/trunk/data/strings/FreeColMessages_fr.properties
freecol/trunk/data/strings/FreeColMessages_ia.properties
freecol/trunk/data/strings/FreeColMessages_it_IT.properties
freecol/trunk/data/strings/FreeColMessages_nl_BE.properties
freecol/trunk/data/strings/FreeColMessages_pl_PL.properties
freecol/trunk/data/strings/FreeColMessages_pt_BR.properties
freecol/trunk/data/strings/FreeColMessages_qqq.properties
Modified: freecol/trunk/data/strings/FreeColMessages_br.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_br.properties 2013-03-04 11:46:54 UTC (rev 10471)
+++ freecol/trunk/data/strings/FreeColMessages_br.properties 2013-03-11 04:55:19 UTC (rev 10472)
@@ -368,7 +368,9 @@
model.option.enhancedMissionaries.name=Misionerie aet war-raok
model.option.enhancedMissionaries.shortDescription=Gwellaat a ra ar visionerien ar c'henwerzh ur gêriadenn ha reiñ a reont gwelusted d'an trowardroioù.
model.option.giftProbability.name=Tebegenn prof
+model.option.giftProbability.shortDescription=Dregantad a chansoù dre dro e vo profet gant ur c'hampadur henbroidi beoc'hus gant un dreistniver d'ur c'hampadur mignoned europat tost
model.option.demandProbability.name=Goulenn hervez doare
+model.option.demandProbability.shortDescription=Dregantad a chansoù dre dro e c'houlenno ur c'hampadur henvroidi enebour un truaj d'ur c'hampadur enebourien tost
model.option.continueFoundingFatherRecruitment.name=Kenderc'hel da duda Tadoù diazezerien
model.option.continueFoundingFatherRecruitment.shortDescription=Kenderc'hel da duta Tadoù diazezerien ur wech grataet an dizalc'hiezh.
model.option.settlementLimitModifier.name=Kemmañ harz ar c'hêriadennoù
@@ -1063,13 +1065,13 @@
indianSettlement.mostHatedUnknown=Dianav
indianSettlement.wantedGoodsUnknown=Dianav
indianSettlement.wantedGoodsNone=Hini ebet
-# Fuzzy
-indianSettlement.tension.happy=Izili hor broad zo o tañsal, laouen, tro-dro d'o zantad tan en ur ganañ kanaouenn o hendadoù.
+indianSettlement.tension.happy=Izili ar vroad %nation% zo o tañsal, laouen, tro-dro d'o zantad tan en ur ganañ kanaouenn o hendadoù.
indianSettlement.tension.content=Emañ izili ar vroad %nation% o labourat. Emañ o bugale o c'hoari disoursi o c'hoari toull-kuzh.
indianSettlement.tension.displeased=Emañ izili ar vroad %nation% o labourat. Ne c'haller ket gwelet o bugale hag o hendaddoù zo pennoù teñval outo.
indianSettlement.tension.angry=Emañ paotred dispont ar vroad %nation% o c'hourdoniñ war gwennoù. Chomet eo ar maouezed hag ar vugale da guzhat en teltennoù.
indianSettlement.tension.hateful=Emañ paotred dispont ar vroad %nation% o prientiñ o armoù. Gwisket o deus o gourizioù kinklet gant lêr-penn o enebourien. Evit doare e vez implijet ar post-jahinañ reoliek.
indianSettlement.alarmIncrease.tension.content=Penn %nation% e %settlement% a salud e vignoned eus %enemy%. Laouen omp o welet emañ ar c'henlabour o kreskiñ etrezomp. Prederiet omp avat abalamour d'ho trevadennerien zo oc'h aloubiñ hon douaroù.
+indianSettlement.alarmIncrease.tension.angry=Penn %nation% à %settlement% a ro da c'houzout emañ ar re galonek o c'hoant d'ober ar brezel ouzh an %enemy% evit skarzhañ ho trevadennerien aloubus hag ho prezelourien lorc'hus warhon douaroù.
indianSettlement.mission.tension.happy=Mision staliet, laouen eo %nation% o tegemer ho relijion nevez.
indianSettlement.mission.tension.content=Mision staliet, prez zo war %nation% da zizoleiñ ho relijion nevez.
indianSettlement.mission.tension.displeased=Mision staliet, feuket eo %nation%.
Modified: freecol/trunk/data/strings/FreeColMessages_cs_CZ.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_cs_CZ.properties 2013-03-04 11:46:54 UTC (rev 10471)
+++ freecol/trunk/data/strings/FreeColMessages_cs_CZ.properties 2013-03-11 04:55:19 UTC (rev 10472)
@@ -302,6 +302,8 @@
direction.NW=severozápad
server.reject=Toto nemůže server udělat.
server.trade.noGoods=Nemůžete obchodovat se zbožím, které není přítomno.
+main.javaVersion=Pro spuštění FreeCol je doporučena Java verze %minVersion% nebo lepší\n(nalezena verze %version%, pro přeskočení této kontroly použijte parametr --no-java-check).
+main.memory=Pro JVM je nutné přiřadit více než %memory% bajtů paměti.\nRestartujte FreeCol s parametry: java -Xmx%minMemory%M -jar FreeCol.jar
cli.arg.clientOptions=SOUBOR VOLEB
cli.arg.debuglevel=ČÍSLO
cli.arg.debugRun=TAHŮ[,SAVENAME]
@@ -326,8 +328,9 @@
cli.error.home.notExists=Domovský adresář %string% neexistuje.
cli.error.home.noRead=Nemohu číst z %string%.
cli.error.home.noWrite=Nemohu zapisovat do %string%.
-# Fuzzy
-cli.freecol-data=nastaví ADRESÁŘ pro data FreeCol (obsahuje podadresář 'images')
+cli.error.save=Nelze načíst uloženou hru %string%.
+cli.error.timeout=%string% je příliš krátký (méně než %minimum%)
+cli.freecol-data=nastaví ADRESÁŘ pro data FreeCol (obsahuje podadresář 'base')
cli.font=nastavit výchozí písmo
cli.help=zobrazí tuto nápovědu
cli.home-directory=nastaví domácí ADRESÁŘ pro FreeCol (výchozí je uživatelův domovský adresář)
@@ -1127,6 +1130,8 @@
server.invalidPlayerNations=Všichni hráči si musí před zahájením hry zvolit unikátní národ.
server.timeOut=Při připojování k serveru došlo k Timeoutu.
server.errorStartingGame=Během spouštění hry došlo k chybě.
+server.load=Nelze načíst uloženou hru
+server.initialize=Chyba při inicializaci serveru
displayTileTextAction.EMPTY.name=Nezobrazovat text v polích
displayTileTextAction.NAMES.name=Zobrazovat jména polí
displayTileTextAction.OWNERS.name=Zobrazovat vlastníky polí
@@ -1242,6 +1247,7 @@
sentryUnit=Hlídka
clearUnitOrders=Zrušit příkazy
leaveTown=Opustit město
+board=Naložit %unit%
clearSpeciality=Zrušit specializaci
clearSpeciality.areYouSure=Jste si jistý, že chcete %oldUnit% degradovat na %unit%?
clearSpeciality.impossible=Jednotka %unit% nemůže být degradována!
@@ -2471,8 +2477,7 @@
model.source.ambushBonus.name=Přepadový bonus
model.source.artilleryInTheOpen.name=Nekrytá Artilerie
model.source.zeroThreshold.name=Žádná negativní produkce
-# Fuzzy
-model.source.finalResult.name=Celkový výsledek
+model.source.finalResult.name=Výsledek jednotky
model.source.baseDefence.name=Základní obrana
model.source.fortified.name=Opevněný
model.source.artilleryAgainstRaid.name=Artilerie proti útoku
Modified: freecol/trunk/data/strings/FreeColMessages_es_ES.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_es_ES.properties 2013-03-04 11:46:54 UTC (rev 10471)
+++ freecol/trunk/data/strings/FreeColMessages_es_ES.properties 2013-03-11 04:55:19 UTC (rev 10472)
@@ -1480,8 +1480,7 @@
model.disaster.effect.damagedUnit.name=Daños a las unidades
model.disaster.effect.lossOfUnit.name=Pérdida de unidades
model.disaster.effect.lossOfMoney=%amount% de oro se ha perdido.
-# Fuzzy
-model.disaster.effect.lossOfGoods=%goods% se han perdido.
+model.disaster.effect.lossOfGoods=%amount% %goods% se han perdido.
model.disaster.effect.lossOfTileProduction=Campos y bosques fueron dañados. Se aplicarán sanciones a la producción.
model.disaster.effect.lossOfBuildingProduction=Los edificios fueron dañados. Aplicarán sanciones a la producción.
model.disaster.effect.lossOfBuilding=%building% fue destruido.
Modified: freecol/trunk/data/strings/FreeColMessages_fr.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_fr.properties 2013-03-04 11:46:54 UTC (rev 10471)
+++ freecol/trunk/data/strings/FreeColMessages_fr.properties 2013-03-11 04:55:19 UTC (rev 10472)
@@ -1268,6 +1268,7 @@
sentryUnit=Mettre en veille
clearUnitOrders=Effacer les ordres
leaveTown=Quitter la ville
+# Fuzzy
board=Tableau de %unit%
clearSpeciality=Oublier la spécialité
clearSpeciality.areYouSure=Êtes-vous certain de vouloir abaisser %oldUnit% à %unit% ?
Modified: freecol/trunk/data/strings/FreeColMessages_ia.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_ia.properties 2013-03-04 11:46:54 UTC (rev 10471)
+++ freecol/trunk/data/strings/FreeColMessages_ia.properties 2013-03-11 04:55:19 UTC (rev 10472)
@@ -25,6 +25,7 @@
false=False
more=plus...
none=Nulle
+many=multes
nothing=Nihil
all=Totes
notApplicable.short=N/A
@@ -191,6 +192,10 @@
filter.gameOptions=Optiones de joco FreeCol (*.fgo)
filter.gameOptionsAndSavedGames=Optiones de joco e partitas salveguardate de FreeCol (*.fgo e *.fsg)
filter.xml=XML (Linguage de marcation extensibile).
+freecol.map.Africa=Africa
+freecol.map.Australia=Australia
+freecol.map.America_large=America (grande)
+freecol.map.Caribbean_basin=Mar Caribe
underRepair=In reparation (%turns% {{plural:%turns%|one=torno|other=tornos}} restante)
EventPanel.DISCOVER_PACIFIC=Vos discoperi le Oceano Pacific.
EventPanel.FIRST_LANDING=Prime disbarcamento in le Nove Mundo.
@@ -234,6 +239,7 @@
menuBar.debug.addImmigration=Adder immigration
menuBar.debug.addLiberty=Adder libertate a cata colonia
menuBar.debug.stepRandomNumberGenerator=Avantiar le generator de numeros aleatori
+menuBar.debug.displayUnits=Monstrar unitates
menuBar.debug.randomValue=Valor del generator de numeros aleatori: %value%
menuBar.debug.displayPanels=Monstrar pannellos
menuBar.debug.displayMonarchPanel=Monstrar le pannello Monarcha
@@ -289,6 +295,8 @@
direction.NW=nord-west
server.reject=Le servitor non pote facer isto.
server.trade.noGoods=Tu non pote commerciar benes que non es presente.
+main.javaVersion=Java version %minVersion% o melior es recommendate pro executar FreeCol\n(%version% detegite, usa --no-java-check pro saltar iste verification).
+main.memory=Es necessari assignar plus de %memory% bytes de memoria pro usar le JVM.\nReinitia FreeCol con: java -Xmx%minMemory%M -jar FreeCol.jar
cli.arg.clientOptions=FILE DE OPTIONES
cli.arg.debuglevel=NUMERO
cli.arg.debugRun=TURNS[,SAVENAME]
@@ -313,8 +321,9 @@
cli.error.home.notExists=Le directorio initial %string% non existe.
cli.error.home.noRead=Non pote leger de %string%.
cli.error.home.noWrite=Non pote scriber a %string%.
-# Fuzzy
-cli.freecol-data=defini le DIRECTORIO de datos de FreeCol (ha un subdirecotrio nominate 'images')
+cli.error.save=Impossibile leger le joco salveguardate %string%.
+cli.error.timeout=%string% es toppo curte (minus de %minimum%)
+cli.freecol-data=defini le DIRECTORIO de datos de FreeCol (ha un subdirectorio nominate 'base')
cli.font=predefinir le typo de litteras
cli.help=presenta iste texto de adjuta
cli.home-directory=defini le DIRECTORIO initial de FreeCol (predefinite como le directorio personal del usator)
@@ -962,6 +971,7 @@
noClaimReason.worked=Un altere stabilimento usa jam iste terra.
noClaimReason.europeans=Iste terra es revindicate per un altere nation europee.
noClaimReason.natives=Iste terra es revindicate per un tribo indigena.
+noClaimReason.occupied=Iste territorio es occupate per un inimico periculose.
noAddReason.already_present=Jam presente in iste loco.
noAddReason.wrong_type=Typo incorrecte pro iste loco.
noAddReason.capacity_exceeded=Il non resta spatio sufficiente in iste loco.
@@ -1030,6 +1040,7 @@
move.noAccessWar=Nos non pote commerciar con le %nation% durante le guerra.
move.noAccessWater=Nostre %unit% debe abbordar ante de entrar in le stabilimento.
move.noAttackWater=Nostre %unit% debe atterrar ante de attaccar.
+move.noTile=Nostre %unit% non es sur le carta!
notYourTurn=Il non es ancora tu torno!
twoTurnsPerYear=A partir del anno %year%, il habera duo tornos per anno, in loco de un!
payForBuilding.text=Vole tu pagar %amount% de auro a fin de completar iste edificio?
@@ -1049,9 +1060,22 @@
indianSettlement.mostHatedUnknown=Incognite
indianSettlement.wantedGoodsUnknown=Incognite
indianSettlement.wantedGoodsNone=Nulle
+indianSettlement.tension.happy=Le membros del nation %nation% dansa felicemente circa lor foco de campo, cantante le cantiones de lor ancestres.
+indianSettlement.tension.content=Le membros del nation %nation% es occupate a travaliar. Lor infantes joca allegremente le joco de celamento.
+indianSettlement.tension.displeased=Le membros del nation %nation% es occupate a travaliar. Lor infantes se absconde, e lor ancianos arruga le fronte.
+indianSettlement.tension.angry=Le bravos del nation %nation% se occupa practicante le tiro de precision. Le feminas e infantes se cela in lor tentas.
+indianSettlement.tension.hateful=Le bravos del nation %nation% agita lor armas. Illes ha adornate lor cincturas con le scalps de lor inimicos, e lor palos de tortura monstra le signos de uso intensive.
+indianSettlement.alarmIncrease.tension.content=Le chef del %nation% a %settlement% saluta su amicos le %enemy%. Nos es felice de vider crescer le cooperation inter nos, ma nos es preoccupate per le invasiones de vostre colonos in nostre terras.
+indianSettlement.alarmIncrease.tension.angry=Le chef del %nation% a %settlement% adverti que le bravos appella apertemente al guerra con le %enemy%, pro disembarassar nos de vostre colonos arrogante e belligerente que invade nostre terras.
+indianSettlement.mission.tension.happy=Mission fundate. Le %nation% se approxima a tu nove religion con gaudio.
+indianSettlement.mission.tension.content=Mission fundate. Le %nation% se approxima a tu nove religion con curiositate.
+indianSettlement.mission.tension.displeased=Mission fundate. Le %nation% se senti offendite.
+indianSettlement.mission.tension.angry=Missionario capturate. Le %nation% rejecta tu nove religion.
+indianSettlement.mission.tension.hateful=Missionario sacrificate. Le %nation% se ride de tu nove religion.
indianSettlement.mission.enemyDenounce=Un missionario del %enemy% accusava nostre missionario in %settlement% de heresia, ma le %nation% rejectava le inculpation.
indianSettlement.mission.noDenounce=Le %nation% rejecta le accusationes de heresia, e executa tu missionario como false propheta.
indianSettlement.mission.denounced=Tu missionario a %settlement% ha essite denunciate e executate!
+indianSettlement.mission.destroyed=Vostre missionario a %settlement% ha morite in le destruction del stabilimento.
indianSettlement.capitalBurned=Tu ha incinerate %name%, le capital del %nation%. Le %nation% se rende a tu poter!
learnSkill.text=Vole tu viver inter le indigenas e devenir un %skill%?
learnSkill.yes=Si, me placerea
@@ -1099,6 +1123,8 @@
server.invalidPlayerNations=Tote le jocatores debe seliger un nation unic ante que le partita pote comenciar.
server.timeOut=Tempore limite excedite pro tentar connecter al servitor.
server.errorStartingGame=Un error occurreva durante le comenciamento del partita.
+server.load=Impossibile cargar le joco salveguardate
+server.initialize=Error de initialisation del servitor
displayTileTextAction.EMPTY.name=Non monstrar texto in tegulas
displayTileTextAction.NAMES.name=Monstrar nomines de tegulas
displayTileTextAction.OWNERS.name=Monstrar proprietarios de tegulas
@@ -1214,6 +1240,7 @@
sentryUnit=Sentinella
clearUnitOrders=Cancellar ordines
leaveTown=Quitar citate
+board=Imbarcar in %unit%
clearSpeciality=Rader specialitate
clearSpeciality.areYouSure=Es tu secur de voler degradar %oldUnit% a %unit%?
clearSpeciality.impossible=%unit% non pote esser degradate!
@@ -1395,9 +1422,9 @@
model.unit.goodsStolen=Un %enemyUnit% del %enemyNation% fura %amount% %goods% in %colony%!
model.unit.indianPlunder=Un %enemyUnit% del %enemyNation% rapina %amount% ex %colony%.
model.unit.burnMissions=%enemyNation% incendia le missiones del %nation%!
+model.unit.nativeSettlementContact=Tu incontra exploratores %nation% de %settlement%.
model.unit.automaticDefence=Tu %unit% in %colony% ha prendite le armas pro defender le colonia!
-# Fuzzy
-model.unit.attrition=Tu %unit% ha essite inglutite per le jungla!
+model.unit.attrition=Tu %unit% a %location% ha essite inglutite per le jungla!
model.unit.confirmCancelWork=Nos es occupate a meliorar iste terreno (%turns% tornos remanente). Vole tu que nos cessa?
model.unit.occupation.active=-
model.unit.occupation.fortified=F
@@ -1455,8 +1482,7 @@
model.disaster.effect.damagedUnit.name=Damnos a unitates
model.disaster.effect.lossOfUnit.name=Perdita de unitates
model.disaster.effect.lossOfMoney=%amount% de auro ha essite perdite.
-# Fuzzy
-model.disaster.effect.lossOfGoods=%goods% ha essite perdite.
+model.disaster.effect.lossOfGoods=%amount% %goods% ha essite perdite.
model.disaster.effect.lossOfTileProduction=Campos e forestes ha essite damnificate. Sanctiones essera applicate al production.
model.disaster.effect.lossOfBuildingProduction=Edificios ha essite damnificate. Sanctiones essera applicate al production.
model.disaster.effect.lossOfBuilding=%building% ha essite destruite.
@@ -2296,16 +2322,14 @@
report.colony.making.educating.description=%colony%: %teacher% se gradua {{plural:%turns%|one=le proxime torno|other=in %turns% tornos}}
report.colony.improve.header=Meliorar
report.colony.improve.description=Unitates que poterea meliorar le production respectivemente al unitate que actualmente exeque le carga
-# Fuzzy
-report.colony.improving.description=<HTML>%colony%: Pro facer %amount% plus %goods%<BR>Reimplacia %oldUnit% per %unit%</HTML>
+report.colony.improving.description=%colony%: Pro facer %amount% plus %goods%, reimplacia %oldUnit% per %unit%
report.colony.grow.header=+
report.colony.grow.description=Numero de unitates de que le colonia pote crescer sin nocer al production
report.colony.growing.description=%colony% pote crescer de {{plural:%amount%|one=1 unitate|other=%amount% unitates}} sin nocer al production
report.colony.shrinking.description=%colony% debe discrescer de {{plural:%amount%|one=1 unitate|other=%amount% unitates}} pro meliorar le production
report.colony.wanted.header=Desirate
report.colony.wanted.description=Unitates que iste colonia poterea utilisar productivemente
-# Fuzzy
-report.colony.wanting.description=<HTML>%colony%: Pro facer %amount% plus %goods%<BR>Adde %unit%</HTML>
+report.colony.wanting.description=%colony%: Pro facer %amount% plus %goods%, adde %unit%
report.trade.unitsSold=Unitates acquirite o vendite
report.trade.beforeTaxes=Receptas ante taxas
report.trade.afterTaxes=Receptas post taxas
@@ -2377,8 +2401,7 @@
model.source.ambushBonus.name=Bonus de imboscada
model.source.artilleryInTheOpen.name=Artilleria in campo aperte
model.source.zeroThreshold.name=Nulle production negative
-# Fuzzy
-model.source.finalResult.name=Resultato final
+model.source.finalResult.name=Resultato del unitate
model.source.baseDefence.name=Defensa de base
model.source.fortified.name=Fortificate
model.source.artilleryAgainstRaid.name=Artilleria contra incursion
Modified: freecol/trunk/data/strings/FreeColMessages_it_IT.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_it_IT.properties 2013-03-04 11:46:54 UTC (rev 10471)
+++ freecol/trunk/data/strings/FreeColMessages_it_IT.properties 2013-03-11 04:55:19 UTC (rev 10472)
@@ -8,6 +8,7 @@
# Author: GreenFox
# Author: McDutchie
# Author: Melos
+# Author: Nemo bis
# Author: Ribez
# Author: Rippitippi
# Author: Stefano-c
@@ -1499,7 +1500,7 @@
model.monarch.action.RAISE_TAX_ACT.no=Datemi la libertà o datemi la morte!
model.monarch.colonyGoodsParty.harbour=I tuoi coloni di %colony% hanno gettato %amount% unità di %goods% nella baia in segno di protesta contro questa ingiusta tassazione da parte della Corona!
model.monarch.colonyGoodsParty.landLocked=I vostri coloni di %colony% hanno bruciato %amount% unità di %goods% sulla piazza del mercato in segno di protesta contro questa ingiusta tassazione da parte della Corona!
-model.monarch.action.LOWER_TAX_WAR=Per celebrare la Nostra recente vittoria contro i In order to celebrate Our recent victory against gli infidi {{tag:people|%nation%}}, Abbiamo gentilmente deciso di abbassare le tue tasse del %difference%%. Le tasse adesso sono al %newTax%%.
+model.monarch.action.LOWER_TAX_WAR=Per celebrare la Nostra recente vittoria contro gli infidi {{tag:people|%nation%}}, abbiamo graziosamente deciso di abbassare le tue tasse del %difference%%. Le tasse adesso sono al %newTax%%.
model.monarch.action.LOWER_TAX_WAR.no=Viva!
model.monarch.action.LOWER_TAX_OTHER=Per celebrare {{tag:%number%|0=il Nostro recente matrimonio|1=il Nostro recente matrimonio con la Nostra seconda moglie|2=la nascita di un Principe ereditario|3=la nascita di un figlio della Reale Dinastia|4=la nascita di una figlia della Reale Dinastia}},Abbiamo gentilmente deciso di abbassare le tue tasse del %difference%%. Le tasse adesso sono al %newTax%%.
model.monarch.action.LOWER_TAX_OTHER.no=Viva il re!
Modified: freecol/trunk/data/strings/FreeColMessages_nl_BE.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_nl_BE.properties 2013-03-04 11:46:54 UTC (rev 10471)
+++ freecol/trunk/data/strings/FreeColMessages_nl_BE.properties 2013-03-11 04:55:19 UTC (rev 10472)
@@ -1052,8 +1052,7 @@
model.unit.indianPlunder=Een %enemyUnit% van %enemyNation% plundert %amount% in %colony%.
model.unit.burnMissions=%enemyNation% verbrandt %nation% missieposten!
model.unit.automaticDefence=Je %unit% in %colony% heeft de wapens opgenomen om de kolonie te verdedigen!
-# Fuzzy
-model.unit.attrition=Je %unit% is opgeslokt door het oerwoud!
+model.unit.attrition=Je %unit% bij %location% is opgeslokt door het oerwoud!
model.unit.confirmCancelWork=We verbeteren momenteel dit terrein (nog %turns% beurten). Wil je dat we hiermee stoppen?
model.unit.occupation.active=-
model.unit.occupation.activeNoMovesLeft=0
Modified: freecol/trunk/data/strings/FreeColMessages_pl_PL.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_pl_PL.properties 2013-03-04 11:46:54 UTC (rev 10471)
+++ freecol/trunk/data/strings/FreeColMessages_pl_PL.properties 2013-03-11 04:55:19 UTC (rev 10472)
@@ -1250,6 +1250,7 @@
sentryAction.name=Czuwaj
tilePopupAction.name=Pokaż płytkę
skipUnitAction.name=Pomiń
+skipUnitAction.accelerator=SPACJA
toggleViewModeAction.name=Przełącz widok
tradeRouteAction.name=Szlaki handlowe
unloadAction.name=Wyładuj
Modified: freecol/trunk/data/strings/FreeColMessages_pt_BR.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_pt_BR.properties 2013-03-04 11:46:54 UTC (rev 10471)
+++ freecol/trunk/data/strings/FreeColMessages_pt_BR.properties 2013-03-11 04:55:19 UTC (rev 10472)
@@ -306,6 +306,7 @@
direction.NW=noroeste
server.reject=O servidor não pode fazer isso.
server.trade.noGoods=Você não pode trocar bens que não estão presentes.
+# Fuzzy
main.javaVersion=É recomendada a versão do Java %minVersion% ou mais recente para executar o Freecol (%version% detetada, use --no-java-check para verificar).
main.memory=É necessário atribuir mais de %memory% bytes de memória para a JVM.\n Reinicie o FreeCol com: java - Xmx %minMemory% M-jar FreeCol.jar
cli.arg.clientOptions=ARQUIVO DE OPÇÕES
Modified: freecol/trunk/data/strings/FreeColMessages_qqq.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_qqq.properties 2013-03-04 11:46:54 UTC (rev 10471)
+++ freecol/trunk/data/strings/FreeColMessages_qqq.properties 2013-03-11 04:55:19 UTC (rev 10472)
@@ -89,6 +89,7 @@
colonyPanel.buildings={{Identical|Buildings}}
abstractUnit={{Identical|Unit}}
colonist=[[File:Freecol-colopedia-depot.png|thumb]]
+spring={{Identical|Spring}}
year.YEAR={{Optional}}
year.SPRING=[[Image:Freecol-colopedia-prairie.jpg|thumb]]
trainDialog.done={{Identical|Done}}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sie...@us...> - 2013-03-04 11:47:06
|
Revision: 10471
http://freecol.svn.sourceforge.net/freecol/?rev=10471&view=rev
Author: siebrand
Date: 2013-03-04 11:46:54 +0000 (Mon, 04 Mar 2013)
Log Message:
-----------
Localisation updates from http://translatewiki.net.
Modified Paths:
--------------
freecol/trunk/data/strings/FreeColMessages_br.properties
freecol/trunk/data/strings/FreeColMessages_hu.properties
freecol/trunk/data/strings/FreeColMessages_ja.properties
freecol/trunk/data/strings/FreeColMessages_qqq.properties
freecol/trunk/data/strings/FreeColMessages_ru.properties
Modified: freecol/trunk/data/strings/FreeColMessages_br.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_br.properties 2013-02-24 16:49:14 UTC (rev 10470)
+++ freecol/trunk/data/strings/FreeColMessages_br.properties 2013-03-04 11:46:54 UTC (rev 10471)
@@ -1546,7 +1546,7 @@
model.message.MARKET_PRICES=Prizioù ar Marc'had
model.message.LOST_CITY_RUMOUR=Brudoù diwar ur Geoded Kollet
model.message.MISSING_GOODS=Marc'hadourezh a vank
-model.message.TUTORIAL=Deskiant
+model.message.TUTORIAL=Tutorial
model.message.COMBAT_RESULT=Disoc'hoù an emgann
model.message.GIFT_GOODS=Profoù an Indianed
model.message.DEMANDS=Goulennoù an henvroidi
@@ -2003,7 +2003,7 @@
model.history.SPANISH_SUCCESSION=%loserNation% a lez holl o zrevadennoù en Douar Nevez da %nation%.
model.diplomacy.attack.ceaseFire=Sinet hoc'h eus un harz-brezel gant ar %nation%. Ha sur oc'h e fell deoc'h tagañ anezho?
model.diplomacy.attack.peace=E peoc'h emaoc'h gant %nation%. Ha sur oc'h e fell deoc'h disklêriañ ar brezel?
-model.diplomacy.attack.alliance=N'oc'h ket evit tagañ ur vroad kevredet! Ha fellout a ra deoc'h terriñ ho emglev gant %nation% ha disklêriañ ar brezel?
+model.diplomacy.attack.alliance=N'oc'h ket evit tagañ ur vroad kevredet ! Ha fellout a ra deoc'h terriñ ho emglev gant %nation% ha disklêriañ ar brezel ?
model.diplomacy.attack.confirm=Ya, lezit da vont chas ar brezel!
model.diplomacy.WAR.declared=Keloù fall, Ho Meurdez, disklêriet eo bet ar brezel a-enep deomp gant %nation% !
model.diplomacy.WAR.others=Ho Meurdez, %attacker% o deus disklêriet ar brezel da %defender%.
Modified: freecol/trunk/data/strings/FreeColMessages_hu.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_hu.properties 2013-02-24 16:49:14 UTC (rev 10470)
+++ freecol/trunk/data/strings/FreeColMessages_hu.properties 2013-03-04 11:46:54 UTC (rev 10471)
@@ -375,6 +375,8 @@
model.option.saveProductionOverflow.shortDescription=A kalapácsok, harangok és keresztek túlcsordulásának elraktározása.
model.option.allowStudentSelection.name=Diák választás engedélyezése
model.option.allowStudentSelection.shortDescription=Lehetővé teszi a diákok manuális kiválasztását
+model.option.naturalDisasters.name=Természeti katasztrófák
+model.option.naturalDisasters.shortDescription=A természeti katasztrófák eélye körönként.
gameOptions.victoryConditions.name=Győzelmi feltételek
gameOptions.victoryConditions.shortDescription=A győzelemhez szükséges feltételek beállításai.
model.option.victoryDefeatREF.name=Első független játékos
@@ -384,45 +386,67 @@
model.option.victoryDefeatHumans.name=Emberi játékosok legyőzése
model.option.victoryDefeatHumans.shortDescription=Bámelyik játékos aki legyőzi a többi emberi játékost, győz.
gameOptions.years.name=Év-beállítások
+gameOptions.years.shortDescription=Különböző kitüntetett évek beállításait tartalmazza.
model.option.startingYear.name=Kezdő év
+model.option.startingYear.shortDescription=Az év, amelyben a játék elindul.
model.option.seasonYear.name=Szezon év
+model.option.seasonYear.shortDescription=Az első olyan év, amely két körre bomlik.
+model.option.lastYear.name=A játék utolsó éve
model.option.mandatoryColonyYear.name=Kötelező kolónia éve
+model.option.mandatoryColonyYear.shortDescription=Az év, amelytől kezdve kötelező kolóniát birtokolni.
model.option.lastYear.shortDescription=A játék legutolsó éve
model.option.lastColonialYear.name=Az utolsó gyarmati év
+model.option.lastColonialYear.shortDescription=Az utolsó év a koloniális játékosnak.
gameOptions.prices.name=Kezdeti árak
gameOptions.prices.shortDescription=A különféle áruk kiindulási árfekvése.
model.option.food.minimumPrice.name=Élelem minimális kezdeti ára
model.option.food.maximumPrice.name=Élelem maximális kezdeti ára
+model.option.food.spread.name=Az étel vételi és eladási ára közötti különbség
model.option.sugar.minimumPrice.name=Cukor minimális kezdeti ára
model.option.sugar.maximumPrice.name=Cukor maximális kezdeti ára
+model.option.sugar.spread.name=A cukor vételi és eladási ára közötti különbség
model.option.tobacco.minimumPrice.name=Dohány minimális kezdeti ára
model.option.tobacco.maximumPrice.name=Dohány maximális kezdeti ára
+model.option.tobacco.spread.name=A dohány vételi és eladási ára közötti különbség
model.option.cotton.minimumPrice.name=Gyapot minimális kezdeti ára
model.option.cotton.maximumPrice.name=Gyapot maximális kezdeti ára
+model.option.cotton.spread.name=A gyapot vételi és eladási ára közötti különbség
model.option.furs.minimumPrice.name=Prém minimális kezdeti ára
model.option.furs.maximumPrice.name=Prém maximális kezdeti ára
+model.option.furs.spread.name=A prém vételi és eladási ára közötti különbség
model.option.lumber.minimumPrice.name=Fa minimális kezdeti ára
model.option.lumber.maximumPrice.name=Fa maximális kezdeti ára
+model.option.lumber.spread.name=A fa vételi és eladási ára közötti különbség
model.option.ore.minimumPrice.name=Érc minimális kezdeti ára
model.option.ore.maximumPrice.name=Érc maximális kezdeti ára
+model.option.ore.spread.name=Az érc vételi és eladási ára közötti különbség
model.option.silver.minimumPrice.name=Ezüst minimális kezdeti ára
model.option.silver.maximumPrice.name=Ezüst maximális kezdeti ára
+model.option.silver.spread.name=Az ezüst vételi és eladási ára közötti különbség
model.option.rum.minimumPrice.name=Rum minimális kezdeti ára
model.option.rum.maximumPrice.name=Rum maximális kezdeti ára
+model.option.rum.spread.name=A rum vételi és eladási ára közötti különbség
model.option.cigars.minimumPrice.name=Szivar minimális kezdeti ára
model.option.cigars.maximumPrice.name=Szivar maximális kezdeti ára
+model.option.cigars.spread.name=A szivar vételi és eladási ára közötti különbség
model.option.cloth.minimumPrice.name=Szövet minimális kezdeti ára
model.option.cloth.maximumPrice.name=Szövet maximális kezdeti ára
+model.option.cloth.spread.name=A szövet vételi és eladási ára közötti különbség
model.option.coats.minimumPrice.name=Kabát minimális kezdeti ára
model.option.coats.maximumPrice.name=Kabát maximális kezdeti ára
+model.option.coats.spread.name=A kabát vételi és eladási ára közötti különbség
model.option.tools.minimumPrice.name=Szerszám minimális kezdeti ára
model.option.tools.maximumPrice.name=Szerszám maximális kezdeti ára
+model.option.tools.spread.name=Az eszközök vételi és eladási ára közötti különbség
model.option.muskets.minimumPrice.name=Muskéták minimális kezdeti ára
model.option.muskets.maximumPrice.name=Muskéta minimális kezdeti ára
+model.option.muskets.spread.name=A muskéták vételi és eladási ára közötti különbség
model.option.tradeGoods.minimumPrice.name=Kereskedelmi áruk minimális kezdeti ára
model.option.tradeGoods.maximumPrice.name=Kereskedelmi áru maximális kezdeti ára
+model.option.tradeGoods.spread.name=A kereskedelmi áruk vételi és eladási ára közötti különbség
model.option.horses.minimumPrice.name=Lovak minimális kezdeti ára
model.option.horses.maximumPrice.name=Lovak maximális kezdeti ára
+model.option.horses.spread.name=A ló vételi és eladási ára közötti különbség
model.option.startingMoney.name=Induló tőke
model.option.startingMoney.shortDescription=A játék elején kapott arany mennyisége
model.option.crossesIncrement.name=Kereszt növekmény
Modified: freecol/trunk/data/strings/FreeColMessages_ja.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_ja.properties 2013-02-24 16:49:14 UTC (rev 10470)
+++ freecol/trunk/data/strings/FreeColMessages_ja.properties 2013-03-04 11:46:54 UTC (rev 10471)
@@ -195,7 +195,7 @@
gotoEurope=ヨーロッパに行く
attackTileOdds=攻撃!(成功率: %chance%%)
dumpCargo=投棄した積荷
-tile=タイル(%x%、%y%)
+tile=タイル (%x%、%y%)
filter.savedGames=FreeColのセーブデータ (*.fsg)
filter.gameOptions=FreeColのオプションデータ (*.fgo)
filter.gameOptionsAndSavedGames=FreeColのセーブデータまたはオプションデータ (*.fgoまたは*.fsg)
@@ -261,7 +261,7 @@
menuBar.debug.memoryManager.maxMemory=最大
menuBar.debug.memoryManager.gc=ガベージコレクタを実行
menuBar.report=報告
-menuBar.statusLine=スコア:%score% | ゴールド:%gold% | 税金:%tax%% | 年数:%year%
+menuBar.statusLine=スコア: %score% | ゴールド: %gold% | 税金: %tax%% | 年: %year%
findSettlementDialog.name=入植地を探す
metaServer.couldNotConnect=申し訳ありません。メタ・サーバーに接続できませんでした。後でもう一度試してください。
metaServer.communicationError=メタ・サーバーとの通信中にエラーが発生しました。後でもう一度試してください。
@@ -2149,8 +2149,8 @@
report.allColonies=全%number%植民地
report.production=製品
report.units=ユニット
-report.atSea=(海上)
-report.onLand=(陸上)
+report.atSea=(海上)
+report.onLand=(陸上)
report.numberOfColonies=植民地数
report.numberOfUnits=ユニット数
report.militaryStrength=陸軍力
Modified: freecol/trunk/data/strings/FreeColMessages_qqq.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_qqq.properties 2013-02-24 16:49:14 UTC (rev 10470)
+++ freecol/trunk/data/strings/FreeColMessages_qqq.properties 2013-03-04 11:46:54 UTC (rev 10471)
@@ -34,17 +34,25 @@
and={{Identical|And}}
load={{Identical|Load}}
unload=[[Image:Freecol-europe.png|thumb]]{{Identical|Unload}}
+fill={{Identical|Load}}
rename={{Identical|Rename}}
abilities=[[Image:FreeCol-Colopedia-abilities.png|thumb]]
modifiers=[[Image:FreeCol-Colopedia-abilities.png|thumb]]\n\nA '''modifier''' as a game concept is an element that modifies the way an ability is used.
+true={{Identical|True}}
+false={{Identical|False}}
more={{Identical|More}}
none={{Identical|None}}
nothing={{Identical|Nothing}}
all={{Identical|All}}
+notApplicable.short={{Identical|N/A}}
+rules={{Identical|Rule}}
+difficulty={{Identical|Difficulty}}
+Test={{Identical|Test}}
Music={{Identical|Music}}
Current={{Identical|Current}}\nThe message is used in the audio options dialog (select Preferences -> Audio) and refers to the currently selected audio output device.
help={{Identical|Help}}
list.add={{Identical|Add}}
+list.remove={{Identical|Remove}}
list.edit={{Identical|Edit}}
file.browse={{Identical|Browse}}
FileChooser.openButtonText={{Identical|OK}}
@@ -53,17 +61,23 @@
height={{Identical|Height}}
name={{Identical|Name}}
port={{Identical|Port}}
+players={{Identical|Player}}
connect={{Identical|Connect}}
availability=This is a column header with possible values: not available, available, AI only. It means if a nation can be played (and is available=not yet choosen by someone else) by a human player.
nationState.AVAILABLE={{Identical|Available}}
+nationState.NOT_AVAILABLE={{Identical|Not available}}
small={{Identical|Small}}
medium={{Identical|Medium}}
large={{Identical|Large}}\nCan refer to "amount of X, where X can be villages, rivers and such" in addition to map size.
normal={{Identical|Normal}}
chilly=Type of climate.
+hot={{Identical|Hot}}
+startGame={{Identical|Start game}}
gameOptions={{Identical|Game options}}
playerOptions.NONE={{Identical|None}}
+playerOptions.SELECTABLE={{Identical|Selectable}}
player={{Identical|Player}}
+nation={{Identical|Nation}}
color={{Identical|Color}}
moves=See http://www.freecol.org/images/screen-0.8.0-large.jpg
sonsOfLiberty=Abbreviation of "Sons of Liberty
@@ -264,9 +278,10 @@
colopediaAction.SKILLS.name=[[Image:Freecol-colopedia-depot.png|thumb]]
colopediaAction.BUILDINGS.name=[[Image:Freecol-colopedia-depot.png|thumb]]\n{{Identical|Buildings}}
colopediaAction.FATHERS.name=[[Image:Freecol-colopedia-depot.png|thumb]]
-colopediaAction.NATIONS.name=[[Image:Freecol-colopedia-depot.png|thumb]]
+colopediaAction.NATIONS.name=[[Image:Freecol-colopedia-depot.png|thumb]]\n{{Identical|Nation}}
endTurnAction.name={{Identical|End turn}}
fortifyAction.name={{Identical|Fortify}}
+loadAction.name={{Identical|Load}}
miniMapZoomInAction.name={{identical|Zoom In}}
miniMapZoomOutAction.name={{identical|Zoom Out}}
newAction.name={{Identical|New}}[[Image:Freecol-mainmenu.png|thumb]]
@@ -453,10 +468,13 @@
report.requirements.misusedExperts=The English version uses {{plural:2|%unit%}} to indicate an unknown number of units greater than one. Replace the number 2 with the number best suitable for your language.
report.requirements.severalExperts=The English version uses {{plural:2|%unit%}} to indicate an unknown number of units greater than one. Replace the number 2 with the number best suitable for your language.
report.requirements.canTrainExperts=The English version uses {{plural:2|%unit%}} to indicate an unknown number of units greater than one. Replace the number 2 with the number best suitable for your language.
+report.highScores.difficulty={{Identical|Difficulty}}
+report.highScores.nation={{Identical|Nation}}
report.highScores.turn={{Identical|Year}}
report.production.update={{Identical|Update}}
aboutPanel.version={{Identical|Version}}
model.source.colonyGoodsParty.name=This is a reference to the [[wikipedia:Boston_Tea_Party|Boston Tea ‘Party’]].\nBut can occur with any FreeCol GoodsType, rather than Tea.\n\nWhen the monarch raises taxes and the colonists refuse to pay, they protest by\ndumping some goods. It is an odd feature, intended to simulate the Boston Tea\nParty, however as FreeCol does not have tea, but allows dumping of all movable\ngoods types, we tend to call it a Goods Party. Following a Goods Party, the\ncolony where the goods was dumped gets a time-limited bonus to its production\nof liberty. The added string is needed to display this bonus in the list of\nproduction modifiers.
model.region.river.name={{Identical|River}}
+model.region.land.name={{Identical|Region}}
model.region.center.name={{Identical|Center}}
installer.Music={{Identical|Music}}
Modified: freecol/trunk/data/strings/FreeColMessages_ru.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_ru.properties 2013-02-24 16:49:14 UTC (rev 10470)
+++ freecol/trunk/data/strings/FreeColMessages_ru.properties 2013-03-04 11:46:54 UTC (rev 10471)
@@ -1495,7 +1495,7 @@
model.market.priceIncrease=В %market% цена %goods% поднялась до %sell%/%buy%.
model.market.priceDecrease=В %market% цена %goods% упала до %sell%/%buy%.
model.market.independent=Европа
-model.monarch.action.RAISE_TAX_WAR=Мы с сожалением вынужден сообщить Вам, что недавние неудачи в нашей войне с {{tag:country|%nation%}} не оставили нам иного выбора, как увеличение вашего налог на %amount% %. Если вы не согласны, мы будем вынуждены бойкотировать ваши %goods%!
+model.monarch.action.RAISE_TAX_WAR=Мы с сожалением вынуждены сообщить Вам, что недавние неудачи в нашей войне с {{tag:country|%nation%}} не оставили нам иного выбора, как увеличить ваш налог на %amount% %. Если вы не согласны, мы будем вынуждены бойкотировать ваш %goods%!
model.monarch.action.RAISE_TAX_WAR.yes=Мы принимаем
model.monarch.action.RAISE_TAX_WAR.no=Нет налогообложения без представительства!
model.monarch.action.RAISE_TAX_ACT=Различные акты неповиновения, совершаемые незаконопослушными поселенцами %newWorld%, не оставляют нам иного выбора, кроме как принять новый {{tag:%number%|0=Navigation|1=Tea|2=Wool|3=Hat|4=Molasses|5=Stamp}} Закон, поднимающий налог до %amount%. Если вы не примете эти условия, мы бойкотируем ваши %goods%!
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sie...@us...> - 2013-02-24 16:49:23
|
Revision: 10470
http://freecol.svn.sourceforge.net/freecol/?rev=10470&view=rev
Author: siebrand
Date: 2013-02-24 16:49:14 +0000 (Sun, 24 Feb 2013)
Log Message:
-----------
Localisation updates from http://translatewiki.net.
Modified Paths:
--------------
freecol/trunk/data/strings/FreeColMessages_br.properties
freecol/trunk/data/strings/FreeColMessages_fi.properties
freecol/trunk/data/strings/FreeColMessages_oc.properties
freecol/trunk/data/strings/FreeColMessages_pt_PT.properties
freecol/trunk/data/strings/FreeColMessages_qqq.properties
Modified: freecol/trunk/data/strings/FreeColMessages_br.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_br.properties 2013-02-16 05:17:43 UTC (rev 10469)
+++ freecol/trunk/data/strings/FreeColMessages_br.properties 2013-02-24 16:49:14 UTC (rev 10470)
@@ -128,6 +128,8 @@
colonyPanel.populationTooSmall=Pobladur %number%
colonyPanel.units=Unvezioù
colonyPanel.buildings=Savadurioù
+colonyPanel.colonyUnits=Unvevzioù an Drevadenn
+outsideOfColony.name=E-maez an drevadenn
inPort.name=Er porzh
producing.name=O produiñ :
turns=troioù
@@ -198,6 +200,7 @@
freecol.map.Africa=Afrika
freecol.map.Australia=Aostralia
freecol.map.America_large=Amerika (ledan)
+freecol.map.Caribbean_basin=Diazad ar C'harib
underRepair=O vezañ dreset (%turns% {{plural:%turns%|one=tro|other=tro}} a chom
EventPanel.DISCOVER_PACIFIC=\nDizoleiñ a rit eus ar Meurvor Habas
EventPanel.FIRST_LANDING=Dilestradur kentañ er Bed Nevez.
@@ -241,6 +244,7 @@
menuBar.debug.addImmigration=Ouzhpennañ enbroerezh
menuBar.debug.addLiberty=Ouzhpennañ frankiz da bep trevadenn
menuBar.debug.stepRandomNumberGenerator=Lañsañ ar c'haner niveroù dargouezhek.
+menuBar.debug.displayUnits=Diskwel an unvezioù
menuBar.debug.randomValue=Talvoud ar c'haner niveroù dargouezhek: %value%
menuBar.debug.displayPanels=Diskwel panelloù
menuBar.debug.displayMonarchPanel=Diskwel panell ar Roue
@@ -296,6 +300,8 @@
direction.NW=gwalarn
server.reject=Ne c'hell ket ar servijer ober se.
server.trade.noGoods=Ne c'hellit ket eskemm madoù n'int ket amañ.
+main.javaVersion=An doare %minVersion% eus Java pe un doare gwelloc'h egetañ zo erbedet evit lakaat FreeCol da vont en-dro %version% detektet, implijit --no-java-check evit lammañ ar gwiriekadur-mañ).
+main.memory=Rankout a reot deverkañ muioc'h %memory% okted memor d'ar JVM.\nAdloc'hit FreeCol gant java -Xmx%minMemory%M -jar FreeCol.jar
cli.arg.clientOptions=RESTR DIBARZHIOÙ
cli.arg.debuglevel=NIVER
cli.arg.debugRun=TROIOÙ [,SAVENAME]
@@ -320,8 +326,9 @@
cli.error.home.notExists=N'eus ket deus ar c'havlec'h dave %string%.
cli.error.home.noRead=Ne c'haller ket lenn adalek %string%.
cli.error.home.noWrite=Ne c'haller ket skrivañ war %string%.
-# Fuzzy
-cli.freecol-data=fichañ KAVLEC'H roadoù FreeCol (evel iskavlec'h anvet 'images')
+cli.error.save=Ne c'haller ket lenn al lodenn saveteet %string%.
+cli.error.timeout=Re verr eo %string% (nemet %minimum%)
+cli.freecol-data=fichañ KAVLEC'H roadoù FreeCol (evel iskavlec'h anvet 'base')
cli.font=termeniñ ar font dre ziouer
cli.help=diskouez ar skramm skoazell-mañ
cli.home-directory=fichañ KAVLEC'H tarzh FreeCol (dre ziouer evit an implijer tarzh)
@@ -354,12 +361,14 @@
model.option.turnsToSail.shortDescription=An niver a droadennoù bourzh ret evit merdeiñ eus Europa war-du ar Bed Nevez.
model.option.amphibiousMoves.name=Fiñvadennoù dre vor
model.option.amphibiousMoves.shortDescription=Aotren mont tre diouzhtu en trevadennoù adalek unvezioù ar morlu.
+model.option.emptyTraders.name=Unvezioù kenwerzh goullo
model.option.emptyTraders.shortDescription=Aotren an unvezioù kenwerzh goullo d'ober kenwerzh gant kampoù ar vroidi.
model.option.settlementActionsContactChief.name=Mont e darempred gant ar Penn
model.option.settlementActionsContactChief.shortDescription=An holl oberoù gant ur gêriadenn a ya e darempred gant he fenn hag a vevez ar bonuz a anaoudegezh.
model.option.enhancedMissionaries.name=Misionerie aet war-raok
model.option.enhancedMissionaries.shortDescription=Gwellaat a ra ar visionerien ar c'henwerzh ur gêriadenn ha reiñ a reont gwelusted d'an trowardroioù.
model.option.giftProbability.name=Tebegenn prof
+model.option.demandProbability.name=Goulenn hervez doare
model.option.continueFoundingFatherRecruitment.name=Kenderc'hel da duda Tadoù diazezerien
model.option.continueFoundingFatherRecruitment.shortDescription=Kenderc'hel da duta Tadoù diazezerien ur wech grataet an dizalc'hiezh.
model.option.settlementLimitModifier.name=Kemmañ harz ar c'hêriadennoù
@@ -1034,6 +1043,7 @@
move.noAccessWar=Ne c'hellomp ket kenwerzhañ gant %nation% p' emaomp o brezeliñ
move.noAccessWater=Hor %unit% a rank mont war an douar a-raok mont e-barzh an trevadenn.
move.noAttackWater=Ret eo da %unit% douarañ a-raok gallout tagañ.
+move.noTile=N'emañ ket hon %unit% war ar gartenn !
notYourTurn=N'eo ket ho tro c'hoazh !
twoTurnsPerYear=Adalek %year% e vo div dro dre vloaz, e-lec'h unan !
payForBuilding.text=Ha c'hoant ho pefe da baeañ %amount% aour a-benn peursevel ar savadur-mañ ?
@@ -1053,9 +1063,22 @@
indianSettlement.mostHatedUnknown=Dianav
indianSettlement.wantedGoodsUnknown=Dianav
indianSettlement.wantedGoodsNone=Hini ebet
+# Fuzzy
+indianSettlement.tension.happy=Izili hor broad zo o tañsal, laouen, tro-dro d'o zantad tan en ur ganañ kanaouenn o hendadoù.
+indianSettlement.tension.content=Emañ izili ar vroad %nation% o labourat. Emañ o bugale o c'hoari disoursi o c'hoari toull-kuzh.
+indianSettlement.tension.displeased=Emañ izili ar vroad %nation% o labourat. Ne c'haller ket gwelet o bugale hag o hendaddoù zo pennoù teñval outo.
+indianSettlement.tension.angry=Emañ paotred dispont ar vroad %nation% o c'hourdoniñ war gwennoù. Chomet eo ar maouezed hag ar vugale da guzhat en teltennoù.
+indianSettlement.tension.hateful=Emañ paotred dispont ar vroad %nation% o prientiñ o armoù. Gwisket o deus o gourizioù kinklet gant lêr-penn o enebourien. Evit doare e vez implijet ar post-jahinañ reoliek.
+indianSettlement.alarmIncrease.tension.content=Penn %nation% e %settlement% a salud e vignoned eus %enemy%. Laouen omp o welet emañ ar c'henlabour o kreskiñ etrezomp. Prederiet omp avat abalamour d'ho trevadennerien zo oc'h aloubiñ hon douaroù.
+indianSettlement.mission.tension.happy=Mision staliet, laouen eo %nation% o tegemer ho relijion nevez.
+indianSettlement.mission.tension.content=Mision staliet, prez zo war %nation% da zizoleiñ ho relijion nevez.
+indianSettlement.mission.tension.displeased=Mision staliet, feuket eo %nation%.
+indianSettlement.mission.tension.angry=Misioner prizoniet, %nation% a nac'h degemer ho relijion nevez.
+indianSettlement.mission.tension.hateful=Misioner aberzhet, %nation% a ra goap ouzh ho relijion nevez.
indianSettlement.mission.enemyDenounce=Ur misioner %enemy% en deus tamallet hor misioner e %settlement% da vezañ disivouder, met an %nation% en deus distaolet ar c'hlemm.
indianSettlement.mission.noDenounce=%nation% a nac'h an damalladenn falskrediñ hag a gas d'ar marv ho misioner evel ar falsprofed m'eo.
indianSettlement.mission.denounced=Ho misioner a oa e %settlement% a zo bet diskulhiet ha kaset d'ar marv!
+indianSettlement.mission.destroyed=Marvet eo ho misioner e %settlement% pa'z eo bet distrujet ar c'hampadur-se.
indianSettlement.capitalBurned=Devet hoc'h eus %name%, kêrbenn ar %nation%. Ar %nation% a ra bremañ diouzh ho menn!
learnSkill.text=Ha c'hoant ho pefe da vevañ e-touez ar bobl henvroat ha dont da vezañ %skill%?
learnSkill.yes=Ya, laouen
@@ -1220,6 +1243,7 @@
sentryUnit=Gedour
clearUnitOrders=Nullañ an urzhioù
leaveTown=Kuitaat kêr
+board=Taolenn %unit%
clearSpeciality=Nullañ an arbennigezh
clearSpeciality.areYouSure=Ha sur oc'h e fell deoc'h argilañ %oldUnit% da %unit%?
clearSpeciality.impossible=%unit% ne c'hell ket bezañ argilet!
@@ -1401,9 +1425,9 @@
model.unit.goodsStolen=%enemyUnit% %enemyNation% a laer %amount% %goods% digant %colony%!
model.unit.indianPlunder=%enemyUnit% %enemyNation% en deus preizhet %amount% e %colony%.
model.unit.burnMissions=%enemyNation% en deus peget an tan e misionoù %nation%!
+model.unit.nativeSettlementContact=En em gavet oc'h gant skouted %nation% eus %settlement%.
model.unit.automaticDefence=Tapet eo bet e armoù gant ho %unit% e %colony% evit he zifenn!
-# Fuzzy
-model.unit.attrition=Lonket eo bet ho %unit% gant an natur gouez!
+model.unit.attrition=Lonket eo bet ho %unit% e %location% gant an natur gouez!
model.unit.confirmCancelWork=O wellaat emaomp an dachenn-se endeo (%turns% tro a chom). Ha c'hoant hoc'h eus e chomfemp a-sav?
model.unit.occupation.active=-
model.unit.occupation.fortified=K
@@ -2449,7 +2473,6 @@
model.source.ambushBonus.name=Bonuz spi-brezel
model.source.artilleryInTheOpen.name=Artilheri war an dizolo
model.source.zeroThreshold.name=Produiñ negativel ebet
-# Fuzzy
model.source.finalResult.name=Disoc'h dibenn
model.source.baseDefence.name=Difenn diazez
model.source.fortified.name=Kreñvaet
Modified: freecol/trunk/data/strings/FreeColMessages_fi.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_fi.properties 2013-02-16 05:17:43 UTC (rev 10469)
+++ freecol/trunk/data/strings/FreeColMessages_fi.properties 2013-02-24 16:49:14 UTC (rev 10470)
@@ -5,6 +5,7 @@
# Author: Jl
# Author: Jylha
# Author: Kulmalukko
+# Author: Lliehu
# Author: Midorime
# Author: Nike
# Author: Silvonen
@@ -48,6 +49,7 @@
list.down=Alas
list.edit=Muokkaa
file.browse=Selaa…
+FileChooser.openButtonText=OK
option.remove=Tyhjennä
width=Leveys
height=Korkeus
@@ -107,7 +109,6 @@
sonsOfLiberty=IK
building=Rakennus
goods=Tavarat
-# Fuzzy
goldAmount=%amount% {{plural:%amount%|one=kultaraha|other=kultarahaa}}
cargoOnCarrier=Lasti
# Fuzzy
@@ -184,6 +185,7 @@
tension.displeased=Tyytymätön
tension.angry=Vihainen
tension.hateful=Pillastunut
+tension.unknown=Tuntematon
tension=jännite
noSuchFile=Valittua tiedostoa ei ole olemassa tai se ei kelpaa.
gotoThisTile=Mene tähän ruutuun
@@ -195,6 +197,8 @@
filter.gameOptions=FreeCol-peliasetukset (*.fgo)
filter.gameOptionsAndSavedGames=FreeCol-pelit ja -peliasetukset (*.fgo ja *.fsg)
filter.xml=XML (Laajennettava merkkauskieli).
+freecol.map.Africa=Afrikka
+freecol.map.Australia=Australia
underRepair=Korjauksessa (%turns% {{plural:%turns%|one=vuoro|other=vuoroa}} jäljellä)
EventPanel.MEETING_EUROPEANS=Tapaat muita eurooppalaisia. He kilpailevat kanssasi maa-alueista ja rikkauksista, ja voivat julistaa sodan sinulle. Kun Jan de Witt liittyy mannermaakongressiin, voit käydä kauppaa heidän kanssaan.
EventPanel.MEETING_NATIVES=Tapaat alkuperäisväestöä. Lähetä tiedustelijasi heidän kyläänsä oppiaksesi lisää heistä, ja voit lähettää määräaikaispalvelijasi ja siirtolaisesi oppiin heille. Lähetä laivasi ja vankkurikaravaanisi heidän kyläänsä, jos haluat käydä kauppaa heidän kanssaan.
Modified: freecol/trunk/data/strings/FreeColMessages_oc.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_oc.properties 2013-02-16 05:17:43 UTC (rev 10469)
+++ freecol/trunk/data/strings/FreeColMessages_oc.properties 2013-02-24 16:49:14 UTC (rev 10470)
@@ -205,7 +205,7 @@
EventPanel.MEETING_AZTEC=Rencontratz la nacion Aztèca.
EventPanel.MEETING_INCA=Rencontratz la nacion Inca.
tutorial.startGame=Aprèp de meses a vogar sus l'ocean, arribatz enfin al larg de las còstas d'un continent desconegut. Fasètz vela cap a {{tag:%direction%|west=l'oèst|east=l'èst|default=jol vent}} per descobrir lo Mond Novèl e lo reïvindicar al nom de la Corona.
-tutorial.buildColony=Construsissètz una colonia en quichant sus la tòca %build_colony_key% o en clicant sus %build_colony_menu_item% dins lo menut %orders_menu_item%.\n\nSeretz prevengut se l'endrech causit es pas ideal per s'i establir.
+tutorial.buildColony=Construsissètz una colonia en quichant sus la tòca %build_colony_key% o en clicant sus %build_colony_menu_item% dins lo menú %orders_menu_item%.\n\nSeretz prevengut se l'endrech causit es pas ideal per s'i establir.
Colony=Colonia
Settlement=Règlament
NewWorld=Mond Novèl
@@ -918,7 +918,7 @@
reportHistoryAction.name=Rapòrt d'Istoric
reportProductionAction.name=Rapòrt de produccion
reportHighScoresAction.name=Marcas mai nautas
-showMainAction.name=Retorn al menut
+showMainAction.name=Retorn al menú
retireAction.name=Se retirar
saveAction.name=Enregistrar
scaleMapAction.name=Dimensionar la mapa
@@ -1355,8 +1355,8 @@
model.unit.masterSugarPlanter.description=Lo mèstre plantaire de cana de sucre... endevinatz qué !
model.unit.masterCottonPlanter.description=Lo mèstre plantaire de coton es especializat dins la cultura del coton.
model.unit.masterTobaccoPlanter.description=Lo mèstre plantaire de tabat es especializat dins la cultura del tabat.
-model.unit.firebrandPreacher.description=Lo predicator fanatic augmenta la libertat religiosa de vòstras colonias (simbolizada per de croses), la quala augmentarà a son torn lo nombre d'emigrants cap al Monde Novèl.
-model.unit.elderStatesman.description=Lo vièlh politician afisca lo desir d'independéncia dels colons (simbolizat per las campanas de la libertat), qu'augmenta lo taus d'apartenéncia als Filhs de la Libertat dins vòstras colonias.
+model.unit.firebrandPreacher.description=Lo predicator fanatic aumenta la libertat religiosa de vòstras colonias (simbolizada per de croses), la quala aumentarà a son torn lo nombre d'emigrants cap al Monde Novèl.
+model.unit.elderStatesman.description=Lo vièlh politician afisca lo desir d'independéncia dels colons (simbolizat per las campanas de la libertat), qu'aumenta lo taus d'apartenéncia als Filhs de la Libertat dins vòstras colonias.
model.unit.masterCarpenter.description=Lo mèstre carpentièr es especializat dins la construccion de bastiments e d'unas unitats coma los vaissèls.
model.unit.masterDistiller.description=Lo mèstre distillaire es especializat dins la fabricacion de ròm.
model.unit.masterWeaver.description=Lo mèstre teisseire es especializat dins la fabricacion de teissuts.
@@ -1685,35 +1685,35 @@
model.building.customHouse.name=Pòst de doanas
model.building.townHall.description=L'Ostal comun, que pòt pas èsser melhorat, pòt conténer tres colons per la produccion de campanas de la libertat. Son efièch pòt èsser augmentat per la construccion d'una estampariá e d'un jornal.
model.building.carpenterHouse.description=La menusarià pòt èsser melhorada en Rèssec quora la populacion atenh 3 colons.\nAqueste bastiment permet la conversion de fusta en martèls necessaris per construire tota mena de bastiments.\n\nAutomaticament construch al moment de la fondacion d'una colonia novèla.
-model.building.lumberMill.description=Lo rèssec que pòt pas èsser melhorat, augmenta la produccion de martèls. Los martèls son necessaris per construire tota mena de bastiments.
+model.building.lumberMill.description=Lo rèssec que pòt pas èsser melhorat, aumenta la produccion de martèls. Los martèls son necessaris per construire tota mena de bastiments.
model.building.blacksmithHouse.description=La farga, que pòt èsser melhorada en Fabrica d'acièr, servís a transformar lo mineral en aisinas. Las aisinas servisson a construire o a melhorar d'unes bastiments. Las aisinas tanben pòdon èsser utilizadas per las òbras exterioras dels pionièrs o per la produccion de mosquets. Quora la colonia a atench una populacion de 8, la farga pòt èsser remplaçada per una usina siderurgica pro qu'Adam Smith aja rejunch lo congrès continental.
model.building.blacksmithShop.description=La Fabrica d'acièr, que pòt èsser melhorada en usina siderurgica, servís a transformar lo mineral en aisinas. Las aisinas servisson a construire o a melhorar d'unes bastiments. Las aisinas pòdon tanben èsser utilizadas per las òbras exterioras dels pionièrs o per la produccion de mosquets. Quora la colonia a atench una populacion de 8, la farga pòt èsser remplaçada per una usina siderurgica pro qu'Adam Smith aja rejunch lo congrès continental.\n\nUna fabrica d'acièr melhora la produccion d'aisinas.
model.building.ironWorks.description=L'usina siderurgica, que pòt pas èsser melhorada, servís a transformar lo mineral en aisinas. Las aisinas servisson a construire o a melhorar d'unes bastiments. Las aisinas pòdon tanben èsser utilizadas per las òbras exterioras dels pionièrs o per la produccion de mosquets. Quora la colonia a atench una populacion de 8, la farga pòt èsser remplaçada per una usina siderurgica pro qu'Adam Smith aja rejunch lo congrès continental.\n\nUna usina siderurgica melhora la produccion d'aisinas.
model.building.tobacconistHouse.description=L'Ostal del plantaire, que pòt èsser melhorat en talhièr de cigarros, servís a produire de cigarros a partir de tabat.\nQuora la colonia atenh una populacion de 8, pòt èsser melhorada en usina de cigarros, pro qu'Adam Smith aja rejunch lo congrès continental.\n\nAutomaticament construch al moemnt de la fondacion d'una colonia novèla.
-model.building.tobacconistShop.description=Lo talhièr de cigarros servís a produire de cigarros a partir de tabat.\nQuora la colonia atenh una populacion de 8, pòt èsser melhorat en usina de cigarros, pro qu'Adam Smith aja rejunch lo congrès continental.\n\nUn talhièr de cigarros augmenta la produccion de cigarros.
-model.building.cigarFactory.description=L'usina de cigarros, que pòt pas èsser melhorada, servís a produire de cigarros a partir de tabat.\n\nUna usina de cigarros augmenta la produccion de cigarros.
+model.building.tobacconistShop.description=Lo talhièr de cigarros servís a produire de cigarros a partir de tabat.\nQuora la colonia atenh una populacion de 8, pòt èsser melhorat en usina de cigarros, pro qu'Adam Smith aja rejunch lo congrès continental.\n\nUn talhièr de cigarros aumenta la produccion de cigarros.
+model.building.cigarFactory.description=L'usina de cigarros, que pòt pas èsser melhorada, servís a produire de cigarros a partir de tabat.\n\nUna usina de cigarros aumenta la produccion de cigarros.
model.building.weaverHouse.description=L'ostal del teisseire, que pòt èsser melhorat en filatura, permet de transformar lo coton en teissut. Pòt èsser melhorada en filatura quora la populacion de la colonia atenh 8 e quora Adam Smith a rejunch lo congrès continental.
model.building.weaverShop.description=La filatura, que pòt èsser melhorada en usina textila, servís a transformar de coton en teissut. Pòt èsser melhorada en usina textila quora la populacion de la colonia atenh al mens 8 e quora Adam Smith a rejunch lo congrès continental. Permet de melhorar la produccon de teissuts.
model.building.textileMill.description=L'usina textila melhora la produccion de teissuts a partir de coton.
model.building.distillerHouse.description=L'ostal del destillaire, que pòt èsser melhorat en destillariá, servís a produire de ròm a partir del sucre. Un còp qu'Adam Smith a rejunch lo congrès e que la colonia a atench una populacion de 8, la destillariá pòt èsser remplaçada per una usina d'aigardents.
-model.building.rumDistillery.description=La destillariá servís a produire de ròm a partir del sucre. Un còp qu'Adam Smith a rejunch lo congrès e que la colonia a atench una populacion de 8, la destillariá pòt èsser remplaçada per una usina d'aigardents.\n\nUna destillariá augmenta la produccion de Ròm.
-model.building.rumFactory.description=L'usina d'aigardents, que pòt èsser melhorada, servís a produire de ròm a partir del sucre.\n\nUna usina d'aigardent augmenta la produccion de Ròm.
+model.building.rumDistillery.description=La destillariá servís a produire de ròm a partir del sucre. Un còp qu'Adam Smith a rejunch lo congrès e que la colonia a atench una populacion de 8, la destillariá pòt èsser remplaçada per una usina d'aigardents.\n\nUna destillariá aumenta la produccion de Ròm.
+model.building.rumFactory.description=L'usina d'aigardents, que pòt èsser melhorada, servís a produire de ròm a partir del sucre.\n\nUna usina d'aigardent aumenta la produccion de Ròm.
model.building.furTraderHouse.description=L'ostal del pelissièr, que pòt èsser melhorat en talhièr de forraduras, servís a produire de pelissas a partir de forraduras. Un còp que la colonia a atench una populacion de 6, pòt èsser melhorada en usina de forraduras pro qu'Adam Smith aja rejunch lo congrès continental.
-model.building.furTradingPost.description=Lo talhièr de forraduras servís a produire de pelissas a partir de forraduras. Un còp que la colonia a atench una populacion de 6, pòt èsser melhorat en usina de forraduras pro qu'Adam Smith aja rejunch lo congrès continental. Un talhièr de forraduras augmenta la produccion de pelissas.
-model.building.furFactory.description=L'usina de forraduras, que pòt pas èsser melhorada, servís a produire de pelissas a partir de forraduras. Una usina de forraduras augmenta la produccion de pelissas.
+model.building.furTradingPost.description=Lo talhièr de forraduras servís a produire de pelissas a partir de forraduras. Un còp que la colonia a atench una populacion de 6, pòt èsser melhorat en usina de forraduras pro qu'Adam Smith aja rejunch lo congrès continental. Un talhièr de forraduras aumenta la produccion de pelissas.
+model.building.furFactory.description=L'usina de forraduras, que pòt pas èsser melhorada, servís a produire de pelissas a partir de forraduras. Una usina de forraduras aumenta la produccion de pelissas.
model.building.schoolhouse.description=Una colonia amb una populacion de 4 pòt construire una escòla, çò que permet als mèstres-artesans d'ensenhar lors mestièrs a un colon sens competéncias particularas. Tre que la populacion a atench 8, pòt èsser melhorada en Collègi dins lo qual d'autres mestièrs pòdon èsser ensenhats per dos colons. Un còp que la populacion atenh 10, lo collègi pòt èsser remplaçat per una universitat dins la quala totas las competéncias pòdon èsser ensenhadas per tres colons.\n\nUna escòla permet d'ensenhar las competéncias de nivèl 1.
model.building.college.description=Una colonia amb una populacion de 4 pòt construire una escòla, çò que permet als mèstres-artesans d'ensenhar lors mestièrs a un colon sens competéncias particularas. Tre que la populacion a atench 8, pòt èsser melhorada en Collègi dins lo qual d'autres mestièrs pòdon èsser ensenhats per dos colons. Un còp que la populacion atenh 10, lo collègi pòt èsser remplaçat per una universitat dins la quala totas las competéncias pòdon èsser ensenhadas per tres colons.\n\nUn collègi permet d'ensenhar las competéncias de nivèl 2.
model.building.university.description=Una colonia amb una populacion de 4 pòt construire una escòla, çò que permet als mèstres-artesans d'ensenhar lors mestièrs a un colon sens competéncias particularas. Tre que la population a atench 8, pòt èsser melhorada en Collègi dins lo qual d'autres mestièrs pòdon èsser ensenhats per dos colons. Un còp que la population atenh 10, lo collègi pòt èsser remplaçat per una universitat dins la quala totas las competéncias pòdon èsser ensenhadas per tres colons.\n\nUna universitat permet d'ensenhar las competéncias de nivèl 3.
model.building.armory.description=L'armariá es utilizada per produire de mosquets a partir d'aisinas. Tre que la populacion atenh 8, l'armariá pòt èsser melhorada en polverièra e en seguida en arsenal pro qu'Adam smith aja rejunch lo congrès continental.\n\nAprèp sa construccion podètz produire de mosquets e de l'artilhariá.
-model.building.magazine.description=La polverièra servís a produire de mosquets a partir d'aisinas. La polverièra pòt èsser melhorada en arsenal pro qu'Adam Smith aja rejunch lo congrès continental.\n\nAprèp sa construccion la produccion de mosquets augmenta de 100%.
+model.building.magazine.description=La polverièra servís a produire de mosquets a partir d'aisinas. La polverièra pòt èsser melhorada en arsenal pro qu'Adam Smith aja rejunch lo congrès continental.\n\nAprèp sa construccion la produccion de mosquets aumenta de 100%.
model.building.arsenal.description=L'arsenal servís a produire de mosquets a partir d'aisinas.\n\n Aprèp sa construccion, la produccion de mosquets necessita meitat mens d'aisinas.
model.building.chapel.description=La capèla es un luòc ont los colons practican lor religion. Una capèla produtz una pichona quantitat de croses mas cap de preire i pòt pas èsser afectat. Per aquò, d'en primièr, i cal construire una glèisa.
-model.building.church.description=Una colonia amb una populacion de 3 pòt construire una glèisa, que pòt èsser melhorada en catedrala quora la populacion atenh 8. La libertat religiosa del monde novèl (simbolizat per de croses) causa una emigracion creissenta dempuèi Euròpa.\n\nConstruire una glèisa augmenta la produccion de croses e vos permet de benesir de missionaris.
-model.building.cathedral.description=Una colonia amb una populacion de 3 pòt construire una glèisa, que pòt èsser melhorada en catedrala quora la populacion atenh 8.\nLa libertat religiosa del monde novèl (simbolizat per de croses) causa una emigracion creissenta dempuèi Euròpa.\n\nUna catedrala augmenta la produccion de croses.
-model.building.stockade.description=La muralha, que pòt èsser construcha tre que la populacion atenh 3 personas, protegís los colons dels atacs. La muralha pòt èsser melhorada en fòrt, que balha una proteccion melhora contra los bombardaments dels corsaris e unitats navalas enemics suls oceans adjacents. Lo fòrt pòt èsser remplaçat per una fortalesa tre que la populacion atenh 8 personas.\n\nConstruire una muralha augmenta la defensa de 100%.
+model.building.church.description=Una colonia amb una populacion de 3 pòt construire una glèisa, que pòt èsser melhorada en catedrala quora la populacion atenh 8. La libertat religiosa del monde novèl (simbolizat per de croses) causa una emigracion creissenta dempuèi Euròpa.\n\nConstruire una glèisa aumenta la produccion de croses e vos permet de benesir de missionaris.
+model.building.cathedral.description=Una colonia amb una populacion de 3 pòt construire una glèisa, que pòt èsser melhorada en catedrala quora la populacion atenh 8.\nLa libertat religiosa del monde novèl (simbolizat per de croses) causa una emigracion creissenta dempuèi Euròpa.\n\nUna catedrala aumenta la produccion de croses.
+model.building.stockade.description=La muralha, que pòt èsser construcha tre que la populacion atenh 3 personas, protegís los colons dels atacs. La muralha pòt èsser melhorada en fòrt, que balha una proteccion melhora contra los bombardaments dels corsaris e unitats navalas enemics suls oceans adjacents. Lo fòrt pòt èsser remplaçat per una fortalesa tre que la populacion atenh 8 personas.\n\nConstruire una muralha aumenta la defensa de 100%.
model.building.fort.description=Lo fòrt, que pòt èsser construch aprèp una muralha, protegís los colons dels atacs e bombarda los vaissèls enemics. Lo fòrt pòt èsser remplaçat per una fortalesa quora la populacion atenh 8.\n\nConstruire un fòrt balha un bonús de defensa de 150%.
model.building.fortress.description=La fortalesa, que pòt èsser construch aprèp un fòrt, protegís los colons dels atacs e bombarda los vaissèls enemics\n\nConstruire una fortalesa balha un bonús de defensa de 150%.
-model.building.depot.description=Un depaus conserva tota mena de produches. Sa capacitat iniciala es de 100 unitats per cada tipe de produch. Pòt èsser melhorat en entrepaus amb una capacitat de 200 unitats per produch. Construire una extension d'entrepaus augmenta la capacitat a 300 unitats per produch.
+model.building.depot.description=Un depaus conserva tota mena de produches. Sa capacitat iniciala es de 100 unitats per cada tipe de produch. Pòt èsser melhorat en entrepaus amb una capacitat de 200 unitats per produch. Construire una extension d'entrepaus aumenta la capacitat a 300 unitats per produch.
model.building.warehouse.description=Un entrepaus pòt emmagazinar tota mena de produches. Permet de conservar 200 unitats de mai per cada tipe de produch e pòt èsser melhorat amb una extension per n'estocar encara 100 de mai.
model.building.warehouseExpansion.description=Una extension d'entrepaus pòt emmagazinar tota mena de produches. Permet de conservar 300 unitats de cada tipe de produch.
model.building.country.description=Los pasturals pròchis de vòstra colonia permeton als cavals de pàisser liurament. Construire d'escudariás facilitarà la reproduccion dels cavals.
@@ -1722,8 +1722,8 @@
model.building.docks.description=Los cais autorizan la pesca sus las casas pròchas de la colonia. Pòt èsser melhorada en cala seca quora la populacion atenh 4.
model.building.drydock.description=La cala seca permet la reparacion de batèus. Quora la populacion atenh 8 pòt èsser melhorada en talhièr de construccion navala.
model.building.shipyard.description=Lo talhièr de constroccion naval permet de pescar sus las casas adjacentas de la colonia, permet tanben la reparacion e la construccion de batèus.
-model.building.printingPress.description=L'imprimariá, que pòt èsser melhorada en jornal tre que la populacion atenh 4, augmenta la produccion de campanas de la Libertat.
-model.building.newspaper.description=Lo jornal, qu'òm pòt construire aprèp una imprimariá tre que la populacion atenh 4, augmenta la produccion de campanas de la libertat.
+model.building.printingPress.description=L'imprimariá, que pòt èsser melhorada en jornal tre que la populacion atenh 4, aumenta la produccion de campanas de la Libertat.
+model.building.newspaper.description=Lo jornal, qu'òm pòt construire aprèp una imprimariá tre que la populacion atenh 4, aumenta la produccion de campanas de la libertat.
model.building.customHouse.description=Lo pòste de doanas, que pòt èsser construch tre que Peter Stuyvesant a rejunch lo congrès continental permet l'exportacion dirècta de bens cap a Euròpa sens l'ajuda de batèus. Permet tanben de comerçar amb de poténcias estrangièras aprèp la declaracion d'independéncia. A mai, se pòt contornar los boicòts.
model.foundingFather.adamSmith.name=Adam Smith
model.foundingFather.adamSmith.description=Las manufacturas fabrican meitat mai de produches a partir de la meteissa quantitat de matèria primièra.
@@ -1779,7 +1779,7 @@
model.foundingFather.paulRevere.text=Paul Revere èra un simple artesan american quora partiguèt a caval prevenir los borrièrs de Lexington de l'arribada dels soldats britanics. Foguèt capturat e liberat mai tard mentre que los britanics devián batre en retracha lo mai rapidament possible aprèp lor desfacha.
model.foundingFather.paulRevere.birthAndDeath=1734-1818
model.foundingFather.francisDrake.name=Francis Drake
-model.foundingFather.francisDrake.description=La poténcia de fuòc de totes vòstres vaissèls corsaris augmenta de meitat.
+model.foundingFather.francisDrake.description=La poténcia de fuòc de totes vòstres vaissèls corsaris aumenta de meitat.
model.foundingFather.francisDrake.text=Lo capitani anglés Francis Drake foguèt lo primièr Anglés a far lo torn de la Tèrra. Aqueste corsari venguèt sustot un eròi per sa victòria contra l'Invencible Armada espanhòla.
model.foundingFather.francisDrake.birthAndDeath=1542-1596
model.foundingFather.johnPaulJones.name=John Paul Jones
@@ -1799,7 +1799,7 @@
model.foundingFather.thomasPaine.text=L'escrivan anglés Thomais Paine emigrèt als Estats Units e prenguèt partit pels insurgits. Son panflet "lo Sens comun" guidèt la pensada dels patriòtas de totas las colonias.
model.foundingFather.thomasPaine.birthAndDeath=1737-1809
model.foundingFather.simonBolivar.name=Simon Bolivar
-model.foundingFather.simonBolivar.description=La proporcion d'independentistas augmenta de 20 % dins caduna de vòstras colonias.
+model.foundingFather.simonBolivar.description=La proporcion d'independentistas aumenta de 20 % dins caduna de vòstras colonias.
model.foundingFather.simonBolivar.text=Simón José Antonio de la Santísima Trinidad Bolívar y Palacios liberèt Nòva Granada de l'empresa espanhòla. Liberèt tanben las colonias vesinas e venguènt atal lo primièr president de la Federacion de Granda Colómbia.
model.foundingFather.simonBolivar.birthAndDeath=1783-1830
model.foundingFather.benjaminFranklin.name=Benjamin Franklin
@@ -1811,7 +1811,7 @@
model.foundingFather.williamBrewster.text=William Brewster èra un paire superior puritan qu'organizèt la colonizacion de Plymouth e Nòva Anglatèrra.
model.foundingFather.williamBrewster.birthAndDeath=1567-1644
model.foundingFather.williamPenn.name=William Penn
-model.foundingFather.williamPenn.description=Lo nombre de croses dins vòstras colonias augmenta mai lèu de meitat.
+model.foundingFather.williamPenn.description=Lo nombre de croses dins vòstras colonias aumenta mai lèu de meitat.
model.foundingFather.williamPenn.text=William Penn fondèt e governèt çò que venguènt mai tard la Pennsilvania, per i poder practicar sa religion en tota libertat. La colonia quaker (protestanta) prosperèt tant que Filadelfia venguènt la primièra capitala dels Estats Units de decennis mai tard.
model.foundingFather.williamPenn.birthAndDeath=1644-1718
model.foundingFather.fatherJeanDeBrebeuf.name=Paire Jean de Brebeuf
@@ -1819,7 +1819,7 @@
model.foundingFather.fatherJeanDeBrebeuf.text=Aqueste missionari jesuita simpatisèt amb los indians Urons e ne convertiguèt un cèrt nombre al cristianisme. Foguèt capturat e tuat pels Iroqueses dins una batalha que gagnèron contra los Urons.
model.foundingFather.fatherJeanDeBrebeuf.birthAndDeath=1593-1649
model.foundingFather.juanDeSepulveda.name=Juan de Sepulveda
-model.foundingFather.juanDeSepulveda.description=Augmenta l'escasença de 20 % que la populacion dels campaments indigènas se van « convertir » e jónher vòstras colonias.
+model.foundingFather.juanDeSepulveda.description=Aumenta l'escasença de 20 % que la populacion dels campaments indigènas se van « convertir » e jónher vòstras colonias.
model.foundingFather.juanDeSepulveda.text=Juan Ginés de Sepúlveda èra un teologian espanhòl e fervent defensor del drech per l'Espanha de conquerir, colonizar e evangelizar lo Mond Novèl.
model.foundingFather.juanDeSepulveda.birthAndDeath=1781-1872
model.foundingFather.bartolomeDeLasCasas.name=Bartolome de las Casas
Modified: freecol/trunk/data/strings/FreeColMessages_pt_PT.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_pt_PT.properties 2013-02-16 05:17:43 UTC (rev 10469)
+++ freecol/trunk/data/strings/FreeColMessages_pt_PT.properties 2013-02-24 16:49:14 UTC (rev 10470)
@@ -1334,6 +1334,8 @@
model.modifier.consumeOnlySurplusProduction.shortDescription=Só consome parte da produção excedentária, não as mercadorias armazenadas.
model.modifier.offenceAgainst.name=Ofensiva contra
model.modifier.offenceAgainst.shortDescription=Melhora a probabilidade de vitória ao atacar.
+model.modifier.tileTypeChangeProduction.name=Rendimento madeireiro
+model.modifier.tileTypeChangeProduction.shortDescription=Aumenta a quantidade de madeira produzida ao derrubar florestas.
model.colony.colonistStarved=Um colono morreu de fome em %colony%!
model.colony.colonyStarved=O último colono de %colony% morreu de fome, deixando a colónia abandonada.
model.colony.famineFeared=A fome preocupa os colonos de %colony%. A comida restante será suficiente para %number% jogadas.
@@ -1349,6 +1351,10 @@
model.colony.unitChange=Ao entrar na sua colónia, a unidade %oldType% tornou-se em %newType%.
model.colony.SoLIncrease=A comunidade Filhos da Liberdade em %colony% subiu para %newSoL% por cento da população!
model.colony.SoLDecrease=O sentimento de rebeldia em %colony% caiu para %newSoL% por cento!
+model.colony.veryGoodGovernment=O governo tornou-se mais eficiente! A comunidade partidária dos Filhos da Liberdade em %colony% é igual ou excede os %number%% da população.
+model.colony.goodGovernment=O governo tornou-se mais eficiente! A comunidade partidária dos Filhos da Liberdade em %colony% é igual ou excede os %number%% da população.
+model.colony.lostVeryGoodGovernment=O governo já não é tão eficiente. A comunidade partidária dos Filhos da Liberdade em %colony% já não é igual, nem excede, %number%% da população. Perderam-se alguns bónus de produção.
+model.colony.lostGoodGovernment=O governo já não é tão eficiente. A comunidade partidária dos Filhos da Liberdade em %colony% já não é igual, nem excede, %number%% da população. A colónia já não recebe qualquer bónus de produção.
model.colony.veryBadGovernment=O governo de %colony% é muito ineficiente. Foram aplicadas penas à produção.
model.colony.badGovernment=O governo de %colony% é ineficiente. Foram aplicadas penas leves à produção.
model.colony.governmentImproved1=O governo de %colony% melhorou, mas ainda é ineficiente. As penas à produção ainda vigoram.
@@ -2289,13 +2295,26 @@
report.labour.canTrain=* Esta colónia pode treinar unidades deste tipo.
report.colony.name.header=Colónia
report.colony.name.description=A lista de colónias
+report.colony.explore.header=E
+report.colony.explore.description=Número de terrenos a explorar adjacentes a esta colónia
+report.colony.exploring.description=%colony% iria beneficiar da exploração de {{plural:%amount%|one=um terreno|other=%amount% terrenos}}
+report.colony.plow.header=A
+report.colony.plow.description=Número de terrenos da colónia que iriam beneficiar se fossem arados
+report.colony.plowing.description=%colony% iria beneficiar se ara-se {{plural:%amount%|one=um terreno|other=%amount% terrenos}}
+report.colony.road.header=E
+report.colony.road.description=Número de terrenos da colónia que iriam beneficiar se fosse construída uma estrada
+report.colony.roadBuilding.description=%colony% iria beneficiar da construção de {{plural:%amount%|one=uma estrada|other=%amount% estradas}}
report.colony.birth.description=Número de turnos até que chegue um novo colono ou que haja fome
+report.colony.arriving.description=%colony%: novo %unit% {{plural:%turns%|one=no próximo turno|other=em %turns% turnos}}
report.colony.starving.description=%colony%: haverá fome {{plural:%turns%|one=no próximo turno|other=em %turns% turnos}}
report.colony.making.header=A fabricar
report.colony.making.description=O que esta colónia está a produzir
+report.colony.making.noconstruction.description=%colony%: Nada está a ser construído.
report.colony.improve.header=Melhorar
report.colony.grow.header=+
report.colony.grow.description=Número de unidades que a colónia pode albergar sem prejudicar a produção
+report.colony.wanted.header=Procura-se
+report.colony.wanted.description=Unidades que poderiam ser produtivas para esta colónia
report.colony.wanting.description=%colony%: Para produzir mais %amount% de %goods% adicione %unit%
report.trade.unitsSold=Unidades compradas ou vendidas
report.trade.beforeTaxes=Receita antes dos impostos
@@ -2367,6 +2386,7 @@
model.source.movementPenalty.name=Penalização de movimento
model.source.ambushBonus.name=Bónus de Emboscada
model.source.artilleryInTheOpen.name=Artilharia em campo aberto
+model.source.zeroThreshold.name=Sem produção negativa
model.source.finalResult.name=Resultado da Unidade
model.source.baseDefence.name=Defesa base
model.source.fortified.name=Fortificado
Modified: freecol/trunk/data/strings/FreeColMessages_qqq.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_qqq.properties 2013-02-16 05:17:43 UTC (rev 10469)
+++ freecol/trunk/data/strings/FreeColMessages_qqq.properties 2013-02-24 16:49:14 UTC (rev 10470)
@@ -90,7 +90,8 @@
negotiationDialog.add={{Identical|Add}}
negotiationDialog.nothing={{Identical|Nothing}}
transaction.tax={{Optional}}
-tension.content=Content as in pleased
+tension.content=Content as in pleased.\n{{Identical|Content}}
+tension.unknown={{Identical|Unknown}}
Colony={{Identical|Colony}}
LoadingSavegame.port={{Identical|Port}}
menuBar.game=[[Image:Freecol-colopedia-prairie.jpg|thumb]]\n{{Identical|Game}}
@@ -106,7 +107,7 @@
endTurnDialog.name={{Identical|End turn}}
menuBar.tools.determineHighSeas.distToLandFromHighSeas=The distance from land, measured in tiles.
stopCurrentGame.no={{Identical|Cancel}}
-stopServer.no=Lihtne
+stopServer.no={{Identical|Cancel}}
reconnect.no={{Identical|Quit}}
cli.arg.dimensions={{FreeCol-CLI}}
cli.arg.directory=See also {{msg-freecol|cli.freecol-data}}, {{msg-freecol|cli.home-directory}}.\n{{FreeCol-CLI}}
@@ -147,6 +148,7 @@
model.option.buildOnNativeLand.never.name={{Identical|Never}}
# Fuzzy
model.difficulty.natives.name=Itt nem általában a bennszülöttekről van szó, hanem az amerikai bennszülöttekről, vagyis az indiánokról.
+model.difficulty.other.name={{Identical|Other}}
model.difficulty.hard.name={{Identical|Hard}}
low.name={{Identical|Low}}
medium.name={{Identical|Medium}}
@@ -182,7 +184,7 @@
clientOptions.gui.enemyMoveAnimationSpeed.slow={{Identical|Slow}}[[Image:Freecol-preferences.png|thumb]]
clientOptions.gui.enemyMoveAnimationSpeed.normal={{Identical|Normal}}[[Image:Freecol-preferences.png|thumb]]
clientOptions.gui.enemyMoveAnimationSpeed.fast={{Identical|Fast}}[[Image:Freecol-preferences.png|thumb]]
-clientOptions.messages.name={{Identical|Messages}}
+clientOptions.messages.name={{Identical|Message}}
model.option.guiMaxNumberOfGoodsImages.name=[[Image:Freecol-preferences.png|thumb]]\n{{msg-freecol|model.option.guiMaxNumberOfGoodsImages.shortDescription}}
model.option.guiMaxNumberOfGoodsImages.shortDescription=[[Image:Freecol-preferences.png|thumb|tooltip]]\n{{msg-freecol|model.option.guiMaxNumberOfGoodsImages.name}}
model.option.guiShowWarning.shortDescription=The word "miscellaneous" means "from non-specific categories", "various", "other", "sundry".
@@ -248,6 +250,8 @@
indianSettlement.skillUnknown={{Identical|Unknown}}
indianSettlement.skillNone={{Identical|None}}
indianSettlement.mostHatedNone={{Identical|None}}
+indianSettlement.mostHatedUnknown={{Identical|Unknown}}
+indianSettlement.wantedGoodsUnknown={{Identical|Unknown}}
indianSettlement.wantedGoodsNone={{Identical|None}}
scoutSettlement.attack={{Identical|Attack}}
scoutColony.attack={{Identical|Attack}}
@@ -317,7 +321,7 @@
model.monarch.action.SUPPORT_LAND.no={{Identical|Done}}
model.monarch.action.SUPPORT_SEA.no={{Identical|Done}}
model.monarch.action.DISPLEASURE.no={{Identical|Done}}
-model.message.DEFAULT={{Identical|Messages}}
+model.message.DEFAULT={{Identical|Message}}
model.message.WARNING={{Identical|Warning}}
model.ability.buildCustomHouse.name=They mean '''customs house'''. See http://en.wikipedia.org/wiki/Customs_house
model.tile.plains.name=[[Image:Freecol-colopedia-prairie.jpg|thumb]]
@@ -366,6 +370,7 @@
model.goods.furs.name={{Identical|Furs}}
model.goods.tools.name={{Identical|Tools}}
model.goods.muskets.name=[[Image:Freecol-colopedia-indianmuskets.jpg|thumb]]
+model.goods.unknown={{Identical|Unknown}}
model.goods.muskets.description=[[Image:Freecol-colopedia-indianmuskets.jpg|thumb]]
model.goods.fish.description=[[Image:Freecol-colopedia-improvements.jpg|thumb]]
model.goods.hammers.description=[[Image:Freecol-colopedia-allbuildings.jpg|thumb]]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sie...@us...> - 2013-02-16 05:17:51
|
Revision: 10469
http://freecol.svn.sourceforge.net/freecol/?rev=10469&view=rev
Author: siebrand
Date: 2013-02-16 05:17:43 +0000 (Sat, 16 Feb 2013)
Log Message:
-----------
Localisation updates from http://translatewiki.net.
Modified Paths:
--------------
freecol/trunk/data/strings/FreeColMessages_br.properties
freecol/trunk/data/strings/FreeColMessages_pl_PL.properties
freecol/trunk/data/strings/FreeColMessages_qqq.properties
Modified: freecol/trunk/data/strings/FreeColMessages_br.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_br.properties 2013-02-10 19:24:29 UTC (rev 10468)
+++ freecol/trunk/data/strings/FreeColMessages_br.properties 2013-02-16 05:17:43 UTC (rev 10469)
@@ -30,6 +30,7 @@
false=Gaou
more=muioc'h...
none=Hini ebet
+many=kalz
nothing=Netra
all=Pep tra
notApplicable.short=N/P
@@ -127,6 +128,8 @@
colonyPanel.populationTooSmall=Pobladur %number%
colonyPanel.units=Unvezioù
colonyPanel.buildings=Savadurioù
+inPort.name=Er porzh
+producing.name=O produiñ :
turns=troioù
turnsToComplete.short=(Troioù: %number%)
turnsToComplete.long=(Troioù da echuiñ: %number%)
@@ -962,6 +965,7 @@
noClaimReason.worked=Un drevadenn all a denn korvo eus an douar-mañ dija.
noClaimReason.europeans=Ur vroad europat all a embann piaouañ an douar-mañ dija.
noClaimReason.natives=Ur meuriad engenidik a embann bezañ perc'henn war an douar-mañ.
+noClaimReason.occupied=Ac'hub eo ar vro-mañ gant un enebour dañjerus.
noAddReason.already_present=El lec'h-mañ emañ dija.
noAddReason.wrong_type=Doare direizh evit al lec'h-mañ.
noAddReason.capacity_exceeded=N'eus ket plas a-walc'h ken el lec'h-mañ.
@@ -1099,6 +1103,8 @@
server.invalidPlayerNations=Pep c'hoarier a rank dibab ur vroad a-raok kregiñ gant ar c'hoari.
server.timeOut=Re bell eo padet ar c'hlask kevreañ ouzh ar servijer.
server.errorStartingGame=Ur fazi zo bet e-ser kregiñ ar c'hoari.
+server.load=N'eus ket bet gallet kargañ ar partiadenn enrollet
+server.initialize=Fazi en ur zeraouekaat ar servijer
displayTileTextAction.EMPTY.name=Skrid ebet diskouezet er c'harrezennoù
displayTileTextAction.NAMES.name=Diskouez anvioù ar c'harrezennoù
displayTileTextAction.OWNERS.name=Diskouez perc'henned ar c'harrezennoù
Modified: freecol/trunk/data/strings/FreeColMessages_pl_PL.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_pl_PL.properties 2013-02-10 19:24:29 UTC (rev 10468)
+++ freecol/trunk/data/strings/FreeColMessages_pl_PL.properties 2013-02-16 05:17:43 UTC (rev 10469)
@@ -331,7 +331,7 @@
cli.error.home.noRead=Nie można odczytać %string%.
cli.error.home.noWrite=Nie można zapisać na %string%.
cli.error.save=Nie można odczytać zapisanej gry %string% .
-cli.error.timeout=\n%string%jest zbyt krótki (mniej niż %minimum% )
+cli.error.timeout=%string%jest zbyt krótki (mniej niż %minimum% )
cli.freecol-data=ustaw KATALOG z danymi FreeCol (posiada podkatalog 'base')
cli.font=ustaw domyślną czcionkę
cli.help=wyświetl ten ekran pomocy
Modified: freecol/trunk/data/strings/FreeColMessages_qqq.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_qqq.properties 2013-02-10 19:24:29 UTC (rev 10468)
+++ freecol/trunk/data/strings/FreeColMessages_qqq.properties 2013-02-16 05:17:43 UTC (rev 10469)
@@ -55,6 +55,7 @@
port={{Identical|Port}}
connect={{Identical|Connect}}
availability=This is a column header with possible values: not available, available, AI only. It means if a nation can be played (and is available=not yet choosen by someone else) by a human player.
+nationState.AVAILABLE={{Identical|Available}}
small={{Identical|Small}}
medium={{Identical|Medium}}
large={{Identical|Large}}\nCan refer to "amount of X, where X can be villages, rivers and such" in addition to map size.
@@ -92,7 +93,7 @@
tension.content=Content as in pleased
Colony={{Identical|Colony}}
LoadingSavegame.port={{Identical|Port}}
-menuBar.game=[[Image:Freecol-colopedia-prairie.jpg|thumb]]
+menuBar.game=[[Image:Freecol-colopedia-prairie.jpg|thumb]]\n{{Identical|Game}}
menuBar.view=[[Image:Freecol-colopedia-prairie.jpg|thumb]]
menuBar.tools={{Identical|Tools}}
menuBar.orders=[[Image:Freecol-colopedia-prairie.jpg|thumb]]\n{{Identical|Order}}
@@ -342,7 +343,7 @@
model.tile.mountains.name=[[Image:Freecol-colopedia-prairie.jpg|thumb]]
river={{Identical|River}}
model.tile.prairie.description=[[Image:Freecol-colopedia-prairie.jpg|thumb]]
-model.resource.game.name=This is (wild) animals on tiles. Not something you play :)
+model.resource.game.name=This is (wild) animals on tiles. Not something you play :)\n{{Identical|Game}}
model.resource.furs.name={{Identical|Furs}}
model.resource.cotton.name={{Identical|Cotton}}
model.resource.fish.name=[[Image:Freecol-colopedia-improvements.jpg|thumb]]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sie...@us...> - 2013-02-10 19:24:44
|
Revision: 10468
http://freecol.svn.sourceforge.net/freecol/?rev=10468&view=rev
Author: siebrand
Date: 2013-02-10 19:24:29 +0000 (Sun, 10 Feb 2013)
Log Message:
-----------
Localisation updates from http://translatewiki.net.
Modified Paths:
--------------
freecol/trunk/data/strings/FreeColMessages_ang.properties
freecol/trunk/data/strings/FreeColMessages_ar.properties
freecol/trunk/data/strings/FreeColMessages_hu.properties
freecol/trunk/data/strings/FreeColMessages_ko.properties
freecol/trunk/data/strings/FreeColMessages_nb_NO.properties
freecol/trunk/data/strings/FreeColMessages_nn.properties
freecol/trunk/data/strings/FreeColMessages_pl_PL.properties
freecol/trunk/data/strings/FreeColMessages_pt_BR.properties
freecol/trunk/data/strings/FreeColMessages_pt_PT.properties
freecol/trunk/data/strings/FreeColMessages_qqq.properties
freecol/trunk/data/strings/FreeColMessages_ru.properties
freecol/trunk/data/strings/FreeColMessages_sv_SE.properties
freecol/trunk/data/strings/FreeColMessages_zh_CN.properties
Modified: freecol/trunk/data/strings/FreeColMessages_ang.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_ang.properties 2013-01-27 19:45:49 UTC (rev 10467)
+++ freecol/trunk/data/strings/FreeColMessages_ang.properties 2013-02-10 19:24:29 UTC (rev 10468)
@@ -2,17 +2,17 @@
# Exported from translatewiki.net
# Author: Gott wisst
-freecol.desktopEntry.GenericName=Endebyrdnesspleȝa
+freecol.desktopEntry.GenericName=Gūþcræftpleȝa
freecol.desktopEntry.Comment=Stæpcynn endebyrdnesspleȝa ȝeƿorht æfter "Sider Meier's Colonization".
ok=Ȝōd
-cancel=Onƿende
+cancel=Onƿend
reset=Eftsete
save=Horda
display=Ēoƿa
yes=Ȝiese
no=Nese
close=Betȳn
-options=Cēosunȝa
+options=Cyras
and=and
load=Forþbrinȝ
unload=Onhlad
@@ -24,6 +24,7 @@
false=Lēas
more=mā...
none=Nǣniȝ
+many=maniȝ
nothing=Nāƿiht
all=Eall
notApplicable.short=Ne limpþ
@@ -38,7 +39,8 @@
list.up=Ūpp
list.down=Adūn
list.edit=Ādiht
-file.browse=Þurhseoh
+file.browse=Þurhsēoh
+FileChooser.openButtonText=Ȝōd lā
option.remove=Fornim
width=Brǣdo
height=Hīehþu
@@ -52,17 +54,17 @@
host=Hām
port=Duru
players=Pleȝendas
-playerNation=%player%es %nation%þēod
+playerNation=%player%es %nation%
gameState=Ȝamenes byrdness
startServerOnPort=Beȝinn þeȝntōl on dura
publicServer=Folclīc þeȝntōl
defaultPlayerName=Pleȝendnama
-getServerList=Fōh þeȝntōlȝetæl
+getServerList=Fōh þeȝntōla ȝetæl
connect=Ȝeþēod self mid
availability=Ȝearuness
nationState.AVAILABLE=ȝearu
-nationState.AI_ONLY=Synderlīce spearctellere
-nationState.NOT_AVAILABLE=ne ȝearu
+nationState.AI_ONLY=Synderlīce spearctellend
+nationState.NOT_AVAILABLE=nā ȝearu
verySmall=Sƿīðe lȳtel
small=Lytel
medium=Medume ȝrēat
@@ -70,7 +72,7 @@
veryLarge=Sƿīðe ȝrēat
veryDry=Sƿīðe dryȝe
dry=Dryȝe
-normal=Ȝeƿunelic
+normal=Ȝeƿunelīc
wet=Ƿǣt
veryWet=Sƿīðe ƿǣt
cold=Ceald
@@ -79,90 +81,93 @@
warm=Ƿearm
hot=Hāt
startGame=Beȝinn ȝamen
-gameOptions=Ȝamenes cēosunȝa
-mapGeneratorOptions=Landscētes setednessa
+gameOptions=Ȝamenes cyras
+mapGeneratorOptions=Landymelan setednessa
iAmReady=Ic eom ȝearu
playerOptions.selectPlayers=Cēos pleȝendas
playerOptions.europeanPlayers=Europisce pleȝendas
playerOptions.nativePlayers=Inlendisce pleȝendas
playerOptions.NONE=Nǣniȝ
playerOptions.FIXED=Fæsted
-playerOptions.SELECTABLE=Cēosendlic
+playerOptions.SELECTABLE=Cēosendlīc
playerOptions.selectColors=Cēos blēo
-playerOptions.nationalAdvantages=Þēodlica duȝuða
+playerOptions.nationalAdvantages=Þēodlīca mihta
player=Pleȝend
nation=Þēod
color=Bleoh
-advantage=Oferduȝuþ
+advantage=Miht
moves=Stapas:
sonsOfLiberty=Suna Frēodōmes
building=Bold
goods=Cēapas
goldAmount=%amount% {{plural:%amount%|one=ȝoldes|other=ȝoldes|default=ȝoldes}}
cargoOnCarrier=Hlæst on berende
-cargoOnCarrierLong=Hlæst on %name%scipe (%space% {{plural:%space%|one=setl|other=setlas|default=setla}} left)
+cargoOnCarrierLong=Hlæst on %name% (%space% {{plural:%space%|one=setl is ǣmettiȝ|other=setla sind ǣmettiȝ|default=setla sind ǣmettiȝ}})
outsideColony=Ūtan landbūnesse
colonyPanel.buyBuilding=Byȝe bold
colonyPanel.rebelLabel=Ƿiðersacan: %number%
colonyPanel.royalistLabel=Cyninȝfolȝiendas: %number%
colonyPanel.bonusLabel=Oferduȝuþ: %number%%extra%
colonyPanel.populationLabel=Lēodrǣden: %number%
-colonyPanel.minimumColonySize=%object% forestepþ ǣniȝe māran ȝelytlunȝe þǣre lēodrǣdne.
+colonyPanel.minimumColonySize=%object% ƿiþstandeþ māran ȝelytlunȝe þǣre lēodrǣdne.
colonyPanel.currentlyBuilding=Bold: %buildable%
-colonyPanel.buildQueue=Endebyrdness abīdendra bolda
-colonyPanel.clickToBuild=Sƿinȝe þā boldstōƿe mid mȳs tō cēosenne bold oþþe ƿiht tō timbrienne.
-colonyPanel.compactView=Ȝeþƿoren sihþ
+colonyPanel.buildQueue=Endebyrdness bolda tō timbrienne
+colonyPanel.clickToBuild=Sƿinȝ þā boldstōƿe mid mȳs tō cēosenne bold oþþe ƿiht þe bēo ȝetimbrod.
+colonyPanel.compactView=Ȝelytlod sihþ
colonyPanel.showAll=Ēoƿa eall
-colonyPanel.unbuildable=%colony% ne cann timbrian %object% hērrihte. %object% ƿæs anumen fram þǣre endebyrdnessa abīdendra bolda.
-colonyPanel.notBestTile=%unit%ƿiht cūðe forþberan mā %goods%ƿara on %tile%stede.
-colonyPanel.reducePopulation=Ȝif þū ȝelytlie þā lēodrǣdne sƿā þæt hēo sīe læsse þonne %number%, sēo %colony%landbūness ne sceall timbrian %buildable%bold.
+colonyPanel.unbuildable=%colony% ne cann timbrian %object% hērrihte. %object% ƿæs anumen fram þǣre endebyrdnesse bolda þa bēon ȝetimbrod.
+colonyPanel.notBestTile=%unit% cūðe forþberan mā %goods% on %tile%.
+colonyPanel.reducePopulation=Ȝif þū ȝelytlie þā lēodrǣdne sƿā þæt hēo sīe læsse þonne %number%, þonne %colony% ne timbrie %buildable%.
colonyPanel.requires=Þearf: %string%
colonyPanel.populationTooSmall=Lēodrǣden %number%
-colonyPanel.units=Ƿiht
+colonyPanel.units=Ƿihta
colonyPanel.buildings=Bold
+colonyPanel.colonyUnits=Landbūnesse ƿihta
+outsideOfColony.name=Būtan landbūnesse
+inPort.name=On porte
+producing.name=Ƿyrceþ:
turns=stapas
turnsToComplete.short=(Stapas: %number%)
turnsToComplete.long=(Stapas oþ fulfyled: %number%)
-waitingFor=Abīdende: sēo %nation%þēod nū ȝǣþ
-chooseImmigrant=Cēos þā ānfealdnesse þē ȝeleoreþ fram Europe.
-abstractUnit={{plural:%number%|one=ān|other=%number%}} %unit%ƿiht
-colonist=%number% {{plural:%number%|one=Landbūend|other=Landbūendas|default=Landbūend}}
-colonists=Landbūendas
-tories=Ealdþēaƿhealdendas
+waitingFor=Abīdende: %nation% nū ȝāþ
+chooseImmigrant=Cēos þā ƿihte þe ȝeleore fram Europe.
+abstractUnit={{plural:%number%|one=ān|other=%number%}} %unit%
+colonist=%number% {{plural:%number%|one=Landsǣta|other=Landsǣtena|default=Landsǣta}}
+colonists=Landsǣtan
+tories=Þēaƿhealdendas
crosses=Rōda
-mission=Ǣrend
+mission=Forþsendunȝ
spring=Lencten
autumn=Hærfest
year.SPRING=Lencten þæs %year% ȝēares
year.AUTUMN=Hærfest þæs %year% ȝēares
-warOfIndependence.independenceDeclared=Þissum Dæȝe hæfþ se Ƿitenaȝemōt ȝeseted þā hefiȝostan Fæstrǣdnesse, þe ƿæs ǣniȝre tīde on Ƿīnlande ȝeseted.\n\nIc cnāƿe ƿell ymb þæt Ƿeorc and Blōd and þone Gærsum, þāra þe hit fram Ūs behōfaþ, tō healdenne þisne Fæstrǣd, and tō aƿreðienne and beorȝienne þās Rīcu. Ac nā þȳ læs beȝeondan eallum þǣre Þystre ic sēo þā Lēoman nȳdnimendes Lēohtes and Þrymes. Ic sēo þæt þe se Ende is mā þonne ƿeorþ eallra þāra Endebyrdnessa. And þæt ūru Cildru sculen oferƿinnan and spēdan for þǣm ƿeorcum þisra daȝa, þēah þē ƿē meahtlīce hrēoƿen ymb him, ac ic hopie ōðerlīce.\n\nSe Cyninglica Færenda Here hrāðe cymþ ƿiþ ūsic. Ȝearƿiaþ ūre beorȝas carfullīce þā hƿīle þē ƿē gæderiaþ selƿille menn tō nīƿum Ƿorulddǣliscum Here.
+warOfIndependence.independenceDeclared=Þissum Dæȝe hæfþ se Ƿitenaȝemōt ȝeseted þā hefiȝostan Fæstrǣdnesse, þe ƿæs ǣniȝre tīde on Ƿīnlande ȝeseted.\n\nIc cnāƿe ƿell ymb þæt Ƿeorc and Blōd and þone Gærsum, þāra þe hit Ūre behōfaþ, tō healdenne þisne Fæstrǣd, and tō aƿreðienne and beorȝienne þās Rīcu. Ac nā þȳ læs beȝeondan eallre þǣre Þēostre sēo ic þā Bēamas forfæȝeres Lēohtes and Þrymes. Ic sēo þæt þe se Ende is mā þonne ƿeorþ eallra þāra Endebyrdnessa. And þæt ūru Cildru sculen oferƿinnan and spēdan for þǣm Ƿeorcum þisra Daȝa, þēah þē ƿē mihten hrēoƿan ymb hine, ac ic hopie þætte ƿē nā hrēoƿen ymb hine.\n\nSe Cyneaspyrȝunȝhere hraðe cymþ ƿiþ ūsic. Ȝearƿiaþ ūre beorȝas cearfullīce þā hƿīle þe ƿē gæderiaþ ƿilsume menn tō þǣm nīƿan Ƿorulddǣlhere.
purchaseDialog.clickOn=Swinȝ ān þisra þinȝa þurh mȳs tō bycȝenne hit.
-recruitDialog.clickOn=Sƿinȝ ānne þisra manna mid mȳs tō gæderienne hine. Þū scealt lēanian %money% tō his fære. Hē self cunne lēanian his færes %number% stapum hēræfter.
-trainDialog.clickOn=Sƿinȝ ānne þisra manna tō ȝearƿienne hine.
-trainDialog.done=Fulfyled
+recruitDialog.clickOn=Sƿinȝ ānne þisra manna mid mȳs tō hȳrenne hine. Þū scealt lēanian %money% tō his fære. Hē self cunne lēanian his færes %number% stapa hēræfter.
+trainDialog.clickOn=Sƿinȝ ānne þisra manna tō tǣcenne hine.
+trainDialog.done=Fulfyled lā
quitDialog.areYouSure.text=Ƿilt þū sōþlīce aȝān?
retireDialog.areYouSure.text=Ƿilt þū sōþlīce ȝebūȝan?
-foundingFatherDialog.nominate=Hāt staðoliend
-errorMessage.showLogFile=Īeƿa cranicas
+foundingFatherDialog.nominate=Hāt Staðoliend
+errorMessage.showLogFile=Īeƿ cranicas
tradeItem.colony=Landbūness
-tradeItem.colony.long=sēo %colony% landbūness
+tradeItem.colony.long=sēo landbūness %colony%
tradeItem.gold=Ȝold
tradeItem.gold.long=þæt ȝetæl %amount% ȝoldes
tradeItem.goods=Cēapas
tradeItem.stance=Stede
-tradeItem.unit=Ānfealdness
-# Fuzzy
-negotiationDialog.offer=Abēod
-# Fuzzy
-negotiationDialog.demand=Crafa
-negotiationDialog.summary=Þā %nation% abēodaþ of %offers% ƿiþ %demands%.
+tradeItem.unit=Ƿiht
+negotiationDialog.offer=Þā %nation% abēodaþ
+negotiationDialog.demand=Þā %nation% āsciaþ
+negotiationDialog.exchange=ƿiþ
+negotiationDialog.summary=Þā %nation% abēodaþ %offers% ƿiþ %demands%.
negotiationDialog.accept=Andfōh
negotiationDialog.cancel=Onƿend
negotiationDialog.send=Send
negotiationDialog.add=Besete
negotiationDialog.nothing=nāƿiht
-negotiationDialog.offerAccepted=Þā %nation% habbaþ andfanȝen þīne cystiȝan abodennesse.
-negotiationDialog.offerRejected=Þā %nation% habbaþ aƿended þīne cystiȝan abodennesse.
+negotiationDialog.offerAccepted=Þā %nation% habbaþ andfanȝen þīn cystiȝe lāc.
+negotiationDialog.offerRejected=Þā %nation% habbaþ aƿend þīn cystiȝe lāc.
transaction.purchase=Byȝe %amount% %goods% @%gold%
transaction.price=Cēapȝyld:\t%gold%
transaction.sale=Cīep %amount% %goods% @%gold%
@@ -173,101 +178,111 @@
tension.displeased=Unrōt
tension.angry=Ƿrāþ
tension.hateful=Hetelīc
-tension=Nearumōd
-noSuchFile=Þæt ȝecorene ȝeƿithord nis oþþe nis ȝeƿunelic ȝeƿithord.
+tension.unknown=Unȝeƿiss
+tension=Nearuness
+noSuchFile=Þæt ȝecorene ȝeƿithord nis nā, oþþe nis hit ȝeƿunelic ȝeƿithord.
gotoThisTile=Ȝā tō þissum stede.
gotoEurope=Ȝā tō Europe
-attackTileOdds=Ƿinn! (%chance%% ƿēn spēdunȝe)
+attackTileOdds=Ƿinn! (%chance%% ƿēn oferdrīfunȝe)
dumpCargo=Onhlad hlæst
tile=Stede (%x%, %y%)
-filter.savedGames=FreeCol hordod ȝamen (*.fsg)
-filter.gameOptions=FreeCol ȝamenes cēosunȝa (*.fgo)
-filter.gameOptionsAndSavedGames=FreeCol ȝamenes cēosunȝa and hordod ȝamen (*.fgo and *.fsg)
-filter.xml=XML (Extensible Markup Language - Ēacniendlīc Ūppmearciende Sprǣc)
-underRepair=Ƿēorðende bōteted (%turns% {{plural:%turns%|one=stæpe|other=stapas}} stapas ȝīet tō ƿeorðenne)
-EventPanel.MEETING_EUROPEANS=Þū mētst ōðre Europisce menn. Hīe ƿinnaþ ƿiþ þec ymb land and sceatt, and meahtlīce hīe ætfeohten þec. Ac æfter Iohannes de Ƿitt þēode selfne tō þǣm Ƿitenaȝemōte cunne þū macian cēapas mid heom.
-EventPanel.MEETING_NATIVES=Þū mētst inlendisceras. Send þīne scēaƿeras tō heora landbūnessum tō leornienne mā be him, and þīn laȝbundene þeȝnas and frēo landbūendas tō leornienne þinȝ fram him. Send þīn scipu and ƿæȝnfloccas tō heora landbūnessum ȝif þū ƿille dōn cēapas mid heom.
+filter.savedGames=FreeColes hordod ȝamen (*.fsg)
+filter.gameOptions=FreeColes ȝamenes cyras (*.fgo)
+filter.gameOptionsAndSavedGames=FreeColes ȝamenes cyras and hordod ȝamen (*.fgo and *.fsg)
+filter.xml=XML (Extensible Markup Language - Ēacniendlīc Mearcunȝlīc Sprǣc)
+freecol.map.Africa=Affrica
+freecol.map.Australia=Sūþland
+freecol.map.America_large=Ƿīnland (ȝrēat)
+freecol.map.Caribbean_basin=Caribisc Ȝeard
+underRepair=Ƿeorðende bōteted (%turns% {{plural:%turns%|one=stæpe|other=stapa}} ȝīet tō ȝelimpenne)
+EventPanel.DISCOVER_PACIFIC=Þū fintst þone Sericus Ȝārsecȝ.
+EventPanel.FIRST_LANDING=Forme lendunȝ on þǣm Nīƿum Landum.
+EventPanel.MEETING_EUROPEANS=Þū mētst ōðre Europisce menn. Hīe ƿinnaþ ƿiþ þec ymb land and sceatt, and mihton hīe ætfeohten þec. Ac æfter Iohannes de Ƿitt þēode selfne tō þǣm Ƿitenaȝemōte cunne þū ȝemanȝian mid heom.
+EventPanel.MEETING_NATIVES=Þū mētst inlendisce. Send þīne fōreƿearda tō heora setlum tō leornienne mā be him, and þīn fōreƿeardþeȝnas and þīne ceorlas tō leornienne cræftas fram him. Send þīn scipu and þīne ƿæȝnas tō heora setlum ȝif þū ƿille ȝemanȝian mid heom.
EventPanel.MEETING_AZTEC=Þū mētst þā Astecþēode.
EventPanel.MEETING_INCA=Þū mētst þā Incena þēode.
-tutorial.startGame=Æfter mōnaðer on ðǣm ȝārsecȝe, þū hafast nū ȝecumen tō þǣm strande unȝecūðes landes. Sæȝla {{tag:%direction%|west=ƿest|east=ēast|default=ƿiþ ƿind}} tō findenne þā nīƿan land and tō manienne heora for þǣm cynedōme.
-tutorial.buildColony=Ȝesēc tō timbrienne landbūnesse mid sƿenȝe on þǣm cǣȝe %build_colony_key% oþþe þǣre cyre of %build_colony_menu_item% fram þǣm %orders_menu_item% ȝetæle. \n\nÞū bist ȝeteald ȝif þǣr is āƿiht unȝōd mid þǣre timrunȝe þǣre landbūnesse on þǣm ȝecorenan staðole.
+tutorial.startGame=Æfter maniȝum mōnaðum on ðǣm ȝārsecȝe eart þū nū ȝecumen tō þǣm strande unȝecūðes landes. Sæȝla {{tag:%direction%|west=ƿest|east=ēast|default=ƿiþ ƿind}} tō findenne þā Nīƿan Land and tō manienne heora for þǣm cynedōme.
+tutorial.buildColony=Ȝesēc tō timbrienne Landbūnesse mid sƿenȝe on þǣm cǣȝe %build_colony_key% oþþe þǣm cyre of %build_colony_menu_item% fram þǣm %orders_menu_item% ȝetæle. \n\nÞū bēo ȝeteald ȝif þǣr sīe āƿiht unȝōd mid þǣre timbrunȝe þǣre landbūnesse on þǣm ȝecorenan staðole.
Colony=Landbūness
Settlement=Setl
-NewWorld=Nīƿu land
+NewWorld=Nīƿu Land
+Ship=Scip
LoadingSavegame.title=Forþbrinȝende hordod ȝamen
+LoadingSavegame.singlePlayer=Ānpleȝende
LoadingSavegame.privateMultiplayer=Ānlēpiȝ maniȝpleȝende
-LoadingSavegame.publicMultiplayer=Folclic maniȝpleȝende
+LoadingSavegame.publicMultiplayer=Folclīc maniȝpleȝende
LoadingSavegame.serverName=Þeȝntōles nama:
LoadingSavegame.port=Duru:
editor.resource=Hƿeorf oþþe anim sceattfruman.
editor.removeSettlement=Anim setl
editor.removeSettlement.text=Ƿilt þū animan þis setl?
-editor.mapSize=Cēos landscētes micelnesse
-buildingToolTip.breeding=Þū þearft hūru %number% {{plural:%number%|%goods%ƿara tō settenne %goods%dēor tō tīemenne.
+editor.mapSize=Cēos landymelan micelnesse
+buildingToolTip.breeding=Þū þearft hūru %number% {{plural:%number%|%goods%}} tō settenne %goods% tō tīemenne.
menuBar.game=Ȝamen
menuBar.view=Sihþ
menuBar.tools=Tōlas
menuBar.orders=Bodu
menuBar.colopedia=Coloȝeƿitnessbōc
-# Fuzzy
-menuBar.teacher=Lǣrunȝe stǣr
-menuBar.debug=Find unrihtnessa
+menuBar.teacher=Tǣcende %unit%
+menuBar.debug=Find dƿild
menuBar.debug.showCoordinates=Ēoƿa stedrīm
menuBar.debug.showColonyValue=Ēoƿa landbūnesse ƿeorþ
-menuBar.debug.showCommonOutpostValue=Īeƿa ȝemǣne hƿīlendsetlƿeorþ
+menuBar.debug.showCommonOutpostValue=Īeƿa ȝemǣne hƿīlendsetles ƿeorþ
menuBar.debug.skipTurns=Bebūȝ stapas
menuBar.debug.stopSkippingTurns=Ne bebūȝ stapas lenȝ
-menuBar.debug.addBuilding=Ēacna ǣlce landbūnesse mid boldum
-menuBar.debug.addFoundingFather=Ēacna mid staðoliendum fæder
-menuBar.debug.runMonarch=Ȝesete þæt nīehtse ƿord þæs cyninȝes
+menuBar.debug.addBuilding=Ēacna ǣlce landbūnesse mid bolde
+menuBar.debug.addFoundingFather=Ēacna mid Staðoliende
+menuBar.debug.runMonarch=Ȝesete þā nīehste dǣde þæs cyninȝes
menuBar.debug.addGold=Ēacna mid ȝolde
menuBar.debug.addImmigration=Besete ȝeleorunȝe
menuBar.debug.addLiberty=Ēacna ǣlce landbūnesse mid frēodōme
menuBar.debug.stepRandomNumberGenerator=Stæpa hlīetlīcra rīma forþberend
-menuBar.debug.randomValue=Hlotenra rīma forþberan ƿeorþ: %value%
+menuBar.debug.displayUnits=Īeƿ ƿihta
+menuBar.debug.randomValue=Hlīetlīcra rīma forþberendes ƿeorþ: %value%
menuBar.debug.displayPanels=Īeƿ bredu
menuBar.debug.displayMonarchPanel=Īeƿ ānƿaldan bred
menuBar.debug.displayVictoryPanel=Īeƿ sīȝes bred
menuBar.debug.displayEuropeStatus=Īeƿ Europe byrdnesse
-menuBar.debug.displayErrorMessage=Īeƿa onȝefremmunȝe ȝeƿrit
-menuBar.debug.useAI=Brūc spearctelle
-menuBar.debug.revealEntireMap=Ēoƿa fullne landscēte
-menuBar.debug.compareMaps=Cnēorlǣc landscēte ymb unsamenettunȝe
-menuBar.debug.compareMaps.checkComplete=Cnēorlǣcinȝ is fulfyled. Nǣniȝ unsamenettunȝ ƿæs ȝefunden.
-menuBar.debug.compareMaps.problem=Meahtlic hefiȝness is ȝefunden. Bidde þē tō rǣdenne ȝeƿitnesse ȝeƿriten tō understandenne hīe.
-menuBar.debug.showResourceKeys=Īeƿ frumena cǣȝa
+menuBar.debug.displayErrorMessage=Īeƿ misfenȝes ȝeƿrit
+menuBar.debug.useAI=Brūc spearctellend
+menuBar.debug.revealEntireMap=Ēoƿa fulle landymelan
+menuBar.debug.hideEntireMap=Behȳd fulle landymelan
+menuBar.debug.compareMaps=Sēc landymelan unsamenettunȝe
+menuBar.debug.compareMaps.checkComplete=Sōcn is fulfyled. Nǣniȝ unsamenettunȝ ƿæs ȝefunden.
+menuBar.debug.compareMaps.problem=Meahtlīc hefiȝness is ȝefunden. Rǣd lā þā ȝeƿritenan ȝeƿitnesse tō understandenne hīe.
+menuBar.debug.showResourceKeys=Īeƿ sceattfrumena cǣȝa
menuBar.debug.statistics=Cȳþþu
menuBar.debug.memoryManager=Ȝemyndes dihtere
menuBar.debug.memoryManager.freeMemory=Lēas
menuBar.debug.memoryManager.totalMemory=Full
menuBar.debug.memoryManager.maxMemory=Mǣst
-menuBar.debug.memoryManager.gc=Ƿeorca þone adelȝæderiend
+menuBar.debug.memoryManager.gc=Sete þone adelȝæderiend ƿyrcan
menuBar.report=Rǣd
menuBar.statusLine=Mearca ȝet1l: %score% | Ȝold: %gold% | Ȝafolrǣden: %tax%% | Ȝēar: %year%
findSettlementDialog.name=Find setl
-metaServer.couldNotConnect=Belāda, ne cūðe ȝeþēodan tō þǣm eallþeȝntōle. Bidde þē tō sēcenne eft hēræfter.
+metaServer.couldNotConnect=Ƿālā, ne cūðe ic ȝeþēodan tō þǣm eallþeȝntōle. Sēc þū lā eft siþþan.
metaServer.communicationError=Þǣr ƿæs ƿōȝ þā hƿīle þe ȝemānsumiende þone eallþeȝntōl. Bidde þē tō ȝesēcenne eft hēræfter.
-infoPanel.endTurnPanel.text=Sƿinȝ þone cǣȝ "enter" tō endienne þīne stæpe.
+infoPanel.endTurnPanel.text=Sƿinȝ þone cǣȝ "enter" tō endienne þīnne stæpe.
endTurnDialog.name=Enda stæpe
-endTurnDialog.areYouSure=Þās {{plural:%number%|one=ƿiht bītt|other=ƿihta bīdaþ}} boda, oþþe {{plural:%number%|one=hafaþ|other=habbaþ}} ȝefanȝen bod tō abīdenne. Ƿilt þū sōþlīce nū þīnne stæpe endian?
-menuBar.tools.determineHighSeas.distToLandFromHighSeas=Stedas fram lande
+endTurnDialog.areYouSure={{plural:%number%|one=Þēos ƿiht bītt|other=Þās ƿihta bīdaþ}} boda, oþþe {{plural:%number%|one=hafaþ|other=habbaþ}} ȝefanȝen bod tō abīdenne. Ƿilt þū sōþlīce nū þīnne stæpe endian?
+menuBar.tools.determineHighSeas.distToLandFromHighSeas=Stedas aƿeȝ fram lande
menuBar.tools.determineHighSeas.maxDistanceToEdge=Mǣst feorrness oþ þone riman
stopCurrentGame.text=Ȝamen ȝǣþ nū ǣr.
stopCurrentGame.yes=Enda ȝamen.
-stopCurrentGame.no=Onƿende
+stopCurrentGame.no=Onƿend
stopServer.text=Þeȝntōl nū ǣr ȝǣþ on ȝecorenre dura.
stopServer.yes=Enda þeȝntōl
stopServer.no=Onƿende
-connectController.choicePlayer=Bidde þē tō cēosenne pleȝend.
+connectController.choicePlayer=Cēos lā pleȝend:
reconnect.text=Se þeȝntōl abītt edþēodunȝe
reconnect.yes=Edþēod
reconnect.no=Afar
failedToSave=Ne cūðe hordian þæt %name% ȝeƿithord!
-couldNotSaveGame=Ƿōȝ ȝelamp þā hƿīle þe ȝesēcende tō hordienne þæt ȝamen!
-couldNotLoadGame=Ƿōȝ ȝelamp þā hƿīle þe ȝesēcende tō forþbrinȝenne þæt ȝamen!
+couldNotSaveGame=Dƿild ȝelamp þā hƿīle þe ic sōhte þæt ȝamen hordian!
+couldNotLoadGame=Dƿild ȝelamp þā hƿīle þe ic sōhte þæt ȝamen forþbrinȝan!
fileNotFound=Ne cūðe findan þæt ȝeƿithord þurh þone ȝifenan naman.
incompatibleVersions=Þæt hordode ȝamen þæt þe þū eart ȝesēcende tō forþbrinȝenne nis ȝenȝe on þisre forþsendnesse FreeColes.
-openGame.unimplemented=Þæt opene ƿeorc nis ȝīet ȝebrocen.
+openGame.unimplemented=Þæt ȝeƿeald þe openie ȝeƿithord nis ȝīet ȝebrocen.
direction.N=norþa
direction.NE=norþēasta
direction.E=ēasta
@@ -277,9 +292,11 @@
direction.W=ƿesta
direction.NW=norþƿesta
server.reject=Se þeȝntōl ne cann dōn þæt.
-server.trade.noGoods=Þū ne canst ȝiefan ƿara þā þū ne hafast hēr.
+server.trade.noGoods=Þū ne canst ȝiefan cēapas þā þū ne hafast hēr.
+main.javaVersion=Java fadunȝe %minVersion% oþþe beteran fadunȝe āh man habban tō pleȝenne FreeCol.\n(%version% is sēo fadunȝ þe ƿæs funden; brūc --no-java-check tō bebūȝenne þās cnēorlǣcunȝe).
+cli.arg.clientOptions=CYRA ȜEǷITHORD
cli.arg.debuglevel=RĪM
-cli.arg.debugRun=TURNS[,SAVENAME]
+cli.arg.debugRun=STAPAS[,SAVENAME]
cli.arg.dimensions=BRǢDOxHĪEHÞE
cli.arg.directory=EALLȜETÆL
cli.arg.file=ȜEǷITHORD
@@ -287,11 +304,11 @@
cli.arg.loglevel=SĪÞBŌCHĀD
cli.arg.name=NAMA
cli.arg.port=DURU
-cli.arg.seed=SEED
+cli.arg.seed=SǢD
cli.arg.timeout=TIMEOUT
-cli.check-savegame=cnēorlǣc þæt ȝifene hordode ȝamen ymb ȝestæþþiȝnesse
-cli.check-savegame.success=Cnēorlǣcinȝ ymb þǣre ȝestæþþiȝnesse þæs hordodan ȝamenes; cnēorlǣc stīþbōc ymb stafan.
-cli.check-savegame.failure=Sēo ȝestæþþiȝnesse cnēorlǣcinȝ ne spēde; cnēorlǣc sīþbōc ymb stafan.
+cli.check-savegame=sēc þæs ȝifenan hordodan ȝamenes ȝestæþþiȝnesse
+cli.check-savegame.success=Sōcn þǣre ȝestæþþiȝnesse þæs hordodan ȝamenes is fulfyled; sēc sīþbōc ymb stafan.
+cli.check-savegame.failure=Sēo þæs hordodan ȝamenes ȝestæþþiȝnesse sōcn aspranȝ; sēc sīþbōc ymb stafan.
cli.debug=find unrihtnessa on FreeCol
cli.debug-run=Sete ƿyrcan N stapa on unrihtnessfindendre byrdnesse, and þǣræfter cēosendlīce horda ȝamen and aȝā
cli.default-locale=sete þā ǣr ȝecorenan stōƿe ȝeƿitnesse (SPRǢC[_LAND[_MISSENLICNESS]])
@@ -299,6 +316,7 @@
cli.error.home.notExists=%string% hāmeallȝetæl nis ȝeƿorden.
cli.error.home.noRead=Ne cann rǣdan fram %string%.
cli.error.home.noWrite=Ne cann ƿrītan tō %string%.
+cli.error.save=Ne cann rǣdan ȝehordod ȝamen %string%.
# Fuzzy
cli.freecol-data=sete FreeColes ȝeƿitnesse EALLȜETÆL (hafaþ undereallȝetæl þe hāteþ "images")
cli.font=sete ǣr ȝeseted stæfcynd
@@ -321,7 +339,7 @@
cli.timeout=rīm ēaȝbeartma þā þe se þeȝntōl abītt andsƿære ascunȝe
cli.version=ēoƿa þæt forþsendnesse rīm and ȝā ūt
cli.windowed=drīf FreeCol mid ȝestefnodum ȝecynde on stede fullīce bescīetedes ȝecyndes
-gameOptions.name=Ȝamenes cēosunȝa
+gameOptions.name=Ȝamenes cyras
gameOptions.shortDescription=Ȝamenes cēosunȝa
gameOptions.map.name=Lanscēte
gameOptions.map.shortDescription=Cēosunȝa tō þǣm landscētbrede.
@@ -347,8 +365,8 @@
model.option.startingPositions.classic=Ealdlīc
model.option.startingPositions.random=Hlētlīc
model.option.startingPositions.historical=Ȝeƿyrdelīc
-gameOptions.colony.name=Landbūnesse cēosunȝa
-gameOptions.colony.shortDescription=Befēhþ cēosunȝa ȝesibb þǣm ȝebǣre landbūnesse.
+gameOptions.colony.name=Landbūnesse cyras
+gameOptions.colony.shortDescription=Befēhþ cyras be þǣm ȝebǣre landbūnessa.
model.option.customIgnoreBoycott.name=Cēapsceamul ȝǣþ forþ lēas cēapforbyrda
model.option.customIgnoreBoycott.shortDescription=Cēapsceamul cann cīepan ƿara under cēapforbyrde.
model.option.expertsHaveConnections.name=Cræftmenn habbaþ staðolas
@@ -360,12 +378,12 @@
gameOptions.victoryConditions.name=Sīges þearfa
gameOptions.victoryConditions.shortDescription=Setetnessa tō cēosenne hū mann nime siȝe on ȝamene.
model.option.victoryDefeatREF.name=Ǣrost pleȝend þe ƿealdeþ selfne
-model.option.victoryDefeatREF.shortDescription=Se ǣrosta mennisca pleȝend se þe oferdrīfþ þone Cynefandunȝhere nimþ siȝe on pleȝan.
+model.option.victoryDefeatREF.shortDescription=Se forma mennisca pleȝend se þe oferdrīfe þone Cyneaspyrȝunȝhere ȝeƿinne þone pleȝan.
model.option.victoryDefeatEuropeans.name=Ealle ōðere Europisce pleȝendas oferƿunnen
model.option.victoryDefeatEuropeans.shortDescription=Ǣniȝ pleȝend þe oferƿinnþ ealle ōðere Europisce pleȝendas nimþ siȝe on þǣm ȝamene.
model.option.victoryDefeatHumans.name=Ealle ōðere mennisce pleȝendas oferƿunnen
model.option.victoryDefeatHumans.shortDescription=Ǣniȝ pleȝend þe oferƿinnþ ealle ōðere mennisce pleȝendas nimþ siȝe on þǣm ȝamene.
-gameOptions.years.name=Ȝēares cēosunȝa
+gameOptions.years.name=Ȝēares cyras
gameOptions.years.shortDescription=Hæfþ cēosunȝa þā sind ȝesibba missenlīcum ānlīcum ȝēarum.
model.option.startingYear.name=Forme ȝēar
model.option.startingYear.shortDescription=Þæt ȝēar on þǣm þe se pleȝa beȝinþ.
@@ -377,6 +395,8 @@
model.option.lastYear.shortDescription=Þæt æftermeste ȝēar þæs pleȝan.
model.option.lastColonialYear.name=Æftermest landbūness pleȝȝēar
model.option.lastColonialYear.shortDescription=Þæt æftermeste ȝēar þæs pleȝan for landbūnesspleȝende.
+gameOptions.prices.name=Forman cēapȝyldas
+model.option.food.minimumPrice.name=Læst forma cēapȝyld ǣtes þe sīe meahtlīc
model.option.startingMoney.name=Onȝinnunȝe sceatt
model.option.startingMoney.shortDescription=Þæt andefen sceattes mid þǣm þū beȝinnst þæt ȝamen.
model.option.crossesIncrement.name=Rōda ēacniaþ
@@ -433,7 +453,7 @@
model.option.buildOnNativeLand.firstAndUncontacted.shortDescription=Þīn ǣroste landbūnesse cann ƿesan timbron on inlendiscum lande ȝif þæt āȝende folc næbbe ȝeƿorden hniȝen.
model.option.buildOnNativeLand.never.name=Nā
model.option.buildOnNativeLand.never.shortDescription=Þǣr nis lēaf tō timbrienne on inlendiscum lande.
-model.option.expertStartingUnits.name=Andƿīs beȝinnendu ƿiht
+model.option.expertStartingUnits.name=Andƿīsa ƿihta þe mann ǣrest hæbbe
model.option.expertStartingUnits.shortDescription=Maca eall beȝinnendu ƿiht sƿā andƿīs.
model.option.unitsThatUseNoBells.name=Landbūendas þā ne brūcaþ bella.
model.option.unitsThatUseNoBells.shortDescription=Þæt rīm landbūnessa on landbūnesse þā þe ne brūcaþ nǣnȝa bella.
@@ -445,7 +465,7 @@
model.option.treasureTransportFee.shortDescription=Þæt dǣl hordes þætte þæt cynecynn hielt ƿiþ þā oferferunȝe his.
model.option.teleportREF.name=Teleport REF
model.option.teleportREF.shortDescription=REF ætēoƿaþ be þǣre ȝelīhtunȝstōƿe for his forman ende.
-model.option.shipTradePenalty.name=Scipfeohƿendunȝe ȝeafol
+model.option.shipTradePenalty.name=Scipmanȝunȝe ȝeafol
model.option.shipTradePenalty.shortDescription=Ȝeafol on hunttēontiȝoðum dǣlum þāra cēapȝylda þā þā inlendiscan hātaþ cēapscipum.
model.option.refSize.name=Micelness þæs cynefandunȝheres
model.option.refSize.shortDescription=Rīm and cynn ƿihta on þǣm þe se cynefandunȝhere stent.
@@ -461,7 +481,7 @@
veryHigh.name=Sƿīðe ȝrēat
model.difficulty.veryEasy=Sƿīðe ēaðe
model.difficulty.easy=Ēaðē
-model.difficulty.medium=Ȝeƿunelic
+model.difficulty.medium=Ȝeƿunelīċ
model.difficulty.hard=Earfoþ
model.difficulty.veryHard=Sƿīðe earfoþ
model.difficulty.custom=Ȝecoren
@@ -546,7 +566,7 @@
model.option.guiShowSonsOfLiberty.shortDescription=Amearcaþ swā tō ēoƿie Suna Frēodōmes ǣrendȝeƿritu be þǣm onȝinne ǣlces stæpes sƿā ne.
model.option.guiShowGovernmentEfficiency.name=Ȝeƿealdes ƿelƿeorces ǣrendȝeƿritu
model.option.guiShowGovernmentEfficiency.shortDescription=Amearcaþ swā ēoƿie ȝeƿealdes ƿelƿeorces ǣrendȝeƿritu be þǣm onȝinne ǣlces stæpes sƿā ne.
-model.option.guiShowWarehouseCapacity.name=Hordernes mǣþ ǣrendȝeƿritu
+model.option.guiShowWarehouseCapacity.name=Hordernes mǣþe ǣrendȝeƿritu
model.option.guiShowWarehouseCapacity.shortDescription=Amearcaþ sƿā ēoƿie hordernes mǣðe ǣrendȝeƿritu be þǣm onȝinne ǣlces stæpes sƿā ne.
model.option.guiShowUnitImproved.name=Ƿihta betrunȝe ǣrendȝeƿritu
model.option.guiShowUnitImproved.shortDescription=Amearcaþ sƿā ēoƿie ƿihta betrunȝe ǣrendȝeƿritu be þǣm onȝinne ǣlces stæpes sƿā ne.
@@ -603,8 +623,8 @@
clientOptions.savegames.showSavegameSettings.multiplayer=Synderlīce maniȝpleȝendbǣr hordod ȝamen
clientOptions.savegames.showSavegameSettings.always=Ā
clientOptions.savegames.autosave.fileprefix=Horda selflīce
-clientOptions.savegames.autosave.lastturn=ǣr stæpe
-clientOptions.savegames.autosave.beforelastturn=tūƿa ǣr stæpe
+clientOptions.savegames.autosave.lastturn=ǣrra stæpe
+clientOptions.savegames.autosave.beforelastturn=tūƿa ǣrra stæpe
model.option.autosavePeriod.name=Horda selflīce æfter ǣlcum x stapa:
model.option.autosavePeriod.shortDescription=Sēo tīd þe ȝelimpþ betƿeox selflicum hordunȝum þisses ȝamenes. Se cǣȝ 0 cann þis ȝelemian.
model.option.autosaveGenerations.name=Heald ȝīet x selflīce hordod ȝeƿithord:
@@ -705,7 +725,7 @@
model.settlement.aztec.name=Asteca Burȝ
model.settlement.aztec.plural=byriȝ
model.settlement.aztec.capital.name=Asteca Burȝ
-event.firstLanding=Forme belandunȝ on %name%!
+event.firstLanding=Forme ȝelandunȝ on %name%!
event.meetingNatives=Mētende þā inlendiscan...
event.meetingEuropeans=Mētende ōðre Europisce.
event.meetingAztec=Sēo Astecƿaru...
@@ -724,7 +744,7 @@
sellProposition.nothing=Nāƿiht
sellProposition.cancel=Onƿend
trade.nothingToSell=Hīȝ lā, ƿē nabbaþ nāƿiht tō cīepenne hēr nū!
-trade.noTrade=Cēap ne ȝelamp.
+trade.noTrade=Se cēap ne ȝelamp.
buy.text=Sēo %nation%þēod wile cīepan heora %goods%ƿara ƿiþ %gold%:
buy.takeOffer=Andfōh þā bēodunȝe
buy.moreGold=Ābidd læssan cēapȝyldes
@@ -744,7 +764,7 @@
declareIndependence.enterCountry=Hēræfter, ūre land biþ ȝecūþ sƿā
declareIndependence.enterNation=and ǣlc burȝmann on ūrum þrymfæstan lande biþ ƿlanc tō ƿesenne ȝecūþ sƿā
declareIndependence.announce=Þā landbūnessa of %oldNation% habbaþ aboden selfƿeald fram %ruler% and sind nū ȝecūþ sƿā þā %newNation%.
-indianLand.text=Þis land is āht fram þǣm %player%. Ƿilt þū:
+indianLand.text=Þis land lōcaþ tō %player%. Ƿilt þū:
indianLand.pay=Abēod %amount% ȝoldes ƿiþ þæt land
indianLand.take=Nim þæt is rihtlīce ūre
indianLand.cancel=Forlǣt þæt land
@@ -841,7 +861,7 @@
nameColony.notUnique=Þū ǣr nū hafast landbūnesse þe hāteþ %name%!
renameColony.text=Bidde þē tō ȝieldenne nīƿne naman tō ūrre nīƿan landbūnesse:
renameColony.yes=Nemne eft
-renameColony.no=Onƿende
+renameColony.no=Onƿend
renameUnit.text=Bidde þē tō ȝieldenne nīƿne naman tō ūrum ƿihte:
renameUnit.yes=Nemne eft
renameUnit.no=Onƿende
@@ -851,7 +871,7 @@
defeated.text=Þū hafast ȝeƿorden oferdrifen! Ƿilt þū:
defeated.yes=Abīdan and ƿæccan
defeated.no=Faran
-victory.text=Þū hafast siȝe!
+victory.text=Þū hafast ȝeƿunnen!
victory.yes=Afar
victory.continue=Pleȝ ȝīet lenȝer
victory.noEuropeans=Se sīȝeȝrund tō oferƿinnenne ealle ōðre Europisce is fulfyled. Oþþe lǣt inlǣd ōðre Europisce þēode, oþþe ēacna mid mā sīȝeȝrunda.
@@ -1102,7 +1122,7 @@
model.ability.electFoundingFather.shortDescription=Þēos þēod cann staðoliende fæderas cēosan.
model.ability.canRecruitUnit.name=Ȝædera ƿiht
model.ability.canRecruitUnit.shortDescription=Þēos þēod cann ƿiht ȝæderian.
-model.ability.royalExpeditionaryForce.name=Cynefandunȝhere
+model.ability.royalExpeditionaryForce.name=Cyneaspyrȝunȝhere
model.ability.royalExpeditionaryForce.shortDescription=Þēos þēod is cynefanduȝhere.
model.ability.ambushPenalty.name=Besǣtunȝe oferhȳrness
model.ability.ambushPenalty.shortDescription=Þēos þēod adrīehþ besǣtunȝoferhȳrnesse.
@@ -1134,7 +1154,7 @@
model.ability.produceInWater.shortDescription=Ƿiht cunnon brūcan ƿæterstedas and ēac landstedas.
model.ability.repairUnits.name=Bēt ƿiht
model.ability.repairUnits.shortDescription=Cann bētan sumu ȝecynd derodra ƿihta.
-model.ability.export.name=Āber ƿara
+model.ability.export.name=Āber cēapas
model.ability.export.shortDescription=Cann āberan ƿara tō Europe rihte.
model.ability.dressMissionary.name=Scrȳd bodan
model.ability.dressMissionary.shortDescription=Āƿend ƿiht tō (uncræftiȝum) bodan.
@@ -1155,7 +1175,7 @@
model.modifier.warehouseStorage.name=Hordernes hordunȝ
model.modifier.warehouseStorage.shortDescription=Hordernes hordunȝ
model.modifier.warehouseStorage.description=Hordernes hordunȝ
-model.modifier.minimumColonySize.name=Lǣst landbūnesse micelness
+model.modifier.minimumColonySize.name=Læst landbūnesse micelness þe sīe meahtlīc
model.modifier.minimumColonySize.shortDescription=Lǣst landbūnesse micelness
model.modifier.breedingDivisor.name=Micelness flocca
model.modifier.breedingDivisor.shortDescription=Sēo micelness ānes flocces. Missenlīce floccas cunnon andƿearde ƿesan.
@@ -1165,7 +1185,7 @@
model.modifier.consumeOnlySurplusProduction.shortDescription=Brȳcþ synderlīce dǣl þæs oferēacan forþbǣro, nā hordoda ƿara.
model.modifier.offenceAgainst.name=Abylȝness ƿiþ
model.modifier.offenceAgainst.shortDescription=Bēteþ þā ƿēne þæt þū oferƿinne þǣr þū onrǣse.
-model.colony.colonistStarved=Landbūend hafaþ þurh hunȝor on þǣre %colony%landbūnesse ȝecƿolen!
+model.colony.colonistStarved=Landsǣta hafaþ þurh hunȝor on þǣre %colony%landbūnesse ȝecƿolen!
model.colony.colonyStarved=Se æftermesta landbūend on %colony% hæfþ þurh hunȝor ȝecƿolen, and sēo landbūness is nū ǣmettiȝ.
model.colony.famineFeared=Mann drǣt hunȝorȝēar on %colony%. Synderlīce %number% dǣla fōdan ȝīet bīdaþ.
model.colony.buildNeedPop=Ƿē ne cunnon timbrian %building% on %colony%! Ƿē þurfon māran lēodrǣdnesse.
@@ -1191,7 +1211,7 @@
model.unit.indianSurprise=Sēo %nation%þēod macaþ undersmȳhþ %colony% landbūnesse, þe eȝsaþ ūre landbūendas. Þǣre %nation%þēode hēafodmann sæȝþ þætte hēo ne dyde hit.
model.unit.colonyCaptured=Þū hafast andfanȝen %colony%. %amount% ȝyldenra clūta ƿǣron besyrod!
model.unit.colonyCapturedBy=Se %player% hafaþ andfōn %colony%. %amount% ȝyldenra clūta ƿǣron besyrod!
-model.unit.colonyBurning=Sēo landbūness of %colony% hafaþ ȝeƿorden fullīce brunnen be %nation% %unit%; %amount% ȝyldenra clūta ƿǣron besyrod!
+model.unit.colonyBurning=Sēo %colony% landbūness ƿæs fullīce brunnen be %nation% %unit%; %amount% ȝyldenra clūta ƿǣron besyrod!
model.unit.colonyBurning.other=Þǣre %nation%þēode landbūnesse of %colony% hafaþ ȝeƿorden fullīce ȝebrunnen be þǣre %attackerNation%þēode!
model.unit.unitPromoted=Þǣre %nation%þēode %oldName% hafaþ ȝeƿorden ȝeƿenden tō %unit%ƿihte.
model.unit.unitEducated=On %colony%landbūnesse, %oldName%ƿiht hafaþ ȝeƿorden %unit%ƿiht þurh lāre.
@@ -1260,6 +1280,9 @@
model.player.independence.unitsAcquired=Þās Cynefandunȝheres ƿiht habbaþ ȝeseald hīe tō þīnum siȝeƿihtum: %units%
model.player.continentalArmyMuster=Tō aƿreðienne þīne ȝesƿutelunȝe selfƿealdes, %number% {{plural:%number%|%oldUnit%ƿihta}} on %colony%landbūnesse {{plural:%number%|one=ƿæs|other=ƿǣron}} ȝesetta tō {{plural:%number%|%unit%ƿihta}}!
model.event.declareIndependence.name=Cȳþ selfƿeald
+model.disaster.tornado.name=Þoden
+model.disaster.disease.name=Ādl
+model.disaster.hurricane.name=ȝestun
model.stance.war=Ƿīȝ
model.stance.peace=Friþ
model.stance.cease_fire=Ne scēot mā
@@ -1281,6 +1304,7 @@
# Fuzzy
model.monarch.action.ADD_TO_REF=Se Cynescipe hafaþ ȝeīht þone Cynefandunȝhere mid %additon%ƿihte. Landbūnesslādmenn ȝecȳðaþ ƿærlīcnesse.
model.monarch.action.ADD_TO_REF.no=Fulfremed
+model.monarch.action.DECLARE_PEACE.no=Fulfyled lā
model.monarch.action.DECLARE_WAR=Sēo ƿlencu %nation%þēode fornȳdeþ ūs tō farenne on herȝoðe ƿiþ hīe!
model.monarch.action.DECLARE_WAR.no=Fulfremed
model.monarch.action.SUPPORT_LAND=Tō aƿreðienne þec on þīnum landbūnessƿīȝum hafaþ þæt cynecynn ȝecoren tō ȝiefenne þē sume ȝlēaƿe rincas (%addition%).
@@ -1333,7 +1357,7 @@
model.tile.borealForest.name=Norðanƿeald
model.tile.arctic.name=Īsceald land
model.tile.ocean.name=Ȝārsecȝ
-model.tile.lake.name=Laȝu
+model.tile.lake.name=Lacu
model.tile.highSeas.name=Hēahsǣ
model.tile.hills.name=Hyllas
model.tile.mountains.name=Beorȝas
@@ -1492,7 +1516,8 @@
model.unit.soldier.name=Rinc (%unit%ƿiht)
model.unit.dragoon.name=Horsrinc (%unit%ƿiht)
model.unit.missionary.name=Boda (%unit%ƿiht)
-model.unit.role.scout=Scēaƿere
+model.unit.role.default=Nǣniȝ
+model.unit.role.scout=Fōreƿeard
model.unit.role.pioneer=Forþȝanȝend
model.unit.role.soldier=Rinc
model.unit.role.dragoon=Horsrinc
@@ -1500,12 +1525,13 @@
model.unit.unarmed.name=Unƿǣpned
model.unit.armed.name=Ƿǣpned
model.unit.mounted.name=Horsrīdende
+model.unit.changeWork=Ƿend ƿeorc
model.unit.workingAs=Ƿyrcende sƿā
model.unit.expertFarmer.workingAs=Eorþlinȝ
model.unit.expertFisherman.workingAs=Fiscere
-model.unit.expertFurTrapper.workingAs=Fellfōnd
+model.unit.expertFurTrapper.workingAs=Fellhunta
model.unit.expertSilverMiner.workingAs=Seolfordelfend
-model.unit.expertLumberJack.workingAs=Holtfyllend
+model.unit.expertLumberJack.workingAs=Ƿudumann
model.unit.expertOreMiner.workingAs=Ārdelfend
model.unit.masterSugarPlanter.workingAs=Sƿētelsettend
model.unit.masterCottonPlanter.workingAs=Bēamƿolsettend
@@ -1519,7 +1545,7 @@
model.unit.masterFurTrader.workingAs=Fellcīepend
model.unit.masterBlacksmith.workingAs=Īsensmiþ
model.unit.masterGunsmith.workingAs=Scēotendsearƿa smiþ
-model.unit.seasonedScout.workingAs=Scēaƿere
+model.unit.seasonedScout.workingAs=Fōreƿeard
model.unit.hardyPioneer.workingAs=Forþȝanȝend
model.unit.veteranSoldier.workingAs=Rinc
model.unit.jesuitMissionary.workingAs=Ȝodspellere
@@ -2126,3 +2152,4 @@
installer.FreeColLanguage.autodetect=Find selflīce be pleȝan onȝinne
installer.FreeColLanguage.description=Þū mōst hēræfter ƿendan þās ȝesetednessa þurh þā nytte þæs forþberunȝa ȝetæles on þǣm pleȝan.
installer.UserFiles=Ic bidde þē þā stōƿe for brūcendānlīcum ȝesetednessum and pleȝhord:
+installer.UserFiles.home=Þæs brūcendes hāmeallȝetæl
Modified: freecol/trunk/data/strings/FreeColMessages_ar.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_ar.properties 2013-01-27 19:45:49 UTC (rev 10467)
+++ freecol/trunk/data/strings/FreeColMessages_ar.properties 2013-02-10 19:24:29 UTC (rev 10468)
@@ -6,6 +6,7 @@
# Author: Imksa
# Author: Meno25
# Author: OsamaK
+# Author: Tarawneh
# Author: زكريا
freecol.desktopEntry.GenericName=لعبة استراتيجية
@@ -30,6 +31,7 @@
false=خطأ
more=المزيد...
none=لا شيء
+many=العديد
nothing=لا شيء
all=جميع
notApplicable.short=غير مطبق
@@ -127,6 +129,8 @@
colonyPanel.populationTooSmall=التعداد السكاني %number%
colonyPanel.units=وحدات
colonyPanel.buildings=مباني
+colonyPanel.colonyUnits=وحدات المستعمرة
+outsideOfColony.name=خارج المستعمرة
turns=يدور
turnsToComplete.short=(أدوار: %number%)
turnsToComplete.long=(الأدوار للاكتمال: %number%)
@@ -180,6 +184,7 @@
tension.displeased=غير راض
tension.angry=غاضب
tension.hateful=مفعم بالكراهية
+tension.unknown=مجهول
tension=توتر
noSuchFile=الملف المحدد غير موجود أو ليس ملفا عاديا.
gotoThisTile=اذهب إلى هذه التلة
@@ -191,7 +196,13 @@
filter.gameOptions=خيارات لعبة فري كول (*.fgo)
filter.gameOptionsAndSavedGames=خيارات لعبة فري كول وألعاب فري كول المحفوظة (*.fgo and *.fsg)
filter.xml=XML (لغة التوصيف الموسعة).
+freecol.map.Africa=أفريقيا
+freecol.map.Australia=أستراليا
+freecol.map.America_large=أمريكيا (ضخم)
+freecol.map.Caribbean_basin=الحوض الكاريبي
underRepair=قيد الإصلاح (%turns% {{جمع:%turns%|one = turn|other = يتحول}} الأيسر)
+EventPanel.DISCOVER_PACIFIC=أنت تستكشف المحيط الهادي.
+EventPanel.FIRST_LANDING=الرسو الأول في العالم الجديد
EventPanel.MEETING_EUROPEANS=تقابل زملاء أوروبيين. سيتنافسون معك على الأرض والثروات، وربما يعلنون الحرب ضدك. لكن بعد أن ينضم جان دي ويت إلى الكونجرس القاري، يمكنك أن تتاجر معهم.
EventPanel.MEETING_NATIVES=تقابل السكان الأصليين. أرسل كشافتك إلى مستوطناتهم لمعرفة المزيد حولهم، وخدامك ومستعمريك الأحرار للتعلم منهم. أرسل سفنك وقطاراتك لمستوطناتهم إذا كنت ترغب في التجارة معهم.
EventPanel.MEETING_AZTEC=تقابل أمة الأزتك.
@@ -232,6 +243,7 @@
menuBar.debug.addImmigration=أضف هجرة
menuBar.debug.addLiberty=إضافة الحرية لكل مستعمرة
menuBar.debug.stepRandomNumberGenerator=خطوة مولد الأرقام العشوائي
+menuBar.debug.displayUnits=أظهر الوحدات
menuBar.debug.randomValue=قيمة الرقم المولد عشوائيا: %value%
menuBar.debug.displayPanels=اعرض اللوحات
menuBar.debug.displayMonarchPanel=أظهر لوحة العاهل
@@ -341,6 +353,8 @@
model.option.explorationPoints.shortDescription=هل ينبغي أن يتم منح نقاط الاستكشاف لكل الاكتشافات؟
model.option.turnsToSail.shortDescription=عدد الدورات التي المطلوبة للإبحار من أوروبا إلى العالم الجديد.
model.option.amphibiousMoves.name=التحركات البرمائية
+model.option.emptyTraders.name=وحدات تجارية خاوية
+model.option.emptyTraders.shortDescription=إسمح للوحدات التجارية الخاوية بالتبادل التجاري مع السكان الاصليين
model.option.startingPositions.classic=كلاسيكي
model.option.startingPositions.random=عشوائي
model.option.startingPositions.historical=تاريخي
@@ -363,8 +377,34 @@
model.option.victoryDefeatHumans.shortDescription=أي لاعب يهزم كل اللاعبين البشر الآخرين يكسب اللعبة.
gameOptions.years.name=خيارات السنة
model.option.startingYear.name=سنة البدء
+model.option.startingYear.shortDescription=العام الذي تبدأ به اللعبة.
model.option.seasonYear.name=موسم السنة
model.option.mandatoryColonyYear.name=سنة مستعمرة إلزامية
+gameOptions.prices.name=الأسعار المبدئية
+gameOptions.prices.shortDescription=مدى الاسعار المبدئية لبضائع مختلفة.
+model.option.food.minimumPrice.name=الحد الأدنى للسعر المبدئي للطعام
+model.option.food.maximumPrice.name=الحد الأعلى للسعر المبدئي للطعام
+model.option.food.spread.name=فرق سعري شراء و بيع الطعام
+model.option.sugar.minimumPrice.name=الحد الأدنى للسعر المبدئي للسكر
+model.option.sugar.maximumPrice.name=الحد الأعلى للسعر المبدئي للسكر
+model.option.sugar.spread.name=فرق سعري شراء و بيع السكر
+model.option.tobacco.minimumPrice.name=الحد الأدنى للسعر المبدئي للتبغ
+model.option.tobacco.maximumPrice.name=الحد الأعلى للسعر المبدئي للتبغ
+model.option.tobacco.spread.name=فرق سعري شراء و بيع التبغ
+model.option.cotton.minimumPrice.name=الحد الأدنى للسعر المبدئي للقطن
+model.option.cotton.maximumPrice.name=الحد الأعلى للسعر المبدئي للقطن
+model.option.cotton.spread.name=فرق سعري شراء و بيع القطن
+model.option.furs.minimumPrice.name=الحد الأدنى للسعر المبدئي للفراء
+model.option.furs.maximumPrice.name=الحد الأعلى للسعر المبدئي للفراء
+model.option.furs.spread.name=فرق سعري شراء و بيع الفراء
+model.option.lumber.minimumPrice.name=الحد الأدنى للسعر المبدئي للخشب المنشور
+model.option.lumber.maximumPrice.name=الحد الأعلى للسعر المبدئي للخشب المنشور
+model.option.lumber.spread.name=فرق سعري شراء و بيع الخشب المنشور
+model.option.ore.minimumPrice.name=الحد الأدنى للسعر المبدئي للمواد الخام
+model.option.ore.maximumPrice.name=الحد الأعلى للسعر المبدئي للمواد الخام
+model.option.ore.spread.name=فرق سعري شراء و بيع المواد الخام
+model.option.horses.minimumPrice.name=الحد الأدنى للسعر المبدئي للجياد
+model.option.horses.maximumPrice.name=الحد الأعلى للسعر المبدئي للجياد
model.option.startingMoney.name=نقود البدء
model.option.badGovernmentLimit.name=حد حكومة سيء
model.option.taxAdjustment.name=تعديل الضريبة
Modified: freecol/trunk/data/strings/FreeColMessages_hu.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_hu.properties 2013-01-27 19:45:49 UTC (rev 10467)
+++ freecol/trunk/data/strings/FreeColMessages_hu.properties 2013-02-10 19:24:29 UTC (rev 10468)
@@ -334,6 +334,7 @@
cli.no-intro=intro átugrása
cli.no-sound=a FreeCol futtatása hangok nélkül
cli.private=magánkiszolgáló indítása (a metakiszolgálón nem lesz közzétéve)
+cli.seed=Egy alapszám (SEED) megadása a ál-véletlenszám generátornak.
cli.server-name=NAME név megadása a kiszolgálónak
cli.server=önálló kiszolgáló indítása a megadott porton
cli.splash=a játék betöltése közben kép megjelenítése a FILE állományból
@@ -356,6 +357,8 @@
model.option.emptyTraders.shortDescription=Lehetővé teszi az üres kereskedelmi egységek kereskedelmét az indián településekkel.
model.option.settlementActionsContactChief.name=Törzsfő kapcsolat
model.option.settlementActionsContactChief.shortDescription=Minden, a településsel kapcsolatos akció egyben találkozás a törzsfőnökkel és elfogyasztja felderítői bónuszt.
+model.option.enhancedMissionaries.name=Továbbfejlesztett misszionáriusok
+model.option.enhancedMissionaries.shortDescription=A misszionáriusok fejlesztik a település kereskedelmét, a tanított szakmákat, és láthatóvá teszik a környéket.
model.option.giftProbability.name=Ajándék esélye
model.option.demandProbability.name=Követelés valószínűsége
model.option.demandProbability.shortDescription=Annak a körönkénti százalékos esélye, hogy egy dühös indián település adót követel egy közeli zavaró európai településtől.
Modified: freecol/trunk/data/strings/FreeColMessages_ko.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_ko.properties 2013-01-27 19:45:49 UTC (rev 10467)
+++ freecol/trunk/data/strings/FreeColMessages_ko.properties 2013-02-10 19:24:29 UTC (rev 10468)
@@ -487,7 +487,7 @@
model.option.landGeneratorType.shortDescription=사용할 땅 생성기의 종류 설정 옵션.
model.option.distanceToHighSea.name=심해와의 거리
model.option.distanceToHighSea.shortDescription=해안과 외양 사이의 우선되는 거리
-model.option.riverNumber.name=강의 개수
+model.option.riverNumber.name=강의 수
model.option.riverNumber.shortDescription=생성된 지도에서 강의 개수를 설정하기위한 선택사항입니다.
model.option.mountainNumber.name=산의 개수
model.option.mountainNumber.shortDescription=생성된지도에 산의 개수를 설정하기위한 선택사항입니다.
Modified: freecol/trunk/data/strings/FreeColMessages_nb_NO.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_nb_NO.properties 2013-01-27 19:45:49 UTC (rev 10467)
+++ freecol/trunk/data/strings/FreeColMessages_nb_NO.properties 2013-02-10 19:24:29 UTC (rev 10468)
@@ -1,4 +1,4 @@
-# Messages for Norwegian Bokmål (norsk (bokmål))
+# Messages for Norwegian Bokmål (norsk bokmål)
# Exported from translatewiki.net
# Author: Harald Khan
# Author: Laaknor
Modified: freecol/trunk/data/strings/FreeColMessages_nn.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_nn.properties 2013-01-27 19:45:49 UTC (rev 10467)
+++ freecol/trunk/data/strings/FreeColMessages_nn.properties 2013-02-10 19:24:29 UTC (rev 10468)
@@ -1,4 +1,4 @@
-# Messages for Norwegian Nynorsk (norsk (nynorsk))
+# Messages for Norwegian Nynorsk (norsk nynorsk)
# Exported from translatewiki.net
# Author: Harald Khan
# Author: Nghtwlkr
Modified: freecol/trunk/data/strings/FreeColMessages_pl_PL.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_pl_PL.properties 2013-01-27 19:45:49 UTC (rev 10467)
+++ freecol/trunk/data/strings/FreeColMessages_pl_PL.properties 2013-02-10 19:24:29 UTC (rev 10468)
@@ -304,6 +304,8 @@
direction.NW=północny zachód
server.reject=Serwer nie może wykonać polecenia.
server.trade.noGoods=Nie można hadlować towarami, których nie ma.
+main.javaVersion=Wersja Java %minVersion% lub wyższa jest zalecana, aby uruchomić FreeCol\n( %version% wykryte, użyj --no-java-check aby pominąć sprawdzanie wersji).
+main.memory=Musisz przydzielić więcej niż %memory% bajtów pamięci dla JVM. Uruchom ponownie FreeCol z parametrem: java -Xmx%minMemory%M -jar FreeCol.jar
cli.arg.clientOptions=USTAWIENIA
cli.arg.debuglevel=LICZBA
cli.arg.debugRun=Tury[,SAVENAME]
@@ -328,8 +330,9 @@
cli.error.home.notExists=Katalog docelowy %string% nie istnieje.
cli.error.home.noRead=Nie można odczytać %string%.
cli.error.home.noWrite=Nie można zapisać na %string%.
-# Fuzzy
-cli.freecol-data=ustaw KATALOG z danymi FreeCol (posiada podkatalog „images”)
+cli.error.save=Nie można odczytać zapisanej gry %string% .
+cli.error.timeout=\n%string%jest zbyt krótki (mniej niż %minimum% )
+cli.freecol-data=ustaw KATALOG z danymi FreeCol (posiada podkatalog 'base')
cli.font=ustaw domyślną czcionkę
cli.help=wyświetl ten ekran pomocy
cli.home-directory=ustaw KATALOG domowy FreeCol (domyślnie: domowy użytkownika)
@@ -1259,6 +1262,7 @@
sentryUnit=Czuwaj
clearUnitOrders=Cofnij rozkaz
leaveTown=Opuść osadę
+board=Załaduj na pokład %unit%
clearSpeciality=Wyczyść zawód
clearSpeciality.areYouSure=Czy jesteś pewien, że chcesz zdegradować %oldUnit% do %unit%?
clearSpeciality.impossible=%unit% nie może zostać zdegradowany!
Modified: freecol/trunk/data/strings/FreeColMessages_pt_BR.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_pt_BR.properties 2013-01-27 19:45:49 UTC (rev 10467)
+++ freecol/trunk/data/strings/FreeColMessages_pt_BR.properties 2013-02-10 19:24:29 UTC (rev 10468)
@@ -8,6 +8,7 @@
# Author: Everton137
# Author: GKnedo
# Author: Giro720
+# Author: Jesielt
# Author: Kaao
# Author: Luckas Blade
# Author: ManoDbo
@@ -61,8 +62,8 @@
integerAboveZero=Por favor use um número inteiro maior que zero.
newLanguageSelected=Idioma definido como %language%. Você precisará reiniciar o jogo para que as alterações tenham efeito.
autodetectLanguageSelected=Você escolheu a seleção automática de idioma. Ela entrará em vigor após a reinicialização do jogo.
-singlePlayerGame=Iniciar um jogo solo
-joinMultiPlayerGame=Se juntar a um jogo em rede
+singlePlayerGame=Partida individual
+joinMultiPlayerGame=Juntar-se a um jogo em rede
startMultiplayerGame=Iniciar um jogo em rede
name=Nome
host=Servidor
@@ -155,7 +156,7 @@
autumn=Outono
year.SPRING=Primavera de %year%
year.AUTUMN=Outono de %year%
-warOfIndependence.independenceDeclared=Neste Dia, o Congresso aprovou a mais importante Resolução já aprovada na América.\n\nEstou bem ciente do Trabalho e Sangue e Tesouro que Nos irá custar manter esta Declaração, e suportar e defender estes Estados. No entanto, através de toda a Escuridão, posso vislumbrar os Raios de deslumbrante Luz e Glória. Consigo ver que o Fim mais do que justifica todos os Meios. E que a Posteridade triunfará naquela Transação de Dias, mesmo apesar de podermos arrepender-nos, o que, confio em Deus, não acontecerá.\n\nEm breve, a Força Expedicionária Real estará sobre nós. Preparai as nossas defesas enquanto angariamos voluntários para um novo Exército Continental.
+warOfIndependence.independenceDeclared=Neste dia, o Congresso aprovou a mais importante resolução já aprovada na América.\n\nEstou bem ciente do trabalho, sangue e tesouro que vai nos custar manter esta Declaração e apoiar e defender estes Estados. No entanto, através de toda a escuridão, posso vislumbrar os raios de deslumbrante Luz e Glória. Consigo ver que o fim mais do que justifica todos os meios, e que a Posteridade triunfará naquela transação de dias, embora possamos nos arrepender, o que, confio em Deus, não acontecerá.\n\nEm breve, a Força Expedicionária Real estará sobre nós. Prepare as nossas defesas enquanto angariamos voluntários para um novo Exército Continental.
purchaseDialog.clickOn=Clique nos itens seguintes para comprá-los.
recruitDialog.clickOn=Clique em um dos seguintes indivíduos para recrutá-lo. Você terá que pagar %money% moedas de ouro para sua passagem. Ele será capaz de pagar sua própria passagem em %number% turnos.
trainDialog.clickOn=Clique em um dos indivíduos seguintes para treiná-lo
@@ -173,6 +174,7 @@
tradeItem.unit=Unidade
negotiationDialog.offer=Os %nation% oferecerem
negotiationDialog.demand=Os %nation% exigem
+negotiationDialog.exchange=em troca por
negotiationDialog.summary=O Povo %nation% oferece %offers% em troca de %demands%.
negotiationDialog.accept=Aceitar
negotiationDialog.cancel=Rejeitar
@@ -256,13 +258,17 @@
menuBar.debug.displayVictoryPanel=Mostrar o painel de Vitória
menuBar.debug.displayEuropeStatus=Mostrar a situação da Europa
menuBar.debug.displayErrorMessage=Mostrar mensagem de erro
+menuBar.debug.useAI=Usar AI
menuBar.debug.revealEntireMap=Revelar mapa inteiro
+menuBar.debug.hideEntireMap=Esconder o mapa inteiro
menuBar.debug.compareMaps=Procurar desincronização no mapa.
menuBar.debug.compareMaps.checkComplete=Busca completa. Desincronização não encontrada.
menuBar.debug.compareMaps.problem=Provável problema descoberto. Leia as informações para entender o erro.
menuBar.debug.statistics=Estatísticas
menuBar.debug.memoryManager=Gestor de Memória
+menuBar.debug.memoryManager.freeMemory=Livre
menuBar.debug.memoryManager.totalMemory=Total
+menuBar.debug.memoryManager.maxMemory=Máx
menuBar.debug.memoryManager.gc=Executar limpeza de memória
menuBar.report=Relatórios
menuBar.statusLine=Pontos: %score% | Ouro: %gold% | Imposto: %tax%% | Ano: %year%
@@ -301,7 +307,10 @@
server.reject=O servidor não pode fazer isso.
server.trade.noGoods=Você não pode trocar bens que não estão presentes.
main.javaVersion=É recomendada a versão do Java %minVersion% ou mais recente para executar o Freecol (%version% detetada, use --no-java-check para verificar).
+main.memory=É necessário atribuir mais de %memory% bytes de memória para a JVM.\n Reinicie o FreeCol com: java - Xmx %minMemory% M-jar FreeCol.jar
+cli.arg.clientOptions=ARQUIVO DE OPÇÕES
cli.arg.debuglevel=NÚMERO
+cli.arg.debugRun=TURNOS[,NOMEGRAVADO]
cli.arg.dimensions=LARGURAxALTURA
cli.arg.directory=DIRETÓRIO
cli.arg.file=ARQUIVO
@@ -309,15 +318,22 @@
cli.arg.loglevel=NIVELDOREGISTRO
cli.arg.name=NOME
cli.arg.port=PORTA
+cli.arg.seed=SEMENTE
+cli.arg.timeout=TEMPO LIMITE
cli.check-savegame=checa o corrompimento do jogo salvo
cli.check-savegame.success=A verificação de consistência terminou, verifique o log para maiores detalhes.
cli.check-savegame.failure=A verificação de consistência falhou, verifique o log para maiores detalhes.
+cli.clientOptions=Arquivo XML que contém as opções de utilizador do cliente
cli.debug=depurar o FreeCol
+cli.debug-run=executar N turnos em modo de debug, depois, opcionalmente, gravar e sair
cli.default-locale=define a localidade padrão (LINGUA[_PAIS[_VARIANTE]])
+cli.error.clientOptions=Ignorando o arquivo ilegível de opções do cliente: %string%
cli.error.port=%string% não é um número de porta válido.
cli.error.home.notExists=Diretório %string% não existe.
cli.error.home.noRead=Impossível ler de %string%.
cli.error.home.noWrite=Impossível gravar em %string%.
+cli.error.save=Não foi possível ler o jogo salvo %string%.
+cli.error.timeout=%string%é muito pequeno (menos de %minimum%)
cli.freecol-data=define o DIRETÓRIO de dados do FreeCol (tem um subdiretório chamado 'base')
cli.font=definir a fonte padrão
cli.help=exibe esta tela de ajuda
@@ -331,10 +347,12 @@
cli.no-intro=pular a introdução
cli.no-sound=executa o FreeCol sem som
cli.private=inicia um servidor privado (não publicado no metaservidor)
+cli.seed=fornece uma SEMENTE para o gerador de números pseudo-aleatórios
cli.server-name=especifica um NOME personalizado para o servidor
cli.server=inicia um servidor stand-alone na porta especificada
cli.splash=exibe um ARQUIVO de imagem como tela inical enquanto carrega o jogo
cli.tc=carrega a "conversão total" com o NOME dado
+cli.timeout=número de segundos que o servidor espera por uma resposta à pergunta
cli.version=exibe o número de versão e encerra
cli.windowed=executa o FreeCol em modo janela, em vez de modo tela cheia
gameOptions.name=Opções de Jogo
@@ -348,10 +366,23 @@
model.option.turnsToSail.name=Turnos para navegar
model.option.turnsToSail.shortDescription=O número de turnos que leva navegar da Europa para o Novo Mundo.
model.option.amphibiousMoves.name=Movimentos amfíbios
+model.option.settlementActionsContactChief.name=Contacto com o chefe
+model.option.settlementActionsContactChief.shortDescription=Todas as interações com um acampamento nativo contactam o chefe e consomem o bônus de reconhecimento.
model.option.enhancedMissionaries.name=Missionários melhorados
model.option.enhancedMissionaries.shortDescription=Missões missionárias melhoram o comércio, habilidades ensinadas e dar visibilidade ao redor.
+model.option.giftProbability.name=Probabilidade de receber presente
+model.option.giftProbability.shortDescription=Porcentagem por turno de chance que uma assentamento nativo pacífico oferecê-lo excedentes de produção como um presente para um assentamento europeu amigável nas proximidades.
+model.option.demandProbability.name=Probabilidade de receber exigências
+model.option.demandProbability.shortDescription=Porcentagem por turno de chance que uma assentamento nativo com raiva vai exigir tributos para um assentamento europeu chato nas proximidades.
+model.option.continueFoundingFatherRecruitment.name=Continuar a recrutar Pais Fundadores
+model.option.continueFoundingFatherRecruitment.shortDescription=Continuar a recrutar Pais Fundadores após o reconhecimento da independência.
+model.option.settlementLimitModifier.name=Modificador de limite dos assentamentos.
+model.option.settlementLimitModifier.shortDescription=Adicionada uma quantidade limite, como o número de carroça-vagão construíveis.
model.option.startingPositions.name=Posições iniciais
+model.option.startingPositions.shortDescription=Determina as posições iniciais dos jogadores europeus.
+model.option.startingPositions.classic=Clássico
model.option.startingPositions.random=Aleatório
+model.option.startingPositions.historical=Histórico
gameOptions.colony.name=Opcões da Colônia
gameOptions.colony.shortDescription=Contém opções relacionadas ao comportamento das colônias.
model.option.customIgnoreBoycott.name=Casa de Comércio ignora boicote
@@ -362,6 +393,10 @@
model.option.saveProductionOverflow.shortDescription=Guarda o excedente de martelos, sinos e cruzes.
model.option.allowStudentSelection.name=Permitir seleção de estudantes
model.option.allowStudentSelection.shortDescription=Permite a atribuição de estudantes manual, em vez de automática
+model.option.enableUpkeep.name=Edifícios precisam de manutenção
+model.option.enableUpkeep.shortDescription=Pagar a manutenção dos edifícios ou sofrer uma penalização de produção.
+model.option.naturalDisasters.name=Desastres naturais
+model.option.naturalDisasters.shortDescription=Probabilidade de ocorrência de desastres naturais por turno.
gameOptions.victoryConditions.name=Condições de Vitória
gameOptions.victoryConditions.shortDescription=Ajustes para decidir como o jogo poderá ser vencido.
model.option.victoryDefeatREF.name=Primeiro jogador a ganhar a Independência
@@ -371,7 +406,17 @@
model.option.victoryDefeatHumans.name=Todos os outros jogadores humanos terem sido vencidos
model.option.victoryDefeatHumans.shortDescription=O jogador que derrotar os outros jogadores humanos vence o jogo.
gameOptions.years.name=Opções de ano
+gameOptions.years.shortDescription=Contém opções relacionadas a vários anos especiais.
model.option.startingYear.name=Ano de início
+model.option.startingYear.shortDescription=O ano em que o jogo começa.
+model.option.seasonYear.name=Ano das temporadas
+model.option.seasonYear.shortDescription=O primeiro ano em que há duas temporadas.
+model.option.lastYear.name=Último ano do jogo
+model.option.mandatoryColonyYear.name=Ano da colônia obrigatória
+model.option.mandatoryColonyYear.shortDescription=O ano no qual é obrigatório possuir uma colônia.
+model.option.lastYear.shortDescription=O último ano do jogo.
+model.option.lastColonialYear.name=Último ano colonial do jogo
+model.option.lastColonialYear.shortDescription=O último ano do jogo para um jogador colonial.
gameOptions.prices.name=Preços iniciais
gameOptions.prices.shortDescription=As faixas de preços iniciais de vários produtos.
model.option.food.minimumPrice.name=Preço inicial mínimo de comida
@@ -440,25 +485,59 @@
model.option.equipScoutCheat.name=Equipar Batedor
model.option.equipScoutCheat.shortDescription=Percentual de chance por turno de um jogador AI equipar uma unidade na Europa como um batedor, gratuitamente.
model.option.landUnitCheat.name=Conseguir unidade terrestre
+model.option.landUnitCheat.shortDescription=Porcentagem de change por turno que um jogador AI ganhar gratuitamente uma unidade terrestre útil na Europa.
model.option.offensiveNavalUnitCheat.name=Conseguir unidade naval de ataque
model.option.transportNavalUnitCheat.name=Conseguir unidade naval de transporte
model.option.landPriceFactor.name=Fator de preço da terra
model.option.landPriceFactor.shortDescription=Aumento do custo da compra de terras indígenas
+model.option.foundingFatherFactor.name=Fator do Pai Fundador
+model.option.foundingFatherFactor.shortDescription=Aumento do custo de eleger um novo Pai Fundador.
+model.option.arrearsFactor.name=Fator de dívidas em atraso
+model.option.arrearsFactor.shortDescription=Aumenta as suas dívidas em atraso nos impostos europeus.
model.option.nativeConvertProbability.name=Probabilidade de converter nativos
+model.option.nativeConvertProbability.shortDescription=Aumenta a ...
[truncated message content] |
|
From: <mp...@us...> - 2013-02-01 00:54:53
|
Revision: 10493
http://sourceforge.net/p/freecol/code/10493
Author: mpope
Date: 2013-02-01 00:54:50 +0000 (Fri, 01 Feb 2013)
Log Message:
-----------
Merge git.f8fc2acb: Lots of ColonyPanel cleanup, fixing BR#2511 in passing.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/client/gui/panel/CargoPanel.java
freecol/trunk/src/net/sf/freecol/client/gui/panel/ColonyPanel.java
freecol/trunk/src/net/sf/freecol/client/gui/panel/DragListener.java
freecol/trunk/src/net/sf/freecol/client/gui/panel/QuickActionMenu.java
Modified: freecol/trunk/src/net/sf/freecol/client/gui/panel/CargoPanel.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/panel/CargoPanel.java 2013-02-01 00:18:39 UTC (rev 10492)
+++ freecol/trunk/src/net/sf/freecol/client/gui/panel/CargoPanel.java 2013-02-01 00:54:50 UTC (rev 10493)
@@ -120,7 +120,8 @@
* Initialize this CargoPanel.
*/
public void initialize() {
- setCarrier(null);
+ carrier = null;
+ addPropertyChangeListeners();
}
/**
Modified: freecol/trunk/src/net/sf/freecol/client/gui/panel/ColonyPanel.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/panel/ColonyPanel.java 2013-02-01 00:18:39 UTC (rev 10492)
+++ freecol/trunk/src/net/sf/freecol/client/gui/panel/ColonyPanel.java 2013-02-01 00:54:50 UTC (rev 10493)
@@ -128,38 +128,54 @@
COLONY_UNITS = 6,
SETGOODS = 7;
- private final JPanel netProductionPanel = new JPanel();
- private final PopulationPanel populationPanel = new PopulationPanel();
+ /** The <code>Colony</code> this panel is displaying. */
+ private Colony colony;
+ // Inherits PortPanel.pressListener and PortPanel.defaultTransferHandler
+ private final MouseListener releaseListener = new DropListener();
+
+ private final ImageLibrary imageLibrary = getLibrary();
+
+
+ // Subparts
+ // Inherits protected PortPanel.cargoPanel and PortPanel.inPortPanel
private final JComboBox nameBox;
+ private final JPanel netProductionPanel = new JPanel();
+
+ private final PopulationPanel populationPanel;
+
private final OutsideColonyPanel outsideColonyPanel;
private final WarehousePanel warehousePanel;
- private final TilePanel tilePanel;
+ private final TilesPanel tilesPanel;
private final BuildingsPanel buildingsPanel;
private final ConstructionPanel constructionPanel;
+
- private final MouseListener releaseListener;
+ // Buttons
+ private final JButton unloadButton
+ = new JButton(Messages.message("unload"));
- private Colony colony;
+ private final JButton fillButton
+ = new JButton(Messages.message("fill"));
- private JButton unloadButton = new JButton(Messages.message("unload"));
+ private final JButton warehouseButton
+ = new JButton(Messages.message("warehouseDialog.name"));
- private JButton fillButton = new JButton(Messages.message("fill"));
+ private final JButton buildQueueButton
+ = new JButton(Messages.message("colonyPanel.buildQueue"));
- private JButton warehouseButton = new JButton(Messages.message("warehouseDialog.name"));
+ private final JButton colonyUnitsButton
+ = new JButton(Messages.message("colonyPanel.colonyUnits"));
- private JButton buildQueueButton = new JButton(Messages.message("colonyPanel.buildQueue"));
-
- private JButton colonyUnitsButton = new JButton(Messages.message("colonyPanel.colonyUnits"));
-
- private JButton setGoodsButton
+ private final JButton setGoodsButton
= (FreeColDebugger.isInDebugMode(FreeColDebugger.DebugMode.MENUS))
- ? new JButton("Set Goods") : null;
+ ? new JButton("Set Goods")
+ : null;
/**
@@ -217,15 +233,16 @@
warehousePanel = new WarehousePanel();
- tilePanel = new TilePanel(freeColClient);
+ tilesPanel = new TilesPanel(freeColClient);
buildingsPanel = new BuildingsPanel();
+ populationPanel = new PopulationPanel();
+
cargoPanel = new ColonyCargoPanel(freeColClient);
defaultTransferHandler = new DefaultTransferHandler(freeColClient, gui, this);
pressListener = new DragListener(freeColClient, gui, this);
- releaseListener = new DropListener();
JScrollPane outsideColonyScroll = new JScrollPane(outsideColonyPanel,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
@@ -239,7 +256,7 @@
JScrollPane warehouseScroll = new JScrollPane(warehousePanel,
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
- JScrollPane tilesScroll = new JScrollPane(tilePanel,
+ JScrollPane tilesScroll = new JScrollPane(tilesPanel,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
JScrollPane buildingsScroll = new JScrollPane(buildingsPanel,
@@ -342,8 +359,12 @@
}
/**
- * Gets the <code>Colony</code>-pointer in use.
+ * Gets the <code>Colony</code> in use.
*
+ * Try to use this at the top of all the routines that need the colony,
+ * to get a stable value. There have been nasty races when the colony
+ * changes out from underneath us, and more may be lurking.
+ *
* @return The <code>Colony</code>.
*/
public synchronized final Colony getColony() {
@@ -369,12 +390,12 @@
}
/**
- * Gets the <code>TilePanel</code>-object in use.
+ * Gets the <code>TilesPanel</code>-object in use.
*
- * @return The <code>TilePanel</code>.
+ * @return The <code>TilesPanel</code>.
*/
- public final TilePanel getTilePanel() {
- return tilePanel;
+ public final TilesPanel getTilesPanel() {
+ return tilesPanel;
}
public void updateConstructionPanel() {
@@ -385,6 +406,10 @@
inPortPanel.update();
}
+ public void updatePopulationPanel() {
+ populationPanel.update();
+ }
+
public void updateWarehousePanel() {
warehousePanel.update();
}
@@ -397,11 +422,12 @@
buildingsPanel.update();
}
- public void updateTilePanel() {
- tilePanel.update();
+ public void updateTilesPanel() {
+ tilesPanel.update();
}
public void updateProductionPanel() {
+ final Colony colony = getColony();
final Specification spec = colony.getSpecification();
// TODO: find out why the cache needs to be explicitly invalidated
colony.invalidateCache();
@@ -429,16 +455,12 @@
* construction displays.
*/
private void updateProduction() {
- updateTilePanel();
+ updateTilesPanel();
updateBuildingsPanel();
updateProductionPanel();
updateConstructionPanel();
}
- private void sortBuildings(List<Building> buildings) {
- Collections.sort(buildings);
- }
-
/**
* Analyzes an event and calls the right external methods to take
* care of the user's request.
@@ -446,7 +468,7 @@
* @param event The incoming action event
*/
public void actionPerformed(ActionEvent event) {
- Colony colony = getColony();
+ final Colony colony = getColony();
String command = event.getActionCommand();
if (OK.equals(command)) {
closeColonyPanel();
@@ -499,7 +521,7 @@
getController().leaveShip(u);
}
cargoPanel.update();
- outsideColonyPanel.update();
+ updateOutsideColonyPanel();
}
unloadButton.setEnabled(false);
fillButton.setEnabled(false);
@@ -509,13 +531,14 @@
* Fill goods from the carrier currently selected to capacity.
*/
private void fill() {
+ final Colony colony = getColony();
Unit unit = getSelectedUnit();
if (unit != null && unit.isCarrier()) {
for (Goods goods : unit.getGoodsContainer().getGoods()) {
int space = GoodsContainer.CARGO_SIZE - goods.getAmount();
- int count = getColony().getGoodsCount(goods.getType());
+ int count = colony.getGoodsCount(goods.getType());
if (space > 0 && count > 0) {
- Goods newGoods = new Goods(goods.getGame(), getColony(),
+ Goods newGoods = new Goods(goods.getGame(), colony,
goods.getType(),
Math.min(space, count));
getController().loadCargo(newGoods, unit);
@@ -529,6 +552,7 @@
* carrier with some cargo.
*/
private void updateCarrierButtons() {
+ final Colony colony = getColony();
unloadButton.setEnabled(false);
fillButton.setEnabled(false);
if (isEditable() && selectedUnitLabel != null) {
@@ -536,7 +560,7 @@
if (unit != null && unit.isCarrier() && unit.hasCargo()) {
unloadButton.setEnabled(true);
for (Goods goods : unit.getGoodsList()) {
- if (getColony().getGoodsCount(goods.getType()) > 0) {
+ if (colony.getGoodsCount(goods.getType()) > 0) {
fillButton.setEnabled(true);
break;
}
@@ -588,7 +612,7 @@
* @return A list of units on the colony tile.
*/
public List<Unit> getUnitList() {
- return colony.getTile().getUnitList();
+ return getColony().getTile().getUnitList();
}
/**
@@ -641,34 +665,35 @@
inPortPanel.initialize();
warehousePanel.initialize();
buildingsPanel.initialize();
- tilePanel.initialize();
+ tilesPanel.initialize();
outsideColonyPanel.initialize();
updateProductionPanel();
- populationPanel.update();
+ updatePopulationPanel();
constructionPanel.setColony(colony);
- inPortPanel.setName(colony.getName() + " - port");
+ inPortPanel.setName(colony.getName() + " " + Messages.message("port"));
}
/**
* Closes the <code>ColonyPanel</code>.
*/
public void closeColonyPanel() {
- if (getColony().getUnitCount() == 0) {
+ final Colony colony = getColony();
+ if (colony.getUnitCount() == 0) {
if (getGUI().showConfirmDialog("abandonColony.text",
"abandonColony.yes",
"abandonColony.no")) {
getGUI().removeFromCanvas(this);
- getController().abandonColony(getColony());
+ getController().abandonColony(colony);
}
} else {
- BuildableType buildable = getColony().getCurrentlyBuilding();
+ BuildableType buildable = colony.getCurrentlyBuilding();
if (buildable != null
- && buildable.getRequiredPopulation() > getColony().getUnitCount()
+ && buildable.getRequiredPopulation() > colony.getUnitCount()
&& !getGUI().showConfirmDialog(null,
StringTemplate.template("colonyPanel.reducePopulation")
- .addName("%colony%", getColony().getName())
+ .addName("%colony%", colony.getName())
.addAmount("%number%", buildable.getRequiredPopulation())
.add("%buildable%", buildable.getNameKey()),
"ok", "cancel")) {
@@ -683,7 +708,7 @@
}
buildingsPanel.cleanup();
warehousePanel.cleanup();
- tilePanel.cleanup();
+ tilesPanel.cleanup();
constructionPanel.removePropertyChangeListeners();
cargoPanel.setCarrier(null);
outsideColonyPanel.cleanup();
@@ -706,10 +731,11 @@
* from the Colony Panel allowing keyboard access to said units.
*/
private void generateColonyUnitsMenu() {
+ final Colony colony = getColony();
JPopupMenu colonyUnitsMenu = new JPopupMenu("Colony Units");
- ImageLibrary imageLibrary = super.getLibrary();
ImageIcon unitIcon = null;
- final QuickActionMenu unitMenu = new QuickActionMenu(getFreeColClient(), getGUI(), this);
+ final QuickActionMenu unitMenu
+ = new QuickActionMenu(getFreeColClient(), getGUI(), this);
Tile colonyTile = colony.getTile();
int unitNumber = 0;
JMenuItem subMenu = null;
@@ -722,8 +748,9 @@
unitIcon = imageLibrary.getUnitImageIcon(unit, 0.5);
String nominative = Messages.message(StringTemplate.template(
goodsType.getNameKey()).addAmount("%amount%", producing));
- String menuTitle = new String(Messages.message(unit.getLabel()) + " " +
- Messages.message("producing.name") + " " + producing + " " + nominative);
+ String menuTitle = new String(Messages.message(unit.getLabel())
+ + " " + Messages.message("producing.name")
+ + " " + producing + " " + nominative);
subMenu = new JMenuItem(menuTitle, unitIcon);
subMenu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -737,12 +764,14 @@
Building workingInBuilding = unit.getWorkLocation();
if(workingInBuilding != null){
GoodsType goodsType = unit.getWorkType();
- int producing = workingInBuilding.getProductionOf(unit, workingInBuilding.getGoodsOutputType());
+ int producing = workingInBuilding.getProductionOf(unit,
+ workingInBuilding.getGoodsOutputType());
unitIcon = imageLibrary.getUnitImageIcon(unit, 0.5);
- String nominative = Messages.message(StringTemplate.template(
- goodsType.getNameKey()).addAmount("%amount%", producing));
- String menuTitle = new String(Messages.message(unit.getLabel()) + " " +
- Messages.message("producing.name") + " " + producing + " " + nominative);
+ String nominative = Messages.message(StringTemplate.template(goodsType.getNameKey())
+ .addAmount("%amount%", producing));
+ String menuTitle = new String(Messages.message(unit.getLabel())
+ + " " + Messages.message("producing.name")
+ + " " + producing + " " + nominative);
subMenu = new JMenuItem(menuTitle, unitIcon);
subMenu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -812,10 +841,12 @@
}
colonyUnitsMenu.show(getGUI().getCanvas(), 0, 0);
}
+
/**
* Add property change listeners needed by this ColonyPanel.
*/
private void addPropertyChangeListeners() {
+ final Colony colony = getColony();
if (colony != null) {
colony.addPropertyChangeListener(this);
colony.getGoodsContainer().addPropertyChangeListener(this);
@@ -827,6 +858,7 @@
* Remove the property change listeners of ColonyPanel.
*/
private void removePropertyChangeListeners() {
+ final Colony colony = getColony();
if (colony != null) {
colony.removePropertyChangeListener(this);
colony.getGoodsContainer().removePropertyChangeListener(this);
@@ -840,6 +872,7 @@
* @param event The <code>PropertyChangeEvent</code> to handle.
*/
public void propertyChange(PropertyChangeEvent event) {
+ final Colony colony = getColony();
if (!isShowing() || colony == null) return;
String property = event.getPropertyName();
logger.finest(colony.getName() + " change " + property
@@ -851,14 +884,14 @@
} else if (Unit.CARGO_CHANGE.equals(property)) {
updateInPortPanel();
} else if (ColonyChangeEvent.POPULATION_CHANGE.toString().equals(property)) {
- populationPanel.update();
+ updatePopulationPanel();
updateProductionPanel(); // food production changes
} else if (ColonyChangeEvent.BONUS_CHANGE.toString().equals(property)) {
ModelMessage msg = colony.checkForGovMgtChangeMessage();
if (msg != null) {
getGUI().showInformationMessage(colony, msg);
}
- populationPanel.update();
+ updatePopulationPanel();
} else if (ColonyChangeEvent.UNIT_TYPE_CHANGE.toString().equals(property)) {
FreeColGameObject object = (FreeColGameObject) event.getSource();
UnitType oldType = (UnitType) event.getOldValue();
@@ -867,7 +900,7 @@
StringTemplate.template("model.colony.unitChange")
.add("%oldType%", oldType.getNameKey())
.add("%newType%", newType.getNameKey()));
- updateTilePanel();
+ updateTilesPanel();
} else if (property.startsWith("model.goods.")) {
// Changes to warehouse goods count may affect building production
// which requires a view update.
@@ -907,6 +940,7 @@
super.update();
// May have un/loaded cargo, "Unload" could have changed validity
updateCarrierButtons();
+ updatePopulationPanel();
}
}
@@ -948,6 +982,7 @@
* Update this population panel.
*/
public void update() {
+ final Colony colony = getColony();
final int uc = colony.getUnitCount();
final int solPercent = colony.getSoL();
final int rebels = Colony.calculateRebels(uc, solPercent);
@@ -1005,11 +1040,14 @@
public final class OutsideColonyPanel extends UnitPanel
implements DropTarget {
+ /**
+ * Create this OutsideColonyPanel.
+ */
public OutsideColonyPanel() {
super(ColonyPanel.this, null, ColonyPanel.this.isEditable());
setLayout(new MigLayout("wrap 4, fill, insets 0"));
setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(),
- Messages.message("outsideColony")));
+ Messages.message("outsideColony")));
}
/**
@@ -1017,7 +1055,9 @@
*/
@Override
public void initialize() {
+ final Colony colony = getColony();
cleanup();
+
super.initialize();
if (colony != null) setName(colony.getName() + " - port");
}
@@ -1068,6 +1108,7 @@
@Override
protected void addPropertyChangeListeners() {
+ final Colony colony = getColony();
if (colony != null) {
colony.getTile().addPropertyChangeListener(Tile.UNIT_CHANGE,
this);
@@ -1076,17 +1117,13 @@
@Override
protected void removePropertyChangeListeners() {
+ final Colony colony = getColony();
if (colony != null) {
colony.getTile().removePropertyChangeListener(Tile.UNIT_CHANGE,
this);
}
}
- @Override
- public String getUIClassID() {
- return "OutsideColonyPanelUI";
- }
-
public boolean accepts(Unit unit) {
return !unit.isCarrier();
}
@@ -1094,6 +1131,11 @@
public boolean accepts(Goods goods) {
return false;
}
+
+ @Override
+ public String getUIClassID() {
+ return "OutsideColonyPanelUI";
+ }
}
/**
@@ -1102,14 +1144,22 @@
*/
public final class ColonyInPortPanel extends InPortPanel {
+ /**
+ * Creates this ColonyInPortPanel.
+ */
public ColonyInPortPanel() {
super(ColonyPanel.this, null, ColonyPanel.this.isEditable());
+
setLayout(new MigLayout("wrap 3, fill, insets 0"));
setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(),
- Messages.message("inPort")));
+ Messages.message("inPort")));
}
+ /**
+ * Initialize this ColonyInPortPanel.
+ */
public void initialize() {
+ final Colony colony = getColony();
if (colony != null) {
setName(colony.getName() + " - port");
super.initialize();
@@ -1153,6 +1203,7 @@
* Update this WarehousePanel.
*/
private void update() {
+ final Colony colony = getColony();
removeAll();
if (colony == null) return;
@@ -1215,22 +1266,29 @@
return add(comp);
}
+ /**
+ * Add the property change listeners to this panel.
+ */
private void addPropertyChangeListeners() {
- Colony colony = getColony();
+ final Colony colony = getColony();
if (colony != null) {
colony.getGoodsContainer().addPropertyChangeListener(this);
}
}
+ /**
+ * Remove the property change listeners from this panel.
+ */
private void removePropertyChangeListeners() {
- Colony colony = getColony();
+ final Colony colony = getColony();
if (colony != null) {
colony.getGoodsContainer().removePropertyChangeListener(this);
}
}
public void propertyChange(PropertyChangeEvent event) {
- logger.finest(getColony().getName() + "-warehouse change "
+ final Colony colony = getColony();
+ logger.finest(colony.getName() + "-warehouse change "
+ event.getPropertyName()
+ ": " + event.getOldValue()
+ " -> " + event.getNewValue());
@@ -1260,7 +1318,13 @@
/** The parent colony panel. */
private final ColonyPanel colonyPanel;
+ private MouseAdapter mouseAdapter = new MouseAdapter() {
+ public void mousePressed(MouseEvent e) {
+ getGUI().showBuildQueuePanel(getColony());
+ }
+ };
+
/**
* Creates this BuildingsPanel.
*/
@@ -1273,25 +1337,16 @@
* Initializes the game data in this buildings panel.
*/
public void initialize() {
+ final Colony colony = getColony();
+ if (colony == null) return;
cleanup();
- if (colony == null) return;
- MouseAdapter mouseAdapter = new MouseAdapter() {
- public void mousePressed(MouseEvent e) {
- getGUI().showBuildQueuePanel(getColony());
- }
- };
-
List<Building> buildings = colony.getBuildings();
- sortBuildings(buildings);
+ Collections.sort(buildings);
for (Building building : buildings) {
ASingleBuildingPanel aSBP = new ASingleBuildingPanel(building);
- if (colonyPanel.isEditable()) {
- aSBP.addMouseListener(releaseListener);
- aSBP.setTransferHandler(defaultTransferHandler);
- }
+ aSBP.initialize();
aSBP.setOpaque(false);
- aSBP.addMouseListener(mouseAdapter);
add(aSBP);
}
@@ -1327,7 +1382,6 @@
return "BuildingsPanelUI";
}
-
/**
* This panel is a single line (one building) in the
* <code>BuildingsPanel</code>.
@@ -1346,9 +1400,12 @@
@Override
public void initialize() {
- super.initialize();
-
- update();
+ if (colonyPanel.isEditable()) {
+ addMouseListener(releaseListener);
+ setTransferHandler(defaultTransferHandler);
+ addMouseListener(mouseAdapter);
+ addPropertyChangeListeners();
+ }
}
@Override
@@ -1453,7 +1510,7 @@
/**
* A panel that displays the tiles in the immediate area around the colony.
*/
- public final class TilePanel extends FreeColPanel {
+ public final class TilesPanel extends FreeColPanel {
/** The parent colony panel. */
private final ColonyPanel colonyPanel;
@@ -1463,11 +1520,11 @@
/**
- * Creates a TilePanel.
+ * Creates a TilesPanel.
*
* @param freeColClient The container <code>FreeColClient</code>.
*/
- public TilePanel(FreeColClient freeColClient) {
+ public TilesPanel(FreeColClient freeColClient) {
super(freeColClient, freeColClient.getGUI());
this.colonyPanel = ColonyPanel.this;
@@ -1480,8 +1537,9 @@
* Initialize the game data in this Tile panel.
*/
public void initialize() {
+ final Colony colony = getColony();
+ if (colony == null) return;
cleanup();
- if (colony == null) return;
Tile tile = colony.getTile();
tiles[0][0] = tile.getNeighbourOrNull(Direction.N);
@@ -1499,10 +1557,11 @@
for (int y = 0; y < 3; y++) {
if (tiles[x][y] == null) continue;
ColonyTile colonyTile = colony.getColonyTile(tiles[x][y]);
- ASingleTilePanel p = new ASingleTilePanel(colonyTile, x, y);
- p.initialize();
- add(p, new Integer(layer));
- layer++;
+ ASingleTilePanel aSTP = new ASingleTilePanel(colonyTile,
+ x, y);
+ aSTP.initialize();
+ aSTP.setOpaque(false);
+ add(aSTP, new Integer(layer++));
}
}
@@ -1510,7 +1569,7 @@
}
/**
- * Update this tile panel.
+ * Update this tiles panel.
*/
public void update() {
for (Component component : getComponents()) {
@@ -1522,7 +1581,7 @@
}
/**
- * Clean up this tile panel.
+ * Clean up this tiles panel.
*/
public void cleanup() {
for (Component component : getComponents()) {
@@ -1535,14 +1594,15 @@
@Override
public void paintComponent(Graphics g) {
+ final Colony colony = getColony();
g.setColor(Color.black);
g.fillRect(0, 0, getWidth(), getHeight());
+ if (colony == null) return;
- if (colony == null) return;
final Tile tile = colony.getTile();
final TileType tileType = tile.getType();
- final ImageLibrary lib = getLibrary();
- final Image image = lib.getTerrainImage(tileType, tile.getX(), tile.getY());
+ final Image image = imageLibrary.getTerrainImage(tileType,
+ tile.getX(), tile.getY());
int tileWidth = image.getWidth(null) / 2;
int tileHeight = image.getHeight(null) / 2;
for (int x = 0; x < 3; x++) {
@@ -1586,8 +1646,8 @@
setOpaque(false);
final Tile tile = colonyTile.getTile();
final TileType tileType = tile.getType();
- final Image image = getLibrary()
- .getTerrainImage(tileType, tile.getX(), tile.getY());
+ final Image image = imageLibrary.getTerrainImage(tileType,
+ tile.getX(), tile.getY());
// Size and position:
final int width = image.getWidth(null);
final int height = image.getHeight(null);
@@ -1596,14 +1656,24 @@
}
/**
+ * Gets the colony tile this panel is handling.
+ *
+ * @return The colony tile.
+ */
+ public ColonyTile getColonyTile() {
+ return colonyTile;
+ }
+
+ /**
* Initialize this single tile panel.
*/
public void initialize() {
- cleanup();
-
- addPropertyChangeListeners();
- addMouseListener(pressListener);
- update();
+ if (colonyPanel.isEditable()) {
+ addMouseListener(releaseListener);
+ setTransferHandler(defaultTransferHandler);
+ addMouseListener(pressListener);
+ addPropertyChangeListeners();
+ }
}
/**
@@ -1628,17 +1698,14 @@
ProductionInfo info = colony.getProductionInfo(colonyTile);
if (info != null) {
for (AbstractGoods ag : info.getProduction()) {
- ProductionLabel productionLabel = new ProductionLabel(getFreeColClient(), getGUI(), ag);
+ ProductionLabel productionLabel
+ = new ProductionLabel(getFreeColClient(),
+ getGUI(), ag);
productionLabel.addMouseListener(pressListener);
add(productionLabel);
}
}
}
-
- if (colonyPanel.isEditable()) {
- setTransferHandler(defaultTransferHandler);
- addMouseListener(releaseListener);
- }
}
/**
@@ -1724,8 +1791,8 @@
* @return True if the unit succeeds.
*/
private boolean tryWork(Unit unit) {
+ final Colony colony = getColony();
Tile tile = colonyTile.getWorkTile();
- Colony colony = getColony();
Player player = unit.getOwner();
if (tile.getOwningSettlement() != colony) {
@@ -1849,10 +1916,6 @@
public boolean accepts(Goods goods) {
return false;
}
-
- public ColonyTile getColonyTile() {
- return colonyTile;
- }
}
}
}
Modified: freecol/trunk/src/net/sf/freecol/client/gui/panel/DragListener.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/panel/DragListener.java 2013-02-01 00:18:39 UTC (rev 10492)
+++ freecol/trunk/src/net/sf/freecol/client/gui/panel/DragListener.java 2013-02-01 00:54:50 UTC (rev 10493)
@@ -30,7 +30,7 @@
import net.sf.freecol.client.FreeColClient;
import net.sf.freecol.client.gui.GUI;
-import net.sf.freecol.client.gui.panel.ColonyPanel.TilePanel.ASingleTilePanel;
+import net.sf.freecol.client.gui.panel.ColonyPanel.TilesPanel.ASingleTilePanel;
import net.sf.freecol.common.model.GoodsType;
import net.sf.freecol.common.model.Unit;
@@ -154,4 +154,4 @@
}
-}
\ No newline at end of file
+}
Modified: freecol/trunk/src/net/sf/freecol/client/gui/panel/QuickActionMenu.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/panel/QuickActionMenu.java 2013-02-01 00:18:39 UTC (rev 10492)
+++ freecol/trunk/src/net/sf/freecol/client/gui/panel/QuickActionMenu.java 2013-02-01 00:54:50 UTC (rev 10493)
@@ -40,7 +40,7 @@
import net.sf.freecol.client.gui.GUI;
import net.sf.freecol.client.gui.ImageLibrary;
import net.sf.freecol.client.gui.i18n.Messages;
-import net.sf.freecol.client.gui.panel.ColonyPanel.TilePanel.ASingleTilePanel;
+import net.sf.freecol.client.gui.panel.ColonyPanel.TilesPanel.ASingleTilePanel;
import net.sf.freecol.client.gui.panel.UnitLabel.UnitAction;
import net.sf.freecol.common.model.Ability;
import net.sf.freecol.common.model.AbstractGoods;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-02-01 00:18:45
|
Revision: 10492
http://sourceforge.net/p/freecol/code/10492
Author: mpope
Date: 2013-02-01 00:18:39 +0000 (Fri, 01 Feb 2013)
Log Message:
-----------
Fix bogus combat test.
Modified Paths:
--------------
freecol/trunk/test/src/net/sf/freecol/common/model/CombatTest.java
Modified: freecol/trunk/test/src/net/sf/freecol/common/model/CombatTest.java
===================================================================
--- freecol/trunk/test/src/net/sf/freecol/common/model/CombatTest.java 2013-01-31 23:34:15 UTC (rev 10491)
+++ freecol/trunk/test/src/net/sf/freecol/common/model/CombatTest.java 2013-02-01 00:18:39 UTC (rev 10492)
@@ -487,8 +487,10 @@
Tile tile1 = map.getTile(5, 8);
Tile tile2 = map.getTile(4, 8);
- Unit colonial = new ServerUnit(game, tile1, french, colonialRegularType, muskets, horses);
- Unit regular = new ServerUnit(game, tile1, french, kingsRegularType, muskets, horses);
+ Unit colonial = new ServerUnit(game, tile1, french, colonialRegularType,
+ muskets, horses);
+ Unit regular = new ServerUnit(game, tile2, refPlayer, kingsRegularType,
+ muskets, horses);
// (regular + muskets + horses) * attack bonus
float offence = (4 + 2 + 1) * 1.5f;
@@ -497,10 +499,10 @@
float defence = 3 + 1 + 1 + 1;
assertEquals(defence, combatModel.getDefencePower(regular, colonial));
- List<CombatResult> result = combatModel.generateAttackResult(random, regular, colonial);
+ List<CombatResult> result
+ = combatModel.generateAttackResult(random, regular, colonial);
assertEquals(CombatResult.LOSE, result.get(0));
assertEquals(CombatResult.LOSE_EQUIP, result.get(1));
-
refPlayer.csCombat(regular, colonial, result, random, new ChangeSet());
// (regular + muskets) * attack bonus
@@ -510,10 +512,11 @@
// slaughter King's Regular
result = combatModel.generateAttackResult(random, colonial, regular);
assertEquals(CombatResult.WIN, result.get(0));
- assertEquals("King's Regular should be slaughtered upon losing all equipment.",
+ assertEquals("Regular should be slaughtered upon losing all equipment.",
CombatResult.SLAUGHTER_UNIT, result.get(1));
- regular = new ServerUnit(game, tile1, french, kingsRegularType, muskets, horses);
+ regular = new ServerUnit(game, tile1, french, kingsRegularType,
+ muskets, horses);
result = combatModel.generateAttackResult(random, regular, colonial);
assertEquals(CombatResult.WIN, result.get(0));
@@ -532,8 +535,5 @@
assertEquals(CombatResult.WIN, result.get(0));
assertEquals(CombatResult.CAPTURE_UNIT, result.get(1));
refPlayer.csCombat(regular, colonial, result, random, new ChangeSet());
-
}
-
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-31 23:34:19
|
Revision: 10491
http://sourceforge.net/p/freecol/code/10491
Author: mpope
Date: 2013-01-31 23:34:15 +0000 (Thu, 31 Jan 2013)
Log Message:
-----------
Merge git.bd1429a: Ensure directional tile improvements are correctly connected.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/client/gui/panel/MapEditorTransformPanel.java
freecol/trunk/src/net/sf/freecol/common/model/Colony.java
freecol/trunk/src/net/sf/freecol/common/model/Game.java
freecol/trunk/src/net/sf/freecol/common/model/LostCityRumour.java
freecol/trunk/src/net/sf/freecol/common/model/Map.java
freecol/trunk/src/net/sf/freecol/common/model/Player.java
freecol/trunk/src/net/sf/freecol/common/model/Resource.java
freecol/trunk/src/net/sf/freecol/common/model/Tile.java
freecol/trunk/src/net/sf/freecol/common/model/TileImprovement.java
freecol/trunk/src/net/sf/freecol/common/model/TileImprovementStyle.java
freecol/trunk/src/net/sf/freecol/common/model/TileImprovementType.java
freecol/trunk/src/net/sf/freecol/common/model/TileItem.java
freecol/trunk/src/net/sf/freecol/common/model/TileItemContainer.java
freecol/trunk/src/net/sf/freecol/server/generator/River.java
freecol/trunk/src/net/sf/freecol/server/generator/SimpleMapGenerator.java
freecol/trunk/src/net/sf/freecol/server/model/ServerColony.java
freecol/trunk/src/net/sf/freecol/server/model/ServerUnit.java
freecol/trunk/test/src/net/sf/freecol/common/model/MovementTest.java
freecol/trunk/test/src/net/sf/freecol/common/model/TileImprovementTest.java
freecol/trunk/test/src/net/sf/freecol/common/model/TileItemContainerTest.java
freecol/trunk/test/src/net/sf/freecol/common/model/TileTest.java
freecol/trunk/test/src/net/sf/freecol/server/ai/mission/PioneeringMissionTest.java
Modified: freecol/trunk/src/net/sf/freecol/client/gui/panel/MapEditorTransformPanel.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/panel/MapEditorTransformPanel.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/client/gui/panel/MapEditorTransformPanel.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -274,13 +274,8 @@
tile.getSpecification().getTileImprovementType("model.improvement.river");
if (tile.getType().canHaveImprovement(riverType)) {
- TileItemContainer tic = tile.getTileItemContainer();
- if (tic == null) {
- tic = new TileItemContainer(tile.getGame(), tile);
- tile.setTileItemContainer(tic);
- }
int oldMagnitude = TileImprovement.NO_RIVER;
- TileImprovement river = tic.getRiver();
+ TileImprovement river = tile.getRiver();
if (river == null) {
river = new TileImprovement(tile.getGame(), tile, riverType);
river.setStyle(TileImprovementStyle.getInstance("0000"));
@@ -289,8 +284,8 @@
}
if (magnitude != oldMagnitude) {
- tic.addRiver(magnitude, river.getStyle());
- RiverSection mysection = new RiverSection(river.getStyle().getConnections());
+ tile.addRiver(magnitude, river.getStyle().getString());
+ RiverSection mysection = new RiverSection(river.getConnections());
// for each neighboring tile
for (Direction direction : Direction.longSides) {
Tile t = tile.getNeighbourOrNull(direction);
@@ -308,7 +303,7 @@
// update the other tile river branch
Direction otherDirection = direction.getReverseDirection();
RiverSection oppositesection =
- new RiverSection(otherRiver.getStyle().getConnections());
+ new RiverSection(otherRiver.getConnections());
oppositesection.setBranch(otherDirection, tile.getRiver().getMagnitude());
otherRiver.setStyle(TileImprovementStyle.getInstance(oppositesection.encodeStyle()));
// update the current tile river branch
Modified: freecol/trunk/src/net/sf/freecol/common/model/Colony.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/Colony.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/Colony.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -2222,7 +2222,7 @@
}
TileImprovement road = getTile().getRoad();
if (road != null && road.isVirtual()) {
- getTile().getTileItemContainer().removeTileItem(road);
+ getTile().removeRoad();
}
objects.addAll(super.disposeList());
return objects;
Modified: freecol/trunk/src/net/sf/freecol/common/model/Game.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/Game.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/Game.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -812,54 +812,40 @@
}
/**
- * Checks the integrity of this <code>Game</code
- * by checking if there are any
- * {@link FreeColGameObject#isUninitialized() uninitialized objects}.
+ * Checks the integrity of this <code>Game</code>.
+ *
+ * - Detects {@link FreeColGameObject#isUninitialized() uninitialized}
+ * <code>FreeColGameObject</code>s.
+ * - Detects and fixes map inconsistencies
+ * - Detects and fixes player inconsistencies
*
- * Detected problems gets written to the log.
- *
- * @return <code>true</code> if the <code>Game</code> has
- * been loaded properly.
+ * @return True if there were no problems found.
*/
public boolean checkIntegrity() {
- List<String> brokenObjects = new ArrayList<String>();
boolean ok = true;
Iterator<FreeColGameObject> iterator = getFreeColGameObjectIterator();
while (iterator.hasNext()) {
FreeColGameObject fgo = iterator.next();
if (fgo.isUninitialized()) {
- brokenObjects.add(fgo.getId());
- logger.warning("Uninitialized object: " + fgo.getId() + " (" + fgo.getClass() + ")");
+ logger.warning("Uninitialized object: " + fgo.getId()
+ + " (" + fgo.getClass() + ")");
ok = false;
}
}
+ Map map = getMap();
+ if (map != null) ok &= map.fixIntegrity();
+ for (Player player : getPlayers()) {
+ ok &= player.fixIntegrity();
+ }
if (ok) {
logger.info("Game integrity ok.");
} else {
logger.warning("Game integrity test failed.");
- fixIntegrity(brokenObjects);
}
return ok;
}
/**
- * Try to fix integrity problems
- */
- private boolean fixIntegrity(List<String> list){
- // try to update Units who may have missing info
- for(Player player : this.getPlayers()){
- for(Unit unit : player.getUnits()){
- if(unit.getOwner() == null){
- logger.warning("Fixing " + unit.getId() + ": owner missing");
- unit.setOwner(player);
- }
- }
- }
- return false;
- }
-
-
- /**
* Gets the <code>MapGeneratorOptions</code> that is associated with this
* {@link Game}.
* @return <code>OptionGroup</code>
Modified: freecol/trunk/src/net/sf/freecol/common/model/LostCityRumour.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/LostCityRumour.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/LostCityRumour.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -142,10 +142,11 @@
this.name = newName;
}
+
+ // Interface TileItem
+
/**
- * Get the <code>ZIndex</code> value.
- *
- * @return an <code>int</code> value
+ * {@inheritDoc}
*/
public final int getZIndex() {
return RUMOUR_ZINDEX;
Modified: freecol/trunk/src/net/sf/freecol/common/model/Map.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/Map.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/Map.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -2068,6 +2068,19 @@
}
}
+ /**
+ * Fix any map integrity problems.
+ *
+ * @return True if there were no problems.
+ */
+ public boolean fixIntegrity() {
+ boolean result = true;
+ for (Tile t : getAllTiles()) {
+ result &= t.fixIntegrity();
+ }
+ return result;
+ }
+
// Location interface.
// getId() inherited.
Modified: freecol/trunk/src/net/sf/freecol/common/model/Player.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/Player.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/Player.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -1468,6 +1468,24 @@
}
/**
+ * Try to fix integrity problems with units that have no owner.
+ *
+ * @return True if there were no problems, false if problems were found
+ * and corrected.
+ */
+ public boolean fixIntegrity() {
+ boolean result = true;
+ for (Unit unit : getUnits()) {
+ if (unit.getOwner() == null) {
+ logger.warning("Fixing " + unit.getId() + ": owner missing");
+ unit.setOwner(this);
+ result = false;
+ }
+ }
+ return result;
+ }
+
+ /**
* Gets the price to this player for a proposed unit.
*
* @param au The proposed <code>AbstractUnit</code>.
Modified: freecol/trunk/src/net/sf/freecol/common/model/Resource.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/Resource.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/Resource.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -117,15 +117,6 @@
}
/**
- * Get the <code>ZIndex</code> value.
- *
- * @return an <code>int</code> value
- */
- public final int getZIndex() {
- return RESOURCE_ZINDEX;
- }
-
- /**
* Returns the best GoodsType
*/
public GoodsType getBestGoodsType() {
@@ -179,20 +170,29 @@
return quantity;
}
+ /* TODO: what was this for? Named resources, such as Lost Crazy Russian Gold Mine?
+ public void setName(String newName) {
+ // do nothing
+ }
+ */
+
+ // Interface TileItem
+
/**
* {@inheritDoc}
*/
+ public final int getZIndex() {
+ return RESOURCE_ZINDEX;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public boolean isTileTypeAllowed(TileType tileType) {
return tileType.canHaveResourceType(getType());
}
- /* TODO: what was this for? Named resources, such as Lost Crazy Russian Gold Mine?
- public void setName(String newName) {
- // do nothing
- }
- */
-
/**
* This method writes an XML-representation of this object to the given
* stream.
Modified: freecol/trunk/src/net/sf/freecol/common/model/Tile.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/Tile.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/Tile.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -207,6 +207,19 @@
}
}
+ /**
+ * Fix any tile integrity problems.
+ *
+ * @return True if there were no problems.
+ */
+ public boolean fixIntegrity() {
+ boolean result = true;
+ for (TileImprovement ti : getTileImprovements()) {
+ result &= ti.fixIntegrity();
+ }
+ return result;
+ }
+
// ------------------------------------------------------------ static methods
/**
* Creates a temporary copy of this tile for planning purposes.
@@ -1177,7 +1190,65 @@
return this;
}
+
/**
+ * Adds a river to this tile.
+ *
+ * @param magnitude The magnitude of the river to be created
+ * @param style The river style.
+ * @return The new river added, or the existing river TileImprovement.
+ */
+ public TileImprovement addRiver(int magnitude, String style) {
+ if (magnitude == TileImprovement.NO_RIVER) return null;
+ TileImprovementType riverType = getSpecification()
+ .getTileImprovementType("model.improvement.river");
+ TileImprovement river = new TileImprovement(getGame(), this, riverType);
+ river.setTurnsToComplete(0);
+ river.setMagnitude(magnitude);
+ river.setStyle(TileImprovementStyle.getInstance(style));
+ if (!add(river)) return null;
+ river.updateConnections();
+ return river;
+ }
+
+ /**
+ * Removes a river from this tile.
+ *
+ * @return The removed river.
+ */
+ public TileImprovement removeRiver() {
+ TileImprovement river = getRiver();
+ return (river == null || !remove(river)) ? null : river;
+ }
+
+ /**
+ * Adds a road to this tile. It is not necessarily complete.
+ *
+ * @return The new road added, or the existing one.
+ */
+ public TileImprovement addRoad() {
+ TileImprovementType roadType = getSpecification()
+ .getTileImprovementType("model.improvement.road");
+ TileImprovement road = new TileImprovement(getGame(), this, roadType);
+ road.setMagnitude(1);
+ if (!add(road)) return null;
+ road.setStyle(road.getRoadStyleFromMap());
+ road.updateConnections();
+ return road;
+ }
+
+ /**
+ * Removes a road from this tile.
+ *
+ * @return The removed road.
+ */
+ public TileImprovement removeRoad() {
+ TileImprovement road = getRoad();
+ return (road == null || !remove(road)) ? null : road;
+ }
+
+
+ /**
* Adds a <code>Locatable</code> to this Location.
*
* @param locatable The <code>Locatable</code> to add to this Location.
@@ -1206,7 +1277,7 @@
public boolean remove(Locatable locatable) {
if (locatable instanceof TileItem) {
Player old = getOwner();
- tileItemContainer.addTileItem((TileItem) locatable);
+ tileItemContainer.removeTileItem((TileItem) locatable);
updatePlayerExploredTiles(old);
return true;
} else {
Modified: freecol/trunk/src/net/sf/freecol/common/model/TileImprovement.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/TileImprovement.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/TileImprovement.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -19,6 +19,8 @@
package net.sf.freecol.common.model;
+import java.util.EnumMap;
+import java.util.Map;
import java.util.logging.Logger;
import javax.xml.stream.XMLStreamException;
@@ -35,15 +37,7 @@
private static Logger logger = Logger.getLogger(TileImprovement.class.getName());
- private TileImprovementType type;
- private int turnsToComplete;
-
/**
- * Default is type.getMagnitude(), but this will override.
- */
- private int magnitude;
-
- /**
* River magnitudes
*/
public static final int NO_RIVER = 0;
@@ -51,13 +45,19 @@
public static final int LARGE_RIVER = 2;
public static final int FJORD_RIVER = 3;
+ /** The type of this improvement. */
+ private TileImprovementType type;
+ /** Turns remaining until the improvement is complete, if any. */
+ private int turnsToComplete;
+
/**
- * To store the style of multi-image TileImprovements (eg. rivers)
- * Rivers have 4 directions {NE=1, SE=3, SW=9, NW=27}, and 3 levels (see above)
- * @see Map
- * @see net.sf.freecol.server.generator.River
+ * The improvement magnitude. Default is type.getMagnitude(), but
+ * this will override.
*/
+ private int magnitude;
+
+ /** Image and overlay style information for the improvement. */
private TileImprovementStyle style;
/**
@@ -67,8 +67,10 @@
*/
private boolean virtual;
- // ------------------------------------------------------------ constructor
+ /** Cached bitmap of connections by direction, derived from style. */
+ private long connected = 0L;
+
/**
* Creates a standard <code>TileImprovement</code>-instance.
*
@@ -88,6 +90,7 @@
this.turnsToComplete = tile.getType().getBasicWorkTurns() + type.getAddWorkTurns();
}
this.magnitude = type.getMagnitude();
+ this.connected = 0L;
}
public TileImprovement(Game game, XMLStreamReader in) throws XMLStreamException {
@@ -96,229 +99,347 @@
}
/**
- * Initiates a new <code>TileImprovement</code> with the given ID. The object
- * should later be initialized by calling either
+ * Instantiates a new <code>TileImprovement</code> with the given
+ * ID. The object should later be initialized by calling either
* {@link #readFromXML(XMLStreamReader)} or
* {@link #readFromXMLElement(Element)}.
*
- * @param game The <code>Game</code> in which this object belong.
+ * @param game The <code>Game</code> in which this object belongs.
* @param id The unique identifier for this object.
*/
public TileImprovement(Game game, String id) {
super(game, id);
}
- // ------------------------------------------------------------ retrieval methods
-
+ /**
+ * Gets the type of this tile improvement.
+ *
+ * @return The type of this improvement.
+ */
public TileImprovementType getType() {
return type;
}
- public int getMagnitude() {
- return magnitude;
+ /**
+ * Gets a key for message routines.
+ *
+ * @return The name key.
+ */
+ public String getNameKey() {
+ return type.getNameKey();
}
- public void setMagnitude(int magnitude) {
- this.magnitude = magnitude;
+ /**
+ * Is this <code>TileImprovement</code> a road?
+ * TODO: deprecate?
+ *
+ * @return True if this is a road improvement.
+ */
+ public boolean isRoad() {
+ return "model.improvement.road".equals(type.getId());
}
/**
- * Get the <code>Virtual</code> value.
+ * Is this <code>TileImprovement</code> a river?
+ * TODO: deprecate?
*
- * @return a <code>boolean</code> value
+ * @return True if this is a river improvement.
*/
- public final boolean isVirtual() {
- return virtual;
+ public boolean isRiver() {
+ return "model.improvement.river".equals(type.getId());
}
/**
- * Set the <code>Virtual</code> value.
+ * How many turns remain until this improvement is complete?
*
- * @param newVirtual The new Virtual value.
+ * @return The current turns to completion.
*/
- public final void setVirtual(final boolean newVirtual) {
- this.virtual = newVirtual;
+ public int getTurnsToComplete() {
+ return turnsToComplete;
}
/**
- * Is this <code>TileImprovement</code> a road?
- * @return a <code>boolean</code> value
+ * Is this improvement complete?
+ *
+ * @return True if complete.
*/
- public boolean isRoad() {
- return getType().getId().equals("model.improvement.road");
+ public boolean isComplete() {
+ return turnsToComplete <= 0;
}
/**
- * Is this <code>TileImprovement</code> a river?
- * @return a <code>boolean</code> value
+ * Sets the turns required to complete the improvement.
+ *
+ * @param turns The new turns to completion.
*/
- public boolean isRiver() {
- return getType().getId().equals("model.improvement.river");
+ public void setTurnsToComplete(int turns) {
+ turnsToComplete = turns;
}
- public String getNameKey() {
- return getType().getNameKey();
+ /**
+ * Gets the magnitude of this improvement.
+ *
+ * @return The magnitude of this immprovement.
+ */
+ public int getMagnitude() {
+ return magnitude;
}
/**
- * Returns a textual representation of this object.
- * @return A <code>String</code> of either:
- * <ol>
- * <li>NAME (#TURNS turns left) (eg. Road (2 turns left) ) if it is under construction
- * <li>NAME (eg. Road) if it is complete
- * </ol>
+ * Sets the magnitude of this improvement.
+ *
+ * @param magnitude The new magnitude.
*/
- public String toString() {
- if (turnsToComplete > 0) {
- return getType().getId() + " (" + Integer.toString(turnsToComplete) + " turns left)";
- } else {
- return getType().getId();
- }
+ public void setMagnitude(int magnitude) {
+ this.magnitude = magnitude;
}
/**
- * @return the current turns to completion.
+ * Gets the style of this improvement.
+ *
+ * @return The style
*/
- public int getTurnsToComplete() {
- return turnsToComplete;
+ public TileImprovementStyle getStyle() {
+ return style;
}
/**
- * Update the turns required to complete the improvement.
+ * Sets the style of this improvement.
*
- * @param turns an <code>int</code> value
+ * @param style The new style.
*/
- public void setTurnsToComplete(int turns) {
- turnsToComplete = turns;
+ public void setStyle(TileImprovementStyle style) {
+ this.style = style;
}
/**
- * Get the <code>ZIndex</code> value.
+ * Is this a virtual improvement?
*
- * @return an <code>int</code> value
+ * @return True if this is a virtual improvement.
*/
- public final int getZIndex() {
- return type.getZIndex();
+ public final boolean isVirtual() {
+ return virtual;
}
- public boolean isComplete() {
- return turnsToComplete <= 0;
+ /**
+ * Set the virtual status of this improvement.
+ * Used for the roads in a colony center tile.
+ *
+ * @param virtual The new virtual value.
+ */
+ public final void setVirtual(final boolean virtual) {
+ this.virtual = virtual;
}
- public EquipmentType getExpendedEquipmentType() {
- return type.getExpendedEquipmentType();
+ /**
+ * Is this TileImprovement connected to a similar TileImprovement
+ * on a neighbouring tile?
+ *
+ * @param direction The <code>Direction</code> to check.
+ * @return True if this improvement is connected.
+ */
+ public boolean isConnectedTo(Direction direction) {
+ return (connected & (1 << direction.ordinal())) != 0;
}
- public int getExpendedAmount() {
- return type.getExpendedAmount();
+ /**
+ * Sets the connection status in a given direction.
+ *
+ * @param direction The <code>Direction</code> to set.
+ * @param value The new status for the connection.
+ */
+ public void setConnected(Direction direction, boolean value) {
+ boolean now = isConnectedTo(direction);
+ if (now != value) {
+ if (value) {
+ connected |= 1 << direction.ordinal();
+ } else {
+ connected &= ~(1 << direction.ordinal());
+ }
+ }
+ style = TileImprovementStyle.getInstance(encodeConnections());
}
/**
- * Returns the bonus (if any).
- * @param goodsType a <code>GoodsType</code> value
- * @return an <code>int</code> value
+ * Encode a style string suitable for TileImprovementStyle.getInstance.
*/
- public int getBonus(GoodsType goodsType) {
- if (!isComplete()) {
- return 0;
+ private String encodeConnections() {
+ String s = new String();
+ for (Direction d : Direction.values()) {
+ s = s.concat((isConnectedTo(d)) ? Integer.toString(magnitude) :"0");
}
- return type.getBonus(goodsType);
+ return s;
}
/**
- * Returns the bonus Modifier (if any).
- * @param goodsType a <code>GoodsType</code> value
- * @return a <code>Modifier</code> value
+ * Gets a map of connection-direction to magnitude.
+ *
+ * @return A map of the connections.
*/
- public Modifier getProductionModifier(GoodsType goodsType) {
- if (!isComplete()) {
- return null;
+ public Map<Direction, Integer> getConnections() {
+ Map<Direction, Integer> result
+ = new EnumMap<Direction, Integer>(Direction.class);
+ for (Direction d : Direction.values()) {
+ if (isConnectedTo(d)) result.put(d, magnitude);
}
- return type.getProductionModifier(goodsType);
+ return result;
}
/**
+ * Gets the production bonus this improvement provides for a given type
+ * of goods.
+ *
+ * @param goodsType The <code>GoodsType</code> to test.
+ * @return A production bonus, or zero if none applicable.
+ */
+ public int getBonus(GoodsType goodsType) {
+ return (isComplete()) ? type.getBonus(goodsType) : 0;
+ }
+
+ /**
+ * Gets a Modifier for the production bonus this improvement provides
+ * for a given type of goods.
+ *
+ * @param goodsType The <code>GoodsType</code> to test.
+ * @return A production <code>Modifier</code>, or null if none applicable.
+ */
+ public Modifier getProductionModifier(GoodsType goodsType) {
+ return (isComplete()) ? type.getProductionModifier(goodsType) : null;
+ }
+
+
+ /**
* Calculates the movement cost on the basis of connected tile
* improvements.
*
- * @param fromTile a <code>Tile</code> value
- * @param targetTile a <code>Tile</code> value
- * @param moveCost Original movement cost
- * @return The movement cost after any change
+ * @param direction The <code>Direction</code> to move.
+ * @param moveCost The original movement cost.
+ * @return The movement cost with this improvement.
*/
- public int getMoveCost(Tile fromTile, Tile targetTile, int moveCost) {
- if (isComplete()) {
- if (style == null) {
- // implicitly connected to all neighbouring tiles
- return type.getMoveCost(moveCost);
- } else {
- Direction direction = targetTile.getMap().getDirection(targetTile, fromTile);
- // TODO: fix this properly, roads are getting bogus styles
- boolean connected = (isRiver())
- ? style != null && style.isConnectedTo(direction)
- : (isRoad())
- ? fromTile.hasRoad() && targetTile.hasRoad()
- : false;
- if (connected) return type.getMoveCost(moveCost);
- }
- }
- return moveCost;
+ public int getMoveCost(Direction direction, int moveCost) {
+ return (isComplete() && isConnectedTo(direction))
+ ? type.getMoveCost(moveCost)
+ : moveCost;
}
/**
- * Returns any change of TileType
- * @return The new TileType.
+ * What type of tile does this improvement change a given type to?
+ *
+ * @param tileType The original <code>TileType</code>.
+ * @return The <code>TileType</code> that results from completing this
+ * improvement, or null if nothing changes.
*/
public TileType getChange(TileType tileType) {
- if (!isComplete()) {
- return null;
- }
- return type.getChange(tileType);
+ return (isComplete()) ? type.getChange(tileType) : null;
}
/**
- * Returns the Style of this Improvement - used for Rivers
- * @return The style
+ * Can a unit build this improvement?
+ *
+ * @param unit A <code>Unit</code> to do the building.
+ * @return True if the supplied unit can build this improvement.
*/
- public TileImprovementStyle getStyle() {
- return style;
+ public boolean isWorkerAllowed(Unit unit) {
+ return (unit == null || isComplete()) ? false
+ : type.isWorkerAllowed(unit);
}
+
/**
- * Sets the Style of this Improvement - used for Rivers
- * @param style The style
+ * Fixes any tile improvement style discontinuities.
+ *
+ * We check only if this improvement is not connected to a neighbour
+ * that *is* connected to this one, and connect this one.
+ *
+ * TODO: drop this one day when we never have style discontinuities.
+ * This alas is not the case in 0.10.x.
+ *
+ * @return True if the style was coherent, false if a problem was
+ * found and corrected.
*/
- public void setStyle(TileImprovementStyle style) {
- this.style = style;
+ public boolean fixIntegrity() {
+ final Tile tile = getTile();
+ boolean result = true;
+ for (Tile t : tile.getSurroundingTiles(1)) {
+ Direction dForward = tile.getDirection(t);
+ Direction dReverse = dForward.getReverseDirection();
+ for (TileImprovement ti : t.getTileImprovements()) {
+ if (getType() == ti.getType()
+ && !isConnectedTo(dForward)
+ && ti.isConnectedTo(dReverse)) {
+ setConnected(dForward, true);
+ result = false;
+ logger.warning("Connecting improvement " + this
+ + " at " + tile + " to " + t);
+ }
+ }
+ }
+ return result;
}
/**
- * Returns <code>true</code> if this TileImprovement is connected
- * to a similar TileImprovement on the given tile.
+ * Updates the connections from the current style.
*
- * @param direction a <code>Direction</code> value
- * @return a <code>boolean</code> value
+ * Public for the test suite.
*/
- public boolean isConnectedTo(Direction direction) {
- return style == null ? false : style.isConnectedTo(direction);
+ public void updateConnections() {
+ connected = 0L;
+ if (style != null) {
+ Direction[] directions = (isRoad()) ? Direction.values()
+ : Direction.longSides;
+ String mask = style.getMask();
+ for (int i = 0; i < directions.length; i++) {
+ if (mask.charAt(i) != '0') {
+ connected |= 1L << directions[i].ordinal();
+ }
+ }
+ }
}
/**
- * Checks if a given worker can work at this Improvement
+ * Work out what the road style at this tile should be by checking
+ * neighbouring tiles for roads.
+ *
+ * @return A suitable TileImprovementStyle.
*/
- public boolean isWorkerAllowed(Unit unit) {
- if (unit == null) {
- return false;
+ public TileImprovementStyle getRoadStyleFromMap() {
+ if (!isRoad()) return null;
+ final Tile tile = getTile();
+ String s = new String();
+ for (Direction d : Direction.values()) {
+ Tile t = tile.getNeighbourOrNull(d);
+ s = s.concat((t != null && t.hasRoad()) ? "1" : "0");
}
- if (isComplete()) {
- return false;
+ return TileImprovementStyle.getInstance(s);
+ }
+
+ /**
+ * Updates the connections from/to this road improvement.
+ *
+ * @param connect If true, add connections, otherwise remove them.
+ */
+ public void updateRoadConnections(boolean connect) {
+ if (!isRoad() || !isComplete()) return;
+ final Tile tile = getTile();
+ for (Tile t : tile.getSurroundingTiles(1)) {
+ if (t.hasRoad()) {
+ t.getRoad().setConnected(t.getDirection(tile), connect);
+ }
}
- return type.isWorkerAllowed(unit);
}
+ // Interface TileItem
+
/**
* {@inheritDoc}
*/
+ public final int getZIndex() {
+ return type.getZIndex();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public boolean isTileTypeAllowed(TileType tileType) {
return type.isTileTypeAllowed(tileType);
}
@@ -396,16 +517,44 @@
magnitude = Integer.parseInt(in.getAttributeValue(null, "magnitude"));
- style = TileImprovementStyle.getInstance(in.getAttributeValue(null, "style"));
+ str = in.getAttributeValue(null, "style");
+ if (str == null) {
+ style = null;
+ // @compat 0.10.5
+ } else if (str.length() < 4) {
+ String old = TileImprovementStyle.decodeOldStyle(str, isRoad());
+ if (old == null) {
+ logger.warning("Ignoring bogus old TileImprovementStyle: "
+ + str);
+ } else {
+ style = TileImprovementStyle.getInstance(old);
+ }
+ // end compatibility code
+ } else {
+ style = TileImprovementStyle.getInstance(str);
+ if (style == null) {
+ logger.warning("Ignoring bogus TileImprovementStyle: " + str);
+ }
+ }
+ updateConnections();
virtual = getAttribute(in, "virtual", false);
+ }
+ /**
+ * Gets a textual representation of this object.
+ *
+ * @return The id and turns to complete if any.
+ */
+ public String toString() {
+ return getType().getId() + ((turnsToComplete <= 0) ? ""
+ : " (" + Integer.toString(turnsToComplete) + " turns left)");
}
/**
* Gets the tag name of the root element representing this object.
*
- * @return "tileImprovement".
+ * @return "tileimprovement".
*/
public static String getXMLElementTagName() {
return "tileimprovement";
Modified: freecol/trunk/src/net/sf/freecol/common/model/TileImprovementStyle.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/TileImprovementStyle.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/TileImprovementStyle.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -19,7 +19,6 @@
package net.sf.freecol.common.model;
-import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;
@@ -46,125 +45,135 @@
*/
public class TileImprovementStyle {
- private String style;
+ /** Cache all TileImprovementStyles. */
+ private static final Map<String, TileImprovementStyle> cache
+ = new HashMap<String, TileImprovementStyle>();
- private String mask;
+ /** A key for the tile improvement style. */
+ private final String style;
- private Map<Direction, Integer> connections =
- new EnumMap<Direction, Integer>(Direction.class);
+ /** A key for the forest overlay, derived from the above. */
+ private final String mask;
- private static final Map<String, TileImprovementStyle> cache =
- new HashMap<String, TileImprovementStyle>();
+ /**
+ * Private constructor, only called in getInstance() below.
+ *
+ * @param style The (decoded) style.
+ */
+ private TileImprovementStyle(String style) {
+ this.style = style;
- private TileImprovementStyle(String input) {
+ String s = new String();
+ for (int i = 0; i < style.length(); i++) {
+ char c = style.charAt(i);
+ if (Character.digit(c, Character.MAX_RADIX) < 0) break;
+ s = s.concat((c == '0') ? "0" : "1");
+ }
+ this.mask = s;
+ }
- Direction[] directions = (input.length() < 8)
- ? Direction.longSides : Direction.values();
+ // @compat 0.10.5
+ /**
+ * Decode the old base-3 encoded style format.
+ *
+ * @param input An old style string.
+ * @param allDirections If true extend the string to contain a value for
+ * all directions, if not, extend the string only for the long sides.
+ * @return The style in the new format.
+ */
+ public static String decodeOldStyle(String input, boolean allDirections) {
+ Direction[] directions = (allDirections) ? Direction.values()
+ : Direction.longSides;
- // @compat 0.10.5
- if (input.length() < 4) {
- // must be an old style
- style = new String();
+ String style = new String();
+ try {
int value = Integer.parseInt(input);
for (int index = 0; index < 4; index++) {
int magnitude = value % 3;
- style = style.concat(Integer.toString(magnitude, Character.MAX_RADIX));
- connections.put(directions[index], magnitude);
+ style = style.concat(Integer.toString(magnitude,
+ Character.MAX_RADIX));
value /= 3;
}
- // end @compat
- } else {
- style = input;
- char[] chars = new char[directions.length];
- for (int index = 0; index < directions.length; index++) {
- int magnitude = Integer.parseInt(style.substring(index, index + 1),
- Character.MAX_RADIX);
- connections.put(directions[index], magnitude);
- }
+ } catch (NumberFormatException nfe) {
+ return null;
}
- this.mask = new String();
- for (Direction direction : directions) {
- mask = mask.concat((getConnection(direction) == 0) ? "0" : "1");
+ while (style.length() < directions.length) {
+ style = style.concat("0");
}
+ return style;
}
+ // @end compatibility code
-
/**
- * Return the instance identified by the given string.
+ * Gets the style corresponding to the given string.
*
- * @param key a <code>String</code> value
- * @return a <code>TileImprovementStyle</code> value
+ * @param key The key to look up.
+ * @return The corresponding <code>TileImprovementStyle</code>.
*/
public static TileImprovementStyle getInstance(String key) {
- if (key == null || "".equals(key)) {
- return null;
- } else {
- TileImprovementStyle result = cache.get(key);
- if (result == null) {
- result = new TileImprovementStyle(key);
- cache.put(key, result);
- if (result.getString() != key) {
- cache.put(result.getString(), result);
- }
+ if (key == null || "".equals(key)) return null;
+
+ TileImprovementStyle result = cache.get(key);
+ if (result == null) {
+ result = new TileImprovementStyle(key);
+ cache.put(key, result);
+ if (result.getString() != key) {
+ cache.put(result.getString(), result);
}
- return result;
}
+ return result;
}
+ /**
+ * Gets a new style derived from a base version but with an added
+ * connection in a given direction.
+ *
+ * @param direction The new direction to connect to.
+ * @param base The base style (may be null).
+ * @param magnitude The magnitude of the new connection.
+ * @param allDirections The style must include all directions.
+ * @return A new style.
+ */
+ public static TileImprovementStyle getConnectedStyle(Direction direction,
+ TileImprovementStyle base, int magnitude, boolean allDirections) {
+ String style = (base == null) ? decodeOldStyle("0", allDirections)
+ : base.getString();
+ int index = direction.ordinal();
+ if (style.length() < Direction.NUMBER_OF_DIRECTIONS) index /= 2;
+ String result = ((index == 0) ? "" : style.substring(0, index-1))
+ + Integer.toString(magnitude)
+ + ((index+1 == style.length()) ? "" : style.substring(index+1));
+ return getInstance(result);
+ }
+
+
/**
- * Return a string suitable for looking up an appropriate tile
+ * Gets the key suitable for looking up an appropriate tile
* improvement image.
*
- * @return a <code>String</code> value
+ * @return The tile improvement lookup key.
*/
public String getString() {
return style;
}
- public String toString() {
- return style;
- }
-
/**
- * Return a string suitable for looking up an appropriate overlay
+ * Gets the key suitable for looking up an appropriate overlay
* (forest) image.
*
- * @return a <code>String</code> value
+ * @return The overlay lookup key.
*/
public String getMask() {
return mask;
}
- public Map<Direction, Integer> getConnections() {
- return new EnumMap<Direction, Integer>(connections);
- }
-
+
/**
- * Return the magnitude of the TileImprovement in the given
- * direction.
- *
- * @param direction a <code>Direction</code> value
- * @return an <code>int</code> value
+ * {@inheritDoc}
*/
- public int getConnection(Direction direction) {
- if (connections.containsKey(direction)) {
- return connections.get(direction);
- } else {
- return 0;
- }
+ public String toString() {
+ return style;
}
-
- /**
- * Return <code>true</code> if the tile improvement is connected
- * to a similar improvement on the given tile.
- *
- * @param direction a <code>Direction</code> value
- * @return a <code>boolean</code> value
- */
- public boolean isConnectedTo(Direction direction) {
- return getConnection(direction) > 0;
- }
-
-}
\ No newline at end of file
+}
Modified: freecol/trunk/src/net/sf/freecol/common/model/TileImprovementType.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/TileImprovementType.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/TileImprovementType.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -58,8 +58,7 @@
private List<RandomChoice<Disaster>> disasters
= new ArrayList<RandomChoice<Disaster>>();
- private int movementCost;
- private float movementCostFactor;
+ private int movementCost = -1;
/**
* The layer a TileItem belongs to. Items with higher zIndex
@@ -276,28 +275,20 @@
}
/**
- * Performs reduction of the movement-cost.
- * @param moveCost Original movement cost
- * @return The movement cost after any change
+ * Possibly reduces the cost of moving due to this tile
+ * improvement type.
+ *
+ * Only applies if movementCost is positive (see spec). Do not
+ * return zero from a movement costing routine or units get free
+ * moves!
+ *
+ * @param originalCost The original movement cost.
+ * @return The movement cost after any change.
*/
- public int getMoveCost(int moveCost) {
- int cost = moveCost;
- if (movementCostFactor >= 0) {
- float cost2 = cost * movementCostFactor;
- cost = (int)cost2;
- if (cost < cost2) {
- cost++;
- }
- }
- if (movementCost > 0) {
- // Only >0 values are meaningful (see spec).
- // Do not return zero from a movement costing routine or
- // units get free moves!
- if (movementCost < cost) {
- cost = movementCost;
- }
- }
- return cost;
+ public int getMoveCost(int originalCost) {
+ return (movementCost > 0 && movementCost < originalCost)
+ ? movementCost
+ : originalCost;
}
/**
@@ -444,7 +435,6 @@
natural = getAttribute(in, "natural", false);
addWorkTurns = getAttribute(in, "add-work-turns", 0);
movementCost = getAttribute(in, "movement-cost", 0);
- movementCostFactor = -1;
magnitude = getAttribute(in, "magnitude", 1);
requiredImprovementType = getSpecification().getType(in,
Modified: freecol/trunk/src/net/sf/freecol/common/model/TileItem.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/TileItem.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/TileItem.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -120,6 +120,7 @@
return 0;
}
+
/**
* Get the <code>ZIndex</code> value.
*
Modified: freecol/trunk/src/net/sf/freecol/common/model/TileItemContainer.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/TileItemContainer.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/common/model/TileItemContainer.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -349,7 +349,8 @@
for (TileItem item : tileItems) {
if (item instanceof TileImprovement
&& ((TileImprovement) item).isComplete()) {
- moveCost = Math.min(moveCost, ((TileImprovement) item).getMoveCost(fromTile, targetTile, moveCost));
+ moveCost = Math.min(moveCost,
+ ((TileImprovement)item).getMoveCost(targetTile.getDirection(fromTile), moveCost));
}
}
return moveCost;
@@ -505,45 +506,8 @@
// ------------------------------------------------------------ manipulation methods
- /**
- * Creates a river <code>TileImprovement</code> and adds to this Tile/Container.
- * Checking for overwrite is done by {@link #addTileItem}.
- * @param magnitude The Magnitude of the river to be created
- * @param style an <code>int</code> value
- * @return The new river added, or the existing river TileImprovement
- */
- public TileImprovement addRiver(int magnitude, TileImprovementStyle style) {
- if (magnitude == TileImprovement.NO_RIVER) {
- return null;
- }
- TileImprovement river = new TileImprovement(getGame(), tile, getSpecification()
- .getTileImprovementType("model.improvement.river"));
- river = (TileImprovement) addTileItem(river);
- river.setMagnitude(magnitude);
- river.setStyle(style);
- invalidateCache();
- return river;
- }
/**
- * Removes the river <code>TileImprovement</code> from this Tile/Container.
- */
- // Change neighbours' River Style with {@link #adjustNeighbourRiverStyle}.
- public TileImprovement removeRiver() {
- Iterator<TileItem> iterator = tileItems.iterator();
- while (iterator.hasNext()) {
- TileItem item = iterator.next();
- if (item instanceof TileImprovement && ((TileImprovement) item).isRiver()) {
- iterator.remove();
- invalidateCache();
- return (TileImprovement) item;
- }
- }
- return null;
- }
-
-
- /**
* This method writes an XML-representation of this object to
* the given stream.
*
Modified: freecol/trunk/src/net/sf/freecol/server/generator/River.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/server/generator/River.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/server/generator/River.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -451,14 +451,12 @@
logger.fine("Added fjord (magnitude: " + section.getSize() +
") to tile at " + section.getPosition());
} else if (section.getSize() > TileImprovement.NO_RIVER) {
- TileItemContainer container = tile.getTileItemContainer();
- if (container == null) {
- container = new TileItemContainer(tile.getGame(), tile);
- tile.setTileItemContainer(container);
- }
- container.addRiver(section.getSize(), TileImprovementStyle.getInstance(section.encodeStyle()));
- logger.fine("Added river (magnitude: " + section.getSize() +
- ") to tile at " + section.getPosition());
+ String style = section.encodeStyle();
+ tile.addRiver(section.getSize(), style);
+ logger.fine("Added river"
+ + "(magnitude: " + section.getSize()
+ + " style: " + style
+ + ") at " + section.getPosition());
}
region.addTile(tile);
oldSection = section;
Modified: freecol/trunk/src/net/sf/freecol/server/generator/SimpleMapGenerator.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/server/generator/SimpleMapGenerator.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/server/generator/SimpleMapGenerator.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -997,15 +997,9 @@
ct.setType(t);
TileImprovementType plowType = map.getSpecification()
.getTileImprovementType("model.improvement.plow");
- TileImprovementType roadType = map.getSpecification()
- .getTileImprovementType("model.improvement.road");
- TileImprovement road = new TileImprovement(game, ct, roadType);
- road.setTurnsToComplete(0);
TileImprovement plow = new TileImprovement(game, ct, plowType);
plow.setTurnsToComplete(0);
- ct.setTileItemContainer(new TileItemContainer(game, ct));
- ct.getTileItemContainer().addTileItem(road);
- ct.getTileItemContainer().addTileItem(plow);
+ ct.add(plow);
break;
}
}
Modified: freecol/trunk/src/net/sf/freecol/server/model/ServerColony.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/server/model/ServerColony.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/server/model/ServerColony.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -88,12 +88,10 @@
established = game.getTurn();
tile.setOwner(owner);
if (!tile.hasRoad()) {
- TileImprovement road
- = new TileImprovement(game, tile,
- spec.getTileImprovementType("model.improvement.road"));
+ TileImprovement road = tile.addRoad();
road.setTurnsToComplete(0);
road.setVirtual(true);
- tile.add(road);
+ road.updateRoadConnections(true);
}
ColonyTile colonyTile = new ServerColonyTile(game, this, tile);
Modified: freecol/trunk/src/net/sf/freecol/server/model/ServerUnit.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/server/model/ServerUnit.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/src/net/sf/freecol/server/model/ServerUnit.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -237,6 +237,7 @@
if (ti.isComplete()) {
setState(UnitState.ACTIVE);
setWorkLeft(-1);
+ if (ti.isRoad()) ti.updateRoadConnections(true);
} else {
// Otherwise do work
int amount = (getType().hasAbility(Ability.EXPERT_PIONEER))
@@ -407,8 +408,8 @@
}
// Expend equipment
- EquipmentType type = ti.getExpendedEquipmentType();
- changeEquipment(type, -ti.getExpendedAmount());
+ EquipmentType type = ti.getType().getExpendedEquipmentType();
+ changeEquipment(type, -ti.getType().getExpendedAmount());
for (Unit unit : tile.getUnitList()) {
if (unit.getWorkImprovement() != null
&& unit.getWorkImprovement().getType() == ti.getType()
Modified: freecol/trunk/test/src/net/sf/freecol/common/model/MovementTest.java
===================================================================
--- freecol/trunk/test/src/net/sf/freecol/common/model/MovementTest.java 2013-01-31 11:42:02 UTC (rev 10490)
+++ freecol/trunk/test/src/net/sf/freecol/common/model/MovementTest.java 2013-01-31 23:34:15 UTC (rev 10491)
@@ -25,19 +25,34 @@
public class MovementTest extends FreeColTestCase {
+ private static final TileType hills
+ = spec().getTileType("model.tile.hills");
+ private static final TileType ocean
+ = spec().getTileType("model.tile.ocean");
+ private static final TileType plains
+ = spec().getTileType("model.tile.plains");
- TileType plains = spec().getTileType("model.tile.plains");
- TileType hills = spec().getTileType("model.tile.hills");
- TileType ocean = spec().getTileType("model.tile.ocean");
+ private static final UnitType braveType
+ = spec().getUnitType("model.unit.brave");
+ private static final UnitType colonistType
+ = spec().getUnitType("model.unit.freeColonist");
+ private static final UnitType galleonType
+ = spec().getUnitType("model.unit.galleon");
- UnitType galleonType = spec().getUnitType("model.unit.galleon");
- UnitType colonistType = spec().getUnitType("model.unit.freeColonist");
- UnitType braveType = spec().getUnitType("model.unit.brave");
+ private static final EquipmentType horses
+ = spec().getEquipmentType("model.equipment.horses");
+ private static final EquipmentType indianHorses
+ = spec().getEquipmentType("model.equipment.indian.horses");
+ private static final EquipmentType indianMuskets
+ = spec().getEquipmentType("model.equipment.indian.muskets");
+ private static final EquipmentType muskets
+ = spec().getEquipmentType("model.equipment.muskets");
+
+ private static final TileImprovementType riverType
+ = spec().getTileImprovementType("model.improvement.river");
+ private static final TileImprovementType roadType
+ = spec().getTileImprovementType("model.improvement.road");
- EquipmentType horses = spec().getEquipmentType("model.equipment.horses");
- EquipmentType muskets = spec().getEquipmentType("model.equipment.muskets");
- EquipmentType indianHorses = spec().getEquipmentType("model.equipment.indian.horses");
- EquipmentType indianMuskets = spec().getEquipmentType("model.equipment.indian.muskets");
public void testMoveFromPlainsToPlains() throws Exception {
@@ -61,8 +76,7 @@
assertTrue("No improvements", tile2.getTileImprovements().isEmpty());
TileImprovement ti = new TileImprovement(game, tile2, spec().getTileImprovementType("model.improvement.plow"));
ti.setTurnsToComplete(0);
- tile2.setTileItemContainer(new TileItemContainer(game, tile2));
- tile2.getTileItemContainer().addTileItem(ti);
+ tile2.add(ti);
assertTrue("Plowed", tile2.getCompletedTileImprovements().size() == 1);
assertEquals(moveCost, colonist.getMoveCost(tile2));
assertEquals(Math.min(moveCost, colonistType.getMovement()),
@@ -101,30 +115,29 @@
tile1.setExploredBy(dutch, true);
tile2.setExploredBy(dutch, true);
- TileImprovementType roadType = spec().getTileImprovementType("model.improvement.road");
- TileImprovement road1 = new TileImprovement(game, tile1, roadType);
+ TileImprovement road1 = tile1.addRoad();
assertTrue(road1.isRoad());
assertFalse(road1.isComplete());
road1.setTurnsToComplete(0);
assertTrue(road1.isComplete());
- tile1.setTileItemContainer(new TileItemContainer(game, tile1));
- tile1.getTileItemContainer().addTileItem(road1);
- assertTrue(tile1.hasRoad());
+ road1.updateRoadConnections(true);
+ assertEquals(road1, tile1.getRoad());
- TileImprovement road2 = new TileImprovement(game, tile2, roadType);
+ TileImprovement road2 = tile2.addRoad();
road2.setTurnsToComplete(0);
- tile2.setTileItemContainer(new TileItemContainer(game, tile2));
- tile2.getTileItemContainer().addTileItem(road2);
+ road2.updateRoadConnections(true);
assertTrue(road2.isComplete());
- assertTrue(tile2.hasRoad());
+ assertEquals(road2, tile2.getRoad());
+
+ assertTrue(road1.isConnectedTo(tile1.getDirection(tile2)));
+ assertTrue(road2.isConnectedTo(tile2.getDirection(tile1)));
+System.err.println("TMARoad " + tile1.getDirection(tile2));
Unit colonist = new ServerUnit(game, tile1, dutch, colonistType);
-
int moveCost = 1;
assertEquals(moveCost, colonist.getMoveCost(tile2));
assertEquals(Math.min(moveCost, colonistType.getMovement()),
colonist.getMoveCost(tile2));
-
}
public void testMoveAlongRiver() throws Exception {
@@ -137,28 +150,32 @@
Tile tile2 = tile1.getAdjacentTile(Map.Direction.NE);
tile1.setExploredBy(dutch, true);
tile2.setExploredBy(dutch, true);
+ assertEquals(Map.Direction.NE, map.getDirection(tile1, tile2));
+ assertEquals(Map.Direction.SW, map.getDirection(tile2, tile1));
- TileImprovementType riverType = spec().getTileImprovementType("model.improvement.river");
- TileImprovement river1 = new TileImprovement(game, tile1, riverType);
+ TileImprovement river1 = tile1.addRiver(1, "0101");
assertTrue(river1.isRiver());
assertTrue(river1.isComplete());
- tile1.setTileItemContainer(new TileItemContainer(game, tile1));
- tile1.getTileItemContainer().addTileItem(river1);
assertTrue(tile1.hasRiver());
- TileImprovement river2 = new TileImprovement(game, tile2, riverType);
- river2.setTurnsToComplete(0);
- tile2.setTileItemContainer(new TileItemContainer(game, tile2));
- tile2.getTileItemContainer().addTileItem(river2);
+ TileImprovement river2 = tile2.addRiver(1, "0101");
+ assertTrue(river2.isRiver());
assertTrue(river2.isComplete());
assertTrue(tile2.hasRiver());
+ assertFalse(river1.isConnectedTo(Map.Direction.NE));
+ assertTrue (river1.isConnectedTo(Map.Direction.SE));
+ assertFalse(river1.isConnectedTo(Map.Direction.SW));
+ assertTrue (river1.isConnectedTo(Map.Direction.NW));
+ assertFalse(river2.isConnectedTo(Map.Direction.NE));
+ assertTrue (river2.isConnectedTo(Map.Direction.SE));
+ assertFalse(river2.isConnectedTo(Map.Direction.SW));
+ assertTrue (river2.isConnectedTo(Map.Direction.NW));
+
Unit colonist = new ServerUnit(game, tile1, dutch, colonistType);
+System.err.println("TMAR");
- // rivers run parallel, no cost reduction
- river1.setStyle(TileImprovementStyle.getInstance("0101"));
- river2.setStyle(TileImprovementStyle.getInstance("0101"));
-
+ // rivers start parallel, no cost reduction
int moveCost = 3;
assertEquals(moveCost, colonist.getMoveCost(tile2));
assertEquals(Math.min(moveCost, colonistType.getMovement()),
@@ -166,17 +183,23 @@
// rivers are connected, cost reduction applies
river1.setStyle(TileImprovementStyle.getInstance("1000"));
- assertEquals(Map.Direction.NE, map.getDirection(tile1, tile2));
- assertTrue(tile1.getRiver().getStyle().isConnectedTo(Map.Direction.NE));
river2.setStyle(TileImprovementStyle.getInstance("0010"));
- assertEquals(Map.Di...
[truncated message content] |
|
From: <mp...@us...> - 2013-01-31 11:42:04
|
Revision: 10490
http://sourceforge.net/p/freecol/code/10490
Author: mpope
Date: 2013-01-31 11:42:02 +0000 (Thu, 31 Jan 2013)
Log Message:
-----------
Merge git.3d77fa7: Add AI mission success counting scripts.
Added Paths:
-----------
freecol/trunk/test/bin/
freecol/trunk/test/bin/btan.sh
freecol/trunk/test/bin/fclogscore.sh
freecol/trunk/test/bin/stats.awk
Added: freecol/trunk/test/bin/btan.sh
===================================================================
--- freecol/trunk/test/bin/btan.sh (rev 0)
+++ freecol/trunk/test/bin/btan.sh 2013-01-31 11:42:02 UTC (rev 10490)
@@ -0,0 +1,100 @@
+#! /bin/sh
+# btan.sh
+# Analyze bigtest run
+#
+# Usage:
+# btan.sh <tag> < <fc-log-score-output>
+#
+if test "x$1" = "x" ; then name=Unknown ; else name="$1" ; fi
+name=`date +%Y%m%d`-"$name"
+STATS=stats # Where is the stats awk script?
+blockitstate=y
+
+
+blockit () {
+ if test "$blockitstate" = "y" ; then
+ echo -n " "
+ blockitstate=n
+ else
+ echo
+ blockitstate=y
+ fi
+}
+
+statit () {
+ statitMEAN=0 ; statitSD=0
+ eval `$STATS | sed -e 's/^n=[^ ]* *mean=\([^ ]*\) *sd=\(.*\)$/statitMEAN="\1";statitSD="\2"/' -`
+ printf "%7.3f ~ %7.3f" "$statitMEAN" "$statitSD"
+}
+
+tmp=`mktemp btan.XXXXXXXX`
+trap "rm -f '$tmp'" 0
+cat - > "$tmp"
+runs=`sed -n -e 's/^run: .*colonies: n=\([0-9]*\) mean=\([\.0-9]*\) sd=\([\.0-9]*\)$/NC="\1";MEAN="\2";SD="\3"/p' "$tmp"`
+
+N=0
+for r in $runs ; do N=`expr $N + 1`; done
+echo "$name x $N"
+
+
+echo -n "Builds "
+sed -n -e 's/^Count builds: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Cashins "
+sed -n -e 's/^Count cashins: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Colony# "
+(for r in $runs ; do eval $r ; echo $NC ; done) | statit
+blockit
+
+echo -n "ColonySize "
+(for r in $runs ; do eval $r ; echo $MEAN ; done) | statit
+blockit
+
+echo -n "Defences "
+sed -n -e 's/^Count defences: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Missions "
+sed -n -e 's/^Count missions: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Native Demands"
+sed -n -e 's/^Count demands: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Native Gifts "
+sed -n -e 's/^Count gifts: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Pioneerings "
+sed -n -e 's/^Count pioneerings: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Piracies "
+sed -n -e 's/^Count piracies: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Scoutings "
+sed -n -e 's/^Count scoutings: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Seek+Destroys "
+sed -n -e 's/^Count seek+dests: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Transports "
+sed -n -e 's/^Count transports: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Turn Speed "
+sed -n -e 's/^Average turn: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+echo -n "Wishes "
+sed -n -e 's/^Count wishes: *\(.*\)$/\1/p' "$tmp" | statit
+blockit
+
+test "$blockitstate" = "y" || echo
Property changes on: freecol/trunk/test/bin/btan.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/x-sh
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: freecol/trunk/test/bin/fclogscore.sh
===================================================================
--- freecol/trunk/test/bin/fclogscore.sh (rev 0)
+++ freecol/trunk/test/bin/fclogscore.sh 2013-01-31 11:42:02 UTC (rev 10490)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# fclogscore
+# Analyze FC log
+#
+# Usage:
+# fclogscore.sh <freecol-log-file>...
+#
+STATS=stats.awk # Where is the stats awk script?
+
+statit () {
+ statitMEAN=0 ; statitSD=0
+ eval `$STATS | sed -e 's/^n=[^ ]* *mean=\([^ ]*\) *sd=\(.*\)$/statitMEAN="\1";statitSD="\2"/' -`
+ printf "%7.3f" "$statitMEAN"
+}
+
+countinlog () {
+ echo -n 'Count builds: ' ; grep -c 'AI colony builder completed' "$1"
+ echo -n 'Count cashins: ' ; grep -c 'AI treasureTrain completed' "$1"
+ echo -n 'Count defences: ' ; grep -c 'AI defender completed' "$1"
+ echo -n 'Count missions: ' ; grep -c 'AI missionary completed' "$1"
+ echo -n 'Count demands: ' ; grep -c 'AI native demander completed' "$1"
+ echo -n 'Count gifts: ' ; grep -c 'AI native gifter completed' "$1"
+ echo -n 'Count pioneerings: ' ; grep -c 'AI pioneer completed' "$1"
+ echo -n 'Count piracies: ' ; grep -c 'AI privateer completed' "$1"
+ echo -n 'Count scoutings: ' ; grep -c 'AI scout completed' "$1"
+ echo -n 'Count seek+dests: ' ; grep -c 'AI seek+destroyer attacking' "$1"
+ echo -n 'Count transports: ' ; grep -c 'AI transport completed' "$1"
+ echo -n 'Count wishes: ' ; grep -c 'AI wisher completed' "$1"
+ echo -n 'Average turn: '
+ avg=`sed -n -e 's/^.*duration = \(.*\)ms$/\1/p' "$1" | statit`
+ echo "scale=3; $avg / 1000.0" | bc
+# echo "########## Spanish Succession"
+# sed -n -e '{ s/^\t\(INFO: Spanish succession.*\)/\1/p ; T ; n ; p }' "$1"
+}
+
+for f in ${1+"$@"} ; do
+ if test -r "$f" ; then
+ countinlog "$f"
+ else
+ echo "can not read: $f" >&2
+ exit 1
+ fi
+done
+exit 0
Property changes on: freecol/trunk/test/bin/fclogscore.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/x-sh
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: freecol/trunk/test/bin/stats.awk
===================================================================
--- freecol/trunk/test/bin/stats.awk (rev 0)
+++ freecol/trunk/test/bin/stats.awk 2013-01-31 11:42:02 UTC (rev 10490)
@@ -0,0 +1,22 @@
+#!/usr/bin/awk -f
+BEGIN { n = 0; m = 0.0; } {
+ if (NF == 1) {
+ n++;
+ a[$1]++;
+ m += $1;
+ } else if (NF == 2) {
+ n += $1;
+ a[$2] += $1;
+ m += $1 * $2;
+ }
+} END {
+ v = 0.0;
+ if (n != 0) {
+ m /= n;
+ for (x in a) {
+ v += (x - m) * (x - m) * a[x];
+ }
+ v = sqrt(v / n);
+ }
+ printf "n=%d mean=%f sd=%f\n", n, m, v;
+}
Property changes on: freecol/trunk/test/bin/stats.awk
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/x-awk
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-31 11:29:41
|
Revision: 10489
http://sourceforge.net/p/freecol/code/10489
Author: mpope
Date: 2013-01-31 11:29:38 +0000 (Thu, 31 Jan 2013)
Log Message:
-----------
Merge git.82e34ad: Fix odd recruit price increase, contributed by wintertime.
Modified Paths:
--------------
freecol/trunk/data/rules/classic/specification.xml
Modified: freecol/trunk/data/rules/classic/specification.xml
===================================================================
--- freecol/trunk/data/rules/classic/specification.xml 2013-01-31 11:09:46 UTC (rev 10488)
+++ freecol/trunk/data/rules/classic/specification.xml 2013-01-31 11:29:38 UTC (rev 10489)
@@ -2190,7 +2190,7 @@
<optionGroup id="model.difficulty.medium" editable="false">
<optionGroup id="model.difficulty.immigration">
<integerOption id="model.option.crossesIncrement" value="10"/>
- <integerOption id="model.option.recruitPriceIncrease" value="40"/>
+ <integerOption id="model.option.recruitPriceIncrease" value="30"/>
<integerOption id="model.option.lowerCapIncrease" value="0"/>
<integerOption id="model.option.priceIncrease.artillery" value="100"/>
<booleanOption id="model.option.priceIncreasePerType" value="true"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-31 11:09:50
|
Revision: 10488
http://sourceforge.net/p/freecol/code/10488
Author: mpope
Date: 2013-01-31 11:09:46 +0000 (Thu, 31 Jan 2013)
Log Message:
-----------
Merge git.bc112fc: Improved window size detection, contributed by wintertime.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/FreeCol.java
freecol/trunk/src/net/sf/freecol/client/FreeColClient.java
freecol/trunk/src/net/sf/freecol/client/gui/GUI.java
Modified: freecol/trunk/src/net/sf/freecol/FreeCol.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/FreeCol.java 2013-01-31 11:03:23 UTC (rev 10487)
+++ freecol/trunk/src/net/sf/freecol/FreeCol.java 2013-01-31 11:09:46 UTC (rev 10488)
@@ -537,17 +537,16 @@
if (line.hasOption("windowed")) {
String dimensions = line.getOptionValue("windowed");
- if (dimensions == null) {
- windowSize = new Dimension(-1, -1);
- } else {
- String[] xy = dimensions.split("[^0-9]");
- if (xy.length == 2) {
+ String[] xy;
+ if (dimensions != null
+ && (xy = dimensions.split("[^0-9]")) != null
+ && xy.length == 2) {
+ try {
windowSize = new Dimension(Integer.parseInt(xy[0]),
Integer.parseInt(xy[1]));
- } else {
- usageError = true;
- }
+ } catch (NumberFormatException nfe) {}
}
+ if (windowSize == null) windowSize = new Dimension(-1, -1);
}
} catch (ParseException e) {
Modified: freecol/trunk/src/net/sf/freecol/client/FreeColClient.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/FreeColClient.java 2013-01-31 11:03:23 UTC (rev 10487)
+++ freecol/trunk/src/net/sf/freecol/client/FreeColClient.java 2013-01-31 11:09:46 UTC (rev 10488)
@@ -178,10 +178,10 @@
gui.displaySplashScreen(splashFilename);
// Determine the window size.
- gui.setWindowed(size != null);
- final Dimension windowSize = (size == null) ? null
+ final Dimension windowSize = (headless || size == null) ? null
: (size.width <= 0 || size.height <= 0) ? gui.determineWindowSize()
: size;
+ gui.setWindowed(size != null);
logger.info("Window size is " + windowSize);
// Control
Modified: freecol/trunk/src/net/sf/freecol/client/gui/GUI.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/GUI.java 2013-01-31 11:03:23 UTC (rev 10487)
+++ freecol/trunk/src/net/sf/freecol/client/gui/GUI.java 2013-01-31 11:09:46 UTC (rev 10488)
@@ -25,10 +25,12 @@
import java.awt.Graphics2D;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
+import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;
+import java.awt.Insets;
import java.awt.image.BufferedImage;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
@@ -120,7 +122,10 @@
/**
* The space not being used in windowed mode.
*/
- private static final int DEFAULT_WINDOW_SPACE = 50;
+ private static final int DEFAULT_SCREEN_INSET_WIDTH = 0;
+ private static final int DEFAULT_SCREEN_INSET_HEIGHT = 32;
+ private static final int DEFAULT_WINDOW_INSET_WIDTH = 6;
+ private static final int DEFAULT_WINDOW_INSET_HEIGHT = 30;
@@ -148,7 +153,7 @@
* with the default MapViewer.
*/
private MapViewer colonyTileGUI;
-
+
private ImageLibrary imageLibrary;
private SoundPlayer soundPlayer;
@@ -247,20 +252,53 @@
return canvas.containsInGameComponents();
}
+ /**
+ * Estimate size of client area for a window of maximum size.
+ */
public Dimension determineWindowSize() {
- Rectangle bounds = GraphicsEnvironment.getLocalGraphicsEnvironment()
- .getMaximumWindowBounds();
- Dimension size = new Dimension(bounds.width - DEFAULT_WINDOW_SPACE,
- bounds.height - DEFAULT_WINDOW_SPACE);
+ final GraphicsEnvironment lge
+ = GraphicsEnvironment.getLocalGraphicsEnvironment();
+ final GraphicsDevice gd;
+ try {
+ gd = lge.getDefaultScreenDevice();
+ } catch (HeadlessException e) {
+ return null;
+ }
+
+ // Get max size of window including border.
+ Rectangle bounds = lge.getMaximumWindowBounds();
+
+ // Do we trust getMaximumWindowBounds?
+ // Check the insets for evidence the taskbar has been missed.
+ Insets insets = Toolkit.getDefaultToolkit()
+ .getScreenInsets(gd.getDefaultConfiguration());
+ if (insets != null && insets.top <= 0 && insets.bottom <= 0) {
+ bounds.height -= DEFAULT_SCREEN_INSET_HEIGHT;
+ }
+ if (insets != null && insets.left <= 0 && insets.right <= 0) {
+ bounds.width -= DEFAULT_SCREEN_INSET_WIDTH;
+ }
+
+ // TODO: find better way to get size of window title and
+ // border. The information is only available from getInsets
+ // when a window is already displayable.
+ Dimension size
+ = new Dimension(bounds.width - DEFAULT_WINDOW_INSET_WIDTH,
+ bounds.height - DEFAULT_WINDOW_INSET_HEIGHT);
+ logger.info("Screen = " + Toolkit.getDefaultToolkit().getScreenSize()
+ + "\nBounds = " + gd.getDefaultConfiguration().getBounds()
+ + "\nMaxBounds = " + lge.getMaximumWindowBounds()
+ + "\nInsets = " + insets
+ + "\n => " + size);
return size;
}
- public void displayChat(String senderNme, String message, boolean privateChat) {
+
+ public void displayChat(String senderNme, String message,
+ boolean privateChat) {
canvas.displayChat(senderNme, message, privateChat);
-
}
-
/**
* Tells the map controls that a chat message was received.
*
@@ -503,7 +541,7 @@
public void setActiveUnit(Unit unitToActivate) {
mapViewer.setActiveUnit(unitToActivate);
- if (unitToActivate != null
+ if (unitToActivate != null
&& !freeColClient.getMyPlayer().owns(unitToActivate)) {
canvas.repaint(0, 0, canvas.getWidth(), canvas.getHeight());
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-31 11:03:26
|
Revision: 10487
http://sourceforge.net/p/freecol/code/10487
Author: mpope
Date: 2013-01-31 11:03:23 +0000 (Thu, 31 Jan 2013)
Log Message:
-----------
Merge git.2770eb9: Partially fixes BR.2510
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/client/gui/panel/ColonyPanel.java
Modified: freecol/trunk/src/net/sf/freecol/client/gui/panel/ColonyPanel.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/panel/ColonyPanel.java 2013-01-29 07:58:59 UTC (rev 10486)
+++ freecol/trunk/src/net/sf/freecol/client/gui/panel/ColonyPanel.java 2013-01-31 11:03:23 UTC (rev 10487)
@@ -1425,7 +1425,12 @@
}
getController().work(unit, building);
- return true;
+ // check to see if the unit actually starts working at the building
+ // some units like a teacher may not have actually started working there
+ if(unit.getWorkBuilding() == building){
+ return true;
+ }
+ return false;
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-29 07:59:02
|
Revision: 10486
http://sourceforge.net/p/freecol/code/10486
Author: mpope
Date: 2013-01-29 07:58:59 +0000 (Tue, 29 Jan 2013)
Log Message:
-----------
Merge git.698ef62: Fix data loss and simplify ReceivingThread.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/common/networking/ReceivingThread.java
Modified: freecol/trunk/src/net/sf/freecol/common/networking/ReceivingThread.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/networking/ReceivingThread.java 2013-01-28 06:55:46 UTC (rev 10485)
+++ freecol/trunk/src/net/sf/freecol/common/networking/ReceivingThread.java 2013-01-29 07:58:59 UTC (rev 10486)
@@ -78,140 +78,105 @@
* @param in The input stream in which this object should get the data
* from.
*/
- FreeColNetworkInputStream(InputStream in) {
+ public FreeColNetworkInputStream(InputStream in) {
this.in = in;
}
/**
+ * Prepares the input stream for a new message.
+ * Makes the subsequent calls to <code>read</code> return the data
+ * instead of <code>-1</code>.
+ */
+ public void enable() {
+ wait = false;
+ }
+
+ /**
* Fills the buffer with data.
*
- * @return <i>true</i> if the buffer has been filled with data, and
- * <i>false</i> if an error occured.
- * @exception IOException if thrown by the underlying stream.
+ * @return True if a non-zero amount of data was read into the buffer.
+ * @exception IOException is thrown by the underlying read.
+ * @exception IllegalStateException if the buffer is not empty.
*/
private boolean fill() throws IOException {
+ if (!empty) throw new IllegalStateException("Not empty.");
+
int r;
- if (bStart < bEnd || empty && bStart == bEnd) {
- if (empty) {
- bStart = 0;
- bEnd = 0;
- }
+ if (bStart < bEnd) {
r = in.read(buffer, bEnd, BUFFER_SIZE - bEnd);
} else if (bStart == bEnd) {
- throw new IllegalStateException();
+ bStart = bEnd = 0; // Might as well resync.
+ r = in.read(buffer, bEnd, BUFFER_SIZE - bEnd);
} else {
r = in.read(buffer, bEnd, bStart - bEnd);
}
+ if (r <= 0) return false;
- if (r <= 0) {
- logger.fine("Could not read data from stream.");
- return false;
- }
-
empty = false;
bEnd += r;
- if (bEnd == BUFFER_SIZE) {
- bEnd = 0;
- }
+ if (bEnd >= BUFFER_SIZE) bEnd = 0;
return true;
}
/**
- * Prepares the input stream for a new message.
- * Makes the subsequent calls to <code>read</code> return the data
- * instead of <code>-1</code>.
- */
- public void enable() {
- wait = false;
- }
-
- /**
* Reads a single byte.
*
+ * @return The byte read, or -1 on error or "end" of stream.
* @see #read(byte[], int, int)
+ * @exception IOException is thrown by the underlying read.
*/
public int read() throws IOException {
if (wait) return -1;
- if (empty) {
- if (!fill()) {
- wait = true;
- return -1;
- }
+ if (empty && !fill()) {
+ wait = true;
+ return -1;
}
- if (buffer[bStart] == END_OF_STREAM) {
- bStart++;
- if (bStart == BUFFER_SIZE) {
- bStart = 0;
- }
- if (bStart == bEnd) {
- empty = true;
- }
+ int ret = buffer[bStart];
+ bStart++;
+ if (bStart >= BUFFER_SIZE) bStart = 0;
+ if (bStart == bEnd) empty = true;
+
+ if (ret == END_OF_STREAM) {
wait = true;
- return -1;
- } else {
- bStart++;
- if (bStart == bEnd || bEnd == 0 && bStart == BUFFER_SIZE) {
- empty = true;
- }
- if (bStart == BUFFER_SIZE) {
- bStart = 0;
- return buffer[BUFFER_SIZE - 1];
- } else {
- return buffer[bStart - 1];
- }
+ ret = -1;
}
+ return ret;
}
/**
* Reads from the buffer and returns the data.
*
- * @param b The place where the data will be put.
- * @param off The offset to use when writing the data to
- * <code>b</code>.
- * @param len Number of bytes to read.
- * @return The actual number of bytes read and <code>-1</code> if the
- * message has ended, that is; if the token
- * {@link #END_OF_STREAM} is encountered.
+ * @param b The buffer to put the data in.
+ * @param off The offset to use when writing the data.
+ * @param len The maximum number of bytes to read.
+ * @return The actual number of bytes read, or -1 if the
+ * message has ended ({@link #END_OF_STREAM} was encountered).
*/
public int read(byte[] b, int off, int len) throws IOException {
if (wait) return -1;
- if (empty) {
- if (!fill()) {
+ int n = 0;
+ for (; n < len; n++) {
+ if (empty && !fill()) {
wait = true;
- return -1;
+ break;
}
- }
- int r = 0;
- for (; r < len; r++) {
- if (buffer[bStart] == END_OF_STREAM) {
- bStart++;
- if (bStart == BUFFER_SIZE) {
- bStart = 0;
- }
- if (bStart == bEnd) {
- empty = true;
- }
+ byte value = buffer[bStart];
+ bStart++;
+ if (bStart == BUFFER_SIZE) bStart = 0;
+ if (bStart == bEnd) empty = true;
+
+ if (value == END_OF_STREAM) {
wait = true;
- return r;
+ break;
}
-
- b[r + off] = buffer[bStart];
- bStart++;
- if (bStart == bEnd || bEnd == 0 && bStart == BUFFER_SIZE) {
- empty = true;
- if (!fill()) {
- wait = true;
- return r + 1;
- }
- }
- if (bStart == BUFFER_SIZE) bStart = 0;
+ b[n + off] = value;
}
- return len;
+ return (n <= 0 && wait) ? -1 : n;
}
}
@@ -320,11 +285,12 @@
*/
private void listen() throws IOException, SAXException,
XMLStreamException {
+ if (!shouldRun()) return;
+ in.enable();
+
final int LOOK_AHEAD = 4096;
BufferedInputStream bis = new BufferedInputStream(in, LOOK_AHEAD);
- in.enable();
bis.mark(LOOK_AHEAD);
- if (!shouldRun()) return;
XMLInputFactory xif = XMLInputFactory.newInstance();
XMLStreamReader xmlIn = xif.createXMLStreamReader(bis);
@@ -370,22 +336,21 @@
listen();
timesFailed = 0;
} catch (XMLStreamException e) {
- timesFailed++;
+ if (!shouldRun()) break;
logger.log(Level.WARNING, "XML fail", e);
- if (shouldRun() && timesFailed > MAXIMUM_RETRIES) {
+ if (++timesFailed > MAXIMUM_RETRIES) {
disconnect("Too many failures (XML)");
}
} catch (SAXException e) {
- timesFailed++;
+ if (!shouldRun()) break;
logger.log(Level.WARNING, "SAX fail", e);
- if (shouldRun() && timesFailed > MAXIMUM_RETRIES) {
+ if (++timesFailed > MAXIMUM_RETRIES) {
disconnect("Too many failures (SAX)");
}
} catch (IOException e) {
+ if (!shouldRun()) break;
logger.log(Level.WARNING, "IO fail", e);
- if (shouldRun()) {
- disconnect("Unexpected IO failure");
- }
+ disconnect("Unexpected IO failure");
}
}
} catch (Exception e) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-28 06:55:50
|
Revision: 10485
http://sourceforge.net/p/freecol/code/10485
Author: mpope
Date: 2013-01-28 06:55:46 +0000 (Mon, 28 Jan 2013)
Log Message:
-----------
Merge git.93ad952: ReceivingThread fixes.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/common/networking/ReceivingThread.java
Modified: freecol/trunk/src/net/sf/freecol/common/networking/ReceivingThread.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/networking/ReceivingThread.java 2013-01-26 23:15:26 UTC (rev 10484)
+++ freecol/trunk/src/net/sf/freecol/common/networking/ReceivingThread.java 2013-01-28 06:55:46 UTC (rev 10485)
@@ -320,7 +320,7 @@
*/
private void listen() throws IOException, SAXException,
XMLStreamException {
- final int LOOK_AHEAD = 500;
+ final int LOOK_AHEAD = 4096;
BufferedInputStream bis = new BufferedInputStream(in, LOOK_AHEAD);
in.enable();
bis.mark(LOOK_AHEAD);
@@ -371,22 +371,28 @@
timesFailed = 0;
} catch (XMLStreamException e) {
timesFailed++;
- if (shouldRun && timesFailed > MAXIMUM_RETRIES) {
- disconnect("XML failure: " + e.getMessage());
+ logger.log(Level.WARNING, "XML fail", e);
+ if (shouldRun() && timesFailed > MAXIMUM_RETRIES) {
+ disconnect("Too many failures (XML)");
}
} catch (SAXException e) {
timesFailed++;
- if (shouldRun && timesFailed > MAXIMUM_RETRIES) {
- disconnect("SAX failure: " + e.getMessage());
+ logger.log(Level.WARNING, "SAX fail", e);
+ if (shouldRun() && timesFailed > MAXIMUM_RETRIES) {
+ disconnect("Too many failures (SAX)");
}
} catch (IOException e) {
- if (shouldRun) {
- disconnect("IO failure: " + e.getMessage());
+ logger.log(Level.WARNING, "IO fail", e);
+ if (shouldRun()) {
+ disconnect("Unexpected IO failure");
}
}
}
+ } catch (Exception e) {
+ logger.log(Level.WARNING, "Unexpected exception.", e);
} finally {
askToStop();
}
+ logger.info("Receiving thread " + getName() + " finished.");
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sie...@us...> - 2013-01-27 19:45:57
|
Revision: 10467
http://freecol.svn.sourceforge.net/freecol/?rev=10467&view=rev
Author: siebrand
Date: 2013-01-27 19:45:49 +0000 (Sun, 27 Jan 2013)
Log Message:
-----------
Localisation updates from http://translatewiki.net.
Modified Paths:
--------------
freecol/trunk/data/strings/FreeColMessages_oc.properties
freecol/trunk/data/strings/FreeColMessages_pt_BR.properties
freecol/trunk/data/strings/FreeColMessages_zh_CN.properties
Modified: freecol/trunk/data/strings/FreeColMessages_oc.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_oc.properties 2013-01-22 06:17:45 UTC (rev 10466)
+++ freecol/trunk/data/strings/FreeColMessages_oc.properties 2013-01-27 19:45:49 UTC (rev 10467)
@@ -284,9 +284,19 @@
fileNotFound=Fichièr introbable.
incompatibleVersions=Lo salvament qu'ensajatz de cargar es incompatible amb aquesta version de FreeCol.
openGame.unimplemented=La foncion open es pas encara implementada.
+direction.N=nòrd
+direction.NE=nòrd-èst
+direction.E=èst
+direction.SE=sud-èst
+direction.S=sud
+direction.SW=sud-èst
+direction.W=oèst
+direction.NW=nòrd-oèst
server.reject=Lo servidor o pòt pas far.
server.trade.noGoods=Podètz pas comerçar de merças que son pas presentas.
+cli.arg.clientOptions=FICHIÈR D'OPCIONS
cli.arg.debuglevel=NOMBRE
+cli.arg.debugRun=TORNS [, SAVENAME]
cli.arg.dimensions=LARGORxNAUTOR
cli.arg.directory=DORSIÈR
cli.arg.file=FICHIÈR
@@ -294,6 +304,8 @@
cli.arg.loglevel=NIVÈLJORNAL
cli.arg.name=NOM
cli.arg.port=PÒRT
+cli.arg.seed=GRANA
+cli.arg.timeout=RELAMBI DEPASSAT
cli.check-savegame=verificar lo fichièr de salvament
cli.check-savegame.success=Contraròtle de coeréncia del salvement de la partida acabat, verificatz lo jornal pels detalhs.
cli.check-savegame.failure=Lo contraròtle de coeréncia del salvament de la partida a fracassat, verificatz lo jornal pels detalhs.
@@ -329,6 +341,10 @@
model.option.fogOfWar.shortDescription=Amaga las unitats enemigas al delà de nòstre camp de vision.
model.option.explorationPoints.name=Punts d'exploracion
model.option.explorationPoints.shortDescription=Compte dels punts d'exploracion per totas las descobertas ?
+model.option.turnsToSail.name=Viraments de bòrds
+model.option.startingPositions.classic=Classics
+model.option.startingPositions.random=Aleatòris
+model.option.startingPositions.historical=Istorics
gameOptions.colony.name=Colonias
gameOptions.colony.shortDescription=Opcions pròprias a la gestion de las colonias.
model.option.customIgnoreBoycott.name=Las doanas ignoran los boicòts
@@ -345,6 +361,57 @@
model.option.victoryDefeatEuropeans.shortDescription=Lo jogaire que desfa totes los autres jogaires europèus rempòrta la victòria.
model.option.victoryDefeatHumans.name=Desfacha de totes los jogaires umans.
model.option.victoryDefeatHumans.shortDescription=Lo jogaire que desfa totes los jogaires umans rempòrta la victòria.
+gameOptions.years.name=Opcions Annada
+model.option.startingYear.name=Annada de despart
+model.option.seasonYear.name=Sason
+model.option.food.minimumPrice.name=Prètz inicial minimal per la noiridura
+model.option.food.maximumPrice.name=Prètz inicial maximal per la noiridura
+model.option.food.spread.name=Diferéncia entre los prèses de crompa e de venda per la noiridura
+model.option.sugar.minimumPrice.name=Prètz inicial minimal pel sucre
+model.option.sugar.maximumPrice.name=Prètz inicial maximal pel sucre
+model.option.sugar.spread.name=Diferéncia entre los prèses de crompa e de venda pel sucre
+model.option.tobacco.minimumPrice.name=Prètz inicial minimal pel tabat
+model.option.tobacco.maximumPrice.name=Prètz inicial maximal pel tabat
+model.option.tobacco.spread.name=Diferéncia entre los prèses de crompa e de venda pel tabat
+model.option.cotton.minimumPrice.name=Prètz inicial minimal pel coton
+model.option.cotton.maximumPrice.name=Prètz inicial maximal pel coton
+model.option.cotton.spread.name=Diferéncia entre los prèses de crompa e de venda pel coton
+model.option.furs.minimumPrice.name=Prètz inicial minimal per la forradura
+model.option.furs.maximumPrice.name=Prètz inicial maximal per la forradura
+model.option.furs.spread.name=Diferéncia entre los prèses de crompa e de venda per la forradura
+model.option.lumber.minimumPrice.name=Prètz inicial minimal per la fusta
+model.option.lumber.maximumPrice.name=Prètz inicial maximal per la fusta
+model.option.lumber.spread.name=Diferéncia entre los prèses de crompa e de venda per la fusta
+model.option.ore.minimumPrice.name=Prètz inicial maximal pel mineral
+model.option.ore.maximumPrice.name=Prètz inicial maximal pel mineral
+model.option.ore.spread.name=Diferéncia entre los prèses de crompa e de venda pel mineral
+model.option.silver.minimumPrice.name=Prètz inicial minimal per l'argent
+model.option.silver.maximumPrice.name=Prètz inicial maximal per l'argent
+model.option.silver.spread.name=Diferéncia entre los prèses de crompa e de venda per l'argent
+model.option.rum.minimumPrice.name=Prètz inicial maximal pel ròm
+model.option.rum.maximumPrice.name=Prètz inicial maximal pel ròm
+model.option.rum.spread.name=Diferéncia entre los prèses de crompa e de venda pel ròm
+model.option.cigars.minimumPrice.name=Prètz inicial minimal pels cigars
+model.option.cigars.maximumPrice.name=Prètz inicial maximal pels cigars
+model.option.cigars.spread.name=Diferéncia entre los prèses de crompa e de venda pels cigars
+model.option.cloth.minimumPrice.name=Prètz inicial minimal pels vestits
+model.option.cloth.maximumPrice.name=Prètz inicial maximal pels vestits
+model.option.cloth.spread.name=Diferéncia entre los prèses de crompa e de venda pels vestits
+model.option.coats.minimumPrice.name=Prètz inicial minimal pels mantèls
+model.option.coats.maximumPrice.name=Prètz inicial maximal pels mantèls
+model.option.coats.spread.name=Diferéncia entre los prèses de crompa e de venda pels mantèls
+model.option.tools.minimumPrice.name=Prètz inicial minimal per las aisinas
+model.option.tools.maximumPrice.name=Prètz inicial maximal per las aisinas
+model.option.tools.spread.name=Diferéncia entre los prèses de crompa e de venda per las aisinas
+model.option.muskets.minimumPrice.name=Prètz inicial minimal pels mosquets
+model.option.muskets.maximumPrice.name=Prètz inicial maximal pels mosquets
+model.option.muskets.spread.name=Diferéncia entre los prèses de crompa e de venda pels mosquets
+model.option.tradeGoods.minimumPrice.name=Prètz inicial minimal pels dequés comercials
+model.option.tradeGoods.maximumPrice.name=Prètz inicial maximal pels dequés comercials
+model.option.tradeGoods.spread.name=Diferéncia entre los prèses de crompa e de venda pels dequés comercials
+model.option.horses.minimumPrice.name=Prètz inicial maximal pels cavals
+model.option.horses.maximumPrice.name=Prètz inicial maximal pels cavals
+model.option.horses.spread.name=Diferéncia entre los prèses de crompa e de venda pels cavals
model.option.startingMoney.name=Argent inicial
model.option.startingMoney.shortDescription=La quantitat d'argent qu'avètz al començament del jòc.
model.option.crossesIncrement.name=Increment de franquiment
@@ -352,20 +419,42 @@
model.option.badGovernmentLimit.name=Limit de marrit govèrnament
model.option.badGovernmentLimit.shortDescription=Lo nombre maximum de reialistas qu'entraïna pas de penalitat de produccion.
model.option.veryBadGovernmentLimit.name=Limit de govèrnement fòrça marrit
+model.option.goodGovernmentLimit.name=Limit de bon govèrnament
+model.option.veryGoodGovernmentLimit.name=Limit de fòrt bon govèrnament
+model.option.liftBoycottCheat.name=Levar lo boycott
model.option.landPriceFactor.name=Factor del prètz de las tèrras
+difficultyLevels.name=Nivèls de dificultat
+model.difficulty.immigration.name=Immigracion
+model.difficulty.natives.name=Indigènas
+model.difficulty.monarch.name=Monarca
+model.difficulty.government.name=Govèrnament
+model.difficulty.other.name=Autres
+model.difficulty.veryEasy.name=Fòrça aisit
+model.difficulty.easy.name=Aisit
+model.difficulty.medium.name=Mejan
+model.difficulty.hard.name=Complicat
+model.difficulty.veryHard.name=Fòrça complicat
+model.difficulty.custom.name=Personalizat
+veryLow.name=Fòrça febla
+low.name=Febla
+medium.name=Mejana
+high.name=Nauta
+veryHigh.name=Fòrça nauta
model.difficulty.veryEasy=Fòrça aisit
model.difficulty.easy=Aisit
model.difficulty.medium=Normal
model.difficulty.hard=Complicat
model.difficulty.veryHard=Fòrça complicat
-# Fuzzy
-clientOptions.name=Paramètres
+model.difficulty.custom=Personalizat
+clientOptions.name=Preferéncias
+clientOptions.shortDescription=Opcions preferidas del client
model.option.autoScroll.name=Desfilament automatic de la mapa
model.option.autoScroll.shortDescription=Activa lo desfilament automatic de la mapa quora la mirga tòca lo bòrd de la mapa.
actionManager.name=Acorchis de clavièr
actionManager.shortDescription=Acorchis de clavièr
clientOptions.mods.name=Mòdes
clientOptions.mods.shortDescription=Opcions per activar las modificacions de jòc.
+userMods.name=Mòdes de l’utilizaire
clientOptions.gui.name=Afichatge
clientOptions.gui.shortDescription=Gerís l'aparéncia del jòc.
model.option.languageOption.name=Lenga
@@ -388,6 +477,9 @@
clientOptions.gui.displayTileText.names=Nom de las casas
clientOptions.gui.displayTileText.owners=Proprietaris de las casas
clientOptions.gui.displayTileText.regions=Region de las casas
+clientOptions.gui.displayColonyLabels.none=Pas cap
+clientOptions.gui.displayColonyLabels.classic=Classic
+clientOptions.gui.displayColonyLabels.modern=Modèrne
model.option.displayBorders.name=Afichar las bordaduras
model.option.displayBorders.shortDescription=Se cal afichar las bordaduras per defaut o pas.
model.option.displayGrid.name=Afichar una grasilha
@@ -474,6 +566,10 @@
clientOptions.audio.audioMixer.automatic=Autodetectar la sortida àudio.
model.option.audioMixer.name=Sortida Àudio
model.option.audioMixer.shortDescription=Lo periferic seleccionat per jogar de musica
+model.option.audioVolume.name=Volum àudio
+model.option.audioVolume.shortDescription=Volum àudio
+model.option.audioAlerts.name=Alèrtas Àudio
+model.option.audioAlerts.shortDescription=Activar las alèrtas àudio
clientOptions.savegames.name=Salvaments
clientOptions.savegames.shortDescription=Salvaments de jòc
model.option.showSavegameSettings.name=Dialòg amb lo servidor al moment de la lectura d'un salvament :
@@ -482,6 +578,7 @@
clientOptions.savegames.showSavegameSettings.multiplayer=Jòcs multijogaires solament
clientOptions.savegames.showSavegameSettings.always=Totjorn
clientOptions.savegames.autosave.fileprefix=Salvament automatic
+clientOptions.savegames.autosave.lastturn=darrièr torn
model.option.autosavePeriod.name=Salvament cada X torns :
model.option.autosavePeriod.shortDescription=Los moments per salvar lo jòc automaticament. 0 desactiva la foncion.
model.option.autosaveGenerations.name=Conservar X salvaments :
@@ -1842,6 +1939,9 @@
report.labour.expertsWorking=professionals
report.labour.amateursWorking=amators
report.labour.canTrain=* Aquesta colonia pòt formar d'unitats d'aqueste tipe.
+report.colony.explore.header=E
+report.colony.plow.header=P
+report.colony.road.header=R
report.trade.unitsSold=Nb comprat/vendut
report.trade.beforeTaxes=Sòld abans talhas
report.trade.afterTaxes=Sòld aprèp talhas
@@ -1866,12 +1966,10 @@
report.nextMember=Torns per augmentar los reb�ls
report.requirements.noExpert=%colony% fabrica %goods%, mas a pas de %unit%.
report.requirements.missingGoods=%colony% fabrica %goods%, mas a besonh de mai de %input%.
-# Fuzzy
-report.requirements.surplus=Las colonias seguentas produsisson un susplus de %goods% :
-# Fuzzy
-report.requirements.severalExperts=Las colonias seguentas an fòrça %unit% :
-# Fuzzy
-report.requirements.canTrainExperts=Las colonias seguentas pòdon formar %unit% :
+report.requirements.surplus=Un susplús de %goods% es produch a
+report.requirements.misusedExperts=I a {{plural:2|%unit%}} que trabalhan pas coma %work% son presentas a
+report.requirements.severalExperts=Maitas {{plural:2|%unit%}} son presentas a
+report.requirements.canTrainExperts={{plural:2|%unit%}} pòdon èsser formadas a
report.requirements.met=Totas las condicions son acampadas.
report.exploration.nameOfRegion=Nom de la region
report.exploration.typeOfRegion=Tipe de la region
@@ -1880,7 +1978,6 @@
report.exploration.valueOfRegion=Valor
report.highScores.president=President %name% de %nation%
report.highScores.governor=Governador %name% de %nation%
-# Fuzzy
report.highScores.independence=Independéncia declarada :
report.highScores.units=Nombre d'unitats :
report.highScores.colonies=Nombre de colonias :
@@ -1889,6 +1986,7 @@
report.highScores.nation=Nacion :
report.highScores.nationType=Aventatge nacional :
report.highScores.retired=Abandon :
+report.highScores.turn=Annada :
report.production.title=Rapòrt de produccion
report.production.selectGoods=Seleccionar los bens
report.production.update=Metre a jorn
@@ -1896,20 +1994,21 @@
aboutPanel.officialSite=Sit oficial :
aboutPanel.sfProject=Projècte SourceForge :
aboutPanel.legalDisclaimer=FreeCol es un logicial liure ; o podètz tornar distribuir e/o lo modificar al títol de las clausas de la Licéncia Publica Generala GNU, tala coma es publicada per la Free Software Foundation dins sa version 2, o dins una version ulteriora.
-# Fuzzy
-aboutPanel.copyright=Copyright © 2002-2012 L'equipa FreeCol
+aboutPanel.copyright=Copyright © 2002-2012 L’equipa FreeCol
model.source.baseOffence.name=Atac de basa
model.source.cargoPenalty.name=Penalitat de cargament
model.source.attackBonus.name=Bonus d'atac
model.source.movementPenalty.name=Penalitat de movement
model.source.ambushBonus.name=Bonus d'embuscada
model.source.artilleryInTheOpen.name=Artilhariá a descobert
-# Fuzzy
-model.source.finalResult.name=Resultat final
+model.source.zeroThreshold.name=Pas cap de produccion negativa
+model.source.finalResult.name=Resultat de l'unitat
model.source.baseDefence.name=Defensa de basa
model.source.fortified.name=Fortificat
model.source.artilleryAgainstRaid.name=Artilhariá contra raid
+model.source.amphibiousAttack.name=Atac amfibí
model.source.solModifier.name=Filhs de la Libertat / Conservators
+model.source.shipTradePenalty=Penalitat de comèrci maritim
model.region.arctic=Artica
model.region.antarctic=Antartica
model.region.inlandlakes=Los Grands Lacs
Modified: freecol/trunk/data/strings/FreeColMessages_pt_BR.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_pt_BR.properties 2013-01-22 06:17:45 UTC (rev 10466)
+++ freecol/trunk/data/strings/FreeColMessages_pt_BR.properties 2013-01-27 19:45:49 UTC (rev 10467)
@@ -38,6 +38,7 @@
false=Falso
more=mais...
none=Nenhum
+many=muitos
nothing=Nada
all=Todos
notApplicable.short=N/A
@@ -136,7 +137,9 @@
colonyPanel.units=Unidades
colonyPanel.buildings=Construções
colonyPanel.colonyUnits=Unidades da colônia
+outsideOfColony.name=Fora da Colônia
inPort.name=No porto
+producing.name=Produção:
turns=turnos
turnsToComplete.short=(Turnos: %number%)
turnsToComplete.long=(Turnos para completar: %number%)
@@ -159,6 +162,7 @@
trainDialog.done=Feito
quitDialog.areYouSure.text=Você tem certeza que quer sair?
retireDialog.areYouSure.text=Tem certeza de que quer desistir?
+foundingFatherDialog.nominate=Nomear Pais Fundadores
errorMessage.showLogFile=Mostrar registro
tradeItem.colony=Colônia
tradeItem.colony.long=a colônia %colony%
@@ -206,6 +210,7 @@
freecol.map.Caribbean_basin=Mar do Caribe
underRepair=Em reparação ({{plural:%turns%|one=falta uma jogada|other=faltam %turns% jogadas}})
EventPanel.DISCOVER_PACIFIC=Você descobriu o Oceano Pacífico.
+EventPanel.FIRST_LANDING=Primeiro desembarque no Novo Mundo.
EventPanel.MEETING_EUROPEANS=Você encontrou europeus. Eles competirão com você por terras e riquezas, e poderão até declarar guerra. Apenas depois que Jan de Witt entrar no congresso, você poderá comercializar com eles.
EventPanel.MEETING_NATIVES=Você encontrou nativos. Mande seus Escoltadores para seus acampamentos para aprender mais sobre eles, e Servos de Dívida e Colonos Livres para aprender uma profissão. Envie navios e carroças-vagão se você quiser comercializar com eles.
EventPanel.MEETING_AZTEC=Você encontrou a nação Asteca.
@@ -217,6 +222,7 @@
NewWorld=Novo Mundo
Ship=Navio
LoadingSavegame.title=Carregando jogo salvo
+LoadingSavegame.singlePlayer=Um jogador
LoadingSavegame.privateMultiplayer=Em rede privado
LoadingSavegame.publicMultiplayer=Em rede público
LoadingSavegame.serverName=Nome do Servidor:
@@ -225,6 +231,7 @@
editor.removeSettlement=Remover acampamento
editor.removeSettlement.text=Deseja remover este acampamento?
editor.mapSize=Selecionar o tamanho do mapa
+buildingToolTip.breeding=Precisamos de %number% {{plural:%number%|%goods%}} no mínimo para produzir %goods%.
menuBar.game=Jogo
menuBar.view=Exibir
menuBar.tools=Ferramentas
@@ -234,12 +241,21 @@
menuBar.debug=Depurar
menuBar.debug.showCoordinates=Mostrar coordenadas
menuBar.debug.showColonyValue=Mostrar valores da colônia
+menuBar.debug.skipTurns=Próximo turno
+menuBar.debug.addBuilding=Adicionar um edifício a cada colônia
menuBar.debug.addFoundingFather=Adicionar fundador
menuBar.debug.runMonarch=Definir próxima ação Monarca
menuBar.debug.addGold=Inserir Ouro
menuBar.debug.addImmigration=Adicionar imigração
menuBar.debug.addLiberty=Aumenta liberdade para cada colônia
menuBar.debug.stepRandomNumberGenerator=Avançar o gerador de números aleatórios
+menuBar.debug.displayUnits=Mostrar as unidades
+menuBar.debug.randomValue=Valor do gerador de números aleatórios: %value%
+menuBar.debug.displayPanels=Mostrar painéis
+menuBar.debug.displayMonarchPanel=Mostrar o painel do Monarca
+menuBar.debug.displayVictoryPanel=Mostrar o painel de Vitória
+menuBar.debug.displayEuropeStatus=Mostrar a situação da Europa
+menuBar.debug.displayErrorMessage=Mostrar mensagem de erro
menuBar.debug.revealEntireMap=Revelar mapa inteiro
menuBar.debug.compareMaps=Procurar desincronização no mapa.
menuBar.debug.compareMaps.checkComplete=Busca completa. Desincronização não encontrada.
@@ -268,6 +284,7 @@
reconnect.text=O servidor requer reconexão.
reconnect.yes=Reconectar
reconnect.no=Sair
+failedToSave=Não foi possível gravar o arquivo %name%!
couldNotSaveGame=Ocorreu um erro enquanto o jogo estava sendo salvo!
couldNotLoadGame=Ocorreu um erro enquanto o jogo estava sendo carregado!
fileNotFound=Não foi possível encontrar arquivo com este nome.
@@ -283,6 +300,7 @@
direction.NW=noroeste
server.reject=O servidor não pode fazer isso.
server.trade.noGoods=Você não pode trocar bens que não estão presentes.
+main.javaVersion=É recomendada a versão do Java %minVersion% ou mais recente para executar o Freecol (%version% detetada, use --no-java-check para verificar).
cli.arg.debuglevel=NÚMERO
cli.arg.dimensions=LARGURAxALTURA
cli.arg.directory=DIRETÓRIO
@@ -354,6 +372,57 @@
model.option.victoryDefeatHumans.shortDescription=O jogador que derrotar os outros jogadores humanos vence o jogo.
gameOptions.years.name=Opções de ano
model.option.startingYear.name=Ano de início
+gameOptions.prices.name=Preços iniciais
+gameOptions.prices.shortDescription=As faixas de preços iniciais de vários produtos.
+model.option.food.minimumPrice.name=Preço inicial mínimo de comida
+model.option.food.maximumPrice.name=Preço inicial máximo para comida
+model.option.food.spread.name=Diferença entre os preços de compra e o de venda da comida
+model.option.sugar.minimumPrice.name=Preço inicial mínimo de açúcar
+model.option.sugar.maximumPrice.name=Preço inicial máximo de açúcar
+model.option.sugar.spread.name=Diferença entre os preços de compra e o de venda do açúcar
+model.option.tobacco.minimumPrice.name=Preço inicial mínimo do tabaco
+model.option.tobacco.maximumPrice.name=Preço inicial máximo para tabaco
+model.option.tobacco.spread.name=Diferença entre os preços de compra e o de venda do tabaco
+model.option.cotton.minimumPrice.name=Preço inicial mínimo do algodão
+model.option.cotton.maximumPrice.name=Preço inicial máximo do algodão
+model.option.cotton.spread.name=Diferença entre os preços de compra e o de venda do algodão
+model.option.furs.minimumPrice.name=Preço inicial mínimo das peles
+model.option.furs.maximumPrice.name=Preço inicial máximo para peles
+model.option.furs.spread.name=Diferença entre os preços de compra e o de venda das peles
+model.option.lumber.minimumPrice.name=Preço inicial mínimo da madeira
+model.option.lumber.maximumPrice.name=Preço inicial máximo da madeira
+model.option.lumber.spread.name=Diferença entre os preços de compra e o de venda da madeira
+model.option.ore.minimumPrice.name=Preço inicial mínimo do minério
+model.option.ore.maximumPrice.name=Preço inicial máximo do minério
+model.option.ore.spread.name=Diferença entre os preços de compra e o de venda do minério
+model.option.silver.minimumPrice.name=Preço inicial mínimo da prata
+model.option.silver.maximumPrice.name=Preço inicial máximo da prata
+model.option.silver.spread.name=Diferença entre os preços de compra e o de venda da prata
+model.option.rum.minimumPrice.name=Preço inicial mínimo do rum
+model.option.rum.maximumPrice.name=Preço inicial máximo do rum
+model.option.rum.spread.name=Diferença entre os preços de compra e o de venda do rum
+model.option.cigars.minimumPrice.name=Preço inicial mínimo dos cigarro
+model.option.cigars.maximumPrice.name=Preço inicial máximo dos charutos
+model.option.cigars.spread.name=Diferença entre os preços de compra e o de venda do cigarro
+model.option.cloth.minimumPrice.name=Preço inicial mínimo de roupa
+model.option.cloth.maximumPrice.name=Preço inicial máximo do tecido
+model.option.cloth.spread.name=Diferença entre os preços de compra e o de venda de roupa
+model.option.coats.minimumPrice.name=Preço inicial mínimo dos casacos de pele
+model.option.coats.maximumPrice.name=Preço inicial máximo dos casacos
+model.option.coats.spread.name=Diferença entre os preços de compra e o de venda do casaco de pele
+model.option.tools.minimumPrice.name=Preço inicial mínimo das ferramentas
+model.option.tools.maximumPrice.name=Preço inicial máximo das ferramentas
+model.option.tools.spread.name=Diferença entre os preços de compra e o de venda da ferramenta
+model.option.muskets.minimumPrice.name=Preço inicial mínimo dos mosquetes
+model.option.muskets.maximumPrice.name=Preço inicial máximo dos mosquetes
+model.option.muskets.spread.name=Diferença entre os preços de compra e o de venda do mosquete
+model.option.tradeGoods.minimumPrice.name=Preço inicial mínimo dos bens de troca
+model.option.tradeGoods.maximumPrice.name=Preço inicial máximo dos bens de troca
+model.option.tradeGoods.spread.name=Diferença entre os preços de compra e o de venda dos bens de troca
+model.option.horses.minimumPrice.name=Preço inicial mínimo dos cavalos
+model.option.horses.maximumPrice.name=Preço inicial máximo dos cavalos
+model.option.horses.spread.name=Diferença entre os preços de compra e de venda dos cavalos
+model.option.hammers.price.name=Preço para martelos ao comprar edifícios e unidades edificável
model.option.startingMoney.name=Dinheiro inicial
model.option.startingMoney.shortDescription=A quantia de dinheiro com que começa o jogo.
model.option.crossesIncrement.name=Incremento de cruzes
@@ -367,7 +436,9 @@
model.option.veryGoodGovernmentLimit.name=Limite de governo muito eficiente
model.option.veryGoodGovernmentLimit.shortDescription=A porcentagem mínima de Filhos da Liberdade que faz com que os bônus de produção aumentem ainda mais.
model.option.liftBoycottCheat.name=Levantar boicote
+model.option.liftBoycottCheat.shortDescription=Percentual de chance por turno de um jogador AI levantar um boicote sem pagar os impostos atrasados.
model.option.equipScoutCheat.name=Equipar Batedor
+model.option.equipScoutCheat.shortDescription=Percentual de chance por turno de um jogador AI equipar uma unidade na Europa como um batedor, gratuitamente.
model.option.landUnitCheat.name=Conseguir unidade terrestre
model.option.offensiveNavalUnitCheat.name=Conseguir unidade naval de ataque
model.option.transportNavalUnitCheat.name=Conseguir unidade naval de transporte
@@ -396,6 +467,8 @@
model.option.rumourDifficulty.shortDescription=Quanto maior for este números, mais improvável será os rumores positivos.
model.option.treasureTransportFee.name=Impostos no transporte de tesouros
model.option.treasureTransportFee.shortDescription=A porcentagem no tesouro que a coroa cobra para transportá-lo.
+model.option.refSize.artillery.name=Artilharia
+model.option.refSize.artillery.shortDescription=O número de unidades de Artilharia.
model.option.immigrants.name=Imigrantes
model.option.immigrants.shortDescription=Os primeiros imigrantes da Europa
difficultyLevels.name=Níveis de dificuldade
@@ -448,10 +521,19 @@
clientOptions.gui.displayTileText.names=Nome dos Terrenos
clientOptions.gui.displayTileText.owners=Dono dos Terrenos
clientOptions.gui.displayTileText.regions=Regiões dos Terrenos
+model.option.displayColonyLabels.name=Nomes das Colônias
+model.option.displayColonyLabels.shortDescription=O estilo dos nomes das colônias
+clientOptions.gui.displayColonyLabels.none=Nenhum
+clientOptions.gui.displayColonyLabels.classic=Clássico
+clientOptions.gui.displayColonyLabels.modern=Moderno
model.option.displayBorders.name=Mostrar Fronteiras
model.option.displayBorders.shortDescription=Mostrar fronteiras por padrão ou não.
model.option.displayGrid.name=Mostrar Grade
model.option.displayGrid.shortDescription=Define se a grade ficará visível ou não.
+model.option.unitLastMoveDelay.name=Atrasar Último Movimento da Unidade
+model.option.unitLastMoveDelay.shortDescription=Fazer, ou não, uma curta pausa no último movimento de uma unidade.
+model.option.usePixmaps.name=Usar pixmaps para armazenar imagens
+model.option.usePixmaps.shortDescription=Tente desligar isso se o movimento de unidades são muito lentos.
model.option.moveAnimationSpeed.name=Velocidade da Animação de Nações Parceiras
model.option.moveAnimationSpeed.shortDescription=Altera a velocidade da animação do movimento de unidades das nações amigas.
clientOptions.gui.moveAnimationSpeed.off=Desligado
@@ -532,6 +614,10 @@
clientOptions.audio.audioMixer.automatic=Detectar a saída de áudio automaticamente
model.option.audioMixer.name=Saída de Áudio
model.option.audioMixer.shortDescription=O dispositivo para ser usando para reproduzir o áudio do jogo.
+model.option.audioVolume.name=Volume de Som
+model.option.audioVolume.shortDescription=Volume de Som
+model.option.audioAlerts.name=Alertas Sonoros
+model.option.audioAlerts.shortDescription=Ligar Alertas Sonoros
clientOptions.savegames.name=Jogos salvos
clientOptions.savegames.shortDescription=Jogos salvos
model.option.showSavegameSettings.name=Caixa para ajustar as opções do servidor quando carregar um jogo salvo:
@@ -540,10 +626,16 @@
clientOptions.savegames.showSavegameSettings.multiplayer=Apenas em jogos salvos em rede
clientOptions.savegames.showSavegameSettings.always=Sempre
clientOptions.savegames.autosave.fileprefix=Auto salvamento
+clientOptions.savegames.autosave.lastturn=último-turno
+clientOptions.savegames.autosave.beforelastturn=penúltimo-turno
model.option.autosavePeriod.name=Auto salvar a cada x turnos:
model.option.autosavePeriod.shortDescription=O período para salvar o jogo automaticamente. Usar 0 para desabilitar esta opção.
model.option.autosaveGenerations.name=Manter X arquivos de auto-salvamento:
model.option.autosaveGenerations.shortDescription=O número de arquivos de auto-salvamento a manter. Deixe em 0(zero) para manter todos os arquivos.
+model.option.autosaveValidity.name=Excluir arquivos salvos automaticamente após x dias:
+model.option.autosaveValidity.shortDescription=Tempo em dias da validade de arquivo salvo automaticamente após a criação. Definido com 0 para ignorar esta condição.
+model.option.autosaveDelete.name=Apagar arquivos gravados automaticamente:
+model.option.autosaveDelete.shortDescription=Apagar arquivos antigos gravados automaticamente quando é iniciada uma partida nova.
clientOptions.warehouse.name=Definições do Armazém
clientOptions.warehouse.shortDescription=Muda as definições padrões para Armazéns e Casas de Comércio.
model.option.customStock.name=Estoque padrão da Casa de Comércio
@@ -696,9 +788,20 @@
traderouteDialog.removeStop=Excluir parada
traderouteDialog.nameLabel=Nome
traderouteDialog.destinationLabel=Destino
+traderouteDialog.duplicateName=Esta rota comercial tem o mesmo nome de outra rota existente. Escolha um nome inexistente, por favor.
traderouteDialog.notEnoughStops=Uma Rota de Comércio tem de ter ao menos 2 paradas. Esta não tem suficientes.
traderoute.broken=Sua rota de transporte denominada %name% contém alguma parada inválida!
+traderoute.noWork=%route%: Não há trabalho para %unit%, aguardando em %location%.
+traderoute.noPath=%route%: Não foi possível a %unit% encontrar um caminho até %location%.
+traderoute.skipStop=%route%: Não há trabalho para %unit% em %location%, avançando.
traderoute.warehouseCapacity=Descarregar %unit% em %colony% excederia a capacidade do armazém da colônia. %amount% %goods% seriam perdidas. Você gostaria de descarregar mesmo assim?
+traderoute.reassignRoute=%unit% está atribuído à rota comercial %route%. Definir o seu destino vai removê-lo da rota comercial. Tem certeza que deseja fazer isso?
+traderoute.load=%route%: %unit% em %location% carregou %amount% %goods%.
+traderoute.loadImportLimited=%route%: %unit% em %location% carregou %amount% %goods%, faltando espaço para %more% mais.
+traderoute.loadExportLimited=%route%: %unit% em %location% carregou %amount% %goods%, com %more% retidos no armazém.
+traderoute.unload=%route%: %unit% em %location% não carregou %amount% %goods%.
+traderoute.overflow=%route%: %unit% em %location% descarregou %amount% %goods%; %overflow% foram despejados.
+traderoute.nounload=%route%: %unit% em %location% descarregou %amount% %goods%; %overflow% não foram descarregados.
europe.noGame=A janela da Europa não está disponível até que o jogo inicie.
europe.leaveColonists=Navegar para %newWorld% e deixar os emigrantes para trás?
highseas.text=Atingimos o mar aberto, Vossa Excelência. Levaremos %number% {{plural:%number%|one=jogada|other=jogadas}} até chegar à Europa. Devemos partir?
@@ -761,7 +864,14 @@
chooseThisFoundingFather=Escolha este Pai Fundador
notEnoughGold=Você não tem ouro suficiente para comprar este item!
move.noAccessContact=Excelência, primeiro devemos estabelecer contato com os %nation%.
+move.noAccessGoods=Os %nation% não negociarão com um %unit% vazio.
+move.noAccessSkill=%unit% não pode aprender com os nativos.
move.noAccessTrade=Não temos autoridade necessária para efetuar trocas comerciais com outras nações europeias, como os %nation%.
+move.noAccessSettlement=Os %nation% não permitem que a unidade %unit% entre no seu acampamento.
+move.noAccessWar=Não podemos fazer trocas comerciais com os %nation% enquanto estivermos em guerra.
+move.noAccessWater=%unit% tem de desembarcar antes de entrar no acampamento.
+move.noAttackWater=A nossa unidade %unit% tem de estar em terra para atacar.
+move.noTile=A nossa %unit% não está no mapa!
notYourTurn=Ainda não é o seu turno!
twoTurnsPerYear=A partir de %year%, haverá duas jogadas por ano, em vez de uma!
payForBuilding.text=Você gostaria de pagar %amount% moedas de ouro para completar esta construção?
@@ -785,6 +895,11 @@
indianSettlement.tension.angry=Os guerreiros da nação %nation% estão ocupados praticando tiro. As mulheres e as crianças se escondem em suas tendas.
indianSettlement.alarmIncrease.tension.content=O chefe da nação %nation% de %settlement% cumprimenta seus amigos, %enemy%. Temos o prazer de ver a crescente cooperação entre nós, mas estamos preocupados com as invasões dos seus colonizadores sobre nossas terras.
indianSettlement.alarmIncrease.tension.angry=O chefe da nação %nation% de %settlement% adverte que podem abrir uma guerra contra %enemy%, para livrar-nos de seus arrogantes colonos que vem invadindo nossas terras.
+indianSettlement.mission.tension.happy=Missão estabelecida. Os %nation% aproximam-se da sua nova religião com alegria.
+indianSettlement.mission.tension.content=Missão estabelecida. Os %nation% aproximam-se da sua nova religião com curiosidade.
+indianSettlement.mission.tension.displeased=Missão estabelecida. Os %nation% sentem-se ofendidos.
+indianSettlement.mission.tension.angry=Missionário capturado. Os %nation% rejeitam a sua nova religião.
+indianSettlement.mission.tension.hateful=Missionário sacrificado. Os %nation% escarneciam a sua nova religião.
indianSettlement.capitalBurned=Você incendiou %name%, a capital dos %nation%. Os %nation% renderam-se ao seu poder!
learnSkill.text=Você gostaria de viver com os nativos e se tornar um %skill%?
learnSkill.yes=Sim, gostaria
@@ -921,6 +1036,7 @@
saveAndQuitAction.name=Salvar e sair
scaleMapAction.name=Mapa em escala
sentryAction.name=Ficar de guarda
+tilePopupAction.name=Exibir Terreno
skipUnitAction.name=Pular vez
toggleViewModeAction.name=Modo de visualização livre
tradeRouteAction.name=Rotas de Comércio
@@ -1040,16 +1156,23 @@
model.colony.unitReady=%colony% terminou de construir o(a) %unit%.
model.colony.SoLIncrease=A comunidade Filhos da Liberdade em %colony% subiu para %newSoL% por cento da população!
model.colony.SoLDecrease=A comunidade Filhos da Liberdade em %colony% caiu para %newSoL% por cento da população!
+model.colony.veryGoodGovernment=Eficiência governamental foi melhorada! A comunidade de Filhos da Liberdade em %colony% já ultrapassa os %number%% da população.
+model.colony.goodGovernment=Eficiência governamental foi melhorada! A comunidade de Filhos da Liberdade em %colony% é igual ou superior a %number%% da população.
+model.colony.lostVeryGoodGovernment=A eficiência do governo diminuiu! A comunidade dos Filhos da Liberdade em %colony% já não é de %number%%. Alguns bônus de produção foram perdidos.
+model.colony.lostGoodGovernment=A eficiência do governo diminuiu! A comunidade dos Filhos da Liberdade em %colony% é inferior a %number%%. Alguns bônus de produção foram perdidos.
model.colony.veryBadGovernment=O governo de %colony% é muito ineficiente. Foram aplicadas penas à produção.
model.colony.badGovernment=O governo de %colony% é ineficiente. Foram aplicadas penas leves à produção.
model.colony.governmentImproved1=O governo de %colony% melhorou, mas ainda é ineficiente. As penas à produção ainda vigoram.
model.colony.governmentImproved2=O governo de %colony% melhorou. As penas à produção cessaram.
+model.colony.workerEvicted=Na colônia %colony%, a unidade %unit% não pode mais trabalhar em %location% devido à presença da unidade %enemyUnit%.
model.unit.arriveInEurope=Nosso navio chegou à %europe%, Vossa Excelência.
model.unit.indianTreasure=Você saqueou %amount% de %settlement%
model.unit.indianRaid=Nossos espiões relataram que os %nation% invadiram a %colony% dos %colonyNation%.
+model.unit.indianSurprise=Os %nation% fazem um ataque surpresa à colónia %colony%, alarmando nossos colonos. O chefe dos %nation% nega qualquer envolvimento.
model.unit.colonyCaptured=Você conquistou %colony%. %amount% moedas de ouro foram encontrados!
model.unit.colonyCapturedBy=O exército %player% conquistou %colony%. %amount% moedas de ouro foram tomados!
model.unit.colonyBurning=A colônia %colony% foi totalmente arrasada por %unit% do exército %nation%, %amount% moedas de ouro saqueadas!
+model.unit.colonyBurning.other=A colônia %colony% dos %nation% foi queimada pelos %attackerNation%!
model.unit.unitPromoted=%oldName% de %nation% foi promovido a %unit%.
model.unit.unitEducated=Em %colony%, o %oldName% se tornou %unit% através da educação.
model.unit.equipmentCaptured=Atenção, os bravos de %nation% adquiriram %equipment%!
@@ -1067,6 +1190,8 @@
model.unit.unitRepaired=%unit% foi reparado em %repairLocation%.
model.unit.slowed=O(A) %enemyUnit% %enemyNation% diminuiu o movimento do nosso navio %unit%.
model.unit.unitSlaughtered=%location%: %unit% (%nation%) foi massacrado por um %enemyUnit% do exército %enemyNation%!
+model.unit.unitWinColony=%location%: %unit% dos %nation% derrotou %enemyUnit% dos %enemyNation% em %settlement%, mas não conseguiu capturar a colónia.
+model.unit.unitLoseAutoEquip=%location%: %unit% dos %nation% defendeu com coragem, mas as armas fornecidas pelo %settlement% foram perdidas para a unidade %enemyUnit% dos %enemyNation%.
model.unit.unitDemoted=%location%: %oldName% (%nation%) foi despromovido a %unit% depois de perder uma batalha contra um %enemyUnit% (%enemyNation%).
model.unit.unitDemotedToUnarmed=%location%: %oldName% (%nation%) foi desarmado e despromovido a %unit% depois de perder uma batalha contra um %enemyUnit% (%enemyNation%).
model.unit.unitDestroyed=%location%: %unit% (%nation%) foi destruído por um %enemyUnit% (%enemyNation%)!
@@ -1159,6 +1284,7 @@
model.message.TUTORIAL=Tutorial
model.message.COMBAT_RESULT=Resultados da batalha
model.message.GIFT_GOODS=Presentes Indígenas
+model.message.DEMANDS=Exigências dos Nativos
model.message.ignore=Ignore esta mensagem (Colônia: %colony%, Bens: %goods%)
model.message.filter=Não exiba este tipo de mensagem (%type%)
model.ability.buildCustomHouse.name=Capacidade de construir aduanas
@@ -1385,6 +1511,7 @@
model.unit.missionary.description=O Missionário pode estabelecer missões em povoados indígenas para converter índios, embora seja menos habilidoso que o Missionário Jesuíta.
model.goods.food.name={{plural:%amount%|one=Comida|other=Comidas|default=Comida}}
model.goods.food.workAs=Trabalhar como Fazendeiro %claim% (%amount% de Comida)
+model.goods.food.workingAs=um Fazendeiro
model.goods.grain.name={{plural:%amount%|one=Cereal|other=Cereais|default=Cereal}}
model.goods.grain.workAs=Trabalhar como Fazendeiro %claim%(%amount% de Cereal)
model.goods.grain.workingAs=um Fazendeiro
@@ -1417,10 +1544,19 @@
model.goods.rum.workAs=Trabalho como Destilador %claim%(%amount% de Rum)
model.goods.rum.workingAs=um Destilador
model.goods.cigars.name={{plural:%amount%|one=Cigarro|other=Cigarros|default=Cigarro}}
+model.goods.cigars.workingAs=um Cigarreiro
model.goods.cloth.name={{plural:%amount%|one=Roupa|other=Roupas|default=Roupa}}
+model.goods.cloth.workAs=Trabalhar como Tecelão %claim%(%amount% de Tecido)
+model.goods.cloth.workingAs=um Tecelão
model.goods.coats.name={{plural:%amount%|one=Casaco de Pele|other=Casacos de Pele|default=Casaco de Pele}}
+model.goods.coats.workAs=Trabalhar como Curtidor de Pele %claim%(%amount% Casacos de Pele)
+model.goods.coats.workingAs=um Curtidor de Pele
model.goods.tools.name={{plural:%amount%|one=Ferramenta|other=Ferramentas|default=Ferramenta}}
+model.goods.tools.workAs=Trabalhar como Ferreiro %claim%(%amount% Ferramentas)
+model.goods.tools.workingAs=um Ferreiro
model.goods.muskets.name={{plural:%amount%|one=Mosquete|other=Mosquetes|default=Mosquetes}}
+model.goods.muskets.workAs=Trabalhar como Armeiro %claim%(%amount% Mosquetes)
+model.goods.muskets.workingAs=um Armeiro
model.goods.bells.name={{plural:%amount%|one=Sino|other=Sinos|default=Sinos}}
model.goods.crosses.name={{plural:%amount%|one=Cruz|other=Cruzes|default=Cruzes}}
model.goods.hammers.name={{plural:%amount%|one=Martelo|other=Martelos|default=Martelos}}
@@ -1599,6 +1735,8 @@
model.diplomacy.ALLIANCE.declared=Vossa Excelência, %nation% formaram uma aliança connosco!
model.diplomacy.ALLIANCE.others=Vossa Excelência, os %attacker% estão em aliança com os %defender%.
model.diplomacy.spanishSuccession=Vossa Excelência, a Guerra de Sucessão Espanhola acabou na Europa. No Tratado de Utrecht, os %loserNation% foram forçados a ceder todas as colônias no Novo Mundo aos %nation%!
+model.diplomacy.dead.european=Vossa Excelência, os %nation% declararam a sua retirada incondicional dos assuntos do Novo Mundo!
+model.diplomacy.dead.native=Vossa Excelência, os %nation% foram destruídos.
lostCityRumour.burialGround=Você profanou um cemitério %nation%! Agora, você tem que morrer!
lostCityRumour.colonist=Você encontrou sobreviventes de uma colônia perdida. Em troca de comida eles juraram lealdade à Coroa!
lostCityRumour.expeditionVanishes=Sua expedição desapareceu sem deixar rastros!
@@ -1748,6 +1886,10 @@
model.foundingFather.military=Militar
model.foundingFather.political=Político
model.foundingFather.religious=Religioso
+model.role.soldier.name=Soldado
+model.role.dragoon.name=Dragão
+model.role.pioneer.name=Pioneiro
+model.role.missionary.name=Missionário
model.equipment.indian.horses.name=Cavalos dos Nativos
model.equipment.indian.horses.add=Montar
model.equipment.indian.horses.remove=Desmontar
@@ -1867,7 +2009,16 @@
report.labour.expertsWorking=peritos nas suas profissões
report.labour.amateursWorking=amadores
report.labour.canTrain=* Esta colônia pode treinar unidades deste tipo.
+report.colony.name.header=Colônia
+report.colony.name.description=A lista das colônias
+report.colony.explore.header=E
+report.colony.explore.description=Número de terrenos para explorar adjacente a esta colônia
+report.colony.exploring.description=%colony% se beneficiaria da exploração de {{plural:%amount%|one=um terreno|other=%amount% terrenos}}
+report.colony.plow.header=P
report.colony.plowing.description=%colony% beneficiaria se arrace {{plural:%amount%|one=um terreno|other=%amount% terrenos}}
+report.colony.road.header=R
+report.colony.roadBuilding.description=%colony% se beneficiaria da construção de {{plural:%amount%|one=uma estrada|other=%amount% estradas}}
+report.colony.grow.header=+
report.trade.unitsSold=Unidades compradas ou vendidas
report.trade.beforeTaxes=Faturamento antes do imposto
report.trade.afterTaxes=Faturamento após o imposto
@@ -1900,6 +2051,11 @@
report.requirements.severalExperts=As seguintes colônias têm mais de um {{plural:2|%unit%}}:
report.requirements.canTrainExperts=As unidades {{plural:2|%unit%}} podem ser treinadas em:
report.requirements.met=Todos os requeirimentos foram atingidos.
+report.requirements.exploreTile=%type%, a %direction% de %colony%, sairia beneficiada por uma exploração.
+report.requirements.clearTile=%type%, a %direction% de %colony% seria beneficiado por um desmatamento.
+report.requirements.plowCenter=%colony% seria beneficiada pela arasão.
+report.requirements.plowTile=%type%, a %direction% de %colony%, seria beneficiada pela arasão.
+report.requirements.roadTile=%type% a %direction% de %colony% seria beneficiada pela construção de uma estrada.
report.exploration.nameOfRegion=Nome da Região
report.exploration.typeOfRegion=Tipo de Região
report.exploration.discoveredIn=Descoberto em
@@ -1920,6 +2076,8 @@
report.production.selectGoods=Selecionar bens
report.production.update=Atualizado
report.foreignAffairs.notice=Este relatório é baseado em expedições diplomáticas e espiões da coroa, por isso pode ser bem mais atualizado do que os relatórios das nossas unidades e escoteiros.
+report.education.students=Alunos em potencial
+report.education.teachers=Professores em potencial
aboutPanel.version=Versão:
aboutPanel.officialSite=Sítio oficial:
aboutPanel.sfProject=Projeto SourceForge:
@@ -1936,6 +2094,7 @@
model.source.fortified.name=Fortificado
model.source.artilleryAgainstRaid.name=Artilharia contra surpresa
model.source.solModifier.name=Filhos Da Libertada / Tórios
+model.source.shipTradePenalty=Penalização de comércio marítimo
model.nation.english.region.mountain.1=Montanhas Apalaches
model.nation.spanish.region.land.3=Equador
model.nation.spanish.region.land.4=México
Modified: freecol/trunk/data/strings/FreeColMessages_zh_CN.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_zh_CN.properties 2013-01-22 06:17:45 UTC (rev 10466)
+++ freecol/trunk/data/strings/FreeColMessages_zh_CN.properties 2013-01-27 19:45:49 UTC (rev 10467)
@@ -11,6 +11,7 @@
# Author: Wmr89502270
# Author: Xiaomingyan
# Author: Yanmiao liu
+# Author: Yfdyh000
# Author: ZhongAn
# Author: 阿pp
@@ -36,6 +37,7 @@
false=假
more=更多...
none=无
+many=很多
nothing=什么都没有
all=全部
notApplicable.short=不可用
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-26 23:15:31
|
Revision: 10484
http://sourceforge.net/p/freecol/code/10484
Author: mpope
Date: 2013-01-26 23:15:26 +0000 (Sat, 26 Jan 2013)
Log Message:
-----------
Merge git.2ffe72b: Disarm initialization race.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/client/control/InGameController.java
Modified: freecol/trunk/src/net/sf/freecol/client/control/InGameController.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/control/InGameController.java 2013-01-24 10:11:22 UTC (rev 10483)
+++ freecol/trunk/src/net/sf/freecol/client/control/InGameController.java 2013-01-26 23:15:26 UTC (rev 10484)
@@ -1098,6 +1098,7 @@
public boolean saveGame() {
Player player = freeColClient.getMyPlayer();
Game game = freeColClient.getGame();
+ if (game == null) return false; // Keyboard handling can race init
String gid = Integer.toHexString(game.getUUID().hashCode());
String fileName = /* player.getName() + "_" */ gid + "_"
+ Messages.message(player.getNationName()) + "_"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-24 10:11:40
|
Revision: 10483
http://sourceforge.net/p/freecol/code/10483
Author: mpope
Date: 2013-01-24 10:11:22 +0000 (Thu, 24 Jan 2013)
Log Message:
-----------
Merge git.bf0991e: Use last instance of magic command line arguments.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/FreeCol.java
Modified: freecol/trunk/src/net/sf/freecol/FreeCol.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/FreeCol.java 2013-01-22 08:41:24 UTC (rev 10482)
+++ freecol/trunk/src/net/sf/freecol/FreeCol.java 2013-01-24 10:11:22 UTC (rev 10483)
@@ -134,9 +134,9 @@
// We can not even emit localized error messages until we find
// the data directory, which might have been specified on the
- // command line.
+ // command line. Take care to use the *last* instance.
String dataDirectoryArg = null;
- for (int i = 0; i < args.length - 1; i++) {
+ for (int i = args.length - 2; i >= 0; i--) {
if ("--freecol-data".equals(args[i])) {
dataDirectoryArg = args[++i];
break;
@@ -148,7 +148,7 @@
// Now we have the data directory, establish the base locale.
// Beware, the locale may change!
String localeArg = null;
- for (int i = 0; i < args.length - 1; i++) {
+ for (int i = args.length - 2; i >= 0; i--) {
if ("--default-locale".equals(args[i])) {
localeArg = args[++i];
break;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-22 08:41:28
|
Revision: 10482
http://sourceforge.net/p/freecol/code/10482
Author: mpope
Date: 2013-01-22 08:41:24 +0000 (Tue, 22 Jan 2013)
Log Message:
-----------
Merge git.cba1266: Show occupation indicator when moving, BR#2384.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/client/gui/MapViewer.java
Modified: freecol/trunk/src/net/sf/freecol/client/gui/MapViewer.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/MapViewer.java 2013-01-20 03:59:07 UTC (rev 10481)
+++ freecol/trunk/src/net/sf/freecol/client/gui/MapViewer.java 2013-01-22 08:41:24 UTC (rev 10482)
@@ -2440,7 +2440,8 @@
g.drawImage(image, p.x, p.y, null);
// Draw an occupation and nation indicator.
- String text = Messages.message(unit.getOccupationKey(player != null && player.owns(unit)));
+ boolean owned = player != null && player.owns(unit);
+ String text = Messages.message(unit.getOccupationKey(owned));
g.drawImage(lib.getOccupationIndicatorChip(unit, text),
(int)(STATE_OFFSET_X * lib.getScalingFactor()), 0,
null);
@@ -2448,23 +2449,26 @@
// Draw one small line for each additional unit (like in civ3).
int unitsOnTile = 0;
if (unit.getTile() != null) {
- // When a unit is moving from tile to tile, it is removed from the source tile
- // So the unit stack indicator cannot be drawn during the movement
- // see UnitMoveAnimation.animate() for details
+ // When a unit is moving from tile to tile, it is
+ // removed from the source tile. So the unit stack
+ // indicator cannot be drawn during the movement see
+ // UnitMoveAnimation.animate() for details
unitsOnTile = unit.getTile().getTotalUnitCount();
}
if (unitsOnTile > 1) {
g.setColor(Color.WHITE);
int unitLinesY = OTHER_UNITS_OFFSET_Y;
- int x1 = (int) ((STATE_OFFSET_X + OTHER_UNITS_OFFSET_X) * lib.getScalingFactor());
- int x2 = (int) ((STATE_OFFSET_X + OTHER_UNITS_OFFSET_X + OTHER_UNITS_WIDTH) * lib.getScalingFactor());
- for (int i = 0; (i < unitsOnTile) && (i < MAX_OTHER_UNITS); i++) {
+ int x1 = (int)((STATE_OFFSET_X + OTHER_UNITS_OFFSET_X)
+ * lib.getScalingFactor());
+ int x2 = (int)((STATE_OFFSET_X + OTHER_UNITS_OFFSET_X
+ + OTHER_UNITS_WIDTH) * lib.getScalingFactor());
+ for (int i = 0; i < unitsOnTile && i < MAX_OTHER_UNITS; i++) {
g.drawLine(x1, unitLinesY, x2, unitLinesY);
unitLinesY += 2;
}
}
} catch (Exception e) {
- e.printStackTrace();
+ logger.log(Level.WARNING, "displayUnit " + unit.toString(), e);
}
// FOR DEBUGGING
@@ -2784,12 +2788,16 @@
final int width = halfWidth + unitImg.getWidth(null)/2;
final int height = unitImg.getHeight(null);
- BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
+ BufferedImage img = new BufferedImage(width, height,
+ BufferedImage.TYPE_INT_ARGB);
Graphics g = img.getGraphics();
final int unitX = (width - unitImg.getWidth(null)) / 2;
g.drawImage(unitImg, unitX, 0, null);
+ String text = Messages.message(unit.getOccupationKey(true));
+ g.drawImage(lib.getOccupationIndicatorChip(unit, text), 0, 0, null);
+
final JLabel label = new JLabel(new ImageIcon(img));
label.setSize(width, height);
return label;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sie...@us...> - 2013-01-22 06:17:57
|
Revision: 10466
http://freecol.svn.sourceforge.net/freecol/?rev=10466&view=rev
Author: siebrand
Date: 2013-01-22 06:17:45 +0000 (Tue, 22 Jan 2013)
Log Message:
-----------
Localisation updates from http://translatewiki.net.
Modified Paths:
--------------
freecol/trunk/data/strings/FreeColMessages_de.properties
freecol/trunk/data/strings/FreeColMessages_fr.properties
freecol/trunk/data/strings/FreeColMessages_gl.properties
freecol/trunk/data/strings/FreeColMessages_hsb.properties
freecol/trunk/data/strings/FreeColMessages_hu.properties
freecol/trunk/data/strings/FreeColMessages_ko.properties
freecol/trunk/data/strings/FreeColMessages_mk.properties
freecol/trunk/data/strings/FreeColMessages_ms.properties
freecol/trunk/data/strings/FreeColMessages_nl.properties
freecol/trunk/data/strings/FreeColMessages_oc.properties
freecol/trunk/data/strings/FreeColMessages_pl_PL.properties
freecol/trunk/data/strings/FreeColMessages_pt_BR.properties
freecol/trunk/data/strings/FreeColMessages_pt_PT.properties
freecol/trunk/data/strings/FreeColMessages_qqq.properties
Modified: freecol/trunk/data/strings/FreeColMessages_de.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_de.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_de.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -324,6 +324,8 @@
direction.NW=nordwestlich
server.reject=Der Server kann das nicht machen.
server.trade.noGoods=Sie können nicht mit nichtvorhandenen Waren handeln.
+main.javaVersion=Zur korrekten Ausführung von FreeCol wird die Java-Version %minVersion% oder später empfohlen.\n(Entdeckt: %version%; „--no-java-check“ verwenden, um diese Überprüfung zu überspringen.)
+main.memory=Es muss für JVM ein Speicher von mehr als %memory% Byte zugewiesen werden.\nFreeCol neu starten mit „java -Xmx%minMemory%M -jar FreeCol.jar“
cli.arg.clientOptions=OPTIONSDATEI
cli.arg.debuglevel=NUMMER
cli.arg.debugRun=TURNS[,SAVENAME]
@@ -348,8 +350,9 @@
cli.error.home.notExists=Home-Verzeichnis %string% existiert nicht.
cli.error.home.noRead=Kann von %string% nicht lesen.
cli.error.home.noWrite=Kann auf %string% nicht schreiben.
-# Fuzzy
-cli.freecol-data=setzt FreeCol´s Datenverzeichnis (beinhaltet ein Unterverzeichnis namens „images“)
+cli.error.save=Das gespeicherte Spiel %string% konnte nicht gelesen werden.
+cli.error.timeout=%string% ist zu kurz (weniger als %minimum%)
+cli.freecol-data=setzt FreeCol´s Datenverzeichnis (beinhaltet ein Unterverzeichnis namens „base“)
cli.font=Standardschriftart festlegen
cli.help=zeigt diesen Hilfebildschirm
cli.home-directory=setzt das FreeCol-Stammverzeichnis (Standard Benutzerstammverzeichnis)
@@ -1149,6 +1152,8 @@
server.invalidPlayerNations=Alle Spieler müssen verschiedene Nationen wählen, bevor das Spiel beginnen kann.
server.timeOut=Zeitüberschreitung beim Versuch mit dem Server zu verbinden.
server.errorStartingGame=Ein Fehler trat beim Erstellen des Spiels auf.
+server.load=Das gespeicherte Spiel konnte nicht geladen werden
+server.initialize=Fehler beim Initialisieren des Servers
displayTileTextAction.EMPTY.name=Zeige keinen Text in Feldern.
displayTileTextAction.NAMES.name=Terraininformationen einblenden
displayTileTextAction.OWNERS.name=Terraineigentümer einblenden
@@ -1264,6 +1269,7 @@
sentryUnit=Wache
clearUnitOrders=Befehle löschen
leaveTown=Stadt verlassen
+board=%unit% besteigen
clearSpeciality=Spezialfähigkeit entfernen
clearSpeciality.areYouSure=Sind Sie sicher, das Sie %oldUnit% zu %unit% herabstufen wollen?
clearSpeciality.impossible=%unit% kann nicht herabgestuft werden!
Modified: freecol/trunk/data/strings/FreeColMessages_fr.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_fr.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_fr.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -323,6 +323,8 @@
direction.NW=nord-ouest
server.reject=Le serveur ne peut pas le faire.
server.trade.noGoods=Vous ne pouvez pas commercer des biens qui ne sont pas présents.
+main.javaVersion=La version %minVersion% de Java ou mieux est recommandée pour faire fonctionner FreeCol\n(%version% détecté, utilisez --no-java-check pour sauter cette vérification).
+main.memory=Vous devez assigner plus de %memory% octets de mémoire à la JVM.\n Redémarrez FreeCol avec: java -Xmx%minMemory%M -jar FreeCol.jar
cli.arg.clientOptions=FICHIER D'OPTIONS
cli.arg.debuglevel=NOMBRE
cli.arg.debugRun=TOURS [, SAVENAME]
@@ -347,8 +349,9 @@
cli.error.home.notExists=Le dossier de base %string% n’existe pas.
cli.error.home.noRead=Impossible de lire depuis %string%.
cli.error.home.noWrite=Impossible d’écrire sur %string%.
-# Fuzzy
-cli.freecol-data=définit le DOSSIER des données de FreeCol (doit contenir un sous-dossier « images »)
+cli.error.save=Impossible de lire la partie sauvegardée %string%.
+cli.error.timeout=%string% est trop court (moins de %minimum%)
+cli.freecol-data=définit le DOSSIER des données de FreeCol (ayant un sous-dossier 'base')
cli.font=définir la police par défaut
cli.help=affiche cet écran d’aide
cli.home-directory=définit le DOSSIER de base de FreeCol (le dossier de base de l’utilisateur est utilisé par défaut)
@@ -1148,6 +1151,8 @@
server.invalidPlayerNations=Chaque joueur doit choisir une nation avant de commencer le jeu.
server.timeOut=Temps d’attente dépassé lors de la connexion avec le serveur.
server.errorStartingGame=Une erreur est survenue lors du démarrage du jeu.
+server.load=Impossible de charger la partie sauvegardée
+server.initialize=Erreur d’initialisation du serveur
displayTileTextAction.EMPTY.name=Afficher aucun texte dans les cases
displayTileTextAction.NAMES.name=Afficher le nom des cases
displayTileTextAction.OWNERS.name=Afficher les propriétaires des cases
@@ -1263,6 +1268,7 @@
sentryUnit=Mettre en veille
clearUnitOrders=Effacer les ordres
leaveTown=Quitter la ville
+board=Tableau de %unit%
clearSpeciality=Oublier la spécialité
clearSpeciality.areYouSure=Êtes-vous certain de vouloir abaisser %oldUnit% à %unit% ?
clearSpeciality.impossible=%unit% ne peut pas être abaissée !
Modified: freecol/trunk/data/strings/FreeColMessages_gl.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_gl.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_gl.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -296,6 +296,8 @@
direction.NW=noroeste
server.reject=O servidor non pode facer iso.
server.trade.noGoods=Non podes comerciar con bens que non están presentes.
+main.javaVersion=Recoméndase a versión %minVersion% do Java para executar o FreeCol\n(detectouse a versión %version%; utiliza --no-java-check para saltar esta comprobación).
+main.memory=Debes asignar máis de %memory% bytes de memoria para o JVM.\n Reinicia o FreeCol con: java -Xmx%minMemory%M -jar FreeCol.jar
cli.arg.clientOptions=FICHEIRO DE OPCIÓNS
cli.arg.debuglevel=NÚMERO
cli.arg.debugRun=QUENDAS[,NOMEGARDADO]
@@ -320,8 +322,9 @@
cli.error.home.notExists=Non existe o directorio principal "%string%".
cli.error.home.noRead=Non se pode ler a partir de "%string%".
cli.error.home.noWrite=Non se pode escribir en "%string%".
-# Fuzzy
-cli.freecol-data=establecer os datos do DIRECTORIO FreeCol (ten un subdirectorio chamado "images")
+cli.error.save=Non se pode ler o xogo gardado "%string%".
+cli.error.timeout="%string%" é curto de máis (menos de %minimum%)
+cli.freecol-data=establecer os datos do DIRECTORIO do FreeCol (ten un subdirectorio chamado "base")
cli.font=establecer o tipo de letra por defecto
cli.help=mostrar esta pantalla de axuda
cli.home-directory=establecer o DIRECTORIO principal FreeCol (por defecto, o directorio principal do usuario)
@@ -1121,6 +1124,8 @@
server.invalidPlayerNations=Todos os xogadores deben elixir unha única nación antes de que o xogo poida comezar.
server.timeOut=Superouse o tempo límite ao conectar co servidor.
server.errorStartingGame=Houbo un erro ao iniciar o xogo.
+server.load=Non se puido cargar o xogo gardado
+server.initialize=Erro ao iniciar o servidor
displayTileTextAction.EMPTY.name=Non mostrar ningún texto nos cuadrantes
displayTileTextAction.NAMES.name=Mostrar os nomes dos cuadrantes
displayTileTextAction.OWNERS.name=Mostrar os donos dos cuadrantes
@@ -1236,6 +1241,7 @@
sentryUnit=Vixiar
clearUnitOrders=Retirar as ordes
leaveTown=Deixar a cidade
+board=Embarcar %unit%
clearSpeciality=Borrar a especialidade
clearSpeciality.areYouSure=Estás seguro de querer rebaixar %oldUnit% a %unit%?
clearSpeciality.impossible=%unit% non pode ser rebaixado!
@@ -2427,8 +2433,7 @@
model.source.ambushBonus.name=Bonificación de emboscada
model.source.artilleryInTheOpen.name=Artillaría ao descuberto
model.source.zeroThreshold.name=Sen produción negativa
-# Fuzzy
-model.source.finalResult.name=Resultado final
+model.source.finalResult.name=Resultado da unidade
model.source.baseDefence.name=Defensa base
model.source.fortified.name=Fortificado
model.source.artilleryAgainstRaid.name=Artillaría contra redada
Modified: freecol/trunk/data/strings/FreeColMessages_hsb.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_hsb.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_hsb.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -187,6 +187,12 @@
filter.gameOptions=FreeCol hrajne opcije (*.fgo)
filter.gameOptionsAndSavedGames=FreeCol hrajne opcije a składowane hry (*.fgo and *.fsg)
filter.xml=XML (Extensible Markup Language).
+freecol.map.Africa=Afrika
+freecol.map.Australia=Awstralija
+freecol.map.America_large=Amerika (wulka)
+freecol.map.Caribbean_basin=Karibiski basenk
+EventPanel.DISCOVER_PACIFIC=Wotkrywaš Pacifiski ocean.
+EventPanel.FIRST_LANDING=Prěnje přistaće w Nowym swěće.
EventPanel.MEETING_AZTEC=Zetkawaće narod Actekow.
EventPanel.MEETING_INCA=Zetkawaće narod Inkow.
Colony=Kolonija
@@ -218,6 +224,7 @@
menuBar.debug.addGold=Złoto přidać
menuBar.debug.addImmigration=Připućowanje přidać
menuBar.debug.addLiberty=Kóždej koloniji swobodu přidać
+menuBar.debug.displayUnits=Jednotki wobrazowki
menuBar.debug.displayPanels=Wobsłužowanske pola pokazać
menuBar.debug.displayEuropeStatus=Status Europy zwobraznić
menuBar.debug.displayErrorMessage=Zmylkowu zdźělenku pokazać
@@ -304,8 +311,10 @@
model.option.turnsToSail.name=Koła, kotrež dyrbja so płachćić
model.option.turnsToSail.shortDescription=Ličba kołow, kotrež su trěbne, zo by wot Europy do Noweho swěta płachćiło.
model.option.amphibiousMoves.name=Amfibiske ćahi
+model.option.emptyTraders.name=Prózdne wikowanske jednotki
model.option.settlementActionsContactChief.name=Włodyku skontaktować
model.option.enhancedMissionaries.name=Polěpšeni misionarojo
+model.option.giftProbability.name=Darowa prawdźepodobnosć.
model.option.startingPositions.name=Spočatne pozicije
model.option.startingPositions.classic=Klasiske
model.option.startingPositions.random=Připadne
@@ -389,6 +398,7 @@
model.option.startingMoney.name=Startowe pjenjezy
model.option.startingMoney.shortDescription=Pjenježna suma, z kotrejž hru startuješ.
model.option.crossesIncrement.shortDescription=Ličba přidatnych křižow trěbnych za kóždeho noweho zapućowarja.
+model.option.liftBoycottCheat.name=Bojkot skónčić
model.option.landPriceFactor.name=Płaćiznowy faktor za kraj
model.option.landPriceFactor.shortDescription=Powyšuje kóšty za kup kraja domoródnych.
model.option.foundingFatherFactor.name=Faktor załožerskeho wótca
@@ -764,6 +774,7 @@
notEnoughGold=Nimaće dosć złota, zo byšće tutón objekt kupili!
move.noAccessSkill=Naša jednotka %unit% njemóže wot domoródnych wuknyć.
move.noAccessWar=Za čas wójny njemóžemy z narodom %nation% wikować.
+move.noTile=Naša %unit% na karće njeje!
notYourTurn=Tuchwilu na rjedźe njejsće!
payForBuilding.yes=Haj
payForBuilding.no=Ně
@@ -803,6 +814,7 @@
server.onlyAdminCanLaunch=Wodajće, ale jenož serwerowy administrator móže hru startować.
server.invalidPlayerNations=Wšitcy hrajerjo dyrbja jónkróćny narod wubrać, prjedy hač hra móže so startować.
server.errorStartingGame=Při startowanju hry je zmylk wustupił.
+server.initialize=Zmylk při inicalizěrowanju serwera
displayTileTextAction.EMPTY.name=W polu tekst njezwobraznić
displayTileTextAction.NAMES.name=Mjena polow zwobraznić
displayTileTextAction.OWNERS.name=Wobsedźerjow polow zwobraznić
@@ -1179,6 +1191,7 @@
model.unit.armed.name=Wobrónjeny
model.unit.mounted.name=Na konju
model.unit.nationUnit=%nation% %unit%
+model.unit.changeWork=Dźěło změnić
model.unit.workingAs=Dźěłać jako
model.unit.expertFarmer.workingAs=Farmar
model.unit.expertFisherman.workingAs=Rybar
@@ -1590,6 +1603,7 @@
report.indian.noKnownSettlements=Žane znate sydlišća.
report.indian.tension=Napjatosć
report.indian.skillTaught=Nawučena kmanosć
+report.indian.mostHated=Najbóle hidźeny
report.indian.tradeInterests=Wikowanske zajimy
report.labour=Dźěłowa rozprawa
report.labour.details=Podrobnosće dźěłoweje rozprawy
@@ -1684,8 +1698,7 @@
model.source.attackBonus.name=Nadpadowy bonus
model.source.ambushBonus.name=Překwapjacy nadpad
model.source.zeroThreshold.name=Žana negatiwna produkcija
-# Fuzzy
-model.source.finalResult.name=Kónčny wuslědk
+model.source.finalResult.name=Jednotkowy wuslědk
model.source.baseDefence.name=Zakitowanje zepěranišća
model.source.fortified.name=Wobhrodźeny
model.source.artilleryAgainstRaid.name=Artilerija přećiwo nadpadej
Modified: freecol/trunk/data/strings/FreeColMessages_hu.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_hu.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_hu.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -127,6 +127,7 @@
colonyPanel.populationTooSmall=Népesség: %number%
colonyPanel.units=Egységek
colonyPanel.buildings=Épületek
+colonyPanel.colonyUnits=Egységek a kolóniában
outsideOfColony.name=A kolónia mellett
inPort.name=A kikötőben
producing.name=Előállítás alatt:
@@ -232,15 +233,30 @@
menuBar.debug=Bug javítás
menuBar.debug.showCoordinates=Koordináták megjelenítése
menuBar.debug.showColonyValue=Kolónia értékeinek megjelenítése
+menuBar.debug.showCommonOutpostValue=Show Common outpost value
+menuBar.debug.skipTurns=Skip turns
+menuBar.debug.stopSkippingTurns=Stop skipping turns
+menuBar.debug.addBuilding=Add building to each colony
+menuBar.debug.addFoundingFather=Add Founding Father
+menuBar.debug.runMonarch=Set the next Monarch action
+menuBar.debug.addGold=Add Gold
menuBar.debug.addImmigration=Bevándorlás hozzáadása
-# Fuzzy
-menuBar.debug.stepRandomNumberGenerator=Véletlenül generált szám: %value%
+menuBar.debug.addLiberty=Add liberty to each colony
+menuBar.debug.stepRandomNumberGenerator=Step Random number generator
+menuBar.debug.displayUnits=Display units
menuBar.debug.randomValue=Véletlenül generált szám: %value%
+menuBar.debug.displayPanels=Display panels
+menuBar.debug.displayMonarchPanel=Display Monarch panel
+menuBar.debug.displayVictoryPanel=Display Victory panel
+menuBar.debug.displayEuropeStatus=Display Europe status
+menuBar.debug.displayErrorMessage=Display error message
menuBar.debug.useAI=MI használata
menuBar.debug.revealEntireMap=Az egész térkép felfedése
+menuBar.debug.hideEntireMap=Teljes Térkép elrejtése
menuBar.debug.compareMaps=Térkép aszinkronitás ellenőrzés
menuBar.debug.compareMaps.checkComplete=Ellenőrizve. Nincs szinkronizációs probléma a térképen.
menuBar.debug.compareMaps.problem=Lehetséges probléma! Kérem olvassa el a standard kimenetbe írt információkat.
+menuBar.debug.showResourceKeys=Show Resource Keys
menuBar.debug.statistics=Statisztika
menuBar.debug.memoryManager=Memóriakezelő
menuBar.debug.memoryManager.freeMemory=Szabad
@@ -254,6 +270,7 @@
metaServer.communicationError=Hibát észleltem a meta-kiszolgálón. Próbáld újra később.
infoPanel.endTurnPanel.text=A kör befejezéséhez nyomd meg\naz 'Enter' billentyűt!
endTurnDialog.name=Kör befejezése
+endTurnDialog.areYouSure={{plural:%number%|one=egység|other=egység}} még parancsokra vár, vagy {{plural:%number%|one=egység|other=egység}} azt a parancsot kapta, hogy várakozzon. Biztos, hogy be akarod fejezni a kört most?
menuBar.tools.determineHighSeas.distToLandFromHighSeas=Távolság a szárazföldtől
menuBar.tools.determineHighSeas.maxDistanceToEdge=Legnagyobb távolság a peremig
stopCurrentGame.text=Már folyamatban van egy játék.
@@ -282,6 +299,7 @@
direction.NW=északnyugat
server.reject=A kiszolgáló erre képtelen.
server.trade.noGoods=Nem kereskedhetsz olyan áruval ami nincs jelen.
+main.javaVersion=%minVersion% vagy jobb Java verzió javasolt a FreeCol futtatásához (%version% verziójút találtunk, ennek az ellenőrzésnek a kihagyásához használd a --no-java-check paramétert).
cli.arg.debuglevel=SZÁM
cli.arg.dimensions=SZÉLxHOSSZ
cli.arg.directory=KÖNYVTÁR
@@ -294,11 +312,14 @@
cli.check-savegame.success=A mentés konzisztencia-ellenőrzése befejeződött, részletekért olvasd el a logot.
cli.check-savegame.failure=A mentés konzisztencia-ellenőrzése sikertelen, részletekért olvasd el a logot.
cli.debug=A FreeCol debuggolása
+cli.debug-run=N kör debug módban fut, aztán ment és kilép, ha kell
cli.default-locale=Az alapértelmezett helység beállítása (NYELV[_ORSZÁG[_VARIÁNS]])
cli.error.port=A %string% nem érvényes port szám.
cli.error.home.notExists=A %string% szülőkönyvtár nem létezik.
cli.error.home.noRead=A %string% nem olvasható.
cli.error.home.noWrite=A %string% nem írható.
+cli.error.save=Nem tudjuk beolvasni a %string% nevű mentett állást.
+cli.error.timeout=%string% túl rövid (kevesebb, mint %minimum% betű)
# Fuzzy
cli.freecol-data=A FreeCol KÖNYVTÁR beállítása (rendelkezik egy 'images' alkönyvtárral)
cli.font=Az alapértelmezett betűtípus bállítása
@@ -329,7 +350,15 @@
model.option.explorationPoints.shortDescription=Járjon pont a felfedezések után?
model.option.turnsToSail.name=Áthajózási körök
model.option.turnsToSail.shortDescription=Az Európából az Újvilágba való áthajózáshoz szükséges körök száma.
+model.option.amphibiousMoves.name=Partraszállási lépések
+model.option.amphibiousMoves.shortDescription=Lehetővé teszi a hajókról közvetlenül az indián településekre való belépést.
+model.option.emptyTraders.name=Üres kereskedelmi egységek
+model.option.emptyTraders.shortDescription=Lehetővé teszi az üres kereskedelmi egységek kereskedelmét az indián településekkel.
+model.option.settlementActionsContactChief.name=Törzsfő kapcsolat
+model.option.settlementActionsContactChief.shortDescription=Minden, a településsel kapcsolatos akció egyben találkozás a törzsfőnökkel és elfogyasztja felderítői bónuszt.
model.option.giftProbability.name=Ajándék esélye
+model.option.demandProbability.name=Követelés valószínűsége
+model.option.demandProbability.shortDescription=Annak a körönkénti százalékos esélye, hogy egy dühös indián település adót követel egy közeli zavaró európai településtől.
model.option.continueFoundingFatherRecruitment.name=Az Alapító Atyák folytatólagos toborzása
model.option.startingPositions.classic=Klasszikus
model.option.startingPositions.historical=Történelmi
@@ -358,6 +387,39 @@
model.option.lastYear.shortDescription=A játék legutolsó éve
model.option.lastColonialYear.name=Az utolsó gyarmati év
gameOptions.prices.name=Kezdeti árak
+gameOptions.prices.shortDescription=A különféle áruk kiindulási árfekvése.
+model.option.food.minimumPrice.name=Élelem minimális kezdeti ára
+model.option.food.maximumPrice.name=Élelem maximális kezdeti ára
+model.option.sugar.minimumPrice.name=Cukor minimális kezdeti ára
+model.option.sugar.maximumPrice.name=Cukor maximális kezdeti ára
+model.option.tobacco.minimumPrice.name=Dohány minimális kezdeti ára
+model.option.tobacco.maximumPrice.name=Dohány maximális kezdeti ára
+model.option.cotton.minimumPrice.name=Gyapot minimális kezdeti ára
+model.option.cotton.maximumPrice.name=Gyapot maximális kezdeti ára
+model.option.furs.minimumPrice.name=Prém minimális kezdeti ára
+model.option.furs.maximumPrice.name=Prém maximális kezdeti ára
+model.option.lumber.minimumPrice.name=Fa minimális kezdeti ára
+model.option.lumber.maximumPrice.name=Fa maximális kezdeti ára
+model.option.ore.minimumPrice.name=Érc minimális kezdeti ára
+model.option.ore.maximumPrice.name=Érc maximális kezdeti ára
+model.option.silver.minimumPrice.name=Ezüst minimális kezdeti ára
+model.option.silver.maximumPrice.name=Ezüst maximális kezdeti ára
+model.option.rum.minimumPrice.name=Rum minimális kezdeti ára
+model.option.rum.maximumPrice.name=Rum maximális kezdeti ára
+model.option.cigars.minimumPrice.name=Szivar minimális kezdeti ára
+model.option.cigars.maximumPrice.name=Szivar maximális kezdeti ára
+model.option.cloth.minimumPrice.name=Szövet minimális kezdeti ára
+model.option.cloth.maximumPrice.name=Szövet maximális kezdeti ára
+model.option.coats.minimumPrice.name=Kabát minimális kezdeti ára
+model.option.coats.maximumPrice.name=Kabát maximális kezdeti ára
+model.option.tools.minimumPrice.name=Szerszám minimális kezdeti ára
+model.option.tools.maximumPrice.name=Szerszám maximális kezdeti ára
+model.option.muskets.minimumPrice.name=Muskéták minimális kezdeti ára
+model.option.muskets.maximumPrice.name=Muskéta minimális kezdeti ára
+model.option.tradeGoods.minimumPrice.name=Kereskedelmi áruk minimális kezdeti ára
+model.option.tradeGoods.maximumPrice.name=Kereskedelmi áru maximális kezdeti ára
+model.option.horses.minimumPrice.name=Lovak minimális kezdeti ára
+model.option.horses.maximumPrice.name=Lovak maximális kezdeti ára
model.option.startingMoney.name=Induló tőke
model.option.startingMoney.shortDescription=A játék elején kapott arany mennyisége
model.option.crossesIncrement.name=Kereszt növekmény
@@ -366,6 +428,8 @@
model.option.badGovernmentLimit.shortDescription=Azon koronapártiak maximális száma, akik még nem okoznak negatív termelési módosítókat.
model.option.veryBadGovernmentLimit.name=Nagyon rossz kormányzati határ
model.option.veryBadGovernmentLimit.shortDescription=Azon koronapártiak maximális száma, akik még nem okoznak további termelési levonásokat.
+model.option.goodGovernmentLimit.name=Jó önkormányzat határa
+model.option.goodGovernmentLimit.shortDescription=A termelési bónuszhoz szükséges Szabadság fiainak minimális százaléka
model.option.landPriceFactor.name=Föld érték tényező
model.option.landPriceFactor.shortDescription=Növeli az őslakosok földjének felvásárlási árát.
model.option.foundingFatherFactor.name=Alapító Atya tényező
@@ -404,7 +468,10 @@
model.option.recruitable.slot2.shortDescription=A harmadik bevándorló egység típusa.
model.option.tileProduction.name=Mező termelés
model.option.tileProduction.shortDescription=A változó termelékenységgel bíró mezők termelése.
+model.option.buildOnNativeLand.name=Építkezés az indiánok földjén
+model.option.buildOnNativeLand.shortDescription=Lehetséges-e kolóniát alapítani az indiánok földjén?
model.option.buildOnNativeLand.always.name=Mindig
+model.option.buildOnNativeLand.always.shortDescription=Mindig lehetséges az indiánok földjén építkezni.
model.option.buildOnNativeLand.first.name=Első
model.option.buildOnNativeLand.first.shortDescription=Az első kolóniát fel lehet építeni az indiánok földjén.
model.option.buildOnNativeLand.firstAndUncontacted.name=Első, ha még nem találkoztak.
@@ -415,17 +482,35 @@
model.option.expertStartingUnits.shortDescription=Minden kezdő egységet szakértővé tesz.
model.option.unitsThatUseNoBells.name=Telepesek akik nem használnak harangot
model.option.unitsThatUseNoBells.shortDescription=A telepesek száma egy kolóniában akik nem használnak fel egy harangot sem.
+model.option.monarchSupport.name=Uralkodói támogatás
+model.option.monarchSupport.shortDescription=Az uralkodó által nyújtott katonai támogatás.
+model.option.refSize.name=A Királyi Expedíciós Erők mérete
+model.option.refSize.shortDescription=A Királyi Expedíciós Erőt alkotó egységek száma és típusa.
model.option.refSize.soldiers.name=Gyalogság
+model.option.refSize.soldiers.shortDescription=Gyalogsági egységek száma.
model.option.refSize.dragoons.name=Lovasság
+model.option.refSize.dragoons.shortDescription=Lovassági egységek száma.
model.option.refSize.menOfWar.name=Hadihajó
+model.option.refSize.menOfWar.shortDescription=A hadihajók (Men'O'War) száma.
model.option.refSize.artillery.name=Tüzérség
model.option.refSize.artillery.shortDescription=A tüzérségi egységek száma.
model.option.immigrants.name=Bevándorlók
model.option.immigrants.shortDescription=Az első bevándorlók Európából.
model.option.interventionForce.name=Intervenciós sereg
+model.option.interventionForce.shortDescription=Az Intervenciós Erők útnak indultak, hogy támogassák Függetlenségi Háborúdat.
+model.option.interventionBells.name=Intervenciós harangok
+model.option.interventionBells.shortDescription=Az Intervenciós Erők beavatkozásához szükséges Harangok száma.
+model.option.interventionTurns.name=Intervenciós körök
+model.option.interventionTurns.shortDescription=Az Intervenciós Erők bővítései között eltelt körök száma.
+model.option.mercenaryForce.name=Zsoldossereg
+model.option.mercenaryForce.shortDescription=A Függetlenségi Háborúd támogatására felajánlott zsoldossereg.
difficultyLevels.name=Nehézségi szintek
model.difficulty.immigration.name=Kivándorlás
model.difficulty.natives.name=Indiánok
+model.difficulty.monarch.name=Uralkodó
+model.difficulty.government.name=Önkormányzat
+model.difficulty.cheat.name=MI-Csalás
+model.difficulty.other.name=Egyéb
model.difficulty.veryEasy.name=Nagyon könnyű
model.difficulty.easy.name=Könnyű
model.difficulty.medium.name=Közepes
@@ -444,12 +529,15 @@
model.difficulty.veryHard=Nagyon nehéz
model.difficulty.custom=Egyéni
clientOptions.name=Beállítások
+clientOptions.shortDescription=Felhasználói beállítások
model.option.autoScroll.name=Térkép auto-mozgatása
model.option.autoScroll.shortDescription=Az automata görgetés engedélyezése mikor az egér a térkép határához ér.
actionManager.name=Billentyű kombinációk
actionManager.shortDescription=Billentyű kombinációk
clientOptions.mods.name=Modok
clientOptions.mods.shortDescription=A játékot módosító 'mod'-okkal kapcsolatos beállítások.
+userMods.name=Felhasználói modulok (User Mods)
+userMods.shortDescription=A játékot módosító 'mod'-okkal kapcsolatos beállítások.
clientOptions.gui.name=Megjelenés
clientOptions.gui.shortDescription=A játék megjelenéséhez tartozó beállításokat tartalmazza.
model.option.languageOption.name=Nyelv
@@ -465,6 +553,12 @@
model.option.displayCompassRose.shortDescription=Az iránytű megjelenítésének mutatása vagy elrejtése.
model.option.displayMapControls.name=Térképvezérlők mutatása
model.option.displayMapControls.shortDescription=A térképvezérlők megjelenítése vagy elrejtése.
+model.option.mapControls.name=Térkép navigáció
+model.option.mapControls.shortDescription=Milyen térképnavigáció jelenjen meg.
+CornerMapControls.name=A sarkokban
+CornerMapControls.shortDescription=A térképvezérlők a sarkokban és az alsó sorban helyezkednek el.
+ClassicMapControls.name=Hagyományos
+ClassicMapControls.shortDescription=A térképvezérlők a jobb oldalon helyezkednek el.
model.option.displayTileText.name=Mezőszövegek
model.option.displayTileText.shortDescription=Mely adatok jelenjenek meg a mezőkön.
clientOptions.gui.displayTileText.empty=Üres
@@ -482,6 +576,10 @@
model.option.displayGrid.shortDescription=A rácsháló megjelenítése vagy elrejtése.
model.option.unitLastMoveDelay.name=Egység utolsó mozgásának késleltetése
model.option.unitLastMoveDelay.shortDescription=Legyen-e egy rövid szünet egy egység utolsó lépése után, vagy sem.
+model.option.usePixmaps.name=Pixmapek használata a képek tárolásához
+model.option.usePixmaps.shortDescription=Próbálkozz ennek a kikapcsolásával ha az egységek szokásos mozgása nagyon lassú.
+model.option.rememberPanelPositions.name=Panel pozíciók megjegyzése
+model.option.rememberPanelPositions.shortDescription=Megjegyzi a különböző panelek helyét a képernyőn.
model.option.moveAnimationSpeed.name=Baráti egységek mozgatása
model.option.moveAnimationSpeed.shortDescription=A baráti egységek mozgatásának sebességét állítja be.
clientOptions.gui.moveAnimationSpeed.off=Ki
@@ -539,6 +637,12 @@
model.option.guiShowMarketPrices.shortDescription=Meghatározza a piaci árak változásával kapcsolatos üzenetek megjelenítését.
model.option.guiShowMissingGoods.name=Hiányzó termék
model.option.guiShowMissingGoods.shortDescription=Meghatározza az épületek befejezéséhez hiányzó árukkal kapcsolatos üzenetek megjelenítését.
+model.option.guiShowGifts.name=Indián ajándékok
+model.option.guiShowGifts.shortDescription=Meghatározza az indiánok ajándékairól szóló üzenetek megjelenítését a körök elején.
+model.option.guiShowDemands.name=Indián követelések
+model.option.guiShowDemands.shortDescription=Meghatározza az indiánok követeléseiről szóló üzenetek megjelenítését a körök elején.
+model.option.guiShowGoodsMovement.name=Árumozgás
+model.option.guiShowGoodsMovement.shortDescription=Meghatározza a részletes árumozgás megjelenítését.
model.option.guiShowPreCombat.name=Támadás előtti elemzés
model.option.guiShowPreCombat.shortDescription=Meghatározza a csata előtti elemzések megjelenítését.
model.option.guiShowNotBestTile.name=Nem a legjobb mező
@@ -564,6 +668,8 @@
model.option.audioMixer.shortDescription=Az eszköz amit a hangok lejátszására használ.
model.option.audioVolume.name=Hangerő
model.option.audioVolume.shortDescription=Hangerő
+model.option.audioAlerts.name=Hangjelzések
+model.option.audioAlerts.shortDescription=Hangjelzések bekapcsolása
clientOptions.savegames.name=Elmentett állások
clientOptions.savegames.shortDescription=Elmentett állások
model.option.showSavegameSettings.name=Mentési dialógus:
@@ -572,6 +678,8 @@
clientOptions.savegames.showSavegameSettings.multiplayer=Csak többjátékos módban mentett állásoknál
clientOptions.savegames.showSavegameSettings.always=Mindig
clientOptions.savegames.autosave.fileprefix=Automentés
+clientOptions.savegames.autosave.lastturn=utolsó-kör
+clientOptions.savegames.autosave.beforelastturn=utolsó-előtti-kör
model.option.autosavePeriod.name=Automatikus mentés ennyi körönként:
model.option.autosavePeriod.shortDescription=A játék automatikus mentése bizonyos időközönként. 0 esetén ez a funkció ki van kapcsolva.
model.option.autosaveGenerations.name=Ennyi auto-mentés megőrzése:
@@ -615,6 +723,8 @@
model.option.landMass.shortDescription=A generált térkép szárazföldjeinek össz területét szabályozza.
model.option.landGeneratorType.name=Szárazulat típus (KÍSÉRLETI!)
model.option.landGeneratorType.shortDescription=A térképgenerátor beállítását teszi lehetővé.
+model.option.distanceToHighSea.name=A nyílt tengertől való távolság
+model.option.distanceToHighSea.shortDescription=A part és a nyílt tenger várt átlagos távolsága.
model.option.riverNumber.name=Folyók gyakorisága
model.option.riverNumber.shortDescription=A generált térképen lévő folyók számát befolyásolja.
model.option.mountainNumber.name=Hegyek gyakorisága
Modified: freecol/trunk/data/strings/FreeColMessages_ko.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_ko.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_ko.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -8,7 +8,7 @@
# Author: 아라
freecol.desktopEntry.GenericName=전략 게임
-freecol.desktopEntry.Comment="시드 마이어의 Colonization" 에 따른 턴제 전략 게임입니다.
+freecol.desktopEntry.Comment="시드 마이어의 식민지" 에 따른 턴제 전략 게임입니다.
ok=확인
cancel=취소
reset=초기화
@@ -29,6 +29,7 @@
false=거짓
more=더 보기...
none=없음
+many=많이
nothing=없음
all=모두
notApplicable.short=N/A
@@ -105,6 +106,7 @@
building=건물
goods=상품
goldAmount={{plural:%amount%|one=황금|other=황금|default=황금}} %amount%개
+cargoOnCarrier=운반 중인 화물
cargoOnCarrierLong=%name%의 화물 (%space% {{plural:%space%|one=칸|other=칸|default=칸}} 남음)
outsideColony=식민지 외곽
colonyPanel.buyBuilding=건물 구입
@@ -145,9 +147,10 @@
trainDialog.clickOn=양성할 사람에 클릭하십시오.
trainDialog.done=완료
quitDialog.areYouSure.text=정말로 종료하시길 원하십니까?
+errorMessage.showLogFile=기록 파일 보기
tradeItem.colony=식민지
tradeItem.colony.long=%colony% 식민지
-tradeItem.gold=금
+tradeItem.gold=황금
tradeItem.goods=상품
tradeItem.unit=유닛
negotiationDialog.offer=%nation% 제의
@@ -167,7 +170,7 @@
tension.happy=기쁨
tension.angry=화남
tension.hateful=증오
-tension.unknown=모름
+tension.unknown=알 수 없음
tension=긴장도
noSuchFile=지정된 파일이 존재하지 않거나 일반 파일이 아닙니다.
gotoThisTile=이 타일로 이동
@@ -194,6 +197,7 @@
NewWorld=새로운 세계
Ship=선박
LoadingSavegame.title=저장 게임 불러오기
+LoadingSavegame.singlePlayer=싱글 플레이어
LoadingSavegame.privateMultiplayer=비공개 멀티 플레이어
LoadingSavegame.publicMultiplayer=공개 멀티 플레이어
LoadingSavegame.serverName=서버 이름:
@@ -267,8 +271,11 @@
cli.arg.directory=디렉토리
cli.arg.file=파일
cli.arg.locale=로케일
+cli.arg.loglevel=로그레벨
cli.arg.name=이름
cli.arg.port=포트
+cli.arg.seed=씨
+cli.arg.timeout=시간초과
cli.check-savegame=일관성을 위해 주어진 savegame을 확인
cli.check-savegame.success=Savegame 일관성 검사를 마쳤습니다. 자세한 것은 로그를 확인하세요.
cli.check-savegame.failure=Savegame 일관성 검사에 실패했습니다. 자세한 것은 로그를 확인하세요.
@@ -297,7 +304,7 @@
model.option.fogOfWar.name=전장의 안개
model.option.explorationPoints.name=탐사 포인트
model.option.turnsToSail.name=항해 턴 수
-model.option.startingPositions.random=랜덤
+model.option.startingPositions.random=임의
gameOptions.colony.name=식민지 선택사항
model.option.allowStudentSelection.name=학생 선택 허용
model.option.allowStudentSelection.shortDescription=학생 자동 배정 대신 수동으로 할 수 있습니다.
@@ -309,9 +316,9 @@
model.option.victoryDefeatEuropeans.shortDescription=게임에서 모든 유럽 플레이어를 패배시킨 플레이어가 승리하게 됩니다.
model.option.victoryDefeatHumans.name=모든 다른 인간 플레이어 패배
model.option.victoryDefeatHumans.shortDescription=모든 인간 플레이어를 패배시킨 플레이어가 게임에서 승리합니다.
-gameOptions.years.shortDescription=여러가지 중요한 연도에 관련된 옵션이 있습니다.
+gameOptions.years.shortDescription=다양한 특수 연도에 관련된 옵션을 포함합니다.
model.option.startingYear.name=시작 연도
-model.option.startingYear.shortDescription=게임 시작 연도
+model.option.startingYear.shortDescription=게임을 시작하는 연도입니다.
model.option.startingMoney.name=시작 금액
model.option.startingMoney.shortDescription=게임 시작시 돈의 총액
model.option.crossesIncrement.name=십자가 증가
@@ -701,7 +708,7 @@
reportHighScoresAction.name=최고 점수
roadAction.name=도로 건설
difficultyAction.name=난이도 보기
-gameOptionsAction.name=게임 선택사항 표시
+gameOptionsAction.name=게임 선택 사항 보이기
showMainAction.name=주 메뉴
mapGeneratorOptionsAction.name=지도 생성기 선택사항 표시
retireAction.name=그만 두기
Modified: freecol/trunk/data/strings/FreeColMessages_mk.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_mk.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_mk.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -296,6 +296,8 @@
direction.NW=северозапад
server.reject=Oпслужувачот не може да го направи тоа.
server.trade.noGoods=Не можете да тргувате со стока која ја нема.
+main.javaVersion=За FreeCol се препорачува Java-верзија %minVersion% или подобра \n(утврдена е %version%; употребете --no-java-check за да ја прескокнете оваа проверка).
+main.memory=Треба да зададете повеќе од %memory% бајти склад за JVM.\n Пуштете го FreeCol одново со: java -Xmx%minMemory%M -jar FreeCol.jar
cli.arg.clientOptions=ПОДАТОТЕКА СО ПОСТАВКИ
cli.arg.debuglevel=БРОЈ
cli.arg.debugRun=ПОТЕЗИ[,ИМЕЗАЗАЧУВУВАЊЕ]
@@ -320,8 +322,9 @@
cli.error.home.notExists=Матичниот директориум %string% не постои.
cli.error.home.noRead=Не можам да прочитам од %string%.
cli.error.home.noWrite=Не можам да запишам во %string%.
-# Fuzzy
-cli.freecol-data=постави ДИРЕКТОРИУМ за податоците на FreeCol (има поддиректориум наречен 'images')
+cli.error.save=Не можам да ја прочитам зачуваната игра %string%.
+cli.error.timeout=%string% е прекратка (помала од %minimum%)
+cli.freecol-data=постави ДИРЕКТОРИУМ за податоците на FreeCol (има поддиректориум наречен 'base')
cli.font=постави основен фонт
cli.help=прикажувај го овој екран за помош
cli.home-directory=постави матичен ДИРЕКТОРИУМ за податоците на FreeCol (по основно, матичниот директориум на корисникот)
@@ -1122,6 +1125,8 @@
server.invalidPlayerNations=Пред да почне играта, сите играчи мораат да одберат различна нација.
server.timeOut=Времето за поврзување со северот истече.
server.errorStartingGame=Се појави грешка при започнувањето на играта.
+server.load=Не можев да ја вчитам зачуваната игра
+server.initialize=Грешка во пуштањето на опслужувачот
displayTileTextAction.EMPTY.name=Не прикажувај текст во полињата
displayTileTextAction.NAMES.name=Прикажувај имиња на полињата
displayTileTextAction.OWNERS.name=Прикажувај сопственици на полињата
@@ -1280,6 +1285,7 @@
sentryUnit=Чувај стража
clearUnitOrders=Откажи наредби
leaveTown=Напушти го градот
+board=Натовари го %unit%
clearSpeciality=Исчисти ја специјалноста
clearSpeciality.areYouSure=Дали сте сигурни дека сакате да ги снижите %oldUnit% на %unit%?
clearSpeciality.impossible=%unit% не може да се снижи!
Modified: freecol/trunk/data/strings/FreeColMessages_ms.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_ms.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_ms.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -294,6 +294,8 @@
direction.NW=barat laut
server.reject=Pelayan tidak boleh melakukan yang itu.
server.trade.noGoods=Anda tidak boleh memperdagangkan barangan yang tidak ada.
+main.javaVersion=Java versi %minVersion% ke atas disyorkan untuk menjalankan FreeCol\n(%version% dikesan, gunakan --no-java-check untuk melangkau pemeriksaan ini).
+main.memory=Anda perlu menggunakan lebih daripada %memory% bait ingatan pada JVM.\n Lancarkan semula FreeCol dengan: java -Xmx%minMemory%M -jar FreeCol.jar
cli.arg.clientOptions=FAIL PILIHAN
cli.arg.debuglevel=NOMBOR
cli.arg.debugRun=TURNS[,SAVENAME]
@@ -318,8 +320,9 @@
cli.error.home.notExists=Direktori utama %string% tidak wujud.
cli.error.home.noRead=%string% tidak boleh dibaca.
cli.error.home.noWrite=%string% tidak boleh ditulis.
-# Fuzzy
-cli.freecol-data=tetapkan DIREKTORI data FreeCol (mempunyai subdirektori 'images')
+cli.error.save=Permainan tersimpan %string% tidak dapat dibaca.
+cli.error.timeout=%string% terlalu pendek (kurang daripada %minimum%)
+cli.freecol-data=tetapkan DIREKTORI data FreeCol (mempunyai subdirektori 'base')
cli.font=tetapkan fon sediaan
cli.help=paparkan skrin bantuan ini
cli.home-directory=tetapkan DIREKTORI utama FreeCol (laman utama pengguna sebagai asali)
@@ -1119,6 +1122,8 @@
server.invalidPlayerNations=Semua pemain perlu memilih bangsa yang unik sebelum permainan boleh dimulakan.
server.timeOut=Timeout berlaku apabila bersambung dengan pelayan.
server.errorStartingGame=Ralat dialami ketika cuba memulakan permainan.
+server.load=Permainan tersimpan tidak dapat dimuatkan
+server.initialize=Ralat ketika melancarkan pelayan
displayTileTextAction.EMPTY.name=Jangan paparkan teks dalam jubin
displayTileTextAction.NAMES.name=Paparkan nama jubin
displayTileTextAction.OWNERS.name=Paparkan pemilik jubin
@@ -1233,6 +1238,7 @@
sentryUnit=Sentri
clearUnitOrders=Padamkan arahan
leaveTown=Keluar dari Pekan
+board=Naiki %unit%
clearSpeciality=Padamkan kepakaran
clearSpeciality.areYouSure=Adakah anda benar-benar ingin menurun taraf %oldUnit% to %unit%?
clearSpeciality.impossible=%unit% tidak boleh diturun taraf!
Modified: freecol/trunk/data/strings/FreeColMessages_nl.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_nl.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_nl.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -303,6 +303,8 @@
direction.NW=noordwest
server.reject=De server kan dat niet.
server.trade.noGoods=U kunt geen goederen verhandelen die niet aanwezig zijn.
+main.javaVersion=Voor FreeCol wordt een Javaversie van %minVersion% of later aanbevolen.\n%version% is gedetecteerd. Gebruik "--no-java-check" om deze controle over te slaan.
+main.memory=U moet meer dan %memory% bytes geheugen aan de JVM toekennen.\n Herstart FreeCol met: java -Xmx%minMemory%M -jar FreeCol.jar
cli.arg.clientOptions=INSTELLINGENBESTAND
cli.arg.debuglevel=GETAL
cli.arg.debugRun=BEURTEN[,BESTANDSNAAM]
@@ -327,8 +329,9 @@
cli.error.home.notExists=Thuismap %string% bestaat niet.
cli.error.home.noRead=Kan niet lezen in %string%.
cli.error.home.noWrite=Kan niet schrijven naar %string%.
-# Fuzzy
-cli.freecol-data=stelt de gegevensmap MAP in voor FreeCol (heeft een submap genaamd 'images')
+cli.error.save=Het opgeslagen spel %string% kan niet gelezen worden.
+cli.error.timeout=%string% is te kort (minder dan %minimum%).
+cli.freecol-data=stelt de gegevensmap MAP in voor FreeCol (heeft een submap genaamd 'base')
cli.font=Het standaard lettertype instellen
cli.help=dit hulpscherm weergeven
cli.home-directory=de FreeCol-map (standaard de gebruikersmap)
@@ -1128,6 +1131,8 @@
server.invalidPlayerNations=Alle spelers moeten een unieke natie kiezen voordat het spel kan starten.
server.timeOut=Verbinden met de server duurde te lang.
server.errorStartingGame=Er is iets fout gegaan tijdens het starten van het spel!
+server.load=Het was niet mogelijk het opgeslagen spel te laden
+server.initialize=Fout tijdens het initialiseren van de server
displayTileTextAction.EMPTY.name=Geen tekst weergeven in tegels
displayTileTextAction.NAMES.name=Oppervlaktenamen weergeven
displayTileTextAction.OWNERS.name=Grondeigenaren weergeven
@@ -1286,6 +1291,7 @@
sentryUnit=Wacht
clearUnitOrders=Orders intrekken
leaveTown=Verlaat stad
+board=%unit% aanmonsteren
clearSpeciality=Verwijder beroep
clearSpeciality.areYouSure=Weet u zeker dat u %oldUnit% wilt demoveren naar %unit%?
clearSpeciality.impossible=%unit% kan niet gedemoveerd worden!
@@ -2519,8 +2525,7 @@
model.source.ambushBonus.name=Hinderlaagbonus
model.source.artilleryInTheOpen.name=Kanon in het open veld
model.source.zeroThreshold.name=Geen negatieve productie
-# Fuzzy
-model.source.finalResult.name=Einduitslag
+model.source.finalResult.name=Eenheidresultaat
model.source.baseDefence.name=Basisverdediging
model.source.fortified.name=Standhouden
model.source.artilleryAgainstRaid.name=Kanon tegen de aanval
Modified: freecol/trunk/data/strings/FreeColMessages_oc.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_oc.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_oc.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -5,6 +5,7 @@
# Author: McDutchie
# Author: Mertyl
+freecol.desktopEntry.GenericName=Jòc d'estrategia
ok=D'acòrdi
cancel=Quitar
reset=Reïnicializar
@@ -25,6 +26,7 @@
false=Fals
more=mai...
none=Pas cap
+many=fòrça
nothing=Res
all=Totes
notApplicable.short=N/A
@@ -33,11 +35,14 @@
Test=Tèst
Music=Musica
Current=Actual
+help=Ajuda
list.add=Apondre
list.remove=Levar
list.up=Pujar
list.down=Davalar
+list.edit=Modificar
file.browse=Percórrer
+FileChooser.openButtonText=D'acòrdi
option.remove=Suprimir
width=Largor
height=Nautor
@@ -97,11 +102,9 @@
sonsOfLiberty=Independentistas
building=Bastiment
goods=Merças
-# Fuzzy
-goldAmount=%amount% aur
+goldAmount=%amount% {{plural:%amount%|one=aur|other=aur|default=aur}}
cargoOnCarrier=Cargament transportat
-# Fuzzy
-cargoOnCarrierLong=Cargament de %name% (%space% liure)
+cargoOnCarrierLong=Cargament de %name% (%space% {{plural:%space%|one=emplaçament liure|other=emplaçaments liures|default=emplaçaments liures}})
outsideColony=En defòra de la colonia
colonyPanel.buyBuilding=Crompar un bastiment
colonyPanel.rebelLabel=Rebèls : %number%
@@ -121,14 +124,17 @@
colonyPanel.populationTooSmall=Populacion %number%
colonyPanel.units=Unitats
colonyPanel.buildings=Bastiments
+colonyPanel.colonyUnits=Unitats de la Colonia
+outsideOfColony.name=En defòra de la colonia
+inPort.name=Al pòrt
+producing.name=que produtz
turns=torns
turnsToComplete.short=(Torns: %number%)
turnsToComplete.long=(Torns que demòran : %number%)
waitingFor=Los %nation% acaban lor torn.
chooseImmigrant=Causissètz qui volètz veire emigrar d'Euròpa
abstractUnit={{plural:%number%|one=una|other=%number%}} %unit%
-# Fuzzy
-colonist=Colon
+colonist=%number% {{plural:%number%|one=colon|other=colons|default=colon}}
colonists=Colons
tories=Leialistas
crosses=Croses
@@ -144,6 +150,8 @@
trainDialog.done=Quitar
quitDialog.areYouSure.text=Sètz segur(a) que volètz quitar ?
retireDialog.areYouSure.text=Sètz segur(a) que vos volètz retirar ?
+foundingFatherDialog.nominate=Designatz un paire fondator
+errorMessage.showLogFile=Afichar lo fichièr jornal
tradeItem.colony=Colonia
tradeItem.colony.long=la colonia de %colony%
tradeItem.gold=Aur
@@ -151,10 +159,9 @@
tradeItem.goods=Merças
tradeItem.stance=Relacions
tradeItem.unit=Unitat
-# Fuzzy
-negotiationDialog.offer=Ofèrta
-# Fuzzy
-negotiationDialog.demand=Demanda
+negotiationDialog.offer=Lo %nation% ofrís
+negotiationDialog.demand=Lo %nation% demanda
+negotiationDialog.exchange=en escambi de
negotiationDialog.summary=Lo %nation% prepausa %offers% en escambi de %demands%.
negotiationDialog.accept=Acceptar
negotiationDialog.cancel=Anullar
@@ -168,9 +175,17 @@
transaction.sale=Vendre %amount% %goods% @%gold%
transaction.tax=-%tax%%:\t%gold%
transaction.net=Net :\t%gold%
+tension.wary=Mesfisent
+tension.happy=Urós
+tension.content=Content
+tension.displeased=Contrariat
+tension.angry=En colèra
+tension.hateful=Asirós
+tension.unknown=Desconegut
tension=Tension
noSuchFile=Lo fichièr indicat existís pas o es pas al bon format.
gotoThisTile=Anatz a aquesta casa.
+gotoEurope=Anar en Euròpa
attackTileOdds=Atacar ! (%chance%% d'escasença de succès)
dumpCargo=Descargar lo cargament
tile=Casa (%x%, %y%)
@@ -178,18 +193,25 @@
filter.gameOptions=Opcions de FreeCol (*.fgo)
filter.gameOptionsAndSavedGames=Salvaments e Opcions de FreeCol (*.fsg e *.fgo)
filter.xml=XML (Extensible Markup Language).
-# Fuzzy
-underRepair=En reparacion (demòran %turns% torns)
+freecol.map.Africa=Africa
+freecol.map.Australia=Austràlia
+freecol.map.America_large=America (granda)
+freecol.map.Caribbean_basin=Bacin de las Caribas
+underRepair=En reparacion (%turns% {{plural:%turns%|one=torn restant|other=torns restants}})
+EventPanel.DISCOVER_PACIFIC=Avètz descobert l'ocean Pacific !
+EventPanel.FIRST_LANDING=Primièr debarcament dins lo Mond Novèl.
EventPanel.MEETING_EUROPEANS=Rencontratz d'amics europèus. Seràn en competicion amb vos per las tèrras e las riquesas, e atal, pòdon menar una guèrra contra vos. Mas aprèp que Jan de Witt a rejonch lo Congrès continental, poiretz comerçar amb eles.
EventPanel.MEETING_NATIVES=Rencontratz d'indigènas. Mandatz vòstres scouts a lors campaments, per tal de n'aprene mai sus eles, a mai vòstres servidors engatjats e colons liures per aprene d'eles. Madatz vòstres vaissèls e de convòis de carriòts a lors colonias, se volètz comerçar amb eles.
EventPanel.MEETING_AZTEC=Rencontratz la nacion Aztèca.
EventPanel.MEETING_INCA=Rencontratz la nacion Inca.
-# Fuzzy
-tutorial.startGame=Aprèp de meses a vogar sus l'ocean, arribatz enfin al larg d'un continent desconegut. Fasetz vela cap a l'oèst per descobrir lo Mond Novèl e lo reivendicar al nom de la Corona.
+tutorial.startGame=Aprèp de meses a vogar sus l'ocean, arribatz enfin al larg de las còstas d'un continent desconegut. Fasètz vela cap a {{tag:%direction%|west=l'oèst|east=l'èst|default=jol vent}} per descobrir lo Mond Novèl e lo reïvindicar al nom de la Corona.
tutorial.buildColony=Construsissètz una colonia en quichant sus la tòca %build_colony_key% o en clicant sus %build_colony_menu_item% dins lo menut %orders_menu_item%.\n\nSeretz prevengut se l'endrech causit es pas ideal per s'i establir.
Colony=Colonia
Settlement=Règlament
+NewWorld=Mond Novèl
+Ship=Vaissèl
LoadingSavegame.title=Cargament d'un salvament
+LoadingSavegame.singlePlayer=Un sol jogaire
LoadingSavegame.privateMultiplayer=Multijogaire privat
LoadingSavegame.publicMultiplayer=Multijogaire public
LoadingSavegame.serverName=Nom del servidor :
@@ -198,24 +220,45 @@
editor.removeSettlement=Suprimir lo règlament
editor.removeSettlement.text=Volètz suprimir aqueste règlament ?
editor.mapSize=Seleccionar la talha de la mapa
+buildingToolTip.breeding=Avètz besonh d'al mens %number% {{plural : %number% | %goods% }} per produire %goods% .
menuBar.game=Jòc
menuBar.view=Vejatz
menuBar.tools=Aisinas
menuBar.orders=Òrdres
menuBar.colopedia=Colonipèdia
-# Fuzzy
-menuBar.teacher=Enregistrament de l'ensenhament
+menuBar.teacher=Formar %unit%
menuBar.debug=Desbogar
menuBar.debug.showCoordinates=Far veire las coordenadas
menuBar.debug.showColonyValue=Far veire las valors de las colonias
+menuBar.debug.showCommonOutpostValue=Afichar la valor d'avant-pòste comun
+menuBar.debug.skipTurns=Passar de torns
+menuBar.debug.stopSkippingTurns=Arrestar de passar de torns
+menuBar.debug.addBuilding=Apondre un bastiment a cada colonia
+menuBar.debug.addFoundingFather=Apondre un paire fondator
+menuBar.debug.runMonarch=Definir l'accion seguenta del monarca
+menuBar.debug.addGold=Apondre d’aur
menuBar.debug.addImmigration=Apondre l'immigracion
-# Fuzzy
-menuBar.debug.stepRandomNumberGenerator=Valor del generator de nombres aleatòris : %value%
+menuBar.debug.addLiberty=Apondre de punts de libertat a cada colonia
+menuBar.debug.stepRandomNumberGenerator=Aviar lo generator de nombres aleatòris
+menuBar.debug.displayUnits=Afichar las unitats
+menuBar.debug.randomValue=Valor del generator de nombres aleatòris : %value%
+menuBar.debug.displayPanels=Afichar panèls
+menuBar.debug.displayMonarchPanel=Panèl Monarca
+menuBar.debug.displayVictoryPanel=Panèl Victòria
+menuBar.debug.displayEuropeStatus=Panèl Euròpa
+menuBar.debug.displayErrorMessage=Afichar lo messagte d'error
+menuBar.debug.useAI=Utilizar AI
menuBar.debug.revealEntireMap=Revelar tota la mapa
+menuBar.debug.hideEntireMap=Amagar tota la mapa
menuBar.debug.compareMaps=Contraròtle per la desincronizacion de mapa
menuBar.debug.compareMaps.checkComplete=Contraròtle efectuat. Cap de desincronizacion pas relevada.
menuBar.debug.compareMaps.problem=Problèmas eventuals rencontrats. Legissètz las entresenhas escrichas sus l'ecran.
+menuBar.debug.showResourceKeys=Far veire las ressorsas clau
+menuBar.debug.statistics=Estatisticas
menuBar.debug.memoryManager=Gestionari de memòria
+menuBar.debug.memoryManager.freeMemory=Liure
+menuBar.debug.memoryManager.totalMemory=Total
+menuBar.debug.memoryManager.maxMemory=Max
menuBar.debug.memoryManager.gc=Aviar l'amassamicas
menuBar.report=Rapòrt
menuBar.statusLine=Punts : %score% | Aur : %gold% | Taxas : %tax% % | An : %year%
@@ -223,6 +266,7 @@
metaServer.couldNotConnect=O planhèm, es impossible de se connectar al metaservidor. Ensajatz tornamai ulteriorament.
metaServer.communicationError=Error durant la comunicacion amb lo metaservidor. Ensajatz tornamai ulteriorament.
infoPanel.endTurnPanel.text=Clicatz "Entrada" per acabar lo torn.
+endTurnDialog.name=Fin del torn
menuBar.tools.determineHighSeas.distToLandFromHighSeas=Nombre de casas dempuèi la tèrra
menuBar.tools.determineHighSeas.maxDistanceToEdge=Distància maximum del bòrd
stopCurrentGame.text=Una partida es en cors.
@@ -259,8 +303,7 @@
cli.error.home.notExists=Lo camin de basa %string% existís pas.
cli.error.home.noRead=Impossible de legir dempuèi %string%.
cli.error.home.noWrite=Impossible d'escriure sus %string%.
-# Fuzzy
-cli.freecol-data=definir lo DORSIÈR de las donadas de FreeCol (deu aver un sosdorsièr 'images')
+cli.freecol-data=definís lo DORSIÈR de las donadas de FreeCol (deu aver un sosdorsièr 'base')
cli.help=Aficha aqueste ecran d’ajuda
cli.home-directory=definir lo DORSIÈR de basa de FreeCol (lo dorsièr de basa de l'utilizaire es utilizat per defaut)
cli.load-savegame=cargar lo fichièr de salvament del jòc FICHIÈR
@@ -1713,7 +1756,7 @@
model.equipment.tools.name=Aisinas
model.equipment.tools.add=Equipar amb d'espleches
model.equipment.tools.remove=Pausar las aisinas
-model.equipment.tools.none=pas cap d'esplech
+model.equipment.tools.none=pas cap d'aisina
model.equipment.missionary.name=Bíblia
model.equipment.missionary.add=Benir coma missionari
model.equipment.missionary.remove=Renonciar a l'estat de missionari
Modified: freecol/trunk/data/strings/FreeColMessages_pl_PL.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_pl_PL.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_pl_PL.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -1129,6 +1129,8 @@
server.invalidPlayerNations=Przed rozpoczęciem gry każdy gracz musi wybrać inną narodowość.
server.timeOut=Przekroczenie czasu podczas łączenia z serwerem.
server.errorStartingGame=Podczas uruchamiania gry pojawił się błąd.
+server.load=Nie można załadować zapisanej gry
+server.initialize=Błąd inicjowania serwera
displayTileTextAction.EMPTY.name=Nie wyświetlaj tekstu na polach
displayTileTextAction.NAMES.name=Wyświetl nazwy pól
displayTileTextAction.OWNERS.name=Wyświetl właścicieli pól
Modified: freecol/trunk/data/strings/FreeColMessages_pt_BR.properties
===================================================================
--- freecol/trunk/data/strings/FreeColMessages_pt_BR.properties 2013-01-13 15:11:45 UTC (rev 10465)
+++ freecol/trunk/data/strings/FreeColMessages_pt_BR.properties 2013-01-22 06:17:45 UTC (rev 10466)
@@ -43,6 +43,7 @@
notApplicable.short=N/A
rules=Regras
difficulty=Dificuldade
+Test=Teste
Music=Música
Current=Atual
help=Ajuda
@@ -52,6 +53,7 @@
list.down=Para baixo
list.edit=Editar
file.browse=Buscar arquivo
+FileChooser.openButtonText=OK
option.remove=Remover
width=Comprimento
height=Altura
@@ -134,11 +136,13 @@
colonyPanel.units=Unidades
colonyPanel.buildings=Construções
colonyPanel.colonyUnits=Unidades da colônia
+inPort.name=No porto
turns=turnos
turnsToComplete.short=(Turnos: %number%)
turnsToComplete.long=(Turnos para completar: %number%)
waitingFor=Esperando por: %nation%
chooseImmigrant=Escolha quem emigrará da Europa.
+abstractUnit={{plural:%number%|one=um|other=%number%}} %unit%
colonist=%number% {{plural:%number%|one=Colono|other=Colonos|default=Colono}}
colonists=Colonos
tories=Monarquistas
@@ -198,7 +202,10 @@
filter.xml=XML (Extensible Markup Language).
freecol.map.Africa=África
freecol.map.Australia=Austrália
+freecol.map.America_large=América (grande)
+freecol.map.Caribbean_basin=Mar do Caribe
underRepair=Em reparação ({{plural:%turns%|one=falta uma jogada|other=faltam %turns% jogadas}})
+EventPanel.DISCOVER_PACIFIC=Você descobriu o Oceano Pacífico.
EventPanel.MEETING_EUROPEANS=Você encontrou europeus. Eles competirão com você por terras e riquezas, e poderão até declarar guerra. Apenas depois que Jan de Witt entrar no congresso, você poderá comercializar com eles.
EventPanel.MEETING_NATIVES=Você encontrou nativos. Mande seus Escoltadores para seus acampamentos para aprender mais sobre eles, e Servos de Dívida e Colonos Livres para aprender uma profissão. Envie navios e carroças-vagão se você quiser comercializar com eles.
EventPanel.MEETING_AZTEC=Você encontrou a nação Asteca.
@@ -208,6 +215,7 @@
Colony=Colônia
Settlement=Colônia
NewWorld=Novo Mundo
+Ship=Navio
LoadingSavegame.title=Carregando jogo salvo
LoadingSavegame.privateMultiplayer=Em rede privado
LoadingSavegame.publicMultiplayer=Em rede público
@@ -292,8 +300,7 @@
cli.error.home.notExists=Diretório %string% não existe.
cli.error.home.noRead=Impossível ler de %string%.
cli.error.home.noWrite=Impossível gravar em %string%.
-# Fuzzy
-cli.freecol-data=define o DIRETORIO de dados do FreeCol (tem um subdiretório chamado 'images')
+cli.freecol-data=define o DIRETÓRIO de dados do FreeCol (tem um subdiretório chamado 'base')
cli.font=definir a fonte padrão
cli.help=exibe esta tela de ajuda
cli.home-directory=define o DIRETORIO raiz do FreeCol (diretório raiz do utilizador, por padrão)
@@ -568,6 +575,8 @@
model.option.landMass.shortDescription=Ajustar a quantidade de massa terrestre no mapa.
model.option.landGeneratorType.name=Tipo de massa terrestre (EXPERIMENTAL!)
model.option.landGeneratorType.shortDescription=Opção para escolher o tipo de gerador de terreno a ser usado.
+model.option.distanceToHighSea.name=Distância até ao Alto Mar
+model.option.distanceToHighSea.shortDescription=A distância de preferência entre a costa e o Alto Mar.
model.option.riverNumber.name=Quantidade de rios
model.option.riverNumber.shortDescription=Ajustar a quantidade de rios no mapa gerado.
model.option.mountainNumber.name=Quantidade de montanhas
@@ -594,14 +603,26 @@
model.option.importRumours.shortDescription=Ativa a importação de rumores de cidades perdidas já inclúdos no mapa.
model.option.importSettlements.name=Importar acampamentos
model.option.importSettlements.shortDescription=Ativa a importação de acampamento de nativos.
+model.option.minimumLatitude.name=Latitude Mínima
+model.option.maximumLatitude.name=Latitude Máxima
mapGeneratorOptions.import.name=Importar
mapGeneratorOptions.import.shortDescription=Opções para importar um mapa ou jogo salvo.
mapGeneratorOptions.landGenerator.name=Gerador de Terras
mapGeneratorOptions.landGenerator.shortDescription=Ajustes o tamanho do mapa e da quantidade de terras.
mapGeneratorOptions.terrainGenerator.name=Gerador de Terreno
mapGeneratorOptions.terrainGenerator.shortDescription=Ajustes para a quantidade de florestas, montanhas, etc
+model.settlement.camp.name=Acampamento
+model.settlement.camp.plural=acampamentos
+model.settlement.camp.capital.name=Acampamento
+model.settlement.village.name=Aldeia
+model.settlement.village.plural=aldeias
+model.settlement.village.capital.name=Aldeia
+model.settlement.inca.name=Cidade Inca
model.settlement.inca.plural=cidades
+model.settlement.inca.capital.name=Cidade Inca
+model.settlement.aztec.name=Cidade Asteca
model.settlement.aztec.plural=cidades
+model.settlement.aztec.capital.name=Cidade Asteca
event.firstLanding=Desembarcando pela primeira vez na %name%!
event.meetingNatives=Encontrando os nativos. . .
event.meetingEuropeans=Encontrando os colegas europeus.
@@ -624,6 +645,7 @@
trade.noTradeGoods=Desculpe, não precisamos de %goods%!
trade.noTrade=Estamos cansados da sua negociação injusta
trade.noTradeHaggle=Estamos cansados do seu constante regateio.
+trade.noTradeHostile=Nós desprezamos você e seus bens. Vá embora!
trade.noTradeWar=O comércio é impossível enquanto estiver em guerra.
buy.text=A Nação %nation% gostaria de vender %goods% por %gold% moedas de ouro:
buy.takeOffer=Aceitar a oferta
@@ -698,6 +720,7 @@
newLand.yes=Ok
welcome.yes=Sim
welcome.no=Não
+buildColony.badUnit=A unidade %unit% não pode construir uma colônia.
buildColony.landLocked=Sua nova colônia não terá acesso direto ao mar.
buildColony.noFood=Sua nova colônia produziria pouca comida.
buildColony.noBuildingMaterials=A sua nova colônia produzirá muito pouco %goods%.
@@ -720,6 +743,11 @@
abandonColony.text=Devemos mesmo abandonar a colônia?
abandonColony.yes=Abandonar
abandonColony.no=Cancelar
+abandonEducation.text=Se sua %unit% sair da %colony% irá deixar de %action% na %building%, tem certeza que ele deve abandonar?
+abandonEducation.yes=Sim, deixar a colônia
+abandonEducation.no=Não, continuar na educação
+abandonEducation.action.studying=estudar
+abandonEducation.action.teaching=ensinar
defeated.text=Você foi derrotado! Você prefere:
defeated.yes=Ficar e assistir
defeated.no=Sair
@@ -739,6 +767,7 @@
payForBuilding.text=Você gostaria de pagar %amount% moedas de ouro para completar esta construção?
payForBuilding.yes=Sim
payForBuilding.no=Não
+indianSettlement.nameUnknown=Desconhecido
indianSettlement.learnableSkill=A seguinte profissão pode ser aprendida nesta tribo:
indianSettlement.highlyWanted=Esta tribo tem muito interesse em negociar:
indianSettlement.otherWanted=Outros produtos que podem ser negociados nesta tribo são:
@@ -905,11 +934,13 @@
sentryUnit=Ficar de guarda
clearUnitOrders=Apagar ordens
leaveTown=Deixar Cidade
+board=Embarcar em %...
[truncated message content] |
|
From: <mp...@us...> - 2013-01-20 03:59:10
|
Revision: 10481
http://sourceforge.net/p/freecol/code/10481
Author: mpope
Date: 2013-01-20 03:59:07 +0000 (Sun, 20 Jan 2013)
Log Message:
-----------
Restore mission information display, part for for BR#2509.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/client/gui/MapViewer.java
freecol/trunk/src/net/sf/freecol/client/gui/menu/DebugMenu.java
Modified: freecol/trunk/src/net/sf/freecol/client/gui/MapViewer.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/MapViewer.java 2013-01-20 02:47:07 UTC (rev 10480)
+++ freecol/trunk/src/net/sf/freecol/client/gui/MapViewer.java 2013-01-20 03:59:07 UTC (rev 10481)
@@ -56,6 +56,7 @@
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
+import javax.swing.JToolTip;
import javax.swing.UIManager;
import net.sf.freecol.FreeCol;
@@ -2471,15 +2472,20 @@
if (FreeColDebugger.isInDebugMode(FreeColDebugger.DebugMode.MENUS)
&& player != null
&& !player.owns(unit)
+ && unit.getOwner().isAI()
&& freeColClient.getFreeColServer() != null
&& (au = freeColClient.getFreeColServer().getAIMain()
.getAIUnit(unit)) != null) {
- g.setColor(Color.WHITE);
- String wrap = (unit.getOwner().isAI()) ? "" : "(";
- String text = wrap + ((au.getMission() == null) ? "No mission"
- : Utils.lastPart(au.getMission().getClass().toString(), "."))
- + wrap;
- g.drawString(text, 0, 0);
+ if (debugShowMission) {
+ g.setColor(Color.WHITE);
+ g.drawString((!au.hasMission()) ? "No mission"
+ : Utils.lastPart(au.getMission().getClass().toString(), "."),
+ 0, 0);
+ }
+ if (debugShowMissionInfo && au.hasMission()) {
+ g.setColor(Color.WHITE);
+ g.drawString(au.getMission().toString(), 0, 25);
+ }
}
}
Modified: freecol/trunk/src/net/sf/freecol/client/gui/menu/DebugMenu.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/menu/DebugMenu.java 2013-01-20 02:47:07 UTC (rev 10480)
+++ freecol/trunk/src/net/sf/freecol/client/gui/menu/DebugMenu.java 2013-01-20 03:59:07 UTC (rev 10481)
@@ -410,7 +410,7 @@
gui.refresh();
}
});
- dami.setEnabled(gui.getMapViewer().debugShowMission);
+ dami.setEnabled(gui.getMapViewer().debugShowMissionInfo);
this.addSeparator();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-20 02:47:13
|
Revision: 10480
http://sourceforge.net/p/freecol/code/10480
Author: mpope
Date: 2013-01-20 02:47:07 +0000 (Sun, 20 Jan 2013)
Log Message:
-----------
Add README, redirecting to the git repo.
Added Paths:
-----------
freecol/trunk/README
Added: freecol/trunk/README
===================================================================
--- freecol/trunk/README (rev 0)
+++ freecol/trunk/README 2013-01-20 02:47:07 UTC (rev 10480)
@@ -0,0 +1,3 @@
+We are in transition to git for revision control. This repo is being
+synchronized manually for now, but will go away soon. Please use the
+git repo.
Property changes on: freecol/trunk/README
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-20 01:12:24
|
Revision: 10479
http://sourceforge.net/p/freecol/code/10479
Author: mpope
Date: 2013-01-20 01:12:17 +0000 (Sun, 20 Jan 2013)
Log Message:
-----------
Merge git.bbfa216 Add git-revision ant target now we have a git repo.
Modified Paths:
--------------
freecol/trunk/build.xml
Modified: freecol/trunk/build.xml
===================================================================
--- freecol/trunk/build.xml 2013-01-20 00:13:19 UTC (rev 10478)
+++ freecol/trunk/build.xml 2013-01-20 01:12:17 UTC (rev 10479)
@@ -127,28 +127,40 @@
</copy>
</target>
- <target name="svnproperties" unless="svn.Revision"
- description="Creates the svn properties file using svn">
- <exec executable="svn" failifexecutionfails="false"
- output="${basedir}/build/svn.properties">
- <arg value="info"/>
- <arg value="."/>
+ <condition property="have-revision">
+ <isset property="FreeCol.Revision" />
+ </condition>
+
+ <target name="git-raw-revision" unless="have-revision"
+ description="Set gitRawRevision property using git">
+ <exec executable="git" failifexecutionfails="false"
+ outputproperty="gitRawRevision" logError="true">
+ <arg value="rev-parse"/>
+ <arg value="HEAD"/>
</exec>
- <property prefix="svn" file="build/svn.properties"/>
</target>
- <target name="gitproperties" unless="svn.Revision"
- description="Creates the svn properties file using git">
+ <target name="git-revision" unless="have-revision"
+ depends="git-raw-revision" if="gitRawRevision"
+ description="Set FreeCol.Revision from gitRawRevision using git">
<exec executable="git" failifexecutionfails="false"
+ outputproperty="FreeCol.Revision" logError="true">
+ <arg value="describe"/>
+ <arg value="--always"/>
+ </exec>
+ </target>
+
+ <target name="svnproperties" unless="have-revision"
+ description="Creates the svn properties file using svn, setting FreeCol.Revision">
+ <exec executable="svn" failifexecutionfails="false"
output="${basedir}/build/svn.properties">
- <arg value="svn"/>
<arg value="info"/>
<arg value="."/>
</exec>
- <property prefix="svn" file="build/svn.properties"/>
+ <property prefix="FreeCol" file="build/svn.properties"/>
</target>
- <target name="manifest" depends="svnproperties,gitproperties"
+ <target name="manifest" depends="git-revision,svnproperties"
description="Creates the Manifest file.">
<manifest file="${basedir}/src/MANIFEST.MF">
<attribute name="Created-By" value="FreeCol Team"/>
@@ -156,7 +168,7 @@
<attribute name="Class-Path" value="jars/jogg-0.0.7.jar jars/jorbis-0.0.15.jar ${miglayout.jar} ${cli.jar} ${cortado.jar}"/>
<attribute name="Product-Name" value="FreeCol"/>
<attribute name="Package-Title" value="FreeCol"/>
- <attribute name="Package-Version" value="${svn.Revision}"/>
+ <attribute name="Package-Version" value="${FreeCol.Revision}"/>
<attribute name="Package-Vendor" value="FreeCol Team"/>
</manifest>
</target>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-20 00:13:22
|
Revision: 10478
http://sourceforge.net/p/freecol/code/10478
Author: mpope
Date: 2013-01-20 00:13:19 +0000 (Sun, 20 Jan 2013)
Log Message:
-----------
Merge git.330b25f Scout default cost decider avoids enemies, BR#2376.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/common/model/pathfinding/CostDeciders.java
Modified: freecol/trunk/src/net/sf/freecol/common/model/pathfinding/CostDeciders.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/pathfinding/CostDeciders.java 2013-01-20 00:05:44 UTC (rev 10477)
+++ freecol/trunk/src/net/sf/freecol/common/model/pathfinding/CostDeciders.java 2013-01-20 00:13:19 UTC (rev 10478)
@@ -22,8 +22,8 @@
import net.sf.freecol.common.model.Europe;
import net.sf.freecol.common.model.Location;
import net.sf.freecol.common.model.Map;
+import net.sf.freecol.common.model.Settlement;
import net.sf.freecol.common.model.Tile;
-import net.sf.freecol.common.model.Settlement;
import net.sf.freecol.common.model.Unit;
@@ -176,9 +176,10 @@
* @return A suitable <code>CostDecider</code>.
*/
public static CostDecider defaultCostDeciderFor(final Unit unit) {
- return (unit == null || !unit.isOffensiveUnit())
- ? avoidSettlementsAndBlockingUnits()
- : avoidSettlements();
+ return (unit != null && unit.isOffensiveUnit()
+ && unit.getRole() != Unit.Role.SCOUT)
+ ? avoidSettlements()
+ : avoidSettlementsAndBlockingUnits();
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mp...@us...> - 2013-01-20 00:05:49
|
Revision: 10477
http://sourceforge.net/p/freecol/code/10477
Author: mpope
Date: 2013-01-20 00:05:44 +0000 (Sun, 20 Jan 2013)
Log Message:
-----------
Merge git.9d34857 Remove Java 1.5 legacy code.
Modified Paths:
--------------
freecol/trunk/build.xml
freecol/trunk/src/net/sf/freecol/client/gui/panel/StatisticsPanel.java
freecol/trunk/src/net/sf/freecol/common/resources/FontResource.java
Removed Paths:
-------------
freecol/trunk/jars/jsr173_1.0_api.jar
freecol/trunk/jars/wstx-lgpl-4.0pr1.jar
Modified: freecol/trunk/build.xml
===================================================================
--- freecol/trunk/build.xml 2013-01-18 12:20:24 UTC (rev 10476)
+++ freecol/trunk/build.xml 2013-01-20 00:05:44 UTC (rev 10477)
@@ -27,19 +27,9 @@
<property name="miglayout.jar" value="jars/miglayout-4.0-swing.jar"/>
<property name="cli.jar" value="jars/commons-cli-1.1.jar"/>
<property name="cortado.jar" value="jars/cortado-0.6.0.jar"/>
-<!--
- <property name="stax.jar" value="jars/stax2-api-3.0.3.jar"/>
- <property name="woodstox.jar" value="jars/woodstox-core-lgpl-4.0.9.jar"/>
--->
- <property name="stax.jar" value="jars/jsr173_1.0_api.jar"/>
- <property name="woodstox.jar" value="jars/wstx-lgpl-4.0pr1.jar"/>
<path id="libraries.classpath">
- <!-- StAX xml parser -->
- <pathelement location="${basedir}/${stax.jar}" />
- <!-- Woodstox XML processor -->
- <pathelement location="${basedir}/${woodstox.jar}"/>
<!-- MigLayout manager -->
<pathelement location="${basedir}/${miglayout.jar}"/>
<!-- Command line processor -->
@@ -157,13 +147,13 @@
</exec>
<property prefix="svn" file="build/svn.properties"/>
</target>
-
+
<target name="manifest" depends="svnproperties,gitproperties"
description="Creates the Manifest file.">
<manifest file="${basedir}/src/MANIFEST.MF">
<attribute name="Created-By" value="FreeCol Team"/>
<attribute name="Main-Class" value="net.sf.freecol.FreeCol"/>
- <attribute name="Class-Path" value="${stax.jar} ${woodstox.jar} jars/jogg-0.0.7.jar jars/jorbis-0.0.15.jar ${miglayout.jar} ${cli.jar} ${cortado.jar}"/>
+ <attribute name="Class-Path" value="jars/jogg-0.0.7.jar jars/jorbis-0.0.15.jar ${miglayout.jar} ${cli.jar} ${cortado.jar}"/>
<attribute name="Product-Name" value="FreeCol"/>
<attribute name="Package-Title" value="FreeCol"/>
<attribute name="Package-Version" value="${svn.Revision}"/>
Deleted: freecol/trunk/jars/jsr173_1.0_api.jar
===================================================================
(Binary files differ)
Deleted: freecol/trunk/jars/wstx-lgpl-4.0pr1.jar
===================================================================
(Binary files differ)
Modified: freecol/trunk/src/net/sf/freecol/client/gui/panel/StatisticsPanel.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/panel/StatisticsPanel.java 2013-01-18 12:20:24 UTC (rev 10476)
+++ freecol/trunk/src/net/sf/freecol/client/gui/panel/StatisticsPanel.java 2013-01-20 00:05:44 UTC (rev 10477)
@@ -58,7 +58,7 @@
private static final int NAME_COLUMN = 0, VALUE_COLUMN = 1;
private final String[] columnNames = { "Name", "Value" };
-
+
private Object data[][] = null;
/**
@@ -87,7 +87,7 @@
/**
* Returns the amount of columns in this statesTable.
- *
+ *
* @return The amount of columns in this statesTable.
*/
public int getColumnCount() {
@@ -96,7 +96,7 @@
/**
* Returns the name of the specified column.
- *
+ *
* @return The name of the specified column.
*/
public String getColumnName(int column) {
@@ -105,7 +105,7 @@
/**
* Returns the amount of rows in this statesTable.
- *
+ *
* @return The amount of rows in this statesTable.
*/
public int getRowCount() {
@@ -114,7 +114,7 @@
/**
* Returns the value at the requested location.
- *
+ *
* @param row The requested row.
* @param column The requested column.
* @return The value at the requested location.
@@ -134,7 +134,7 @@
/**
* Returns 'true' if the specified cell is editable, 'false' otherwise.
- *
+ *
* @param row The specified row.
* @param column The specified column.
* @return 'true' if the specified cell is editable, 'false' otherwise.
@@ -142,7 +142,7 @@
public boolean isCellEditable(int row, int column) {
return false;
}
-
+
/**
* Returns the Class of the objects in the given column.
*/
@@ -150,8 +150,8 @@
return String.class;
}
}
-
+
/**
* Creates the statistics panel.
*
@@ -160,7 +160,7 @@
*/
public StatisticsPanel(FreeColClient freeColClient, GUI gui) {
super(freeColClient, gui, new BorderLayout());
-
+
// Retrieve the client and server data
Map<String, String> serverStatistics
= getController().getServerStatistics();
@@ -171,7 +171,7 @@
JPanel header = new JPanel();
this.add(header, BorderLayout.NORTH);
header.add(new JLabel("Statistics"),JPanel.CENTER_ALIGNMENT);
-
+
// Actual stats panel
JPanel statsPanel = new JPanel(new GridLayout(1,2));
JScrollPane scrollPane = new JScrollPane(statsPanel,
@@ -220,7 +220,7 @@
}
return panel;
}
-
+
private JPanel createStatsTable(String title, Map<String, String> data) {
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
@@ -230,7 +230,7 @@
JTable table = new JTable(model);
table.setAutoCreateColumnsFromModel(true);
table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
- //table.setAutoCreateRowSorter(true); // Java 1.6 only
+ table.setAutoCreateRowSorter(true);
JScrollPane scrollPane = new JScrollPane(table);
table.addNotify();
scrollPane.getViewport().setOpaque(false);
Modified: freecol/trunk/src/net/sf/freecol/common/resources/FontResource.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/resources/FontResource.java 2013-01-18 12:20:24 UTC (rev 10476)
+++ freecol/trunk/src/net/sf/freecol/common/resources/FontResource.java 2013-01-20 00:05:44 UTC (rev 10477)
@@ -64,21 +64,10 @@
font = Font.decode(name.substring(SCHEME.length()));
}
- // @compat java 1.5
- // registerFont was only introduced in Java 1.6
if (font != null) {
- try {
- GraphicsEnvironment environment =
- GraphicsEnvironment.getLocalGraphicsEnvironment();
- Method registerFont = environment
- .getClass().getMethod("registerFont", Font.class);
- registerFont.invoke(environment, font);
- } catch(Exception e) {
- logger.warning("Failed to register font " + font.getName()
- + ": " + e.toString());
- }
+ GraphicsEnvironment.getLocalGraphicsEnvironment()
+ .registerFont(font);
}
- // end @compat
logger.info("Loaded font: "
+ ((font==null) ? "(null)" : font.getFontName())
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|