mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 14:24:43 -04:00
Translation organization
This commit is contained in:
parent
5941c39d64
commit
cf37122304
@ -1460,4 +1460,74 @@
|
||||
Portuguese:"Câmara de biostase de Nave Espacial"
|
||||
German:"Raumschiff Stase-Kammer"
|
||||
}
|
||||
|
||||
|
||||
// UI notifications of building info/conditions
|
||||
|
||||
|
||||
"Requires [buildingName] to be built in the city":{
|
||||
Italian:"Richiede la costruzione di [buildingName] nella città"
|
||||
French:"Requiert la construction de [buildingName] dans la ville"
|
||||
Simplified_Chinese:"需要城市建有[buildingName]"
|
||||
Portuguese:"Requer [buildingName] para ser construido na cidade"
|
||||
}
|
||||
|
||||
"Requires [buildingName] to be built in all cities":{
|
||||
Italian:"Richiede la costruzione di [buildingName] in tutte le città"
|
||||
French:"Requiert la construction de [buildingName] dans toutes les villes"
|
||||
Simplified_Chinese:"需要所有城市建有[buildingName]"
|
||||
Portuguese:"Requer [buildingName] para ser construido em todas as cidades"
|
||||
}
|
||||
|
||||
"Provides a free [buildingName] in the city":{
|
||||
Italian:"Dona l'edificio gratuito [buildingName] nella città"
|
||||
French:"Construit un(e) [buildingName] gratuit(e) dans la ville"
|
||||
Simplified_Chinese:"城市获得一座免费的建筑:[buildingName]"
|
||||
Portuguese:"Provê um(a) [buildingName] grátis na cidade"
|
||||
}
|
||||
|
||||
"Requires worked [resource] near city":{
|
||||
Italian:"Richiede che la città sfrutti [resource]"
|
||||
French:"Nécessite l'exploitation de [resource] près de la ville"
|
||||
Simplified_Chinese:"需要城市附近有已开发的资源:[resource]"
|
||||
Portuguese:"Requer [resource] trabalhado perto da cidade"
|
||||
}
|
||||
|
||||
"Wonder is being built elsewhere":{
|
||||
Italian:"Meraviglia in costruzione altrove"
|
||||
Simplified_Chinese:"正在其他城市建造该奇观"
|
||||
French:"Cette merveille est déjà en construction ailleurs"
|
||||
Portuguese:"A maravilha está sendo construida em uma cidade estrangeira"
|
||||
}
|
||||
|
||||
"Requires a [buildingName] in all cities":{
|
||||
Italian:"Richiede [buildingName] in tutte le città"
|
||||
Simplified_Chinese:"需要所有城市建有[buildingName]"
|
||||
French:"Nécessite un(e) [buildingName] dans toutes les villes"
|
||||
Portuguese:"Requer um(a) [buildingName] em todas as cidades"
|
||||
}
|
||||
|
||||
"Requires a [buildingName] in this city":{
|
||||
Italian:"Richiede [buildingName] nella città"
|
||||
Simplified_Chinese:"需要城市建有[buildingName]"
|
||||
French:"Nécessite un(e) [buildingName] dans cette ville"
|
||||
Portuguese:"Requer um [buildingName] nessa cidade"
|
||||
}
|
||||
|
||||
"Requires [resource]":{
|
||||
Italian:"Richiede [resource]"
|
||||
Simplified_Chinese:"需要资源:[resource]"
|
||||
French:"[resource] requis(e)"
|
||||
Portuguese:"Requer [resource]"
|
||||
}
|
||||
|
||||
"Required tech: [requiredTech]":{
|
||||
Italian:"Tecnologie propedeutiche: [requiredTech]"
|
||||
French:"Nécessite la technologie: [requiredTech]"
|
||||
Simplified_Chinese:"需要科技:[requiredTech]"
|
||||
Portuguese:"Requer tecnologia: [requiredTech]"
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
1008
android/assets/jsons/Translations/Diplomacy,Trade,Nations.json
Normal file
1008
android/assets/jsons/Translations/Diplomacy,Trade,Nations.json
Normal file
File diff suppressed because it is too large
Load Diff
308
android/assets/jsons/Translations/NewGame,SaveGame,LoadGame.json
Normal file
308
android/assets/jsons/Translations/NewGame,SaveGame,LoadGame.json
Normal file
@ -0,0 +1,308 @@
|
||||
{
|
||||
|
||||
"Load copied data":{
|
||||
Italian:"Carica i dati copiati"
|
||||
Russian:"Загрузить скопированные данные"
|
||||
French:"Charger des données copiées"
|
||||
Romanian:"Încarcă date copiate"
|
||||
German:"Aus Zwischenablage laden"
|
||||
Dutch:"Gekopieerde data laden"
|
||||
Spanish:"Cargar datos copiados"
|
||||
Simplified_Chinese:"加载复制过的数据"
|
||||
Portuguese:"Carregar dados copiados"
|
||||
Japanese:"コピーしたデータを読み込む"
|
||||
}
|
||||
|
||||
"Could not load game from clipboard!":{
|
||||
Italian:"Impossibile caricare partita dagli appunti!"
|
||||
Romanian:"Jocul nu a putut fi încărcat din clipboard!"
|
||||
Simplified_Chinese:"无法从剪贴板加载游戏!"
|
||||
Portuguese:"Não foi possivel carregar o jogo da prancheta"
|
||||
German:"Das Spiel konnte nicht aus der Zwischenablage geladen werden!"
|
||||
French:"Impossible de charger la partie depuis le presse-papier"
|
||||
Japanese:"クリップボードからゲームを読み込めませんでした。"
|
||||
Russian:"Не удалось загрузить игру из буфера обмена!"
|
||||
Dutch:"Kon game niet van klembord laden!"
|
||||
Spanish:"No se pudo cargar el juego desde el portapapeles!"
|
||||
}
|
||||
|
||||
////// New game screen
|
||||
|
||||
/*
|
||||
"Civilization":{ //this word is not used in the game.
|
||||
Italian:"Civiltà"
|
||||
Russian:"Цивилизация"
|
||||
French:"Civilisation"
|
||||
Romanian:"Civilizaţie"
|
||||
Spanish:"Civilización"
|
||||
Simplified_Chinese:"文明"
|
||||
Portuguese:"Civilização"
|
||||
German:"Zivilisation"
|
||||
}
|
||||
*/
|
||||
|
||||
"World size":{ //not duplicate,the other one is wrong.
|
||||
Italian:"Dimensione della mappa"
|
||||
Russian:"Размер мира"
|
||||
French:"Taille du monde"
|
||||
Romanian:"Mărime pământ"
|
||||
Spanish:"Tamaño del mundo"
|
||||
Simplified_Chinese:"世界大小"
|
||||
Portuguese:"Tamanho do mundo"
|
||||
German:"Kartengröße"
|
||||
}
|
||||
|
||||
|
||||
"Start game!":{
|
||||
Italian:"Comincia la tua avventura!"
|
||||
Russian:"Начать игру!"
|
||||
French:"Démarrer la partie!"
|
||||
Romanian:"Începe jocul!"
|
||||
Spanish:"¡Empezar partida!"
|
||||
Simplified_Chinese:"开始游戏!"
|
||||
Portuguese:"Começar partida!"
|
||||
German:"Spiel starten!"
|
||||
Japanese:"ゲームを始める!"
|
||||
}
|
||||
|
||||
"Map type":{
|
||||
Italian:"Tipo di mappa"
|
||||
Russian:"Тип карты"
|
||||
French:"Type de carte"
|
||||
Romanian:"Tipul hărții"
|
||||
Spanish:"Tipo de mapa"
|
||||
Simplified_Chinese:"地图类型"
|
||||
Portuguese:"Tipo de mapa"
|
||||
German:"Kartentyp"
|
||||
Dutch:"Kaarttype"
|
||||
}
|
||||
|
||||
"Number of enemies":{ ///not duplicated,the word above this one is wrong.
|
||||
Italian:"Numero di avversari"
|
||||
Russian:"Количество врагов"
|
||||
French:"Nombre d'ennemies"
|
||||
Romanian:"Număr de inamici"
|
||||
Spanish:"Número de enemigos"
|
||||
Simplified_Chinese:"电脑玩家"
|
||||
Portuguese:"Número de inimigos"
|
||||
German:"Anzahl der Gegner"
|
||||
}
|
||||
|
||||
"Number of human players":{
|
||||
Italian:"Numero di giocatori"
|
||||
Russian:"Количество врагов"
|
||||
French:"Nombre de joueurs humains"
|
||||
Romanian:"Număr de inamici"
|
||||
Spanish:"Número de enemigos"
|
||||
Simplified_Chinese:"人类玩家"
|
||||
Portuguese:"Número de jogadores"
|
||||
German:"Anzahl der Gegner"
|
||||
}
|
||||
|
||||
"Difficulty":{
|
||||
Italian:"Difficoltà"
|
||||
Russian:"Сложность"
|
||||
French:"Difficulté"
|
||||
Romanian:"Dificultate"
|
||||
Spanish:"Dificultad"
|
||||
Simplified_Chinese:"难度"
|
||||
Portuguese:"Dificuldade"
|
||||
German:"Schwierigkeitsgrad"
|
||||
}
|
||||
|
||||
"Number of city-states":{
|
||||
Italian:"Numero di Città-Stato"
|
||||
}
|
||||
|
||||
"No barbarians":{
|
||||
Italian:"Niente barbari"
|
||||
}
|
||||
|
||||
|
||||
////////////// Save and load game
|
||||
|
||||
"Current saves":{
|
||||
Italian:"Salvataggio attuale"
|
||||
Russian:"Текущие сохранения"
|
||||
French:"Sauvegardes présentes"
|
||||
Romanian:"Salvări curente"
|
||||
German:"Gespeicherte Spiele"
|
||||
Dutch:"Huidige spellen"
|
||||
Spanish:"Partidas guardadas"
|
||||
Simplified_Chinese:"保存当前游戏"
|
||||
Portuguese:"Partidas salvas"
|
||||
}
|
||||
|
||||
"Saved game name":{
|
||||
Italian:"Nome del salvataggio"
|
||||
Russian:"Название сохранённой игры"
|
||||
French:"Nom de la partie sauvegardée"
|
||||
Romanian:"Numele jocului salvat"
|
||||
German:"Name des gespeicherten Spiels"
|
||||
Dutch:"Naam van opgeslagen spellen"
|
||||
Spanish:"Nombre de partida guardada"
|
||||
Simplified_Chinese:"游戏存档名称"
|
||||
Portuguese:"Nome do jogo salvo"
|
||||
}
|
||||
|
||||
"Copy to clipboard":{ //shouldn't it be "copy saved game to clipboard" ? //Y: technichally yes, but that's longer so doesn't fit as well into the button-space
|
||||
Italian:"Copia su appunti"
|
||||
French:"Copier dans le presse-papier"
|
||||
Simplified_Chinese:"复制到剪贴板"
|
||||
Portuguese:"Copiar" //means copy but it is correct because you can actually paste it as text
|
||||
}
|
||||
|
||||
"Could not load game":{
|
||||
Italian:"Impossibile caricare partita"
|
||||
Russian:"Не удалось загрузить игру"
|
||||
French:"Impossible de charger la partie"
|
||||
Romanian:"Jocul nu a putut fi încărcat"
|
||||
German:"Spiel konnte nicht geladen werden"
|
||||
Dutch:"Spel kon niet geladen worden"
|
||||
Spanish:"Imposible cargar partida"
|
||||
Simplified_Chinese:"无法读档"
|
||||
Portuguese:"Não foi possivel carregar a partida salva"
|
||||
}
|
||||
|
||||
"Load [saveFileName]":{ // as in "Load SaveFile2"
|
||||
Italian:"Carica [saveFileName]"
|
||||
Russian:"Загрузить [saveFileName]"
|
||||
French:"Charger [saveFileName]"
|
||||
Romanian:"Încarcă [saveFileName]"
|
||||
German:"[saveFileName] laden"
|
||||
Dutch:"[saveFileName] laden"
|
||||
Spanish:"Cargar [saveFileName]"
|
||||
Simplified_Chinese:"读取[saveFileName]"
|
||||
Portuguese:"Carregar [saveFileName]"
|
||||
}
|
||||
|
||||
"Delete save":{
|
||||
Italian:"Elimina salvataggio"
|
||||
Russian:"Удалить сохранение"
|
||||
French:"Supprimer la sauvegarde"
|
||||
Romanian:"Șterge jocul salvat"
|
||||
German:"Spiel löschen"
|
||||
Dutch:"Spel verwijderen"
|
||||
Spanish:"Borrar partida"
|
||||
Simplified_Chinese:"删除存档"
|
||||
Portuguese:"Apagar jogo salvo"
|
||||
}
|
||||
|
||||
"Saved at":{
|
||||
Italian:"Salvato su"
|
||||
Russian:"Сохранено в"
|
||||
French:"Enregistré sous"
|
||||
Romanian:"Salvat la"
|
||||
German:"Gespeichert um"
|
||||
Dutch:"Opgeslagen in"
|
||||
Spanish:"Guardado en"
|
||||
Simplified_Chinese:"保存在"
|
||||
Portuguese:"Salvo em"
|
||||
}
|
||||
|
||||
// Options
|
||||
|
||||
"Options":{
|
||||
Italian:"Opzioni"
|
||||
German:"Optionen"
|
||||
French:"Options"
|
||||
Japanese:"オプション"
|
||||
Russian:"Опции"
|
||||
Romanian:"Opțiuni"
|
||||
Dutch:"Opties"
|
||||
Spanish:"Opciones"
|
||||
Simplified_Chinese:"选项"
|
||||
Portuguese:"Opções"
|
||||
}
|
||||
|
||||
"Display options":{
|
||||
Italian:"Opzioni"
|
||||
Russian:"Параметры экрана"
|
||||
French:"Options d'affichage"
|
||||
Romanian:"Opțiuni afișaj"
|
||||
German:"Anzeigeeinstellungen"
|
||||
Dutch:"Weergaveopties"
|
||||
Spanish:"Opciones de pantalla"
|
||||
Simplified_Chinese:"显示选项"
|
||||
Portuguese:"Opções de Vídeo"
|
||||
Japanese:"表示オプション"
|
||||
}
|
||||
|
||||
"Turns between autosaves":{
|
||||
Italian:"Turni tra autosalvataggi"
|
||||
French:"Tours avant sauvegarde automatique"
|
||||
Simplified_Chinese:"自动存档回合数"
|
||||
Portuguese:"Turnos entre autosaves"
|
||||
}
|
||||
|
||||
"Sound effects volume":{
|
||||
Italian:"Volume effetti"
|
||||
French:"Volume sonore"
|
||||
Simplified_Chinese:"声效大小"
|
||||
}
|
||||
|
||||
"Show":{
|
||||
Italian:"Mostra"
|
||||
Russian:"Показать"
|
||||
French:"Montrer"
|
||||
Romanian:"Arată"
|
||||
German:"Anzeigen"
|
||||
Dutch:"Toon"
|
||||
Spanish:"Mostrar"
|
||||
Simplified_Chinese:"显示"
|
||||
Portuguese:"Mostrar"
|
||||
Japanese:"見せる"
|
||||
}
|
||||
|
||||
"Hide":{
|
||||
Italian:"Nascondi"
|
||||
Russian:"Спрятать"
|
||||
French:"Cacher"
|
||||
Romanian:"Ascunde"
|
||||
German:"Verstecken"
|
||||
Dutch:"Verberg"
|
||||
Spanish:"Ocultar"
|
||||
Simplified_Chinese:"隐藏"
|
||||
Portuguese:"Ocultar"
|
||||
Japanese:"隠す"
|
||||
}
|
||||
|
||||
"Worked tiles":{
|
||||
Italian:"Celle sfruttate"
|
||||
Russian:"обработанные клетки"
|
||||
French:"cases exploités"
|
||||
Romanian:"celule lucrate"
|
||||
German:"bearbeitete Felder"
|
||||
Dutch:"Bewerkte velden"
|
||||
Spanish:"casillas trabajadas"
|
||||
Simplified_Chinese:"工作的地块"
|
||||
Portuguese:"Terrenos trabalhados"
|
||||
Japanese:"働いたタイル"
|
||||
}
|
||||
|
||||
"Resources and improvements":{
|
||||
Italian:"Risorse e miglioramenti"
|
||||
Russian:"ресурсы и улучшения"
|
||||
French:"ressources et améliorations"
|
||||
Romanian:"resurse și îmbunătățiri"
|
||||
German:"Ressourcen und Verbesserungen"
|
||||
Dutch:"Grondstoffen en Verbeteringen"
|
||||
Spanish:"recursos y mejoras"
|
||||
Simplified_Chinese:"资源与设施"
|
||||
Portuguese:"recursos e melhorias"
|
||||
Japanese:"リソースと改善"
|
||||
}
|
||||
|
||||
"Check for idle units":{
|
||||
Italian:"Controlla unità inutilizzate"
|
||||
Simplified_Chinese:"查看未行动单位"
|
||||
Portuguese:"Cheque por unidades sem ordens",
|
||||
German: "Untätige Einheiten anzeigen bei Rundenende"
|
||||
}
|
||||
|
||||
"Move units with a single tap":{
|
||||
Italian:"Muovi unità con un solo tocco"
|
||||
German: "Einheiten mit einem Klick bewegen"
|
||||
}
|
||||
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -205,11 +205,11 @@ class Building : NamedStats(), IConstruction{
|
||||
return "Must be next to desert"
|
||||
|
||||
if ("Must be next to mountain" in uniques
|
||||
&& !construction.cityInfo.getCenterTile().getTilesInDistance(1).any { it.baseTerrain == "Mountain" })
|
||||
&& !construction.cityInfo.getCenterTile().neighbors.any { it.baseTerrain == "Mountain" })
|
||||
return "Must be next to mountain"
|
||||
|
||||
if("Can only be built in coastal cities" in uniques
|
||||
&& construction.cityInfo.getCenterTile().neighbors.none { it.baseTerrain=="Coast" })
|
||||
&& !construction.cityInfo.getCenterTile().neighbors.any { it.baseTerrain=="Coast" })
|
||||
return "Can only be built in coastal cities"
|
||||
|
||||
val civInfo = construction.cityInfo.civInfo
|
||||
|
@ -3,10 +3,10 @@ package com.unciv.models.gamebasics.tile
|
||||
import com.unciv.logic.civilization.CivilizationInfo
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.ICivilopedia
|
||||
import com.unciv.models.gamebasics.tr
|
||||
import com.unciv.models.stats.NamedStats
|
||||
import com.unciv.models.stats.Stats
|
||||
import java.util.*
|
||||
import com.unciv.models.gamebasics.tr
|
||||
|
||||
class TileImprovement : NamedStats(), ICivilopedia {
|
||||
|
||||
@ -48,7 +48,7 @@ class TileImprovement : NamedStats(), ICivilopedia {
|
||||
stringBuilder.appendln(it.key + " for ".tr() + it.value.joinToString(", "))
|
||||
}
|
||||
|
||||
if (techRequired != null) stringBuilder.appendln("Tech required: ".tr()+"$techRequired".tr())
|
||||
if (techRequired != null) stringBuilder.appendln("Required tech: [$techRequired]".tr())
|
||||
|
||||
return stringBuilder.toString()
|
||||
}
|
||||
|
@ -3,10 +3,10 @@ package com.unciv.models.gamebasics.tile
|
||||
import com.unciv.models.gamebasics.Building
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.ICivilopedia
|
||||
import com.unciv.models.gamebasics.tr
|
||||
import com.unciv.models.stats.NamedStats
|
||||
import com.unciv.models.stats.Stats
|
||||
import com.unciv.models.gamebasics.tr
|
||||
import java.util.ArrayList
|
||||
import java.util.*
|
||||
|
||||
class TileResource : NamedStats(), ICivilopedia {
|
||||
override val description: String
|
||||
@ -19,21 +19,21 @@ class TileResource : NamedStats(), ICivilopedia {
|
||||
}
|
||||
stringBuilder.appendln("Can be found on ".tr() + terrainsCanBeBuiltOnString.joinToString(", "))
|
||||
stringBuilder.appendln()
|
||||
stringBuilder.appendln("Improved by ".tr()+"$improvement".tr())
|
||||
stringBuilder.appendln("Improved by [$improvement]".tr())
|
||||
stringBuilder.appendln("Bonus stats for improvement: ".tr()+"$improvementStats".tr())
|
||||
return stringBuilder.toString()
|
||||
}
|
||||
|
||||
@JvmField var resourceType: ResourceType = ResourceType.Bonus
|
||||
@JvmField var terrainsCanBeFoundOn: List<String> = listOf()
|
||||
@JvmField var improvement: String? = null
|
||||
@JvmField var improvementStats: Stats? = null
|
||||
var resourceType: ResourceType = ResourceType.Bonus
|
||||
var terrainsCanBeFoundOn: List<String> = listOf()
|
||||
var improvement: String? = null
|
||||
var improvementStats: Stats? = null
|
||||
|
||||
/**
|
||||
* The building that improves this resource, if any. E.G.: Granary for wheat, Stable for cattle.
|
||||
*/
|
||||
@JvmField var building: String? = null
|
||||
@JvmField var revealedBy: String? = null
|
||||
var building: String? = null
|
||||
var revealedBy: String? = null
|
||||
|
||||
fun getBuilding(): Building? {
|
||||
return if (building == null) null else GameBasics.Buildings[building!!]
|
||||
|
@ -8,6 +8,7 @@ import com.unciv.logic.trade.TradeOffer
|
||||
import com.unciv.logic.trade.TradeOffersList
|
||||
import com.unciv.logic.trade.TradeType
|
||||
import com.unciv.logic.trade.TradeType.*
|
||||
import com.unciv.models.gamebasics.tr
|
||||
import com.unciv.ui.cityscreen.ExpanderTab
|
||||
import com.unciv.ui.utils.CameraStageBaseScreen
|
||||
import com.unciv.ui.utils.disable
|
||||
@ -35,7 +36,7 @@ class OffersListScroll(val onOfferClicked: (TradeOffer) -> Unit) : ScrollPane(nu
|
||||
}
|
||||
val offersOfType = offersToDisplay.filter { it.type == offertype }
|
||||
if (labelName!="" && offersOfType.any()) {
|
||||
expanderTabs[offertype] = ExpanderTab(labelName, CameraStageBaseScreen.skin)
|
||||
expanderTabs[offertype] = ExpanderTab(labelName.tr(), CameraStageBaseScreen.skin)
|
||||
expanderTabs[offertype]!!.innerTable.defaults().pad(5f)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user