From 70baf930122e67cec41d4bfe61811a14be7086d5 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Tue, 7 Jan 2025 22:48:49 +0200 Subject: [PATCH] Version rollout (#12766) * Bump version and create initial changelog entry * Update Indonesian.properties (#12764) * Update Indonesian.properties Translate new strings * Update Indonesian.properties Fix space error * Update Indonesian.properties Fix space * Update Indonesian.properties Try fixing space error * Update German translation (#12763) * translate battle action lines (#12760) * Update Dutch.properties (#12759) * Update Dutch.properties * Update Dutch.properties * Update French.properties (#12758) * Update Italian.properties (#12757) * Update Italian.properties * Update Italian.properties * Update Spanish.properties (#12751) I found some extra spaces " ". * Update Brazilian_Portuguese.properties (#12750) --------- Co-authored-by: yairm210 Co-authored-by: kensvin Co-authored-by: mape6 Co-authored-by: metablaster <44481081+metablaster@users.noreply.github.com> Co-authored-by: dutchwolfgirl <110766475+dutchwolfgirl@users.noreply.github.com> Co-authored-by: Ouaz Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com> Co-authored-by: Nahuel Geno <142752140+NahuelGeno@users.noreply.github.com> Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com> --- .../Brazilian_Portuguese.properties | 3 +- .../translations/Croatian instructions.md | 3 +- .../jsons/translations/Croatian.properties | 47 +++++----- .../jsons/translations/Dutch.properties | 92 +++++++++---------- .../jsons/translations/French.properties | 46 +++++----- .../jsons/translations/German.properties | 59 ++++-------- .../jsons/translations/Indonesian.properties | 48 +++++----- .../jsons/translations/Italian.properties | 67 +++++--------- .../jsons/translations/Spanish.properties | 17 ++-- buildSrc/src/main/kotlin/BuildConfig.kt | 4 +- changelog.md | 40 ++++++++ core/src/com/unciv/UncivGame.kt | 2 +- .../android/en-US/changelogs/1089.txt | 39 ++++++++ 13 files changed, 252 insertions(+), 215 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/1089.txt diff --git a/android/assets/jsons/translations/Brazilian_Portuguese.properties b/android/assets/jsons/translations/Brazilian_Portuguese.properties index fc0ce15c313da..94b15da4e38fe 100644 --- a/android/assets/jsons/translations/Brazilian_Portuguese.properties +++ b/android/assets/jsons/translations/Brazilian_Portuguese.properties @@ -1647,8 +1647,7 @@ Keep it = Manter Remove your troops in our border immediately! = Remova suas tropas de nosso território imediatamente! Sorry. = Desculpe. Never! = Nunca! - # Requires translation! -Those lands were not yours to take. This has not gone unnoticed. = +Those lands were not yours to take. This has not gone unnoticed. = Essas terras não eram suas para tomar. Isso não passou despercebido. Offer Declaration of Friendship ([30] turns) = Oferecer a Declaração de Amizade ([30] turnos) My friend, shall we declare our friendship to the world? = Meu amigo, devemos declarar nossa amizade ao mundo? diff --git a/android/assets/jsons/translations/Croatian instructions.md b/android/assets/jsons/translations/Croatian instructions.md index 1d46f6b18b85f..07ddd64ff370b 100644 --- a/android/assets/jsons/translations/Croatian instructions.md +++ b/android/assets/jsons/translations/Croatian instructions.md @@ -56,7 +56,6 @@ Words outside brackets are hints as to when highlighted word should be used. - Default `Zadano`, `Uobičajeno` - Exploring `Istraživati`, `Otkrivati` - Move `Pokreni`, `Pomakni`, `Premjesti` -- Raid `Upasti u/na` - Annex `Pripojiti`, `Aneksirati` - Capital `Prijestolnica` - Capital City `Glavni grad` @@ -104,6 +103,7 @@ Words outside brackets are hints as to when highlighted word should be used. TODO: Might need better translation! +- Raid `Upasti u/na` - Paradrop `Skok padobranom` - Hotseat `Lokalna više-korisnička igra`, `Lokalna igra više igrača` (Više-korisnička igra, Igra više igrača) - Stats `Statistike` (Prinosi) @@ -445,6 +445,7 @@ TODO: There are more placeholders in properties not handled here. - [name] - [thingToProduce] - [thingToSelect] +- [battleAction] [Table of Contents](#table-of-contents) diff --git a/android/assets/jsons/translations/Croatian.properties b/android/assets/jsons/translations/Croatian.properties index c2f97f34e2465..8f42261d0430e 100644 --- a/android/assets/jsons/translations/Croatian.properties +++ b/android/assets/jsons/translations/Croatian.properties @@ -983,28 +983,28 @@ Your citizens are revolting due to very high unhappiness! = # Possible HP loss loss when attacking, e.g. (-5 HP) # Requires translation! -([amount] HP) = +([amount] HP) = ([amount] Životnih Bodova) # Battle actions # Requires translation! -attacked = +attacked = napao(nut) # Requires translation! -raided = +raided = upao # Requires translation! -captured = +captured = zauzeo(zet) # Requires translation! -destroyed = +destroyed = uništio(ten) # Requires translation! -intercepted = +intercepted = presreo(nut) # Requires translation! -intercepted and destroyed = +intercepted and destroyed = presreo i uništio # New translation format (possible hp loss is "bundled into" the unit/city name) # Requires translation! -An enemy [unit] has [battleAction] our [ourUnit] = -An enemy [unit] has [battleAction] [cityName] = +An enemy [unit] has [battleAction] our [ourUnit] = Neprijateljski [unit] je [battleAction] našeg [ourUnit] +An enemy [unit] has [battleAction] [cityName] = Neprijateljski [unit] je [battleAction] [cityName] # Requires translation! -Your [ourUnit] has [battleAction] an enemy [unit] = +Your [ourUnit] has [battleAction] an enemy [unit] = Vaš [ourUnit] je [battleAction] neprijateljskog [unit] An enemy [RangedUnit] has destroyed the defence of [cityName] = Neprijateljski [RangedUnit] je uništio obranu [cityName] Enemy city [cityName] has destroyed our [ourUnit] = Neprijateljski grad [cityName] je uništio našeg [ourUnit] An enemy [unit] was destroyed while attacking [cityName] = Neprijateljski [unit] je uništen dok je napadao [cityName] @@ -1012,35 +1012,35 @@ An enemy [unit] was destroyed while attacking our [ourUnit] = Neprijateljski [un # Interceptor types # Requires translation! -an unknown interceptor = +an unknown interceptor = nepoznati presretač # Requires translation! -an intercepting [interceptorName] = +an intercepting [interceptorName] = presretački [interceptorName] # Requires translation! -Our [attackerName] was [battleAction] by [interceptorType] = +Our [attackerName] was [battleAction] by [interceptorType] = Naš [attackerName] je bio [battleAction] od strane [interceptorType] # e.g. Destroyed # Requires translation! -Our [attackerName] [battleAction] an intercepting [interceptorType] = +Our [attackerName] [battleAction] an intercepting [interceptorType] = Naš [attackerName] je [battleAction] presretačkog [interceptorType] # Requires translation! -Our [interceptorName] [battleAction] an enemy [attackerName] = +Our [interceptorName] [battleAction] an enemy [attackerName] = Naš [interceptorName] je [battleAction] neprijateljskog [attackerName] # Requires translation! -Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = +Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = Naš [interceptorName] je presreo i bio uništen od strane neprijateljskog [attackerName] # Requires translation! -Our [interceptorName] intercepted and was destroyed by an unknown enemy = +Our [interceptorName] intercepted and was destroyed by an unknown enemy = Naš [interceptorName] je presreo i bio uništen od strane nepoznatog neprijatelja # Old format - still in use, but intended to be deprecated -An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = +An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = Neprijateljski [unit] ([amount] Životnih Bodova) je napao [cityName] ([amount2] Životnih Bodova) # Requires translation! -An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = +An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = Neprijateljski [unit] ([amount] Životnih Bodova) je [battleAction] našeg [ourUnit] ([amount2] Životnih Bodova) # Requires translation! -An enemy [unit] has attacked our [ourUnit] ([amount] HP) = +An enemy [unit] has attacked our [ourUnit] ([amount] HP) = Neprijateljski [unit] je napao našeg [ourUnit] ([amount] Životnih Bodova) Enemy city [cityName] has attacked our [ourUnit] = Neprijateljski grad [cityName] je napao našeg [ourUnit] Enemy city [cityName] has attacked our [ourUnit] ([amount2] HP) = Neprijateljski grad [cityName] je napao našeg [ourUnit] ([amount2] Životnih Bodova) An enemy [unit] has captured [cityName] = Neprijateljski [unit] je zauzeo [cityName] An enemy [unit] ([amount] HP) has captured [cityName] ([amount2] HP) = Neprijateljski [unit] ([amount] Životnih Bodova) je zauzeo [cityName] ([amount2] Životnih Bodova) -An enemy [unit] has raided [cityName] = Neprijateljski [unit] upao je u [cityName] -An enemy [unit] ([amount] HP) has raided [cityName] ([amount2] HP) = Neprijateljski [unit] ([amount] Životnih Bodova) upao je u [cityName] ([amount2] Životnih Bodova) +An enemy [unit] has raided [cityName] = Neprijateljski [unit] je upao u [cityName] +An enemy [unit] ([amount] HP) has raided [cityName] ([amount2] HP) = Neprijateljski [unit] ([amount] Životnih Bodova) je upao u [cityName] ([amount2] Životnih Bodova) An enemy [unit] has captured our [ourUnit] = Neprijateljski [unit] je zarobio našeg [ourUnit] An enemy [unit] ([amount] HP) has captured our [ourUnit] ([amount2] HP) = Neprijateljski [unit] ([amount] Životnih Bodova) je zarobio našeg [ourUnit] ([amount2] Životnih Bodova) An enemy [unit] has destroyed our [ourUnit] = Neprijateljski [unit] je uništio našeg [ourUnit] @@ -1648,7 +1648,7 @@ Remove your troops in our border immediately! = Smjesta ukloni svoje trupe s na Sorry. = Oprosti. Never! = Nikada! # Requires translation! -Those lands were not yours to take. This has not gone unnoticed. = +Those lands were not yours to take. This has not gone unnoticed. = Te zemlje nisu bile tvoje za uzeti. Ovo nije prošlo nezapaženo. Offer Declaration of Friendship ([30] turns) = Ponudi Deklaraciju o Prijateljstvu ([30] poteza) My friend, shall we declare our friendship to the world? = Prijatelju(ice) moj(a), hoćemo li objaviti naše prijateljstvo svijetu? @@ -7218,4 +7218,3 @@ Forest and Jungle Visibility\nIn Unciv, forests and jungles are visible 1 tile o Founding Cities\nThe Settler is a unit that can found a new city. You can build a Settler unit in a city with at least 2 population, and then move them to a good location to found a new city. This will usually be your main way of acquiring more cities. = Osnivanje gradova\nNaseljenik je jedinica koja može osnovati novi grad. Možete izgraditi jedinicu Naseljenika u gradu s najmanje 2 stanovnika, a zatim ih premjestiti na dobru lokaciju kako biste osnovali novi grad. To će obično biti vaš glavni način stjecanja više gradova. Food conversion to Production\nDuring the construction of a Settler, the city will not grow. Instead, the 1st, 2nd, 4th, and from there on every 4th, excess Food (Growth) is converted into Production, with the rest of the excess Food being lost. = Pretvorba hrane u proizvodnju\nTijekom izgradnje Naseljenika, grad neće rasti. Umjesto toga, 1., 2., 4., a odatle svaki 4., višak Hrane (Rast) pretvara se u Proizvodnju, a ostatak viška Hrane se gubi. - diff --git a/android/assets/jsons/translations/Dutch.properties b/android/assets/jsons/translations/Dutch.properties index 696bf02e2025c..a2fc3729dfb08 100644 --- a/android/assets/jsons/translations/Dutch.properties +++ b/android/assets/jsons/translations/Dutch.properties @@ -13,17 +13,17 @@ StartWithCapitalLetter = true # See https://yairm210.github.io/Unciv/Other/Translating/#diacritics-support for details! # Most languages will not need these, feel free to ignore, or use "" to avoid the "requires translation" mark. Do NOT translate the "key" to the left of the equals sign! # Requires translation! -diacritics_support = +diacritics_support = "" # Requires translation! -unicode_block_start_character = +unicode_block_start_character = "" # Requires translation! -unicode_block_end_character = +unicode_block_end_character = "" # Requires translation! -left_joining_diacritics = +left_joining_diacritics = "" # Requires translation! -right_joining_diacritics = +right_joining_diacritics = "" # Requires translation! -left_and_right_joiners = +left_and_right_joiners = "" # Fastlane # These will be automatically copied to the fastlane descriptions used by F-Droid. Their keys are not as usual the english original, please read those directly as linked. @@ -93,11 +93,11 @@ Hydro Plant = Waterkrachtcentrale New [cityName] = Nieuw [cityName] # Requires translation! -Neo [cityName] = +Neo [cityName] = Neo [cityName] # Requires translation! -Nova [cityName] = +Nova [cityName] = Nova [cityName] # Requires translation! -Altera [cityName] = +Altera [cityName] = Altera [cityName] New [civName]\n(formerly known as [cityName]) = Nieuw [civName]\n(voorheen bekend als [cityName]) # Diplomacy,Trade,Nations @@ -602,7 +602,7 @@ Choose a Wesnoth map file = Kies een Wesnoth kaart bestand That map is invalid! = Die kaart is ongeldig! ("[code]" does not conform to TerrainCodesWML) = ("[code]" volgt TerrainCodesWML niet) # Requires translation! -Use for new game "Select players" button: = +Use for new game "Select players" button: = Gebruik voor nieuw spel "selecteer spelers" knop: Enter a description for the users of this map = Maak een beschrijving voor gebruikers van deze kaart ## Map/Tool names @@ -993,28 +993,28 @@ Your citizens are revolting due to very high unhappiness! = # Possible HP loss loss when attacking, e.g. (-5 HP) # Requires translation! -([amount] HP) = +([amount] HP) = ([amount] HP) # Battle actions # Requires translation! -attacked = +attacked = aangevallen # Requires translation! -raided = +raided = geplunderd # Requires translation! -captured = +captured = veroverd # Requires translation! -destroyed = +destroyed = vernietigd # Requires translation! -intercepted = +intercepted = onderschept # Requires translation! -intercepted and destroyed = +intercepted and destroyed = onderschept en vernietigd # New translation format (possible hp loss is "bundled into" the unit/city name) # Requires translation! -An enemy [unit] has [battleAction] our [ourUnit] = -An enemy [unit] has [battleAction] [cityName] = +An enemy [unit] has [battleAction] our [ourUnit] = Een vijandelijke [unit] heeft onze [ourUnit] [battleAction] +An enemy [unit] has [battleAction] [cityName] = Een vijandelijke [unit] heeft [cityName] [battleAction] # Requires translation! -Your [ourUnit] has [battleAction] an enemy [unit] = +Your [ourUnit] has [battleAction] an enemy [unit] = Jouw [ourUnit] heeft een vijandelijke [unit] [battleAction] An enemy [RangedUnit] has destroyed the defence of [cityName] = Een vijand [RangedUnit] heeft de verdediging van [cityName] vernietigd Enemy city [cityName] has destroyed our [ourUnit] = Vijandelijke stad [cityName] heeft onze [ourUnit] vernietigd An enemy [unit] was destroyed while attacking [cityName] = Een vijandige [unit] werd vernietigd tijdens zijn aanval op [cityName] @@ -1022,29 +1022,29 @@ An enemy [unit] was destroyed while attacking our [ourUnit] = Een vijandige [uni # Interceptor types # Requires translation! -an unknown interceptor = +an unknown interceptor = Een onbekende onderschepper # Requires translation! -an intercepting [interceptorName] = +an intercepting [interceptorName] = een onderscheppende [interceptorName] # Requires translation! -Our [attackerName] was [battleAction] by [interceptorType] = +Our [attackerName] was [battleAction] by [interceptorType] = Onze [attackerName] werd [battleAction] door [interceptorType] # e.g. Destroyed # Requires translation! -Our [attackerName] [battleAction] an intercepting [interceptorType] = +Our [attackerName] [battleAction] an intercepting [interceptorType] = Onze [attackerName] heeft een onderscheppende [interceptorType] [battleAction] # Requires translation! -Our [interceptorName] [battleAction] an enemy [attackerName] = +Our [interceptorName] [battleAction] an enemy [attackerName] = Onze [interceptorName] heeft een vijandelijke [attackerName] [battleAction] # Requires translation! -Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = +Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = Onze [interceptorName] werd onderschept en vernietigd door een vijandelijke [attackerName] # Requires translation! -Our [interceptorName] intercepted and was destroyed by an unknown enemy = +Our [interceptorName] intercepted and was destroyed by an unknown enemy = Onze [interceptorName] werd onderschept en vernietigd door een onbekende vijand # Old format - still in use, but intended to be deprecated -An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = +An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = Een vijandelijke [unit] ([amount] HP) heeft [cityName] ([amount2] HP) aangevallen # Requires translation! -An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = +An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = Een vijandelijke [unit] ([amount] HP) heeft onze [ourUnit] ([amount2] HP) [battleAction] # Requires translation! -An enemy [unit] has attacked our [ourUnit] ([amount] HP) = +An enemy [unit] has attacked our [ourUnit] ([amount] HP) = Een vijandelijke [unit] heeft onze [ourUnit] ([amount] HP) aangevallen Enemy city [cityName] has attacked our [ourUnit] = Vijandelijke stad [cityName] heeft onze [ourUnit] aangevallen Enemy city [cityName] has attacked our [ourUnit] ([amount2] HP) = Vijandelijke stad [cityName] heeft onze [ourUnit] ([amount2] HP) aangevallen An enemy [unit] has captured [cityName] = Een vijandige [unit] heeft [cityName] ingenomen @@ -1175,7 +1175,7 @@ An unknown civilization has liberated [civ] = Een onbekende beschaving heeft [ci # If your language puts the effect before the cause - like {Gained [2] [Worker] unit(s)} {due to constructing [The Pyramids]} - # put the english word 'true' behind the '=', otherwise 'false'. # Don't translate these words to your language, only put 'true' or 'false'. Defaults to 'true'. -EffectBeforeCause = EffectBeforeCause +EffectBeforeCause = true ## Trigger effects @@ -2150,7 +2150,7 @@ Roads connect tiles across rivers = Wegen verbinden tegels over rivieren No Maintenance costs for improvements in [tileFilter] tiles = Geen onderhoudskosten voor verbeteringen in [tileFilter] tegels [relativeAmount]% construction time for [improvementFilter] improvements = [relativeAmount]% bouwtijd voor [improvementFilter] verbeteringen # Requires translation! -Can build [improvementFilter] improvements at a [relativeAmount]% rate = +Can build [improvementFilter] improvements at a [relativeAmount]% rate = Kan [improvementFilter] verbeteringen bouwen met een relatieve snelheid van [relativeAmount]% [relativeAmount]% maintenance cost for buildings [cityFilter] = [relativeAmount]% onderhoudskosten voor gebouwen [cityFilter] Remove [buildingFilter] [cityFilter] = Verwijder [buildingFilter] [cityFilter] Sell [buildingFilter] buildings [cityFilter] = Verkoop [buildingFilter] gebouwen [cityFilter] @@ -7215,32 +7215,32 @@ External links support right-click or long press to copy the link to the clipboa Example: The 'Open Github page' button on the Mod management screen. = Voorbeeld: De knop 'Open Github-pagina' op het Mod-beheerscherm. # Requires translation! -Differences from Civilization V = +Differences from Civilization V = Verschillen van Civilization V # Requires translation! -Production Focus\nIn Civilization V, the Food yield in a city is calculated first, then population grows by consuming stored food (growth), then production is calculated, and so on one by one the other stats are calculated. Thus, citizens can produce yields in the same turn as they are born. The city focus is set to Production to assign the newborn citizen to a hill so they'll contribute Production, and then manually reassigned to a growth tile on the next turn. Alternatively, you can set city focus to Gold (e.g. with Cerro de Potosi), Faith (e.g. with Mount Sinai) or whatever gains the most yields. In Unciv, citizens only start producing yields on the next turn, so you can ignore this whole concept. = +Production Focus\nIn Civilization V, the Food yield in a city is calculated first, then population grows by consuming stored food (growth), then production is calculated, and so on one by one the other stats are calculated. Thus, citizens can produce yields in the same turn as they are born. The city focus is set to Production to assign the newborn citizen to a hill so they'll contribute Production, and then manually reassigned to a growth tile on the next turn. Alternatively, you can set city focus to Gold (e.g. with Cerro de Potosi), Faith (e.g. with Mount Sinai) or whatever gains the most yields. In Unciv, citizens only start producing yields on the next turn, so you can ignore this whole concept. = Productie Focus\nIn Civilization V, de voedsel opbrengst in een stad wordt eerst berekent, dan hoe veel de populatie groeit door het consumeren van voedsel, dan de productie, dan alle andere stats worden een voor een berekend. Dus, burgers kunnen opbrengst produceren in hetzelfde jaar dat ze geboren zijn. Als de focus van een stad ligt op de productie dan wordt een pasgeboren burger een heuvel aangewezen zodat ze aan de productie contributeren, dan worden ze handmatig toegewezen aan een groei tegel in de volgende beurt. Als alternatief kun je de focus van een stad zetten op Goud (Bijv. met de Cerro de Potosi), geloof (Bijv. met Mount Sinai) of wat dan ook de meeste opbrengst geeft. In Unciv, starten de burgers pas de volgende beurt met opbrengsten produceren, dus kan je dit hele concept negeren. # Requires translation! -Science Queueing\nIn Civilization V, Science yield is calculated after production, so if you finish an item and have Science (or Gold) queued as a perpetual construction, the Production overflow from item will be converted into Science (or Gold), but the Production is not consumed, as this will only happen again on the next turn. By immediately swapping out your perpetual construction for an item on the next turn, you'll get this Science (or Gold) for free. This doesn't apply to Unciv, so don't bother. = +Science Queueing\nIn Civilization V, Science yield is calculated after production, so if you finish an item and have Science (or Gold) queued as a perpetual construction, the Production overflow from item will be converted into Science (or Gold), but the Production is not consumed, as this will only happen again on the next turn. By immediately swapping out your perpetual construction for an item on the next turn, you'll get this Science (or Gold) for free. This doesn't apply to Unciv, so don't bother. = Wetenschap wachtrij\nIn Civilization V, worden de wetenschaps opbrengsten berekend na de productie, als je dus klaar bent met iets produceren en je hebt Wetenschap (of Goud) als een voortdurende constructie, de extra hoeveelheid productie gaat over naar de Wetenschap (of Goud), maar de productie wordt niet geconsumeerd, omdat dit de volgende beurt pas opnieuw gebeurt. Door het onmiddelijk veranderen van jouw voortdurende constructie met een item, krijg je de Wetenschap (of Goud) gratis. Dit werkt niet in Unciv, stop er dus geen moeite in. # Requires translation! -Double Aqueducts\nIn Civilization V, the game sells existing copies of the building for you before providing a free copy of the building. So, if you build an aqueduct in a city, and then in the turn of adopting Tradition Complete you sell a cheap building (e.g a shrine) beforehand, the game is unable to sell more than 1 building per turn, and thus you'll keep your aqueduct, together with the new free aqueduct. Not applicable to Unciv. = +Double Aqueducts\nIn Civilization V, the game sells existing copies of the building for you before providing a free copy of the building. So, if you build an aqueduct in a city, and then in the turn of adopting Tradition Complete you sell a cheap building (e.g a shrine) beforehand, the game is unable to sell more than 1 building per turn, and thus you'll keep your aqueduct, together with the new free aqueduct. Not applicable to Unciv. = Dubbele Aquaducten\nIn Civilization V, het spel verkoopt bestaande exemplaren van het gebouw voor je voordat het je een gratis exemplaar van het gebouw geeft. Dus, als je een aquaduct bouwt in een stad, en vervolgens in de beurt van het adopteren van Traditie compleet een goedkoop gebouw (bijv. een Schrijn) van tevoren verkoopt, kan het spel niet meer dan 1 gebouw per beurt verkopen, en behoud je dus je aquaduct, samen met het nieuwe gratis aquaduct. Niet van toepassing op Unciv. # Requires translation! -Legalism Oxford\nIn Civilization V, national wonders such as Oxford University are considered culture buildings, so you can get them for free with Legalism. Not applicable to Unciv. = +Legalism Oxford\nIn Civilization V, national wonders such as Oxford University are considered culture buildings, so you can get them for free with Legalism. Not applicable to Unciv. = Legalisme Oxford\nIn Civilization V, nationale wonderen zoals Oxford Universiteit worden beschouwd als cultuurgebouwen, dus je kunt ze gratis krijgen met Legalisme. Niet van toepassing op Unciv. # Requires translation! -Roads and Forts\nIn Civilization V, you can't use roads and forts in enemy territory. In Unciv, you can use them, so instead of mindlessly constructing them everywhere when at war, you need to decide if and when they'll benefit you more than your opponents. = +Roads and Forts\nIn Civilization V, you can't use roads and forts in enemy territory. In Unciv, you can use them, so instead of mindlessly constructing them everywhere when at war, you need to decide if and when they'll benefit you more than your opponents. = Wegen en Forten\nIn Civilization V, kun je wegen en forten niet gebruiken in vijandelijk gebied. In Unciv kun je ze wel gebruiken, dus in plaats van ze overal gedachteloos aan te leggen als je in oorlog bent, moet je beslissen of en wanneer je er meer baat bij hebt dan je tegenstanders. # Requires translation! -Citizen Conversion\nIn Civilization V, a citizen is born religious if the parent city is already converted. This is not the case in Unciv, which can lead to temporary deconversion of a city when it grows. = +Citizen Conversion\nIn Civilization V, a citizen is born religious if the parent city is already converted. This is not the case in Unciv, which can lead to temporary deconversion of a city when it grows. = Burger Conversie\nIn Civilization V, een burger wordt religieus geboren als de ouderstad al bekeerd is. Dit is niet het geval in Unciv, wat kan leiden tot een tijdelijke deconversie van een stad wanneer deze groeit. # Requires translation! -Unassigned Citizens\nIn Civilization V, unassigned citizens are considered specialists, and subject to the same type of bonuses (e.g. Korea's ability). It can be worthwhile to leave citizens unassigned, instead of being assigned to a tile. Not applicable to Unciv. = +Unassigned Citizens\nIn Civilization V, unassigned citizens are considered specialists, and subject to the same type of bonuses (e.g. Korea's ability). It can be worthwhile to leave citizens unassigned, instead of being assigned to a tile. Not applicable to Unciv. = Niet Toegewezen Burgers\nIn Civilization V, Niet-toegewezen burgers worden beschouwd als specialisten en krijgen dezelfde soort bonussen (bijv. Korea's vaardigheid). Het kan de moeite waard zijn om burgers onaangewezen te laten, in plaats van ze aan een tegel toe te wijzen. Niet van toepassing op Unciv. # Requires translation! -Settler Construction\nIn Civilization V, cities can't starve when constructing settlers, so you can assign all citizens to production tiles and none to food tiles. In Unciv, citizens keep consuming two food per turn. = +Settler Construction\nIn Civilization V, cities can't starve when constructing settlers, so you can assign all citizens to production tiles and none to food tiles. In Unciv, citizens keep consuming two food per turn. = Kolonist Constructie\nIn Civilization V, Steden kunnen niet verhongeren tijdens het bouwen van kolonisten, dus je kunt alle burgers toewijzen aan productietegels en geen enkele aan voedseltegels. In Unciv blijven inwoners twee voedseltegels per beurt consumeren. # Requires translation! -Water Melee Attack\nAs result of a Discord poll, Water Melee units can attack military land units on the shore, unlike in Civilization V. = +Water Melee Attack\nAs result of a Discord poll, Water Melee units can attack military land units on the shore, unlike in Civilization V. = Water Melee Aanval\nAls gevolg van een Discord peiling, kunnen Water Meelee eenheden militaire land eenheden aanvallen bij de kust, in tegenstelling tot Civilization V. # Requires translation! -Tile improvements\nIn Civilzation V, workers start working on an improvement-under-construction at the beginning of movement. Unciv changes this, to allow players to assign workers to tiles, and then reconsider and change improvement or move them elsewhere. = +Tile improvements\nIn Civilzation V, workers start working on an improvement-under-construction at the beginning of movement. Unciv changes this, to allow players to assign workers to tiles, and then reconsider and change improvement or move them elsewhere. = Tegel Verbeteringen\nIn Civilzation V, werkers beginnen te werken aan een verbetering in aanbouw aan het begin van de beweging. Unciv verandert dit, zodat spelers werkers kunnen toewijzen aan tegels en ze vervolgens kunnen heroverwegen en de verbetering kunnen veranderen of verplaatsen. # Requires translation! -Forest and Jungle Visibility\nIn Unciv, forests and jungles are visible 1 tile outside visibility range. In Civilization V, this is the behaviour of hills and mountains, but not of forests and jungles, yet jungle and forest can block hills, and hill + forest can block mountain, indicating they're on the same elevation. This is considered to be a bug in the otherwise well-structured visibility logic in Civilization V. = +Forest and Jungle Visibility\nIn Unciv, forests and jungles are visible 1 tile outside visibility range. In Civilization V, this is the behaviour of hills and mountains, but not of forests and jungles, yet jungle and forest can block hills, and hill + forest can block mountain, indicating they're on the same elevation. This is considered to be a bug in the otherwise well-structured visibility logic in Civilization V. = Bossen en Jungle Zichtbaarheid\nIn Unciv, bossen en jungles zijn zichtbaar 1 tegel buiten het zichtbaarheidsbereik. In Civilization V is dit het gedrag van heuvels en bergen, maar niet van bossen en jungles. Toch kunnen jungle en bos heuvels blokkeren en heuvel + bos kunnen bergen blokkeren, wat aangeeft dat ze op dezelfde hoogte liggen. Dit wordt beschouwd als een bug in de verder goed gestructureerde zichtbaarheidslogica in Civilization V. # Requires translation! -Founding Cities\nThe Settler is a unit that can found a new city. You can build a Settler unit in a city with at least 2 population, and then move them to a good location to found a new city. This will usually be your main way of acquiring more cities. = +Founding Cities\nThe Settler is a unit that can found a new city. You can build a Settler unit in a city with at least 2 population, and then move them to a good location to found a new city. This will usually be your main way of acquiring more cities. = Steden Oprichten\nDe kolonist is een eenheid die een nieuwe stad kan stichten. Je kunt een kolonist bouwen in een stad met minstens 2 inwoners en deze dan verplaatsen naar een goede locatie om een nieuwe stad te stichten. Dit zal meestal je belangrijkste manier zijn om meer steden te verwerven. # Requires translation! -Food conversion to Production\nDuring the construction of a Settler, the city will not grow. Instead, the 1st, 2nd, 4th, and from there on every 4th, excess Food (Growth) is converted into Production, with the rest of the excess Food being lost. = +Food conversion to Production\nDuring the construction of a Settler, the city will not grow. Instead, the 1st, 2nd, 4th, and from there on every 4th, excess Food (Growth) is converted into Production, with the rest of the excess Food being lost. = Voedsel omzetting naar Productie\nTijdens de bouw van een kolonist groeit de stad niet. In plaats daarvan wordt het 1e, 2e, 4e, en vanaf daar elke 4e, overtollige Voedsel (Groei) omgezet in Productie, waarbij de rest van het overtollige Voedsel verloren gaat. diff --git a/android/assets/jsons/translations/French.properties b/android/assets/jsons/translations/French.properties index 24a349fafa7fe..dff16e8063770 100644 --- a/android/assets/jsons/translations/French.properties +++ b/android/assets/jsons/translations/French.properties @@ -979,32 +979,32 @@ An unknown civilization has started constructing [construction]! = Une civilisat Your Golden Age has ended. = Votre Âge d'Or a pris fin. [cityName] has been razed to the ground! = [cityName] a été rasée ! We have conquered the city of [cityName]! = Nous avons conquis la ville de [cityName] ! -Your citizens are revolting due to very high unhappiness! = +Your citizens are revolting due to very high unhappiness! = Vos citoyens se révoltent en raison du très fort mécontentement ! # Possible HP loss loss when attacking, e.g. (-5 HP) # Requires translation! -([amount] HP) = +([amount] HP) = ([amount] PV) # Battle actions # Requires translation! -attacked = +attacked = attaqué # Requires translation! -raided = +raided = mis à sac # Requires translation! -captured = +captured = conquis # Requires translation! -destroyed = +destroyed = détruit # Requires translation! -intercepted = +intercepted = intercepté # Requires translation! -intercepted and destroyed = +intercepted and destroyed = intercepté et détruit # New translation format (possible hp loss is "bundled into" the unit/city name) # Requires translation! -An enemy [unit] has [battleAction] our [ourUnit] = -An enemy [unit] has [battleAction] [cityName] = +An enemy [unit] has [battleAction] our [ourUnit] = [unit] ennemi(e) a [battleAction] notre [ourUnit] +An enemy [unit] has [battleAction] [cityName] = [unit] ennemi(e) a [battleAction] [cityName] # Requires translation! -Your [ourUnit] has [battleAction] an enemy [unit] = +Your [ourUnit] has [battleAction] an enemy [unit] = Votre [ourUnit] a [battleAction] un(e) [unit] ennemi(e) An enemy [RangedUnit] has destroyed the defence of [cityName] = [RangedUnit] ennemi(e) a détruit l'unité défensive de [cityName] Enemy city [cityName] has destroyed our [ourUnit] = Ville ennemie [cityName] a détruit notre [ourUnit] An enemy [unit] was destroyed while attacking [cityName] = [unit] ennemi(e) a été détruit(e) en attaquant [cityName] @@ -1012,29 +1012,29 @@ An enemy [unit] was destroyed while attacking our [ourUnit] = [unit] ennemi(e) a # Interceptor types # Requires translation! -an unknown interceptor = +an unknown interceptor = une unité d'interception inconnue # Requires translation! -an intercepting [interceptorName] = +an intercepting [interceptorName] = un(e) [interceptorName] tentant de l'intercepter # Requires translation! -Our [attackerName] was [battleAction] by [interceptorType] = +Our [attackerName] was [battleAction] by [interceptorType] = Notre [attackerName] a été [battleAction] par un(e) [interceptorType] # e.g. Destroyed # Requires translation! -Our [attackerName] [battleAction] an intercepting [interceptorType] = +Our [attackerName] [battleAction] an intercepting [interceptorType] = Notre [attackerName] a [battleAction] un(e) [interceptorType] tentant de l'intercepter # Requires translation! -Our [interceptorName] [battleAction] an enemy [attackerName] = +Our [interceptorName] [battleAction] an enemy [attackerName] = Notre [interceptorName] a [battleAction] un(e) [attackerName] ennemi(e) # Requires translation! -Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = +Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = Notre [interceptorName] a intercepté mais a été détruit(e) par un(e) [attackerName] ennemi(e) # Requires translation! -Our [interceptorName] intercepted and was destroyed by an unknown enemy = +Our [interceptorName] intercepted and was destroyed by an unknown enemy = Notre [interceptorName] a intercepté mais a été détruit(e) par un ennemi inconnu # Old format - still in use, but intended to be deprecated -An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = +An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = [unit] ennemi(e) ([amount] PV) a attaqué [cityName] ([amount2] PV) # Requires translation! -An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = +An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = [unit] ennemi(e) ([amount] PV) a [battleAction] notre [ourUnit] ([amount2] HP) # Requires translation! -An enemy [unit] has attacked our [ourUnit] ([amount] HP) = +An enemy [unit] has attacked our [ourUnit] ([amount] HP) = [unit] ennemi(e) a attaqué notre [ourUnit] ([amount] PV) Enemy city [cityName] has attacked our [ourUnit] = Ville ennemie [cityName] a attaqué notre [ourUnit] Enemy city [cityName] has attacked our [ourUnit] ([amount2] HP) = Ville ennemie [cityName] a attaqué notre [ourUnit] ([amount2] PV) An enemy [unit] has captured [cityName] = [unit] ennemi(e) a conquis [cityName] @@ -1648,7 +1648,7 @@ Remove your troops in our border immediately! = Retirez vos troupes de nos front Sorry. = Toutes mes excuses. Never! = Jamais ! # Requires translation! -Those lands were not yours to take. This has not gone unnoticed. = +Those lands were not yours to take. This has not gone unnoticed. = Vous n'aviez aucun droit d'annexer ces terres. Nous ne l'oublierons pas. Offer Declaration of Friendship ([30] turns) = Proposer une Déclaration d'Amitié ([30] tours) My friend, shall we declare our friendship to the world? = Cher ami, ne devrions-nous pas annoncer notre amitié au monde ? @@ -4597,7 +4597,7 @@ Zanzibar = Zanzibar How could we fall to the likes of you?! = Comment avons-nous pu faillir face à des fourbes de votre espèce ? Almaty = Almaty -Let's have a nice little War, shall we? = Guerroyons de la plus belle des manières, n'est-ce pas ? +Let's have a nice little War, shall we? = Guerroyons de la plus belle des manières, n'est-ce pas ? If you need your nose bloodied, we'll happily serve. = Si tel est votre désir, nous serons très heureux de vous refaire le portrait. The serbian guerilla will never stop haunting you! = Les résistants serbes ne cesseront jamais de vous harceler ! Belgrade = Belgrade diff --git a/android/assets/jsons/translations/German.properties b/android/assets/jsons/translations/German.properties index bd61cc2f84aeb..5912b5893e027 100644 --- a/android/assets/jsons/translations/German.properties +++ b/android/assets/jsons/translations/German.properties @@ -982,59 +982,41 @@ We have conquered the city of [cityName]! = Wir haben die Stadt [cityName] einge Your citizens are revolting due to very high unhappiness! = # Possible HP loss loss when attacking, e.g. (-5 HP) - # Requires translation! -([amount] HP) = +([amount] HP) = ([amount] LP) # Battle actions - # Requires translation! -attacked = - # Requires translation! -raided = - # Requires translation! -captured = - # Requires translation! -destroyed = - # Requires translation! -intercepted = - # Requires translation! -intercepted and destroyed = +attacked = angegriffen +raided = überfallen +captured = gefangen genommen +destroyed = zerstört +intercepted = abgefangen +intercepted and destroyed = abgefangen und zerstört # New translation format (possible hp loss is "bundled into" the unit/city name) - # Requires translation! -An enemy [unit] has [battleAction] our [ourUnit] = -An enemy [unit] has [battleAction] [cityName] = - # Requires translation! -Your [ourUnit] has [battleAction] an enemy [unit] = +An enemy [unit] has [battleAction] our [ourUnit] = Eine feindliche [unit] Einheit hat unsere [ourUnit] Einheit [battleAction] +An enemy [unit] has [battleAction] [cityName] = Eine feindliche [unit] Einheit hat unsere Stadt [cityName] [battleAction] +Your [ourUnit] has [battleAction] an enemy [unit] = Deine [ourUnit] Einheit hat eine feindliche [unit] Einheit [battleAction] An enemy [RangedUnit] has destroyed the defence of [cityName] = Eine feindliche [RangedUnit] Einheit hat die Verteidigung der Stadt [cityName] zerstört Enemy city [cityName] has destroyed our [ourUnit] = Die feindliche Stadt [cityName] hat unsere [ourUnit] Einheit zerstört An enemy [unit] was destroyed while attacking [cityName] = Eine feindliche [unit] Einheit wurde beim Angriff auf [cityName] zerstört An enemy [unit] was destroyed while attacking our [ourUnit] = Eine feindliche [unit] Einheit wurde beim Angriff auf unsere [ourUnit] Einheit zerstört # Interceptor types - # Requires translation! -an unknown interceptor = - # Requires translation! -an intercepting [interceptorName] = +an unknown interceptor = eine unbekannte abfangende Einheit +an intercepting [interceptorName] = ein(e) abfangende(r) [interceptorName] - # Requires translation! -Our [attackerName] was [battleAction] by [interceptorType] = +Our [attackerName] was [battleAction] by [interceptorType] = Unser(e) [attackerName] wurde von [interceptorType] [battleAction] # e.g. Destroyed - # Requires translation! -Our [attackerName] [battleAction] an intercepting [interceptorType] = - # Requires translation! -Our [interceptorName] [battleAction] an enemy [attackerName] = +Our [attackerName] [battleAction] an intercepting [interceptorType] = Unser(e) [attackerName] wurde von einer abfangenden [interceptorType] [battleAction] +Our [interceptorName] [battleAction] an enemy [attackerName] = Unser(e) [interceptorName] hat eine feindliche [attackerName] [battleAction] - # Requires translation! -Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = - # Requires translation! -Our [interceptorName] intercepted and was destroyed by an unknown enemy = +Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = Unser(e) [interceptorName] wurde beim Abfangen durch eine feindliche [attackerName] zerstört +Our [interceptorName] intercepted and was destroyed by an unknown enemy = Unser(e) [interceptorName] wurde beim Abfangen durch einen unbekannten Feind zerstört # Old format - still in use, but intended to be deprecated An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = - # Requires translation! -An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = - # Requires translation! -An enemy [unit] has attacked our [ourUnit] ([amount] HP) = +An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = Eine feindliche [unit] Einheit ([amount] LP) hat unsere [ourUnit] Einheit ([amount2] LP) [battleAction] +An enemy [unit] has attacked our [ourUnit] ([amount] HP) = Eine feindliche [unit] Einheit hat unsere [ourUnit] Einheit ([amount] LP) angegriffen Enemy city [cityName] has attacked our [ourUnit] = Die feindliche Stadt [cityName] hat unsere [ourUnit] Einheit angegriffen Enemy city [cityName] has attacked our [ourUnit] ([amount2] HP) = Die feindliche Stadt [cityName] hat unsere [ourUnit] Einheit ([amount2] LP) angegriffen An enemy [unit] has captured [cityName] = Eine feindliche [unit] Einheit hat [cityName] eingenommen @@ -1647,8 +1629,7 @@ Keep it = Behalten Remove your troops in our border immediately! = Entferne sofort deine Truppen aus unserem Gebiet! Sorry. = Entschuldigung. Never! = Niemals! - # Requires translation! -Those lands were not yours to take. This has not gone unnoticed. = +Those lands were not yours to take. This has not gone unnoticed. = Dieses Land stand euch nicht zu. Dies ist nicht unbemerkt geblieben. Offer Declaration of Friendship ([30] turns) = Freundschaftserklärung anbieten ([30] Runden) My friend, shall we declare our friendship to the world? = Mein Freund, sollen wir unsere Freundschaft der Welt kundtun? diff --git a/android/assets/jsons/translations/Indonesian.properties b/android/assets/jsons/translations/Indonesian.properties index 666c1087a43b6..d1695f76126a9 100644 --- a/android/assets/jsons/translations/Indonesian.properties +++ b/android/assets/jsons/translations/Indonesian.properties @@ -983,28 +983,28 @@ Your citizens are revolting due to very high unhappiness! = # Possible HP loss loss when attacking, e.g. (-5 HP) # Requires translation! -([amount] HP) = +([amount] HP) = ([amount] HP) # Battle actions # Requires translation! -attacked = +attacked = menyerang # Requires translation! -raided = +raided = menyerang # Requires translation! -captured = +captured = menawan # Requires translation! -destroyed = +destroyed = menghancurkan # Requires translation! -intercepted = +intercepted = mencegat # Requires translation! -intercepted and destroyed = +intercepted and destroyed = mencegat dan menghancurkan # New translation format (possible hp loss is "bundled into" the unit/city name) # Requires translation! -An enemy [unit] has [battleAction] our [ourUnit] = -An enemy [unit] has [battleAction] [cityName] = +An enemy [unit] has [battleAction] our [ourUnit] = [unit] musuh telah [battleAction] [ourUnit] kita +An enemy [unit] has [battleAction] [cityName] = [unit] musuh telah [battleAction] [cityName] # Requires translation! -Your [ourUnit] has [battleAction] an enemy [unit] = +Your [ourUnit] has [battleAction] an enemy [unit] = [ourUnit] kamu telah [battleAction] [unit] musuh An enemy [RangedUnit] has destroyed the defence of [cityName] = [RangedUnit] musuh telah menghancurkan pertahanan [cityName] Enemy city [cityName] has destroyed our [ourUnit] = Kota [cityName] musuh telah menghancurkan [ourUnit] kita An enemy [unit] was destroyed while attacking [cityName] = [unit] musuh telah dihancurkan ketika menyerang [cityName] @@ -1012,33 +1012,31 @@ An enemy [unit] was destroyed while attacking our [ourUnit] = [unit] musuh telah # Interceptor types # Requires translation! -an unknown interceptor = +an unknown interceptor = pencegat yang tidak diketahui # Requires translation! -an intercepting [interceptorName] = +an intercepting [interceptorName] = [interceptorName] yang mencegat # Requires translation! -Our [attackerName] was [battleAction] by [interceptorType] = +Our [attackerName] was [battleAction] by [interceptorType] = [interceptorType] telah [battleAction] [attackerName] kita # e.g. Destroyed - # Requires translation! -Our [attackerName] [battleAction] an intercepting [interceptorType] = - # Requires translation! -Our [interceptorName] [battleAction] an enemy [attackerName] = +Our [attackerName] [battleAction] an intercepting [interceptorType] = [attackerName] kita telah [battleAction] [interceptorType] yang sedang melakukan pencegatan +Our [interceptorName] [battleAction] an enemy [attackerName] = [interceptorName] kita telah [battleAction] [attackerName] musuh # Requires translation! -Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = +Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = [interceptorName] kita melakukan pencegatan dan dihancurkan oleh [attackerName] musuh # Requires translation! -Our [interceptorName] intercepted and was destroyed by an unknown enemy = +Our [interceptorName] intercepted and was destroyed by an unknown enemy = [interceptorName] kita melakukan pencegatan dan dihancurkan musuh yang tidak diketahui # Old format - still in use, but intended to be deprecated -An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = +An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = [unit] musuh ([amount] HP) telah menyerang [cityName] ([amount2] HP) # Requires translation! -An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = +An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = [unit] musuh ([amount] HP) telah [battleAction] [ourUnit] kita ([amount2] HP) # Requires translation! -An enemy [unit] has attacked our [ourUnit] ([amount] HP) = +An enemy [unit] has attacked our [ourUnit] ([amount] HP) = [unit] musuh telah menyerang [ourUnit] kita ([amount] HP) Enemy city [cityName] has attacked our [ourUnit] = Kota musuh, [cityName], telah menyerang [ourUnit] kita Enemy city [cityName] has attacked our [ourUnit] ([amount2] HP) = Kota musuh, [cityName], telah menyerang [ourUnit] kita ([amount2] HP) -An enemy [unit] has captured [cityName] = [unit] musuh telah menawan [cityName] -An enemy [unit] ([amount] HP) has captured [cityName] ([amount2] HP) = [unit] musuh ([amount] HP) telah menawan [cityName] ([amount2] HP) +An enemy [unit] has captured [cityName] = [unit] musuh telah merebut [cityName] +An enemy [unit] ([amount] HP) has captured [cityName] ([amount2] HP) = [unit] musuh ([amount] HP) telah merebut [cityName] ([amount2] HP) An enemy [unit] has raided [cityName] = [unit] musuh telah menyerang [cityName] An enemy [unit] ([amount] HP) has raided [cityName] ([amount2] HP) = [unit] musuh ([amount] HP) telah menyerang [cityName] ([amount2] HP) An enemy [unit] has captured our [ourUnit] = [unit] musuh telah menawan [ourUnit] kita @@ -1648,7 +1646,7 @@ Remove your troops in our border immediately! = Singkirkan pasukanmu dari perbat Sorry. = Maaf. Never! = Tidak akan pernah! # Requires translation! -Those lands were not yours to take. This has not gone unnoticed. = +Those lands were not yours to take. This has not gone unnoticed. = Tanah tersebut bukan untuk kamu ambil. Perkara ini tidak luput dari perhatian saya. Offer Declaration of Friendship ([30] turns) = Tawarkan Deklarasi Pertemanan ([30] giliran) My friend, shall we declare our friendship to the world? = Temanku, maukah kau menyatakan pertemanan kita kepada dunia? diff --git a/android/assets/jsons/translations/Italian.properties b/android/assets/jsons/translations/Italian.properties index 0dfc10bc9a876..2d7e93b9bfde3 100644 --- a/android/assets/jsons/translations/Italian.properties +++ b/android/assets/jsons/translations/Italian.properties @@ -150,7 +150,7 @@ This will cancel your defensive pact with [civName] = Questo cancellerà il tuo Go to on map = Vai sulla mappa Let's begin! = Andiamo! [civName] has declared war on us! = [civName] ci ha dichiarato guerra! -[leaderName] of [nation] = [leaderName] dell'impero [nation] +[leaderName] of [nation] = [leaderName] - [nation] You'll pay for this! = Pagherai caro questo affronto! Negotiate Peace = Negozia una pace Peace with [civName]? = Vuoi negoziare una pace con [civName]? @@ -988,58 +988,40 @@ We have conquered the city of [cityName]! = Abbiamo conquistato la città di [ci Your citizens are revolting due to very high unhappiness! = # Possible HP loss loss when attacking, e.g. (-5 HP) - # Requires translation! -([amount] HP) = +([amount] HP) = ([amount] HP) # Battle actions - # Requires translation! -attacked = - # Requires translation! -raided = - # Requires translation! -captured = - # Requires translation! -destroyed = - # Requires translation! -intercepted = - # Requires translation! -intercepted and destroyed = +attacked = attaccato +raided = saccheggiato +captured = catturato +destroyed = distrutto +intercepted = intercettato +intercepted and destroyed = intercettato e distrutto # New translation format (possible hp loss is "bundled into" the unit/city name) - # Requires translation! -An enemy [unit] has [battleAction] our [ourUnit] = -An enemy [unit] has [battleAction] [cityName] = - # Requires translation! -Your [ourUnit] has [battleAction] an enemy [unit] = -An enemy [RangedUnit] has destroyed the defence of [cityName] = L'unità nemica [RangedUnit] ha distrutto le difese di [cityName]! +An enemy [unit] has [battleAction] our [ourUnit] = [unit] nemico ha [battleAction] [ourUnit] +An enemy [unit] has [battleAction] [cityName] = [unit] nemico ha [battleAction] [cityName] +Your [ourUnit] has [battleAction] an enemy [unit] = La tua unità [ourUnit] ha [battleAction] [unit] nemico +An enemy [RangedUnit] has destroyed the defence of [cityName] = [RangedUnit] nemico ha distrutto le difese di [cityName]! Enemy city [cityName] has destroyed our [ourUnit] = La città nemica di [cityName] ha distrutto [ourUnit] -An enemy [unit] was destroyed while attacking [cityName] = Un'unità nemica [unit] è stata distrutta mentre attaccava [cityName] -An enemy [unit] was destroyed while attacking our [ourUnit] = Un'unità nemica [unit] è stata distrutta mentre attaccava la nostra unità [ourUnit] +An enemy [unit] was destroyed while attacking [cityName] = [unit] nemico è stato distrutto mentre attaccava [cityName] +An enemy [unit] was destroyed while attacking our [ourUnit] = [unit] nemico è stato distrutto mentre attaccava la nostra unità [ourUnit] # Interceptor types - # Requires translation! -an unknown interceptor = - # Requires translation! -an intercepting [interceptorName] = +an unknown interceptor = un intercettatore ignoto +an intercepting [interceptorName] = [interceptorName] intercettante - # Requires translation! -Our [attackerName] was [battleAction] by [interceptorType] = +Our [attackerName] was [battleAction] by [interceptorType] = Mentre attaccava, [attackerName] è stato [battleAction] da [interceptorType] # e.g. Destroyed - # Requires translation! -Our [attackerName] [battleAction] an intercepting [interceptorType] = - # Requires translation! -Our [interceptorName] [battleAction] an enemy [attackerName] = +Our [attackerName] [battleAction] an intercepting [interceptorType] = [attackerName] [battleAction] l'intercettante [interceptorType] nemico +Our [interceptorName] [battleAction] an enemy [attackerName] = [interceptorName] [battleAction] an enemy [attackerName] nemico - # Requires translation! -Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = - # Requires translation! -Our [interceptorName] intercepted and was destroyed by an unknown enemy = +Our [interceptorName] intercepted and was destroyed by an enemy [attackerName] = [interceptorName] è stato distrutto mentre intercettava [attackerName] nemico +Our [interceptorName] intercepted and was destroyed by an unknown enemy = [interceptorName] è stato distrutto mentre intercettava un nemico sconosciuto # Old format - still in use, but intended to be deprecated -An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = - # Requires translation! -An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = - # Requires translation! +An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = [unit] nemico ([amount] HP) ha attaccato [cityName] ([amount2] HP) +An enemy [unit] ([amount] HP) has [battleAction] our [ourUnit] ([amount2] HP) = [unit] nemico ([amount] HP) ha [battleAction] il tuo [ourUnit] ([amount2] HP) An enemy [unit] has attacked our [ourUnit] ([amount] HP) = Enemy city [cityName] has attacked our [ourUnit] = La città nemica di [cityName] ha attaccato [ourUnit] Enemy city [cityName] has attacked our [ourUnit] ([amount2] HP) = La città nemica [cityName] ha attaccato [ourUnit] ([amount2] HP) @@ -1653,8 +1635,7 @@ Keep it = Mantienila Remove your troops in our border immediately! = I vostri soldati sconfinano nelle vostre terre. Potete spostarli da un'altra parte, per favore? Sorry. = Siamo spiacenti. Never! = Scordatelo! - # Requires translation! -Those lands were not yours to take. This has not gone unnoticed. = +Those lands were not yours to take. This has not gone unnoticed. = Queste terre non erano tue. Il mondo intero lo sa, adesso. Offer Declaration of Friendship ([30] turns) = Offri Dichiarazione di Amicizia ([30] turni) My friend, shall we declare our friendship to the world? = Piantiamo i semi di una solida alleanza tramite una Dichiarazione di Amicizia. Che ne dici? diff --git a/android/assets/jsons/translations/Spanish.properties b/android/assets/jsons/translations/Spanish.properties index 66d1cdace42b8..d1544448a3c0e 100644 --- a/android/assets/jsons/translations/Spanish.properties +++ b/android/assets/jsons/translations/Spanish.properties @@ -751,7 +751,7 @@ Overwrite existing file? = ¿Sobreescribir el archivo existente? Overwrite = Sobreescribir It looks like your saved game can't be loaded! = ¡Parece que tu partida guardada no se puede cargar! If you could copy your game data ("Copy saved game to clipboard" - = Si puedes, copia los datos de tu partida ("Copiar partida guardada al portapapeles" - - paste into an email to yairm210@hotmail.com) = pegar en un correo electrónico a yairm210@hotmail.com) +paste into an email to yairm210@hotmail.com) = pegar en un correo electrónico a yairm210@hotmail.com) I could maybe help you figure out what went wrong, since this isn't supposed to happen! = Tal vez podría ayudarte a descubrir qué ha ido mal, ¡esto no debería haber ocurrido! Missing mods: [mods] = Mods perdidos: [mods] Load from custom location = Cargar desde ubicación personalizada @@ -1647,8 +1647,7 @@ Keep it = Quedarmela Remove your troops in our border immediately! = ¡Saca tus tropas de nuestras fronteras inmediatamente! Sorry. = Lo siento. Never! = ¡Jamás! - # Requires translation! -Those lands were not yours to take. This has not gone unnoticed. = +Those lands were not yours to take. This has not gone unnoticed. = Esas tierras no eran vuestras para que las toméis. Esto no ha pasado desapercibido. Offer Declaration of Friendship ([30] turns) = Ofrecer Declaración de Amistad ([30] ⏳turnos) My friend, shall we declare our friendship to the world? = Amigo mío, ¿deberíamos anunciar nuestra amistad al mundo? @@ -1904,7 +1903,7 @@ Due to the chaos ensuing in [cityName], your spy [spyName] has fled back to our # Promotions Pick promotion = Elige promoción - OR = O +OR = O units in open terrain = unidades en terreno abierto units in rough terrain = unidades en terreno abrupto wounded units = unidades heridas @@ -2407,8 +2406,8 @@ when [victoryType] Victory is enabled = cuando la Victoria [victoryType] está a when [victoryType] Victory is disabled = cuando la Victoria [victoryType] está desactivada when religion is enabled = cuando la religión está activada when religion is disabled = cuando la religión está desactivada -when espionage is enabled = cuando el espionaje está activado -when espionage is disabled = cuando el espionaje está desactivado +when espionage is enabled = cuando el espionaje está activado +when espionage is disabled = cuando el espionaje está desactivado with [amount]% chance = con una probabilidad de [amount]% for [civFilter] Civilizations = para [civFilter] Civilizaciones when at war = si está en guerra @@ -3522,7 +3521,7 @@ Rouen = Ruan Grenoble = Grenoble Dijon = Dijon Amiens = Amiens -Cherbourg = Cherbourg +Cherbourg = Cherbourg Poitiers = Poitiers Toulouse = Toulouse Bayonne = Bayona @@ -3717,7 +3716,7 @@ Seattle = Seattle San Francisco = San Francisco Los Angeles = Los Ángeles Houston = Houston -Portland = Portland +Portland = Portland St. Louis = San Luis Miami = Miami Buffalo = Buffalo @@ -4890,7 +4889,7 @@ Chemistry = Química 'There never was a good knife made of bad steel.' - Benjamin Franklin = "Nunca hubo un buen cuchillo hecho de mal acero." - Benjamin Franklin Metallurgy = Metalurgia -'Those who cannot remember the past are condemned to repeat it.' - George Santayana = "Aquellos que no recuerdan el pasado están condenados a repetirlo." - George Santayana +'Those who cannot remember the past are condemned to repeat it.' - George Santayana = "Aquellos que no recuerdan el pasado están condenados a repetirlo." - George Santayana Archaeology = Arqueología 'Every great advance in science has issued from a new audacity of imagination.' - John Dewey = "Cada gran avance de la ciencia ha sido sacado de una nueva audacia de la imaginación." - John Dewey Scientific Theory = Teoría científica diff --git a/buildSrc/src/main/kotlin/BuildConfig.kt b/buildSrc/src/main/kotlin/BuildConfig.kt index 4fc87beed0339..c4c765fba08dc 100644 --- a/buildSrc/src/main/kotlin/BuildConfig.kt +++ b/buildSrc/src/main/kotlin/BuildConfig.kt @@ -4,8 +4,8 @@ package com.unciv.build object BuildConfig { const val kotlinVersion = "1.9.24" const val appName = "Unciv" - const val appCodeNumber = 1088 - const val appVersion = "4.15.0" + const val appCodeNumber = 1089 + const val appVersion = "4.15.1" const val gdxVersion = "1.12.1" const val ktorVersion = "2.3.12" diff --git a/changelog.md b/changelog.md index 1293cfc798742..73ecc859288af 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,43 @@ +## 4.15.1 + +chore: split checkFileNames into subfunctions + +chore: reduce automateWorkerAction complexity even more + +chore: reduce automateWorkerAction complexity + +Show total number of cities in city table + +Fixed tests again dammit + +Specify the problematic interception translations + +chore: renamed all "distance to tiles" to "movement" + +Avoid ANRs when loading games + +Resolve rare crash for corrupted game settings + +Resolved - Queue items remain in bounds + +Fix tests + +More generic battle notifications + +More generic battle notifications + +. + +New battle damage messages - to be translated before we move to the new format + +Added battle damage translation line when attacker is undamaged + +Added battle damage translation line when attacker is undamaged + +By sulai: +- Add GoogleMaps-like pinching +- Tweak UI city screen + ## 4.15.0 Modding: diff --git a/core/src/com/unciv/UncivGame.kt b/core/src/com/unciv/UncivGame.kt index b7c59d65f0637..25d09c6a53aa4 100644 --- a/core/src/com/unciv/UncivGame.kt +++ b/core/src/com/unciv/UncivGame.kt @@ -487,7 +487,7 @@ open class UncivGame(val isConsoleMode: Boolean = false) : Game(), PlatformSpeci companion object { //region AUTOMATICALLY GENERATED VERSION DATA - DO NOT CHANGE THIS REGION, INCLUDING THIS COMMENT - val VERSION = Version("4.15.0", 1088) + val VERSION = Version("4.15.1", 1089) //endregion /** Global reference to the one Gdx.Game instance created by the platform launchers - do not use without checking [isCurrentInitialized] first. */ diff --git a/fastlane/metadata/android/en-US/changelogs/1089.txt b/fastlane/metadata/android/en-US/changelogs/1089.txt new file mode 100644 index 0000000000000..ef463d97a2e14 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/1089.txt @@ -0,0 +1,39 @@ + + +chore: split checkFileNames into subfunctions + +chore: reduce automateWorkerAction complexity even more + +chore: reduce automateWorkerAction complexity + +Show total number of cities in city table + +Fixed tests again dammit + +Specify the problematic interception translations + +chore: renamed all "distance to tiles" to "movement" + +Avoid ANRs when loading games + +Resolve rare crash for corrupted game settings + +Resolved - Queue items remain in bounds + +Fix tests + +More generic battle notifications + +More generic battle notifications + +. + +New battle damage messages - to be translated before we move to the new format + +Added battle damage translation line when attacker is undamaged + +Added battle damage translation line when attacker is undamaged + +By sulai: +- Add GoogleMaps-like pinching +- Tweak UI city screen \ No newline at end of file