From 1cd72e427245ddd72eee8fbca7fe916c264e858e Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 31 Dec 2023 23:09:09 +0200 Subject: [PATCH] Version rollout (#10848) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Bump version and create initial changelog entry * Use randomize seed checkbox for partial generation (#10844) * use randomize seed checkbox for partial generation and debug the behavior of raiseMountainsAndHills in partial generation * small changes * Update Finnish.properties (#10843) * Update Finnish.properties * Update Finnish.properties * Update Finnish.properties * Update Korean.properties (#10842) * Update French.properties (#10838) --------- Co-authored-by: yairm210 Co-authored-by: Rémi Dufour Co-authored-by: Securetux <110048962+Securetux@users.noreply.github.com> Co-authored-by: Yattong the Mackerel Co-authored-by: Ouaz --- .../jsons/translations/Finnish.properties | 260 +++++++++--------- .../jsons/translations/French.properties | 6 +- .../jsons/translations/Korean.properties | 35 ++- buildSrc/src/main/kotlin/BuildConfig.kt | 4 +- changelog.md | 26 ++ core/src/com/unciv/UncivGame.kt | 2 +- .../logic/map/mapgenerator/MapGenerator.kt | 25 +- .../tabs/MapEditorGenerateTab.kt | 19 +- .../metadata/android/en-US/changelogs/951.txt | 25 ++ 9 files changed, 229 insertions(+), 173 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/951.txt diff --git a/android/assets/jsons/translations/Finnish.properties b/android/assets/jsons/translations/Finnish.properties index 1b6208e678..555f17fd45 100644 --- a/android/assets/jsons/translations/Finnish.properties +++ b/android/assets/jsons/translations/Finnish.properties @@ -177,15 +177,15 @@ Demands = Vaatimukset Please don't settle new cities near us. = Älä perusta kaupunkeja lähimaillemme. Very well, we shall look for new lands to settle. = Hyvä on, etsimme muita maita siirtokunnillemme. We shall do as we please. = Teemme kuten haluamme. -We noticed your new city near our borders, despite your promise. This will have....implications. = Huomasimme että olet perustanut kaupunkin rajoillemme, vaikka lupasit muuta. Tällä tulee olemaan... seuraamuksia. +We noticed your new city near our borders, despite your promise. This will have....implications. = Huomasimme että olet perustanut kaupungin rajoillemme, vaikka lupasit muuta. Tällä tulee olemaan... seuraamuksia. # Requires translation! -I've been informed that my armies have taken tribute from [civName], a city-state under your protection.\nI assure you, this was quite unintentional, and I hope that this does not serve to drive us apart. = +I've been informed that my armies have taken tribute from [civName], a city-state under your protection.\nI assure you, this was quite unintentional, and I hope that this does not serve to drive us apart. = Tietooni on tullut, että armeijani on ottanut maksua kaupunkivaltiolta [civName], joka on sinun suojeluksessasi.\nVakuutan, että tämä ei ollut tarkoituksellista ja toivon, ettei tämä aja meitä erillemme. # Requires translation! -We asked [civName] for a tribute recently and they gave in.\nYou promised to protect them from such things, but we both know you cannot back that up. = +We asked [civName] for a tribute recently and they gave in.\nYou promised to protect them from such things, but we both know you cannot back that up. = Me pyysimme valtiolta [civName] maksua hiljattain ja he myöntyivät.\nSinä lupasit suojella heitä sellaisilta asioilta, mutta me molemmat tiedämme ettet voi taata sitä. # Requires translation! -It's come to my attention that I may have attacked [civName], a city-state under your protection.\nWhile it was not my goal to be at odds with your empire, this was deemed a necessary course of action. = +It's come to my attention that I may have attacked [civName], a city-state under your protection.\nWhile it was not my goal to be at odds with your empire, this was deemed a necessary course of action. = Tietooni on tullut, että olen saattanut hyökätä sinun suojeluksessasi olevan kaupunkivaltion [civName] kimppuun.\nVaikka se ei ollut tavoitteeni olla ristiriidassa sinun imperiumisi kanssa, niin tämä oli välttämätön toimenpide. # Requires translation! -I thought you might like to know that I've launched an invasion of one of your little pet states.\nThe lands of [civName] will make a fine addition to my own. = +I thought you might like to know that I've launched an invasion of one of your little pet states.\nThe lands of [civName] will make a fine addition to my own. = Ajattelin että saatat haluta tietää, että olen aloittanut invaasion yhteen pikku lemmikkivaltioosi.\nValtion [civName] maat tulevat olemaan hyvä lisä omiini. Return [unitName] to [civName]? = Palauta [unitName] sivilisaatiolle [civName]? The [unitName] we liberated originally belonged to [civName]. They will be grateful if we return it to them. = Vapauttamamme yksikkö [unitName] kuului alunperin sivilisaatiolle [civName]. He ovat kiitollisia jos me palautamme sen heille. @@ -212,17 +212,17 @@ Gift Improvement = Lahjoita parannus [civName] is able to provide [unitName] once [techName] is researched. = [civName] kykenee tarjoamaan yksikön [unitName] kun [techName] on tutkittu. # Requires translation! -Diplomatic Marriage ([amount] Gold) = +Diplomatic Marriage ([amount] Gold) = Diplomaattinen avioliitto ([amount] kultaa) # Requires translation! -We have married into the ruling family of [civName], bringing them under our control. = +We have married into the ruling family of [civName], bringing them under our control. = Me olelle avioituneet sivilisaation [civName] hallitsevaan perheeseen, tuoden heidät meidän kontrolliimme. # Requires translation! -[civName] has married into the ruling family of [civName2], bringing them under their control. = +[civName] has married into the ruling family of [civName2], bringing them under their control. = [civName] on avioitunut sivilisaation [civName2] hallitsevaan perheeseen, tuoden heidät heidän kontrolliinsa. You have broken your Pledge to Protect [civName]! = Olet rikkonut lupauksesi suojella sivilisaatiota [civName]! # Requires translation! -City-States grow wary of your aggression. The resting point for Influence has decreased by [amount] for [civName]. = +City-States grow wary of your aggression. The resting point for Influence has decreased by [amount] for [civName]. = Kaupunkivaltiot tulevat varovaisiksi sinun aggressioillesi. Vaikutusvallan lepopiste on laskenut määrällä [amount] sivilisaatiolle [civName]. # Requires translation! -[cityState] is being attacked by [civName] and asks all major civilizations to help them out by gifting them military units. = +[cityState] is being attacked by [civName] and asks all major civilizations to help them out by gifting them military units. = [cityState] on joutunut hyökkäyksen kohteeksi sivilisaation [civName] toimesta ja pyytää kaikkia merkittäviä sivilisaatioita auttamaan heitä lahjoittamalla heille sotilasyksiköitä. [cityState] is being invaded by Barbarians! Destroy Barbarians near their territory to earn Influence. = Barbaarit ovat hyökänneet kaupunkivaltion [cityState] kimppuun! Tuhoa barbaarit heidän alueensa läheltä ansaitaksesi vaikutusvaltaa. [cityState] is grateful that you killed a Barbarian that was threatening them! = [cityState] on kiitollinen siitä että tapoit barbaarin, joka uhkasi heitä! [cityState] is being attacked by [civName]! Kill [amount] of the attacker's military units and they will be immensely grateful. = [civName] on hyökännyt kaupunkivaltion [cityState] kimppuun! Tapa [amount] hyökkääjän sotilasyksikköä ja he tulevat olemaan valtavan kiitollisia. @@ -247,7 +247,7 @@ Influence = Vaikutusvalta Ally: [civilization] with [amount] Influence = Liittolainen: [civilization] jolla on [amount] vaikutusvaltaa # Requires translation! -Unknown civilization = +Unknown civilization = Tuntematon sivilisaatio Reach 30 for friendship. = Saavutat ystävyyden 30:sä Reach highest influence above 60 for alliance. = Saavutat liittolaisuuden omaamalla suurimman yli 60 pisteen Vaikutusvallan When Friends: = Kun ystävät @@ -255,38 +255,38 @@ When Allies: = Kun liittolaiset # Requires translation! The unique luxury is one of: = # Requires translation! -Demand Tribute = +Demand Tribute = Vaadi Maksua # Requires translation! Tribute Willingness = # Requires translation! At least 0 to take gold, at least 30 and size 4 city for worker = # Requires translation! -Take [amount] gold (-15 Influence) = +Take [amount] gold (-15 Influence) = Ota [amount] kultaa (-15 Vaikutusvalta) # Requires translation! -Take worker (-50 Influence) = +Take worker (-50 Influence) = Ota työmies (-50 Vaikutusvalta) # Requires translation! -[civName] is afraid of your military power! = +[civName] is afraid of your military power! = [civName] pelkää sinun sotilasvoimaasi! # Requires translation! -Major Civ = +Major Civ = Merkittävä sivilisaatio No Cities = Ei kaupunkeja # Requires translation! -Base value = +Base value = Perusarvo Has Ally = Liitossa Has Protector = Suojeluksessa # Requires translation! -Demanding a Worker = +Demanding a Worker = Vaatii työmiehen # Requires translation! -Demanding a Worker from small City-State = +Demanding a Worker from small City-State = Vaatii työmiehen pienestä kaupunkivaltiosta # Requires translation! -Very recently paid tribute = +Very recently paid tribute = Hyvin hiljattain maksettu maksu # Requires translation! -Recently paid tribute = +Recently paid tribute = Hiljattain maksettu maksu # Requires translation! -Influence below -30 = +Influence below -30 = Vaikutusvalta alle -30 Military Rank = Sotilasarvo # Requires translation! -Military near City-State = +Military near City-State = Armeija lähellä Kaupunkivaltiota Sum: = Summa @@ -295,7 +295,7 @@ Sum: = Summa Trade = Vaihtokauppa Offer trade = Ehdota vaihtokauppaa # Requires translation! -They'll decide on their turn = +They'll decide on their turn = He päättävät omalla vuorollaan Retract offer = Peruuta tarjous What do you have in mind? = Mitä sinulla on mielessäsi? Our items = Mahdolliset tarjottavat @@ -306,7 +306,7 @@ Our trade offer = Tarjouksemme +[amount] untradable copy = # Requires translation! +[amount] untradable copies = -Pleasure doing business with you! = Kiitos kaupanteosta! +Pleasure doing business with you! = Ilo tehdä kauppaa kanssasi! I think not. = Enpä usko. That is acceptable. = Hyväksyn. Accept = Hyväksy @@ -315,7 +315,7 @@ There's nothing on the table = Pöydällä ei ole mitään Peace Treaty = Rauha Agreements = Sopimukset # Requires translation! -Defensive Pact = +Defensive Pact = Puolustussopimus Open Borders = Avoimet rajat Gold per turn = Kultaa per vuoro Cities = Kaupungit @@ -326,9 +326,9 @@ Declare war on [nation] = Julista sota, kohteena [nation] Luxury resources = Ylellisyysresurssi Strategic resources = Strategiset resurssit # Requires translation! -Owned by you: [amountOwned] = +Owned by you: [amountOwned] = Sinun omistamasi: [amountOwned] # Requires translation! -Non-existent city = +Non-existent city = Ei olemassa oleva kaupunki # Unit differences @@ -336,13 +336,13 @@ Non-existent city = # Requires translation! Lost ability (vs [originalUnit]): [ability] = # Requires translation! -Upgrade all [count] [unit] ([cost] gold) = +Upgrade all [count] [unit] ([cost] gold) = Ylennä kaikki [count] yksikköä [unit] ([cost] kultaa) National ability = Kansallinen taito [firstValue] vs [secondValue] = [firstValue], vertaa [secondValue] # Requires translation! -Gained = +Gained = Ansaittu # Requires translation! -Lost = +Lost = Menetetty # New game screen @@ -351,17 +351,17 @@ Uniques = Uniikit Promotions = Ylennykset Load copied data = Lataa kopioitu data # Requires translation! -Reset to defaults = +Reset to defaults = Palauta oletuksiin # Requires translation! -Select nations = +Select nations = Valitse kansakunnat # Requires translation! -Set available nations for random pool = +Set available nations for random pool = Aseta saatavilla olevat kansakunnat satunnaiseen pooliin # Requires translation! -Available nations = +Available nations = Saatavilla olevat kansakunnat # Requires translation! -Banned nations = +Banned nations = Kielletyt kansakunnat # Requires translation! -Are you sure you want to reset all game options to defaults? = +Are you sure you want to reset all game options to defaults? = Oletko varma, että haluat palauttaa kaikki pelin asetukset oletuksiin? Start game! = Aloita peli! Map Options = Maailman Asetukset Game Options = Pelin Asetukset @@ -369,58 +369,58 @@ Civilizations = Sivilisaatiot Map Type = Maailman Tyyppi Map file = Karttatiedosto # Requires translation! -Max Turns = +Max Turns = Vuorojen maksimimäärä Could not load map! = Kartan lataaminen ei onnistunut! Generated = Generoitu # Requires translation! -Random Generated = +Random Generated = Satunnaisgeneroitu # Requires translation! -Which options should be available to the random selection? = +Which options should be available to the random selection? = Mitkä valinnat pitäisi olla saatavilla satunnaiseen valintaan? Existing = Olemassaoleva Custom = Räätälöity Map Generation Type = Maailman Generoinnin Tyyppi # Requires translation! -Enabled Map Generation Types = +Enabled Map Generation Types = Aktivoidut Karttagenerointityypit Default = Vakio Pangaea = Pangea # Requires translation! -Continent and Islands = +Continent and Islands = Manner ja Saaret # Requires translation! -Two Continents = +Two Continents = Kaksi Mannerta # Requires translation! -Three Continents = -Four Corners = Nelikulmainen +Three Continents = Kolme Mannerta +Four Corners = Neljä Kulmaa Archipelago = Saaristo # Requires translation! -Inner Sea = +Inner Sea = Sisämeri # Requires translation! Perlin = # Requires translation! -Random number of Civilizations = +Random number of Civilizations = Satunnainen määrä Sivilisaatioita # Requires translation! -Min number of Civilizations = +Min number of Civilizations = Minimi määrä Sivilisaatioita # Requires translation! -Max number of Civilizations = +Max number of Civilizations = Maksimi määrä Sivilisaatioita # Requires translation! -Random number of City-States = +Random number of City-States = Satunnainen määrä Kaupunkivaltioita # Requires translation! -Min number of City-States = +Min number of City-States = Minimi määrä Kaupunkivaltioita # Requires translation! -Max number of City-States = -One City Challenge = Yhden kaupungin haaste +Max number of City-States = Maksimi määrä Kaupunkivaltioita +One City Challenge = Yhden Kaupungin Haaste # Requires translation! -Enable Nuclear Weapons = +Enable Nuclear Weapons = Aktivoi Ydinaseet # Requires translation! -No City Razing = +No City Razing = Ei Kaupungin Hävittämistä No Barbarians = Ei Barbaareja # Requires translation! Disable starting bias = # Requires translation! -Raging Barbarians = +Raging Barbarians = Raivoavat Barbaarit No Ancient Ruins = Ei Muinaisia Raunioita No Natural Wonders = Ei Luonnonihmeitä # Requires translation! -Allow anyone to spectate = +Allow anyone to spectate = Salli kenen tahansa katsella Victory Conditions = Voittoehdot Scientific = Tieteellinen Domination = Maailman Herruus @@ -428,47 +428,47 @@ Cultural = Kulttuurinen Diplomatic = Diplomaattinen Time = Aika # Requires translation! -Your previous options needed to be reset to defaults. = +Your previous options needed to be reset to defaults. = Sinun aiemmat asetuksesi piti palauttaa oletuksiin. # Used for random nation indicator in empire selector and unknown nation icons in various overview screens. # Should be a single character, or at least visually square. ? = ? -Map Shape = Maailman muoto +Map Shape = Maailman Muoto # Requires translation! -Enabled Map Shapes = +Enabled Map Shapes = Aktivoidut Maailman Muodot Hexagonal = Kuusikulmainen # Requires translation! -Flat Earth Hexagonal = +Flat Earth Hexagonal = Kuusikulmainen Litteä Maa Rectangular = Neliskanttinen Height = Pituus Width = Paksuus Radius = Säde # Requires translation! -Enable Espionage = +Enable Espionage = Aktivoi Vakoilu Resource Setting = Resurssiasetukset # Requires translation! -Enabled Resource Settings = +Enabled Resource Settings = Aktivoidut Resurssiasetukset # Requires translation! -Other Settings = +Other Settings = Muut Asetukset # Requires translation! -Sparse = +Sparse = Harva # Requires translation! -Abundant = +Abundant = Runsas Strategic Balance = Strateginen Tasapaino Legendary Start = Legendaarinen Aloitus # Requires translation! -This is used for painting resources, not in map generator steps: = +This is used for painting resources, not in map generator steps: = Tätä käytetään resurssien maalaamiseen, ei kartan generoinnin vaiheissa: # Requires translation! -Advanced Settings = +Advanced Settings = Edistyneet Asetukset # Requires translation! -RNG Seed = +RNG Seed = Satunnaisgeneroinnin siemen Map Elevation = Maailman Korkeus Temperature extremeness = Lämpötilan äärimmäisyys # Requires translation! -Temperature shift = +Temperature shift = Lämpötilan muutos Resource richness = Resurssirikkaus Vegetation richness = Kasvuston rikkaus Rare features richness = Harvinaisten ominaisuuksien rikkaus @@ -478,22 +478,22 @@ Water level = Veden korkeus Online Multiplayer = Verkkomoninpeli # Requires translation! -You're currently using the default multiplayer server, which is based on a free Dropbox account. Because a lot of people use this, it is uncertain if you'll actually be able to access it consistently. Consider using a custom server instead. = +You're currently using the default multiplayer server, which is based on a free Dropbox account. Because a lot of people use this, it is uncertain if you'll actually be able to access it consistently. Consider using a custom server instead. = Sinä käytät tällä hetkellä oletus moninpelipalvelinta, joka perustuu ilmaiseen Dropbox-tiliin. Koska monet ihmiset käyttävät tätä, on epävarmaa pystytkö oikeasti saamaan pääsyn siihen johdonmukaisesti. Harkitse sen sijaan käyttäväsi mukautettua palvelinta. # Requires translation! -Open Documentation = +Open Documentation = Avaa Dokumentaatio # Requires translation! -Don't show again = +Don't show again = Älä näytä uudestaan World Size = Maailman Laajuus # Requires translation! -Enabled World Sizes = +Enabled World Sizes = Aktivoidut Maailman Laajuudet Tiny = Pikkiriikkinen Small = Pieni Medium = Keskikokoinen Large = Suuri Huge = Valtava # Requires translation! -World wrap requires a minimum width of 32 tiles = +World wrap requires a minimum width of 32 tiles = Maailman rullaus vaatii vähintään 32 tiilen leveyden The provided map dimensions were too small = Annetut kartan mitat olivat liian pienet The provided map dimensions were too big = Annetut kartan mitat olivat liian suuret The provided map dimensions had an unacceptable aspect ratio = Annetuilla kartan mitoilla oli mahdoton suhde @@ -520,81 +520,81 @@ It looks like we can't make a map with the parameters you requested! = Valitsemi Maybe you put too many players into too small a map? = Ehkä laitoit liian monta pelaajaa liian pieneen maailmaan? No human players selected! = Ei ihmispelaajia valittuna! # Requires translation! -Invalid Player ID! = +Invalid Player ID! = Epäkelpo Pelaaja ID! # Requires translation! -No victory conditions were selected! = +No victory conditions were selected! = Voittoehtoja ei valittu! Mods: = Modit: # Requires translation! -Extension mods = +Extension mods = Laajennusmodit # Requires translation! -Base ruleset: = +Base ruleset: = Perus sääntöjoukko: # Note - do not translate the colour names between «». Changing them works if you know what you're doing. # Requires translation! -The mod you selected is incorrectly defined! = +The mod you selected is incorrectly defined! = Valitsemasi modi on väärin määritelty! # Requires translation! -The mod you selected is «RED»incorrectly defined!«» = +The mod you selected is «RED»incorrectly defined!«» = Valitsemasi modi on «RED»väärin määritelty!«» # Requires translation! -The mod combination you selected is incorrectly defined! = +The mod combination you selected is incorrectly defined! = Valitsemasi yhdistelmä modeja on väärin määritelty! # Requires translation! -The mod combination you selected is «RED»incorrectly defined!«» = +The mod combination you selected is «RED»incorrectly defined!«» = Valitsemasi yhdistelmä modeja on «RED»väärin määritelty!«» # Requires translation! -The mod combination you selected has problems. = +The mod combination you selected has problems. = Valitsemassasi yhdistelmässä modeja on ongelmia. # Requires translation! -You can play it, but don't expect everything to work! = +You can play it, but don't expect everything to work! = Voit pelata sitä, mutta älä odota kaiken toimivan! # Requires translation! -The mod combination you selected «GOLD»has problems«». = +The mod combination you selected «GOLD»has problems«». = Valitsemassasi yhdistelmässä modeja «GOLD»on ongelmia«». # Requires translation! -You can play it, but «GOLDENROD»don't expect everything to work!«» = +You can play it, but «GOLDENROD»don't expect everything to work!«» = Voit pelata sitä, mutta «GOLDENROD»älä odota kaiken toimivan!«» # Requires translation! -This base ruleset is not compatible with the previously selected\nextension mods. They have been disabled. = +This base ruleset is not compatible with the previously selected\nextension mods. They have been disabled. = Tämä perus sääntöjoukko ei ole yhteensopiva aiemmin valittujen \nlaajennusmodien kanssa. Ne on otettu pois käytöstä. # Requires translation! -Are you really sure you want to play with the following known problems? = +Are you really sure you want to play with the following known problems? = Oletko todella varma että haluat pelata seuraavien tunnettujen ongelmien kanssa? # Requires translation! -Base Ruleset = +Base Ruleset = Perus Sääntöjoukko # Requires translation! -[amount] Techs = +[amount] Techs = [amount] Tekniikkaa # Requires translation! -[amount] Nations = +[amount] Nations = [amount] Kansakuntaa # Requires translation! -[amount] Units = +[amount] Units = [amount] Yksikköä # Requires translation! -[amount] Buildings = +[amount] Buildings = [amount] Rakennusta # Requires translation! -[amount] Resources = +[amount] Resources = [amount] Resurssia # Requires translation! -[amount] Improvements = +[amount] Improvements = [amount] Parannusta # Requires translation! -[amount] Religions = +[amount] Religions = [amount] Uskontoa # Requires translation! -[amount] Beliefs = +[amount] Beliefs = [amount] Uskomusta # Requires translation! -World Wrap = +World Wrap = Maailman rullaus # Requires translation! -World wrap maps are very memory intensive - creating large world wrap maps on Android can lead to crashes! = +World wrap maps are very memory intensive - creating large world wrap maps on Android can lead to crashes! = Maailman rullaus -kartat ovat hyvin muisti-intensiivisiä - suurten maailman rullaus -karttojen luominen Androidilla voi johtaa kaatumisiin! # Requires translation! -Anything above 80 by 50 may work very slowly on Android! = +Anything above 80 by 50 may work very slowly on Android! = Kaikki yli 80 x 50 saattaa toimia hyvin hitaasti Androidilla! # Requires translation! -Anything above 40 may work very slowly on Android! = +Anything above 40 may work very slowly on Android! = Mikä tahansa 40 yläpuolella saattaa toimia hyvin hitaasti Androidilla! # Map editor ## Tabs/Buttons Map editor = Maastonmuokkain # Requires translation! -View = +View = Katsele # Requires translation! -Generate = +Generate = Generoi # Requires translation! -Partial = +Partial = Osittainen # Requires translation! -Generator steps = +Generator steps = Generoinnin vaiheet # Requires translation! -Edit = +Edit = Muokkaa # Requires translation! -Rivers = +Rivers = Joet # Requires translation! -Load = +Load = Lataa Save = Tallenna New map = Uusi maailma Empty = Tyhjä @@ -603,7 +603,7 @@ Load map = Lataa maailma Delete map = Poista maailma Are you sure you want to delete this map? = Haluatko varmasti poistaa tämän maailman? # Requires translation! -It looks like your map can't be saved! = +It looks like your map can't be saved! = Näyttää siltä, että maailmaasi ei voi tallentaa! Exit map editor = Poistu Maastonmuokkaimesta # Requires translation! Change map ruleset = @@ -614,9 +614,9 @@ Revert to map ruleset = # Requires translation! Reset the controls to reflect the current map ruleset = # Requires translation! -Features = +Features = Ominaisuudet # Requires translation! -Starting locations = +Starting locations = Aloitussijainnit # Requires translation! Tile Matching Criteria = # Requires translation! @@ -630,57 +630,57 @@ Base terrain only = # Requires translation! Land or water only = # Requires translation! -Import a Wesnoth map = +Import a Wesnoth map = Tuo Wesnoth-kartta ## Labels/messages # Requires translation! -Brush ([size]): = +Brush ([size]): = Sivellin ([size]) # The single letter shown in the [size] parameter above for setting "Floodfill". # Please do not make this longer than one character, the associated slider will not handle well. # Requires translation! Floodfill_Abbreviation = # Requires translation! -Error loading map! = +Error loading map! = Virhe ladatessa maailmaa! # Requires translation! -Map saved successfully! = +Map saved successfully! = Maailma tallennettu onnistuneesti! # Requires translation! -Current map RNG seed: [amount] = +Current map RNG seed: [amount] = Nykyisen maailman satunnaisgeneroinnin siemen: [amount] # Requires translation! Map copy and paste = # Requires translation! Position: [param] = # Requires translation! -Starting location(s): [param] = +Starting location(s): [param] = Aloitussijainnit: [param] # Requires translation! Continent: [param] ([amount] tiles) = # Requires translation! -Resource abundance = +Resource abundance = Resurssien runsaus # Requires translation! Change map to fit selected ruleset? = # Requires translation! -Area: [amount] tiles, [amount2]% water, [amount3]% impassable, [amount4] continents/islands = +Area: [amount] tiles, [amount2]% water, [amount3]% impassable, [amount4] continents/islands = Alue: [amount] tiiltä, [amount2]% vettä, [amount3]% läpikulkematonta, [amount4] mannerta/saarta # Requires translation! -Do you want to leave without saving the recent changes? = +Do you want to leave without saving the recent changes? = Haluatko poistua ilman äskettäisten muutoksien tallentamista? # Requires translation! -Leave = +Leave = Poistu # Requires translation! -Do you want to load another map without saving the recent changes? = +Do you want to load another map without saving the recent changes? = Haluatko ladata toisen maailman ilman äskettäisten muutoksien tallentamista? # Requires translation! -River generation failed! = +River generation failed! = Jokien generointi epäonnistui! # Requires translation! Please don't use step 'Landmass' with map type 'Empty', create a new empty map instead. = # Requires translation! -This map has errors: = +This map has errors: = Tässä maailmassa on virheitä! # Requires translation! -The incompatible elements have been removed. = +The incompatible elements have been removed. = Epäyhteensopivat elementit on poistettu. # Requires translation! Current map: World Wrap = # Requires translation! Overlay image = # Requires translation! -Click to choose a file = +Click to choose a file = Klikkaa valitaksesi tiedoston # Requires translation! -Choose an image = +Choose an image = Valitse kuva # Requires translation! Overlay opacity: = # Requires translation! @@ -690,9 +690,9 @@ World wrap is incompatible with an overlay and was deactivated. = # Requires translation! An overlay image is incompatible with world wrap and was deactivated. = # Requires translation! -Choose a Wesnoth map file = +Choose a Wesnoth map file = Valitse Wesnoth karttatiedosto # Requires translation! -That map is invalid! = +That map is invalid! = Tuo kartta on epäkelpo! # Requires translation! ("[code]" does not conform to TerrainCodesWML) = diff --git a/android/assets/jsons/translations/French.properties b/android/assets/jsons/translations/French.properties index 2191d20083..6c79c0ca4e 100644 --- a/android/assets/jsons/translations/French.properties +++ b/android/assets/jsons/translations/French.properties @@ -1258,10 +1258,10 @@ Move to city = Aller à la ville Reset Citizens = Réinitialiser les citoyens Citizen Management = Gestion des citoyens # Requires translation! -Citizen Focus = +Citizen Focus = Focus des citoyens Avoid Growth = Éviter Croissance # Requires translation! -Manual = +Manual = Manuel Please enter a new name for your city = Veuillez saisir un nouveau nom pour votre ville Please select a tile for this building's [improvement] = Veuillez sélectionner une case pour la construction de [improvement] Move to the top of the queue = Déplacer en tête de file @@ -2083,7 +2083,7 @@ Can speed up construction of a building = Peut accélérer la construction d'un Can speed up the construction of a wonder = Peut accélérer la construction d'une merveille Can hurry technology research = Peut accélérer une recherche technologique # Requires translation! -Can generate a large amount of culture = +Can generate a large amount of culture = Peut générer une grande quantité de Culture Can undertake a trade mission with City-State, giving a large sum of gold and [amount] Influence = Peut entreprendre une mission commerciale avec une Cité-État, rapportant une grande quantité d'or et [amount] Influence Can transform to [unit] = Transformable en [unit] [relativeAmount]% Strength = [relativeAmount]% Puissance diff --git a/android/assets/jsons/translations/Korean.properties b/android/assets/jsons/translations/Korean.properties index c06d182a64..197dda625d 100644 --- a/android/assets/jsons/translations/Korean.properties +++ b/android/assets/jsons/translations/Korean.properties @@ -100,9 +100,9 @@ Requires all of the following: = 다음이 모두 필요함: Leads to [techName] = [techName] 해금 Leads to: = 해금: # Requires translation! -Enables: = +Enables: = 활성화: # Requires translation! -Disables: = +Disables: = 비활성화: Current construction = 현재 건설중 Construction queue = 건설 대기중 @@ -122,9 +122,9 @@ Research Agreement = 연구 협정 Declare war = 선전포고 Declare war on [civName]? = [civName]에 선전포고할까요? # Requires translation! -[civName] will also join them in the war = +[civName] will also join them in the war = [civName]이(가) 상대편으로 참전합니다. # Requires translation! -An unknown civilization will also join them in the war = +An unknown civilization will also join them in the war = 알 수 없는 문명이 상대편으로 참전합니다. This will cancel your defensive pact with [civName] = [civName]와(과)의 방위 협정이 취소됩니다. Go to on map = 해당 위치 Let's begin! = 여정을 시작합니다! @@ -540,11 +540,11 @@ Invalid overlay image = 유효한 이미지가 아님 World wrap is incompatible with an overlay and was deactivated. = 원통형 지도가 겹친 이미지와 맞지 않아 비활성화되었습니다. An overlay image is incompatible with world wrap and was deactivated. = 겹치려는 이미지가 원통형 지도와 맞지 않아 비활성화되었습니다. # Requires translation! -Choose a Wesnoth map file = +Choose a Wesnoth map file = 웨스노스 지도 파일을 선택하세요 # Requires translation! -That map is invalid! = +That map is invalid! = 유효하지 않은 지도입니다! # Requires translation! -("[code]" does not conform to TerrainCodesWML) = +("[code]" does not conform to TerrainCodesWML) = ("[code]"가 TerrainCodesWML을 따르지 않음) ## Map/Tool names My new map = 새 지도 @@ -563,7 +563,7 @@ Create ancient ruins = 고대 유적 생성 Floodfill = 채우기 [nation] starting location = [nation] 시작 지점 # Requires translation! -Any Civ = +Any Civ = 임의의 문명 Remove features = 추가지형 제거 Remove improvement = 시설 제거 Remove resource = 자원 제거 @@ -723,21 +723,21 @@ Display = 화면 ### Screen subgroup # Requires translation! -Screen = -Screen Mode = 창 모드 +Screen = 화면 +Screen Mode = 화면 모드 # Requires translation! -Windowed = -Fullscreen = 전체 화면 +Windowed = 창 모드 +Fullscreen = 전체 모드 # Requires translation! -Borderless = +Borderless = 테두리없음 Screen Size = 화면 크기 ### Enable panning the map when you move the mouse to the edge of the window # Requires translation! -Map mouse auto-scroll = +Map mouse auto-scroll = 마우스로 화면 이동 # Requires translation! -Map panning speed = +Map panning speed = 이동 속도 ### Graphics subgroup @@ -767,10 +767,10 @@ Reset = 초기화 Show zoom buttons in world screen = 세계 화면에서 확대/축소 버튼 보기 Experimental Demographics scoreboard = 인구통계학적 순위 보기 # Requires translation! -Never close popups by clicking outside = +Never close popups by clicking outside = 팝업창 바깥 터치 시 창을 닫지 않음 # Requires translation! -Size of Unitset art in Civilopedia = +Size of Unitset art in Civilopedia = 문명 백과사전의 유닛 도트 크기 ### Visual Hints subgroup @@ -6872,4 +6872,3 @@ In the Resources overview, click on a resource icon to center the world screen o Alternatively, click on the "Unimproved" number to center the world screen only on owned tiles where the resource is not improved. = # Requires translation! If more than one tile is available, click repeatedly on the notification to cycle through all of them. = - diff --git a/buildSrc/src/main/kotlin/BuildConfig.kt b/buildSrc/src/main/kotlin/BuildConfig.kt index bb3e2be171..024bf31be8 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.8.21" const val appName = "Unciv" - const val appCodeNumber = 950 - const val appVersion = "4.9.14" + const val appCodeNumber = 951 + const val appVersion = "4.9.15" const val gdxVersion = "1.12.1" const val ktorVersion = "2.2.3" diff --git a/changelog.md b/changelog.md index 7f5adb4920..3422c6be95 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,29 @@ +## 4.9.15 + +Fixed tests + +Added Tile Breakdown table, accessible by clicking on the stats in tile info table + +Solved rare pillage-related crash + +Most images are smoothed + +Construction icons are linearly interpolated, aka 'smoothed' + +game.png is no longer a special boy + +Console: Add "activate trigger" for civ! + +Console: Allow "-delimited strings + +'capture all capitals' victory accepts defeat of civs that did not found capitals + +Added console command to reveal entire map + +Map editor generation steps don't add multiple terrain features of the same type + +Worker remove feature far away from cities fix - By tuvus + ## 4.9.14 Fixed Scenario crashes diff --git a/core/src/com/unciv/UncivGame.kt b/core/src/com/unciv/UncivGame.kt index a3c8d5247d..1696c4f555 100644 --- a/core/src/com/unciv/UncivGame.kt +++ b/core/src/com/unciv/UncivGame.kt @@ -464,7 +464,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.9.14", 950) + val VERSION = Version("4.9.15", 951) //endregion lateinit var Current: UncivGame diff --git a/core/src/com/unciv/logic/map/mapgenerator/MapGenerator.kt b/core/src/com/unciv/logic/map/mapgenerator/MapGenerator.kt index 710b93a1fd..0588728a15 100644 --- a/core/src/com/unciv/logic/map/mapgenerator/MapGenerator.kt +++ b/core/src/com/unciv/logic/map/mapgenerator/MapGenerator.kt @@ -407,10 +407,29 @@ class MapGenerator(val ruleset: Ruleset, private val coroutineScope: CoroutineSc elevation = abs(elevation).pow(1.0 - tileMap.mapParameters.elevationExponent.toDouble()) * elevation.sign when { - elevation <= 0.5 -> tile.baseTerrain = flat - elevation <= 0.7 && hill != null -> tile.addTerrainFeature(hill) + elevation <= 0.5 -> { + tile.baseTerrain = flat + if (hill != null && tile.terrainFeatures.contains(hill)) { + tile.removeTerrainFeature(hill) + } + } + elevation <= 0.7 && hill != null -> { + tile.addTerrainFeature(hill) + tile.baseTerrain = flat + } elevation <= 0.7 && hill == null -> tile.baseTerrain = flat // otherwise would be hills become mountains - elevation <= 1.0 && mountain != null -> tile.baseTerrain = mountain + elevation > 0.7 && mountain != null -> { + tile.baseTerrain = mountain + if (hill != null && tile.terrainFeatures.contains(hill)) { + tile.removeTerrainFeature(hill) + } + } + else -> { + tile.baseTerrain = flat + if (hill != null && tile.terrainFeatures.contains(hill)) { + tile.removeTerrainFeature(hill) + } + } } tile.setTerrainTransients() } diff --git a/core/src/com/unciv/ui/screens/mapeditorscreen/tabs/MapEditorGenerateTab.kt b/core/src/com/unciv/ui/screens/mapeditorscreen/tabs/MapEditorGenerateTab.kt index 1b160bf21c..74bbe24c70 100644 --- a/core/src/com/unciv/ui/screens/mapeditorscreen/tabs/MapEditorGenerateTab.kt +++ b/core/src/com/unciv/ui/screens/mapeditorscreen/tabs/MapEditorGenerateTab.kt @@ -39,11 +39,6 @@ class MapEditorGenerateTab( private val newTab = MapEditorNewMapTab(this) private val partialTab = MapEditorGenerateStepsTab(this) - // Since we allow generation components to be run repeatedly, it might surprise the user that - // the outcome stays the same when repeated - due to them operating on the same seed. - // So we change the seed behind the scenes if already used for a certain step... - private val seedUsedForStep = mutableSetOf() - init { name = "Generate" top() @@ -66,14 +61,11 @@ class MapEditorGenerateTab( } private fun generate(step: MapGeneratorSteps) { - if (step == MapGeneratorSteps.All && newTab.mapParametersTable.randomizeSeed) { + if (newTab.mapParametersTable.randomizeSeed) { + // reseed visibly if the "Randomize seed" checkbox is checked newTab.mapParametersTable.reseed() } - if (step == MapGeneratorSteps.Landmass && step in seedUsedForStep) { - // reseed visibly when starting from scratch (new seed shows in advanced settings widget) - newTab.mapParametersTable.reseed() - seedUsedForStep -= step - } + val mapParameters = editorScreen.newMapParameters.clone() // this clone is very important here val message = mapParameters.mapSize.fixUndesiredSizes(mapParameters.worldWrap) if (message != null) { @@ -93,11 +85,6 @@ class MapEditorGenerateTab( return } - if (step in seedUsedForStep) { - mapParameters.reseed() - } else if (step != MapGeneratorSteps.All){ - seedUsedForStep += step - } Gdx.input.inputProcessor = null // remove input processing - nothing will be clicked! setButtonsEnabled(false) diff --git a/fastlane/metadata/android/en-US/changelogs/951.txt b/fastlane/metadata/android/en-US/changelogs/951.txt new file mode 100644 index 0000000000..c89e8e163a --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/951.txt @@ -0,0 +1,25 @@ + + +Fixed tests + +Added Tile Breakdown table, accessible by clicking on the stats in tile info table + +Solved rare pillage-related crash + +Most images are smoothed + +Construction icons are linearly interpolated, aka 'smoothed' + +game.png is no longer a special boy + +Console: Add "activate trigger" for civ! + +Console: Allow "-delimited strings + +'capture all capitals' victory accepts defeat of civs that did not found capitals + +Added console command to reveal entire map + +Map editor generation steps don't add multiple terrain features of the same type + +Worker remove feature far away from cities fix - By tuvus \ No newline at end of file