From d87e5151a12f3339287f53e952192d1bd502c1b8 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Fri, 22 Aug 2025 13:14:42 +0300 Subject: [PATCH] Version rollout (#13847) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Bump version and create initial changelog entry * Update Brazilian_Portuguese.properties (#13842) * Update French.properties (#13839) * Update Indonesian.properties (#13835) * Update Indonesian.properties * Update Indonesian.properties * Update Italian.properties (#13834) * Update Spanish.properties (#13833) * probably-final-vietnamese-hotfix (#13817) * Update Vietnamese.properties ALARM!!! - I just realized something problematic: the translation for prophet is supposed to be " nhà tiên tri " and not " nhà truyền giáo " ( I was kind of silly at the time and did not see this before. Besides, the translation also kind of similar to that of the missionary. ) so I guess I have to **fixed** it, then. * Update Vietnamese.properties * Update Vietnamese.properties * Update Vietnamese.properties seems good enough. * Update Vietnamese.properties * Update Vietnamese.properties * Update completionPercentages.properties * Update Vietnamese.properties * was that an internal error...? --------- Co-authored-by: yairm210 Co-authored-by: Vitor Gabriel Co-authored-by: Ouaz Co-authored-by: X2003 <158255876+Xenia2003@users.noreply.github.com> 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: theperfectoast --- .../Brazilian_Portuguese.properties | 6 +- .../jsons/translations/French.properties | 4 +- .../jsons/translations/Indonesian.properties | 44 +- .../jsons/translations/Italian.properties | 6 +- .../jsons/translations/Spanish.properties | 18 +- .../jsons/translations/Vietnamese.properties | 376 +++++++++--------- .../completionPercentages.properties | 2 +- buildSrc/src/main/kotlin/BuildConfig.kt | 4 +- changelog.md | 28 ++ core/src/com/unciv/UncivGame.kt | 2 +- .../android/en-US/changelogs/1157.txt | 27 ++ 11 files changed, 281 insertions(+), 236 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/1157.txt diff --git a/android/assets/jsons/translations/Brazilian_Portuguese.properties b/android/assets/jsons/translations/Brazilian_Portuguese.properties index 64fecbe61a..1b1407fda7 100644 --- a/android/assets/jsons/translations/Brazilian_Portuguese.properties +++ b/android/assets/jsons/translations/Brazilian_Portuguese.properties @@ -379,8 +379,7 @@ Custom = Customizado Map Generation Type = Tipo de geração de mapa Enabled Map Generation Types = Tipos de geração de mapas ativados Example map = Mapa de demonstração - # Requires translation! -Scenario file [name] is invalid. = +Scenario file [name] is invalid. = O arquivo de cenário [name] é inválido. # Map types Default = Padrão @@ -1552,8 +1551,7 @@ Add all [comment] in capital = Adicionar todos os [comment] em capital Destroy all players = Destrua todos os jogadores Capture all capitals = Capture todas as capitais Complete [amount] Policy branches = Conclua [amount] ramificações políticas. - # Requires translation! -Have more [countable1] than each player's [countable2] = +Have more [countable1] than each player's [countable2] = Tenha mais [countable1] do que [countable2] de cada jogador You have won a [victoryType] Victory! = Você venceu com uma vitória [victoryType]! [civilization] has won a [victoryType] Victory! = [civilization] venceu com uma vitória [victoryType]! Your civilization stands above all others! The exploits of your people shall be remembered until the end of civilization itself! = Sua civilização está acima de todas as outras! As façanhas de seus cidadãos serão lembradas até o final da própria civilização! diff --git a/android/assets/jsons/translations/French.properties b/android/assets/jsons/translations/French.properties index 3e6fad5616..e5e6b8cdef 100644 --- a/android/assets/jsons/translations/French.properties +++ b/android/assets/jsons/translations/French.properties @@ -380,7 +380,7 @@ Map Generation Type = Type de carte générée Enabled Map Generation Types = Types autorisés de carte générée Example map = Exemple de carte # Requires translation! -Scenario file [name] is invalid. = +Scenario file [name] is invalid. = Le fichier scénario [name] n'est pas valide. # Map types Default = Défaut @@ -1553,7 +1553,7 @@ Destroy all players = Éliminer tous les joueurs Capture all capitals = Conquérir toutes les capitales Complete [amount] Policy branches = Compléter [amount] branches de doctrines # Requires translation! -Have more [countable1] than each player's [countable2] = +Have more [countable1] than each player's [countable2] = Avoir plus de [countable1] que la [countable2] de chaque joueur You have won a [victoryType] Victory! = Vous avez remporté une Victoire [victoryType] ! [civilization] has won a [victoryType] Victory! = [civilization] a remporté une Victoire [victoryType] ! Your civilization stands above all others! The exploits of your people shall be remembered until the end of civilization itself! = Votre civilisation trône au-dessus de toutes les autres! Les exploits de votre peuple seront dans toutes les mémoires jusqu’à la fin de la civilisation elle-même ! diff --git a/android/assets/jsons/translations/Indonesian.properties b/android/assets/jsons/translations/Indonesian.properties index bd96ceb01d..a6509be747 100644 --- a/android/assets/jsons/translations/Indonesian.properties +++ b/android/assets/jsons/translations/Indonesian.properties @@ -119,8 +119,8 @@ Statuses = Status Requires at least one of the following: = Memerlukan setidaknya salah satu dari hal-hal berikut ini: Requires all of the following: = Memerlukan semua hal berikut ini: -Leads to [techName] = Menuju ke [techName] -Leads to: = Menuju ke: +Leads to [techName] = Membuka [techName] +Leads to: = Membuka: Enables: = Menyalakan: Disables: = Mematikan: @@ -380,7 +380,7 @@ Map Generation Type = Jenis Pembuatan Peta Enabled Map Generation Types = Jenis Pembuatan Peta yang Diaktifkan Example map = Peta contoh # Requires translation! -Scenario file [name] is invalid. = +Scenario file [name] is invalid. = Berkas Skenario [name] tidak sah. # Map types Default = Bawaan @@ -1553,7 +1553,7 @@ Destroy all players = Binasakan semua pemain Capture all capitals = Rebut semua ibu kota Complete [amount] Policy branches = Lengkapi [amount] cabang Kebijakan # Requires translation! -Have more [countable1] than each player's [countable2] = +Have more [countable1] than each player's [countable2] = Miliki lebih banyak [countable1] dari [countable2] tiap pemain You have won a [victoryType] Victory! = Kamu telah memenangkan Kemenangan [victoryType]! [civilization] has won a [victoryType] Victory! = [civilization] telah memenangkan Kemenangan [victoryType]! Your civilization stands above all others! The exploits of your people shall be remembered until the end of civilization itself! = Peradabanmu berdiri melampaui semua peradaban lainnya! Usaha rakyatmu akan dikenang hingga berakhirnya peradaban ini! @@ -2742,7 +2742,7 @@ Great = Besar ######### resourceFilter ########### -any = apa pun +any = apa saja ######### beliefType ########### @@ -3317,9 +3317,9 @@ Ingenuity = Kecerdasan May the gods bless you, great Nebuchadnezzar, ruler of ancient Babylon! Built 5000 years ago, Babylon emerged as an empire in 1800 BC, thanks to godlike Hammurabi, The Giver of Law. Falling under the Kassites assaults then the Assyrian domination, Babylon was reborn from its ashes, gaining back its independance, and became the beacon for Arts and Learning in the ancient world. O Nebuchadnezzar, after your death, Babylon quickly fell, conquered by the mighty Persians, and then by the Greeks, until the great city disappeared forever in 141 BC. = Semoga dewa-dewa memberkatimu, Nebukadnezar yang agung, penguasa Babilonia kuno! Dibangun 5000 tahun yang lalu, Babilonia tumbuh menjadi sebuah kekaisaran pada 1800 SM, berkat Hammurabi yang seperti dewa, Sang Pemberi Hukum! Runtuh dalam serangan bangsa Kass lalu didominasi bangsa Asyur, Babilonia lahir kembali dari abu, mendapatkan kemerdekaannya, dan menjadi rambu suar untuk Seni dan Pendidikan di dunia kuno. Wahai Nebukadnezar, setelah kematianmu, Babilonia runtuh, dikuasai oleh bangsa Persia yang perkasa, dan lalu Yunani, hingga kota besar tersebut hilang untuk selamanya pada 141 SM. Great Nebuchadnezzar, Babylon's glory still lives through you and your people. Will you create a spark to enlighten the world again? Will your new empire shine through the ages of history? = Nebukadnezar yang agung, kejayaan Babilonia masih hidup melalui dirimu dan rakyatmu. Akankah engkau membuat cahaya untuk menerangi dunia lagi? Akankah kekaisaran barumu bersinar sepanjang zaman sejarah? Babylon = Babilonia -Akkad = Akkad +Akkad = Akad Dur-Kurigalzu = Dur-Kurigalzu -Nippur = Nippur +Nippur = Nibru Borsippa = Borsippa Sippar = Sippar Opis = Opis @@ -3331,7 +3331,7 @@ Erech = Erech Kutha = Kutha Sirpurla = Sirpurla Neribtum = Neribtum -Ashur = Asyur +Ashur = Assur Ninveh = Niniwe Nimrud = Nimrud Arbela = Arbela @@ -3374,16 +3374,16 @@ Sparta = Sparta Corinth = Korintus Argos = Argos Knossos = Knossos -Mycenae = Mykenai +Mycenae = Mikenai Pharsalos = Pharsalos Ephesus = Efesus Halicarnassus = Halikarnassos Rhodes = Rodos -Eretria = Eritrea -Pergamon = Pergamum -Miletos = Miletus +Eretria = Eretria +Pergamon = Pergamus +Miletos = Miletos Megara = Megara -Phocaea = Phokaia +Phocaea = Fokaia Sicyon = Sikyon Tiryns = Tiryns Samos = Samos @@ -3394,7 +3394,7 @@ Elis = Elis Syracuse = Sirakusa Herakleia = Herakleia Gortyn = Gortyn -Chalkis = Chalkis +Chalkis = Khalkis Pylos = Pylos Pella = Pella Naxos = Naxos @@ -3408,7 +3408,7 @@ Knidos = Knidos Amphipolis = Amfipolis Patras = Patras Lamia = Lamia -Nafplion = Nafplion +Nafplion = Nafplio Apolyton = Apolyton Greece = Yunani @@ -3482,7 +3482,7 @@ Memphis = Memfis Heliopolis = Heliopolis Elephantine = Elefantin Alexandria = Aleksandria -Pi-Ramesses = Pi-Ramses +Pi-Ramesses = Pi-Ramesses Giza = Giza Byblos = Byblos Akhetaten = Akhetaten @@ -3646,7 +3646,7 @@ Moscow = Moskow St. Petersburg = St. Petersburg Novgorod = Novgorod Rostov = Rostov -Yaroslavl = Yaroslav +Yaroslavl = Yaroslavl Yekaterinburg = Yekaterinburg Yakutsk = Yakutsk Vladivostok = Vladivostok @@ -6547,11 +6547,11 @@ Ohrid = Ohrid Nicomedia = Nikomedia Trebizond = Trebizond Cherson = Cherson -Sardica = Serdika +Sardica = Sardica Ani = Ani -Dyrrachium = Dyrrakium +Dyrrachium = Dyrrhachium Edessa = Edessa -Chalcedon = Chalkedon +Chalcedon = Kalsedon Naissus = Naissus Bari = Bari Iconium = Ikonium @@ -6562,10 +6562,10 @@ Theodosiopolis = Theodosiopolis Tyana = Tyana Gaza = Gaza Kerkyra = Kerkyra -Phoenice = Fenike +Phoenice = Foinike Selymbria = Selymbria Sillyon = Sillyon -Chrysopolis = Cherysopolis +Chrysopolis = Krisopolis Vodena = Vodena Traianoupoli = Traianoupoli Constantia = Konstantia diff --git a/android/assets/jsons/translations/Italian.properties b/android/assets/jsons/translations/Italian.properties index e60ca9f3c0..4d0a9d91a0 100644 --- a/android/assets/jsons/translations/Italian.properties +++ b/android/assets/jsons/translations/Italian.properties @@ -385,8 +385,7 @@ Custom = Personalizzata Map Generation Type = Tipo generazione mappa Enabled Map Generation Types = Tipi generazione mappa abilitati Example map = Mappa esempio - # Requires translation! -Scenario file [name] is invalid. = +Scenario file [name] is invalid. = Il file scenario [name] non è corretto. # Map types Default = Default @@ -1558,8 +1557,7 @@ Add all [comment] in capital = Porta tutte le [comment] nella capitale Destroy all players = Distruggi tutti i giocatori avversari Capture all capitals = Conquista tutte le capitali Complete [amount] Policy branches = Completa [amount] rami delle politiche sociali - # Requires translation! -Have more [countable1] than each player's [countable2] = +Have more [countable1] than each player's [countable2] = Possiedi più cultura [countable1] rispetto a [countable2] di ogni giocatore You have won a [victoryType] Victory! = Hai ottenuto una vittoria [victoryType]! [civilization] has won a [victoryType] Victory! = La civiltà [civilization] ha ottenuto una vittoria [victoryType]! Your civilization stands above all others! The exploits of your people shall be remembered until the end of civilization itself! = Dopo secoli di evoluzione della storia dell'umanità, la tua nazione si erge sopra tutte le altre! Le imprese del tuo popolo saranno ricordate fino alla fine della civiltà stessa! diff --git a/android/assets/jsons/translations/Spanish.properties b/android/assets/jsons/translations/Spanish.properties index 6394c4b762..ff0b402413 100644 --- a/android/assets/jsons/translations/Spanish.properties +++ b/android/assets/jsons/translations/Spanish.properties @@ -379,8 +379,7 @@ Custom = Personalizado Map Generation Type = Tipo Enabled Map Generation Types = Tipos Example map = Mapa de ejemplo - # Requires translation! -Scenario file [name] is invalid. = +Scenario file [name] is invalid. = El archivo de escenario [name] no es válido. # Map types Default = Estándar @@ -1552,8 +1551,7 @@ Add all [comment] in capital = Coloca todas las [comment] en la capital Destroy all players = Destruye a todos los jugadores Capture all capitals = Captura todas las capitales Complete [amount] Policy branches = Completa [amount] ramas Políticas - # Requires translation! -Have more [countable1] than each player's [countable2] = +Have more [countable1] than each player's [countable2] = Tener más [countable1] que el [countable2] de cada jugador You have won a [victoryType] Victory! = ¡Has ganado una Victoria [victoryType]! [civilization] has won a [victoryType] Victory! = ¡[civilization] ha ganado una Victoria [victoryType]! Your civilization stands above all others! The exploits of your people shall be remembered until the end of civilization itself! = ¡Tu civilización se alza sobre todas las demás! ¡Las hazañas de tu gente serán recordadas hasta el fin de la propia humanidad! @@ -2540,12 +2538,9 @@ upon discovering [techFilter] technology = al descubrir la tecnología [techFilt upon entering the [era] = cuando se entre en la [era] upon entering a new era = al entrar en una nueva era upon adopting [policy/belief] = cuando se adopta [policy/belief] - # Requires translation! -upon declaring war on [civFilter] Civilizations = - # Requires translation! -upon being declared war on by [civFilter] Civilizations = - # Requires translation! -upon entering a war with [civFilter] Civilizations = +upon declaring war on [civFilter] Civilizations = al declarar la guerra a las civilizaciones [civFilter] +upon being declared war on by [civFilter] Civilizations = al ser declarada la guerra por [civFilter] Civilizaciones +upon entering a war with [civFilter] Civilizations = al entrar en una guerra con [civFilter] Civilizaciones upon declaring friendship = cuando se declara amistad upon declaring a defensive pact = al declarar un pacto defensivo upon entering a Golden Age = cuando se entra en una Edad Dorada @@ -2826,8 +2821,7 @@ MetaModifier = Modificador Meta #################### Lines from Countables ####################### year = Año - # Requires translation! -[stat] Per Turn = +[stat] Per Turn = [stat] por turno Completed Policy branches = Ramas politicas completadas [cityFilter] Cities = [cityFilter] Ciudades Adopted [policyFilter] Policies = Políticas adoptadas [policyFilter] diff --git a/android/assets/jsons/translations/Vietnamese.properties b/android/assets/jsons/translations/Vietnamese.properties index 382787d098..66e7dc44ef 100644 --- a/android/assets/jsons/translations/Vietnamese.properties +++ b/android/assets/jsons/translations/Vietnamese.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 = diacritics_support # Requires translation! -unicode_block_start_character = +unicode_block_start_character = unicode_block_start_character # Requires translation! -unicode_block_end_character = +unicode_block_end_character = unicode_block_end_character # Requires translation! -left_joining_diacritics = +left_joining_diacritics = left_joining_diacritics # Requires translation! -right_joining_diacritics = +right_joining_diacritics = right_joining_diacritics # Requires translation! -left_and_right_joiners = +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. @@ -92,10 +92,10 @@ Hydro Plant = Nhà máy Thủy điện # City naming when list exhausted New [cityName] = Tân [cityName] -Neo [cityName] = [cityName] mới -Nova [cityName] = [cityName] Tân tinh -Altera [cityName] = [cityName] Đổi mới -New [civName]\n(formerly known as [cityName]) = [civName] mới\n(trước đây được biết đến với tên [cityName]) +Neo [cityName] = [cityName] Mới +Nova [cityName] = [cityName] Tân Tinh +Altera [cityName] = [cityName] Đổi Mới +New [civName]\n(formerly known as [cityName]) = [civName] Mới\n(trước đây được biết đến với tên [cityName]) # Diplomacy,Trade,Nations @@ -163,7 +163,7 @@ Sounds good! = Nghe hay đấy! Not this time. = Không phải lần này. Excellent! = Tuyệt vời. How about something else... = Hay một thứ gì đó khác... -A pleasure to meet you. = Vinh hạnh khi gặp bạn +A pleasure to meet you. = Vinh hạnh khi gặp bạn. Our relationship = Quan hệ của chúng ta We have encountered the City-State of [name]! = Chúng ta đã gặp Thành bang [name]! Declare Friendship ([numberOfTurns] turns) = Tuyên bố Tình hữu nghị ([numberOfTurns] lượt) @@ -239,9 +239,9 @@ Give a Gift = Tặng quà Gift [giftAmount] gold (+[influenceAmount] influence) = Tặng [giftAmount] vàng (+[influenceAmount] Danh tiếng) Relationship changes in another [turnsToRelationshipChange] turns = Mối quan hệ sẽ thay đổi trong [turnsToRelationshipChange] lượt Protected by = Được bảo vệ bởi -Revoke Protection = Thu hồi bảo vệ +Revoke Protection = Thu hồi Bảo vệ Revoke protection for [cityStateName]? = Thu hồi Cam kết Bảo vệ cho [cityStateName]? -Pledge to protect = Cam kết bảo vệ +Pledge to protect = Cam kết bảo vệ Thành bang Declare Protection of [cityStateName]? = Khai báo Cam kết Bảo vệ của [cityStateName]? Build [improvementName] on [resourceName] (200 Gold) = Xây dựng [improvementName] trên [resourceName] (200 Vàng) Gift Improvement = Cải tiến Quà tặng @@ -249,7 +249,7 @@ Gift Improvement = Cải tiến Quà tặng is = là are = là -Diplomatic Marriage ([amount] Gold) = Hôn nhân ngoại giao ([amount] Vàng) +Diplomatic Marriage ([amount] Gold) = Hôn nhân Ngoại giao ([amount] Vàng) We have married into the ruling family of [civName], bringing them under our control. = Chúng ta đã kết hôn với gia đình thống trị của [civName], đặt họ dưới sự kiểm soát của chúng ta. [civName] has married into the ruling family of [civName2], bringing them under their control. = [civName] đã kết hôn với gia đình thống trị của [civName2], đặt gia đình đó dưới sự kiểm soát của họ. You have broken your Pledge to Protect [civName]! = Bạn đã huỷ Cam kết Bảo vệ [civName] của mình! @@ -257,7 +257,7 @@ City-States grow wary of your aggression. The resting point for Influence has de [cityState] is being attacked by [civName] and asks all major civilizations to help them out by gifting them military units. = [cityState] đang bị tấn công bởi [civName] và yêu cầu tất cả các nền văn minh lớn giúp họ bằng cách tặng cho họ các đơn vị quân đội. [cityState] is being invaded by Barbarians! Destroy Barbarians near their territory to earn Influence. = [cityState] đang bị xâm lược bởi Người Man rợ! Tiêu diệt Người Man rợ gần lãnh thổ của họ để kiếm điểm Ảnh hưởng. -[cityState] is grateful that you killed a Barbarian that was threatening them! = [cityState] rất biết ơn vì bạn đã tiêu diệt Người Units). After issuing an order to an unit, if 'Auto Unit Cycle' in Options -> Gameplay is enabled, you will automatically select the next idle unit. = Nhấn vào 'Đơn vị tiếp theo' để di chuyển đơn vị hiện đang không hoạt động (như đã đề cập tại Tổng quan -> Đơn vị). Sau khi đưa ra chỉ thị cho đơn vị, thì nếu như 'Tự động hoá Đơn vị' được mở trong phần Lựa chọn, bạn sẽ được tự động lựa chọn đơn vị rảnh rỗi tiếp theo. If you don't want to move a unit this turn, you can skip it by clicking 'Next unit' again, or command the unit to 'Skip turn'. = Nếu bạn không muốn di chuyển một đơn vị trong lượt này, thì bạn hoàn toàn có thể bỏ qua bằng cách nhấn 'Đơn vị tiếp theo', hoặc chỉ định đơn vị đó 'Bỏ lượt'. If you want to disable the 'Next unit' feature entirely, you can toggle it in Options -> Gameplay -> Check for idle units. = Nếu bạn muốn bỏ đi tính năng 'Đơn vị tiếp theo', thì bạn có thể tắt nó ở Lựa chọn -> Cách chơi -> Kiểm tra đơn vị nhàn rỗi. If you'd rather 'Next unit' cycle the units and not mark them as Done, you can change it in the Options -> Gameplay menu. = Nếu bạn muốn 'Đơn vị tiếp theo' để chuyển sang một đơn vị khác và không đánh dấu chúng như Đã xong, thì bạn cũng có thể thay đổi ở mục Lựa chọn -> Cách chơi. # Requires translation! -You can also cycle through the idle units using the left and right triangles on the Unit Table in the lower left of the screen. Or by default using the Cycle button next to the 'Next Unit' button. = +You can also cycle through the idle units using the left and right triangles on the Unit Table in the lower left of the screen. Or by default using the Cycle button next to the 'Next Unit' button. = Bạn đồng thời có thể chuyển sang các đơn vị rảnh rỗi bằng cách sử dụng các nút mũi tên trái và phải trong bảng Đơn vị ở phía dưới bên trái màn hình. Hoặc bạn có thể dùng nút chuyển đơn vị ngay cạnh nút 'Đơn vị Tiếp theo'. -Contact Me = Liên hệ với tôi +Contact Me = Liên hệ với Tôi Hi there! If you've played this far, you've probably seen that the game is currently incomplete.\n Unciv is meant to be open-source and free, forever.\n That means no ads or any other nonsense. = Chào bạn! Nếu bạn đã chơi đến đây, bạn có thể thấy rằng trò chơi hiện chưa hoàn thành. \n Unciv có nghĩa là nguồn mở và miễn phí, mãi mãi. \n Điều đó có nghĩa là không có quảng cáo hoặc bất kỳ điều gì vô nghĩa khác. What motivates me to keep working on it, \n besides the fact I think it's amazingly cool that I can,\n is the support from the players - you guys are the best! = Điều gì thúc đẩy tôi tiếp tục làm việc với nó,\n ngoài thực tế là tôi nghĩ rằng tôi có thể làm được điều đó thật tuyệt vời,\n là sự hỗ trợ từ những người chơi - các bạn là những người giỏi nhất! Every rating and review that I get puts a smile on my face =)\n So contact me! Send me an email, review, Github issue\n or mail pigeon, and let's figure out how to make the game \n even more awesome!\n(Contact info is in the Play Store) = Mọi đánh giá và đánh giá mà tôi nhận được đều khiến tôi nở nụ cười trên môi)\n Vì vậy, hãy liên hệ với tôi! Gửi cho tôi email, đánh giá, sự cố trên Github\n hoặc gửi thư cho chim bồ câu, và hãy tìm cách làm cho trò chơi\n trở nên tuyệt vời hơn nữa!\n (Thông tin liên hệ có trong Cửa hàng Play) -Pillaging = Cướp bóc +Pillaging = Cướp Bóc Military units can pillage improvements, which heals them 25 health and ruins the improvement.\nThe tile can still be worked, but advantages from the improvement - stat bonuses and resources - will be lost.\nWorkers can repair these improvements, which takes less time than building the improvement from scratch.\nPillaging certain improvements will result in your units looting gold from the improvement. = Các đơn vị quân đội có thể cướp đi các cải tiến, giúp họ hồi 25 máu và làm hỏng quá trình cải tiến.\n Ô xếp vẫn có thể hoạt động nhưng lợi thế từ việc cải tiến - tiền thưởng chỉ số và tài nguyên - sẽ bị mất.\n Nhân viên có thể sửa chữa các cải tiến này, mất ít thời gian hơn hơn là xây dựng cải tiến từ đầu.\nThu nhập một số cải tiến nhất định sẽ dẫn đến việc các đơn vị của bạn cướp được vàng từ cải tiến. -Experience = Kinh nghiệm +Experience = Điểm Kinh nghiệm Units that enter combat gain experience, which can then be used on promotions for that unit.\nUnits gain more experience when in Melee combat than Ranged, and more when attacking than when defending. = Các đơn vị tham gia chiến đấu nhận được kinh nghiệm, sau đó có thể được sử dụng để thăng cấp cho đơn vị đó.\nNhững đơn vị này nhận được nhiều kinh nghiệm hơn khi tham gia chiến đấu so với Ranged và nhiều hơn khi tấn công so với khi phòng thủ. Units can only gain up to 30 XP from Barbarian units - meaning up to 2 promotions. After that, Barbarian units will provide no experience. = Các đơn vị chỉ có thể nhận được tối đa 30 XP từ các đơn vị Người man rợ - có nghĩa là tối đa 2 lần thăng hạng. Sau đó, các đơn vị Người man rợ sẽ không cung cấp kinh nghiệm. -Combat = Chiến đấu +Combat = Chiến Đấu Unit and cities are worn down by combat, which is affected by a number of different values.\nEach unit has a certain 'base' combat value, which can be improved by certain conditions, promotions and locations. = Đơn vị và thành phố bị hao mòn do chiến đấu, bị ảnh hưởng bởi một số giá trị khác nhau.\nMỗi đơn vị có một giá trị chiến đấu 'cơ bản' nhất định, có thể được cải thiện theo các điều kiện, chương trình khuyến mãi và vị trí nhất định. Units use the 'Strength' value as the base combat value when melee attacking and when defending.\nWhen using a ranged attack, they will the use the 'Ranged Strength' value instead. = Các đơn vị sử dụng giá trị 'Sức mạnh' làm giá trị chiến đấu cơ bản khi tấn công cận chiến và khi phòng thủ.\nKhi sử dụng đòn đánh tầm xa, họ sẽ sử dụng giá trị 'Sức mạnh tầm xa' thay thế. Ranged attacks can be done from a distance, dependent on the 'Range' value of the unit.\nWhile melee attacks allow the defender to damage the attacker in retaliation, ranged attacks do not. = Các cuộc tấn công tầm xa có thể được thực hiện từ xa, phụ thuộc vào giá trị 'Phạm vi' của đơn vị.\nTrong khi các cuộc tấn công cận chiến cho phép người phòng thủ sát thương kẻ tấn công để trả đũa, các cuộc tấn công tầm xa thì không. -Embassies = Lãnh sự quán +Embassies = Lãnh Sự Quán Establishing an embassy in other players' Capital city shows the location of their Capital, likewise other players who establish an embassy in your Capital can see location of your Capital. = Thành lập một Lãnh sự quán tại khu vực của những người chơi khác sẽ hiện ra thủ đô của họ, và ngược lại. Embassies thus allow Spies to be placed in another players' Capital City if Espionage is enabled. = Lãnh sự quán được thành lập để các điệp viên có thể được sử dụng (Nếu như tính năng Do thám được cho phép) Mutual embassies are required to allow trading open borders and to sign Research Agreement and Defensive Pact. = Việc ngoại giao đồng thời còn cho phép trao đổi việc mở biên giới giữa hai nước, đồng thời cũng là để kí kết các Hiệp định Nghiên cứu và Hiệp định Phòng thủ. @@ -7170,7 +7170,7 @@ Certain Buildings will also provide Specialist Slots. These slots will show up i Each Specialist will generate a certain amount of yield as indicated to the right of the available slots. = Mỗi Chuyên gia đều tạo ra một lượng sản phẩm nhất định, cái mà được trưng ở các chỗ có sẵn. While these are a great way to specialize the yield production of a City outside of the surrounding Tile Yields, Specialists have an additional value. Each one also generates Great Person Points each turn. With enough of them, a new Great Person will join your Nation. = Trong khi đây là các cách rất hiệu quả trong việc nâng năng suất khai thác tài nguyên của thành phố, Chuyên gia còn có thêm một điểm đặc biệt nữa. Mỗi loại Chuyên gia đều sẽ tạo ra điểm Vĩ nhân, cái mà khi đủ sẽ đưa một người Vĩ đại tham gia bạn. # Requires translation! -See also Great People = +See also: Great People = Đồng thời xem: Người Vĩ đại Great People = Người Vĩ đại Certain buildings, and specialists in cities, generate Great Person points per turn.\nThere are several types of Great People, and their points accumulate separately.\nThe number of points per turn and accumulated points can be viewed in the Overview screen. = Một số tòa nhà và chuyên gia trong thành phố, tạo ra điểm Người vĩ đại mỗi lượt.\nCó một số loại Người vĩ đại và điểm của họ được tích lũy riêng.\n Có thể xem số điểm mỗi lượt và điểm tích lũy trong màn hình Tổng quan. @@ -7178,7 +7178,7 @@ Alternatively, the Great Person points breakdown per city can be viewed in each Once enough points have been accumulated, a Great Person of that type will be created!\nEach Great Person can construct a certain Great Improvement which gives large yields over time, or immediately consumed to provide a certain bonus now. = Sau khi tích lũy đủ điểm, một Người vĩ đại thuộc loại đó sẽ được tạo ra!\nMỗi Người vĩ đại có thể xây dựng một Cải tiến vĩ đại nhất định mang lại sản lượng lớn theo thời gian hoặc ngay lập tức được tiêu thụ để cung cấp một phần thưởng nhất định ngay bây giờ. Great Improvements also provide any strategic resources that are under them, so you don't need to worry if resources are revealed underneath your improvements! = Cải tiến tuyệt vời cũng cung cấp bất kỳ tài nguyên chiến lược nào nằm dưới chúng, vì vậy bạn không cần phải lo lắng nếu tài nguyên được tiết lộ bên dưới các cải tiến của bạn! # Requires translation! -See also Specialists = +See also: Specialists = Đồng thời xem: Chuyên Gia Removing Terrain Features = Xóa các đối tượng địa hình Certain tiles have terrain features - like Flood plains or Forests - on top of them. Some of these layers, like Jungle, Marsh and Forest, can be removed by workers.\nRemoving the terrain feature does not remove any resources in the tile, and is usually required in order to add improvements exploiting those resources. = Một số ô nhất định có các đặc điểm địa hình - như Đồng bằng lũ lụt hoặc Rừng - trên đầu chúng. Nhân viên có thể xóa một số lớp trong số này như Rừng nhiệt đới, Đầm lầy và Rừng.\nXóa đối tượng địa hình không xóa bất kỳ tài nguyên nào trong ô và thường được yêu cầu để thêm các cải tiến khai thác các tài nguyên đó. @@ -7264,7 +7264,7 @@ In both places, a tap/click on the icon of a religion will show detailed informa Based on this, you can get a feel for which religions have a lot of pressure built up in the city, and which have almost none. = Dựa trên điều này, bạn có thể cảm nhận được rằng tôn giáo nào có nhiều áp lực trong thành phố, và tôn giáo nào hầu như không có. The city follows a religion if a majority of its population follows that religion, and will only then receive the effects of Follower and Pantheon beliefs of that religion. = Thành phố theo một tôn giáo nếu phần lớn dân số của nó theo tôn giáo đó, và sau đó sẽ chỉ nhận được những ảnh hưởng tín ngưỡng của Tín đồ và Đền thờ của tôn giáo đó. -Spreading Religion = Truyền bá tôn giáo +Spreading Religion = Truyền bá Tôn giáo Spreading religion happens naturally, but can be sped up using missionaries or great prophets. = Việc truyền bá tôn giáo xảy ra một cách tự nhiên, nhưng có thể được đẩy nhanh bằng cách sử dụng các nhà truyền giáo hoặc các nhà tiên tri vĩ đại. Missionaries can be bought in cities following a major religion, and will take the religion of that city. = Người truyền giáo có thể được mua ở các thành phố theo một tôn giáo lớn và sẽ theo tôn giáo của thành phố đó. So do take care where you are buying them! If another civilization has converted one of your cities to their religion, missionaries bought there will follow their religion. = Vì vậy, hãy quan tâm đến nơi bạn đang mua chúng! Nếu một nền văn minh khác đã chuyển đổi một trong những thành phố của bạn sang tôn giáo của họ, những người truyền giáo đã mua ở đó sẽ theo tôn giáo của họ. @@ -7281,7 +7281,7 @@ Holy cities also provide +30 pressure of the religion founded there to themselve Lastly, before founding a religion, new cities you settle will start with 200 pressure for your pantheon. = Cuối cùng, trước khi thành lập một tôn giáo, các thành phố mới mà bạn định cư sẽ bắt đầu với 200 áp lực cho quần thể của bạn. This way, all your cities will starting following your pantheon as long as you haven't founded a religion yet. = Bằng cách này, tất cả các thành phố của bạn sẽ bắt đầu theo sau quần thể của bạn miễn là bạn chưa thành lập một tôn giáo nào. -Inquisitors = Điều tra viên +Inquisitors = Điều Tra viên Inquisitors are the last religious unit, and their strength is removing other religions. = Inquisitors là đơn vị tôn giáo cuối cùng, và sức mạnh của họ là loại bỏ các tôn giáo khác. They can remove all other religions from one of your own cities, removing any pressures built up. = Họ có thể loại bỏ tất cả các tôn giáo khác khỏi một trong những thành phố của riêng bạn, loại bỏ bất kỳ áp lực nào được tích tụ. Great prophets also have this ability, and remove all other religions in the city when spreading their religion. = Các nhà tiên tri vĩ đại cũng có khả năng này, và loại bỏ tất cả các tôn giáo khác trong thành phố khi truyền bá tôn giáo của họ. @@ -7308,7 +7308,7 @@ If the Intercepting Unit Hits, it deals damage according to the Combat Strength After Interception resolves, the Attacking Air Unit and the Defending Unit in the targeted tile do Combat as normal, with damage dealt to both sides. = Khi Đánh chặn đã hoàn thành, thì hai bên có thể tấn công nhau trở lại như bình thường, với sát thương gây ra từ cả hai. To help deal with Interceptions, see Air Sweeps. = Để giải quyết việc Đánh chặn, hãy xem Tấn công quét mặt đất. -Air Sweeps = Tấn công quét mặt đất +Air Sweeps = Tấn công quét Mặt đất Fighter units are able to perform Air Sweeps over a tile helping clear out potential enemy Air, Sea, or Land Interceptions that can reach that tile. = Các đơn vị máy bay chiến đấu có thể thực hiện tấn công quét mặt đất trên một ô giúp quét sạch các Đánh chặn trên không, trên biển hoặc trên đất liền của đối phương có thể tiếp cận ô đó. While this Action will take an Attack, the benefit is drawing out Interceptions to help protect your other Air Units. Especially your Bombers. = Mặc dù Hành động này sẽ xảy ra Tấn công, nhưng lợi ích là đưa ra các Ngăn chặn để giúp bảo vệ các Đơn vị Không quân khác của bạn. Đặc biệt là Máy bay ném bom của bạn. Your unit will always draw an Interception, if one can reach the target tile, even if the Intercepting unit has a chance to miss. = Đơn vị của bạn sẽ luôn rút ra một đòn Đánh chặn, nếu một người có thể đến được ô mục tiêu, ngay cả khi đơn vị Đánh chặn có cơ hội đánh trượt. @@ -7327,7 +7327,7 @@ Enemy military land units block tiles they are standing on. Enemy military naval City Blockade = Phong toả Thành phố One of your cities is under a naval blockade! When all adjacent water tiles of a coastal city are blocked - city loses harbor connection to all other cities, including capital. Make sure to de-blockade cities by deploying friendly military naval units to fight off invaders. = Việc phong toả thành phố sẽ xảy ra khi một đơn vị hải quân của địch đang chiếm đóng khu vực bờ biển của thành phố - điều này sẽ khiến cho thành phố mất kết nối tới tất cả thành phố khác, kể cả là thủ đô. Hãy đảm bảo rằng bạn có một đơn vị khác để đánh lại kẻ địch đang phong toả. -Spies! = Điệp viên! +Spies! = Điệp Viên! The first time a civ reaches the Renaissance era each nation gets one spy. Every time a civ reaches an era afterwards they get one more spy. = Nền văn minh nào tới thời kỳ Phục hưng đầu tiên sẽ khiến cho mọi nền văn minh đều có được một Điệp viên. Mỗi lần một nền văn minh nào đó đạt đến một thời kì khác thì sẽ được nhận thêm một Điệp viên. Spies can be sent out to foreign cities to steal technology, rigging elections or stage coups. Place them in your own cities to do counter-intelligence work. = Điệp viên có thể điều đi sang các thành phố nước ngoài để cướp Công nghệ, hoặc điều chỉnh việc bỏ phiếu hay thậm chỉ là dàn dựng đảo chính. Còn nếu như bạn muốn đặt họ ở thành phố của mình thì họ sẽ làm việc ngăn chặn các điệp viên khác. Only one spy per civ is allowed in each city. Spies that are not in any city are on vacation in your spy hideout. = Chỉ một Điệp viên duy nhât của các nền văn minh được phép hoạt đồng trong mỗi một thành phố. Điệp viên mà không có ở bất kì thành phố nào thì sẽ ở trong nơi trú ẩn của họ. @@ -7337,7 +7337,7 @@ A spy that is rigging an election in a city-state may also stage a coup. The lik Spies that are set up in your own cities will be conducting counter-intelligence. They reduce the success chance of other spies trying to steal your technology. = Điệp viên đang được hoạt đồng ở thành phố của bạn sẽ làm nhiệm vụ chống lại các hoạt động do thám. Họ sẽ giảm đi cơ hội thành công của các Điệp viên khác đang cố gắng cướp Công nghệ của bạn. Spies at a higher rank have a higher chance of success. The max rank a spy can reach is rank 3. After a spy is killed it will revive after a certain amount of turns back at rank 1. = Điệp viên cấp càng cao thì càng có khả năng hoàn thành nhiệm vụ. Cấp cao nhất của một điệp viên là 3. Sau khi bị 'giết' thì họ sẽ tự 'hồi sinh' và trở lại cấp ban đầu là 1. # Requires translation! -Building buildings like the constabulary and police station will reduce the technology steal rate of spies in that city. = +Buildings like the constabulary and police station will reduce the technology steal rate of spies in that city. = Các công trình như Bộ Bảo an hoặc Sở Cảnh sát sẽ giảm đi khả năng cướp Công nghệ của các điệp viên. Espionage is available using the Gods and Kings ruleset. To enable it in a new game click advanced settings, then click on the Enable Espionage option. = Do thám có thể được sử dụng trong bộ luật Gods and Kings. Để có thể mở nó thì hãy vào phần tuỳ chọn mở rộng, rồi lựa chọn Cho phép Do thám. Keyboard Bindings = Phím tắt diff --git a/android/assets/jsons/translations/completionPercentages.properties b/android/assets/jsons/translations/completionPercentages.properties index 8b3ebb2c95..544e8fb98d 100644 --- a/android/assets/jsons/translations/completionPercentages.properties +++ b/android/assets/jsons/translations/completionPercentages.properties @@ -38,5 +38,5 @@ Thai = 15 Traditional_Chinese = 97 Turkish = 96 Ukrainian = 99 -Vietnamese = 99 +Vietnamese = 100 Zulu = 9 diff --git a/buildSrc/src/main/kotlin/BuildConfig.kt b/buildSrc/src/main/kotlin/BuildConfig.kt index 49338a29da..397f3293f3 100644 --- a/buildSrc/src/main/kotlin/BuildConfig.kt +++ b/buildSrc/src/main/kotlin/BuildConfig.kt @@ -3,7 +3,7 @@ package com.unciv.build object BuildConfig { const val appName = "Unciv" - const val appCodeNumber = 1156 - const val appVersion = "4.17.15" + const val appCodeNumber = 1157 + const val appVersion = "4.17.16" const val identifier = "com.unciv.app" } diff --git a/changelog.md b/changelog.md index cebdc3fce4..45aace117c 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,31 @@ +## 4.17.16 + +Resolved - AI spy city selection greatly improved + +Resolved - Changing mods while images load no longer displays multiple images on the last mod + +Resolved - Removed city icons in unit overview + +chore(purity): UnitOverview and UnitPromotions + +Resolved - Replacement improvements also provide resources that require the original improvement + +Resolved - Only heal on current tile if it's not a dangerous tile + +Partially fixed - disallow repicking the same tile for multiple improvement-buildings + +Since improvement buildings with no relevant tiles are unbuildable, we don't need to explicitly check for this in allowAutomatedConstruction + +Partially fix - improvement buildings where the improvement cannot be built on any tile are considered unbuildable - do not appear in construction menu + +Partially fix - city construction menu cannot add improvement-construction buildings, as they require picking a tile for the improvement + +chore(purity) + +Simulation: New Stats - By itanasi + +move dependency versions to `gradle.properties` - By touhidurrr + ## 4.17.15 Allow AI to move-and-settle diff --git a/core/src/com/unciv/UncivGame.kt b/core/src/com/unciv/UncivGame.kt index 3c2e5717cd..1b5427333c 100644 --- a/core/src/com/unciv/UncivGame.kt +++ b/core/src/com/unciv/UncivGame.kt @@ -494,7 +494,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.17.15", 1156) + val VERSION = Version("4.17.16", 1157) //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/1157.txt b/fastlane/metadata/android/en-US/changelogs/1157.txt new file mode 100644 index 0000000000..f5f8ce03d1 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/1157.txt @@ -0,0 +1,27 @@ + + +Resolved - AI spy city selection greatly improved + +Resolved - Changing mods while images load no longer displays multiple images on the last mod + +Resolved - Removed city icons in unit overview + +chore(purity): UnitOverview and UnitPromotions + +Resolved - Replacement improvements also provide resources that require the original improvement + +Resolved - Only heal on current tile if it's not a dangerous tile + +Partially fixed - disallow repicking the same tile for multiple improvement-buildings + +Since improvement buildings with no relevant tiles are unbuildable, we don't need to explicitly check for this in allowAutomatedConstruction + +Partially fix - improvement buildings where the improvement cannot be built on any tile are considered unbuildable - do not appear in construction menu + +Partially fix - city construction menu cannot add improvement-construction buildings, as they require picking a tile for the improvement + +chore(purity) + +Simulation: New Stats - By itanasi + +move dependency versions to `gradle.properties` - By touhidurrr \ No newline at end of file