From 736d737abfab13a989d9a5d5cbd2be57f6201270 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 1 Oct 2023 10:12:46 +0300 Subject: [PATCH] Version rollout (#10202) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Bump version and create initial changelog entry * Update Spanish.properties (#10201) I'm not sure about using an '@' for indicating both grammatical genres. I mean, the current use is not wrong, but it bothers me that something's genres are feminine/masculine and the article used is the opposite. On the other side, I don't know if it looks clean, nice or professional to use these variants, not only the '@', but the '/a' as well. But it really calms my mind. * Add required Russian translations (#10200) * Update Bulgarian.properties (#10193) * Update Italian.properties (#10191) * Update Italian.properties * Update Italian.properties * Update German translation (#10189) * Update Brazilian_Portuguese.properties (#10188) * Update Polish.properties (#10186) * Update Polish.properties * Update Polish.properties * Update French.properties (#10185) * Update Simplified_Chinese.properties (#10184) 6365 rows. The value is wrong. "Units heal 10 health per turn in enemy territory or neutral land" should translate to "在异国领土和无主的领土上,每回合会恢复10点生命值" and not "在异国领土和无主的领土上,每回合会恢复15点生命值"。 --------- Co-authored-by: yairm210 Co-authored-by: Caballero Arepa <78449553+Caballero-Arepa@users.noreply.github.com> Co-authored-by: Nicolas Flamme Co-authored-by: Dob <100198047+dobval@users.noreply.github.com> Co-authored-by: Giuseppe D'Addio <41149920+Smashfanful@users.noreply.github.com> Co-authored-by: mape6 Co-authored-by: Vitor Gabriel <59321138+Ranbut@users.noreply.github.com> Co-authored-by: Lesiakower <125187776+Lesiakower@users.noreply.github.com> Co-authored-by: Ouaz Co-authored-by: liweishu <44702553+liweishu@users.noreply.github.com> --- .../Brazilian_Portuguese.properties | 12 +-- .../jsons/translations/Bulgarian.properties | 97 +++++++------------ .../jsons/translations/French.properties | 8 +- .../jsons/translations/German.properties | 15 +-- .../jsons/translations/Italian.properties | 16 ++- .../jsons/translations/Polish.properties | 10 +- .../jsons/translations/Russian.properties | 10 +- .../Simplified_Chinese.properties | 2 +- .../jsons/translations/Spanish.properties | 16 +-- buildSrc/src/main/kotlin/BuildConfig.kt | 4 +- changelog.md | 35 +++++++ core/src/com/unciv/UncivGame.kt | 2 +- .../metadata/android/en-US/changelogs/917.txt | 34 +++++++ 13 files changed, 143 insertions(+), 118 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/917.txt diff --git a/android/assets/jsons/translations/Brazilian_Portuguese.properties b/android/assets/jsons/translations/Brazilian_Portuguese.properties index caa5eaa8c7..d55ac81315 100644 --- a/android/assets/jsons/translations/Brazilian_Portuguese.properties +++ b/android/assets/jsons/translations/Brazilian_Portuguese.properties @@ -929,14 +929,10 @@ Your city [cityName] can bombard the enemy! = Sua cidade [cityName] pode bombard [amount] of your cities can bombard the enemy! = [amount] cidade(s) podem bombardear o inimgo! [amount] enemy units were spotted near our territory = [amount] unidades inimigas foram observadas perto de nosso território [amount] enemy units were spotted in our territory = [amount] unidades inimigas foram observadas em nosso território - # Requires translation! -A(n) [nukeType] from [civName] has exploded in our territory! = - # Requires translation! -A(n) [nukeType] has been detonated by [civName]! = - # Requires translation! -A(n) [nukeType] has been detonated by an unkown civilization! = - # Requires translation! -After an attempted attack by our [nukeType], [civName] has declared war on us! = +A(n) [nukeType] from [civName] has exploded in our territory! = Um(a) [nukeType] do(a) [civName] explodiu em nosso território! +A(n) [nukeType] has been detonated by [civName]! = Um(a) [nukeType] foi detonado por [civName]! +A(n) [nukeType] has been detonated by an unkown civilization! = Um(a) [nukeType] foi detonado por uma civilização desconhecida! +After an attempted attack by our [nukeType], [civName] has declared war on us! = Após uma tentativa de ataque do nosso(a) [nukeType], [civName] declarou guerra contra nós! After being hit by our [nukeType], [civName] has declared war on us! = Depois de serem atacados por nossa [nukeType], [civName] declarou guerra contra nós! The civilization of [civName] has been destroyed! = A civilização de [civName] foi destruida! The City-State of [name] has been destroyed! = A Cidade-estado do(a) [name] foi destruída! diff --git a/android/assets/jsons/translations/Bulgarian.properties b/android/assets/jsons/translations/Bulgarian.properties index 1a8efa2402..cf583a3452 100644 --- a/android/assets/jsons/translations/Bulgarian.properties +++ b/android/assets/jsons/translations/Bulgarian.properties @@ -366,8 +366,7 @@ Domination = Доминация Cultural = Културни Diplomatic = Дипломация Time = Време - # Requires translation! -Your previous options needed to be reset to defaults. = +Your previous options needed to be reset to defaults. = Предишните ви настройки трябваше да бъдат върнати по подразбиране # 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. @@ -375,11 +374,9 @@ Your previous options needed to be reset to defaults. = ? = Map Shape = Форма на Карта - # Requires translation! -Enabled Map Shapes = +Enabled Map Shapes = Включени Форми на Карта Hexagonal = Шестоъгълна - # Requires translation! -Flat Earth Hexagonal = +Flat Earth Hexagonal = Плоска Шестоъгълна Земя Rectangular = Правоъгълна Height = Височина Width = Ширина @@ -393,8 +390,7 @@ Sparse = Оскъдни Abundant = Изобилни Strategic Balance = Стратегически Баланс Legendary Start = Легендарен Старт - # Requires translation! -This is used for painting resources, not in map generator steps: = +This is used for painting resources, not in map generator steps: = Това се използва за рисуването на ресурси, не в стъпките за генериране на карта: Advanced Settings = Разширени Настройки # Requires translation! @@ -410,9 +406,8 @@ Biome areas extension = Разширяване на растителна пло Water level = Ниво на водата Online Multiplayer = Онлайн Мултиплейър - # 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. = -Open Documentation = Отворена Документация +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. = В момента използвате мултиплейър сървъра по подразбиране, който се базира на безплатен Dropbox акаунт. Понеже много хора използват това, не е ясно дали всъщност ще е възможно да получавате достъп постоянно. Помислете за +Open Documentation = Отворена Документацияличен сървър като опция вместо това. Don't show again = Не показвай отново World Size = Размер на Света @@ -455,24 +450,16 @@ Mods: = Модове: Extension mods = Допълнителни модове Base ruleset: = Базов набор от правила: # 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! = - # Requires translation! -The mod you selected is «RED»incorrectly defined!«» = - # Requires translation! -The mod combination you selected is incorrectly defined! = - # Requires translation! -The mod combination you selected is «RED»incorrectly defined!«» = +The mod you selected is incorrectly defined! = Модът, който избрахте, е неправилно дефиниран! +The mod you selected is «RED»incorrectly defined!«» = Модът, който избрахте, е «RED»неправилно дефиниран! +The mod combination you selected is incorrectly defined! = Комбинацията от модове, която избрахте, е неправилно дефинирана! +The mod combination you selected is «RED»incorrectly defined!«» = Комбинацията от модове, която избрахте, е «RED»неправилно дефинирана! The mod combination you selected has problems. = Комбинацията от модове, която сте избрали, има проблеми. You can play it, but don't expect everything to work! = Можете да играете, но не очаквайте всичко да работи! - # Requires translation! -The mod combination you selected «GOLD»has problems«». = - # Requires translation! -You can play it, but «GOLDENROD»don't expect everything to work!«» = - # Requires translation! -This base ruleset is not compatible with the previously selected\nextension mods. They have been disabled. = - # Requires translation! -Are you really sure you want to play with the following known problems? = +The mod combination you selected «GOLD»has problems«». = Комбинацията от модове, която сте избрали, «GOLD»има проблеми«». +You can play it, but «GOLDENROD»don't expect everything to work!«» = Можете да играете, но «GOLDENROD»не очаквайте всичко да работи!«» +This base ruleset is not compatible with the previously selected\nextension mods. They have been disabled. = Този базов набор от правила не е съвместим с предишните избрани\nдопълнителни модове. Те бяха изключени. +Are you really sure you want to play with the following known problems? = Сигурни ли сте, че искате да играете със следните проблеми? Base Ruleset = Базов Набор от Правила [amount] Techs = [amount] Технологии [amount] Nations = [amount] Нации @@ -512,22 +499,18 @@ Are you sure you want to delete this map? = Изтриване на картат It looks like your map can't be saved! = Изглежда, че твоята карта не може да бъде запазена! Exit map editor = Изход от редактора Change map ruleset = Промени наборът от правила на картата -Change the map to use the ruleset selected on this page = Промете картата, за да използвате наборът от правила на тази страница. - # Requires translation! -Revert to map ruleset = +Change the map to use the ruleset selected on this page = Променете картата, за да използвате наборът от правила на тази страница +Revert to map ruleset = Връщане на набора от правила за карта # Requires translation! Reset the controls to reflect the current map ruleset = - # Requires translation! -Features = +Features = Характеристики Starting locations = Начални локации # Requires translation! Tile Matching Criteria = Complete match = Пълно съвпадение Except improvements = С изключение на подобренията - # Requires translation! -Base and terrain features = - # Requires translation! -Base terrain only = +Base and terrain features = Базови и теренни характеристики +Base terrain only = Само базов терен Land or water only = Само земя или вода ## Labels/messages @@ -565,14 +548,10 @@ The incompatible elements have been removed. = Несъвместимите ел Current map: World Wrap = # Requires translation! Overlay image = - # Requires translation! -Click to choose a file = - # Requires translation! -Choose an image = - # Requires translation! -Overlay opacity: = - # Requires translation! -Invalid overlay image = +Click to choose a file = Натисни за да избереш файл +Choose an image = Избери изображение +Overlay opacity: = Непрозрачност на наслагването: +Invalid overlay image = Невалидно изображение за наслагване # Requires translation! World wrap is incompatible with an overlay and was deactivated. = # Requires translation! @@ -622,8 +601,7 @@ Username = Потребителско Име Multiplayer = Multiplayer Could not download game! = Изтеглянето не е възможно! Could not upload game! = Качването не е възможно! - # Requires translation! -Couldn't connect to Multiplayer Server! = +Couldn't connect to Multiplayer Server! = Неуспешно свързване към сървъра! Retry = Опитай пак Join game = Присъединяване Invalid game ID! = Невалидно ID! @@ -633,20 +611,14 @@ UserID copied to clipboard = UserID е копирано Game ID copied to clipboard! = GameID е копирано Friend name = Име на приятел Player ID = ID на играч - # Requires translation! -Please input a name for your friend! = - # Requires translation! -Please input a player ID for your friend! = - # Requires translation! -Are you sure you want to delete this friend? = +Please input a name for your friend! = Моля въведете име за Вашия приятел! +Please input a player ID for your friend! = Моля въведете ID на играч за Вашия приятел! +Are you sure you want to delete this friend? = Сигурни ли сте, че искате да изтриете този приятел? # Requires translation! Paste player ID from clipboard = - # Requires translation! -Player name already used! = - # Requires translation! -Player ID already used! = - # Requires translation! -Player ID is incorrect = +Player name already used! = Това име за играч вече е заето! +Player ID already used! = Това ID за играч вече е заето! +Player ID is incorrect = ID на играча е грешно Select friend = Изберете приятел # Requires translation! Select [thingToSelect] = @@ -7502,18 +7474,15 @@ Alhambra = Ceilidh Hall = - # Requires translation! -Leaning Tower of Pisa = - # Requires translation! -'Don't clap too hard - it's a very old building.' - John Osbourne = +Leaning Tower of Pisa = Наклонената Кула в Пиза +'Don't clap too hard - it's a very old building.' - John Osbourne = 'Не пляскай твърде силно - това е много стара сграда.' - Джон Озборн # Requires translation! Coffee House = - # Requires translation! -Neuschwanstein = +Neuschwanstein = Нойшванщайн # Requires translation! '...the location is one of the most beautiful to be found, holy and unapproachable, a worthy temple for the divine friend who has brought salvation and true blessing to the world.' - King Ludwig II of Bavaria = diff --git a/android/assets/jsons/translations/French.properties b/android/assets/jsons/translations/French.properties index 6a7a72eb15..e18e738c95 100644 --- a/android/assets/jsons/translations/French.properties +++ b/android/assets/jsons/translations/French.properties @@ -930,13 +930,13 @@ Your city [cityName] can bombard the enemy! = Votre ville [cityName] peut bombar [amount] enemy units were spotted near our territory = [amount] unités ennemies repérées près de notre territoire [amount] enemy units were spotted in our territory = [amount] unités ennemies repérées sur notre territoire # Requires translation! -A(n) [nukeType] from [civName] has exploded in our territory! = +A(n) [nukeType] from [civName] has exploded in our territory! = Un(e) [nukeType] de [civName] a explosé sur notre territoire ! # Requires translation! -A(n) [nukeType] has been detonated by [civName]! = +A(n) [nukeType] has been detonated by [civName]! = Un(e) [nukeType] a été utilisé(e) par [civName] ! # Requires translation! -A(n) [nukeType] has been detonated by an unkown civilization! = +A(n) [nukeType] has been detonated by an unkown civilization! = Un(e) [nukeType] a été utilisé(e) par une civilisation inconnue ! # Requires translation! -After an attempted attack by our [nukeType], [civName] has declared war on us! = +After an attempted attack by our [nukeType], [civName] has declared war on us! = Suite à notre tentative d'utiliser un(e) [nukeType], [civName] nous a déclaré la guerre ! After being hit by our [nukeType], [civName] has declared war on us! = Apres avoir été frappé par notre [nukeType], [civName] nous a déclaré la guerre ! The civilization of [civName] has been destroyed! = La civilisation [civName] a été détruite ! The City-State of [name] has been destroyed! = La Cité-État [name] a été détruite ! diff --git a/android/assets/jsons/translations/German.properties b/android/assets/jsons/translations/German.properties index 6b480401dc..c6eadf79c1 100644 --- a/android/assets/jsons/translations/German.properties +++ b/android/assets/jsons/translations/German.properties @@ -929,20 +929,15 @@ Your city [cityName] can bombard the enemy! = Deine Stadt [cityName] kann den Fe [amount] of your cities can bombard the enemy! = [amount] deiner Städte können den Feind bombardieren! [amount] enemy units were spotted near our territory = [amount] feindliche Einheiten wurden nahe unseres Territoriums entdeckt [amount] enemy units were spotted in our territory = [amount] feindliche Einheiten wurden in unserem Territorium entdeckt - # Requires translation! -A(n) [nukeType] from [civName] has exploded in our territory! = - # Requires translation! -A(n) [nukeType] has been detonated by [civName]! = - # Requires translation! -A(n) [nukeType] has been detonated by an unkown civilization! = - # Requires translation! -After an attempted attack by our [nukeType], [civName] has declared war on us! = +A(n) [nukeType] from [civName] has exploded in our territory! = Von [civName] explodierte eine [nukeType] in unserem Territorium! +A(n) [nukeType] has been detonated by [civName]! = Von [civName] detonierte eine [nukeType]. +A(n) [nukeType] has been detonated by an unkown civilization! = Von einer unbekannten Zivilistation detonierte eine [nukeType]. +After an attempted attack by our [nukeType], [civName] has declared war on us! = Nach einem Anschlagsversuch durch unsere [nukeType], hat uns [civName] den Krieg erklärt. After being hit by our [nukeType], [civName] has declared war on us! = Nach einem Treffer mit unserer [nukeType], hat [civName] uns den Krieg erklärt! The civilization of [civName] has been destroyed! = Die Zivilisation [civName] wurde besiegt! The City-State of [name] has been destroyed! = Der Stadtstaat von [name] wurde zerstört! Your [ourUnit] captured an enemy [theirUnit]! = Deine [ourUnit] Einheit hat die gegnerische [theirUnit] Einheit gefangen! - # Requires translation! -Your captured [unitName] has been returned by [civName] = +Your captured [unitName] has been returned by [civName] = Deine gefangene [unitName] Einheit wurde von [civName] zurückgebracht Your [ourUnit] plundered [amount] [Stat] from [theirUnit] = Deine [ourUnit] Einheit hat [amount] [Stat] von [theirUnit] Einheit geplündert We have captured a barbarian encampment and recovered [goldAmount] gold! = Wir haben ein Lager der Barbaren erobert und [goldAmount] Gold gefunden! An enemy [unitType] has joined us! = Eine feindliche [unitType] Einheit hat sich uns angeschlossen! diff --git a/android/assets/jsons/translations/Italian.properties b/android/assets/jsons/translations/Italian.properties index 77c0373eb9..9d11fcd513 100644 --- a/android/assets/jsons/translations/Italian.properties +++ b/android/assets/jsons/translations/Italian.properties @@ -929,15 +929,11 @@ Your city [cityName] can bombard the enemy! = [cityName] può bombardare il nemi [amount] of your cities can bombard the enemy! = [amount] tue città possono bombardare il nemico! [amount] enemy units were spotted near our territory = Abbiamo avvistato [amount] unità nemiche nei pressi dei nostri confini! [amount] enemy units were spotted in our territory = Abbiamo avvistato [amount] unità nemiche nel nostro territorio! - # Requires translation! -A(n) [nukeType] from [civName] has exploded in our territory! = - # Requires translation! -A(n) [nukeType] has been detonated by [civName]! = - # Requires translation! -A(n) [nukeType] has been detonated by an unkown civilization! = - # Requires translation! -After an attempted attack by our [nukeType], [civName] has declared war on us! = -After being hit by our [nukeType], [civName] has declared war on us! = A seguito di un colpo di [nukeType], [civName] ci ha dichiarato guerra! +A(n) [nukeType] from [civName] has exploded in our territory! = [civName] ha sganciato [nukeType] nel nostro territorio! +A(n) [nukeType] has been detonated by [civName]! = [civName] ha detonato [nukeType]! +A(n) [nukeType] has been detonated by an unkown civilization! = Una civiltà sconosciuta ha detonato [nukeType]! +After an attempted attack by our [nukeType], [civName] has declared war on us! = [civName] ha risposto al nostro tentativo d'attacco nucleare [nukeType] con una dichiarazione di guerra! +After being hit by our [nukeType], [civName] has declared war on us! = [civName] ha risposto al nostro attacco nucleare [nukeType] con una dichiarazione di guerra! The civilization of [civName] has been destroyed! = La civiltà [civName] è stata distrutta! The City-State of [name] has been destroyed! = La Città-Stato [name] è stata distrutta! Your [ourUnit] captured an enemy [theirUnit]! = [ourUnit] ha catturato l'unità nemica [theirUnit]! @@ -4320,7 +4316,7 @@ Contest Faith = Gara di Fede The civilization with the largest Faith growth will gain a reward. = Questa Città-stato è alla ricerca della Fede più potente e dei sacerdoti più influenti. La civiltà che accumulerà più Fede verrà ricompensata. Contest Technologies = Gara tecnologica -The civilization with the largest number of new Technologies researched will gain a reward. = Una Città-stato ha indetto una fiera tecnologica! La civiltà che scoprirà il maggior numero di tecnologie verrà ricompensata. +The civilization with the largest number of new Technologies researched will gain a reward. = La Città-stato ha indetto una fiera tecnologica! La civiltà che scoprirà il maggior numero di tecnologie verrà ricompensata. Invest = Investimento Our people are rejoicing thanks to a tourism boom. For a certain amount of time, any Gold donation will yield [50]% extra Influence. = Il nostro popolo gioisce a causa di un boom turistico. Per un certo lasso di tempo, le donazioni in Oro frutteranno il [50]% in più di Influenza. diff --git a/android/assets/jsons/translations/Polish.properties b/android/assets/jsons/translations/Polish.properties index 64a4b148ef..1a9fb39067 100644 --- a/android/assets/jsons/translations/Polish.properties +++ b/android/assets/jsons/translations/Polish.properties @@ -930,14 +930,14 @@ Your city [cityName] can bombard the enemy! = [cityName] może ostrzeliwać wrog [amount] enemy units were spotted near our territory = [amount] wrogie jednostki zauważono w pobliżu naszych granic! [amount] enemy units were spotted in our territory = [amount] wrogie jednostki zauważono na naszym terenie!! # Requires translation! -A(n) [nukeType] from [civName] has exploded in our territory! = +A(n) [nukeType] from [civName] has exploded in our territory! = [nukeType] cywilizacji [civName] eksplodował na naszym terytorium! # Requires translation! -A(n) [nukeType] has been detonated by [civName]! = +A(n) [nukeType] has been detonated by [civName]! = Cywilizacja [civName] zdetonowała [nukeType]! # Requires translation! -A(n) [nukeType] has been detonated by an unkown civilization! = +A(n) [nukeType] has been detonated by an unkown civilization! = Nieznana cywilizacja zdetonowała [nukeType]! # Requires translation! -After an attempted attack by our [nukeType], [civName] has declared war on us! = -After being hit by our [nukeType], [civName] has declared war on us! = [civName] wypowiada nam wojnę, po tym jak nasz pocisk [nukeType] uderzył w ich terytorium!! +After an attempted attack by our [nukeType], [civName] has declared war on us! = Cywilizacja [civName] wypowiada nam wojnę, po tym jak nasz pocisk [nukeType] wyrządził szkody na ich terytorium! +After being hit by our [nukeType], [civName] has declared war on us! = Cywilizacja [civName] wypowiada nam wojnę, po tym jak nasz pocisk [nukeType] uderzył w ich terytorium! The civilization of [civName] has been destroyed! = Cywilizacja [civName] została zniszczona!! The City-State of [name] has been destroyed! = Wolne Miasto [name] zostało zniszczone! Your [ourUnit] captured an enemy [theirUnit]! = Nasza jednostka [ourUnit] przejęła wrogą jednostkę [theirUnit]! diff --git a/android/assets/jsons/translations/Russian.properties b/android/assets/jsons/translations/Russian.properties index c706195f15..0cb265dc3d 100644 --- a/android/assets/jsons/translations/Russian.properties +++ b/android/assets/jsons/translations/Russian.properties @@ -930,19 +930,19 @@ Your city [cityName] can bombard the enemy! = Ваш город [cityName] мо [amount] enemy units were spotted near our territory = [amount] вражеских юнитов замечено рядом с нашей территорией! [amount] enemy units were spotted in our territory = [amount] вражеских юнитов замечено на нашей территории! # Requires translation! -A(n) [nukeType] from [civName] has exploded in our territory! = +A(n) [nukeType] from [civName] has exploded in our territory! = [nukeType] державы [civName] взорвалась на нашей территории! # Requires translation! -A(n) [nukeType] has been detonated by [civName]! = +A(n) [nukeType] has been detonated by [civName]! = [nukeType] была взорвана державой [civName]! # Requires translation! -A(n) [nukeType] has been detonated by an unkown civilization! = +A(n) [nukeType] has been detonated by an unkown civilization! = [nukeType] была взорвана неизвестной державой! # Requires translation! -After an attempted attack by our [nukeType], [civName] has declared war on us! = +After an attempted attack by our [nukeType], [civName] has declared war on us! = После нашей попытки нападения с помощью [nukeType], [civName] объявляет нам войну! After being hit by our [nukeType], [civName] has declared war on us! = После взрыва нашей [nukeType], [civName] объявляет нам войну! The civilization of [civName] has been destroyed! = Цивилизация [civName] была уничтожена! The City-State of [name] has been destroyed! = Город-государство [name] был уничтожен! Your [ourUnit] captured an enemy [theirUnit]! = Наш [ourUnit] захватил вражеского юнита [theirUnit]! # Requires translation! -Your captured [unitName] has been returned by [civName] = +Your captured [unitName] has been returned by [civName] = Захваченный у нас [unitName] был возвращён нам державой [civName] Your [ourUnit] plundered [amount] [Stat] from [theirUnit] = Наш [ourUnit] украл [amount] [Stat] у юнита [theirUnit] We have captured a barbarian encampment and recovered [goldAmount] gold! = Мы разгромили лагерь варваров и нашли в нем золото: [goldAmount]! An enemy [unitType] has joined us! = Вражеский юнит [unitType] присоединяется к нам! diff --git a/android/assets/jsons/translations/Simplified_Chinese.properties b/android/assets/jsons/translations/Simplified_Chinese.properties index 9ea1a2274d..70cc49ef5d 100644 --- a/android/assets/jsons/translations/Simplified_Chinese.properties +++ b/android/assets/jsons/translations/Simplified_Chinese.properties @@ -6362,7 +6362,7 @@ You have encountered another civilization!\nOther civilizations start out peacef Once you have completed the Apollo Program, you can start constructing spaceship parts in your cities\n (with the relevant technologies) to win a Scientific Victory! = 当您完成了阿波罗计划,可以开始在您的城市中建造飞船部件(需要相应科技),\n来通过太空竞赛赢得科技胜利! Injured Units = 受伤单位 -Injured units deal less damage, but recover after turns that they have been inactive.\nUnits heal 10 health per turn in enemy territory or neutral land,\n 20 inside your territory and 25 in your cities. = 报告大人,您的单位受伤了!\n受伤的单位会对敌方造成更少的伤害!您可能会好奇,怎么能治疗他们呢?其实很简单,您只需要在他们不受攻击的情况下原地待命,他们中的医疗兵就会开始工作了!\n在异国领土和无主的领土上,每回合会恢复15点生命值;在己方领土上,会恢复20点;在本方城市中,会恢复25点。 +Injured units deal less damage, but recover after turns that they have been inactive.\nUnits heal 10 health per turn in enemy territory or neutral land,\n 20 inside your territory and 25 in your cities. = 报告大人,您的单位受伤了!\n受伤的单位会对敌方造成更少的伤害!您可能会好奇,怎么能治疗他们呢?其实很简单,您只需要在他们不受攻击的情况下原地待命,他们中的医疗兵就会开始工作了!\n在异国领土和无主的领土上,每回合会恢复10点生命值;在己方领土上,会恢复20点;在本方城市中,会恢复25点。 Workers = 工人 Workers are vital to your cities' growth, since only they can construct improvements on tiles.\nImprovements raise the yield of your tiles, allowing your city to produce more and grow faster while working the same amount of tiles! = 工人对您所在城市的发展至关重要,因为只有他们才能在地块上建造设施。\n设施可以提高地块的产出,\n当市民在建有设施的地块工作时,将给您的城市带来更多的收益,同时城市也会发展得更快。 diff --git a/android/assets/jsons/translations/Spanish.properties b/android/assets/jsons/translations/Spanish.properties index 0812e36c23..3062da1773 100644 --- a/android/assets/jsons/translations/Spanish.properties +++ b/android/assets/jsons/translations/Spanish.properties @@ -930,21 +930,21 @@ Your city [cityName] can bombard the enemy! = ¡Tu ciudad de [cityName] puede bo [amount] enemy units were spotted near our territory = Se han avistado [amount] unidades enemigas cerca de nuestro territorio [amount] enemy units were spotted in our territory = Se han avistado [amount] unidades enemigas en nuestro territorio # Requires translation! -A(n) [nukeType] from [civName] has exploded in our territory! = +A(n) [nukeType] from [civName] has exploded in our territory! = ¡¡Un/a [nukeType] de [civName] ha explotado en nuestro territorio!! # Requires translation! -A(n) [nukeType] has been detonated by [civName]! = +A(n) [nukeType] has been detonated by [civName]! = ¡Un/a [nukeType] han sido detonadas por [civName]! # Requires translation! -A(n) [nukeType] has been detonated by an unkown civilization! = +A(n) [nukeType] has been detonated by an unkown civilization! = ¡Un/a [nukeType] han sido detonadas por una civilización desconocida! # Requires translation! -After an attempted attack by our [nukeType], [civName] has declared war on us! = -After being hit by our [nukeType], [civName] has declared war on us! = Tras ser impactados por nuestra [nukeType], ¡[civName] nos ha declarado la guerra! +After an attempted attack by our [nukeType], [civName] has declared war on us! = Luego de nuestro ataque con nuestr@ [nukeType], ¡[civName] nos ha declarado la guerra! +After being hit by our [nukeType], [civName] has declared war on us! = Tras ser impactados por nuestr@ [nukeType], ¡[civName] nos ha declarado la guerra! The civilization of [civName] has been destroyed! = ¡La civilización de [civName] ha sido destruida! The City-State of [name] has been destroyed! = ¡La Ciudad-Estado de [name] ha sido destruida! -Your [ourUnit] captured an enemy [theirUnit]! = ¡Tu [ourUnit] capturó un [theirUnit] enemigo! -Your captured [unitName] has been returned by [civName] = Tu [unitName] capturado ha sido rescatado por [civName] +Your [ourUnit] captured an enemy [theirUnit]! = ¡Tu [ourUnit] capturó un/a [theirUnit] enemig@! +Your captured [unitName] has been returned by [civName] = Tu [unitName] capturado ha sido rescatad@ por [civName] Your [ourUnit] plundered [amount] [Stat] from [theirUnit] = Tu [ourUnit] saqueó [amount] [Stat] de [theirUnit] We have captured a barbarian encampment and recovered [goldAmount] gold! = ¡Hemos capturado un campamento bárbaro y recuperamos [goldAmount] de oro! -An enemy [unitType] has joined us! = ¡Un [unitType] enemigo ha cambiado de bando! +An enemy [unitType] has joined us! = ¡Un/a [unitType] enemig@ ha cambiado de bando! [unitName] can be promoted! = ¡Asenso disponible para [unitName]! # This might be needed for a rewrite of Germany's unique - see #7376 diff --git a/buildSrc/src/main/kotlin/BuildConfig.kt b/buildSrc/src/main/kotlin/BuildConfig.kt index 617a23eb3a..598ba17a80 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 = 916 - const val appVersion = "4.8.8" + const val appCodeNumber = 917 + const val appVersion = "4.8.9" const val gdxVersion = "1.11.0" const val ktorVersion = "2.2.3" diff --git a/changelog.md b/changelog.md index a60b317cd2..a6755bc645 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,38 @@ +## 4.8.9 + +Get rid of old religion style actions!!! + + - Can still spectate AI-only matches in singleplayer + +resolved - New online multiplayer no longer stuck when first player is human spectator + +modding: Mod checker displays *all* unknown uniques + +Unify 'get usable unit action uniques' to function + +refactor: introduced UnitActions.invokeUnitAction() to unify automation logic for unit actions + +reorg: Separated UnitActions into 3 files: + +"if it hasn't used other actions yet" conditional works with new limited unit actions ("<[amount] times>") - paves the way for real deprecation of religion action shenanigans + +AI 'found religion' takes the action from the list of unit actions, so player and AI ability to act are always the same + +isTriggerable fixed to reinclude timed uniques + +refactor: unified 'is triggerable' logic + +chore: Move files to correct folders + +By SomeTroglodyte: +- Pedia pixel units +- Fix top bar layout +- City overview restore fixed header + +Apply conditionals for free buildings to the destination city instead of the originating city - By SeventhM + +Test city conquest functions - By Framonti + ## 4.8.8 performance: diff --git a/core/src/com/unciv/UncivGame.kt b/core/src/com/unciv/UncivGame.kt index fde4c61e8b..fc1b262212 100644 --- a/core/src/com/unciv/UncivGame.kt +++ b/core/src/com/unciv/UncivGame.kt @@ -536,7 +536,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.8.8", 916) + val VERSION = Version("4.8.9", 917) //endregion lateinit var Current: UncivGame diff --git a/fastlane/metadata/android/en-US/changelogs/917.txt b/fastlane/metadata/android/en-US/changelogs/917.txt new file mode 100644 index 0000000000..4f189f87a0 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/917.txt @@ -0,0 +1,34 @@ + + +Get rid of old religion style actions!!! + + - Can still spectate AI-only matches in singleplayer + +resolved - New online multiplayer no longer stuck when first player is human spectator + +modding: Mod checker displays *all* unknown uniques + +Unify 'get usable unit action uniques' to function + +refactor: introduced UnitActions.invokeUnitAction() to unify automation logic for unit actions + +reorg: Separated UnitActions into 3 files: + +"if it hasn't used other actions yet" conditional works with new limited unit actions ("<[amount] times>") - paves the way for real deprecation of religion action shenanigans + +AI 'found religion' takes the action from the list of unit actions, so player and AI ability to act are always the same + +isTriggerable fixed to reinclude timed uniques + +refactor: unified 'is triggerable' logic + +chore: Move files to correct folders + +By SomeTroglodyte: +- Pedia pixel units +- Fix top bar layout +- City overview restore fixed header + +Apply conditionals for free buildings to the destination city instead of the originating city - By SeventhM + +Test city conquest functions - By Framonti \ No newline at end of file