diff --git a/android/assets/jsons/translations/German.properties b/android/assets/jsons/translations/German.properties index c04f4d581f..d2cb68d22b 100644 --- a/android/assets/jsons/translations/German.properties +++ b/android/assets/jsons/translations/German.properties @@ -87,8 +87,7 @@ Requires a [buildingName] in all cities = Benötigt das Gebäude [buildingName] Requires a [buildingName] in this city = Benötigt das Gebäude [buildingName] in dieser Stadt Cannot be built with [buildingName] = Kann nicht mit [buildingName] gebaut werden Consumes [amount] [resource] = Verbraucht [amount] [resource] - # Requires translation! -Need [amount] more [resource] = +Need [amount] more [resource] = Benötigt weitere [amount] von [resource] [amount] available = [amount] verfügbar Required tech: [requiredTech] = Benötigt Technologie: [requiredTech] Requires [PolicyOrNationalWonder] = Benötigt [PolicyOrNationalWonder] @@ -189,7 +188,7 @@ You betrayed your promise to not settle cities near us = Ihr habt euer Versprech You fulfilled your promise to stop settling cities near us! = Ihr habt euer Versprechen gehalten, keine neuen Städte in unserer Nähe zu gründen! You refused to stop settling cities near us = Ihr habt euch geweigert, auf Stadtgründungen in unserer Nähe zu verzichten! Your arrogant demands are in bad taste = Eure arroganten Forderungen sind geschmacklos. -Your use of nuclear weapons is disgusting! = Euer Einsatz von Atomwaffen ist ekelhaft! +Your use of nuclear weapons is disgusting! = Euer Einsatz von Atomwaffen ist abstoßend! You have stolen our lands! = Ihr habt unser Land geraubt! You gave us units! = Ihr habt uns Einheiten geschenkt! You destroyed City-States that were under our protection! = Ihr habt Stadtstaaten zerstört, die unter unserem Schutz standen! @@ -252,7 +251,7 @@ Cultured = Kultiviert Maritime = Maritim Mercantile = Kaufmännisch Religious = Religiös -Militaristic = Militärisch +Militaristic = Militaristisch Type = Typ Friendly = Freundlich Hostile = Feindlich @@ -318,8 +317,7 @@ Declare war on [nation] = [nation] den Krieg erklären Luxury resources = Luxusressourcen Strategic resources = Strategische Ressourcen Owned by you: [amountOwned] = In deinem Besitz: [amountOwned] - # Requires translation! -Non-existent city = +Non-existent city = Nicht-existierende Stadt # Nation picker @@ -690,8 +688,7 @@ Show tutorials = Tutorials anzeigen Auto-assign city production = Automatische Zuordnung der Stadtproduktion Auto-build roads = Automatischer Straßenbau Automated workers replace improvements = Automatisierte Arbeiter ersetzen Verbesserungen - # Requires translation! -Minimap size = +Minimap size = Größe der Minimap off = aus Show pixel units = Pixel-Einheiten anzeigen Show pixel improvements = Pixel-Verbesserungen anzeigen @@ -829,11 +826,11 @@ The civilization of [civName] has been destroyed! = Die Zivilisation [civName] w 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! 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 barbarisches Lager erobert und [goldAmount] Gold gefunden! +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! # This might be needed for a rewrite of Germany's unique - see #7376 -A barbarian [unitType] has joined us! = Eine barbarische Einheit [unitType] hat sich uns angeschlossen! +A barbarian [unitType] has joined us! = Eine Einheit [unitType] der Barbaren hat sich uns angeschlossen! We have found survivors in the ruins - population added to [cityName] = Wir haben Überlebende in den Ruinen gefunden - Einwohner zu [cityName] hinzugefügt We have discovered cultural artifacts in the ruins! (+20 Culture) = Wir haben kulturelle Artefakte in den Ruinen entdeckt! (+20 Kultur) @@ -927,8 +924,7 @@ Strength = Stärke Ranged strength = Fernkampfstärke Bombard strength = Bombardierungsstärke Range = Reichweite - # Requires translation! -XP = +XP = EP Move unit = Einheit bewegen Stop movement = Bewegung stoppen Swap units = Einheiten tauschen @@ -1091,9 +1087,8 @@ Please select a tile for this building's [improvement] = Bitte wähle ein Feld f # Ask for text or numbers popup UI -Invalid input! Please enter a different string. = Ungültige Eingabe! Bitte gib eine andere Zeichenkette ein. - # Requires translation! -Invalid input! Please enter a valid number. = +Invalid input! Please enter a different string. = Ungültige Eingabe! Bitte gib einen anderen Text ein. +Invalid input! Please enter a valid number. = Ungültige Eingabe! Bitte gib eine gültige Zahl ein. Please enter some text = Bitte gib einen Text ein # Technology UI @@ -1929,7 +1924,7 @@ Theatre = Theater Seaport = Seehafen -Hermitage = Einsiedelei +Hermitage = Eremitage Taj Mahal = Taj Mahal 'The Taj Mahal rises above the banks of the river like a solitary tear suspended on the cheek of time.' - Rabindranath Tagore = 'Das Taj Mahal erhebt sich über die Ufer des Flusses wie eine einsame Träne auf der Wange der Zeit.' - Rabindranath Tagore diff --git a/android/assets/jsons/translations/Korean.properties b/android/assets/jsons/translations/Korean.properties index 8dc5876b2a..68725aafc5 100644 --- a/android/assets/jsons/translations/Korean.properties +++ b/android/assets/jsons/translations/Korean.properties @@ -88,7 +88,7 @@ Requires a [buildingName] in this city = 도시에 [buildingName] 필요 Cannot be built with [buildingName] = [buildingName]와(과) 동시 건설 불가 Consumes [amount] [resource] = [resource] [amount]개 소모 # Requires translation! -Need [amount] more [resource] = +Need [amount] more [resource] = [resource] [amount]개 필요 [amount] available = [amount]개 사용 가능 Required tech: [requiredTech] = [requiredTech] 기술 Requires [PolicyOrNationalWonder] = [PolicyOrNationalWonder] 필요 @@ -319,7 +319,7 @@ Luxury resources = 사치 자원 Strategic resources = 전략 자원 Owned by you: [amountOwned] = 보유중인 자원: [amountOwned] # Requires translation! -Non-existent city = +Non-existent city = 없는 도시 # Nation picker @@ -762,49 +762,58 @@ Your Golden Age has ended. = 황금기가 끝났습니다. We have conquered the city of [cityName]! = [cityName]을(를) 점령했습니다! An enemy [unit] has attacked [cityName] = 적 [unit]이(가) [cityName]을(를) 공격했습니다. # Requires translation! -An enemy [unit] ([amount] HP) has attacked [cityName] ([amount2] HP) = +An enemy [unit] ([amount]) has attacked [cityName] ([amount2]) = An enemy [unit] has attacked our [ourUnit] = 적 [unit]이(가) 아군 [ourUnit]을(를) 공격했습니다. # Requires translation! -An enemy [unit] ([amount] HP) has attacked our [ourUnit] ([amount2] HP) = +An enemy [unit] ([amount]) has attacked our [ourUnit] ([amount2]) = Enemy city [cityName] has attacked our [ourUnit] = 적 도시 [cityName]이(가) 아군 [ourUnit]을(를) 공격했습니다. # Requires translation! -Enemy city [cityName] ([amount] HP) has attacked our [ourUnit] ([amount2] HP) = +Enemy city [cityName] ([amount]) has attacked our [ourUnit] ([amount2]) = An enemy [unit] has captured [cityName] = 적 [unit]이(가) [cityName]을(를) 점령했습니다. # Requires translation! -An enemy [unit] ([amount] HP) has captured [cityName] ([amount2] HP) = +An enemy [unit] ([amount]) has captured [cityName] ([amount2]) = An enemy [unit] has raided [cityName] = 적 [unit]이(가) [cityName]을(를) 습격했습니다. # Requires translation! -An enemy [unit] ([amount] HP) has raided [cityName] ([amount2] HP) = +An enemy [unit] ([amount]) has raided [cityName] ([amount2]) = An enemy [unit] has captured our [ourUnit] = 아군 [ourUnit]이(가) 적 [unit]에게 포로로 잡혔습니다. # Requires translation! -An enemy [unit] ([amount] HP) has captured our [ourUnit] ([amount2] HP) = +An enemy [unit] ([amount]) has captured our [ourUnit] ([amount2]) = An enemy [unit] has destroyed our [ourUnit] = 아군 [ourUnit]이(가) 적 [unit]에게 제거되었습니다. # Requires translation! -An enemy [unit] ([amount] HP) has destroyed our [ourUnit] ([amount2] HP) = +An enemy [unit] ([amount]) has destroyed our [ourUnit] ([amount2]) = Your [ourUnit] has destroyed an enemy [unit] = 적 [unit]이(가) 아군 [ourUnit]에게 제거되었습니다. # Requires translation! -Your [ourUnit] ([amount] HP) has destroyed an enemy [unit] ([amount2] HP) = +Your [ourUnit] ([amount]) has destroyed an enemy [unit] ([amount2]) = An enemy [RangedUnit] has destroyed the defence of [cityName] = 적 [RangedUnit]이(가) [cityName]의 방어선을 파괴했습니다. # Requires translation! -An enemy [RangedUnit] ([amount] HP) has destroyed the defence of [cityName] ([amount2] HP) = +An enemy [RangedUnit] ([amount]) has destroyed the defence of [cityName] ([amount2]) = Enemy city [cityName] has destroyed our [ourUnit] = 아군 [ourUnit]이(가) 적 도시 [cityName]에게 제거되었습니다. # Requires translation! -Enemy city [cityName] ([amount] HP) has destroyed our [ourUnit] ([amount2] HP) = +Enemy city [cityName] ([amount]) has destroyed our [ourUnit] ([amount2]) = An enemy [unit] was destroyed while attacking [cityName] = 적 [unit]이(가) [cityName]에 반격당해 제거되었습니다. # Requires translation! -An enemy [unit] ([amount] HP) was destroyed while attacking [cityName] ([amount2] HP) = +An enemy [unit] ([amount]) was destroyed while attacking [cityName] ([amount2]) = An enemy [unit] was destroyed while attacking our [ourUnit] = 적 [unit]이(가) 아군 [ourUnit]에 반격당해 제거되었습니다. # Requires translation! -An enemy [unit] ([amount] HP) was destroyed while attacking our [ourUnit] ([amount2] HP) = -Our [attackerName] ([amount] HP) was destroyed by an intercepting [interceptorName] ([amount2] HP) = 아군 [attackerName] [amount] HP기가 적 [interceptorName] [amount2] HP기의 요격으로 제거되었습니다. -Our [attackerName] ([amount] HP) was destroyed by an unknown interceptor = 아군 [attackerName] [amount] HP기가 미지의 상대에게 요격당해 제거되었습니다. -Our [interceptorName] ([amount] HP) intercepted and destroyed an enemy [attackerName] ([amount2] HP) = 아군 [interceptorName] [amount] HP기가 적 [attackerName] [amount2] HP기를 요격하여 제거했습니다. -Our [attackerName] ([amount] HP) destroyed an intercepting [interceptorName] ([amount2] HP) = 아군 [attackerName] [amount] HP기가 요격하는 적 [interceptorName] [amount2] HP기를 제거했습니다. -Our [interceptorName] ([amount] HP) intercepted and was destroyed by an enemy [attackerName] ([amount2] HP) = 아군 [interceptorName] [amount] HP기가 적 [attackerName] [amount2] HP기를 요격하던 중에 제거되었습니다. -Our [interceptorName] ([amount] HP) intercepted and was destroyed by an unknown enemy = 아군 [interceptorName] [amount] HP기가 미지의 상대를 요격하던 중에 제거되었습니다. -Our [attackerName] ([amount] HP) was attacked by an intercepting [interceptorName] ([amount2] HP) = 아군 [attackerName] [amount] HP기가 [interceptorName] [amount2] HP기에게 요격당했습니다. -Our [attackerName] ([amount] HP) was attacked by an unknown interceptor = 아군 [attackerName] [amount] HP기가 미지의 상대에게 요격당했습니다. -Our [interceptorName] ([amount] HP) intercepted and attacked an enemy [attackerName] ([amount2] HP) = 아군 [interceptorName] [amount] HP기가 적 [attackerName] [amount2] HP기를 요격했습니다. +An enemy [unit] ([amount]) was destroyed while attacking our [ourUnit] ([amount2]) = + # Requires translation! +Our [attackerName] ([amount]) was destroyed by an intercepting [interceptorName] ([amount2]) = + # Requires translation! +Our [attackerName] ([amount]) was destroyed by an unknown interceptor = + # Requires translation! +Our [interceptorName] ([amount]) intercepted and destroyed an enemy [attackerName] ([amount2]) = + # Requires translation! +Our [attackerName] ([amount]) destroyed an intercepting [interceptorName] ([amount2]) = + # Requires translation! +Our [interceptorName] ([amount]) intercepted and was destroyed by an enemy [attackerName] ([amount2]) = + # Requires translation! +Our [interceptorName] ([amount]) intercepted and was destroyed by an unknown enemy = + # Requires translation! +Our [attackerName] ([amount]) was attacked by an intercepting [interceptorName] ([amount2]) = + # Requires translation! +Our [attackerName] ([amount]) was attacked by an unknown interceptor = + # Requires translation! +Our [interceptorName] ([amount]) intercepted and attacked an enemy [attackerName] ([amount2]) = Nothing tried to intercept our [attackerName] = [attackerName]이(가) 요격당하지 않았습니다. An enemy [unit] was spotted near our territory = 적 [unit]이(가) 아군 영토 근처에서 발견되었습니다. An enemy [unit] was spotted in our territory = 적 [unit]이(가) 아군 영토 내에서 발견되었습니다. @@ -915,7 +924,7 @@ Ranged strength = 원거리 공격력 Bombard strength = 도시 공격력 Range = 사거리 # Requires translation! -XP = +XP = XP Move unit = 이동 Stop movement = 이동 중지 Swap units = 유닛 교환 @@ -932,7 +941,7 @@ Moving = 이동 중 Set up = 설치 Paradrop = 강하 # Requires translation! -Air Sweep = +Air Sweep = 대공 무력화 Add in capital = 수도에 추가 Add to [comment] = [comment]에 추가 Upgrade to [unitType] ([goldCost] gold) = [unitType](으)로 ([goldCost]골드) @@ -1078,9 +1087,9 @@ Please select a tile for this building's [improvement] = 이 건물의 [improvem # Ask for text or numbers popup UI -Invalid input! Please enter a different string. = 유효하지 않은 입력입니다! 다른 문자열을 입력해 주십시오. +Invalid input! Please enter a different string. = 입력이 올바르지 않습니다! 다른 문자열을 입력해 주십시오. # Requires translation! -Invalid input! Please enter a valid number. = +Invalid input! Please enter a valid number. = 입력이 올바르지 않습니다! 다른 숫자를 입력해 주십시오. Please enter some text = 문자열을 입력해 주십시오. # Technology UI @@ -5646,7 +5655,7 @@ This is where you spend most of your time playing Unciv. See the world, control ⑲: Notifications - what happened during the last 'next turn' phase. Some are clickable to show a relevant place on the map, some even show several when you click repeatedly. = ⑲ 알림: 턴을 넘긴 뒤에 어떤 일이 일어났는지 알려줍니다. 어떤 알림은 클릭하여 해당되는 창을 열거나 지도의 위치로 이동할 수 있습니다. 지도에 해당되는 위치가 여러 곳인 알림도 있습니다. ⑳: The Next Turn Button - unless there are things to do, in which case the label changes to 'next unit', 'pick policy' and so on. = ⑳ 다음 턴 버튼: '다음 유닛', '정책 선택' 등이 나타나지 않고 할일이 더이상 없다면 누르면 됩니다. # Requires translation! -㉑: The Multiplayer Button - Here you can easily check your active multiplayer games. = +㉑: The Multiplayer Button - Here you can easily check your active multiplayer games. = ㉑ 멀티플레이 버튼: 참여 중인 멀티 게임을 손쉽게 확인할 수 있습니다. ⓐ: The overview button leads to the empire overview screen with various tabs (the last one viewed is remembered) holding vital information about the state of your civilization in the world. = ⓐ 문명 상태 버튼: 다양한 문명상태창을 볼 수 있습니다. 마지막으로 본 탭은 기억됩니다. 모든 상태창은 당신의 문명에 있어 중요한 정보를 담고 있습니다. ⓑ: The ♪Culture icon shows accumulated ♪Culture and ♪Culture needed for the next policy - in this case, the exclamation mark tells us a next policy can be enacted. Clicking is another way to the policies manager. = ⓑ 문화 아이콘: 턴당 문화와 다음 정책 채택까지 필요한 턴수를 알 수 있습니다. 정책 채택이 가능할 만큼의 문화가 모이면 느낌표가 표시됩니다. 문화 아이콘을 클릭하면 정책 화면을 볼 수 있습니다. ⓒ: Your known strategic resources are displayed here with the available (usage already deducted) number - click to go to the resources overview screen. = ⓒ 자원 아이콘: 기술이 연구된 전략자원과 현재 사용가능한 갯수가 나타납니다. 자원 아이콘을 클릭하면 문명상태의 자원 탭을 볼 수 있습니다. @@ -5655,7 +5664,7 @@ This is where you spend most of your time playing Unciv. See the world, control ⓕ: Number of turns played with translation into calendar years. Click to see the victory overview. = ⓕ 현재 턴수와 연도가 표시됩니다. 클릭하면 승리 조건을 볼 수 있습니다. ⓖ: The number of gold coins in your treasury and income. Clicks lead to the Stats overview screen. = ⓖ 골드 아이콘: 보유중인 골드와 턴당 골드가 표시됩니다. 클릭하면 문명상태의 통계 탭을 볼 수 있습니다. # Requires translation! -ⓗ: The quantity of ☮Faith your citizens have generated, or 'off' if religion is disabled. Clicking it makes you go to the religion overview screen. = +ⓗ: The quantity of ☮Faith your citizens have generated, or 'off' if religion is disabled. Clicking it makes you go to the religion overview screen. = ⓗ 시민들이 생성한 신앙☮입니다. 게임 생성시 종교 설정을 끄면 'off' 로 나타납니다. 클릭하면 문명상태의 종교 탭을 볼 수 있습니다. ⓧ: In the center of all this - the world map! Here, the "X" marks a spot outside the map. Yes, unless the wrap option was used, Unciv worlds are flat. Don't worry, your ships won't fall off the edge. = ⓧ 이 모든 것의 중심이 세계 화면입니다. 이 X표시는 맵 바깥을 의미합니다. 맞습니다. 원통형 지도를 적용하지 않았다면 Unciv의 지도는 평평합니다. 그러나 배가 지도 밖으로 떨어질 일은 없으니 안심하십시오. ⓨ: By the way, here's how an empire border looks like - it's in the national colours of the nation owning the territory. = ⓨ 문명의 국경은 이렇게 나타납니다. 해당 국가의 색깔이 경계선과 그 안쪽에 나타납니다. ⓩ: And this is the red targeting circle that led to the attack pane back under ⑬. = ⓩ 붉은색 원은 적을 의미하며 ⑬에서 언급된 전투력 정보창을 볼 수 있습니다. diff --git a/buildSrc/src/main/kotlin/BuildConfig.kt b/buildSrc/src/main/kotlin/BuildConfig.kt index 2d1c8d73d5..fa393697f5 100644 --- a/buildSrc/src/main/kotlin/BuildConfig.kt +++ b/buildSrc/src/main/kotlin/BuildConfig.kt @@ -3,8 +3,8 @@ package com.unciv.build object BuildConfig { const val kotlinVersion = "1.7.0" const val appName = "Unciv" - const val appCodeNumber = 745 - const val appVersion = "4.2.2" + const val appCodeNumber = 746 + const val appVersion = "4.2.3" const val gdxVersion = "1.11.0" const val roboVMVersion = "2.3.1" diff --git a/changelog.md b/changelog.md index ac7389003c..023a7de98c 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,27 @@ +## 4.2.3 + +Reinstated desugaring since it broke the build + +Android gradle update - explicitly state build tools version, update to 32.0.0, remove desugaring. + +Android gradle update - explicitly state build tools version, remove desugaring + +By OptimizedForDensity: +- Add unit type to Civilopedia +- Fix mod translation file generation +- Fix bug related to resuming games + +By xlenstra: +- Added a hidden option for enabling espionage +- Occupied cities have +2 extra unhappiness +- Removes the option for disabling religion +- Added 'without resource' conditional +- Added a unique for destroying improvements on attack + +Add missing string to the translations template file - By estorski + +Made invisible units not become visible just by being next to an owned tile. - By kralinc + ## 4.2.2 By itanasi: diff --git a/core/src/com/unciv/UncivGame.kt b/core/src/com/unciv/UncivGame.kt index ee285b0cd0..131b81ecfa 100644 --- a/core/src/com/unciv/UncivGame.kt +++ b/core/src/com/unciv/UncivGame.kt @@ -451,7 +451,7 @@ class UncivGame(parameters: UncivGameParameters) : Game() { companion object { //region AUTOMATICALLY GENERATED VERSION DATA - DO NOT CHANGE THIS REGION, INCLUDING THIS COMMENT - val VERSION = Version("4.2.2", 745) + val VERSION = Version("4.2.3", 746) //endregion lateinit var Current: UncivGame diff --git a/fastlane/metadata/android/en-US/changelogs/746.txt b/fastlane/metadata/android/en-US/changelogs/746.txt new file mode 100644 index 0000000000..2c34c17342 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/746.txt @@ -0,0 +1,23 @@ + + +Reinstated desugaring since it broke the build + +Android gradle update - explicitly state build tools version, update to 32.0.0, remove desugaring. + +Android gradle update - explicitly state build tools version, remove desugaring + +By OptimizedForDensity: +- Add unit type to Civilopedia +- Fix mod translation file generation +- Fix bug related to resuming games + +By xlenstra: +- Added a hidden option for enabling espionage +- Occupied cities have +2 extra unhappiness +- Removes the option for disabling religion +- Added 'without resource' conditional +- Added a unique for destroying improvements on attack + +Add missing string to the translations template file - By estorski + +Made invisible units not become visible just by being next to an owned tile. - By kralinc \ No newline at end of file