Index: ps/trunk/binaries/data/mods/public/gui/session/messages.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/session/messages.js (revision 14990) +++ ps/trunk/binaries/data/mods/public/gui/session/messages.js (revision 14991) @@ -1,646 +1,653 @@ // Chat data const CHAT_TIMEOUT = 30000; const MAX_NUM_CHAT_LINES = 20; var chatMessages = []; var chatTimers = []; // Notification Data const NOTIFICATION_TIMEOUT = 10000; const MAX_NUM_NOTIFICATION_LINES = 3; var notifications = []; var notificationsTimers = []; var cheats = getCheatsData(); function getCheatsData() { var cheats = {}; var cheatFileList = getJSONFileList("simulation/data/cheats/"); for each (var fileName in cheatFileList) { var currentCheat = parseJSONData("simulation/data/cheats/"+fileName+".json"); if (Object.keys(cheats).indexOf(currentCheat.Name) !== -1) warn(sprintf("Cheat name '%(name)s' is already present", { name: currentCheat.Name })); else cheats[currentCheat.Name] = currentCheat.Data; } return cheats; } // Notifications function handleNotifications() { var notification = Engine.GuiInterfaceCall("GetNextNotification"); if (!notification) return; if (notification.type === undefined) notification.type = "text"; // Handle chat notifications specially - if (notification.type == "chat") + if (notification.type == "chat" || + notification.type == "aichat") { + if (notification.type == "aichat") + notification.message = translate(notification.message); var guid = findGuidForPlayerID(g_PlayerAssignments, notification.player); if (guid == undefined) { addChatMessage({ "type": "message", "guid": -1, "player": notification.player, "text": notification.message }); } else { addChatMessage({ "type": "message", "guid": findGuidForPlayerID(g_PlayerAssignments, notification.player), "text": notification.message }); } } else if (notification.type == "defeat") { addChatMessage({ "type": "defeat", "guid": findGuidForPlayerID(g_PlayerAssignments, notification.player), "player": notification.player }); // If the diplomacy panel is open refresh it. if (isDiplomacyOpen) openDiplomacy(); } else if (notification.type == "diplomacy") { addChatMessage({ "type": "diplomacy", "player": notification.player, "player1": notification.player1, "status": notification.status }); // If the diplomacy panel is open refresh it. if (isDiplomacyOpen) openDiplomacy(); } else if (notification.type == "quit") { // Used for AI testing exit(); } else if (notification.type == "tribute") { addChatMessage({ "type": "tribute", "player": notification.player, "player1": notification.player1, "amounts": notification.amounts }); } else if (notification.type == "attack") { if (notification.player == Engine.GetPlayerID()) { if (Engine.ConfigDB_GetValue("user", "gui.session.attacknotificationmessage") === "true") { addChatMessage({ "type": "attack", "player": notification.player, "attacker": notification.attacker }); } } } else if (notification.type == "text") { // Only display notifications directed to this player if (notification.player == Engine.GetPlayerID()) { notifications.push(notification); notificationsTimers.push(setTimeout(removeOldNotifications, NOTIFICATION_TIMEOUT)); if (notifications.length > MAX_NUM_NOTIFICATION_LINES) removeOldNotifications(); else displayNotifications(); } } else { warn("notification of unknown type!"); } } function removeOldNotifications() { clearTimeout(notificationsTimers[0]); // The timer only needs to be cleared when new notifications bump old notifications off notificationsTimers.shift(); notifications.shift(); displayNotifications(); } function displayNotifications() { var messages = []; for each (var n in notifications) { var parameters = n.parameters || {}; if (n.translateParameters) translateObjectKeys(parameters, n.translateParameters); var message = n.message; if (n.translateMessage) message = translate(message); messages.push(sprintf(message, parameters)); } Engine.GetGUIObjectByName("notificationText").caption = messages.join("\n"); } function updateTimeNotifications() { var notifications = Engine.GuiInterfaceCall("GetTimeNotifications"); var notificationText = ""; for (var n of notifications) { var message = n.message; if (n.translateMessage) message = translate(message); var parameters = n.parameters || {}; if (n.translateParameters) translateObjectKeys(parameters, n.translateParameters); parameters.time = timeToString(n.time); notificationText += sprintf(message, parameters) + "\n"; } Engine.GetGUIObjectByName("timeNotificationText").caption = notificationText; } // Returns [username, playercolor] for the given player function getUsernameAndColor(player) { // This case is hit for AIs, whose names don't exist in playerAssignments. var color = g_Players[player].color; return [ escapeText(g_Players[player].name), color.r + " " + color.g + " " + color.b, ]; } // Messages function handleNetMessage(message) { log(sprintf(translate("Net message: %(message)s"), { message: uneval(message) })); switch (message.type) { case "netstatus": // If we lost connection, further netstatus messages are useless if (g_Disconnected) return; var obj = Engine.GetGUIObjectByName("netStatus"); switch (message.status) { case "waiting_for_players": obj.caption = translate("Waiting for other players to connect..."); obj.hidden = false; break; case "join_syncing": obj.caption = translate("Synchronising gameplay with other players..."); obj.hidden = false; break; case "active": obj.caption = ""; obj.hidden = true; break; case "connected": obj.caption = translate("Connected to the server."); obj.hidden = false; break; case "authenticated": obj.caption = translate("Connection to the server has been authenticated."); obj.hidden = false; break; case "disconnected": g_Disconnected = true; obj.caption = translate("Connection to the server has been lost.") + "\n\n" + translate("The game has ended."); obj.hidden = false; break; default: error(sprintf("Unrecognised netstatus type %(netType)s", { netType: message.status })); break; } break; case "players": // Find and report all leavings for (var host in g_PlayerAssignments) { if (! message.hosts[host]) { // Tell the user about the disconnection addChatMessage({ "type": "disconnect", "guid": host }); // Update the cached player data, so we can display the disconnection status updatePlayerDataRemove(g_Players, host); } } // Find and report all joinings for (var host in message.hosts) { if (! g_PlayerAssignments[host]) { // Update the cached player data, so we can display the correct name updatePlayerDataAdd(g_Players, host, message.hosts[host]); // Tell the user about the connection addChatMessage({ "type": "connect", "guid": host }, message.hosts); } } g_PlayerAssignments = message.hosts; if (g_IsController) { var players = [ assignment.name for each (assignment in g_PlayerAssignments) ] Engine.SendChangeStateGame(Object.keys(g_PlayerAssignments).length, players.join(", ")); } break; case "chat": addChatMessage({ "type": "message", "guid": message.guid, "text": message.text }); break; + case "aichat": + addChatMessage({ "type": "message", "guid": message.guid, "text": translate(message.text) }); + break; + // To prevent errors, ignore these message types that occur during autostart case "gamesetup": case "start": break; default: error(sprintf("Unrecognised net message type %(messageType)s", { messageType: message.type })); } } function submitChatDirectly(text) { if (text.length) { if (g_IsNetworked) Engine.SendNetworkChat(text); else addChatMessage({ "type": "message", "guid": "local", "text": text }); } } function submitChatInput() { var input = Engine.GetGUIObjectByName("chatInput"); var text = input.caption; var isCheat = false; if (text.length) { if (!g_IsObserver && g_Players[Engine.GetPlayerID()].cheatsEnabled) { for each (var cheat in Object.keys(cheats)) { // Line must start with the cheat. if (text.indexOf(cheat) !== 0) continue; // test for additional parameter which is the rest of the string after the cheat var parameter = ""; if (cheats[cheat].DefaultParameter !== undefined) { var par = text.substr(cheat.length); par = par.replace(/^\W+/, '').replace(/\W+$/, ''); // remove whitespaces at start and end // check, if the isNumeric flag is set if (cheats[cheat].isNumeric) { // Match the first word in the substring. var match = par.match(/\S+/); if (match && match[0]) par = Math.floor(match[0]); // check, if valid number could be parsed if (par <= 0 || isNaN(par)) par = ""; } // replace default parameter, if not empty or number if (par.length > 0 || parseFloat(par) === par) parameter = par; else parameter = cheats[cheat].DefaultParameter; } Engine.PostNetworkCommand({ "type": "cheat", "action": cheats[cheat].Action, "parameter": parameter, "text": cheats[cheat].Type, "selected": g_Selection.toList(), "templates": cheats[cheat].Templates, "player": Engine.GetPlayerID()}); isCheat = true; break; } } if (!isCheat) { if (Engine.GetGUIObjectByName("toggleTeamChat").checked) text = "/team " + text; if (g_IsNetworked) Engine.SendNetworkChat(text); else addChatMessage({ "type": "message", "guid": "local", "text": text }); } input.caption = ""; // Clear chat input } input.blur(); // Remove focus toggleChatWindow(); } function addChatMessage(msg, playerAssignments) { // Default to global assignments, but allow overriding for when reporting // new players joining if (!playerAssignments) playerAssignments = g_PlayerAssignments; var playerColor, username; // No context by default. May be set by parseChatCommands(). msg.context = ""; if (playerAssignments[msg.guid]) { var n = playerAssignments[msg.guid].player; // Observers have an ID of -1 which is not a valid index. if (n < 0) n = 0; playerColor = g_Players[n].color.r + " " + g_Players[n].color.g + " " + g_Players[n].color.b; username = escapeText(playerAssignments[msg.guid].name); // Parse in-line commands in regular messages. if (msg.type == "message") parseChatCommands(msg, playerAssignments); } else if (msg.type == "defeat" && msg.player) { [username, playerColor] = getUsernameAndColor(msg.player); } else if (msg.type == "message") { [username, playerColor] = getUsernameAndColor(msg.player); parseChatCommands(msg, playerAssignments); } else { playerColor = "255 255 255"; username = translate("Unknown player"); } var formatted; switch (msg.type) { case "connect": formatted = sprintf(translate("%(player)s has joined the game."), { player: "[color=\"" + playerColor + "\"]" + username + "[/color]" }); break; case "disconnect": formatted = sprintf(translate("%(player)s has left the game."), { player: "[color=\"" + playerColor + "\"]" + username + "[/color]" }); break; case "defeat": // In singleplayer, the local player is "You". "You has" is incorrect. if (!g_IsNetworked && msg.player == Engine.GetPlayerID()) formatted = translate("You have been defeated."); else formatted = sprintf(translate("%(player)s has been defeated."), { player: "[color=\"" + playerColor + "\"]" + username + "[/color]" }); break; case "diplomacy": var status = (msg.status == "ally" ? "allied" : (msg.status == "enemy" ? "at war" : "neutral")); if (msg.player == Engine.GetPlayerID()) { [username, playerColor] = getUsernameAndColor(msg.player1); if (msg.status == "ally") formatted = sprintf(translate("You are now allied with %(player)s."), { player: "[color=\"" + playerColor + "\"]" + username + "[/color]" }); else if (msg.status == "enemy") formatted = sprintf(translate("You are now at war with %(player)s."), { player: "[color=\"" + playerColor + "\"]" + username + "[/color]" }); else // (msg.status == "neutral") formatted = sprintf(translate("You are now neutral with %(player)s."), { player: "[color=\"" + playerColor + "\"]" + username + "[/color]" }); } else if (msg.player1 == Engine.GetPlayerID()) { [username, playerColor] = getUsernameAndColor(msg.player); if (msg.status == "ally") formatted = sprintf(translate("%(player)s is now allied with you."), { player: "[color=\"" + playerColor + "\"]" + username + "[/color]" }); else if (msg.status == "enemy") formatted = sprintf(translate("%(player)s is now at war with you."), { player: "[color=\"" + playerColor + "\"]" + username + "[/color]" }); else // (msg.status == "neutral") formatted = sprintf(translate("%(player)s is now neutral with you."), { player: "[color=\"" + playerColor + "\"]" + username + "[/color]" }); } else // No need for other players to know of this. return; break; case "tribute": if (msg.player != Engine.GetPlayerID()) return; [username, playerColor] = getUsernameAndColor(msg.player1); // Format the amounts to proper English: 200 food, 100 wood, and 300 metal; 100 food; 400 wood and 200 stone var amounts = Object.keys(msg.amounts) .filter(function (type) { return msg.amounts[type] > 0; }) .map(function (type) { return msg.amounts[type] + " " + type; }); if (amounts.length > 1) { var lastAmount = amounts.pop(); amounts = sprintf(translate("%(previousAmounts)s and %(lastAmount)s"), { previousAmounts: amounts.join(translate(", ")), lastAmount: lastAmount }); } formatted = sprintf(translate("%(player)s has sent you %(amounts)s."), { player: "[color=\"" + playerColor + "\"]" + username + "[/color]", amounts: amounts }); break; case "attack": if (msg.player != Engine.GetPlayerID()) return; [username, playerColor] = getUsernameAndColor(msg.attacker); formatted = sprintf(translate("You have been attacked by %(attacker)s!"), { attacker: "[color=\"" + playerColor + "\"]" + username + "[/color]" }); break; case "message": // May have been hidden by the 'team' command. if (msg.hide) return; var message = escapeText(msg.text); if (msg.action) { if (msg.context !== "") { Engine.Console_Write(sprintf(translate("(%(context)s) * %(user)s %(message)s"), { context: msg.context, user: username, message: message })); formatted = sprintf(translate("(%(context)s) * %(user)s %(message)s"), { context: msg.context, user: "[color=\"" + playerColor + "\"]" + username + "[/color]", message: message }); } else { Engine.Console_Write(sprintf(translate("* %(user)s %(message)s"), { user: username, message: message })); formatted = sprintf(translate("* %(user)s %(message)s"), { user: "[color=\"" + playerColor + "\"]" + username + "[/color]", message: message }); } } else { var userTag = sprintf(translate("<%(user)s>"), { user: username }) var formattedUserTag = sprintf(translate("<%(user)s>"), { user: "[color=\"" + playerColor + "\"]" + username + "[/color]" }) if (msg.context !== "") { Engine.Console_Write(sprintf(translate("(%(context)s) %(userTag)s %(message)s"), { context: msg.context, userTag: userTag, message: message })); formatted = sprintf(translate("(%(context)s) %(userTag)s %(message)s"), { context: msg.context, userTag: formattedUserTag, message: message }); } else { Engine.Console_Write(sprintf(translate("%(userTag)s %(message)s"), { userTag: userTag, message: message})); formatted = sprintf(translate("%(userTag)s %(message)s"), { userTag: formattedUserTag, message: message}); } } break; default: error(sprintf("Invalid chat message '%(message)s'", { message: uneval(msg) })); return; } chatMessages.push(formatted); chatTimers.push(setTimeout(removeOldChatMessages, CHAT_TIMEOUT)); if (chatMessages.length > MAX_NUM_CHAT_LINES) removeOldChatMessages(); else Engine.GetGUIObjectByName("chatText").caption = chatMessages.join("\n"); } function removeOldChatMessages() { clearTimeout(chatTimers[0]); // The timer only needs to be cleared when new messages bump old messages off chatTimers.shift(); chatMessages.shift(); Engine.GetGUIObjectByName("chatText").caption = chatMessages.join("\n"); } // Parses chat messages for commands. function parseChatCommands(msg, playerAssignments) { // Only interested in messages that start with '/'. if (!msg.text || msg.text[0] != '/') return; var sender; if (playerAssignments[msg.guid]) sender = playerAssignments[msg.guid].player; else sender = msg.player; var recurse = false; var split = msg.text.split(/\s/); // Parse commands embedded in the message. switch (split[0]) { case "/all": // Resets values that 'team' or 'enemy' may have set. msg.context = ""; msg.hide = false; recurse = true; break; case "/team": // Check if we are in a team. if (g_Players[Engine.GetPlayerID()] && g_Players[Engine.GetPlayerID()].team != -1) { if (g_Players[Engine.GetPlayerID()].team != g_Players[sender].team) msg.hide = true; else msg.context = translate("Team"); } else msg.hide = true; recurse = true; break; case "/enemy": // Check if we are in a team. if (g_Players[Engine.GetPlayerID()] && g_Players[Engine.GetPlayerID()].team != -1) { if (g_Players[Engine.GetPlayerID()].team == g_Players[sender].team && sender != Engine.GetPlayerID()) msg.hide = true; else msg.context = translate("Enemy"); } recurse = true; break; case "/me": msg.action = true; break; case "/msg": var trimmed = msg.text.substr(split[0].length + 1); var matched = ""; // Reject names which don't match or are a superset of the intended name. for each (var player in playerAssignments) if (trimmed.indexOf(player.name + " ") == 0 && player.name.length > matched.length) matched = player.name; // If the local player's name was the longest one matched, show the message. var playerName = g_Players[Engine.GetPlayerID()].name; if (matched.length && (matched == playerName || sender == Engine.GetPlayerID())) { msg.context = translate("Private"); msg.text = trimmed.substr(matched.length + 1); msg.hide = false; // Might override team message hiding. return; } else msg.hide = true; break; default: return; } msg.text = msg.text.substr(split[0].length + 1); // Hide the message if parsing commands left it empty. if (!msg.text.length) msg.hide = true; // Attempt to parse more commands if the current command allows it. if (recurse) parseChatCommands(msg, playerAssignments); } Index: ps/trunk/binaries/data/mods/public/l10n/public.pot =================================================================== --- ps/trunk/binaries/data/mods/public/l10n/public.pot (revision 14990) +++ ps/trunk/binaries/data/mods/public/l10n/public.pot (revision 14991) @@ -1,17944 +1,18347 @@ # Translation template for 0 A.D. — Empires Ascendant. # Copyright © 2014 Wildfire Games # This file is distributed under the same license as the 0 A.D. — Empires # Ascendant project. # msgid "" msgstr "" "Project-Id-Version: 0 A.D. — Empires Ascendant\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-04-25 03:52+0200\n" +"POT-Creation-Date: 2014-04-25 05:26+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Potter 1.0\n" -#: globalscripts/l10n.js:138 +#: globalscripts/l10n.js:100 msgctxt "enumeration" msgid ", " msgstr "" #: gui/aiconfig/aiconfig.js:10 msgctxt "ai" msgid "None" msgstr "" #: gui/aiconfig/aiconfig.js:10 msgid "AI will be disabled for this player." msgstr "" #: gui/aiconfig/aiconfig.js:28 msgid "Sandbox" msgstr "" #: gui/aiconfig/aiconfig.js:28 msgid "Easy" msgstr "" #: gui/aiconfig/aiconfig.js:28 #: gui/gamesetup/gamesetup.js:13 #: simulation/data/map_sizes.json:Sizes[2].Name msgid "Medium" msgstr "" #: gui/aiconfig/aiconfig.js:28 msgid "Hard" msgstr "" #: gui/aiconfig/aiconfig.js:28 msgid "Very Hard" msgstr "" #: gui/civinfo/civinfo.js:94 #, python-format msgid "%(civilization)s Gameplay" msgstr "" #: gui/civinfo/civinfo.js:97 msgid "Civilization Bonus" msgid_plural "Civilization Bonuses" msgstr[0] "" msgstr[1] "" #: gui/civinfo/civinfo.js:105 msgid "Team Bonus" msgid_plural "Team Bonuses" msgstr[0] "" msgstr[1] "" #: gui/civinfo/civinfo.js:117 msgid "Special Technologies" msgstr "" #: gui/civinfo/civinfo.js:129 #: simulation/templates/template_structure_special.xml:42 #: simulation/templates/structures/brit_kennel.xml:32 #: simulation/templates/structures/celt_kennel.xml:32 msgid "Special Building" msgid_plural "Special Buildings" msgstr[0] "" msgstr[1] "" #: gui/civinfo/civinfo.js:141 #: gui/summary/summary.xml:423 (caption) msgid "Heroes" msgstr "" #: gui/civinfo/civinfo.js:158 #, python-format msgid "History of the %(civilization)s" msgstr "" #: gui/common/functions_global_object.js:73 #, python-format msgid "FPS: %(fps)s" msgstr "" #: gui/common/functions_utility.js:263 msgid "mm:ss" msgstr "" #: gui/common/functions_utility.js:265 msgid "HH:mm:ss" msgstr "" #: gui/common/functions_utility_error.js:22 msgid "Loading Aborted" msgstr "" #: gui/common/functions_utility_list.js:14 #: gui/common/functions_utility_list.js:44 #: gui/common/functions_utility_list.js:69 #: gui/common/functions_utility_list.js:84 #: gui/common/functions_utility_list.js:101 #: gui/common/functions_utility_list.js:113 #: gui/common/functions_utility_list.js:125 #: gui/common/functions_utility_list.js:141 #, python-format msgid "%(functionName)s: %(object)s not found." msgstr "" #: gui/common/functions_utility_list.js:161 #, python-format msgid "Requested string '%(string)s' not found in %(object)s's list." msgstr "" #: gui/common/functions_utility_loadsave.js:8 msgid "yyyy-MM-dd HH:mm:ss" msgstr "" #: gui/common/functions_utility_loadsave.js:9 #, python-format msgid "[%(date)s]" msgstr "" #: gui/common/functions_utility_loadsave.js:18 #, python-format msgid "%(dateString)s %(map)s - %(description)s" msgstr "" #: gui/common/functions_utility_loadsave.js:20 #, python-format msgid "%(dateString)s %(map)s" msgstr "" #: gui/common/network.js:6 msgid "Unknown reason" msgstr "" #: gui/common/network.js:7 msgid "Unexpected shutdown" msgstr "" #: gui/common/network.js:8 msgid "Incorrect network protocol version" msgstr "" #: gui/common/network.js:9 msgid "Game has already started" msgstr "" #: gui/common/network.js:10 #, python-format msgid "[Invalid value %(id)s]" msgstr "" #: gui/common/network.js:19 msgid "Lost connection to the server." msgstr "" #: gui/common/network.js:19 #, python-format msgid "Reason: %(reason)s." msgstr "" #: gui/common/network.js:20 msgid "Disconnected" msgstr "" #: gui/gamesetup/gamesetup.js:7 msgid "Conquest" msgstr "" #: gui/gamesetup/gamesetup.js:7 #: simulation/templates/template_structure_wonder.xml:35 msgid "Wonder" msgstr "" #: gui/gamesetup/gamesetup.js:7 msgctxt "victory" msgid "None" msgstr "" #: gui/gamesetup/gamesetup.js:10 msgid "Unlimited" msgstr "" #: gui/gamesetup/gamesetup.js:13 msgid "Very Low" msgstr "" #: gui/gamesetup/gamesetup.js:13 msgid "Low" msgstr "" #: gui/gamesetup/gamesetup.js:13 msgid "High" msgstr "" #: gui/gamesetup/gamesetup.js:13 msgid "Very High" msgstr "" #: gui/gamesetup/gamesetup.js:13 msgid "Deathmatch" msgstr "" #: gui/gamesetup/gamesetup.js:57 #, python-format msgid "" "%(warning)s The AI does not support naval maps and may cause severe " "performance issues. Naval maps are recommended to be played with human " "opponents only." msgstr "" #: gui/gamesetup/gamesetup.js:58 msgid "Warning:" msgstr "" #: gui/gamesetup/gamesetup.js:95 msgid "Return to the main menu." msgstr "" #: gui/gamesetup/gamesetup.js:99 msgid "Return to the lobby." msgstr "" #: gui/gamesetup/gamesetup.js:129 #: gui/lobby/lobby.js:37 msgctxt "map" msgid "Skirmish" msgstr "" #: gui/gamesetup/gamesetup.js:129 #: gui/gamesetup/gamesetup.js:569 #: gui/gamesetup/gamesetup.js:605 #: gui/lobby/lobby.js:37 msgctxt "map" msgid "Random" msgstr "" #: gui/gamesetup/gamesetup.js:129 #: gui/lobby/lobby.js:37 #: gui/summary/summary.js:508 msgid "Scenario" msgstr "" #: gui/gamesetup/gamesetup.js:133 #: gui/gamesetup/gamesetup.js:1084 #: gui/gamesetup/gamesetup.js:1161 msgid "Default" msgstr "" #: gui/gamesetup/gamesetup.js:134 msgid "Naval Maps" msgstr "" #: gui/gamesetup/gamesetup.js:135 msgid "Demo Maps" msgstr "" #: gui/gamesetup/gamesetup.js:136 msgid "All Maps" msgstr "" #: gui/gamesetup/gamesetup.js:346 #: gui/session/menu.js:292 msgctxt "team" msgid "None" msgstr "" #: gui/gamesetup/gamesetup.js:518 #: gui/gamesetup/gamesetup.js:1224 msgctxt "civilization" msgid "Random" msgstr "" #: gui/gamesetup/gamesetup.js:605 msgid "Randomly selects a map from the list" msgstr "" #: gui/gamesetup/gamesetup.js:714 #: gui/gamesetup/gamesetup.js:831 #: gui/session/session.js:19 msgid "You" msgstr "" #: gui/gamesetup/gamesetup.js:908 #, python-format msgid "%(playerName)s %(romanNumber)s" msgstr "" #: gui/gamesetup/gamesetup.js:1047 msgid "Map size:" msgstr "" #: gui/gamesetup/gamesetup.js:1049 #: gui/gamesetup/gamesetup.js:1108 msgid "Reveal map:" msgstr "" #: gui/gamesetup/gamesetup.js:1050 msgid "Explored map:" msgstr "" #: gui/gamesetup/gamesetup.js:1054 #: gui/gamesetup/gamesetup.js:1113 msgid "Victory condition:" msgstr "" #: gui/gamesetup/gamesetup.js:1056 #: gui/gamesetup/gamesetup.js:1115 msgid "Teams locked:" msgstr "" #: gui/gamesetup/gamesetup.js:1075 #: gui/gamesetup/gamesetup.js:1076 #: gui/gamesetup/gamesetup.js:1078 #: gui/gamesetup/gamesetup.js:1131 #: gui/gamesetup/gamesetup.js:1132 #: gui/gamesetup/gamesetup.js:1134 #: gui/gamesetup/gamesetup.js:1162 #: gui/gamesetup/gamesetup.js:1163 #: gui/gamesetup/gamesetup.js:1165 #: gui/msgbox/msgbox.js:33 #: gui/pregame/mainmenu.js:348 #: gui/savedgames/load.js:44 #: gui/savedgames/load.js:106 #: gui/savedgames/save.js:59 #: gui/savedgames/save.js:89 #: gui/session/menu.js:139 #: gui/session/menu.js:164 #: gui/session/menu.js:185 #: gui/session/session.js:488 msgid "Yes" msgstr "" #: gui/gamesetup/gamesetup.js:1075 #: gui/gamesetup/gamesetup.js:1076 #: gui/gamesetup/gamesetup.js:1078 #: gui/gamesetup/gamesetup.js:1131 #: gui/gamesetup/gamesetup.js:1132 #: gui/gamesetup/gamesetup.js:1134 #: gui/gamesetup/gamesetup.js:1162 #: gui/gamesetup/gamesetup.js:1163 #: gui/gamesetup/gamesetup.js:1165 #: gui/msgbox/msgbox.js:33 #: gui/pregame/mainmenu.js:348 #: gui/savedgames/load.js:44 #: gui/savedgames/load.js:106 #: gui/savedgames/save.js:59 #: gui/savedgames/save.js:89 #: gui/session/menu.js:139 #: gui/session/menu.js:164 #: gui/session/menu.js:185 #: gui/session/session.js:488 msgid "No" msgstr "" #: gui/gamesetup/gamesetup.js:1109 msgid "Explore map:" msgstr "" #: gui/gamesetup/gamesetup.js:1179 #: gui/lobby/lobby.js:388 msgid "Sorry, no description available." msgstr "" #: gui/gamesetup/gamesetup.js:1185 #, python-format msgid "%(number)s player. %(description)s" msgid_plural "%(number)s players. %(description)s" msgstr[0] "" msgstr[1] "" #: gui/gamesetup/gamesetup.js:1322 #, python-format msgid "AI: %(ai)s" msgstr "" #: gui/gamesetup/gamesetup.js:1327 msgid "Unassigned" msgstr "" #: gui/gamesetup/gamesetup.js:1520 #, python-format msgid "%(username)s has joined" msgstr "" #: gui/gamesetup/gamesetup.js:1525 #, python-format msgid "%(username)s has left" msgstr "" #: gui/gamesetup/gamesetup.js:1530 #, python-format msgid "<%(username)s>" msgstr "" #: gui/gamesetup/gamesetup.js:1531 #, python-format msgid "%(username)s %(message)s" msgstr "" #: gui/gamesetup/gamesetup_mp.js:34 #, python-format msgid "%(name)s's game" msgstr "" #: gui/gamesetup/gamesetup_mp.js:60 msgid "Connecting to server..." msgstr "" #: gui/gamesetup/gamesetup_mp.js:79 #: gui/session/messages.js:189 #, python-format msgid "Net message: %(message)s" msgstr "" #: gui/gamesetup/gamesetup_mp.js:136 msgid "Registering with server..." msgstr "" #: gui/gamesetup/gamesetup_mp.js:142 msgid "Game has already started, rejoining..." msgstr "" #: gui/gamesetup/gamesetup_mp.js:185 msgid "Game name already in use." msgstr "" #: gui/gamesetup/gamesetup_mp.js:241 #, python-format msgid "%(playername)s's game" msgstr "" #: gui/loading/loading.js:51 #, python-format msgid "Loading \"%(map)s\"" msgstr "" #: gui/loading/loading.js:55 #, python-format msgid "Generating \"%(map)s\"" msgstr "" #: gui/lobby/lobby.js:25 msgctxt "map size" msgid "Any" msgstr "" #: gui/lobby/lobby.js:33 msgctxt "player number" msgid "Any" msgstr "" #: gui/lobby/lobby.js:37 msgctxt "map" msgid "Any" msgstr "" #: gui/lobby/lobby.js:305 msgid "Busy" msgstr "" #: gui/lobby/lobby.js:310 msgid "Away" msgstr "" #: gui/lobby/lobby.js:314 msgid "Online" msgstr "" #: gui/lobby/lobby.js:318 msgid "Offline" msgstr "" #: gui/lobby/lobby.js:323 msgctxt "lobby presence" msgid "Unknown" msgstr "" #: gui/lobby/lobby.js:363 msgid "A randomly selected map." msgstr "" #: gui/lobby/lobby.js:416 #, python-format msgid "This game's address '%(ip)s' does not appear to be valid." msgstr "" #: gui/lobby/lobby.js:497 #, python-format msgid "%(nick)s has joined." msgstr "" #: gui/lobby/lobby.js:506 #, python-format msgid "%(nick)s has left." msgstr "" #: gui/lobby/lobby.js:513 #, python-format msgid "Invalid nickname: %(nick)s" msgstr "" #: gui/lobby/lobby.js:520 #, python-format msgid "%(oldnick)s is now known as %(newnick)s." msgstr "" #: gui/lobby/lobby.js:674 #, python-format msgid "We're sorry, the '%(cmd)s' command is not supported." msgstr "" #. Translation: IRC message prefix when the sender uses the /me command. #: gui/lobby/lobby.js:754 #, python-format msgid "* %(sender)s" msgstr "" #. Translation: IRC message issued using the ‘/me’ command. #: gui/lobby/lobby.js:756 #, python-format msgid "%(sender)s %(action)s" msgstr "" #. Translation: IRC message prefix. #: gui/lobby/lobby.js:760 #: gui/lobby/lobby.js:771 #: gui/lobby/lobby.js:784 #, python-format msgid "<%(sender)s>" msgstr "" #. Translation: IRC message. #: gui/lobby/lobby.js:762 #: gui/lobby/lobby.js:773 #: gui/lobby/lobby.js:786 #, python-format msgid "%(sender)s %(message)s" msgstr "" #. Translation: IRC system message. #: gui/lobby/lobby.js:767 #, python-format msgid "== %(message)s" msgstr "" #. Translation: Time as shown in the multiplayer lobby (when you enable it in the #. options page). #. For a list of symbols that you can use, see: #. https://sites.google.com/site/icuprojectuserguide/formatparse/datetime?pli=1#TOC-Date-Field-Symbol-Table #: gui/lobby/lobby.js:798 msgid "HH:mm" msgstr "" #. Translation: Time prefix as shown in the multiplayer lobby (when you enable it #. in the options page). #: gui/lobby/lobby.js:801 #, python-format msgid "[%(time)s]" msgstr "" #. Translation: IRC message format when there is a time prefix. #: gui/lobby/lobby.js:804 #, python-format msgid "%(time)s %(message)s" msgstr "" #: gui/lobby/lobby.js:854 msgid "Please do not spam. You have been blocked for thirty seconds." msgstr "" #: gui/lobby/prelobby.js:35 msgid "Connecting..." msgstr "" #: gui/lobby/prelobby.js:61 msgid "Passwords do not match" msgstr "" #: gui/lobby/prelobby.js:68 msgid "Registering..." msgstr "" #: gui/lobby/prelobby.js:109 #: gui/lobby/prelobby.js:123 msgid "Please enter existing login or desired registration credentials." msgstr "" #: gui/lobby/prelobby.js:114 #: gui/lobby/prelobby.js:122 msgid "Usernames can't contain [, ], unicode, whitespace, or commas." msgstr "" #: gui/locale/locale_advanced.js:22 #: gui/locale/locale_advanced.js:76 msgctxt "localeCountry" msgid "None" msgstr "" #: gui/locale/locale_advanced.js:89 msgid "" msgstr "" #: gui/msgbox/msgbox.js:37 #: gui/pregame/mainmenu.js:185 #: gui/session/session.js:482 #: gui/aiconfig/aiconfig.xml:42 (caption) #: gui/gamesetup/gamesetup.xml:334 (caption) #: gui/splashscreen/splashscreen.xml:27 (caption) msgid "OK" msgstr "" #: gui/msgbox/msgbox.js:41 msgid "Retry" msgstr "" #: gui/msgbox/msgbox.js:41 msgid "Ignore" msgstr "" #: gui/msgbox/msgbox.js:41 msgid "Abort" msgstr "" #: gui/options/options.js:8 msgid "Windowed Mode" msgstr "" #: gui/options/options.js:8 msgid "Start 0 A.D. in windowed mode" msgstr "" #: gui/options/options.js:9 msgid "Background Pause" msgstr "" #: gui/options/options.js:9 msgid "Pause single player games when window loses focus" msgstr "" #: gui/options/options.js:13 msgid "Prefer GLSL" msgstr "" #: gui/options/options.js:13 msgid "Use OpenGL 2.0 shaders (recommended)" msgstr "" #: gui/options/options.js:14 msgid "Post Processing" msgstr "" #: gui/options/options.js:14 msgid "Use screen-space postprocessing filters (HDR, Bloom, DOF, etc)" msgstr "" #: gui/options/options.js:15 msgid "Shadows" msgstr "" #: gui/options/options.js:15 msgid "Enable shadows" msgstr "" #: gui/options/options.js:16 msgid "Particles" msgstr "" #: gui/options/options.js:16 msgid "Enable particles" msgstr "" #: gui/options/options.js:17 msgid "Show Sky" msgstr "" #: gui/options/options.js:17 msgid "Render Sky" msgstr "" #: gui/options/options.js:18 msgid "Smooth LOS" msgstr "" #: gui/options/options.js:18 msgid "Lift darkness and fog-of-war smoothly (Requires Prefer GLSL)." msgstr "" #: gui/options/options.js:19 msgid "Unit Silhouettes" msgstr "" #: gui/options/options.js:19 msgid "Show outlines of units behind buildings" msgstr "" #: gui/options/options.js:20 msgid "Shadow Filtering" msgstr "" #: gui/options/options.js:20 msgid "Smooth shadows" msgstr "" #: gui/options/options.js:21 msgid "HQ Waviness" msgstr "" #: gui/options/options.js:21 msgid "" "Use real normals for ocean-wave rendering, instead of applying them as a flat" " texture" msgstr "" #: gui/options/options.js:22 msgid "Real Water Depth" msgstr "" #: gui/options/options.js:22 msgid "Use actual water depth in rendering calculations" msgstr "" #: gui/options/options.js:23 msgid "Water Reflections" msgstr "" #: gui/options/options.js:23 msgid "Allow water to reflect a mirror image" msgstr "" #: gui/options/options.js:24 msgid "Water Refraction" msgstr "" #: gui/options/options.js:24 msgid "Use a real water refraction map and not transparency" msgstr "" #: gui/options/options.js:25 msgid "Shore Foam" msgstr "" #: gui/options/options.js:25 msgid "Show foam on water near shore depending on water waviness" msgstr "" #: gui/options/options.js:26 msgid "Shore Waves" msgstr "" #: gui/options/options.js:26 msgid "Show breaking waves on water near shore (Requires HQ Waviness)" msgstr "" #: gui/options/options.js:27 msgid "Water Shadows" msgstr "" #: gui/options/options.js:27 msgid "Cast shadows on water" msgstr "" #: gui/options/options.js:28 msgid "VSync" msgstr "" #: gui/options/options.js:28 msgid "Run vertical sync to fix screen tearing. REQUIRES GAME RESTART" msgstr "" #: gui/options/options.js:32 msgid "Master Gain" msgstr "" #: gui/options/options.js:32 msgid "Master audio gain" msgstr "" #: gui/options/options.js:33 msgid "Music Gain" msgstr "" #: gui/options/options.js:33 msgid "In game music gain" msgstr "" #: gui/options/options.js:34 msgid "Ambient Gain" msgstr "" #: gui/options/options.js:34 msgid "In game ambient sound gain" msgstr "" #: gui/options/options.js:35 msgid "Action Gain" msgstr "" #: gui/options/options.js:35 msgid "In game unit action sound gain" msgstr "" #: gui/options/options.js:36 msgid "UI Gain" msgstr "" #: gui/options/options.js:36 msgid "UI sound gain" msgstr "" #: gui/options/options.js:40 msgid "Chat Backlog" msgstr "" #: gui/options/options.js:40 msgid "Number of backlogged messages to load when joining the lobby" msgstr "" #: gui/options/options.js:41 msgid "Chat Timestamp" msgstr "" #: gui/options/options.js:41 msgid "Show time that messages are posted in the lobby chat" msgstr "" #: gui/pregame/mainmenu.js:106 msgid "disabled" msgstr "" #: gui/pregame/mainmenu.js:109 msgid "connecting to server" msgstr "" #: gui/pregame/mainmenu.js:114 #, c-format msgid "uploading (%f%%)" msgstr "" #: gui/pregame/mainmenu.js:121 msgid "upload succeeded" msgstr "" #: gui/pregame/mainmenu.js:123 #, python-format msgid "upload failed (%(errorCode)s)" msgstr "" #: gui/pregame/mainmenu.js:130 #, python-format msgid "upload failed (%(errorMessage)s)" msgstr "" #: gui/pregame/mainmenu.js:133 msgid "unknown" msgstr "" #: gui/pregame/mainmenu.js:176 #, python-format msgid "" "%(startWarning)sWarning:%(endWarning)s You appear to be using non-shader " "(fixed function) graphics. This option will be removed in a future 0 A.D. " "release, to allow for more advanced graphics features. We advise upgrading " "your graphics card to a more recent, shader-compatible model." msgstr "" #. Translation: This is the second paragraph of a warning. The #. warning explains that the user is using “non-shader“ graphics, #. and that in the future this will not be supported by the game, so #. the user will need a better graphics card. #: gui/pregame/mainmenu.js:182 msgid "Please press \"Read More\" for more information or \"OK\" to continue." msgstr "" #: gui/pregame/mainmenu.js:183 msgid "WARNING!" msgstr "" #: gui/pregame/mainmenu.js:185 msgid "Read More" msgstr "" #: gui/pregame/mainmenu.js:286 #: gui/session/session.js:921 #, python-format msgid "Build: %(buildDate)s (%(revision)s)" msgstr "" #: gui/pregame/mainmenu.js:350 msgid "Are you sure you want to quit 0 A.D.?" msgstr "" #: gui/pregame/mainmenu.js:350 #: gui/session/menu.js:141 #: gui/session/menu.js:164 #: gui/session/menu.js:172 msgid "Confirmation" msgstr "" #: gui/pregame/mainmenu.js:360 msgid "The scenario editor is not available or failed to load." msgstr "" #: gui/pregame/mainmenu.js:360 msgid "Error" msgstr "" #: gui/pregame/mainmenu.js:365 msgid "Launch the multiplayer lobby. [DISABLED BY BUILD]" msgstr "" #: gui/savedgames/load.js:10 #: gui/savedgames/save.js:30 msgid "No saved games found" msgstr "" #: gui/savedgames/load.js:46 msgid "This saved game may not be compatible:" msgstr "" #: gui/savedgames/load.js:48 #, python-format msgid "" "It needs 0 A.D. version %(requiredVersion)s, while you are running version " "%(currentVersion)s." msgstr "" #: gui/savedgames/load.js:58 #, python-format msgid "It does not need any mod while you are running with \"%(currentMod)s\"." msgstr "" #: gui/savedgames/load.js:62 #, python-format msgid "It needs the mod \"%(requiredMod)s\" while you are running without a mod." msgstr "" #: gui/savedgames/load.js:66 #, python-format msgid "" "It needs the mod \"%(requiredMod)s\" while you are running with " "\"%(currentMod)s\"." msgstr "" #: gui/savedgames/load.js:71 msgid "Do you still want to proceed?" msgstr "" #: gui/savedgames/load.js:72 msgid "Warning" msgstr "" #: gui/savedgames/load.js:108 #: gui/savedgames/save.js:61 #: gui/savedgames/save.js:91 #, python-format msgid "\"%(label)s\"" msgstr "" #: gui/savedgames/load.js:108 #: gui/savedgames/save.js:91 msgid "Saved game will be permanently deleted, are you sure?" msgstr "" #: gui/savedgames/load.js:108 #: gui/savedgames/save.js:91 msgid "DELETE" msgstr "" #: gui/savedgames/save.js:61 msgid "Saved game will be permanently overwritten, are you sure?" msgstr "" #: gui/savedgames/save.js:61 msgid "OVERWRITE SAVE" msgstr "" #: gui/session/input.js:149 #, python-format msgid "Basic range: %(range)s" msgstr "" #: gui/session/input.js:149 #, python-format msgid "Average bonus range: %(range)s" msgstr "" #: gui/session/input.js:264 #: gui/session/input.js:357 #, python-format msgid "Current garrison: %(garrisoned)s/%(capacity)s" msgstr "" #: gui/session/input.js:306 msgid "Right-click to establish a default route for new traders." msgstr "" #: gui/session/input.js:308 #: gui/session/input.js:389 #: gui/session/input.js:396 #: gui/session/input.js:406 #, python-format msgid "Gain: %(gain)s" msgstr "" #: gui/session/input.js:310 #, python-format msgid "Expected gain: %(gain)s" msgstr "" #: gui/session/input.js:387 msgid "Origin trade market." msgstr "" #: gui/session/input.js:393 msgid "Right-click on another market to set it as a destination trade market." msgstr "" #: gui/session/input.js:396 msgid "Destination trade market." msgstr "" #: gui/session/input.js:401 msgid "Right-click to set as origin trade market" msgstr "" #: gui/session/input.js:406 msgid "Right-click to set as destination trade market." msgstr "" #: gui/session/input.js:996 msgid "Cannot build wall here!" msgstr "" #: gui/session/menu.js:1 #: gui/session/session.xml:924 (caption) msgid "Pause" msgstr "" #: gui/session/menu.js:2 msgid "Resume" msgstr "" #: gui/session/menu.js:141 msgid "Are you sure you want to resign?" msgstr "" #: gui/session/menu.js:152 msgid "Are you sure you want to quit? Leaving will disconnect all other players." msgstr "" #: gui/session/menu.js:157 #: gui/session/menu.js:162 msgid "Are you sure you want to quit?" msgstr "" #: gui/session/menu.js:169 msgid "I resign" msgstr "" #: gui/session/menu.js:169 msgid "I will return" msgstr "" #: gui/session/menu.js:172 msgid "Do you want to resign or will you return soon?" msgstr "" #: gui/session/menu.js:188 msgid "Destroy everything currently selected?" msgstr "" #: gui/session/menu.js:188 #: gui/session/utility_functions.js:296 #: gui/savedgames/load.xml:30 (caption) #: gui/savedgames/save.xml:42 (caption) msgid "Delete" msgstr "" #: gui/session/menu.js:295 #: gui/session/session.xml:440 (tooltip) msgid "Ally" msgstr "" #: gui/session/menu.js:295 #: gui/session/session.xml:444 (tooltip) msgid "Neutral" msgstr "" #: gui/session/menu.js:295 -#: gui/session/messages.js:605 +#: gui/session/messages.js:609 #: gui/session/session.xml:448 (tooltip) #: maps/scenarios/Sandbox - Mauryans.xml:42:PlayerData[1].Name msgid "Enemy" msgstr "" #: gui/session/menu.js:356 #: gui/session/menu.js:363 #: gui/session/menu.js:370 msgid "x" msgstr "" #: gui/session/menu.js:481 msgid "There are no land traders." msgstr "" #: gui/session/menu.js:487 #, python-format msgid "%(numberOfLandTraders)s inactive" msgid_plural "%(numberOfLandTraders)s inactive" msgstr[0] "" msgstr[1] "" #: gui/session/menu.js:491 #, python-format msgid "There is %(numberTrading)s land trader trading" msgid_plural "There are %(numberTrading)s land traders trading" msgstr[0] "" msgstr[1] "" #: gui/session/menu.js:494 #, python-format msgid "%(numberGarrisoned)s garrisoned on a trading merchant ship" msgid_plural "%(numberGarrisoned)s garrisoned on a trading merchant ship" msgstr[0] "" msgstr[1] "" #: gui/session/menu.js:497 #, python-format msgid "%(openingTradingString)s, %(garrisonedString)s, and %(inactiveString)s." msgstr "" #: gui/session/menu.js:505 #, python-format msgid "%(openingTradingString)s, and %(garrisonedString)s." msgstr "" #: gui/session/menu.js:515 #: gui/session/menu.js:577 #, python-format msgid "%(openingTradingString)s, and %(inactiveString)s." msgstr "" #: gui/session/menu.js:522 #: gui/session/menu.js:584 #, python-format msgid "%(openingTradingString)s." msgstr "" #: gui/session/menu.js:532 #, python-format msgid "" "There is %(numberGarrisoned)s land trader garrisoned on a trading merchant " "ship" msgid_plural "" "There are %(numberGarrisoned)s land traders garrisoned on a trading merchant " "ship" msgstr[0] "" msgstr[1] "" #: gui/session/menu.js:535 #, python-format msgid "%(openingGarrisonedString)s, and %(inactiveString)s." msgstr "" #: gui/session/menu.js:542 #, python-format msgid "%(openingGarrisonedString)s." msgstr "" #: gui/session/menu.js:551 #, python-format msgid "%(numberOfLandTraders)s land trader inactive" msgid_plural "%(numberOfLandTraders)s land traders inactive" msgstr[0] "" msgstr[1] "" #: gui/session/menu.js:552 #: gui/session/menu.js:594 #, python-format msgid "There is %(inactiveString)s." msgid_plural "There are %(inactiveString)s." msgstr[0] "" msgstr[1] "" #: gui/session/menu.js:564 msgid "There are no merchant ships." msgstr "" #: gui/session/menu.js:570 #, python-format msgid "%(numberOfShipTraders)s inactive" msgid_plural "%(numberOfShipTraders)s inactive" msgstr[0] "" msgstr[1] "" #: gui/session/menu.js:574 #, python-format msgid "There is %(numberTrading)s merchant ship trading" msgid_plural "There are %(numberTrading)s merchant ships trading" msgstr[0] "" msgstr[1] "" #: gui/session/menu.js:593 #, python-format msgid "%(numberOfShipTraders)s merchant ship inactive" msgid_plural "%(numberOfShipTraders)s merchant ships inactive" msgstr[0] "" msgstr[1] "" #: gui/session/menu.js:682 msgid "The Developer Overlay was opened." msgstr "" #: gui/session/menu.js:684 msgid "The Developer Overlay was closed." msgstr "" #: gui/session/menu.js:702 #, python-format msgid "" "Tribute %(resourceAmount)s %(resourceType)s to %(playerName)s. Shift-click to" " tribute %(greaterAmount)s." msgstr "" #: gui/session/messages.js:202 msgid "Waiting for other players to connect..." msgstr "" #: gui/session/messages.js:206 msgid "Synchronising gameplay with other players..." msgstr "" #: gui/session/messages.js:214 msgid "Connected to the server." msgstr "" #: gui/session/messages.js:218 msgid "Connection to the server has been authenticated." msgstr "" #: gui/session/messages.js:223 msgid "Connection to the server has been lost." msgstr "" #: gui/session/messages.js:223 msgid "The game has ended." msgstr "" -#: gui/session/messages.js:403 +#: gui/session/messages.js:407 msgid "Unknown player" msgstr "" -#: gui/session/messages.js:411 +#: gui/session/messages.js:415 #, python-format msgid "%(player)s has joined the game." msgstr "" -#: gui/session/messages.js:414 +#: gui/session/messages.js:418 #, python-format msgid "%(player)s has left the game." msgstr "" -#: gui/session/messages.js:419 +#: gui/session/messages.js:423 msgid "You have been defeated." msgstr "" -#: gui/session/messages.js:421 +#: gui/session/messages.js:425 #, python-format msgid "%(player)s has been defeated." msgstr "" -#: gui/session/messages.js:429 +#: gui/session/messages.js:433 #, python-format msgid "You are now allied with %(player)s." msgstr "" -#: gui/session/messages.js:431 +#: gui/session/messages.js:435 #, python-format msgid "You are now at war with %(player)s." msgstr "" -#: gui/session/messages.js:433 +#: gui/session/messages.js:437 #, python-format msgid "You are now neutral with %(player)s." msgstr "" -#: gui/session/messages.js:439 +#: gui/session/messages.js:443 #, python-format msgid "%(player)s is now allied with you." msgstr "" -#: gui/session/messages.js:441 +#: gui/session/messages.js:445 #, python-format msgid "%(player)s is now at war with you." msgstr "" -#: gui/session/messages.js:443 +#: gui/session/messages.js:447 #, python-format msgid "%(player)s is now neutral with you." msgstr "" -#: gui/session/messages.js:462 +#: gui/session/messages.js:466 #, python-format msgid "%(previousAmounts)s and %(lastAmount)s" msgstr "" -#: gui/session/messages.js:463 +#: gui/session/messages.js:467 #: gui/session/utility_functions.js:174 #: gui/session/utility_functions.js:224 #: gui/session/utility_functions.js:250 #: gui/session/utility_functions.js:279 #: gui/session/utility_functions.js:580 #: gui/session/utility_functions.js:698 #: gui/session/utility_functions.js:703 msgid ", " msgstr "" -#: gui/session/messages.js:468 +#: gui/session/messages.js:472 #, python-format msgid "%(player)s has sent you %(amounts)s." msgstr "" -#: gui/session/messages.js:478 +#: gui/session/messages.js:482 #, python-format msgid "You have been attacked by %(attacker)s!" msgstr "" -#: gui/session/messages.js:491 -#: gui/session/messages.js:496 +#: gui/session/messages.js:495 +#: gui/session/messages.js:500 #, python-format msgid "(%(context)s) * %(user)s %(message)s" msgstr "" -#: gui/session/messages.js:504 #: gui/session/messages.js:508 +#: gui/session/messages.js:512 #, python-format msgid "* %(user)s %(message)s" msgstr "" -#: gui/session/messages.js:516 -#: gui/session/messages.js:517 +#: gui/session/messages.js:520 +#: gui/session/messages.js:521 #, python-format msgid "<%(user)s>" msgstr "" -#: gui/session/messages.js:520 -#: gui/session/messages.js:525 +#: gui/session/messages.js:524 +#: gui/session/messages.js:529 #, python-format msgid "(%(context)s) %(userTag)s %(message)s" msgstr "" -#: gui/session/messages.js:533 -#: gui/session/messages.js:534 +#: gui/session/messages.js:537 +#: gui/session/messages.js:538 #, python-format msgid "%(userTag)s %(message)s" msgstr "" -#: gui/session/messages.js:592 +#: gui/session/messages.js:596 #: gui/gamesetup/gamesetup.xml:86 (caption) #: gui/session/session.xml:433 (caption) msgid "Team" msgstr "" -#: gui/session/messages.js:625 +#: gui/session/messages.js:629 msgid "Private" msgstr "" #: gui/session/selection_details.js:32 #, python-format msgid "%(genericName)s — Packed" msgstr "" #: gui/session/selection_details.js:44 #, python-format msgid "[OFFLINE] %(player)s" msgstr "" #: gui/session/selection_details.js:50 #, python-format msgid "%(rank)s Rank" msgstr "" #: gui/session/selection_details.js:68 #, python-format msgid "%(hitpoints)s / %(maxHitpoints)s" msgstr "" #: gui/session/selection_details.js:95 #, python-format msgid "%(experience)s %(current)s / %(required)s" msgstr "" #: gui/session/selection_details.js:96 #: gui/session/selection_details.js:102 msgid "Experience:" msgstr "" #: gui/session/selection_details.js:101 #, python-format msgid "%(experience)s %(current)s" msgstr "" #: gui/session/selection_details.js:115 msgid "∞" msgstr "" #: gui/session/selection_details.js:116 #: gui/session/selection_details.js:149 #: gui/session/selection_details.js:180 #, python-format msgid "%(amount)s / %(max)s" msgstr "" #: gui/session/selection_details.js:125 #, python-format msgid "%(resource)s:" msgstr "" #: gui/session/selection_details.js:164 #, python-format msgid "Gain: %(amount)s" msgstr "" #: gui/session/selection_details.js:173 msgid "Number of builders" msgstr "" #: gui/session/selection_details.js:181 msgid "Current/max gatherers" msgstr "" #: gui/session/selection_details.js:196 #, python-format msgid "(%(genericName)s)" msgstr "" #: gui/session/selection_details.js:226 #: gui/session/session.js:648 msgid "Armor:" msgstr "" #: gui/session/selection_details.js:227 #: gui/session/selection_details.js:238 #: gui/session/session.js:646 #: gui/session/session.js:649 #, python-format msgid "%(label)s %(details)s" msgstr "" #: gui/session/selection_details.js:234 msgid "Interval:" msgstr "" #: gui/session/selection_details.js:236 msgid "Rate:" msgstr "" #: gui/session/selection_details.js:249 #: gui/session/session.js:641 #: gui/session/utility_functions.js:602 msgid "Range:" msgstr "" #: gui/session/selection_details.js:251 msgid "meters" msgstr "" #: gui/session/selection_details.js:254 #: gui/session/selection_details.js:264 #, python-format msgid "" "%(label)s %(details)s, %(rangeLabel)s %(range)s %(meters)s (%(relative)s), " "%(rate)s" msgstr "" #: gui/session/selection_details.js:274 #, python-format msgid "%(label)s %(details)s, %(rangeLabel)s %(range)s %(meters)s, %(rate)s" msgstr "" #: gui/session/selection_details.js:285 #, python-format msgid "%(label)s %(details)s, %(rate)s" msgstr "" #: gui/session/selection_details.js:341 msgid "Hitpoints:" msgstr "" #: gui/session/selection_details.js:342 #: gui/session/session.js:632 #, python-format msgid "%(label)s %(current)s / %(max)s" msgstr "" #: gui/session/session.js:170 #: simulation/data/player_defaults.json:PlayerData[0].Name #: simulation/templates/template_gaia.xml:5 msgid "Gaia" msgstr "" #: gui/session/session.js:312 #: gui/session/session.js:328 msgid "You have left the game." msgstr "" #: gui/session/session.js:319 msgid "You have been disconnected." msgstr "" #: gui/session/session.js:321 msgid "You have won the battle!" msgstr "" #: gui/session/session.js:323 msgid "You have been defeated..." msgstr "" #: gui/session/session.js:331 msgid "You have abandoned the game." msgstr "" #: gui/session/session.js:484 msgid "Press OK to continue" msgstr "" #: gui/session/session.js:490 msgid "Do you want to quit?" msgstr "" #: gui/session/session.js:496 msgid "DEFEATED!" msgstr "" #: gui/session/session.js:504 msgid "VICTORIOUS!" msgstr "" #: gui/session/session.js:631 #: gui/session/session.xml:1148 (tooltip) msgid "Health:" msgstr "" #: gui/session/session.js:637 #, python-format msgid "%(attackLabel)s %(details)s, %(rangeLabel)s %(range)s" msgstr "" #: gui/session/session.js:815 #, python-format msgid "%(time)s (%(speed)sx)" msgstr "" #: gui/session/session.js:904 #, python-format msgid "Unrecognized ambient type: %(ambientType)s" msgstr "" #: gui/session/session.js:926 msgid "" "Note: time warp mode is a developer option, and not intended for use over " "long periods of time. Using it incorrectly may cause the game to run out of " "memory or crash." msgstr "" #: gui/session/session.js:926 msgid "Time warp mode" msgstr "" #: gui/session/unit_commands.js:149 #, python-format msgid "Current Count: %(count)s, Limit: %(limit)s." msgstr "" #: gui/session/unit_commands.js:184 #, python-format msgid "%(buildings)s*%(batchSize)s" msgstr "" #: gui/session/unit_commands.js:193 msgid "Shift-click" msgstr "" #: gui/session/unit_commands.js:202 #, python-format msgid "%(action)s to train %(number)s (%(fullBatch)s + %(remainderBatch)s)." msgstr "" #: gui/session/unit_commands.js:209 #, python-format msgid "%(action)s to train %(number)s (%(fullBatch)s)." msgstr "" #: gui/session/unit_commands.js:216 #, python-format msgid "%(action)s to train %(number)s." msgstr "" #: gui/session/unit_commands.js:228 msgid "Violent" msgstr "" #: gui/session/unit_commands.js:231 msgid "Aggressive" msgstr "" #: gui/session/unit_commands.js:234 msgid "Passive" msgstr "" #: gui/session/unit_commands.js:237 msgid "Defensive" msgstr "" #: gui/session/unit_commands.js:240 msgid "Standground" msgstr "" #: gui/session/unit_commands.js:441 msgid "Insufficient population capacity:" msgstr "" #: gui/session/unit_commands.js:441 #, python-format msgid "%(population)s %(neededSlots)s" msgstr "" #: gui/session/unit_commands.js:459 #, python-format msgid "Unload %(name)s" msgstr "" #: gui/session/unit_commands.js:459 msgid "Single-click to unload 1. Shift-click to unload all of this type." msgstr "" #: gui/session/unit_commands.js:708 #, python-format msgid "Requires %(technology)s" msgstr "" #: gui/session/unit_commands.js:953 #, python-format msgid "Set/unset %(resource)s as forced trading goods." msgstr "" #: gui/session/unit_commands.js:1152 msgid "Convert Wooden Wall into Wooden Gate" msgstr "" #: gui/session/unit_commands.js:1156 msgid "Convert Stone Wall into City Gate" msgstr "" #: gui/session/unit_commands.js:1160 msgid "Convert Siege Wall into Siege Wall Gate" msgstr "" #: gui/session/unit_commands.js:1165 #, python-format msgid "Convert %(wall)s into %(gate)s" msgstr "" #: gui/session/unit_commands.js:1182 msgid "Lock Gate" msgstr "" #: gui/session/unit_commands.js:1188 msgid "Unlock Gate" msgstr "" #: gui/session/unit_commands.js:1237 msgid "Pack" msgstr "" #: gui/session/unit_commands.js:1239 msgid "Unpack" msgstr "" #: gui/session/unit_commands.js:1241 msgid "Cancel Packing" msgstr "" #: gui/session/unit_commands.js:1243 msgid "Cancel Unpacking" msgstr "" #: gui/session/utility_functions.js:155 #: gui/session/utility_functions.js:202 #: gui/session/utility_functions.js:231 #: gui/session/utility_functions.js:257 msgid "(None)" msgstr "" #: gui/session/utility_functions.js:159 #: gui/session/utility_functions.js:164 #: gui/session/utility_functions.js:169 #: gui/session/utility_functions.js:235 #: gui/session/utility_functions.js:240 #: gui/session/utility_functions.js:245 #, python-format msgid "%(damage)s %(damageType)s" msgstr "" #: gui/session/utility_functions.js:161 #: gui/session/utility_functions.js:208 #: gui/session/utility_functions.js:237 #: gui/session/utility_functions.js:263 msgid "Hack" msgstr "" #: gui/session/utility_functions.js:166 #: gui/session/utility_functions.js:214 #: gui/session/utility_functions.js:242 #: gui/session/utility_functions.js:269 msgid "Pierce" msgstr "" #: gui/session/utility_functions.js:171 #: gui/session/utility_functions.js:220 #: gui/session/utility_functions.js:247 #: gui/session/utility_functions.js:275 msgid "Crush" msgstr "" #: gui/session/utility_functions.js:182 #, python-format msgid "%(arrowString)s / %(timeString)s" msgstr "" #: gui/session/utility_functions.js:183 #, python-format msgid "%(arrows)s arrow" msgid_plural "%(arrows)s arrows" msgstr[0] "" msgstr[1] "" #: gui/session/utility_functions.js:184 #: gui/session/utility_functions.js:188 #, python-format msgid "%(time)s second" msgid_plural "%(time)s seconds" msgstr[0] "" msgstr[1] "" #: gui/session/utility_functions.js:206 #: gui/session/utility_functions.js:212 #: gui/session/utility_functions.js:218 #: gui/session/utility_functions.js:261 #: gui/session/utility_functions.js:267 #: gui/session/utility_functions.js:273 #, python-format msgid "%(damage)s %(damageType)s %(armorPercentage)s" msgstr "" #: gui/session/utility_functions.js:209 #: gui/session/utility_functions.js:215 #: gui/session/utility_functions.js:221 #: gui/session/utility_functions.js:264 #: gui/session/utility_functions.js:270 #: gui/session/utility_functions.js:276 #, python-format msgid "(%(armorPercentage)s)" msgstr "" #: gui/session/utility_functions.js:289 msgid "Unload All" msgstr "" #: gui/session/utility_functions.js:304 msgid "Stop" msgstr "" #: gui/session/utility_functions.js:309 msgid "Garrison" msgstr "" #: gui/session/utility_functions.js:318 msgid "Repair" msgstr "" #: gui/session/utility_functions.js:327 msgid "Focus on Rally Point" msgstr "" #: gui/session/utility_functions.js:336 msgid "Back to Work" msgstr "" #: gui/session/utility_functions.js:345 msgid "Guard" msgstr "" #: gui/session/utility_functions.js:354 msgid "Remove guard" msgstr "" #: gui/session/utility_functions.js:363 msgid "Select trading goods" msgstr "" #: gui/session/utility_functions.js:373 msgid "Increase the alert level to protect more units" msgstr "" #: gui/session/utility_functions.js:375 msgid "Raise an alert!" msgstr "" #: gui/session/utility_functions.js:386 msgid "End of alert." msgstr "" #: gui/session/utility_functions.js:433 #: gui/session/utility_functions.js:434 #: gui/session/utility_functions.js:435 #: gui/session/utility_functions.js:436 #: gui/session/utility_functions.js:437 #: gui/session/utility_functions.js:438 #: gui/session/utility_functions.js:562 #, python-format msgid "%(component)s %(cost)s" msgstr "" #. Translation: This string is part of the resources cost string on #. the tooltip for wall structures. #: gui/session/utility_functions.js:492 #, python-format msgid "%(resourceIcon)s %(minimum)s to %(resourceIcon)s %(maximum)s" msgstr "" #: gui/session/utility_functions.js:525 #, python-format msgid "Walls: %(costs)s" msgstr "" #: gui/session/utility_functions.js:525 #: gui/session/utility_functions.js:526 #: gui/session/utility_functions.js:531 #: gui/session/utility_functions.js:567 msgid " " msgstr "" #: gui/session/utility_functions.js:526 #, python-format msgid "Towers: %(costs)s" msgstr "" #: gui/session/utility_functions.js:548 #, python-format msgid "%(label)s %(populationBonus)s" msgstr "" #: gui/session/utility_functions.js:549 msgid "Population Bonus:" msgstr "" #: gui/session/utility_functions.js:567 msgid "Insufficient resources:" msgstr "" #: gui/session/utility_functions.js:575 msgid "Speed:" msgstr "" #: gui/session/utility_functions.js:577 #: gui/session/utility_functions.js:578 #, python-format msgid "%(speed)s %(movementType)s" msgstr "" #: gui/session/utility_functions.js:577 msgid "Walk" msgstr "" #: gui/session/utility_functions.js:578 msgid "Run" msgstr "" #: gui/session/utility_functions.js:580 #, python-format msgid "%(label)s %(speeds)s" msgstr "" #: gui/session/utility_functions.js:599 #, python-format msgid "%(attackLabel)s %(damageTypes)s, %(rangeLabel)s %(range)s" msgstr "" #: gui/session/utility_functions.js:608 #, python-format msgid "%(attackLabel)s %(damageTypes)s" msgstr "" #: gui/session/utility_functions.js:624 #, python-format msgid "%(specificName)s (%(genericName)s)" msgstr "" #: gui/session/utility_functions.js:634 msgid "???" msgstr "" #: gui/session/utility_functions.js:664 #, python-format msgid "%(rank)s %(name)s" msgstr "" #: gui/session/utility_functions.js:688 #: gui/session/utility_functions.js:690 msgid "+" msgstr "" #: gui/session/utility_functions.js:692 #: gui/session/utility_functions.js:698 #: gui/session/utility_functions.js:703 #, python-format msgid "%(gain)s (%(player)s)" msgstr "" #: gui/session/utility_functions.js:694 msgid "you" msgstr "" #: gui/session/utility_functions.js:700 #: gui/session/utility_functions.js:705 #, python-format msgid "player %(name)s" msgstr "" #: gui/session/utility_functions.js:713 msgid "Charge Attack:" msgstr "" #: gui/session/utility_functions.js:714 msgid "Melee Attack:" msgstr "" #: gui/session/utility_functions.js:715 msgid "Ranged Attack:" msgstr "" #: gui/session/utility_functions.js:718 msgid "Attack:" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:741 msgctxt "firstWord" msgid "Food" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:743 msgctxt "firstWord" msgid "Meat" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:745 msgctxt "firstWord" msgid "Metal" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:747 msgctxt "firstWord" msgid "Ore" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:749 msgctxt "firstWord" msgid "Rock" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:751 msgctxt "firstWord" msgid "Ruins" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:753 msgctxt "firstWord" msgid "Stone" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:755 msgctxt "firstWord" msgid "Treasure" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:757 msgctxt "firstWord" msgid "Tree" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:759 msgctxt "firstWord" msgid "Wood" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:761 msgctxt "firstWord" msgid "Fruit" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:763 msgctxt "firstWord" msgid "Grain" msgstr "" #. Translation: Word as used at the beginning of a sentence or as a single-word #. sentence. #: gui/session/utility_functions.js:765 msgctxt "firstWord" msgid "Fish" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:776 msgctxt "withinSentence" msgid "Food" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:778 msgctxt "withinSentence" msgid "Meat" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:780 msgctxt "withinSentence" msgid "Metal" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:782 msgctxt "withinSentence" msgid "Ore" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:784 msgctxt "withinSentence" msgid "Rock" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:786 msgctxt "withinSentence" msgid "Ruins" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:788 msgctxt "withinSentence" msgid "Stone" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:790 msgctxt "withinSentence" msgid "Treasure" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:792 msgctxt "withinSentence" msgid "Tree" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:794 msgctxt "withinSentence" msgid "Wood" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:796 msgctxt "withinSentence" msgid "Fruit" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:798 msgctxt "withinSentence" msgid "Grain" msgstr "" #. Translation: Word as used in the middle of a sentence (which may require using #. lowercase for your language). #: gui/session/utility_functions.js:800 msgctxt "withinSentence" msgid "Fish" msgstr "" #: gui/splashscreen/splashscreen.js:9 #, python-format msgid "" "Opening %(url)s\n" " in default web browser. Please wait..." msgstr "" #: gui/splashscreen/splashscreen.js:9 msgid "Opening page" msgstr "" #: gui/summary/summary.js:510 #, python-format msgid "Time elapsed: %(time)s" msgstr "" #: gui/summary/summary.js:531 #, python-format msgid "%(mapName)s - %(mapType)s" msgstr "" +#: simulation/ai/tutorial-ai/economic_walkthrough.js:3 +msgid "" +"Warning: This is an advanced tutorial and goes quite fast. If you don't keep " +"up just restart and try again. Practise makes perfect!" +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:8 +msgid "" +"Lets get started, first train a batch (shift click) of 5 female citizens from" +" the CC (Civil Center)." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:13 +msgid "" +"Now, assign your female citizens to gather berries, your cavalryman to hunt " +"the chickens and the citizen soldiers to gather wood." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:18 +msgid "Now set the rally point of your civil center on the berries." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:23 +msgid "" +"Queue some slingers to train after the female citizens, you won't have enough" +" resources for a batch." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:28 +msgid "" +"When your female citizens have finished training, use 4 to build a house " +"nearby." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:33 +msgid "" +"Set the CC's rally point on the nearby trees, queue more slingers, you want " +"to train 6 right now." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:38 +msgid "Queue a batch of 5 female citizens." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:43 +msgid "Use shift-click to queue another house for the 4 builders." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:48 +msgid "" +"Set the rally point back to the berries once all of the citizen soldiers have" +" finished training." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:53 +msgid "" +"Send one citizen soldier to gather stone, send 2 others to build a storehouse" +" near the southern trees." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:58 +#: simulation/ai/tutorial-ai/economic_walkthrough.js:78 +msgid "Queue another 5 female citizens." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:63 +msgid "Use a female citizen to construct a field next to your CC." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:68 +msgid "" +"Your cavalryman has probably run out of chickens by now, there are some goats" +" to the left of your base." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:73 +msgid "Use 2-3 more female citizens to contruct the field." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:83 +#: simulation/ai/tutorial-ai/economic_walkthrough.js:128 +#: simulation/ai/tutorial-ai/economic_walkthrough.js:138 +#: simulation/ai/tutorial-ai/economic_walkthrough.js:163 +#: simulation/ai/tutorial-ai/economic_walkthrough.js:188 +msgid "Queue another house." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:88 +msgid "" +"The berry bushes are getting crowded, send some female citizens to work the " +"field, set the rally point there." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:93 +msgid "Queue another 5 female citizens, these should gather stone." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:98 +msgid "" +"Move your woodcutters to the trees near the storehouse so they dont have to " +"walk as far." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:103 +msgid "" +"Make sure the workers from the berry bushes are used to gather from the field" +" rather than standing idle when they run out." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:108 +msgid "Queue another house to be built." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:113 +msgid "Queue 5 more female citizens. These will gather wood." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:118 +msgid "" +"Build another field, this decreases the amount of walking for your female " +"citizens." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:123 +msgid "" +"Train some more slingers, send them to gather stone. Train about 5, you may " +"not have enough resources for a batch right now." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:133 +msgid "Queue another batch of 5 female citizens these are for wood." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:143 +msgid "Queue a batch of spearmen." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:148 +msgid "Research the stone mining technology from the storehouse." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:153 +msgid "Queue a batch of slingers." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:158 +msgid "" +"Move 3 women from wood and 3 from stone to farming. Women are cheap to train " +"initially but later in the game it is best to maxinmize efficiency as you are" +" able to train more citizen soldiers." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:168 +msgid "The slingers that you queue earlier should gather stone once they are trained." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:173 +msgid "Queue a batch of spearmen, they should gather wood." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:178 +msgid "Next queue a batch of slingers." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:183 +msgid "Send some of the stone miners to mine metal, getting ready for the next age." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:193 +msgid "Start researching Phase 2." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:198 +msgid "Queue some slingers." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:203 +msgid "Your fields may start getting exhausted, remember to rebuild them." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:208 +msgid "" +"When you have advanced, use a single citizen soldier to place a barracks " +"foundation. Then use the rest of the non food or house building female " +"citizens to construct it." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:213 +msgid "Queue 5 more females for construction work." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:218 +msgid "Queue a batch of slingers to gather the trees on the north side of your base." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:223 +msgid "" +"This is the end of the walkthrough. This should give you a good idea of how " +"to build up a nice economy rapidly." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:228 +msgid "" +"At this point you should be able to fully use both training facilities, keep " +"putting units into economic work, to keep growing faster and faster." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:233 +msgid "" +"From this point you have a good base to build an army and wipe out the " +"opposition." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:238 +msgid "The key points to remember are:" +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:243 +msgid "" +" - Don't have any idle units. Shift click queueing and rally points are very " +"useful." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:248 +msgid "" +" - Use all of your resources, stockpiled resources are waste, having too much" +" of a resource is waste." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:253 +msgid "" +" - Use the right units for the right task, female citizens gather food, " +"cavalry hunt, citizen soldiers do the rest." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:258 +msgid "" +" - Don't be afraid to swap units from one resource to another, see point 2. " +"Make sure they deposit what they are carrying first though." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:263 +msgid "" +" - Build enough houses, your CC should be kept busy as much as possible, it " +"is the only training building until town phase." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:268 +msgid "" +" - Female citizens are cheap, so you can build more of them and gather more " +"resources." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:273 +msgid "" +" - Don't get carried away on the last point or you will get raided and have " +"no defence." +msgstr "" + +#: simulation/ai/tutorial-ai/economic_walkthrough.js:278 +msgid "" +"Each map is different, so you will need to play slightly differently on each." +" This should give an outline for a high resource map." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:4 +msgid "" +"Welcome to the 0 A.D. tutorial. First left-click on a female citizen, then " +"Right-click on a berry bush nearby to make the unit collect food. Female " +"citizens gather food faster than other units." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:7 +msgid "" +"Select the citizen-soldier, Right-click on a tree near the Civil Center to " +"begin collecting wood. Citizen-soldiers gather wood faster than female " +"citizens." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:11 +msgid "" +"Select the Civil Center building, and shift-click on the Hoplite icon (2nd in" +" the row) once to begin training 5 Hoplites." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:15 +msgid "" +"Select the two idle female citizens and build a house nearby by selecting the" +" house icon. Place the house by left-clicking on a piece of land." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:21 +msgid "" +"Select the newly trained Hoplites and assign them to build a storehouse " +"beside some nearby trees. They will begin to gather wood when it's " +"constructed." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:27 +msgid "" +"Build a set of 5 skirmishers by shift-clicking on the skirmisher icon (3rd in" +" the row) in the Civil Center." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:33 +msgid "" +"Build a farmstead in an open space beside the Civil Center using any idle " +"builders." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:39 +msgid "" +"Once the farmstead is constructed, its builders will automatically begin " +"gathering food if there is any nearby. Select the builders and instead make " +"them construct a field beside the farmstead." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:45 +msgid "" +"The field's builders will now automatically begin collecting food from the " +"field. Using the newly created group of skirmishers, get them to build " +"another house nearby." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:51 +msgid "" +"Train 5 Hoplites from the Civil Center. Select the Civil Center and with it " +"selected right click on a tree nearby. Units from the Civil Center will now " +"automatically gather wood." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:57 +msgid "" +"Order the idle Skirmishers to build an outpost to the north east at the edge " +"of your territory. This will be the fifth Village Phase structure that you " +"have built, allowing you to advance to the Town Phase." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:63 +msgid "" +"Select the Civil Center again and advance to Town Phase by clicking on the " +"'II' icon. This will allow Town Phase buildings to be constructed." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:69 +msgid "" +"Start building 5 female citizens in the Civil Center and set its rally point " +"to the farm (right click on it)." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:74 +msgid "" +"Build a barracks nearby. Whenever your population limit is reached, build an " +"extra house using any available builder units." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:80 +msgid "" +"Prepare for an attack by an enemy player. Build more soldiers using the " +"Barracks, and get idle soldiers to build a Defense Tower near your Outpost." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:86 +msgid "" +"Select the Barracks and research the Infantry Training technology (sword " +"icon) to improve infantry hack attack." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:93 +msgid "" +"The enemy's attack has been defeated. Now build a market and temple while " +"assigning new units to gather any required resources." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:98 +msgid "" +"Now that City Phase requirements have been reached, select your Civil Center " +"and advance to City Phase." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:104 +msgid "" +"Now that you are in City Phase, build a fortress nearby and use it to build 2" +" Battering Rams." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:109 +msgid "" +"Stop all your soldiers gathering resources and instead task small groups to " +"find the enemy Civil Center on the map. Female citizens should continue to " +"gather resources." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:116 +msgid "" +"The enemy's base has been spotted, send your siege weapons and all remaining " +"soldiers to destroy it." +msgstr "" + +#: simulation/ai/tutorial-ai/introductory_tutorial.js:120 +msgid "The enemy has been defeated. All tutorial tasks are now completed…" +msgstr "" + #: simulation/components/BuildRestrictions.js:83 #, python-format msgid "%(name)s cannot be built due to unknown error" msgstr "" #: simulation/components/BuildRestrictions.js:104 #, python-format msgid "%(name)s cannot be built in unexplored area" msgstr "" #: simulation/components/BuildRestrictions.js:152 #, python-format msgid "%(name)s cannot be built on another building or resource" msgstr "" #: simulation/components/BuildRestrictions.js:156 #, python-format msgid "%(name)s cannot be built on invalid terrain" msgstr "" #. Translation: territoryType being displayed in a translated sentence in the form: #. "House cannot be built in %(territoryType)s territory.". #: simulation/components/BuildRestrictions.js:180 msgctxt "Territory type" msgid "ally" msgstr "" #. Translation: territoryType being displayed in a translated sentence in the form: #. "House cannot be built in %(territoryType)s territory.". #: simulation/components/BuildRestrictions.js:183 msgctxt "Territory type" msgid "own" msgstr "" #. Translation: territoryType being displayed in a translated sentence in the form: #. "House cannot be built in %(territoryType)s territory.". #: simulation/components/BuildRestrictions.js:186 msgctxt "Territory type" msgid "neutral" msgstr "" #. Translation: territoryType being displayed in a translated sentence in the form: #. "House cannot be built in %(territoryType)s territory.". #: simulation/components/BuildRestrictions.js:189 msgctxt "Territory type" msgid "enemy" msgstr "" #: simulation/components/BuildRestrictions.js:195 #, python-format msgid "" "%(name)s cannot be built in %(territoryType)s territory. Valid territories: " "%(validTerritories)s" msgstr "" #: simulation/components/BuildRestrictions.js:232 #, python-format msgid "%(name)s must be built on a valid shoreline" msgstr "" #: simulation/components/BuildRestrictions.js:256 #, python-format msgid "" "%(name)s too close to a %(category)s, must be at least %(distance)s meters " "away" msgstr "" #: simulation/components/BuildRestrictions.js:268 #, python-format msgid "%(name)s too far from a %(category)s, must be within %(distance)s meters" msgstr "" #. Translation: Territory types being displayed as part of a list like "Valid #. territories: own, ally". #: simulation/components/BuildRestrictions.js:298 msgctxt "Territory type list" msgid "own" msgstr "" #. Translation: Territory types being displayed as part of a list like "Valid #. territories: own, ally". #: simulation/components/BuildRestrictions.js:300 msgctxt "Territory type list" msgid "ally" msgstr "" #. Translation: Territory types being displayed as part of a list like "Valid #. territories: own, ally". #: simulation/components/BuildRestrictions.js:302 msgctxt "Territory type list" msgid "neutral" msgstr "" #. Translation: Territory types being displayed as part of a list like "Valid #. territories: own, ally". #: simulation/components/BuildRestrictions.js:304 msgctxt "Territory type list" msgid "enemy" msgstr "" #: simulation/components/Player.js:40 #: gui/session/session.xml:709 (tooltip) #: gui/summary/summary.xml:569 (caption) msgid "Food" msgstr "" #: simulation/components/Player.js:41 #: gui/session/session.xml:716 (tooltip) #: gui/summary/summary.xml:572 (caption) msgid "Wood" msgstr "" #: simulation/components/Player.js:42 #: gui/session/session.xml:730 (tooltip) #: gui/summary/summary.xml:578 (caption) msgid "Metal" msgstr "" #: simulation/components/Player.js:43 #: gui/session/session.xml:723 (tooltip) #: gui/summary/summary.xml:575 (caption) msgid "Stone" msgstr "" #: simulation/components/Player.js:236 #, python-format msgid "Insufficient resources - %(resourceAmount1)s %(resourceType1)s" msgstr "" #: simulation/components/Player.js:238 #, python-format msgid "" "Insufficient resources - %(resourceAmount1)s %(resourceType1)s, " "%(resourceAmount2)s %(resourceType2)s" msgstr "" #: simulation/components/Player.js:240 #, python-format msgid "" "Insufficient resources - %(resourceAmount1)s %(resourceType1)s, " "%(resourceAmount2)s %(resourceType2)s, %(resourceAmount3)s %(resourceType3)s" msgstr "" #: simulation/components/Player.js:242 #, python-format msgid "" "Insufficient resources - %(resourceAmount1)s %(resourceType1)s, " "%(resourceAmount2)s %(resourceType2)s, %(resourceAmount3)s %(resourceType3)s," " %(resourceAmount4)s %(resourceType4)s" msgstr "" #: simulation/components/ProductionQueue.js:345 msgid "The production queue is full." msgstr "" #: simulation/components/Wonder.js:53 #, python-format msgid "%(player)s will have won in %(time)s" msgstr "" #: simulation/components/Wonder.js:61 #, python-format msgid "You will have won in %(time)s" msgstr "" #: gui/aiconfig/aiconfig.xml:13 (caption) msgid "AI Configuration" msgstr "" #: gui/aiconfig/aiconfig.xml:18 (caption) msgid "AI Player" msgstr "" #: gui/aiconfig/aiconfig.xml:26 (caption) msgid "AI Difficulty" msgstr "" #: gui/aiconfig/aiconfig.xml:47 (caption) #: gui/gamesetup/gamesetup_mp.xml:109 (caption) #: gui/lobby/prelobby.xml:67 (caption) #: gui/locale/locale.xml:41 (caption) #: gui/locale/locale_advanced.xml:75 (caption) #: gui/options/options.xml:73 (caption) #: gui/savedgames/load.xml:35 (caption) #: gui/savedgames/save.xml:47 (caption) #: gui/session/session.xml:403 (caption) msgid "Cancel" msgstr "" #: gui/civinfo/civinfo.xml:16 (caption) msgid "Civilizations" msgstr "" #: gui/civinfo/civinfo.xml:28 (caption) msgid "Civilization Selection" msgstr "" #: gui/civinfo/civinfo.xml:118 (caption) #: gui/manual/manual.xml:28 (caption) #: gui/session/session.xml:486 (caption) #: gui/session/session.xml:539 (caption) msgid "Close" msgstr "" #: gui/gamesetup/gamesetup.xml:15 (caption) msgid "Match Setup" msgstr "" #: gui/gamesetup/gamesetup.xml:21 (caption) msgid "Loading" msgstr "" #: gui/gamesetup/gamesetup.xml:25 (caption) msgid "Loading map data. Please wait..." msgstr "" #: gui/gamesetup/gamesetup.xml:42 (caption) msgid "Number of players:" msgstr "" #: gui/gamesetup/gamesetup.xml:54 (tooltip) msgid "Select number of players." msgstr "" #: gui/gamesetup/gamesetup.xml:65 (caption) msgid "Player Name" msgstr "" #: gui/gamesetup/gamesetup.xml:68 (caption) msgid "Player Placement" msgstr "" #: gui/gamesetup/gamesetup.xml:71 (caption) #: gui/session/session.xml:430 (caption) msgid "Civilization" msgstr "" #: gui/gamesetup/gamesetup.xml:80 (tooltip) msgid "View civilization info" msgstr "" #: gui/gamesetup/gamesetup.xml:95 (tooltip) msgid "Select player." msgstr "" #: gui/gamesetup/gamesetup.xml:101 (caption) #: gui/session/session.xml:555 (caption) #: gui/session/session.xml:912 (caption) msgid "Settings" msgstr "" #: gui/gamesetup/gamesetup.xml:102 (tooltip) msgid "Configure AI settings." msgstr "" #: gui/gamesetup/gamesetup.xml:105 (tooltip) msgid "Select player's civilization." msgstr "" #: gui/gamesetup/gamesetup.xml:109 (tooltip) msgid "Select player's team." msgstr "" #: gui/gamesetup/gamesetup.xml:122 (caption) msgid "Match Type:" msgstr "" #: gui/gamesetup/gamesetup.xml:125 (caption) msgid "Map Filter:" msgstr "" #: gui/gamesetup/gamesetup.xml:128 (caption) msgid "Select Map:" msgstr "" #: gui/gamesetup/gamesetup.xml:131 (caption) #: gui/lobby/lobby.xml:76 (caption) msgid "Map Size:" msgstr "" #: gui/gamesetup/gamesetup.xml:147 (tooltip) msgid "Select a map type." msgstr "" #: gui/gamesetup/gamesetup.xml:156 (tooltip) msgid "Select a map filter." msgstr "" #: gui/gamesetup/gamesetup.xml:167 (tooltip) msgid "Select a map to play on." msgstr "" #: gui/gamesetup/gamesetup.xml:173 (tooltip) msgid "Select map size. (Larger sizes may reduce performance.)" msgstr "" #: gui/gamesetup/gamesetup.xml:198 (caption) #: gui/session/session.xml:398 (caption) msgid "Send" msgstr "" #: gui/gamesetup/gamesetup.xml:212 (caption) msgid "[Tooltip text]" msgstr "" #: gui/gamesetup/gamesetup.xml:224 (caption) msgid "Start game!" msgstr "" #: gui/gamesetup/gamesetup.xml:225 (tooltip) msgid "Start a new game with the current settings." msgstr "" #: gui/gamesetup/gamesetup.xml:237 (caption) #: gui/lobby/lobby.xml:214 (caption) msgid "Back" msgstr "" #: gui/gamesetup/gamesetup.xml:259 (caption) msgid "More Options" msgstr "" #: gui/gamesetup/gamesetup.xml:260 (tooltip) msgid "See more game options" msgstr "" #: gui/gamesetup/gamesetup.xml:335 (tooltip) msgid "Close more game options window" msgstr "" #: gui/gamesetup/gamesetup_mp.xml:19 (caption) #: gui/pregame/mainmenu.xml:411 (caption) msgid "Multiplayer" msgstr "" #: gui/gamesetup/gamesetup_mp.xml:25 (caption) msgid "Joining an existing game." msgstr "" #: gui/gamesetup/gamesetup_mp.xml:29 (caption) #: gui/gamesetup/gamesetup_mp.xml:72 (caption) msgid "Player name:" msgstr "" #: gui/gamesetup/gamesetup_mp.xml:39 (caption) msgid "Server Hostname or IP:" msgstr "" #: gui/gamesetup/gamesetup_mp.xml:49 (caption) #: gui/gamesetup/gamesetup_mp.xml:95 (caption) #: gui/summary/summary.xml:989 (caption) msgid "Continue" msgstr "" #: gui/gamesetup/gamesetup_mp.xml:67 (caption) msgid "Set up your server to host." msgstr "" #: gui/gamesetup/gamesetup_mp.xml:84 (caption) msgid "Server name:" msgstr "" #: gui/gamesetup/gamesetup_mp.xml:115 (caption) #: gui/lobby/prelobby.xml:19 (caption) msgid "[Connection status]" msgstr "" #: gui/loading/loading.xml:48 (caption) msgid "Quote of the Day:" msgstr "" #: gui/lobby/lobby.xml:14 (caption) #: gui/lobby/prelobby.xml:24 (caption) msgid "Multiplayer Lobby" msgstr "" #: gui/lobby/lobby.xml:25 (heading) msgid "Status" msgstr "" #: gui/lobby/lobby.xml:28 (heading) #: gui/lobby/lobby.xml:128 (heading) #: gui/lobby/lobby.xml:210 (heading) #: gui/session/session.xml:427 (caption) msgid "Name" msgstr "" #: gui/lobby/lobby.xml:31 (heading) #: gui/lobby/lobby.xml:207 (heading) msgid "Rating" msgstr "" #: gui/lobby/lobby.xml:38 (caption) #: gui/lobby/lobby.xml:197 (caption) msgid "Leaderboard" msgstr "" #: gui/lobby/lobby.xml:64 (caption) msgid "Map Type:" msgstr "" #: gui/lobby/lobby.xml:93 (caption) msgid "Players:" msgstr "" #: gui/lobby/lobby.xml:102 (caption) #: gui/pregame/mainmenu.xml:231 (caption) msgid "Join Game" msgstr "" #: gui/lobby/lobby.xml:108 (caption) #: gui/pregame/mainmenu.xml:246 (caption) msgid "Host Game" msgstr "" #: gui/lobby/lobby.xml:115 (caption) msgid "Main Menu" msgstr "" #: gui/lobby/lobby.xml:132 (heading) msgid "Map Name" msgstr "" #: gui/lobby/lobby.xml:135 (heading) msgid "Map Size" msgstr "" #: gui/lobby/lobby.xml:138 (heading) msgid "Map Type" msgstr "" #: gui/lobby/lobby.xml:141 (heading) msgid "Players" msgstr "" #: gui/lobby/lobby.xml:171 (caption) msgid "Show full games" msgstr "" #: gui/lobby/lobby.xml:204 (heading) #: gui/session/session.xml:1212 (tooltip) msgid "Rank" msgstr "" #: gui/lobby/lobby.xml:218 (caption) msgid "Update" msgstr "" #: gui/lobby/prelobby.xml:29 (caption) msgid "Connect to the game lobby" msgstr "" #: gui/lobby/prelobby.xml:32 (caption) msgid "Login:" msgstr "" #: gui/lobby/prelobby.xml:40 (caption) msgid "Password:" msgstr "" #: gui/lobby/prelobby.xml:54 (caption) msgid "Registration" msgstr "" #: gui/lobby/prelobby.xml:57 (caption) msgid "Password again:" msgstr "" #: gui/lobby/prelobby.xml:79 (caption) msgid "Register" msgstr "" #: gui/lobby/prelobby.xml:90 (caption) msgid "Connect" msgstr "" #: gui/locale/locale.xml:14 (caption) #: gui/locale/locale_advanced.xml:14 (caption) #: gui/pregame/mainmenu.xml:309 (caption) msgid "Language" msgstr "" #: gui/locale/locale.xml:17 (caption) #: gui/locale/locale_advanced.xml:17 (caption) msgid "Language:" msgstr "" #: gui/locale/locale.xml:26 (caption) msgid "Locale:" msgstr "" #: gui/locale/locale.xml:31 (caption) #: gui/locale/locale_advanced.xml:65 (caption) msgid "Accept" msgstr "" #: gui/locale/locale.xml:36 (caption) msgid "Advanced" msgstr "" #: gui/locale/locale_advanced.xml:25 (caption) msgid "Country:" msgstr "" #: gui/locale/locale_advanced.xml:34 (caption) msgid "Script:" msgstr "" #: gui/locale/locale_advanced.xml:37 (tooltip) msgid "" "Optional four-letter script code part following the language code (as listed " "in ISO 15924)" msgstr "" #: gui/locale/locale_advanced.xml:41 (caption) msgid "Variant (unused):" msgstr "" #: gui/locale/locale_advanced.xml:44 (tooltip) #: gui/locale/locale_advanced.xml:51 (tooltip) msgid "Not implemented yet." msgstr "" #: gui/locale/locale_advanced.xml:48 (caption) msgid "Keywords (unused):" msgstr "" #: gui/locale/locale_advanced.xml:55 (caption) msgid "Resulting locale:" msgstr "" #: gui/locale/locale_advanced.xml:60 (caption) msgid "Dictionary files used:" msgstr "" #: gui/locale/locale_advanced.xml:70 (caption) msgid "Auto detect" msgstr "" #: gui/manual/manual.xml:12 (caption) #: gui/session/session.xml:877 (caption) msgid "Manual" msgstr "" #: gui/manual/manual.xml:20 (caption) msgid "Online Manual" msgstr "" #: gui/options/options.xml:18 (caption) msgid "Game Options" msgstr "" #: gui/options/options.xml:22 (caption) msgid "General" msgstr "" #: gui/options/options.xml:34 (caption) msgid "Graphics Settings" msgstr "" #: gui/options/options.xml:46 (caption) msgid "Sound Settings" msgstr "" #: gui/options/options.xml:58 (caption) msgid "Lobby Settings" msgstr "" #: gui/options/options.xml:69 (caption) #: gui/savedgames/save.xml:37 (caption) #: gui/session/session.xml:899 (caption) msgid "Save" msgstr "" #: gui/pregame/mainmenu.xml:97 msgid "Help improve 0 A.D.!" msgstr "" #: gui/pregame/mainmenu.xml:99 msgid "" "You can automatically send us anonymous feedback that will help us fix bugs, " "and improve performance and compatibility." msgstr "" #: gui/pregame/mainmenu.xml:125 msgid "Thank you for helping improve 0 A.D.!" msgstr "" #: gui/pregame/mainmenu.xml:127 msgid "Anonymous feedback is currently enabled." msgstr "" #: gui/pregame/mainmenu.xml:129 msgid "Status: $status." msgstr "" #: gui/pregame/mainmenu.xml:481 msgid "Alpha XV: Osiris" msgstr "" #: gui/pregame/mainmenu.xml:483 msgid "" "WARNING: This is an early development version of the game. Many features have" " not been added yet." msgstr "" #: gui/pregame/mainmenu.xml:485 msgid "Get involved at: play0ad.com" msgstr "" #: gui/pregame/mainmenu.xml:103 (caption) msgid "Enable feedback" msgstr "" #: gui/pregame/mainmenu.xml:107 (caption) #: gui/pregame/mainmenu.xml:138 (caption) msgid "Technical details" msgstr "" #: gui/pregame/mainmenu.xml:134 (caption) msgid "Disable feedback" msgstr "" #: gui/pregame/mainmenu.xml:177 (caption) msgid "Matches" msgstr "" #: gui/pregame/mainmenu.xml:178 (tooltip) msgid "Click here to start a new single player game." msgstr "" #: gui/pregame/mainmenu.xml:191 (caption) msgid "Campaigns" msgstr "" #: gui/pregame/mainmenu.xml:192 (tooltip) msgid "Relive history through historical military campaigns. [NOT YET IMPLEMENTED]" msgstr "" #: gui/pregame/mainmenu.xml:208 (caption) #: gui/savedgames/load.xml:15 (caption) msgid "Load Game" msgstr "" #: gui/pregame/mainmenu.xml:209 (tooltip) msgid "Click here to load a saved game." msgstr "" #: gui/pregame/mainmenu.xml:232 (tooltip) msgid "Joining an existing multiplayer game." msgstr "" #: gui/pregame/mainmenu.xml:247 (tooltip) msgid "Host a multiplayer game.\\n\\nRequires UDP port 20595 to be open." msgstr "" #: gui/pregame/mainmenu.xml:261 (caption) msgid "Game Lobby" msgstr "" #: gui/pregame/mainmenu.xml:262 (tooltip) msgid "Launch the multiplayer lobby." msgstr "" #: gui/pregame/mainmenu.xml:292 (caption) msgid "Options" msgstr "" #: gui/pregame/mainmenu.xml:293 (tooltip) msgid "Adjust game settings." msgstr "" #: gui/pregame/mainmenu.xml:310 (tooltip) msgid "Choose the language of the game." msgstr "" #: gui/pregame/mainmenu.xml:325 (caption) msgid "Scenario Editor" msgstr "" #: gui/pregame/mainmenu.xml:326 (tooltip) msgid "" "Open the Atlas Scenario Editor in a new window. You can run this more " "reliably by starting the game with the command-line argument \"-editor\"." msgstr "" #: gui/pregame/mainmenu.xml:379 (caption) msgid "Learn To Play" msgstr "" #: gui/pregame/mainmenu.xml:380 (tooltip) msgid "The 0 A.D. Game Manual" msgstr "" #: gui/pregame/mainmenu.xml:396 (caption) msgid "Single Player" msgstr "" #: gui/pregame/mainmenu.xml:397 (tooltip) msgid "Challenge the computer player to a single player match." msgstr "" #: gui/pregame/mainmenu.xml:412 (tooltip) msgid "Fight against one or more human players in a multiplayer game." msgstr "" #: gui/pregame/mainmenu.xml:426 (caption) msgid "Tools & Options" msgstr "" #: gui/pregame/mainmenu.xml:427 (tooltip) msgid "Game options and scenario design tools." msgstr "" #: gui/pregame/mainmenu.xml:441 (caption) msgid "History" msgstr "" #: gui/pregame/mainmenu.xml:442 (tooltip) msgid "Learn about the many civilizations featured in 0 A.D." msgstr "" #: gui/pregame/mainmenu.xml:458 (caption) #: gui/session/session.xml:947 (caption) #: gui/session/session.xml:1445 (caption) msgid "Exit" msgstr "" #: gui/pregame/mainmenu.xml:459 (tooltip) msgid "Exit Game" msgstr "" #: gui/pregame/mainmenu.xml:495 (caption) msgid "Website" msgstr "" #: gui/pregame/mainmenu.xml:496 (tooltip) msgid "Click to open play0ad.com in your web browser." msgstr "" #: gui/pregame/mainmenu.xml:509 (caption) #: gui/session/session.xml:888 (caption) msgid "Chat" msgstr "" #: gui/pregame/mainmenu.xml:510 (tooltip) msgid "" "Click to open the 0 A.D. IRC chat in your browser. (#0ad on " "webchat.quakenet.org)" msgstr "" #: gui/pregame/mainmenu.xml:523 (caption) msgid "Report a Bug" msgstr "" #: gui/pregame/mainmenu.xml:524 (tooltip) msgid "Click to visit 0 A.D. Trac to report a bug, crash, or error" msgstr "" #: gui/pregame/mainmenu.xml:554 (caption) msgid "WILDFIRE GAMES" msgstr "" #: gui/savedgames/load.xml:25 (caption) msgid "Load" msgstr "" #: gui/savedgames/save.xml:15 (caption) msgid "Save Game" msgstr "" #: gui/savedgames/save.xml:29 (caption) msgid "Description:" msgstr "" #: gui/session/session.xml:247 (caption) msgid "Control all units" msgstr "" #: gui/session/session.xml:257 (caption) msgid "Change perspective" msgstr "" #: gui/session/session.xml:264 (caption) msgid "Display selection state" msgstr "" #: gui/session/session.xml:269 (caption) msgid "Pathfinder overlay" msgstr "" #: gui/session/session.xml:276 (caption) msgid "Obstruction overlay" msgstr "" #: gui/session/session.xml:283 (caption) msgid "Unit motion overlay" msgstr "" #: gui/session/session.xml:290 (caption) msgid "Range overlay" msgstr "" #: gui/session/session.xml:297 (caption) msgid "Bounding box overlay" msgstr "" #: gui/session/session.xml:304 (caption) msgid "Restrict camera" msgstr "" #: gui/session/session.xml:318 (caption) msgid "Reveal map" msgstr "" #: gui/session/session.xml:326 (caption) msgid "Enable time warp" msgstr "" #: gui/session/session.xml:336 (caption) msgid "Promote selected units" msgstr "" #: gui/session/session.xml:363 (caption) msgid "Game Paused" msgstr "" #: gui/session/session.xml:366 (caption) msgid "Click to Resume Game" msgstr "" #: gui/session/session.xml:422 (caption) #: gui/session/session.xml:810 (tooltip) msgid "Diplomacy" msgstr "" #: gui/session/session.xml:436 (caption) msgid "Theirs" msgstr "" #: gui/session/session.xml:439 (caption) msgid "A" msgstr "" #: gui/session/session.xml:443 (caption) msgid "N" msgstr "" #: gui/session/session.xml:447 (caption) msgid "E" msgstr "" #: gui/session/session.xml:451 (caption) msgid "Tribute" msgstr "" #: gui/session/session.xml:501 (caption) #: gui/session/session.xml:829 (tooltip) msgid "Trade" msgstr "" #: gui/session/session.xml:507 (caption) msgid "Trading goods selection:" msgstr "" #: gui/session/session.xml:527 (tooltip) msgid "" "Select one goods as origin of the changes,\\nthen use the arrows of the " "target goods to make the changes." msgstr "" #: gui/session/session.xml:564 (caption) msgid "Enable Shadows" msgstr "" #: gui/session/session.xml:573 (caption) msgid "Enable Shadow Filtering" msgstr "" #: gui/session/session.xml:582 (caption) msgid "Water - HQ Waviness" msgstr "" #: gui/session/session.xml:591 (caption) msgid "Water - Use Actual Depth" msgstr "" #: gui/session/session.xml:600 (caption) msgid "Water - Enable Reflections" msgstr "" #: gui/session/session.xml:609 (caption) msgid "Water - Enable Refraction" msgstr "" #: gui/session/session.xml:618 (caption) msgid "Water - Enable Shore Foam" msgstr "" #: gui/session/session.xml:627 (caption) msgid "Water - Enable Shore Waves" msgstr "" #: gui/session/session.xml:636 (caption) msgid "Water - Use Surface Shadows" msgstr "" #: gui/session/session.xml:645 (caption) msgid "Enable Particles" msgstr "" #: gui/session/session.xml:654 (caption) msgid "Enable Unit Silhouettes" msgstr "" #: gui/session/session.xml:663 (caption) msgid "Enable Music" msgstr "" #: gui/session/session.xml:671 (caption) msgid "Developer Overlay" msgstr "" #: gui/session/session.xml:737 (tooltip) msgid "Population (current / limit)" msgstr "" #: gui/session/session.xml:750 (tooltip) msgid "Choose player to view" msgstr "" #: gui/session/session.xml:773 (caption) msgid "ALPHA XV : Osiris" msgstr "" #: gui/session/session.xml:790 (tooltip) msgid "Game speed" msgstr "" #: gui/session/session.xml:798 (tooltip) msgid "Choose game speed" msgstr "" #: gui/session/session.xml:851 (caption) msgid "MENU" msgstr "" #: gui/session/session.xml:936 (caption) msgid "Resign" msgstr "" #: gui/session/session.xml:973 (tooltip) #: gui/session/session.xml:1189 (tooltip) msgid "Attack and Armor" msgstr "" #: gui/session/session.xml:997 (tooltip) msgid "" "Click to select grouped units, double-click to focus the grouped units and " "right-click to disband the group." msgstr "" #: gui/session/session.xml:1037 (tooltip) msgid "Find idle worker" msgstr "" #: gui/session/session.xml:1089 (tooltip) msgid "Exchange resources:" msgstr "" #: gui/session/session.xml:1162 (tooltip) msgid "Stamina:" msgstr "" #: gui/session/session.xml:1204 (tooltip) msgid "Experience" msgstr "" #: gui/session/session.xml:1272 (tooltip) msgid "Hitpoints" msgstr "" #: gui/session/session.xml:1281 (tooltip) msgid "Stamina" msgstr "" #: gui/splashscreen/splashscreen.xml:12 (caption) msgid "Welcome to 0 A.D. !" msgstr "" #: gui/splashscreen/splashscreen.xml:20 (caption) msgid "Show this message in the future" msgstr "" #: gui/splashscreen/splashscreen.xml:35 (caption) msgid "Known issues (web)" msgstr "" #: gui/summary/summary.xml:23 (caption) msgid "Summary" msgstr "" #: gui/summary/summary.xml:63 (caption) msgid "Score" msgstr "" #: gui/summary/summary.xml:70 (caption) msgid "Buildings" msgstr "" #: gui/summary/summary.xml:77 (caption) msgid "Units" msgstr "" #: gui/summary/summary.xml:84 (caption) msgid "Resources" msgstr "" #: gui/summary/summary.xml:91 (caption) #: simulation/templates/template_structure_economic_market.xml:21 msgid "Market" msgstr "" #: gui/summary/summary.xml:98 (caption) msgid "Miscellaneous" msgstr "" #: gui/summary/summary.xml:106 (caption) #: gui/summary/summary.xml:228 (caption) #: gui/summary/summary.xml:402 (caption) #: gui/summary/summary.xml:563 (caption) #: gui/summary/summary.xml:724 (caption) #: gui/summary/summary.xml:870 (caption) msgid "Player name" msgstr "" #: gui/summary/summary.xml:109 (caption) msgid "Economy score" msgstr "" #: gui/summary/summary.xml:112 (caption) msgid "Military score" msgstr "" #: gui/summary/summary.xml:115 (caption) msgid "Exploration score" msgstr "" #: gui/summary/summary.xml:118 (caption) msgid "Total score" msgstr "" #: gui/summary/summary.xml:231 (caption) msgid "Buildings Statistics (Constructed / Lost / Destroyed)" msgstr "" #: gui/summary/summary.xml:234 (caption) #: gui/summary/summary.xml:408 (caption) #: gui/summary/summary.xml:581 (caption) msgid "Total" msgstr "" #: gui/summary/summary.xml:237 (caption) msgid "Houses" msgstr "" #: gui/summary/summary.xml:240 (caption) msgid "Economic" msgstr "" #: gui/summary/summary.xml:243 (caption) msgid "Outposts" msgstr "" #: gui/summary/summary.xml:246 (caption) msgid "Military" msgstr "" #: gui/summary/summary.xml:249 (caption) msgid "Fortresses" msgstr "" #: gui/summary/summary.xml:252 (caption) msgid "Civ Centers" msgstr "" #: gui/summary/summary.xml:255 (caption) msgid "Wonders" msgstr "" #: gui/summary/summary.xml:405 (caption) msgid "Units Statistics (Trained / Lost / Killed)" msgstr "" #: gui/summary/summary.xml:411 (caption) #: simulation/templates/template_unit_infantry.xml:50 msgid "Infantry" msgstr "" #: gui/summary/summary.xml:414 (caption) msgid "Worker" msgstr "" #: gui/summary/summary.xml:417 (caption) #: simulation/templates/template_unit_cavalry.xml:32 msgid "Cavalry" msgstr "" #: gui/summary/summary.xml:420 (caption) msgid "Champion" msgstr "" #: gui/summary/summary.xml:426 (caption) msgid "Navy" msgstr "" #: gui/summary/summary.xml:566 (caption) msgid "Resource Statistics (Gathered / Used)" msgstr "" #: gui/summary/summary.xml:584 (caption) msgid "Treasures collected" msgstr "" #: gui/summary/summary.xml:587 (caption) msgid "Tributes (Sent / Received)" msgstr "" #: gui/summary/summary.xml:727 (caption) msgid "Food exchanged" msgstr "" #: gui/summary/summary.xml:730 (caption) msgid "Wood exchanged" msgstr "" #: gui/summary/summary.xml:733 (caption) msgid "Stone exchanged" msgstr "" #: gui/summary/summary.xml:736 (caption) msgid "Metal exchanged" msgstr "" #: gui/summary/summary.xml:739 (caption) msgid "Barter efficiency" msgstr "" #: gui/summary/summary.xml:742 (caption) msgid "Trade income" msgstr "" #: gui/summary/summary.xml:873 (caption) msgid "Vegetarian\\nratio" msgstr "" #: gui/summary/summary.xml:876 (caption) msgid "Feminisation" msgstr "" #: gui/summary/summary.xml:879 (caption) msgid "Kill / Death\\nratio" msgstr "" #: gui/summary/summary.xml:882 (caption) msgid "Map\\nexploration" msgstr "" #: gui/manual/intro.txt:1 msgid "[font=\"sans-bold-18\"]0 A.D. in-game manual" msgstr "" #: gui/manual/intro.txt:2 msgid "[font=\"sans-14\"]" msgstr "" #: gui/manual/intro.txt:3 msgid "" "Thank you for installing 0 A.D.! This page will give a brief overview of the " "features available in this incomplete, under-development, alpha version of " "the game." msgstr "" #: gui/manual/intro.txt:5 msgid "[font=\"sans-bold-16\"]Graphics settings" msgstr "" #: gui/manual/intro.txt:6 msgid "" "[font=\"sans-14\"]You can switch between fullscreen and windowed mode by " "pressing Alt + Enter. In windowed mode, you can resize the window. If the " "game runs too slowly, you can change some settings in the configuration file:" " look for binaries/data/config/default.cfg in the location where the game is " "installed, which gives instructions for editing, and try disabling the " "\"fancywater\" and \"shadows\" options." msgstr "" #: gui/manual/intro.txt:8 msgid "[font=\"sans-bold-16\"]Playing the game" msgstr "" #: gui/manual/intro.txt:9 msgid "" "[font=\"sans-14\"]The controls and gameplay should be familiar to players of " "traditional RTS games. There are currently a lot of missing features and " "poorly-balanced stats – you will probably have to wait until a beta release " "for it to work well." msgstr "" #: gui/manual/intro.txt:11 msgid "Basic controls:" msgstr "" #: gui/manual/intro.txt:12 msgid "• Left-click to select units." msgstr "" #: gui/manual/intro.txt:13 msgid "• Left-click-and-drag to select groups of units." msgstr "" #: gui/manual/intro.txt:14 msgid "• Right-click to order units to the target." msgstr "" #: gui/manual/intro.txt:15 msgid "• Arrow keys or WASD keys to move the camera." msgstr "" #: gui/manual/intro.txt:16 msgid "• Ctrl + arrow keys, or shift + mouse wheel, to rotate the camera." msgstr "" #: gui/manual/intro.txt:17 msgid "• Mouse wheel, or \"+\" and \"-\" keys, to zoom." msgstr "" #: gui/manual/intro.txt:19 msgid "[font=\"sans-bold-16\"]Modes" msgstr "" #: gui/manual/intro.txt:20 msgid "[font=\"sans-14\"]The main menu gives access to two game modes:" msgstr "" #: gui/manual/intro.txt:22 msgid "" "• [font=\"sans-bold-14\"]Single-player[font=\"sans-14\"] — play a sandbox " "game or against one or more AI opponents. The AI/AIs are under development " "and may not always be up to date on the new features, but you can test " "playing the game against an actual opponent if you aren't able to play with a" " human." msgstr "" #: gui/manual/intro.txt:24 msgid "" "• [font=\"sans-bold-14\"]Multiplayer[font=\"sans-14\"] — play against human " "opponents over the internet." msgstr "" #: gui/manual/intro.txt:26 msgid "" "To set up a multiplayer game, one player must select the \"Host game\" " "option. The game uses UDP port 20595, so the host must configure their " "NAT/firewall/etc to allow this. Other players can then select \"Join game\" " "and enter the host's IP address." msgstr "" #: gui/manual/intro.txt:28 msgid "[font=\"sans-bold-16\"]Game setup" msgstr "" #: gui/manual/intro.txt:29 msgid "" "[font=\"sans-14\"]In a multiplayer game, only the host can alter the game " "setup options." msgstr "" #: gui/manual/intro.txt:31 msgid "" "First, select whether you want to play on a random map (created automatically" " from a random map script) or a scenario (created by a map designer). " "Scenarios can be filtered to show only some maps. The default maps are shown " "immediately, but custom maps are often not so select \"All maps\" to see a " "list of all available maps. Then select a map to play on. The \"Demo Maps\" " "are designed for testing particular gameplay features and are probably not " "generally useful." msgstr "" #: gui/manual/intro.txt:33 msgid "" "Finally change the settings. For random maps this includes the number of " "players, the size of a map, etc. For scenarios you can only select who " "controls which player (decides where you start on the map etc). The options " "are either a human player, an AI or no player at all (existing units will " "attack enemies that come into sight, but no new units will be created, nor " "will the units be sent to attack anyone)." msgstr "" #: gui/manual/intro.txt:35 msgid "When you are ready to start, click the \"Start game\" button." msgstr "" #: gui/manual/intro.txt:37 msgid "[font=\"sans-bold-16\"]Hotkeys:" msgstr "" #: gui/manual/intro.txt:38 msgid "[font=\"sans-bold-14\"]Always" msgstr "" #: gui/manual/intro.txt:39 msgid "[font=\"sans-14\"]Alt + F4: Close the game, without confirmation" msgstr "" #: gui/manual/intro.txt:40 msgid "Alt + Enter: Toggle between fullscreen and windowed" msgstr "" #: gui/manual/intro.txt:41 msgid "~ or F9: Show/hide console" msgstr "" #: gui/manual/intro.txt:42 msgid "Alt + F: Show/hide frame counter (FPS)" msgstr "" #: gui/manual/intro.txt:43 msgid "" "F11: Enable/disable real-time profiler (toggles through the displays of " "information)" msgstr "" #: gui/manual/intro.txt:44 msgid "Shift + F11: Save current profiler data to \"logs/profile.txt\"" msgstr "" #: gui/manual/intro.txt:45 msgid "" "F2: Take screenshot (in .png format, location is displayed in the top left of" " the GUI after the file has been saved, and can also be seen in the " "console/logs if you miss it there)" msgstr "" #: gui/manual/intro.txt:46 msgid "" "Shift + F2: Take huge screenshot (6400px*4800px, in .bmp format, location is " "displayed in the top left of the GUI after the file has been saved, and can " "also be seen in the console/logs if you miss it there)" msgstr "" #: gui/manual/intro.txt:48 msgid "[font=\"sans-bold-14\"]In Game" msgstr "" #: gui/manual/intro.txt:49 msgid "" "[font=\"sans-14\"]Double Left Click [on unit]: Select all of your units of " "the same kind on the screen (even if they're different ranks)" msgstr "" #: gui/manual/intro.txt:50 msgid "" "Triple Left Click [on unit]: Select all of your units of the same kind and " "the same rank on the screen" msgstr "" #: gui/manual/intro.txt:51 msgid "" "Alt + Double Left Click [on unit]: Select all your units of the same kind on " "the entire map (even if the are different ranks)" msgstr "" #: gui/manual/intro.txt:52 msgid "" "Alt + Triple Left Click [on unit]: Select all your units of the same kind and" " rank on the entire map" msgstr "" #: gui/manual/intro.txt:53 msgid "Shift + F5: Quicksave" msgstr "" #: gui/manual/intro.txt:54 msgid "Shift + F8: Quickload" msgstr "" #: gui/manual/intro.txt:55 msgid "F10: Open/close menu" msgstr "" #: gui/manual/intro.txt:56 msgid "F12: Show/hide time elapsed counter" msgstr "" #: gui/manual/intro.txt:57 msgid "ESC: Close all dialogs (chat, menu) or clear selected units" msgstr "" #: gui/manual/intro.txt:58 msgid "Enter/return: Open/send chat" msgstr "" #: gui/manual/intro.txt:59 msgid "T: Send team chat" msgstr "" #: gui/manual/intro.txt:60 msgid "Pause: Pause/resume the game" msgstr "" #: gui/manual/intro.txt:61 msgid "Delete: Delete currently selected unit/units/building/buildings" msgstr "" #: gui/manual/intro.txt:62 msgid ",: Select idle fighters" msgstr "" #: gui/manual/intro.txt:63 msgid ".: Select idle workers (including citizen soldiers)" msgstr "" #: gui/manual/intro.txt:64 msgid "H: Stop (halt) the currently selected units." msgstr "" #: gui/manual/intro.txt:65 msgid "" "Ctrl + 1 (and so on up to Ctrl + 0): Create control group 1 (to 0) from the " "selected units/buildings" msgstr "" #: gui/manual/intro.txt:66 msgid "1 (and so on up to 0): Select the units/buildings in control group 1 (to 0)" msgstr "" #: gui/manual/intro.txt:67 msgid "Shift + 1 (to 0): Add control group 1 (to 0) to the selected units/buildings" msgstr "" #: gui/manual/intro.txt:68 msgid "" "Ctrl + F5 (and so on up to F8): Mark the current camera position, for jumping" " back to later." msgstr "" #: gui/manual/intro.txt:69 msgid "" "F5, F6, F7, and F8: Move the camera to a marked position. Jump back to the " "last location if the camera is already over the marked position." msgstr "" #: gui/manual/intro.txt:70 msgid "" "Z, X, C, V, B, N, M: With training buildings selected. Add the 1st, 2nd, ... " "unit shown to the training queue for all the selected buildings." msgstr "" #: gui/manual/intro.txt:72 msgid "[font=\"sans-bold-14\"]Modify mouse action" msgstr "" #: gui/manual/intro.txt:73 msgid "[font=\"sans-14\"]Ctrl + Right Click on building: Garrison" msgstr "" #: gui/manual/intro.txt:74 msgid "Shift + Right Click: Queue the move/build/gather/etc order" msgstr "" #: gui/manual/intro.txt:75 msgid "Shift + Left click when training unit/s: Add units in batches of five" msgstr "" #: gui/manual/intro.txt:76 msgid "Shift + Left Click or Left Drag over unit on map: Add unit to selection" msgstr "" #: gui/manual/intro.txt:77 msgid "Ctrl + Left Click or Left Drag over unit on map: Remove unit from selection" msgstr "" #: gui/manual/intro.txt:78 msgid "Alt + Left Drag over units on map: Only select military units" msgstr "" #: gui/manual/intro.txt:79 msgid "Ctrl + Left Click on unit/group icon with multiple units selected: Deselect" msgstr "" #: gui/manual/intro.txt:80 msgid "" "Right Click with a building/buildings selected: sets a rally point for units " "created/ungarrisoned from that building." msgstr "" #: gui/manual/intro.txt:81 msgid "Ctrl + Right Click with units selected:" msgstr "" #: gui/manual/intro.txt:82 msgid " - If the cursor is over a structure: Garrison" msgstr "" #: gui/manual/intro.txt:83 msgid " - Otherwise: Attack move" msgstr "" #: gui/manual/intro.txt:85 msgid "[font=\"sans-bold-14\"]Overlays" msgstr "" #: gui/manual/intro.txt:86 msgid "[font=\"sans-14\"]Alt + G: Hide/show the GUI" msgstr "" #: gui/manual/intro.txt:87 msgid "Alt + D: Show/hide developer overlay (with developer options)" msgstr "" #: gui/manual/intro.txt:88 msgid "" "Alt + W: Toggle wireframe mode (press once to get wireframes overlaid over " "the textured models, twice to get just the wireframes colored by the " "textures, thrice to get back to normal textured mode)" msgstr "" #: gui/manual/intro.txt:89 msgid "Alt + S: Toggle unit silhouettes (might give a small performance boost)" msgstr "" #: gui/manual/intro.txt:90 msgid "Alt + Z: Toggle sky" msgstr "" #: gui/manual/intro.txt:92 msgid "[font=\"sans-bold-14\"]Camera manipulation" msgstr "" #: gui/manual/intro.txt:93 msgid "[font=\"sans-14\"]W or [up]: Pan screen up" msgstr "" #: gui/manual/intro.txt:94 msgid "S or [down]: Pan screen down" msgstr "" #: gui/manual/intro.txt:95 msgid "A or [left]: Pan screen left" msgstr "" #: gui/manual/intro.txt:96 msgid "D or [right]: Pan screen right" msgstr "" #: gui/manual/intro.txt:97 msgid "Ctrl + W or [up]: Rotate camera to look upward" msgstr "" #: gui/manual/intro.txt:98 msgid "Ctrl + S or [down]: Rotate camera to look downward" msgstr "" #: gui/manual/intro.txt:99 msgid "Ctrl + A or [left]: Rotate camera clockwise around terrain" msgstr "" #: gui/manual/intro.txt:100 msgid "Ctrl + D or [right]: Rotate camera anticlockwise around terrain" msgstr "" #: gui/manual/intro.txt:101 msgid "Q: Rotate camera clockwise around terrain" msgstr "" #: gui/manual/intro.txt:102 msgid "E: Rotate camera anticlockwise around terrain" msgstr "" #: gui/manual/intro.txt:103 msgid "Shift + Mouse Wheel Rotate Up: Rotate camera clockwise around terrain" msgstr "" #: gui/manual/intro.txt:104 msgid "Shift + Mouse Wheel Rotate Down: Rotate camera anticlockwise around terrain" msgstr "" #: gui/manual/intro.txt:105 msgid "" "F: Follow the selected unit (move the camera to stop the camera from " "following the unit/s)" msgstr "" #: gui/manual/intro.txt:106 msgid "R: Reset camera zoom/orientation" msgstr "" #: gui/manual/intro.txt:107 msgid "+: Zoom in (keep pressed for continuous zoom)" msgstr "" #: gui/manual/intro.txt:108 msgid "-: Zoom out (keep pressed for continuous zoom)" msgstr "" #: gui/manual/intro.txt:109 msgid "Alt + W: Toggle through wireframe modes" msgstr "" #: gui/manual/intro.txt:110 msgid "" "Middle Mouse Button or / (Forward Slash): Keep pressed and move the mouse to " "pan" msgstr "" #: gui/manual/intro.txt:112 msgid "[font=\"sans-bold-14\"]During Building Placement" msgstr "" #: gui/manual/intro.txt:113 msgid "[font=\"sans-14\"][: Rotate building 15 degrees counter-clockwise" msgstr "" #: gui/manual/intro.txt:114 msgid "]: Rotate building 15 degrees clockwise" msgstr "" #: gui/manual/intro.txt:115 msgid "" "Left Drag: Rotate building using mouse (foundation will be placed on mouse " "release)" msgstr "" #: gui/manual/userreport.txt:1 msgid "" "As a free, open source game, we don't have the resources to test on a wide " "range of systems, but we want to provide the best quality experience to as " "many players as possible. When you enable automatic feedback, we'll receive " "data to help us understand the hardware we should focus on supporting, and to" " identify performance problems we should fix." msgstr "" #: gui/manual/userreport.txt:3 msgid "The following data will be sent to our server:" msgstr "" #: gui/manual/userreport.txt:5 msgid "" "• A random user ID (stored in %APPDATA%\\0ad\\config\\user.cfg on Windows, " "~/.config/0ad/config/user.cfg on Unix), to let us detect repeated reports " "from the same user." msgstr "" #: gui/manual/userreport.txt:6 msgid "" "• Game version number and basic build settings (optimisation mode, CPU " "architecture, timestamp, compiler version)." msgstr "" #: gui/manual/userreport.txt:7 msgid "" "• Hardware details: OS version, graphics driver version, OpenGL capabilities," " screen size, CPU details, RAM size." msgstr "" #: gui/manual/userreport.txt:8 msgid "" "• Performance details: a snapshot of timing data a few seconds after you " "start a match or change graphics settings." msgstr "" #: gui/manual/userreport.txt:10 msgid "" "The data will only be a few kilobytes each time you run the game, so " "bandwidth usage is minimal." msgstr "" #: gui/manual/userreport.txt:12 msgid "" "We will store the submitted data on our server, and may publish statistics or" " non-user-identifiable details to help other game developers with similar " "questions. We will store the IP address that submitted the data, to help " "detect abuse of the service, but will not publish it. The published data can " "be seen at http://feedback.wildfiregames.com/" msgstr "" #: gui/splashscreen/splashscreen.txt:1 msgid "[font=\"sans-bold-16\"]Thank you for installing 0 A.D.!" msgstr "" #: gui/splashscreen/splashscreen.txt:2 msgid "[font=\"sans-16\"]" msgstr "" #: gui/splashscreen/splashscreen.txt:3 msgid "" "[icon=\"constructionIcon\"] This is an early experimental version of the " "game. Features are missing and it contains bugs." msgstr "" #: gui/splashscreen/splashscreen.txt:5 msgid "[icon=iconLag] The game lags when many units are moving." msgstr "" #: gui/splashscreen/splashscreen.txt:7 msgid "[icon=\"iconShip\"] The computer opponent can't use ships." msgstr "" #: gui/splashscreen/splashscreen.txt:9 msgid "[icon=\"iconMap\"] Large maps can cause problems." msgstr "" #: gui/text/quotes.txt:1 msgid "\"A prosperous fool is a grievous burden.\" - Aeschylus" msgstr "" #: gui/text/quotes.txt:2 msgid "" "\"From him [Death] alone of all the powers of heaven Persuasion holds " "aloof.\" - Aeschylus" msgstr "" #: gui/text/quotes.txt:3 msgid "\"To be rather than to seem.\" - Aeschylus, \"Seven Against Thebes\"" msgstr "" #: gui/text/quotes.txt:4 msgid "" "\"It is not the oath that makes us believe the man, but the man the oath.\" -" " Aeschylus" msgstr "" #: gui/text/quotes.txt:5 msgid "" "\"In every tyrant's heart there springs in the end this poison, that he " "cannot trust a friend.\" - Aeschylus, \"Prometheus Bound\"" msgstr "" #: gui/text/quotes.txt:6 msgid "\"Time as he grows old teaches all things.\" - Aeschylus, \"Prometheus Bound\"" msgstr "" #: gui/text/quotes.txt:7 msgid "" "Wisdom comes through suffering... Favours come to us from gods.\" - " "Aeschylus, \"Agamemnon\"" msgstr "" #: gui/text/quotes.txt:8 msgid "" "\"She [Helen] brought to Ilium her dowry, destruction.\" - Aeschylus, " "\"Agamemnon\"" msgstr "" #: gui/text/quotes.txt:9 msgid "" "\"It is in the character of very few men to honor without envy a friend who " "has prospered.\" - Aeschylus, \"Agamemnon\"" msgstr "" #: gui/text/quotes.txt:10 msgid "" "\"For a deadly blow let him pay with a deadly blow; it is for him who has " "done a deed to suffer.\" - Aeschylus" msgstr "" #: gui/text/quotes.txt:11 msgid "\"Any excuse will serve a tyrant.\" - Aesop" msgstr "" #: gui/text/quotes.txt:12 msgid "\"Better be wise by the misfortunes of others than by your own.\" - Aesop" msgstr "" #: gui/text/quotes.txt:13 msgid "\"Beware the wolf in sheep's clothing.\" - Aesop" msgstr "" #: gui/text/quotes.txt:14 msgid "\"Familiarity breeds contempt; acquaintance softens prejudices.\" - Aesop" msgstr "" #: gui/text/quotes.txt:15 msgid "\"It is easy to be brave from a safe distance.\" - Aesop" msgstr "" #: gui/text/quotes.txt:16 msgid "\"It is thrifty to prepare today for the wants of tomorrow.\" - Aesop" msgstr "" #: gui/text/quotes.txt:17 msgid "\"It is not only fine feathers that make fine birds.\" - Aesop" msgstr "" #: gui/text/quotes.txt:18 msgid "\"Never trust advice from a man in the throes of his own difficulty.\" - Aesop" msgstr "" #: gui/text/quotes.txt:19 msgid "\"Persuasion is often more effectual than force.\" - Aesop" msgstr "" #: gui/text/quotes.txt:20 msgid "\"Self-conceit may lead to self-destruction.\" - Aesop" msgstr "" #: gui/text/quotes.txt:21 msgid "\"Slow and steady wins the race.\" - Aesop" msgstr "" #: gui/text/quotes.txt:22 msgid "\"The gods help them that help themselves.\" - Aesop" msgstr "" #: gui/text/quotes.txt:23 msgid "" "\"The shaft of the arrow had been feathered with one of the eagle's own " "plumes. We often give our enemies the means of our own destruction.\" - Aesop" msgstr "" #: gui/text/quotes.txt:24 msgid "\"Union gives strength.\" - Aesop, \"The Bundle of Sticks\"" msgstr "" #: gui/text/quotes.txt:25 msgid "\"Enemies' promises were made to be broken.\" - Aesop" msgstr "" #: gui/text/quotes.txt:26 msgid "" "\"Spartans do not ask how many, only where the enemy are.\" - Agis II of " "Sparta" msgstr "" #: gui/text/quotes.txt:27 msgid "" "\"Weep not for me, suffering as I do unjustly, I am in a happier case than my" " murderers.\" - Agis IV, 24th Spartan king of the Eurypontid dynasty" msgstr "" #: gui/text/quotes.txt:28 msgid "" "\"He who doeth good shall meet with good; and he who doeth evil shall meet " "with evil, for the Lord judgeth a man according to the measure of his work.\"" " - Ahiqar, Assyrian sage" msgstr "" #: gui/text/quotes.txt:29 msgid "" "\"If I were not Alexander, I should wish to be Diogenes.\" - Alexander the " "Great" msgstr "" #: gui/text/quotes.txt:30 msgid "\"I do not steal victory.\" - Alexander the Great" msgstr "" #: gui/text/quotes.txt:31 msgid "" "\"Are you still to learn that the end and perfection of our victories is to " "avoid the vices and infirmities of those whom we subdue?\" - Alexander the " "Great" msgstr "" #: gui/text/quotes.txt:32 msgid "" "\"To the strongest!\" - Alexander, on his death bed, when asked who should " "succeed him as king" msgstr "" #: gui/text/quotes.txt:33 msgid "\"There is nothing impossible to him who will try\" - Alexander the Great" msgstr "" #: gui/text/quotes.txt:34 msgid "" "\"Sex and sleep alone make me conscious that I am mortal.\" - Alexander the " "Great" msgstr "" #: gui/text/quotes.txt:35 msgid "" "\"The agora is an established place for men to cheat one another, and behave " "covetously.\" - Anacharsis" msgstr "" #: gui/text/quotes.txt:36 msgid "" "\"Written laws are like spiders’ webs; they will catch, it is true, the weak " "and poor, but would be torn in pieces by the rich and powerful.\" - " "Anacharsis" msgstr "" #: gui/text/quotes.txt:37 msgid "\"The fox knows many tricks; the hedgehog one good one.\" - Archilochus" msgstr "" #: gui/text/quotes.txt:38 msgid "" "\"States are doomed when they are unable to distinguish good men from bad.\" " "- Antisthenes" msgstr "" #: gui/text/quotes.txt:39 msgid "" "\"Give me a place to stand, and I shall move the world.\" - Archimedes, on " "his usage of the lever." msgstr "" #: gui/text/quotes.txt:40 msgid "" "\"It is from their foes, not their friends, that cities learn the lesson of " "building high walls and ships of war.\" - Aristophanes" msgstr "" #: gui/text/quotes.txt:41 msgid "\"Words give wings to the mind and make a man soar to heaven.\" - Aristophanes" msgstr "" #: gui/text/quotes.txt:42 msgid "" "\"It is the compelling power of great thoughts and ideas to engender language" " of equal greatness.\" - Aristophanes" msgstr "" #: gui/text/quotes.txt:43 msgid "\"Hunger knows no friend but its feeder.\" - Aristophanes" msgstr "" #: gui/text/quotes.txt:44 msgid "" "\"I count him braver who overcomes his desires than him who overcomes his " "enemies.\" - Aristotle" msgstr "" #: gui/text/quotes.txt:45 msgid "\"Our characters are the result of our conduct.\" - Aristotle" msgstr "" #: gui/text/quotes.txt:46 msgid "\"Man is by nature a political animal.\" - Aristotle" msgstr "" #: gui/text/quotes.txt:47 msgid "" "\"If liberty and equality, as is thought by some, are chiefly to be found in " "democracy, they will be best attained when all persons alike share in the " "government to the utmost.\" - Aristotle" msgstr "" #: gui/text/quotes.txt:48 msgid "" "\"Both oligarch and tyrant mistrust the people, and therefore deprive them of" " their arms.\" - Aristotle" msgstr "" #: gui/text/quotes.txt:49 msgid "\"Wit is well-bred insolence.\" - Aristotle" msgstr "" #: gui/text/quotes.txt:50 msgid "" "\"It is simplicity that makes the uneducated more effective than the educated" " when addressing popular audiences.\" - Aristotle" msgstr "" #: gui/text/quotes.txt:51 msgid "" "\"Poetry demands a man with a special gift for it, or else one with a touch " "of madness in him.\" - Aristotle" msgstr "" #: gui/text/quotes.txt:52 msgid "" "\"I have gained this by philosophy: that I do without being commanded what " "others do only from fear of the law.\" - Aristotle" msgstr "" #: gui/text/quotes.txt:53 msgid "" "\"Choose the course which you adopt with deliberation; but when you have " "adopted it, then persevere in it with firmness.\" - Bias of Priene" msgstr "" #: gui/text/quotes.txt:54 msgid "" "\"How stupid it was for the king to tear out his hair in grief, as if " "baldness were a cure for sorrow.\" - Bion of Borysthenes" msgstr "" #: gui/text/quotes.txt:55 msgid "" "\"He has not acquired a fortune; the fortune has acquired him.\" - Bion of " "Borysthenes" msgstr "" #: gui/text/quotes.txt:56 msgid "\"Woe to the Defeated\" - Brennus" msgstr "" #: gui/text/quotes.txt:57 msgid "" "\"Thus always to tyrants.\" - Marcus Junius Brutus, after assassinating Gaius" " Julius Caesar" msgstr "" #: gui/text/quotes.txt:58 msgid "" "\"Escape, yes, but this time with my hands, not my feet.\" - Marcus Junius " "Brutus, before committing suicide" msgstr "" #: gui/text/quotes.txt:59 msgid "\"I came, I saw, I conquered.\" - Gaius Julius Caesar" msgstr "" #: gui/text/quotes.txt:60 msgid "\"Men willingly believe what they wish.\" - Gaius Julius Caesar" msgstr "" #: gui/text/quotes.txt:61 msgid "\"The die is cast.\" - Gaius Julius Caesar" msgstr "" #: gui/text/quotes.txt:62 msgid "" "\"It is not the well-fed long-haired man I fear, but the pale and the hungry " "looking.\" - Gaius Julius Caesar" msgstr "" #: gui/text/quotes.txt:63 msgid "\"Set a thief to catch a thief.\" - Callimachus" msgstr "" #: gui/text/quotes.txt:64 msgid "\"Wise men learn more from fools than fools from the wise.\" - Cato the Elder" msgstr "" #: gui/text/quotes.txt:65 msgid "\"Moreover, I consider that Carthage should be destroyed.\" - Cato the Elder" msgstr "" #: gui/text/quotes.txt:66 msgid "" "\"All mankind rules its women, and we rule all mankind, but our women rule " "us.\" - Cato the Elder" msgstr "" #: gui/text/quotes.txt:67 msgid "\"Be firm or mild as the occasion may require.\" - Cato the Elder" msgstr "" #: gui/text/quotes.txt:68 msgid "\"The worst ruler is one who cannot rule himself.\" - Cato the Elder" msgstr "" #: gui/text/quotes.txt:69 msgid "" "\"Whoever imposes severe punishment becomes repulsive to the people; while he" " who awards mild punishment becomes contemptible. But whoever imposes " "punishment as deserved becomes respectable.\" - Chanakya" msgstr "" #: gui/text/quotes.txt:70 msgid "\"If a king is energetic, his subjects will be equally energetic.\" - Chanakya" msgstr "" #: gui/text/quotes.txt:71 msgid "" "\"For there is but one essential justice which cements society, and one law " "which establishes this justice. This law is right reason, which is the true " "rule of all commandments and prohibitions.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:72 msgid "\"O, the times, O, the customs!\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:73 msgid "" "\"No one is so old as to think that he cannot live one more year.\" - Marcus " "Tullius Cicero" msgstr "" #: gui/text/quotes.txt:74 msgid "" "\"We are not born, we do not live for ourselves alone; our country, our " "friends, have a share in us.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:75 msgid "" "\"Yield, ye arms, to the toga; to civic praise, ye laurels.\" - Marcus " "Tullius Cicero" msgstr "" #: gui/text/quotes.txt:76 msgid "\"At my signal, unleash Hell.\" - Maximus Decimus Meridius" msgstr "" #: gui/text/quotes.txt:77 msgid "\"Time heals all wounds.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:78 msgid "" "\"That, Senators, is what a favour from gangs amounts to. They refrain from " "murdering someone; then they boast that they have spared him!\" - Marcus " "Tullius Cicero" msgstr "" #: gui/text/quotes.txt:79 msgid "\"Genius is fostered by energy.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:80 msgid "\"While there's life, there's hope.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:81 msgid "" "\"We must not say that every mistake is a foolish one.\" - Marcus Tullius " "Cicero" msgstr "" #: gui/text/quotes.txt:82 msgid "\"Let the punishment match the offense.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:83 msgid "\"Let the welfare of the people be the ultimate law.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:84 msgid "\"Endless money forms the sinews of war.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:85 msgid "\"Laws are silent in time of war.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:86 msgid "" "\"A war is never undertaken by the ideal State, except in defense of its " "honor or its safety.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:87 msgid "" "\"The first duty of a man is the seeking after and the investigation of " "truth.\" - Marcus Tullius Cicero" msgstr "" #: gui/text/quotes.txt:88 msgid "" "\"In peace the sons bury their fathers, but in war the fathers bury their " "sons.\" - Croesus (Greek: Kroisos), king of Lydia" msgstr "" #: gui/text/quotes.txt:89 msgid "\"I am Cyrus, king of the world...\" - Cyrus the Great" msgstr "" #: gui/text/quotes.txt:90 msgid "\"Diversity in counsel, unity in command.\" - Cyrus the Great" msgstr "" #: gui/text/quotes.txt:91 msgid "" "\"Do not therefore begrudge me this bit of earth that covers my bones.\" - " "Epitaph of Cyrus the Great" msgstr "" #: gui/text/quotes.txt:92 msgid "" "\"Success always calls for greater generosity — though most people, lost in " "the darkness of their own egos, treat it as an occasion for greater greed.\" " "- Cyrus the Great" msgstr "" #: gui/text/quotes.txt:93 msgid "" "\"Whether men lie, or say true, it is with one and the same object.\" - " "Darius I" msgstr "" #: gui/text/quotes.txt:94 msgid "" "\"Good breeding in cattle depends on physical health, but in men on a well-" "formed character.\" - Democritus" msgstr "" #: gui/text/quotes.txt:95 msgid "" "\"If your desires are not great, a little will seem much to you; for small " "appetite makes poverty equivalent to wealth.\" - Democritus" msgstr "" #: gui/text/quotes.txt:96 msgid "" "\"Delivery, delivery, delivery.\" - Demosthenes, when asked what were the " "three most important elements of rhetoric" msgstr "" #: gui/text/quotes.txt:97 msgid "" "\"It is not possible to found a lasting power upon injustice, perjury, and " "treachery.\" - Demosthenes" msgstr "" #: gui/text/quotes.txt:98 msgid "\"Small opportunities often presage great enterprises.\" - Demosthenes" msgstr "" #: gui/text/quotes.txt:99 msgid "" "\"Every advantage in the past is judged in the light of the final issue.\" - " "Demosthenes" msgstr "" #: gui/text/quotes.txt:100 msgid "" "\"Yes, stand a little out of my sunshine.\" - Diogenes of Sinope, when " "Alexander the Great found him sunbathing and asked if he could help in in any" " way" msgstr "" #: gui/text/quotes.txt:101 msgid "\"I am a citizen of the world.\" - Diogenes of Sinope" msgstr "" #: gui/text/quotes.txt:102 msgid "" "\"It is not that I am mad, it is only that my head is different from yours.\"" " - Diogenes of Sinope" msgstr "" #: gui/text/quotes.txt:103 msgid "" "\"Let thy speech be better than silence, or be silent.\" - Dionysius I of " "Syracuse" msgstr "" #: gui/text/quotes.txt:104 msgid "\"Nothing has more strength than dire necessity.\" - Euripides" msgstr "" #: gui/text/quotes.txt:105 msgid "\"A coward turns away, but a brave man's choice is danger.\" - Euripides" msgstr "" #: gui/text/quotes.txt:106 msgid "\"Cowards do not count in battle; they are there, but not in it.\" - Euripides" msgstr "" #: gui/text/quotes.txt:107 msgid "\"Chance fights ever on the side of the prudent.\" - Euripides" msgstr "" #: gui/text/quotes.txt:108 msgid "" "\"If a man put out the eye of another man, his eye shall be put out.\" - " "Hammurabi" msgstr "" #: gui/text/quotes.txt:109 msgid "" "\"I have come not to make war on the Italians, but to aid the Italians " "against Rome.\" - Hannibal Barca" msgstr "" #: gui/text/quotes.txt:110 msgid "\"I will either find a way, or make one.\" - Hannibal Barca" msgstr "" #: gui/text/quotes.txt:111 msgid "" "\"My ancestors yielded to Roman valour. I am endeavouring that others, in " "their turn, will be obliged to yield to my good fortune, and my valour.\" - " "Hannibal Barca" msgstr "" #: gui/text/quotes.txt:112 msgid "\"Everything flows, nothing stands still.\" - Herakleitos" msgstr "" #: gui/text/quotes.txt:113 msgid "\"Nothing endures but change.\" - Herakleitos" msgstr "" #: gui/text/quotes.txt:114 msgid "\"You could not step twice into the same river.\" - Herakleitos" msgstr "" #: gui/text/quotes.txt:115 msgid "\"Character is destiny.\" - Herakleitos" msgstr "" #: gui/text/quotes.txt:116 msgid "\"Circumstances rule men; men do not rule circumstances.\" - Herodotus" msgstr "" #: gui/text/quotes.txt:117 msgid "" "\"The Lacedaemonians fought a memorable battle; they made it quite clear that" " they were the experts, and that they were fighting against amateurs.\" - " "Herodotus" msgstr "" #: gui/text/quotes.txt:118 msgid "" "\"This is the bitterest pain among men, to have much knowledge but no " "power.\" - Herodotus" msgstr "" #: gui/text/quotes.txt:119 msgid "\"In soft regions are born soft men.\" - Herodotus" msgstr "" #: gui/text/quotes.txt:120 msgid "\"It is sweet and honorable to die for one's country.\" - Horace" msgstr "" #: gui/text/quotes.txt:121 msgid "\"We are but dust and shadow.\" - Horace" msgstr "" #: gui/text/quotes.txt:122 msgid "" "\"I am not bound over to swear allegiance to any master; where the storm " "drives me I turn in for shelter.\" - Horace" msgstr "" #: gui/text/quotes.txt:123 msgid "" "\"Conquered Greece took captive her savage conqueror and brought her arts " "into rustic Latium.\" - Horace" msgstr "" #: gui/text/quotes.txt:124 msgid "" "\"Guard yourself against accusations, even if they are false; for the " "multitude are ignorant of the truth and look only to reputation.\" - " "Isocrates" msgstr "" #: gui/text/quotes.txt:125 msgid "" "\"I never learned how to tune a harp, or play upon a lute; but I know how to " "raise a small and inconsiderable city to glory and greatness.\" - " "Themistocles" msgstr "" #: gui/text/quotes.txt:126 msgid "\"I have with me two gods, Persuasion and Compulsion.\" - Themistocles" msgstr "" #: gui/text/quotes.txt:127 msgid "" "\"For the Athenians command the rest of Greece, I command the Athenians; your" " mother commands me, and you command your mother.\" - Themistocles, in a " "statement to his son" msgstr "" #: gui/text/quotes.txt:128 msgid "\"Strike, if you will, but listen.\" - Themistocles" msgstr "" #: gui/text/quotes.txt:129 msgid "" "\"Marry a good man, and bear good children.\" - Leonidas, to his wife before " "he left for Thermopylae" msgstr "" #: gui/text/quotes.txt:130 msgid "" "\"Come and get them!\" - Leonidas, to the Persian messenger who demanded that" " he and his men lay down their arms" msgstr "" #: gui/text/quotes.txt:131 msgid "\"For a thinking man is where Wisdom is at home.\" - Zoroaster" msgstr "" #: gui/text/quotes.txt:132 msgid "\"I call a fig a fig, a spade a spade.\" - Menander" msgstr "" #: gui/text/quotes.txt:133 msgid "\"The man who runs may fight again.\" - Menander" msgstr "" #: gui/text/quotes.txt:134 msgid "" "\"At times discretion should be thrown aside, and with the foolish we should " "play the fool.\" - Menander" msgstr "" #: gui/text/quotes.txt:135 msgid "" "\"Freedom is the sure possession of those alone who have the courage to " "defend it.\" - Pericles" msgstr "" #: gui/text/quotes.txt:136 msgid "" "\"What you leave behind is not what is engraved in stone monuments, but what " "is woven into the lives of others.\" - Pericles" msgstr "" #: gui/text/quotes.txt:137 msgid "" "\"We do not say that a man who takes no interest in politics is a man who " "minds his own business; we say that he has no business here at all.\" - " "Pericles" msgstr "" #: gui/text/quotes.txt:138 msgid "" "\"They gave her their lives, to Her and to all of us, and for their own " "selves they won praises that never grow old, the most splendid of " "sepulchers...\" - Pericles, Funeral Oration" msgstr "" #: gui/text/quotes.txt:139 msgid "" "\"Make up your minds that happiness depends on being free, and freedom " "depends on being courageous.\" - Pericles" msgstr "" #: gui/text/quotes.txt:140 msgid "" "\"Your empire is now like a tyranny: it may have been wrong to take it; it is" " certainly dangerous to let it go.\" - Pericles" msgstr "" #: gui/text/quotes.txt:141 msgid "" "\"If Athens shall appear great to you, consider then that her glories were " "purchased by valiant men, and by men who learned their duty.\" - Pericles" msgstr "" #: gui/text/quotes.txt:142 msgid "" "\"Just because you do not take an interest in politics doesn't mean politics " "won't take an interest in you.\" - Pericles" msgstr "" #: gui/text/quotes.txt:143 msgid "" "\"War is sweet to those who have no experience of it, but the experienced man" " trembles exceedingly at heart on its approach.\" - Pindar" msgstr "" #: gui/text/quotes.txt:144 msgid "" "\"The hour of departure has arrived, and we go our ways — I to die, and you " "to live. Which is better God only knows.\" - Plato" msgstr "" #: gui/text/quotes.txt:145 msgid "\"Life without examination is not worth living.\" - Plato" msgstr "" #: gui/text/quotes.txt:146 msgid "" "\"Let every man remind their descendants that they also are soldiers who must" " not desert the ranks of their ancestors, or from cowardice fall behind.\" - " "Plato" msgstr "" #: gui/text/quotes.txt:147 msgid "" "\"False words are not only evil in themselves, but they infect the soul with " "evil.\" - Plato" msgstr "" #: gui/text/quotes.txt:148 msgid "" "\"Democracy, which is a charming form of government, full of variety and " "disorder, and dispensing a sort of equality to equals and unequals alike.\" -" " Plato" msgstr "" #: gui/text/quotes.txt:149 msgid "\"Death is not the worst that can happen to men.\" - Plato" msgstr "" #: gui/text/quotes.txt:150 msgid "\"Only the dead have seen the end of war.\" - Unknown" msgstr "" #: gui/text/quotes.txt:151 msgid "\"Our need will be the real creator.\" - Plato" msgstr "" #: gui/text/quotes.txt:152 msgid "\"A man with courage has every blessing.\" - Plautus" msgstr "" #: gui/text/quotes.txt:153 msgid "" "\"No guest is so welcome in a friend's house that he will not become a " "nuisance after three days.\" - Plautus" msgstr "" #: gui/text/quotes.txt:154 msgid "\"He whom the gods love dies young.\" - Plautus" msgstr "" #: gui/text/quotes.txt:155 msgid "\"Practice yourself what you preach.\" - Plautus" msgstr "" #: gui/text/quotes.txt:156 msgid "\"Drink, live like the Greeks, eat, gorge.\" - Plautus" msgstr "" #: gui/text/quotes.txt:157 msgid "" "\"Stop quoting laws, we carry weapons!\" - Gnaeus Pompeius Magnus (Pompey the" " Great)" msgstr "" #: gui/text/quotes.txt:158 msgid "" "\"Man is the measure of all things: of things which are, that they are, and " "of things which are not, that they are not.\" - Protagoras" msgstr "" #: gui/text/quotes.txt:159 msgid "" "\"We ought so to behave to one another as to avoid making enemies of our " "friends, and at the same time to make friends of our enemies.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:160 msgid "\"In anger we should refrain both from speech and action.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:161 msgid "\"Power is the near neighbor of necessity.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:162 msgid "\"Numbers rule the Universe.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:163 msgid "" "\"Rest satisfied with doing well, and leave others to talk of you as they " "please.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:164 msgid "\"Anger begins in folly, and ends in repentance.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:165 msgid "\"There is no word or action but has its echo in Eternity.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:166 msgid "" "\"There is geometry in the humming of the strings, there is music in the " "spacing of the spheres.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:167 msgid "" "\"Practice justice in word and deed, and do not get in the habit of acting " "thoughtlessly about anything.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:168 msgid "\"Do not even think of doing what ought not to be done.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:169 msgid "" "\"When the wise man opens his mouth, the beauties of his soul present " "themselves to the view, like the statues in a temple.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:170 msgid "" "\"Remind yourself that all men assert that wisdom is the greatest good, but " "that there are few who strenuously seek out that greatest good.\" - " "Pythagoras" msgstr "" #: gui/text/quotes.txt:171 msgid "\"Without Justice, no realm may prosper.\" - Pythagoras" msgstr "" #: gui/text/quotes.txt:172 msgid "" "\"For harmony makes small states great, while discord undermines the " "mightiest empires.\" - Sallust" msgstr "" #: gui/text/quotes.txt:173 msgid "" "\"I am mindful of human weakness, and I reflect upon the might of Fortune and" " know that everything that we do is exposed to a thousand chances.\" - Scipio" " Africanus" msgstr "" #: gui/text/quotes.txt:174 msgid "" "\"Prepare for war, since you have been unable to endure a peace.\" - Scipio " "Africanus" msgstr "" #: gui/text/quotes.txt:175 msgid "" "\"Go, tell the Spartans, stranger passing by that here, obedient to their " "laws, we lie.\" - Simonides of Ceos, epitaph on the Cenotaph of Thermopylae" msgstr "" #: gui/text/quotes.txt:176 msgid "\"Not even the gods fight against necessity.\" - Simonides of Ceos" msgstr "" #: gui/text/quotes.txt:177 msgid "" "\"We did not flinch but gave our lives to save Greece when her fate hung on a" " razor's edge.\" - Simonides of Ceos" msgstr "" #: gui/text/quotes.txt:178 msgid "" "\"The bravest are surely those who have the clearest vision of what is before" " them, glory and danger alike, and yet notwithstanding, go out to meet it.\" " "- Thucydides" msgstr "" #: gui/text/tips/army_camp.txt:1 msgid "ROMAN ARMY CAMP" msgstr "" #: gui/text/tips/army_camp.txt:2 msgid "" "- Build anywhere on the map, even in enemy territory. Good for building a " "secret base behind enemy lines or to consolidate gains within enemy " "territory." msgstr "" #: gui/text/tips/army_camp.txt:4 msgid "- Loses health when in neutral or enemy territory." msgstr "" #: gui/text/tips/army_camp.txt:6 msgid "- Construct siege weapons and train citizen-soldiers." msgstr "" #: gui/text/tips/army_camp.txt:8 msgid "- Slowly heal up to 40 garrisoned units." msgstr "" #: gui/text/tips/barracks.txt:1 msgid "BARRACKS" msgstr "" #: gui/text/tips/barracks.txt:2 msgid "" "- Train all citizen-soldiers. Some factions can unlock the training of " "champions as well." msgstr "" #: gui/text/tips/barracks.txt:4 msgid "- Research military technologies unique to each faction." msgstr "" #: gui/text/tips/barracks.txt:6 msgid "" "- Build one early to train citizen-soldiers while you phase up your " "settlement." msgstr "" #: gui/text/tips/barracks.txt:8 msgid "- Build in a forward base to resupply your assault with fresh troops." msgstr "" #: gui/text/tips/blacksmith.txt:1 msgid "BLACKSMITH" msgstr "" #: gui/text/tips/blacksmith.txt:2 msgid "- Research structure for all factions." msgstr "" #: gui/text/tips/blacksmith.txt:4 msgid "- Research weapon and armor upgrades for your units." msgstr "" #: gui/text/tips/blacksmith.txt:6 msgid "- Garrison a citizen-soldier inside to research faster." msgstr "" #: gui/text/tips/carth_sacred_band.txt:1 msgid "CARTHAGINIAN SACRED BAND" msgstr "" #: gui/text/tips/carth_sacred_band.txt:2 msgid "- Champion Spearmen and Champion Cavalry Spearmen for Carthage." msgstr "" #: gui/text/tips/carth_sacred_band.txt:4 msgid "" "- Both cost Food and Metal and are trainable from the Temple, instead of the " "Fortress like most other champions." msgstr "" #: gui/text/tips/carth_sacred_band.txt:6 msgid "" "- Use the Spearmen as heavy infantry against cavalry. Use the Cavalry as " "heavy shock against siege weapons and skirmishers." msgstr "" #: gui/text/tips/catapults.txt:1 msgid "CATAPULTS" msgstr "" #: gui/text/tips/catapults.txt:2 msgid "- Ranged siege engines that are good against buildings." msgstr "" #: gui/text/tips/catapults.txt:4 msgid "" "- May upgrade to flaming projectiles for extra effectiveness against " "buildings and units." msgstr "" #: gui/text/tips/catapults.txt:6 msgid "- Expensive and slow." msgstr "" #: gui/text/tips/catapults.txt:8 msgid "" "- Pack up into carts for movement, and unpack into stationary engines for " "attack!" msgstr "" #: gui/text/tips/celtic_war_barge.txt:1 msgid "CELTIC WAR BARGE" msgstr "" #: gui/text/tips/celtic_war_barge.txt:2 msgid "- A medium \"trireme\"-class warship." msgstr "" #: gui/text/tips/celtic_war_barge.txt:4 msgid "- The only ship of its kind." msgstr "" #: gui/text/tips/celtic_war_barge.txt:6 msgid "- Cannot ram, like other triremes, but has greater health and armour." msgstr "" #: gui/text/tips/celtic_war_barge.txt:8 msgid "- Can transport up to 40 units across the waters." msgstr "" #: gui/text/tips/civic_centres.txt:1 msgid "CIVIC CENTERS" msgstr "" #: gui/text/tips/civic_centres.txt:2 msgid "- The \"foundation\" of your new colony." msgstr "" #: gui/text/tips/civic_centres.txt:4 msgid "- Claim large tracts of territory." msgstr "" #: gui/text/tips/civic_centres.txt:6 msgid "- Can be built in friendly and neutral territory." msgstr "" #: gui/text/tips/civic_centres.txt:8 msgid "- Train Female Citizens and basic Citizen-Soldiers." msgstr "" #: gui/text/tips/embassies.txt:1 msgid "EMBASSIES" msgstr "" #: gui/text/tips/embassies.txt:2 msgid "- Special \"Barracks\" available to the Carthage faction." msgstr "" #: gui/text/tips/embassies.txt:4 msgid "- Train mercenaries from each of the ethnically-themed embassies." msgstr "" #: gui/text/tips/embassies.txt:6 msgid "" "- Mercenary \"citizen-soldiers\" have their normal Food cost converted to " "Metal cost." msgstr "" #: gui/text/tips/fishing.txt:1 msgid "FISHING" msgstr "" #: gui/text/tips/fishing.txt:2 msgid "- Fish the seas for a bountiful harvest." msgstr "" #: gui/text/tips/fishing.txt:4 msgid "- Fishing boats carry a large amount of Food per trip." msgstr "" #: gui/text/tips/fishing.txt:6 msgid "- Garrison a Support Unit aboard to double the Fishing Boat's gathering rate." msgstr "" #: gui/text/tips/fishing.txt:8 msgid "- Careful! Fish are not an infinite resource!" msgstr "" #: gui/text/tips/fortress.txt:1 msgid "FORTRESS" msgstr "" #: gui/text/tips/fortress.txt:2 msgid "- The Fortress is usually each faction's strongest building." msgstr "" #: gui/text/tips/fortress.txt:4 msgid "- Trains Champion Units, Heroes, and Siege Weapons." msgstr "" #: gui/text/tips/fortress.txt:6 msgid "- Gives a population boost." msgstr "" #: gui/text/tips/fortress.txt:8 msgid "- Garrison soldiers inside to add more firepower to its defense." msgstr "" #: gui/text/tips/gathering.txt:1 msgid "RESOURCE GATHERING" msgstr "" #: gui/text/tips/gathering.txt:2 msgid "- Use Citizen-Soldiers and Female Citizens to gather resources." msgstr "" #: gui/text/tips/gathering.txt:4 msgid "- Female Citizens are bonused with Farming and Foraging." msgstr "" #: gui/text/tips/gathering.txt:6 msgid "- Citizen-Soldiers are bonused with Mining." msgstr "" #: gui/text/tips/gathering.txt:8 msgid "" "- The higher the level of Citizen-Soldier (Advanced, Elite), the better he " "fights, but the less efficient he is at gathering." msgstr "" #: gui/text/tips/iphicrates.txt:1 msgid "IPHICRATES" msgstr "" #: gui/text/tips/iphicrates.txt:2 msgid "" "- The Athenian general who reformed the Athenian army to be faster and more " "maneuverable." msgstr "" #: gui/text/tips/iphicrates.txt:4 msgid "- Units in his formation are faster and stronger." msgstr "" #: gui/text/tips/iphicrates.txt:6 msgid "- Skirmishers move faster while he lives." msgstr "" #: gui/text/tips/outposts.txt:1 msgid "OUTPOSTS" msgstr "" #: gui/text/tips/outposts.txt:2 msgid "- Build in neutral territory for a large scouting range." msgstr "" #: gui/text/tips/outposts.txt:4 msgid "- Cheap, at 80 Wood." msgstr "" #: gui/text/tips/outposts.txt:6 msgid "- They construct quickly, but are weak." msgstr "" #: gui/text/tips/outposts.txt:8 msgid "- Lose health while in Neutral territory, but are repairable." msgstr "" #: gui/text/tips/palisades.txt:1 msgid "PALISADE WALLS" msgstr "" #: gui/text/tips/palisades.txt:2 msgid "- A quick, cheap wooden wall available to all factions." msgstr "" #: gui/text/tips/palisades.txt:4 msgid "- Most factions have access to them in Village Phase." msgstr "" #: gui/text/tips/palisades.txt:6 msgid "" "- Attackable by enemy soldiers, unlike City Walls, which are only attackable " "by siege weapons." msgstr "" #: gui/text/tips/pericles.txt:1 msgid "PERICLES" msgstr "" #: gui/text/tips/pericles.txt:2 msgid "- The foremost Athenian politician of the 5th century BCE." msgstr "" #: gui/text/tips/pericles.txt:4 msgid "- Buildings construct faster within his range." msgstr "" #: gui/text/tips/pericles.txt:6 msgid "- Temples are cheaper while he lives." msgstr "" #: gui/text/tips/persian_architecture.txt:1 msgid "PERSIAN ARCHITECTURE" msgstr "" #: gui/text/tips/persian_architecture.txt:2 msgid "- Special Technology for the Persians." msgstr "" #: gui/text/tips/persian_architecture.txt:4 msgid "- All Persian buildings +25% stronger." msgstr "" #: gui/text/tips/persian_architecture.txt:6 msgid "- Build time lengthened by +20% as a consequence." msgstr "" #: gui/text/tips/persian_architecture.txt:8 msgid "" "- Persians also have access to a great number of structural & defensive " "technologies." msgstr "" #: gui/text/tips/quinquereme.txt:1 msgid "HEAVY WARSHIP" msgstr "" #: gui/text/tips/quinquereme.txt:2 msgid "" "- The heaviest standard warship. Available to: Rome, Carthage, Ptolemies, and" " Seleucids." msgstr "" #: gui/text/tips/quinquereme.txt:4 msgid "" "- Garrison up to 50 units for tons of firepower, including ballistas and " "scorpions." msgstr "" #: gui/text/tips/quinquereme.txt:6 msgid "- Has a ramming attack that sinks enemy ships." msgstr "" #: gui/text/tips/savanna_biome.txt:1 msgid "SAVANNA BIOME" msgstr "" #: gui/text/tips/savanna_biome.txt:2 msgid "- Generally flat, with a few watering holes and rocky outcrops." msgstr "" #: gui/text/tips/savanna_biome.txt:4 msgid "- Chock full of herd animals for plentiful hunting." msgstr "" #: gui/text/tips/savanna_biome.txt:6 msgid "- Rich in all types of mining." msgstr "" #: gui/text/tips/savanna_biome.txt:8 msgid "- Wood tends to be sparse, but consists of high-yield Baobab trees." msgstr "" #: gui/text/tips/scout_towers.txt:1 msgid "DEFENSE TOWERS" msgstr "" #: gui/text/tips/scout_towers.txt:2 msgid "- Free-standing towers good for defending large areas of countryside." msgstr "" #: gui/text/tips/scout_towers.txt:4 msgid "" "- They usually cost 100 Wood and 100 Stone. Iberian Defense Towers cost 300 " "Stone (because they're stronger)." msgstr "" #: gui/text/tips/scout_towers.txt:6 msgid "- Has a ranged attack that increases for each garrisoned unit." msgstr "" #: gui/text/tips/spartan_hoplites.txt:1 msgid "SPARTIATES" msgstr "" #: gui/text/tips/spartan_hoplites.txt:2 msgid "- Strongest infantry unit in the game." msgstr "" #: gui/text/tips/spartan_hoplites.txt:4 msgid "- Champion Infantry available to the Spartans faction." msgstr "" #: gui/text/tips/spartan_hoplites.txt:6 msgid "- Long train time, but high armor and attack." msgstr "" #: gui/text/tips/spartan_hoplites.txt:8 msgid "- Use the 'Phalanx' formation for extra armor bonuses." msgstr "" #: gui/text/tips/stoa.txt:1 msgid "STOA" msgstr "" #: gui/text/tips/stoa.txt:2 msgid "- A special starting structure for the Hellenes." msgstr "" #: gui/text/tips/stoa.txt:4 msgid "- Grants +10 Population." msgstr "" #: gui/text/tips/stoa.txt:6 msgid "- Only enabled in some game modes." msgstr "" #: gui/text/tips/stoa.txt:8 msgid "- Can be found in the Atlas editor for custom scenarios." msgstr "" #: gui/text/tips/storehouses.txt:1 msgid "STOREHOUSES" msgstr "" #: gui/text/tips/storehouses.txt:2 msgid "- A cheap dropsite for non-food resources (wood, stone, metal)." msgstr "" #: gui/text/tips/storehouses.txt:4 msgid "" "- Research technologies to improve the gathering capabilities of your " "citizens." msgstr "" #: gui/text/tips/syntagma.txt:1 msgid "SYNTAGMA FORMATION" msgstr "" #: gui/text/tips/syntagma.txt:2 msgid "- A formation for 'pikeman' style infantry." msgstr "" #: gui/text/tips/syntagma.txt:4 msgid "- Formation is slow and cumbersome." msgstr "" #: gui/text/tips/syntagma.txt:6 msgid "- Nearly invulnerable from the front." msgstr "" #: gui/text/tips/syntagma.txt:8 msgid "- Vulnerable to attacks from the rear." msgstr "" #: gui/text/tips/temples.txt:1 msgid "TEMPLES" msgstr "" #: gui/text/tips/temples.txt:2 msgid "- Town Phase structure required to upgrade to the City Phase." msgstr "" #: gui/text/tips/temples.txt:4 msgid "- Recruit Healers to heal your troops on the battlefield." msgstr "" #: gui/text/tips/temples.txt:6 msgid "- Research healing, religious devotion, and cultural technologies." msgstr "" #: gui/text/tips/temples.txt:8 msgid "- Its \"aura\" heals nearby units." msgstr "" #: gui/text/tips/temples.txt:10 msgid "- Garrison damaged units inside for quicker healing." msgstr "" #: gui/text/tips/themistocles.txt:1 msgid "THEMISTOCLES" msgstr "" #: gui/text/tips/themistocles.txt:2 msgid "" "- Athenian hero who commanded the Greeks at the great naval battles of " "Artemisium and Salamis." msgstr "" #: gui/text/tips/themistocles.txt:4 msgid "- All ships are built faster while he lives." msgstr "" #: gui/text/tips/themistocles.txt:6 msgid "- The ship he is garrisoned inside moves much faster." msgstr "" #: gui/text/tips/triremes.txt:1 msgid "TRIREME" msgstr "" #: gui/text/tips/triremes.txt:2 msgid "- The Medium Warship." msgstr "" #: gui/text/tips/triremes.txt:4 msgid "- Available to the Romans, Carthaginians, Hellenic factions, and Persians." msgstr "" #: gui/text/tips/triremes.txt:6 msgid "- Good for transporting or fighting." msgstr "" #: gui/text/tips/triremes.txt:8 msgid "- Garrison a catapult aboard for a long-range siege attack." msgstr "" #: gui/text/tips/triremes.txt:10 msgid "" "- Capable of a devastating ship-to-ship ramming attack that must recharge " "between each use." msgstr "" #: gui/text/tips/viriato.txt:1 msgid "VIRIATO" msgstr "" #: gui/text/tips/viriato.txt:2 msgid "- Iberian hero of the Lusitani tribe." msgstr "" #: gui/text/tips/viriato.txt:4 msgid "" "- At least 7 campaigns against the Romans during the 'Lusitani Wars' from 147" " to 139 B.C." msgstr "" #: gui/text/tips/viriato.txt:6 msgid "- Fast moving and can switch between sword and flaming javelin." msgstr "" #: gui/text/tips/viriato.txt:8 msgid "" "- His \"aura\" is the \"Tactica Guerilla\" that allows nearby Iberian units " "to ambush their opponents." msgstr "" #: gui/text/tips/war_elephants.txt:1 msgid "WAR ELEPHANTS" msgstr "" #: gui/text/tips/war_elephants.txt:2 msgid "- Huge beasts from Africa and India, trained for war." msgstr "" #: gui/text/tips/war_elephants.txt:4 msgid "" "- High Food and Metal cost, but very powerful. Strongest against Structures " "and Cavalry." msgstr "" #: gui/text/tips/war_elephants.txt:6 msgid "- Vulnerable to infantry skirmishers." msgstr "" #: gui/text/tips/war_elephants.txt:8 msgid "- Available to: Mauryans, Ptolemies, Seleucids, and Carthaginians." msgstr "" #: gui/text/tips/whales.txt:1 msgid "WHALES" msgstr "" #: gui/text/tips/whales.txt:2 msgid "- An oceanic resource." msgstr "" #: gui/text/tips/whales.txt:4 msgid "- 2000 Food." msgstr "" #: gui/text/tips/whales.txt:6 msgid "- Gatherable by Fishing Boats after the whale is killed." msgstr "" #: gui/text/tips/whales.txt:8 msgid "- Roam around the oceans of the game and flee when attacked." msgstr "" #: simulation/data/game_speeds.json:Speeds[0].Name msgid "Turtle (0.5x)" msgstr "" #: simulation/data/game_speeds.json:Speeds[1].Name msgid "Slow (0.75x)" msgstr "" #: simulation/data/game_speeds.json:Speeds[2].Name msgid "Normal (1x)" msgstr "" #: simulation/data/game_speeds.json:Speeds[3].Name msgid "Fast (1.25x)" msgstr "" #: simulation/data/game_speeds.json:Speeds[4].Name msgid "Very Fast (1.5x)" msgstr "" #: simulation/data/game_speeds.json:Speeds[5].Name msgid "Insane (2x)" msgstr "" #: simulation/data/player_defaults.json:PlayerData[1].Name #: maps/scenarios/Arcadia 02.xml:41:PlayerData[0].Name #: maps/scenarios/Belgian_Bog_night.xml:42:PlayerData[0].Name #: maps/scenarios/Death Canyon - Invasion Force.xml:42:PlayerData[0].Name #: maps/scenarios/Demo_Trading.xml:31:PlayerData[0].Name #: maps/scenarios/Eire and Albion.xml:31:PlayerData[0].Name #: maps/scenarios/Fast Oasis.xml:31:PlayerData[0].Name #: maps/scenarios/Flight_demo_2.xml:31:PlayerData[0].Name #: maps/scenarios/Gold_Rush.xml:31:PlayerData[0].Name #: maps/scenarios/Introductory Tutorial.xml:42:PlayerData[0].Name #: maps/scenarios/Laconia 01.xml:31:PlayerData[0].Name #: maps/scenarios/Migration.xml:31:PlayerData[0].Name #: maps/scenarios/Necropolis.xml:41:PlayerData[0].Name #: maps/scenarios/Saharan Oases.xml:31:PlayerData[0].Name #: maps/scenarios/Sandbox - Britons.xml:41:PlayerData[0].Name #: maps/scenarios/Sandbox - Gauls.xml:41:PlayerData[0].Name #: maps/scenarios/Sandbox - Iberians.xml:42:PlayerData[0].Name #: maps/scenarios/Sandbox - Romans.xml:42:PlayerData[0].Name #: maps/scenarios/Siwa Oasis.xml:31:PlayerData[0].Name #: maps/scenarios/The Massacre of Delphi.xml:41:PlayerData[0].Name #: maps/scenarios/Tropical Island.xml:41:PlayerData[0].Name #: maps/scenarios/WallTest.xml:31:PlayerData[0].Name #: maps/scenarios/Walls.xml:31:PlayerData[0].Name #: maps/scenarios/reservoir.xml:31:PlayerData[0].Name #: maps/scenarios/starting_economy_walkthrough.xml:42:PlayerData[0].Name #: maps/skirmishes/Acropolis Bay (2).xml:41:PlayerData[0].Name #: maps/skirmishes/Alpine_Valleys_(2).xml:41:PlayerData[0].Name #: maps/skirmishes/Bactria (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Belgian Bog (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Caspian Sea (2v2).xml:42:PlayerData[0].Name #: maps/skirmishes/Corinthian Isthmus (2).xml:41:PlayerData[0].Name #: maps/skirmishes/Corsica and Sardinia (4).xml:42:PlayerData[0].Name #: maps/skirmishes/Cycladic Archipelago (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Death Canyon (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Deccan Plateau (2).xml:41:PlayerData[0].Name #: maps/skirmishes/Gallic Fields (3).xml:42:PlayerData[0].Name #: maps/skirmishes/Gambia River (3).xml:42:PlayerData[0].Name #: maps/skirmishes/Golden Oasis (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Greek Acropolis (2).xml:41:PlayerData[0].Name #: maps/skirmishes/Greek Acropolis (4).xml:41:PlayerData[0].Name #: maps/skirmishes/Greek Acropolis Night (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Libyan Oases (4).xml:42:PlayerData[0].Name #: maps/skirmishes/Libyan Oasis (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Lorraine Plain (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Median Oasis (2).xml:41:PlayerData[0].Name #: maps/skirmishes/Median Oasis (4).xml:42:PlayerData[0].Name #: maps/skirmishes/Mediterranean Cove (2).xml:41:PlayerData[0].Name #: maps/skirmishes/Neareastern Badlands (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Neareastern Badlands (4).xml:42:PlayerData[0].Name #: maps/skirmishes/Nile River (4).xml:41:PlayerData[0].Name #: maps/skirmishes/Persian Highlands (4).xml:42:PlayerData[0].Name #: maps/skirmishes/Punbjab (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Saharan Oases (4).xml:41:PlayerData[0].Name #: maps/skirmishes/Sahel (4).xml:42:PlayerData[0].Name #: maps/skirmishes/Savanna River.xml:42:PlayerData[0].Name #: maps/skirmishes/Sicilia (2).xml:41:PlayerData[0].Name #: maps/skirmishes/Sporades Islands (2).xml:42:PlayerData[0].Name #: maps/skirmishes/Syria (2).xml:41:PlayerData[0].Name #: maps/skirmishes/Team Oasis - 2v2.xml:42:PlayerData[0].Name #: maps/skirmishes/Thessalian Plains (4).xml:41:PlayerData[0].Name #: maps/skirmishes/Watering Holes (4).xml:42:PlayerData[0].Name #: maps/skirmishes/Zagros Mountains (2).xml:42:PlayerData[0].Name msgid "Player 1" msgstr "" #: simulation/data/player_defaults.json:PlayerData[2].Name #: maps/scenarios/Arcadia 02.xml:41:PlayerData[1].Name #: maps/scenarios/Belgian_Bog_night.xml:42:PlayerData[1].Name #: maps/scenarios/Demo_Trading.xml:31:PlayerData[1].Name #: maps/scenarios/Eire and Albion.xml:31:PlayerData[1].Name #: maps/scenarios/Fast Oasis.xml:31:PlayerData[1].Name #: maps/scenarios/Flight_demo_2.xml:31:PlayerData[1].Name #: maps/scenarios/Gold_Rush.xml:31:PlayerData[1].Name #: maps/scenarios/Introductory Tutorial.xml:42:PlayerData[1].Name #: maps/scenarios/Laconia 01.xml:31:PlayerData[1].Name #: maps/scenarios/Migration.xml:31:PlayerData[1].Name #: maps/scenarios/Necropolis.xml:41:PlayerData[1].Name #: maps/scenarios/Saharan Oases.xml:31:PlayerData[1].Name #: maps/scenarios/Sandbox - Britons.xml:41:PlayerData[1].Name #: maps/scenarios/Sandbox - Gauls.xml:41:PlayerData[1].Name #: maps/scenarios/Sandbox - Iberians.xml:42:PlayerData[1].Name #: maps/scenarios/Sandbox - Romans.xml:42:PlayerData[1].Name #: maps/scenarios/Siwa Oasis.xml:31:PlayerData[1].Name #: maps/scenarios/The Massacre of Delphi.xml:41:PlayerData[1].Name #: maps/scenarios/Tropical Island.xml:41:PlayerData[1].Name #: maps/scenarios/WallTest.xml:31:PlayerData[1].Name #: maps/scenarios/Walls.xml:31:PlayerData[1].Name #: maps/scenarios/starting_economy_walkthrough.xml:42:PlayerData[1].Name #: maps/skirmishes/Acropolis Bay (2).xml:41:PlayerData[1].Name #: maps/skirmishes/Alpine_Valleys_(2).xml:41:PlayerData[1].Name #: maps/skirmishes/Bactria (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Belgian Bog (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Caspian Sea (2v2).xml:42:PlayerData[1].Name #: maps/skirmishes/Corinthian Isthmus (2).xml:41:PlayerData[1].Name #: maps/skirmishes/Corsica and Sardinia (4).xml:42:PlayerData[1].Name #: maps/skirmishes/Cycladic Archipelago (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Death Canyon (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Deccan Plateau (2).xml:41:PlayerData[1].Name #: maps/skirmishes/Gallic Fields (3).xml:42:PlayerData[1].Name #: maps/skirmishes/Gambia River (3).xml:42:PlayerData[1].Name #: maps/skirmishes/Golden Oasis (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Greek Acropolis (2).xml:41:PlayerData[1].Name #: maps/skirmishes/Greek Acropolis (4).xml:41:PlayerData[1].Name #: maps/skirmishes/Greek Acropolis Night (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Libyan Oases (4).xml:42:PlayerData[1].Name #: maps/skirmishes/Libyan Oasis (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Lorraine Plain (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Median Oasis (2).xml:41:PlayerData[1].Name #: maps/skirmishes/Median Oasis (4).xml:42:PlayerData[1].Name #: maps/skirmishes/Mediterranean Cove (2).xml:41:PlayerData[1].Name #: maps/skirmishes/Neareastern Badlands (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Neareastern Badlands (4).xml:42:PlayerData[1].Name #: maps/skirmishes/Nile River (4).xml:41:PlayerData[1].Name #: maps/skirmishes/Persian Highlands (4).xml:42:PlayerData[1].Name #: maps/skirmishes/Punbjab (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Saharan Oases (4).xml:41:PlayerData[1].Name #: maps/skirmishes/Sahel (4).xml:42:PlayerData[1].Name #: maps/skirmishes/Savanna River.xml:42:PlayerData[1].Name #: maps/skirmishes/Sicilia (2).xml:41:PlayerData[1].Name #: maps/skirmishes/Sporades Islands (2).xml:42:PlayerData[1].Name #: maps/skirmishes/Syria (2).xml:41:PlayerData[1].Name #: maps/skirmishes/Team Oasis - 2v2.xml:42:PlayerData[1].Name #: maps/skirmishes/Thessalian Plains (4).xml:41:PlayerData[1].Name #: maps/skirmishes/Watering Holes (4).xml:42:PlayerData[1].Name #: maps/skirmishes/Zagros Mountains (2).xml:42:PlayerData[1].Name msgid "Player 2" msgstr "" #: simulation/data/player_defaults.json:PlayerData[3].Name #: maps/scenarios/Death Canyon - Invasion Force.xml:42:PlayerData[2].Name #: maps/scenarios/Demo_Trading.xml:31:PlayerData[2].Name #: maps/scenarios/Fast Oasis.xml:31:PlayerData[2].Name #: maps/scenarios/Gold_Rush.xml:31:PlayerData[2].Name #: maps/scenarios/Migration.xml:31:PlayerData[2].Name #: maps/scenarios/Necropolis.xml:41:PlayerData[2].Name #: maps/scenarios/Saharan Oases.xml:31:PlayerData[2].Name #: maps/scenarios/Sandbox - Britons.xml:41:PlayerData[2].Name #: maps/scenarios/Sandbox - Gauls.xml:41:PlayerData[2].Name #: maps/scenarios/Siwa Oasis.xml:31:PlayerData[2].Name #: maps/skirmishes/Caspian Sea (2v2).xml:42:PlayerData[2].Name #: maps/skirmishes/Corsica and Sardinia (4).xml:42:PlayerData[2].Name #: maps/skirmishes/Gallic Fields (3).xml:42:PlayerData[2].Name #: maps/skirmishes/Gambia River (3).xml:42:PlayerData[2].Name #: maps/skirmishes/Greek Acropolis (4).xml:41:PlayerData[2].Name #: maps/skirmishes/Libyan Oases (4).xml:42:PlayerData[2].Name #: maps/skirmishes/Median Oasis (4).xml:42:PlayerData[2].Name #: maps/skirmishes/Neareastern Badlands (4).xml:42:PlayerData[2].Name #: maps/skirmishes/Nile River (4).xml:41:PlayerData[2].Name #: maps/skirmishes/Persian Highlands (4).xml:42:PlayerData[2].Name #: maps/skirmishes/Saharan Oases (4).xml:41:PlayerData[2].Name #: maps/skirmishes/Sahel (4).xml:42:PlayerData[2].Name #: maps/skirmishes/Team Oasis - 2v2.xml:42:PlayerData[2].Name #: maps/skirmishes/Thessalian Plains (4).xml:41:PlayerData[2].Name #: maps/skirmishes/Watering Holes (4).xml:42:PlayerData[2].Name msgid "Player 3" msgstr "" #: simulation/data/player_defaults.json:PlayerData[4].Name #: maps/scenarios/Fast Oasis.xml:31:PlayerData[3].Name #: maps/scenarios/Gold_Rush.xml:31:PlayerData[3].Name #: maps/scenarios/Necropolis.xml:41:PlayerData[3].Name #: maps/scenarios/Saharan Oases.xml:31:PlayerData[3].Name #: maps/scenarios/Siwa Oasis.xml:31:PlayerData[3].Name #: maps/skirmishes/Caspian Sea (2v2).xml:42:PlayerData[3].Name #: maps/skirmishes/Corsica and Sardinia (4).xml:42:PlayerData[3].Name #: maps/skirmishes/Greek Acropolis (4).xml:41:PlayerData[3].Name #: maps/skirmishes/Libyan Oases (4).xml:42:PlayerData[3].Name #: maps/skirmishes/Median Oasis (4).xml:42:PlayerData[3].Name #: maps/skirmishes/Neareastern Badlands (4).xml:42:PlayerData[3].Name #: maps/skirmishes/Nile River (4).xml:41:PlayerData[3].Name #: maps/skirmishes/Persian Highlands (4).xml:42:PlayerData[3].Name #: maps/skirmishes/Saharan Oases (4).xml:41:PlayerData[3].Name #: maps/skirmishes/Sahel (4).xml:42:PlayerData[3].Name #: maps/skirmishes/Team Oasis - 2v2.xml:42:PlayerData[3].Name #: maps/skirmishes/Thessalian Plains (4).xml:41:PlayerData[3].Name #: maps/skirmishes/Watering Holes (4).xml:42:PlayerData[3].Name msgid "Player 4" msgstr "" #: simulation/data/player_defaults.json:PlayerData[5].Name msgid "Player 5" msgstr "" #: simulation/data/player_defaults.json:PlayerData[6].Name msgid "Player 6" msgstr "" #: simulation/data/player_defaults.json:PlayerData[7].Name msgid "Player 7" msgstr "" #: simulation/data/player_defaults.json:PlayerData[8].Name msgid "Player 8" msgstr "" #: simulation/data/map_sizes.json:Sizes[0].Name #: simulation/data/map_sizes.json:Sizes[0].LongName msgid "Tiny" msgstr "" #: simulation/data/map_sizes.json:Sizes[1].Name msgid "Small" msgstr "" #: simulation/data/map_sizes.json:Sizes[1].LongName msgid "Small (2 players)" msgstr "" #: simulation/data/map_sizes.json:Sizes[2].LongName msgid "Medium (3 players)" msgstr "" #: simulation/data/map_sizes.json:Sizes[3].Name msgid "Normal" msgstr "" #: simulation/data/map_sizes.json:Sizes[3].LongName msgid "Normal (4 players)" msgstr "" #: simulation/data/map_sizes.json:Sizes[4].Name msgid "Large" msgstr "" #: simulation/data/map_sizes.json:Sizes[4].LongName msgid "Large (6 players)" msgstr "" #: simulation/data/map_sizes.json:Sizes[5].Name msgid "Very Large" msgstr "" #: simulation/data/map_sizes.json:Sizes[5].LongName msgid "Very Large (8 players)" msgstr "" #: simulation/data/map_sizes.json:Sizes[6].Name #: simulation/data/map_sizes.json:Sizes[6].LongName msgid "Giant" msgstr "" #: civs/athen.json:Name #: civs/athen.json:Factions[0].Name msgid "Athenians" msgstr "" #: civs/athen.json:CivBonuses[0].Description msgid "Metal mining gathering rates increased by +10% for each passing age." msgstr "" #: civs/athen.json:CivBonuses[0].Name msgid "Silver Owls" msgstr "" #: civs/athen.json:CivBonuses[0].History msgid "" "The mines at Laureion in Attica provided Athens with a wealth of silver from " "which to mint her famous and highly prized coin, The Athenian Owl." msgstr "" #: civs/athen.json:CivBonuses[1].Description #: civs/hele.json:CivBonuses[1].Description #: civs/mace.json:CivBonuses[2].Description #: civs/spart.json:CivBonuses[2].Description #: civs/theb.json:CivBonuses[2].Description msgid "" "Constructing a Theatron increases the territory expanse of all buildings by " "+20%." msgstr "" #: civs/athen.json:CivBonuses[1].Name #: civs/hele.json:CivBonuses[1].Name #: civs/mace.json:CivBonuses[2].Name #: civs/spart.json:CivBonuses[2].Name #: civs/theb.json:CivBonuses[2].Name #: simulation/data/technologies/hellenes/temp_special_hellenization.json:genericName msgid "Hellenization" msgstr "" #: civs/athen.json:CivBonuses[1].History #: civs/hele.json:CivBonuses[1].History #: civs/spart.json:CivBonuses[2].History #: civs/theb.json:CivBonuses[2].History msgid "" "The Greeks were highly successful in Hellenising various foreigners. During " "the Hellenistic Age, Greek was the lingua franca of the Ancient World, spoken" " widely from Spain to India." msgstr "" #: civs/athen.json:TeamBonuses[0].Description msgid "Ships construct 25% faster." msgstr "" #: civs/athen.json:TeamBonuses[0].Name #: civs/hele.json:Factions[0].Technologies[1].Name #: simulation/data/technologies/hellenes/teambonus_athen_delian_league.json:genericName #: maps/scenarios/Campaign Test Map.xml:42:PlayerData[0].Name msgid "Delian League" msgstr "" #: civs/athen.json:TeamBonuses[0].History #: civs/hele.json:Factions[0].Technologies[1].History msgid "" "Shortly after the great naval victories at Salamis and Mykale, the Greek " "city-states instituted the so-called Delian League in 478 B.C., whose purpose" " was to push the Persians out of the Aegean region. The allied states " "contributed ships and money, while the Athenians offered their entire navy." msgstr "" #: civs/athen.json:AINames[0] #: civs/athen.json:Factions[0].Heroes[0].Name #: civs/hele.json:Factions[0].Heroes[0].Name #: simulation/templates/units/athen_hero_themistocles.xml:13 #: simulation/templates/units/hele_hero_themistocles.xml:13 msgid "Themistocles" msgstr "" #: civs/athen.json:AINames[1] #: civs/athen.json:Factions[0].Heroes[1].Name #: simulation/templates/units/athen_hero_pericles.xml:14 msgid "Pericles" msgstr "" #: civs/athen.json:AINames[2] msgid "Cimon" msgstr "" #: civs/athen.json:AINames[3] msgid "Aristides" msgstr "" #: civs/athen.json:AINames[4] #: civs/hele.json:Factions[0].Heroes[2].Name #: simulation/templates/units/hele_hero_xenophon.xml:16 msgid "Xenophon" msgstr "" #: civs/athen.json:AINames[5] msgid "Hippias" msgstr "" #: civs/athen.json:AINames[6] msgid "Cleisthenes" msgstr "" #: civs/athen.json:AINames[7] msgid "Thucydides" msgstr "" #: civs/athen.json:AINames[8] msgid "Alcibiades" msgstr "" #: civs/athen.json:AINames[9] msgid "Miltiades" msgstr "" #: civs/athen.json:AINames[10] msgid "Cleon" msgstr "" #: civs/athen.json:AINames[11] msgid "Cleophon" msgstr "" #: civs/athen.json:AINames[12] msgid "Thrasybulus" msgstr "" #: civs/athen.json:AINames[13] #: civs/athen.json:Factions[0].Heroes[2].Name #: simulation/templates/units/athen_hero_iphicrates.xml:16 msgid "Iphicrates" msgstr "" #: civs/athen.json:AINames[14] msgid "Demosthenes" msgstr "" #: civs/athen.json:Factions[0].Technologies[0].Description msgid "Athenian triremes can train Marines (Epibastes Athenaikos)." msgstr "" #: civs/athen.json:Factions[0].Technologies[0].Name #: simulation/data/technologies/hellenes/special_iphicratean_reforms.json:genericName msgid "Iphicratean Reforms" msgstr "" #: civs/athen.json:Factions[0].Technologies[1].Description msgid "" "Stone walls can be built in neutral territory. Construction time for walls is" " reduced by 50%." msgstr "" #: civs/athen.json:Factions[0].Technologies[1].Name msgid "Long Walls" msgstr "" #: civs/athen.json:Factions[0].Technologies[1].History #: simulation/data/technologies/hellenes/special_long_walls.json:description msgid "" "The Long Walls of Athens were constructed under the auspices of the wily " "Themistocles and extended 6 km from the city to the port of Piraeus. This " "secured the city's sea supply routes and prevented an enemy from starving out" " the city during a siege." msgstr "" #: civs/athen.json:Factions[0].Technologies[2].Description msgid "" "The player gains the ability to order spear-armed troops into Phalanx " "formation, providing greater attack and armor." msgstr "" #: civs/athen.json:Factions[0].Technologies[2].Name #: civs/hele.json:Factions[0].Technologies[0].Name #: civs/spart.json:CivBonuses[0].Name msgid "Othismos" msgstr "" #: civs/athen.json:Factions[0].Technologies[2].History msgid "" "The classical phalanx formation was developed about VIII century BC. It was " "eight men deep and up to eight hundred men wide. The men within overlapped " "their shields, presenting a formidable shield wall brimming with 8 foot " "spears." msgstr "" #: civs/athen.json:Factions[0].Heroes[0].History #: civs/hele.json:Factions[0].Heroes[0].History msgid "" "The general whom persuaded the Athenians to invest their income from silver " "mines in a war navy of 200 Triremes. A key figure during the Persian Wars, he" " commanded the victorious Athenian navy at the decisive battle of Salamis in " "479 B.C. Later, he pursued an active policy against the Persians in the " "Aegean, thereby laying the foundations of future Athenian power. Ostracised " "by the Athenians, he was forced to flee to the protection of the Persians." msgstr "" #: civs/athen.json:Factions[0].Heroes[1].History msgid "Pericles was the foremost Athenian politician of the 5th Century B.C." msgstr "" #: civs/athen.json:Factions[0].Heroes[2].History #: civs/maur.json:Factions[0].Technologies[0].History #: civs/maur.json:Structures[0].History #: civs/maur.json:Structures[1].History #: civs/pers.json:Factions[0].Technologies[2].History #: civs/ptol.json:Factions[0].Heroes[0].History #: civs/ptol.json:Factions[0].Heroes[1].History #: civs/ptol.json:Factions[0].Heroes[2].History #: civs/sele.json:CivBonuses[0].History #: civs/sele.json:Structures[1].History #: civs/theb.json:Factions[0].Heroes[0].History #: civs/theb.json:Factions[0].Heroes[1].History #: civs/theb.json:Factions[0].Heroes[2].History #: civs/theb.json:Structures[1].Special msgid "." msgstr "" #: civs/athen.json:Factions[0].Description msgid "A Hellenic people of the Ionian tribe." msgstr "" #: civs/athen.json:Structures[0].Name #: civs/hele.json:Structures[0].Name #: civs/mace.json:Structures[0].Name #: civs/spart.json:Structures[0].Name #: civs/theb.json:Structures[0].Name msgid "Theatron" msgstr "" #: civs/athen.json:Structures[0].Special #: civs/spart.json:Structures[0].Special #: civs/theb.json:Structures[0].Special msgid "" "The Hellenization civ bonus. Building a Theatron increases the territory " "effect of all buildings by 25%." msgstr "" #: civs/athen.json:Structures[0].History #: civs/hele.json:Structures[0].History #: civs/mace.json:Structures[0].History #: civs/spart.json:Structures[0].History #: civs/theb.json:Structures[0].History msgid "" "Greek theatres were places where the immortal tragedies of Aeschylus, " "Sophocles and many other talented dramatists were staged to the delight of " "the populace. They were instrumental in enriching Hellenic culture." msgstr "" #: civs/athen.json:Structures[1].Name #: civs/hele.json:Structures[1].Name msgid "Gymnasion" msgstr "" #: civs/athen.json:Structures[1].Special msgid "Train champion units and research technologies pertaining to champion units." msgstr "" #: civs/athen.json:Structures[1].History #: civs/hele.json:Structures[1].History msgid "" "The Gymnasion was a vital place in Hellenic cities, where physical exercises " "were performed and social contacts established." msgstr "" #: civs/athen.json:Structures[2].Name #: civs/hele.json:Structures[2].Name msgid "Prytaneion" msgstr "" #: civs/athen.json:Structures[2].Special msgid "Train heroes and research technology pertaining to heroes." msgstr "" #: civs/athen.json:Structures[2].History #: civs/hele.json:Structures[2].History msgid "" "The Prytaneion is the meeting place for the city elders to dine and to make " "swift decisions." msgstr "" #: civs/athen.json:History msgid "" "As the cradle of Western civilization and the birthplace of democracy, Athens" " was famed as a center for the arts, learning and philosophy. The Athenians " "were also powerful warriors, particularly at sea. At its peak, Athens " "dominated a large part of the Hellenic world for several decades." msgstr "" #: civs/brit.json:Name #: civs/brit.json:Factions[0].Name #: civs/celt.json:Factions[0].Name msgid "Britons" msgstr "" #: civs/brit.json:CivBonuses[0].Description #: civs/celt.json:CivBonuses[0].Description #: civs/gaul.json:CivBonuses[0].Description msgid "Enhanced food gained from ranching and farming. " msgstr "" #: civs/brit.json:CivBonuses[0].Name #: civs/celt.json:CivBonuses[0].Name #: civs/gaul.json:CivBonuses[0].Name msgid "Ardiosmanae" msgstr "" #: civs/brit.json:CivBonuses[0].History #: civs/celt.json:CivBonuses[0].History #: civs/gaul.json:CivBonuses[0].History msgid "Represents Celtic farming methods. " msgstr "" #: civs/brit.json:CivBonuses[1].Description #: civs/celt.json:CivBonuses[1].Description #: civs/gaul.json:CivBonuses[1].Description msgid "Druids increase attack rates of soldiers near them slightly." msgstr "" #: civs/brit.json:CivBonuses[1].Name #: civs/celt.json:CivBonuses[1].Name #: civs/gaul.json:CivBonuses[1].Name msgid "Deas Celtica" msgstr "" #: civs/brit.json:CivBonuses[1].History #: civs/celt.json:CivBonuses[1].History #: civs/gaul.json:CivBonuses[1].History msgid "Celtic religion and druidry inspired their warlike mindset. " msgstr "" #: civs/brit.json:TeamBonuses[0].Description #: civs/celt.json:TeamBonuses[0].Description #: civs/gaul.json:TeamBonuses[0].Description msgid "Bonus to tech speed." msgstr "" #: civs/brit.json:TeamBonuses[0].Name #: civs/celt.json:TeamBonuses[0].Name #: civs/gaul.json:TeamBonuses[0].Name #: simulation/templates/units/brit_support_healer_b.xml:6 #: simulation/templates/units/celt_support_healer_b.xml:6 #: simulation/templates/units/gaul_support_healer_b.xml:6 msgid "Druides" msgstr "" #: civs/brit.json:TeamBonuses[0].History #: civs/celt.json:TeamBonuses[0].History #: civs/gaul.json:TeamBonuses[0].History msgid "" "The Druids of the Celts maintained an organized religion that advanced the " "technology of their people even during wartime." msgstr "" #: civs/brit.json:AINames[0] #: civs/brit.json:Factions[0].Heroes[0].Name #: civs/celt.json:Factions[0].Heroes[0].Name msgid "Karatakos" msgstr "" #: civs/brit.json:AINames[1] #: civs/brit.json:Factions[0].Heroes[1].Name #: civs/celt.json:Factions[0].Heroes[1].Name msgid "Kunobelinos" msgstr "" #: civs/brit.json:AINames[2] #: civs/brit.json:Factions[0].Heroes[2].Name #: civs/celt.json:Factions[0].Heroes[2].Name #: simulation/templates/units/brit_hero_boudicca.xml:32 #: simulation/templates/units/brit_hero_boudicca_sword.xml:18 #: simulation/templates/units/celt_hero_boudicca.xml:27 msgid "Boudicca" msgstr "" #: civs/brit.json:AINames[3] msgid "Prasutagus" msgstr "" #: civs/brit.json:AINames[4] msgid "Venutius" msgstr "" #: civs/brit.json:AINames[5] msgid "Cogidubnus" msgstr "" #: civs/brit.json:AINames[6] msgid "Commius" msgstr "" #: civs/brit.json:AINames[7] msgid "Comux" msgstr "" #: civs/brit.json:AINames[8] msgid "Adminius" msgstr "" #: civs/brit.json:AINames[9] msgid "Dubnovellaunus" msgstr "" #: civs/brit.json:AINames[10] msgid "Vosenius" msgstr "" #: civs/brit.json:Factions[0].Technologies[0].Description #: civs/celt.json:Factions[0].Technologies[0].Description msgid "Increased attack and movement rate for melee soldiers." msgstr "" #: civs/brit.json:Factions[0].Technologies[0].Name #: civs/celt.json:Factions[0].Technologies[0].Name msgid "Sevili Dusios" msgstr "" #: civs/brit.json:Factions[0].Technologies[0].History #: civs/celt.json:Factions[0].Technologies[0].History msgid "" "The Britons took up the practice of either making permanent marks on their " "body in the form of tattoos or temporarily painted their bodies with woad " "paint. The effect was very frightening." msgstr "" #: civs/brit.json:Factions[0].Technologies[1].Description #: civs/celt.json:Factions[0].Technologies[1].Description msgid "Increases the height bonus of units garrisoned in a tower." msgstr "" #: civs/brit.json:Factions[0].Technologies[1].Name #: civs/celt.json:Factions[0].Technologies[1].Name msgid "Turos Maros" msgstr "" #: civs/brit.json:Factions[0].Technologies[1].History #: civs/celt.json:Factions[0].Technologies[1].History msgid "" "'Great Tower'; Celtic legends abound with stories of massive tall towers " "built by the most powerful kings, and the remains of some very large towers " "have been found." msgstr "" #: civs/brit.json:Factions[0].Heroes[0].History #: civs/celt.json:Factions[0].Heroes[0].History msgid "" "Caractacus, the Roman form, is a simple change from Karatakos, his actual " "name, which was printed on his many, many coins. Under this name he is " "remembered as a fierce defender of Britain against the Romans after their " "invasion in 43 A.D. Son of King Cunobelin of the Catuvellauni tribal " "confederation, Karatakos fought for nine years against the Romans with little" " success, eventually fleeing to the tribes in Wales, where he was defeated " "decisively. Finally he entered Northern Britain, where was handed over to the" " Romans. Taken to Rome, Karatakos was allowed to live by the Emperor Claudius" " and died in Italy. Tradition states he converted to Christianity when his " "wife did, but there is nothing known of this as definite. Probably more " "notable is the matter that he was allowed to live once captured. Roman policy" " was typically to have such men killed in public displays to celebrate. " "Karatakos was brought before the Emperor and Senate at his request to explain" " himself. What he said is not known for certainty, but Tacitus applies to him" " a famous speech..." msgstr "" #: civs/brit.json:Factions[0].Heroes[1].History #: civs/celt.json:Factions[0].Heroes[1].History msgid "" "Kunobelinos, perhaps better known by the latinized form of Cunobelin, was a " "powerful ruler centered in the territory around modern day Colchester. Ruling" " the Catuvellauni from Kamulodunon(better known as Camulodunum), he was a " "warrior king who conquered a neighboring tribe, the Trinovantes, and was " "referred to by the Romans as the King of the Britons. The Trinovantes, while " "having been Roman allies, were not able to call for Roman aide, as they were " "conquered shortly after the Roman's own disaster in Germania. Kunobelinos " "died of disease after subjugating the great majority of the southern half of " "Britain (his coins were being minted as far as the borders of what would " "become Wales). When he died, his son Togdumnos replaced him, who died in " "battle with the Romans, and was subsequently replaced by his brother, " "Karatakos. It is an irony that it was his third son that initially invited " "this Roman reprisal. Kunobelinos seems to have been indifferent to the " "Romans. He traded with them freely, but had few qualms subjugating known " "Roman allies, and even sent Adminius as a fosterling to be educated in Roman " "Gaul. This accounted for Adminius's friendships among the Romans, and he was " "given lordship over the Cantaci, who inhabited Kent, by his father. This area" " was the prime area of Roman influence and trade in Britain, and he shrewdly " "observed his youngest son's friendship with powerful Roman and Gallo-Roman " "politicians and traders would be of use administrating the region. His other " "sons though had no love for the Romans, and when Kunobelinos died, Togdumnos," " now king, arrested, executed, or expelled numerous Roman sympathizers, " "including his own brother Adminius, and the deposed Atrebates king, Verica, " "who appealed to their connections in the Roman Empire for aide in recovering " "their lands. Kunobelinos in his own time though was possibly one of the " "greatest of all British kings. He conquered huge portions of land from " "originally ruling over only four minor tribes in a confederation, the " "Catuvellauni, and achieved recognition as king of Britain. This recognition " "was so great that tribes in Cambria even came to assist his sons against the " "Romans and their British allies, and Kunobelinos was held up by the post-" "Roman Britons as one of their great heroes; a conqueror and uniter of petty " "kingdoms, something the post-Roman Britons or Romano-British sorely needed." msgstr "" #: civs/brit.json:Factions[0].Heroes[2].History #: civs/celt.json:Factions[0].Heroes[2].History msgid "" "Ammianus Marcellinus described how difficult it would be for a band of " "foreigners to deal with a Celt if he called in the help of his wife. For she " "was stronger than he was and could rain blows and kicks upon the assailants " "equal in force to the shots of a catapult. Boudicca, queen of the Iceni, was " "said to be 'very tall and terrifying in appearance; her voice was very harsh " "and a great mass of red hair fell over her shoulders. She wore a tunic of " "many colors over which a thick cloak was fastened by a brooch. Boudicca had " "actually at first been a Roman ally, along with her husband, Prasutagus, king" " of the Iceni. Prasutagus had been a close Roman ally after a brief uprising," " respected as being forethinking even by his former enemies, now allied " "Romans, and free to rule his kingdom as their native tradition dictated, " "except in one case. Prasutagus, realizing he was going to die, agreed upon a " "will with his wife and subordinates; his daughters would inherit the physical" " running of the territory, under Boudicca's stewardship until they were " "adults, and the Emperor of Rome would have overlordship, collecting taxes and" " being allowed to request military aide. Much the same situation as he " "already held. The problem lay in that the Romans did not recognize female " "heirs, and thus asserted, upon Prasutagus's death, that only the Emperor's " "claim to the kingdom of Icenia was valid. They further noted it was regular " "Roman practice to only allow a client kingdom to be independent for the " "lifetime of the initial king, such as had occurred in Galatia. The Empire " "formally annexed the kingdom, and began extracting harsh taxes immediately, " "citing that Prasutagus was indebted to the Romans, having taken several loans" " during his lifetime that he had failed to repay. Boudicca's complaint about " "this treatment and the defiance of her deceased husband's will was met with " "brutality; Roman soldiers flogged her, and her daughters, only children, were" " raped. Boudicca and her subjects were infuriated at the disgrace done to " "their queen and the children. With the Roman governor of Britain engaged with" " the druids in Cambria, now Wales, Boudicca was able to attract more " "followers from outside the Iceni, as they were hardly the only British tribe " "growing rapidly disillusioned with the Romans. Boudicca and her army laid " "waste to three cities, routed a Roman legion, and called on the memory of " "Arminius, a German who had routed the Romans from his lands, and their own " "ancestors who had driven off Caesar near a century earlier. Boudicca was " "defeated by a major tactical blunder in the Battle of Watling Street, leading" " to much of her force being slaughtered as they could not withdraw to safety." " Boudicca herself escaped, and then slew her daughters, and then herself, to " "avoid further shame at Roman hands." msgstr "" #: civs/brit.json:Factions[0].Description msgid "The Celts of the British Isles." msgstr "" #: civs/brit.json:Structures[0].Name #: simulation/templates/structures/brit_kennel.xml:33 #: simulation/templates/structures/celt_kennel.xml:33 msgid "Kennel" msgstr "" #: civs/brit.json:Structures[0].History msgid "The Britons were known for breeding war dogs." msgstr "" #: civs/brit.json:History msgid "" "The Britons were the Celtic tribes of the British Isles. Using chariots, " "longswordsmen and powerful melee soldiers, they staged fearesome revolts " "against Rome to protect their customs and interests. Also, they built " "thousands of unique structures such as hill forts, crannogs and brochs." msgstr "" #: civs/cart.json:Name msgid "Carthaginians" msgstr "" #: civs/cart.json:CivBonuses[0].Description msgid "" "Carthaginian walls, gates, and towers have 3x health of a standard wall, but " "also 2x build time." msgstr "" #: civs/cart.json:CivBonuses[0].Name #: simulation/data/technologies/carthaginians/civbonus_triple_walls.json:genericName msgid "Triple Walls" msgstr "" #: civs/cart.json:CivBonuses[0].History msgid "Carthaginians built triple city walls." msgstr "" #: civs/cart.json:CivBonuses[1].Description msgid "" "The resource cost of training elephant-mounted (war elephant) or horse-" "mounted units (cavalry) is reduced by 5% per animal corralled (as " "appropriate)." msgstr "" #: civs/cart.json:CivBonuses[1].Name #: civs/ptol.json:CivBonuses[2].Name msgid "Roundup" msgstr "" #: civs/cart.json:CivBonuses[1].History msgid "" "Not unlike the Iberian Peninsula, North Africa was known as horse country, " "capable of producing up to 100,000 new mounts each year. It was also the home" " of the North African Forest Elephant." msgstr "" #: civs/cart.json:TeamBonuses[0].Description msgid "+33% trade profit international routes." msgstr "" #: civs/cart.json:TeamBonuses[0].Name msgid "Trademasters" msgstr "" #: civs/cart.json:TeamBonuses[0].History msgid "" "The Phoenicians and Carthaginians were broadly known as the greatest trading " "civilization of the ancient and classical world." msgstr "" #: civs/cart.json:AINames[0] #: civs/cart.json:Factions[0].Heroes[0].Name #: simulation/templates/units/cart_hero_hannibal.xml:11 msgid "Hannibal Barca" msgstr "" #: civs/cart.json:AINames[1] #: civs/cart.json:Factions[0].Heroes[1].Name #: simulation/templates/units/cart_hero_hamilcar.xml:11 msgid "Hamilcar Barca" msgstr "" #: civs/cart.json:AINames[2] msgid "Hasdrubal Barca" msgstr "" #: civs/cart.json:AINames[3] msgid "Hasdrubal Gisco" msgstr "" #: civs/cart.json:AINames[4] msgid "Hanno the Elder" msgstr "" #: civs/cart.json:AINames[5] #: civs/cart.json:Factions[0].Heroes[2].Name #: simulation/templates/units/cart_hero_maharbal.xml:11 msgid "Maharbal" msgstr "" #: civs/cart.json:AINames[6] msgid "Mago Barca" msgstr "" #: civs/cart.json:AINames[7] #: maps/scenarios/Sahel.xml:42:PlayerData[1].Name msgid "Hasdrubal the Fair" msgstr "" #: civs/cart.json:AINames[8] msgid "Hanno the Great" msgstr "" #: civs/cart.json:AINames[9] msgid "Himilco" msgstr "" #: civs/cart.json:AINames[10] msgid "Hampsicora" msgstr "" #: civs/cart.json:AINames[11] msgid "Hannibal Gisco" msgstr "" #: civs/cart.json:AINames[12] msgid "Dido" msgstr "" #: civs/cart.json:AINames[13] msgid "Xanthippus" msgstr "" #: civs/cart.json:AINames[14] msgid "Himilco Phameas" msgstr "" #: civs/cart.json:AINames[15] msgid "Hasdrubal the Boetharch" msgstr "" #: civs/cart.json:Factions[0].Technologies[0].Description msgid "All Traders and Ships +25% vision range." msgstr "" #: civs/cart.json:Factions[0].Technologies[0].Name #: simulation/data/technologies/carthaginians/special_exploration.json:genericName msgid "Exploration" msgstr "" #: civs/cart.json:Factions[0].Technologies[0].History #: simulation/data/technologies/carthaginians/special_exploration.json:description msgid "" "Nobody knew better than the Carthaginians where in the ancient world they " "were going and going to go; their merchant traders had missions to " "everywhere." msgstr "" #: civs/cart.json:Factions[0].Technologies[1].Description msgid "Civic Centers, Temples, and Houses -25% build time." msgstr "" #: civs/cart.json:Factions[0].Technologies[1].Name #: simulation/data/technologies/carthaginians/special_colonisation.json:genericName msgid "Colonization" msgstr "" #: civs/cart.json:Factions[0].Technologies[1].History #: simulation/data/technologies/carthaginians/special_colonisation.json:description msgid "" "Carthaginians established many trading centers as colonies and ultimately " "held dominion over 300 cities and towns in North Africa alone." msgstr "" #: civs/cart.json:Factions[0].Heroes[0].History msgid "" "Carthage's most famous son. Hannibal Barca was the eldest son of Hamilcar " "Barca and proved an even greater commander than his father. Lived 247-182 " "B.C. While he ultimately lost the Second Punic War his victories at Trebia, " "Lake Trasimene, and Cannae, and the feat of crossing the Alps have secured " "his position as among the best tacticians and strategists in history." msgstr "" #: civs/cart.json:Factions[0].Heroes[1].History msgid "" "Father of Hannibal and virtual military dictator. Hamilcar Barca was a " "soldier and politician who excelled along his entire career. Lived 275-228 " "B.C. While overshadowed by his sons, Hamilcar was great general in his own " "right, earning the nickname Baraq or Barca for the lightning speed of his " "advance." msgstr "" #: civs/cart.json:Factions[0].Heroes[2].History msgid "" "Maharbal was Hannibal Barca's 'brash young cavalry commander' during the 2nd " "Punic War. He is credited with turning the wing of the legions at Cannae " "resulting in defeat in which 30,000 of 50,000 Romans were lost, as well as " "significant contributions to the winning of many other battles during the 2nd" " Punic War. He is known for having said, after the battle of Cannae, " "'Hannibal, you know how to win the victory; just not what to do with it.'" msgstr "" #: civs/cart.json:Structures[0].Name #: simulation/templates/structures/cart_super_dock.xml:10 msgid "Naval Shipyard" msgstr "" #: civs/cart.json:Structures[0].Special msgid "Construct the powerful warships of the Carthaginian navy." msgstr "" #: civs/cart.json:Structures[0].History msgid "" "The structure is based upon the center island of the inner harbour " "constructed to house the war fleet of the Carthaginian navy at Carthage." msgstr "" #: civs/cart.json:Structures[1].Name #: simulation/templates/structures/cart_embassy_celtic.xml:20 msgid "Celtic Embassy" msgstr "" #: civs/cart.json:Structures[1].Special msgid "Hire Celtic mercenaries." msgstr "" #: civs/cart.json:Structures[1].History msgid "The Celts supplied fierce warrior mercenaries for Carthaginian armies." msgstr "" #: civs/cart.json:Structures[2].Name #: simulation/templates/structures/cart_embassy_italiote.xml:20 msgid "Italiote Embassy" msgstr "" #: civs/cart.json:Structures[2].Special msgid "Hire Italian mercenaries." msgstr "" #: civs/cart.json:Structures[2].History msgid "" "When Hannibal invaded Italy and defeated the Romans in a series of battles, " "many of the Italian peoples subject to Rome, including the Italian Greeks and" " powerful Samnites, revolted and joined the Carthaginian cause." msgstr "" #: civs/cart.json:Structures[3].Name #: simulation/templates/structures/cart_embassy_iberian.xml:13 msgid "Iberian Embassy" msgstr "" #: civs/cart.json:Structures[3].Special msgid "Hire Iberian mercenaries." msgstr "" #: civs/cart.json:Structures[3].History msgid "The Iberians were known as fierce mercenaries, loyal to their paymasters." msgstr "" #: civs/cart.json:History msgid "" "Carthage, a city-state in modern-day Tunisia, was a formidable force in the " "western Mediterranean, eventually taking over much of North Africa and " "modern-day Spain in the third century B.C. The sailors of Carthage were among" " the fiercest contenders on the high seas, and masters of naval trade. They " "deployed towered War Elephants on the battlefield to fearsome effect, and had" " defensive walls so strong, they were never breached." msgstr "" #: civs/celt.json:Name #: maps/scenarios/Azure Coast(2).xml:31:PlayerData[1].Name msgid "Celts" msgstr "" #: civs/celt.json:Factions[0].Description msgid "British Isles" msgstr "" #: civs/celt.json:Factions[1].Technologies[0].Description msgid "A set amount of ore and food from every structure destroyed or captured " msgstr "" #: civs/celt.json:Factions[1].Technologies[0].Name #: civs/gaul.json:Factions[0].Technologies[0].Name msgid "Uae Uictos" msgstr "" #: civs/celt.json:Factions[1].Technologies[0].History #: civs/gaul.json:Factions[0].Technologies[0].History msgid "" "Means Woe to the Defeated It was the words that the Gallic Leader, Brennos, " "spoke at the Capitol at Rome after they took their plunder." msgstr "" #: civs/celt.json:Factions[1].Technologies[1].Description #: civs/gaul.json:Factions[0].Technologies[1].Description msgid "Gallic druids gain a small melee attack." msgstr "" #: civs/celt.json:Factions[1].Technologies[1].Name #: civs/gaul.json:Factions[0].Technologies[1].Name msgid "Carnutes" msgstr "" #: civs/celt.json:Factions[1].Technologies[1].History #: civs/gaul.json:Factions[0].Technologies[1].History msgid "" "The Carnutes were druids from Aulercia. They fought when needed, and were " "largely responsible for turning back the Belgae incursions into Armorica and " "Aulercia." msgstr "" #: civs/celt.json:Factions[1].Heroes[0].History #: civs/gaul.json:Factions[0].Heroes[0].History msgid "" "When celt armies met the enemy, before the battle would start, the celt " "leader would go to the first line and challenge the bravest of the enemy " "warriors to a single combat. The story of how Marcus Claudius Marcellus " "killed a Gallic leader at Clastidium (222 B.C.) is typical of such " "encounters. Advancing with a smallish army, Marcellus met a combined force of" " Insubrian Gauls and Gaesatae at Clastidium. The Gallic army advanced with " "the usual rush and terrifying cries, and their king, Britomartos, picking out" " Marcellus by means of his badges of rank, made for him, shouting a challenge" " and brandishing his spear. Britomartos was an outstanding figure not only " "for his size but also for his adornments; for he was resplendent in bright " "colors and his armor shone with gold and silver. This armor, thought " "Marcellus, would be a fitting offering to the gods. He charged the Gaul, " "pierced his bright breastplate and cast him to the ground. It was an easy " "task to kill Britomartos and strip him of his armor." msgstr "" #: civs/celt.json:Factions[1].Heroes[0].Name #: civs/gaul.json:AINames[0] #: civs/gaul.json:Factions[0].Heroes[0].Name msgid "Britomartos" msgstr "" #: civs/celt.json:Factions[1].Heroes[1].History #: civs/gaul.json:Factions[0].Heroes[1].History msgid "" "Brennus is the name which the Roman historians give to the famous leader of " "the Gauls who took Rome in the time of Camillus. According to Geoffrey of " "Monmouth, the cleric who wrote “History of the Kings of Britain”, Brennus and" " his brother Belinus invaded Gaul and sacked Rome in 390 B.C., 'proving' that" " Britons had conquered Rome, the greatest civilization in the world, long " "before Rome conquered the Britons. We know from many ancient sources which " "predate Geoffrey that Rome was indeed sacked, but in 387 not 390, and that " "the raid was led by a man named Brennos (which was latinized to Brennus), but" " he and his invading horde were Gallic Senones, not British. In this episode " "several features of Geoffrey's editing method can be seen: he modified the " "historical Brennus/Brennos, created the brother Belinus, borrowed the Gallic " "invasion, but omitted the parts where the Celts seemed weak or foolish. His " "technique is both additive and subtractive. Like the tale of Trojan origin, " "the story of the sack of Rome is not pure fabrication; it is a creative " "rearrangement of the available facts, with details added as necessary. By " "virtue of their historical association, Beli and Bran are often muddled with " "the earlier brothers Belinus and Brennus (the sons of Dunvallo Molmutius) who" " contended for power in northern Britain in around 390 B.C., and were " "regarded as gods in old Celtic tradition." msgstr "" #: civs/celt.json:Factions[1].Heroes[1].Name #: civs/gaul.json:AINames[1] #: civs/gaul.json:Factions[0].Heroes[1].Name msgid "Brennos" msgstr "" #: civs/celt.json:Factions[1].Heroes[2].History #: civs/gaul.json:Factions[0].Heroes[2].History msgid "" "Vercingetorix (Gaulish: Ver-Rix Cingetos) was the chieftain of the Arverni " "tribe in Gaul (modern France). Starting in 52 B.C. he led a revolt against " "the invading Romans under Julius Caesar, his actions during the revolt are " "remembered to this day. Vercingetorix was probably born near his tribes " "capital (Gergovia). From what little info we have Vercingetorix was probably " "born in 72 B.C., his father was Celtius and we don't know who his mother was." " Because we only know of him from Roman sources we don't know much about " "Vercingetorix as a child or young man, except that perhaps he was probably " "very high spirited and probably gained some renown in deeds." msgstr "" #: civs/celt.json:Factions[1].Heroes[2].Name #: civs/gaul.json:AINames[2] #: civs/gaul.json:Factions[0].Heroes[2].Name msgid "Uerkingetorix" msgstr "" #: civs/celt.json:Factions[1].Name #: civs/gaul.json:Name #: civs/gaul.json:Factions[0].Name msgid "Gauls" msgstr "" #: civs/celt.json:Factions[1].Description msgid "Mainland Europe" msgstr "" #: civs/celt.json:Structures[0].Name #: civs/gaul.json:Structures[0].Name #: simulation/templates/structures/brit_rotarymill.xml:21 #: simulation/templates/structures/celt_sb1.xml:24 #: simulation/templates/structures/gaul_rotarymill.xml:21 msgid "Melonas" msgstr "" #: civs/celt.json:Structures[0].History #: civs/gaul.json:Structures[0].History msgid "The Celts developed the first rotary flour mill." msgstr "" #: civs/celt.json:History msgid "" "At its peak (around 200 B.C.), the massive Celtic Empire spanned from Spain " "to Romania and Northern Italy to Scotland; although it wasn't a true empire " "because the Celtic people were not united by any form of government, but only" " in language and various social aspects. Their lack of any cohesion was " "probably the largest contributing factor to their ultimate submission to Rome" " by 100 A.D. The other contributing factors were their lack of armor and " "their inability to counter the mighty legions and siege weapons of Rome." msgstr "" #: civs/gaul.json:AINames[3] msgid "Divico" msgstr "" #: civs/gaul.json:AINames[4] msgid "Ambiorix" msgstr "" #: civs/gaul.json:AINames[5] msgid "Ariovistus" msgstr "" #: civs/gaul.json:AINames[6] msgid "Cassivellaunus" msgstr "" #: civs/gaul.json:AINames[7] msgid "Liscus" msgstr "" #: civs/gaul.json:AINames[8] msgid "Valetiacos" msgstr "" #: civs/gaul.json:Factions[0].Technologies[0].Description msgid "A set amount of metal and food from every structure destroyed or captured " msgstr "" #: civs/gaul.json:Factions[0].Description msgid "The Celts of mainland Europe." msgstr "" #: civs/gaul.json:History msgid "" "The Gauls were the Celtic tribes of continental Europe. Dominated by a " "priestly class of Druids, they featured a sophisticated culture of advanced " "metalworking, agriculture, trade and even road engineering. With heavy " "infantry and cavalry, Gallic warriors valiantly resisted Caesar's campaign of" " conquest and Rome's authoritarian rule." msgstr "" #: civs/hele.json:Name msgid "Hellenes" msgstr "" #: civs/hele.json:CivBonuses[0].Description msgid "10-15% cheaper technologies." msgstr "" #: civs/hele.json:CivBonuses[0].Name msgid "Oikoumene" msgstr "" #: civs/hele.json:CivBonuses[0].History msgid "" "The Hellenes envisioned themselves as comprising the civilized world " "(oikoumene), surrounded by more or less developed barbarians. Many foreigners" " also considered them men of higher stature." msgstr "" #: civs/hele.json:TeamBonuses[0].Description msgid "All units and allied units have increased LOS. ~ 10%" msgstr "" #: civs/hele.json:TeamBonuses[0].Name msgid "Oracle at Delphi" msgstr "" #: civs/hele.json:TeamBonuses[0].History msgid "" "The sacred Oracle of Apollo at Delphi was among the most highly cherished " "sanctuaries by Hellenes and foreigners alike. The Lydian king Croesus, for " "example, consulted the advice of the god before going to war with Cyrus the " "Great of Persia." msgstr "" #: civs/hele.json:Factions[0].Technologies[0].Description msgid "The player gains the Phalanx formation." msgstr "" #: civs/hele.json:Factions[0].Technologies[0].History msgid "" "The classical phalanx formation was developed about VIII century B.C. It was " "eight men deep and over two hundred men wide, and used overlapping shields " "and combined pushing power. 'Othismos' refers to the point in a phalanx " "battle where both sides try to shove each other out of formation, attempting " "to breaking up the enemy lines and routing them." msgstr "" #: civs/hele.json:Factions[0].Technologies[1].Description msgid "Triremes are 20% cheaper and build 20% faster." msgstr "" #: civs/hele.json:Factions[0].Heroes[1].History msgid "" "The king of Sparta, whom fought and died at the battle of Thermopylae in 480 " "B.C. He successfully blocked the way of the huge Persian army through the " "narrow passage with his 7000 men, until Xerxes was made aware of a secret " "unobstructed path. Finding the enemy at his rear, Leonidas sent home most of " "his troops, choosing to stay behind with 300 hand-picked hoplites and win " "time for the others to withdraw." msgstr "" #: civs/hele.json:Factions[0].Heroes[1].Name #: civs/spart.json:AINames[0] msgid "Leonidas" msgstr "" #: civs/hele.json:Factions[0].Heroes[2].History msgid "" "Xenophon (c. 430-355 B.C.) was a Greek soldier and (later) historian who was " "born in Athens of an oligarch family and was a student of Socrates during his" " youth. In 401 B. C., Xenophon joined an army of Greek mercenaries lead by " "Clearchus and four other generals who were aiding Cyrus the Younger in his " "military campaign against his brother, King Artaxerxes II. After Persian " "treachery killed the leaders of the mercenary force, Xenophon was elected one" " of the 5 new generals to lead the army. After a trek of over 1,500 " "kilometers and 1 1/2 years, Xenophon finally helped lead his men home, " "fighting dozens of battles and skirmishes along the way." msgstr "" #: civs/hele.json:Factions[0].Name msgid "Poleis" msgstr "" #: civs/hele.json:Factions[0].Description msgid "Greek City-states" msgstr "" #: civs/hele.json:Factions[1].Technologies[0].Description msgid "The player gains the Syntagma formation." msgstr "" #: civs/hele.json:Factions[1].Technologies[0].Name #: civs/mace.json:Factions[0].Technologies[0].Name #: civs/sele.json:CivBonuses[1].Name msgid "Military Reforms" msgstr "" #: civs/hele.json:Factions[1].Technologies[0].History msgid "" "Once coming to the throne, Philip II set about reforming the ragtag " "Macedonian army into a fearsome professional force. One such reform is the " "SYNTAGMA formation, derived from the oblique battle front developed by the " "Theban commander Epaminondas. The phalanx, consisting of 256 men, is arranged" " in the following way 16 men in width and 16 in depth." msgstr "" #: civs/hele.json:Factions[1].Technologies[1].Description msgid "Civic Centers have double Health." msgstr "" #: civs/hele.json:Factions[1].Technologies[1].Name #: civs/mace.json:Factions[0].Technologies[2].Name #: civs/ptol.json:Factions[0].Technologies[0].Name #: civs/sele.json:Factions[0].Technologies[0].Name msgid "Hellenistic Metropolises" msgstr "" #: civs/hele.json:Factions[1].Technologies[1].History #: civs/mace.json:Factions[0].Technologies[2].History #: civs/ptol.json:Factions[0].Technologies[0].History #: civs/sele.json:Factions[0].Technologies[0].History #: simulation/data/technologies/successors/special_hellenistic_metropolis.json:description msgid "" "Beginning with Alexander, the Hellenistic monarchs founded many cities " "throughout their empires, where Greek culture and art blended with local " "customs to create the motley Hellenistic civilization." msgstr "" #: civs/hele.json:Factions[1].Heroes[0].History #: civs/mace.json:Factions[0].Heroes[0].History msgid "" "The king of Macedonia (359-336 B.C.), he carried out vast monetary and " "military reforms in order to make his kingdom the most powerful force in the " "Greek world. Greatly enlarged the size of Macedonia by conquering much of " "Thrace and subduing the Greeks. Murdered in Aegae while planning a campaign " "against Persia." msgstr "" #: civs/hele.json:Factions[1].Heroes[0].Name #: civs/mace.json:AINames[1] msgid "Philip II" msgstr "" #: civs/hele.json:Factions[1].Heroes[1].History #: civs/mace.json:Factions[0].Heroes[1].History msgid "" "The most powerful hero of them all - son of Philip II, king of Macedonia " "(336-323 B.C.). After conquering the rest of the Thracians and quelling the " "unrest of the Greeks, Alexander embarked on a world-conquest march. Defeating" " the Persian forces at Granicus (334 B.C.), Issus (333 B.C.) and Gaugamela " "(331 B.C.), he became master of the Persian Empire. Entering India, he " "defeated king Porus at Hydaspes (326 B.C.), but his weary troops made him " "halt. Died in Babylon at the age of 33 while planning a campaign against " "Arabia." msgstr "" #: civs/hele.json:Factions[1].Heroes[1].Name #: civs/mace.json:AINames[0] #: civs/mace.json:Factions[0].Heroes[1].Name msgid "Alexander the Great" msgstr "" #: civs/hele.json:Factions[1].Heroes[2].History #: civs/mace.json:Factions[0].Heroes[2].History msgid "" "One of the Diadochi, king of Macedonia (294-288 B.C.), Demetrios was renowned" " as one of the bravest and most able successors of Alexander. As the son of " "Antigonus I Monophthalmus, he fought and won many important battles early on " "and was proclaimed king, along with his father, in 306 B.C. Losing his Asian " "possessions after the battle of Ipsos, he later won the Macedonian throne. " "Fearing lest they should be overpowered by Demetrios, the other Diadochi " "united against him and defeated him." msgstr "" #: civs/hele.json:Factions[1].Heroes[2].Name msgid "Demetrios Poliorcetes" msgstr "" #: civs/hele.json:Factions[1].Name msgid "Macedonia" msgstr "" #: civs/hele.json:Factions[1].Description msgid "Kingdom bordering Greek city-states" msgstr "" #: civs/hele.json:History msgid "" "The Hellenes were a people famous today for their architecture, fighting " "ability, and culture. The Hellenic peoples of the Dorian, Ionian, and Aeolian" " tribes swept into modern day Greece from 3000 B.C. to around 1100 B.C. in " "successive waves that eventually supplanted the previously established " "cultures of Mycenae and Minoan Crete. They were most active during the period" " of colonization that took place in the 7th and 6th centuries B.C., the " "Greco-Persian Wars (499-449 B.C.), the Peloponnesian War (431-404 B.C.), and " "the conquests of Alexander the Great (4th Century B.C.). Their civilization " "would endure until their final absorption by Rome in 146 B.C." msgstr "" #: civs/iber.json:Name msgid "Iberians" msgstr "" #: civs/iber.json:CivBonuses[0].Description msgid "Iberians start with a powerful prefabricated circuit of stone walls." msgstr "" #: civs/iber.json:CivBonuses[0].Name msgid "Harritsu Leku" msgstr "" #: civs/iber.json:CivBonuses[0].History msgid "" "With exception to alluvial plains and river valleys, stone is abundant in the" " Iberian Peninsula and was greatly used in construction of structures of all " "types." msgstr "" #: civs/iber.json:CivBonuses[1].Description msgid "" "The resource cost of training horse-mounted units (cavalry) is reduced by 5% " "per animal corralled." msgstr "" #: civs/iber.json:CivBonuses[1].Name msgid "Zaldi Saldoa" msgstr "" #: civs/iber.json:CivBonuses[1].History msgid "" "Not unlike Numidia in North Africa, the Iberian Peninsula was known as 'horse" " country', capable of producing up to 100,000 new mounts each year." msgstr "" #: civs/iber.json:TeamBonuses[0].Description msgid "" "Citizen-soldier infantry skirmishers and cavalry skirmishers -20% cost for " "allies." msgstr "" #: civs/iber.json:TeamBonuses[0].Name msgid "Saripeko" msgstr "" #: civs/iber.json:TeamBonuses[0].History msgid "" "The Iberians were long known to provide mercenary soldiers to other nations " "to serve as auxiliaries to their armies in foreign wars. Carthage is the most" " well known example, and we have evidence of them serving in such a capacity " "in Aquitania." msgstr "" #: civs/iber.json:AINames[0] #: civs/iber.json:AINames[1] #: civs/iber.json:Factions[0].Heroes[0].Name #: simulation/templates/units/iber_hero_viriato.xml:10 msgid "Viriato" msgstr "" #: civs/iber.json:AINames[2] #: civs/iber.json:Factions[0].Heroes[1].Name msgid "Karos" msgstr "" #: civs/iber.json:AINames[3] #: civs/iber.json:Factions[0].Heroes[2].Name #: simulation/templates/units/iber_hero_indibil.xml:5 msgid "Indibil" msgstr "" #: civs/iber.json:AINames[4] msgid "Audax" msgstr "" #: civs/iber.json:AINames[5] msgid "Ditalcus" msgstr "" #: civs/iber.json:AINames[6] msgid "Minurus" msgstr "" #: civs/iber.json:AINames[7] #: maps/scenarios/Sahel.xml:42:PlayerData[3].Name msgid "Tautalus" msgstr "" #: civs/iber.json:Factions[0].Technologies[0].Description msgid "" "Causes targets struck to become inflamed and lose hitpoints at a constant " "rate until and if either healed or repaired, as appropriate." msgstr "" #: civs/iber.json:Factions[0].Technologies[0].Name msgid "Suzko Txabalina" msgstr "" #: civs/iber.json:Factions[0].Technologies[0].History msgid "" "Iberian tribesmen were noted for wrapping bundles of grass about the shafts " "of their throwing spears, soaking that in some sort of flammable pitch, then " "setting it afire just before throwing." msgstr "" #: civs/iber.json:Factions[0].Technologies[1].Description msgid "Metal costs for units and technologies reduced by 50%." msgstr "" #: civs/iber.json:Factions[0].Technologies[1].Name msgid "Maisu Burdina Langileak" msgstr "" #: civs/iber.json:Factions[0].Technologies[1].History msgid "" "The Iberians were known to produce the finest iron and steel implements and " "weapons of the age. The famous 'Toledo Steel.'" msgstr "" #: civs/iber.json:Factions[0].Heroes[0].History msgid "" "Viriato, like Vercingetorix amongst the Gauls, was the most famous of the " "Iberian tribal war leaders, having conducted at least 7 campaigns against the" " Romans in the southern half of the peninsula during the 'Lusitani Wars' from" " 147-139 B.C. He surfaced as a survivor of the treacherous massacre of 9,000 " "men and the selling into slavery of 21,000 elderly, women, and children of " "the Lusitani. They had signed a treaty of peace with the Romans, conducted by" " Servius Sulpicius Galba, governor of Hispania Ulterior, as the 'final " "solution' to the Lusitani problem. He emerged from humble beginnings in 151 " "B.C. to become war chief of the Lusitani. He was intelligent and a superior " "tactician, never really defeated in any encounter (though suffered losses in " "some requiring retreat). He succumbed instead to another treachery arranged " "by a later Roman commander, Q. Servilius Caepio, to have him assassinated by " "three comrades that were close to him." msgstr "" #: civs/iber.json:Factions[0].Heroes[1].History msgid "" "Karos was a chief of the Belli tribe located just east of the Celtiberi " "(Numantines at the center). Leading the confederated tribes of the meseta " "central (central upland plain) he concealed 20,000 foot and 5,000 mounted " "troops along a densely wooded track. Q. Fulvius Nobilior neglected proper " "reconnaissance and lead his army into the trap strung out in a long column. " "Some 10,000 of 15,000 Roman legionaries fell in the massive ambush that was " "sprung upon them. The date was 23 August of 153 B.C., the day when Rome " "celebrated the feast of Vulcan. By later Senatorial Decree it was ever " "thereafter known as dies ater, a 'sinister day', and Rome never again fought " "a battle on the 23rd of August. Karos was wounded in an after battle small " "cavalry action the same evening and soon died thereafter, but he had carried " "off one of the most humiliating defeats that Rome ever suffered." msgstr "" #: civs/iber.json:Factions[0].Heroes[2].History msgid "" "Indibil was king of the Ilegetes, a large federation ranged principally along" " the Ebro River in the northwest of the Iberian Peninsula. During the Barcid " "expansion, from 212 B.C. he had initially been talked into allying himself " "with the Carthaginians who had taken control of a lot of territory to the " "south and west, however after loss and his capture in a major battle he was " "convinced, some say tricked, to switch to the Roman side by Scipio Africanus." " But that alliance didn't last long, as Roman promises were hollow and the " "Romans acted more like conquerors than allies. So, while the Romans and their" " allies had ended Carthaginian presence in 'Hispania' in 206 B.C., Indibil " "and another tribal prince by the name of Mandonio, who may have been his " "brother, rose up in rebellion against the Romans. They were defeated in " "battle, but rose up in a 2nd even larger rebellion that had unified all the " "Ilergetes again in 205 B.C. Outnumbered and outarmed they were again " "defeated, Indibil losing his life in the final battle and Mandonio being " "captured then later put to death. From that date onward the Ilergetes " "remained a pacified tribe under Roman rule." msgstr "" #: civs/iber.json:Structures[0].Name #: simulation/templates/structures/iber_monument.xml:37 msgid "Gur Oroigarri" msgstr "" #: civs/iber.json:Structures[0].Special msgid "" "Defensive Aura - Gives all Iberian units and buildings within vision range of" " the monument a 10-15% attack boost. Build Limit: Only 5 may be built per " "map." msgstr "" #: civs/iber.json:Structures[0].History msgid "" "'Revered Monument' The Iberians were a religious people who built small " "monuments to their various gods. These monuments could also serve as family " "tombs." msgstr "" #: civs/iber.json:History msgid "" "The Iberians were a people of mysterious origins and language, with a strong " "tradition of horsemanship and metalworking. A relatively peaceful culture, " "they usually fought in other's battles only as mercenaries. However, they " "proved tenacious when Rome sought to take their land and freedom from them, " "and employed pioneering guerrilla tactics and flaming javelins as they fought" " back." msgstr "" #: civs/mace.json:Name #: civs/mace.json:Factions[0].Name msgid "Macedonians" msgstr "" #: civs/mace.json:CivBonuses[0].Description msgid "" "Macedonian units have +10% attack bonus vs. Persian and Hellenic factions, " "but -5% attack debonus vs. Romans." msgstr "" #: civs/mace.json:CivBonuses[0].Name msgid "Hellenic League" msgstr "" #: civs/mace.json:CivBonuses[0].History msgid "" "After the unification of Greece, Philip II gathered all the city-states " "together to form the Hellenic League, with Macedon as the its leader. With " "this Pan-Hellenic federation he planned to launch an expedition to punish " "Persia for past wrongs. Although assassinated before he could carry out the " "invasion, his son Alexander the Great took up the mantle and completed his " "fathers plans." msgstr "" #: civs/mace.json:CivBonuses[1].Description msgid "Infantry pike units can use the slow and powerful Syntagma formation." msgstr "" #: civs/mace.json:CivBonuses[1].Name #: simulation/templates/formations/syntagma.xml:6 msgid "Syntagma" msgstr "" #: civs/mace.json:CivBonuses[1].History msgid "" "Based upon the Theban Oblique Order phalanx, the Syntagma was the formation " "that proved invincible against the armies of Hellas and the East." msgstr "" #: civs/mace.json:CivBonuses[2].History msgid "" "The Greeks were highly successful in Hellenizing various foreigners. During " "the Hellenistic Age, Greek was the lingua franca of the Ancient World, spoken" " widely from Spain to India." msgstr "" #: civs/mace.json:TeamBonuses[0].Description msgid "+15% tribute and trade bonus on metal." msgstr "" #: civs/mace.json:TeamBonuses[0].Name msgid "Standardized Currency" msgstr "" #: civs/mace.json:TeamBonuses[0].History msgid "" "The Macedonians and the Diadochi minted coins of very high quality. On their " "currency the Diadochi in particular frequently depicted themselves as the " "rightful successor to Alexander the Great, attempting to legitimize their " "rule." msgstr "" #: civs/mace.json:AINames[2] msgid "Antipater" msgstr "" #: civs/mace.json:AINames[3] msgid "Philip IV" msgstr "" #: civs/mace.json:AINames[4] #: civs/spart.json:AINames[5] msgid "Lysander" msgstr "" #: civs/mace.json:AINames[5] msgid "Lysimachus" msgstr "" #: civs/mace.json:AINames[6] #: simulation/templates/units/mace_hero_pyrrhus.xml:5 msgid "Pyrrhus of Epirus" msgstr "" #: civs/mace.json:AINames[7] msgid "Antigonus II Gonatas" msgstr "" #: civs/mace.json:AINames[8] msgid "Demetrius II Aetolicus" msgstr "" #: civs/mace.json:AINames[9] msgid "Philip V" msgstr "" #: civs/mace.json:AINames[10] msgid "Perseus" msgstr "" #: civs/mace.json:AINames[11] msgid "Craterus" msgstr "" #: civs/mace.json:AINames[12] msgid "Meleager" msgstr "" #: civs/mace.json:Factions[0].Technologies[0].Description msgid "" "Each subsequent Barracks constructed comes with 5 free (random) Macedonian " "military units. This also applies to the Barracks of allied players (they " "receive 5 free units of their own culture for each new Barracks constructed)." msgstr "" #: civs/mace.json:Factions[0].Technologies[0].History msgid "" "When Philip II came to the Macedonian throne he began a total reorganization " "of the Macedonian army. His reforms created a powerful cavalry arm to his " "army that would prove useful to both himself and his son Alexander's " "conquests." msgstr "" #: civs/mace.json:Factions[0].Technologies[1].Description msgid "" "Upgrade Hypaspist Champion Infantry to Silver Shields, with greater attack " "and armor, but also greater cost." msgstr "" #: civs/mace.json:Factions[0].Technologies[1].Name msgid "Royal Gift" msgstr "" #: civs/mace.json:Factions[0].Technologies[1].History msgid "" "In India near the end of his long anabasis, Alexander gifted to the Royal " "Hypaspist corps shields of silver for their long and valiant service in his " "army." msgstr "" #: civs/mace.json:Factions[0].Technologies[2].Description #: civs/ptol.json:Factions[0].Technologies[0].Description #: civs/sele.json:Factions[0].Technologies[0].Description msgid "Civic Centers have double Health and double default arrows." msgstr "" #: civs/mace.json:Factions[0].Heroes[0].Name #: simulation/templates/units/hele_hero_philip.xml:10 #: simulation/templates/units/mace_hero_philip.xml:10 msgid "Philip II of Macedon" msgstr "" #: civs/mace.json:Factions[0].Heroes[2].Name msgid "Demetrios the Besieger" msgstr "" #: civs/mace.json:Factions[0].Description msgid "A Hellenistic kingdom bordering the Greek city-states." msgstr "" #: civs/mace.json:Structures[0].Special msgid "" "The Hellenization civ bonus. Building a Theatron increases the territory " "effect of all buildings by 25%. Build limit: 1." msgstr "" #: civs/mace.json:Structures[1].Name #: civs/ptol.json:Structures[0].Name #: civs/sele.json:Structures[0].Name #: simulation/templates/structures/mace_library.xml:15 #: simulation/templates/structures/ptol_library.xml:15 #: simulation/templates/structures/sele_library.xml:15 msgid "Library" msgstr "" #: civs/mace.json:Structures[1].Special msgid "" "All Special Technologies are researched here. Building one reduces the cost " "of all other remaining technologies by 10%. Build limit: 1." msgstr "" #: civs/mace.json:Structures[1].History #: civs/ptol.json:Structures[0].History #: civs/sele.json:Structures[0].History msgid "" "Alexander the Great founded libraries all over his new empire. These became a" " center of learning for an entirely new synthesized culture: the Hellenistic " "culture." msgstr "" #: civs/mace.json:Structures[2].Name #: civs/theb.json:Structures[1].Name #: simulation/templates/structures/mace_siege_workshop.xml:18 msgid "Siege Workshop" msgstr "" #: civs/mace.json:Structures[2].Special msgid "Constructs and upgrades all Macedonian siege engines." msgstr "" #: civs/mace.json:Structures[2].History msgid "The Macedonians were innovators in area of siegecraft." msgstr "" #: civs/mace.json:History msgid "" "Macedonia was an ancient Greek kingdom, centered in the northeastern part of " "the Greek peninsula. Under the leadership of Alexander the Great, Macedonian " "forces and allies took over most of the world they knew, including Egypt, " "Persia and parts of the Indian subcontinent, allowing a diffusion of Hellenic" " and eastern cultures for years to come." msgstr "" #: civs/maur.json:Name msgid "Mauryans" msgstr "" #: civs/maur.json:CivBonuses[0].Description msgid "" "Mauryans have a +10% population cap bonus (i.e., 330 pop cap instead of the " "usual 300)." msgstr "" #: civs/maur.json:CivBonuses[0].Name msgid "Emperor of Emperors." msgstr "" #: civs/maur.json:CivBonuses[0].History #: simulation/data/technologies/mauryans/civbonus_maur_popcap.json:description msgid "" "The Mauryan Empire encompassed dozens of formerly independent kingdoms over " "an area of 5 million square kilometers, with a population of close to 60 " "million people. The Mauryan regents held the title Emperor of Emperors and " "commanded a standing army of 600,000 infantry, 9000 elephants, 8000 chariots," " and 30,000 cavalry, making it arguably the largest army of its time." msgstr "" #: civs/maur.json:CivBonuses[1].Description msgid "The Mauryans enjoy access to 4 champions." msgstr "" #: civs/maur.json:CivBonuses[1].Name msgid "Kṣhatriya Warrior Caste." msgstr "" #: civs/maur.json:CivBonuses[1].History msgid "" "Kshatriya or Kashtriya, meaning warrior, is one of the four varnas (social " "orders) in Hinduism. Traditionally Kshatriya constitute the military and " "ruling elite of the Vedic-Hindu social system outlined by the Vedas and the " "Laws of Manu." msgstr "" #: civs/maur.json:TeamBonuses[0].Description msgid "Allied Temple techs -50% cost and research time." msgstr "" #: civs/maur.json:TeamBonuses[0].Name msgid "Evangelism." msgstr "" #: civs/maur.json:TeamBonuses[0].History msgid "Ashoka the Great sent embassies West to spread knowledge of the Buddha." msgstr "" #: civs/maur.json:AINames[0] #: civs/maur.json:Factions[0].Heroes[0].Name #: simulation/templates/units/maur_hero_maurya.xml:5 #: simulation/templates/units/maur_hero_maurya.xml:6 msgid "Chandragupta Maurya" msgstr "" #: civs/maur.json:AINames[1] #: civs/maur.json:Factions[0].Heroes[1].Name #: simulation/templates/units/maur_hero_ashoka.xml:32 msgid "Ashoka the Great" msgstr "" #: civs/maur.json:AINames[2] msgid "Ashokavardhan Maurya" msgstr "" #: civs/maur.json:AINames[3] msgid "Acharya Bhadrabahu" msgstr "" #: civs/maur.json:AINames[4] msgid "Bindusara Maurya" msgstr "" #: civs/maur.json:AINames[5] msgid "Dasaratha Maurya" msgstr "" #: civs/maur.json:AINames[6] msgid "Samprati Maurya" msgstr "" #: civs/maur.json:AINames[7] msgid "Salisuka Maurya" msgstr "" #: civs/maur.json:AINames[8] msgid "Devavarman Maurya" msgstr "" #: civs/maur.json:AINames[9] msgid "Satadhanvan Maurya" msgstr "" #: civs/maur.json:AINames[10] msgid "Brihadratha Maurya" msgstr "" #: civs/maur.json:Factions[0].Technologies[0].Description msgid "" "Capture up to 5 Gaia elephants and garrison them in the Elephant Stables to " "gain up to a 25% bonus in cost and train time of elephant units." msgstr "" #: civs/maur.json:Factions[0].Technologies[0].Name msgid "Elephant Roundup" msgstr "" #: civs/maur.json:Factions[0].Technologies[1].Description msgid "Greater range and faster train time for Mauryan infantry archers." msgstr "" #: civs/maur.json:Factions[0].Technologies[1].Name #: simulation/data/technologies/mauryans/special_archery_tradition.json:genericName #: simulation/data/technologies/persians/special_archery_tradition.json:genericName msgid "Archery Tradition" msgstr "" #: civs/maur.json:Factions[0].Technologies[1].History msgid "" "India was a land of archery. The bulk of any Indian army was made up of " "highly skilled archers, armed with bamboo longbows." msgstr "" #: civs/maur.json:Factions[0].Heroes[0].History msgid "Founder of the Mauryan Empire." msgstr "" #: civs/maur.json:Factions[0].Heroes[1].History msgid "Last great emperor of the Mauryan dynasty." msgstr "" #: civs/maur.json:Factions[0].Heroes[2].History msgid "Great teacher and advisor to Chandragupta Maurya." msgstr "" #: civs/maur.json:Factions[0].Heroes[2].Name #: simulation/templates/units/maur_hero_chanakya.xml:30 msgid "Acharya Chāṇakya" msgstr "" #: civs/maur.json:Factions[0].Name #: maps/scenarios/Sandbox - Mauryans.xml:42:PlayerData[0].Name msgid "Mauryan Indians" msgstr "" #: civs/maur.json:Structures[0].Name #: simulation/templates/structures/maur_elephant_stables.xml:21 msgid "Elephant Stables" msgstr "" #: civs/maur.json:Structures[0].Special msgid "" "Trains Elephant Archer and Worker Elephant at Town Phase, then adds the " "champion War Elephant at the City phase." msgstr "" #: civs/maur.json:Structures[1].Name #: simulation/templates/structures/maur_pillar_ashoka.xml:26 msgid "Edict Pillar of Ashoka" msgstr "" #: civs/maur.json:Structures[1].Special msgid "" "Contentment: +10% Health and +10% resource gathering rates for all citizens " "and allied citizens within its range. Can be built anywhere except in enemy " "territory. Max Built: 10." msgstr "" #: civs/maur.json:History msgid "" "Founded in 322 B.C. by Chandragupta Maurya, the Mauryan Empire was the first " "to rule most of the Indian subcontinent, and was one of the largest and most " "populous empires of antiquity. Its military featured bowmen who used the " "long-range bamboo longbow, fierce female warriors, chariots, and thousands of" " armored war elephants. Its philosophers, especially the famous Acharya " "Chanakya, contributed to such varied fields such as economics, religion, " "diplomacy, warfare, and good governance. Under the rule of Ashoka the Great, " "the empire saw 40 years of peace, harmony, and prosperity." msgstr "" #: civs/pers.json:Name #: maps/scenarios/The Persian Gates.xml:31:PlayerData[3].Name msgid "Persians" msgstr "" #: civs/pers.json:CivBonuses[0].Description msgid "" "The resource cost of training camel-mounted (trader) or horse-mounted units " "(cavalry) is reduced by 5% per animal (as appropriate) corralled." msgstr "" #: civs/pers.json:CivBonuses[0].Name msgid "Corral Camels and Horses" msgstr "" #: civs/pers.json:CivBonuses[0].History msgid "" "While the Persians employed camelry only in a few cases, its use was always " "accompanied by great success (most notably during the battle of Sardis in 546" " B.C.) The satrapy of Bactria was a rich source of 'two-hump' camels, while " "Northern Arabia supplied 'one-hump' camels." msgstr "" #: civs/pers.json:CivBonuses[1].Description msgid "" "Persians have a +10% population cap bonus (e.g. 330 pop cap instead of the " "usual 300)." msgstr "" #: civs/pers.json:CivBonuses[1].Name #: simulation/data/technologies/persians/civbonus_pers_popcap.json:genericName msgid "Great King's Levy" msgstr "" #: civs/pers.json:CivBonuses[1].History #: simulation/data/technologies/persians/civbonus_pers_popcap.json:description msgid "" "The Persians could and did levy a large number of infantry during wartime due" " to the sheer size of the Achaemenid Empire and the way in which it was set-" "up. In general the Persian infantry was well trained and fought with great " "tenacity. However while this was true the infantry were poor hand-to-hand, " "close combat fighters. Also, with the exception of the elite regiments, the " "Persian infantry was not a standing professional force." msgstr "" #: civs/pers.json:TeamBonuses[0].Description msgid "+25% trade profit land routes." msgstr "" #: civs/pers.json:TeamBonuses[0].Name msgid "Royal Road" msgstr "" #: civs/pers.json:TeamBonuses[0].History msgid "" "Coinage was invented by the Lydians in 7th Century B.C., but it was not very " "common until the Persian period. Darius the Great standardized coined money " "and his golden coins (known as 'darics') became commonplace not only " "throughout his empire, but as far to the west as Central Europe." msgstr "" #: civs/pers.json:AINames[0] msgid "Kurush II the Great" msgstr "" #: civs/pers.json:AINames[1] #: civs/pers.json:Factions[0].Heroes[1].Name #: simulation/templates/units/pers_hero_darius.xml:40 msgid "Darayavahush I" msgstr "" #: civs/pers.json:AINames[2] msgid "Cambyses II" msgstr "" #: civs/pers.json:AINames[3] msgid "Bardiya" msgstr "" #: civs/pers.json:AINames[4] #: civs/pers.json:Factions[0].Heroes[2].Name #: simulation/templates/units/pers_hero_xerxes.xml:16 #: simulation/templates/units/pers_hero_xerxes_chariot.xml:40 msgid "Xsayarsa I" msgstr "" #: civs/pers.json:AINames[5] msgid "Artaxshacha I" msgstr "" #: civs/pers.json:AINames[6] msgid "Darayavahush II" msgstr "" #: civs/pers.json:AINames[7] msgid "Darayavahush III" msgstr "" #: civs/pers.json:AINames[8] #: maps/scenarios/Sahel.xml:42:PlayerData[2].Name msgid "Artaxshacha II" msgstr "" #: civs/pers.json:AINames[9] msgid "Artaxshacha III" msgstr "" #: civs/pers.json:AINames[10] msgid "Haxamanish" msgstr "" #: civs/pers.json:AINames[11] msgid "Xsayarsa II" msgstr "" #: civs/pers.json:Factions[0].Technologies[0].Description msgid "Phoenician triremes gain the unique ability to train cavalry units." msgstr "" #: civs/pers.json:Factions[0].Technologies[0].Name msgid "Naval Craftsmanship" msgstr "" #: civs/pers.json:Factions[0].Technologies[0].History #: simulation/data/technologies/persians/special_equine_transports.json:description msgid "" "Early Achaemenid rulers acted towards making Persia the first great Asian " "empire to rule the seas. The Great King behaved favourably towards the " "various sea peoples in order to secure their services, but also carried out " "various marine initiatives. During the reign of Darius the Great, for " "example, a canal was built in Egypt and a Persian navy was sent exploring the" " Indus river. According to Herodotus, some 300 ships in the Persian navy were" " retrofitted to carry horses and their riders." msgstr "" #: civs/pers.json:Factions[0].Technologies[1].Description msgid "Increases hitpoints of all structures, but build time increased appropriately." msgstr "" #: civs/pers.json:Factions[0].Technologies[1].Name #: simulation/data/technologies/persians/persian_architecture.json:genericName msgid "Persian Architecture" msgstr "" #: civs/pers.json:Factions[0].Technologies[1].History #: simulation/data/technologies/persians/persian_architecture.json:description msgid "" "The Persians built the wonderful 1677 mile-long Royal Highway from Sardis to " "Susa; Darius the Great and Xerxes also built the magnificent Persepolis; " "Cyrus the Great greatly improved Ecbatana and virtually 'rebuilt' the old " "Elamite capital of Susa." msgstr "" #: civs/pers.json:Factions[0].Technologies[2].Description msgid "Reduces train time for Anusiya champion infantry by half." msgstr "" #: civs/pers.json:Factions[0].Technologies[2].Name #: simulation/data/technologies/persians/immortals.json:genericName msgid "Immortals" msgstr "" #: civs/pers.json:Factions[0].Technologies[3].Description #: civs/sele.json:Factions[0].Technologies[3].Description msgid "+25% health for cavalry, but +10% train time." msgstr "" #: civs/pers.json:Factions[0].Technologies[3].Name #: civs/sele.json:Factions[0].Technologies[3].Name #: simulation/data/technologies/successors/special_war_horses.json:genericName msgid "Nisean War Horses" msgstr "" #: civs/pers.json:Factions[0].Technologies[3].History msgid "" "The beautiful and powerful breed of Nisean horses increases health for " "Persian cavalry." msgstr "" #: civs/pers.json:Factions[0].Heroes[0].History msgid "" "Cyrus (559-530 B.C.) The son of a Median princess and the ruler of Anshan; " "justly called the 'Father of the Empire', Cyrus the Great conquered Media, " "Lydia, Babylonia and Bactria, thereby establishing the Persian Empire. He was" " also renown as a benevolent conqueror. (OP - Kurush). Technically the second" " ruler of the Persians by that name, and so appears as Kurush II on his " "documents and coins. Kurush I was his grandfather." msgstr "" #: civs/pers.json:Factions[0].Heroes[0].Name #: simulation/templates/units/pers_hero_cyrus.xml:12 msgid "Kurush II" msgstr "" #: civs/pers.json:Factions[0].Heroes[1].History msgid "" "Darius (521-486 B.C.) The son of Vishtaspa (Hystaspes), the satrap of Parthia" " and Hyrcania; a great administrator as well as a decent general, Darius " "introduced the division of the empire into satrapies and conquered NW India, " "Thrace and Macedonia. He was called the 'Merchant of the Empire'." msgstr "" #: civs/pers.json:Factions[0].Heroes[2].History msgid "" "Xerxes (485-465 B.C.) The son of Darius the Great and Atoosa, a daughter of " "Cyrus the Great, Xerxes was an able administrator, who also extended Imperial" " rule into Chorasmia. Apart from his failed invasion of Greece, he was famous" " for his extensive building programme, especially at Persepolis." msgstr "" #: civs/pers.json:Structures[0].Name #: civs/sele.json:Structures[1].Name #: simulation/templates/structures/pers_stables.xml:18 msgid "Cavalry Stables" msgstr "" #: civs/pers.json:Structures[0].Special msgid "Train Cavalry citizen-soldiers." msgstr "" #: civs/pers.json:Structures[0].History msgid "The Persian Empire's best soldiers were Eastern horsemen." msgstr "" #: civs/pers.json:Structures[1].Name #: simulation/templates/structures/pers_apadana.xml:27 msgid "Apadana" msgstr "" #: civs/pers.json:Structures[1].Special msgid "" "Train heroes and Persian Immortals. Gives a slow trickle of all resources as " "'Satrapy Tribute.'" msgstr "" #: civs/pers.json:Structures[1].History msgid "" "The term Apadana designates a large hypostyle palace found in Persia. The " "best known example, and by far the largest, was the great Apadana at " "Persepolis. Functioning as the empire's central audience hall, the palace is " "famous for the reliefs of the tribute-bearers and of the army, including the " "Immortals." msgstr "" #: civs/pers.json:History msgid "" "The Persian Empire, when ruled by the Achaemenid dynasty, was one of the " "greatest empires of antiquity, stretching at its zenith from the Indus Valley" " in the east to Greece in the west. The Persians were the pioneers of empire-" "building of the ancient world, successfully imposing a centralized rule over " "various peoples with different customs, laws, religions and languages, and " "building a cosmopolitan army made up of contingents from each of these " "nations." msgstr "" #: civs/ptol.json:Name msgid "Ptolemies" msgstr "" #: civs/ptol.json:CivBonuses[0].Description msgid "" "The Ptolemies receive the Mercenary Camp, a barracks that is constructed in " "neutral territory and trains mercenary soldiers." msgstr "" #: civs/ptol.json:CivBonuses[0].Name msgid "Mercenary Army" msgstr "" #: civs/ptol.json:CivBonuses[0].History #: civs/ptol.json:Structures[1].History msgid "" "The Greco-Macedonian Ptolemy Dynasty relied on large numbers of Greek and " "foreign mercenaries for the bulk of its military force, mainly because the " "loyalty of native Egyptian units was often suspect. Indeed, during one native" " uprising, Upper Egypt was lost to the Ptolemies for decades. Mercenaries " "were often battle-hardened and their loyalty can be bought, sometimes " "cheaply, sometimes not cheaply. This was of no matter, since Egypt under the " "Ptolemies was so prosperous as to be the richest of Alexander's successor " "states." msgstr "" #: civs/ptol.json:CivBonuses[1].Description msgid "The Ptolemaic Egyptians receive 3 additional farming technologies." msgstr "" #: civs/ptol.json:CivBonuses[1].Name #: civs/ptol.json:Factions[0].Technologies[2].Name msgid "Nile Delta" msgstr "" #: civs/ptol.json:CivBonuses[1].History #: civs/ptol.json:CivBonuses[2].History #: civs/theb.json:CivBonuses[0].Description #: civs/theb.json:CivBonuses[0].History #: civs/theb.json:CivBonuses[1].Description #: civs/theb.json:CivBonuses[1].History #: civs/theb.json:TeamBonuses[0].Description #: civs/theb.json:TeamBonuses[0].History #: civs/theb.json:Factions[0].Technologies[0].Description #: civs/theb.json:Factions[0].Technologies[0].Name #: civs/theb.json:Factions[0].Technologies[0].History #: civs/theb.json:Factions[0].Technologies[1].Description #: civs/theb.json:Factions[0].Technologies[1].History msgid "Unknown." msgstr "" #: civs/ptol.json:CivBonuses[2].Description msgid "Can capture gaia elephants and camels to reduce their training cost." msgstr "" #: civs/ptol.json:TeamBonuses[0].Description msgid "All allies automatically gain a slow trickle of food income." msgstr "" #: civs/ptol.json:TeamBonuses[0].Name msgid "Breadbasket of the Mediterranean" msgstr "" #: civs/ptol.json:TeamBonuses[0].History msgid "" "Egypt was a net exporter of grain, so much so that large cities such as " "Athens, Antioch, and Rome came to rely upon Egyptian grain in order to feed " "their masses." msgstr "" #: civs/ptol.json:AINames[0] msgid "Ptolemy Soter" msgstr "" #: civs/ptol.json:AINames[1] msgid "Ptolemy Philadelphus" msgstr "" #: civs/ptol.json:AINames[2] msgid "Ptolemy Epigone" msgstr "" #: civs/ptol.json:AINames[3] msgid "Ptolemy Eurgetes" msgstr "" #: civs/ptol.json:AINames[4] msgid "Ptolemy Philopater" msgstr "" #: civs/ptol.json:AINames[5] msgid "Ptolemy Epiphanes" msgstr "" #: civs/ptol.json:AINames[6] msgid "Ptolemy Philometor" msgstr "" #: civs/ptol.json:AINames[7] msgid "Ptolemy Eupator" msgstr "" #: civs/ptol.json:AINames[8] msgid "Ptolemy Alexander" msgstr "" #: civs/ptol.json:AINames[9] msgid "Ptolemy Neos Dionysos" msgstr "" #: civs/ptol.json:AINames[10] msgid "Ptolemy Neos Philopater" msgstr "" #: civs/ptol.json:AINames[11] msgid "Berenice Philopater" msgstr "" #: civs/ptol.json:AINames[12] msgid "Cleopatra Tryphaena" msgstr "" #: civs/ptol.json:AINames[13] msgid "Berenice Epiphaneia" msgstr "" #: civs/ptol.json:AINames[14] msgid "Cleopatra Philopater" msgstr "" #: civs/ptol.json:AINames[15] msgid "Cleopatra Selene" msgstr "" #: civs/ptol.json:AINames[16] msgid "Cleopatra II Philometora Soteira" msgstr "" #: civs/ptol.json:AINames[17] msgid "Arsinoe IV" msgstr "" #: civs/ptol.json:AINames[18] msgid "Arsinoe II" msgstr "" #: civs/ptol.json:Factions[0].Technologies[1].Description msgid "Hero aura range boosted by 50%." msgstr "" #: civs/ptol.json:Factions[0].Technologies[1].Name msgid "Pharaonic Cult." msgstr "" #: civs/ptol.json:Factions[0].Technologies[1].History msgid "" "The Macedonian-Greek rulers of the Ptolemaic dynasty observed many ancient " "Egyptian traditions in order to satiate the local populace and ingratiate " "themselves to the powerful priestly class in the country." msgstr "" #: civs/ptol.json:Factions[0].Technologies[2].Description msgid "" "The Ptolemaic Egyptians receive 3 additional farming technologies above and " "beyond the maximum number of farming technologies usually available to a " "faction." msgstr "" #: civs/ptol.json:Factions[0].Technologies[2].History msgid "" "The Nile Delta had rich soil for farming, due to centuries of seasonal floods" " from the Nile depositing rich silt across the landscape." msgstr "" #: civs/ptol.json:Factions[0].Heroes[0].Name #: simulation/templates/units/ptol_hero_ptolemy_I.xml:12 #: maps/scenarios/Sandbox - Ptolemies.xml:41:PlayerData[0].Name msgid "Ptolemaios A' Soter" msgstr "" #: civs/ptol.json:Factions[0].Heroes[1].Name #: simulation/templates/units/ptol_hero_ptolemy_IV.xml:12 msgid "Ptolemaios D' Philopater" msgstr "" #: civs/ptol.json:Factions[0].Heroes[2].Name #: simulation/templates/units/ptol_hero_cleopatra.xml:12 msgid "Kleopatra H' Philopater" msgstr "" #: civs/ptol.json:Factions[0].Name msgid "Ptolemaic Egyptians" msgstr "" #: civs/ptol.json:Factions[0].Description msgid "The great Greek-Macedonian dynastic rule over Ancient Egypt." msgstr "" #: civs/ptol.json:Structures[0].Special #: civs/sele.json:Structures[0].Special msgid "" "Maximum of 1 built. All Special Technologies and some regular city-phase " "technologies are researched here. Building one reduces the cost of all other " "remaining technologies by 10%." msgstr "" #: civs/ptol.json:Structures[1].Name #: simulation/templates/structures/ptol_mercenary_camp.xml:30 msgid "Stratópedo Misthophóron" msgstr "" #: civs/ptol.json:Structures[1].Special msgid "" "Must be constructed in neutral territory. Has no territory radius effect. " "Trains all 'mercenary' units." msgstr "" #: civs/ptol.json:Structures[2].Name #: simulation/templates/structures/ptol_lighthouse.xml:17 msgid "Lighthouse" msgstr "" #: civs/ptol.json:Structures[2].Special msgid "" "When built along the shoreline, removes shroud of darkness over all the " "water, revealing all the coast lines on the map. Limit: 1." msgstr "" #: civs/ptol.json:Structures[2].History msgid "" "The Ptolemaic dynasty in Egypt built the magnificent Lighthouse of Alexandria" " near the harbor mouth of that Nile Delta city. This structure could be seen " "for many kilometers out to sea and was one of the Seven Wonders of the World." msgstr "" #: civs/ptol.json:History msgid "" "The Ptolemaic dynasty was a Macedonian Greek royal family which ruled the " "Ptolemaic Empire in Egypt during the Hellenistic period. Their rule lasted " "for 275 years, from 305 BC to 30 BC. They were the last dynasty of ancient " "Egypt." msgstr "" #: civs/rome.json:Name #: maps/scenarios/Miletus.xml:31:PlayerData[1].Name #: maps/scenarios/Sandbox - Ptolemies 2.xml:42:PlayerData[1].Name msgid "Romans" msgstr "" #: civs/rome.json:CivBonuses[0].Description msgid "Roman Legionaries can form a Testudo." msgstr "" #: civs/rome.json:CivBonuses[0].Name msgid "Testudo Formation" msgstr "" #: civs/rome.json:CivBonuses[0].History msgid "" "The Romans commonly used the Testudo or 'turtle' formation for defense: " "Legionaries were formed into hollow squares with twelve men on each side, " "standing so close together that their shields overlapped like fish scales." msgstr "" #: civs/rome.json:CivBonuses[1].Description msgid "" "Any Roman citizen-soldier fighting within Roman territory gains a non-" "permanent +10% bonus in armor." msgstr "" #: civs/rome.json:CivBonuses[1].Name msgid "Citizenship" msgstr "" #: civs/rome.json:CivBonuses[1].History msgid "" "Roman Citizenship was highly prized in the ancient world. Basic rights and " "privileges were afforded Roman citizens that were denied other conquered " "peoples. It is said that harming a Roman citizen was akin to harming Rome " "herself, and would cause the entire might of Rome to fall upon the " "perpetrator." msgstr "" #: civs/rome.json:TeamBonuses[0].Description msgid "Allied citizen-soldiers gain a +15% attack when in Roman territory." msgstr "" #: civs/rome.json:TeamBonuses[0].Name msgid "Socii" msgstr "" #: civs/rome.json:TeamBonuses[0].History msgid "Being allied with Rome came with great benefits (as well as great peril)." msgstr "" #: civs/rome.json:AINames[0] msgid "Lucius Junius Brutus" msgstr "" #: civs/rome.json:AINames[1] msgid "Lucius Tarquinius Collatinus" msgstr "" #: civs/rome.json:AINames[2] msgid "Gaius Julius Caesar Octavianus" msgstr "" #: civs/rome.json:AINames[3] msgid "Marcus Vipsanius Agrippa" msgstr "" #: civs/rome.json:AINames[4] msgid "Gaius Iulius Iullus" msgstr "" #: civs/rome.json:AINames[5] msgid "Gaius Servilius Structus Ahala" msgstr "" #: civs/rome.json:AINames[6] msgid "Publius Cornelius Rufinus" msgstr "" #: civs/rome.json:AINames[7] msgid "Lucius Papirius Cursor" msgstr "" #: civs/rome.json:AINames[8] #: maps/scenarios/Sahel.xml:42:PlayerData[0].Name msgid "Aulus Manlius Capitolinus" msgstr "" #: civs/rome.json:AINames[9] msgid "Publius Cornelius Scipio Africanus" msgstr "" #: civs/rome.json:AINames[10] msgid "Publius Sempronius Tuditanus" msgstr "" #: civs/rome.json:AINames[11] msgid "Marcus Cornelius Cethegus" msgstr "" #: civs/rome.json:AINames[12] msgid "Quintus Caecilius Metellus Pius" msgstr "" #: civs/rome.json:AINames[13] msgid "Marcus Licinius Crassus" msgstr "" #: civs/rome.json:Factions[0].Technologies[0].Description msgid "Roman heroes can convert enemy units with great cost." msgstr "" #: civs/rome.json:Factions[0].Technologies[0].Name msgid "Divide et Impera" msgstr "" #: civs/rome.json:Factions[0].Technologies[0].History msgid "" "'Divide and conquer' was the main principle in Rome's foreign politics " "throughout its long history. The Romans lured enemies or neutral factions to " "their side by offering them certain privileges. In due period of time, " "friends as well as foes were subjugated." msgstr "" #: civs/rome.json:Factions[0].Heroes[0].History msgid "" "Dictator for six months during the Second Punic War. Instead of attacking the" " most powerful Hannibal, he started a very effective war of attrition against" " him." msgstr "" #: civs/rome.json:Factions[0].Heroes[0].Name #: simulation/templates/units/rome_hero_maximus.xml:5 msgid "Quintus Fabius Maximus" msgstr "" #: civs/rome.json:Factions[0].Heroes[1].History msgid "" "A soldier of the first war with Carthage, a hero of the Second Punic War, and" " victor over the Gauls at Clastidium. Plutarch describes him as a man of war," " strong in body and constitution, with an iron will to fight on. As a general" " he was immensely capable, standing alongside Scipio Africanus and Claudius " "Nero as the most effective Roman generals of the entire Second Punic War. In " "addition to his military achievements Marcellus was a fan of Greek culture " "and arts, which he enthusiastically promoted in Rome. He met his demise when " "his men were ambushed near Venusia. In honor of the respect the people held " "for him, Marcellus was granted the title of 'Sword of Rome.'" msgstr "" #: civs/rome.json:Factions[0].Heroes[1].Name #: simulation/templates/units/rome_hero_marcellus.xml:5 msgid "Marcus Claudius Marcellus" msgstr "" #: civs/rome.json:Factions[0].Heroes[2].History msgid "" "He was the first really successful Roman general against the Carthaginians. " "His campaigns in Spain and Africa helped to bring Carthage to its knees " "during the Second Punic War. He defeated Hannibal at the Battle of Zama in " "202 B.C." msgstr "" #: civs/rome.json:Factions[0].Heroes[2].Name #: simulation/templates/units/rome_hero_scipio.xml:5 msgid "Scipio Africanus" msgstr "" #: civs/rome.json:Structures[0].Name msgid "Entrenched Camp" msgstr "" #: civs/rome.json:Structures[0].Special msgid "Trains citizen-soldiers from neutral or enemy territory." msgstr "" #: civs/rome.json:Structures[0].History msgid "" "Sometimes it was a temporary camp built facing the route by which the army is" " to march, other times a defensive or offensive (for sieges) structure. " "Within the Praetorian gate, which should either front the east or the enemy, " "the tents of the first centuries or cohorts are pitched, and the dracos " "(ensigns of cohorts) and other ensigns planted. The Decumane gate is directly" " opposite to the Praetorian in the rear of the camp, and through this the " "soldiers are conducted to the place appointed for punishment or execution. It" " has a turf wall, and it's surrounded by a canal filled with water whenever " "possible for extra defense. Many towns started up as bigger military camps to" " evolve to more complicated cities." msgstr "" #: civs/rome.json:Structures[1].Name #: simulation/templates/structures/rome_wallset_siege.xml:6 msgid "Murus Latericius" msgstr "" #: civs/rome.json:Structures[1].Special msgid "Can be built in neutral and enemy territory to strangle enemy towns." msgstr "" #: civs/rome.json:Structures[1].History msgid "Turf walls built by legionaries during sieges." msgstr "" #: civs/rome.json:History msgid "" "The Romans controlled one of the largest empires of the ancient world, " "stretching at its peak from southern Scotland to the Sahara Desert, and " "containing between 60 million and 80 million inhabitants, one quarter of the " "Earth's population at that time. Rome also remained one of the strongest " "nations on earth for almost 800 years. The Romans were the supreme builders " "of the ancient world, excelled at siege warfare and had an exquisite infantry" " and navy." msgstr "" #: civs/sele.json:Name #: civs/sele.json:Factions[0].Name #: maps/scenarios/Sandbox - Ptolemies 2.xml:42:PlayerData[2].Name msgid "Seleucids" msgstr "" #: civs/sele.json:CivBonuses[0].Description msgid "" "This unlocks the Seleucid expansion building, the Klēroukhia or Military " "Colony, similar to Civic Centers for other factions. It is weaker and carries" " a smaller territory influence, but is cheaper and built faster." msgstr "" #: civs/sele.json:CivBonuses[0].Name msgid "Cleruchy" msgstr "" #: civs/sele.json:CivBonuses[1].Description msgid "" "Choose between Traditional Army and Reform Army technologies that unlock " "different Champions." msgstr "" #: civs/sele.json:CivBonuses[1].History #: civs/sele.json:Factions[0].Technologies[1].History msgid "" "Seleucid and indeed Successor warfare evolved over the course of the 3rd and " "2nd centuries. Contact with Eastern upstarts such as the Parthians and " "constant revolts of peripheral satrapies such as Bactria caused the Seleucids" " to reform their military and change their tactics, specifically in the " "cavalry arm. War with the Romans from the West and invasions from the " "Galatians also forced the Seleucids to reform their infantry regiments to be " "more flexible." msgstr "" #: civs/sele.json:TeamBonuses[0].Description msgid "Allied Civic Centers are 20% cheaper." msgstr "" #: civs/sele.json:TeamBonuses[0].Name msgid "Syrian Tetrapolis" msgstr "" #: civs/sele.json:TeamBonuses[0].History msgid "" "The political core of the Seleucid Empire consisted of four 'sister' cities: " "Antioch (the capital), Seleucia Pieria, Apamea, and Laodicea." msgstr "" #: civs/sele.json:AINames[0] msgid "Seleucus I Nicator" msgstr "" #: civs/sele.json:AINames[1] msgid "Antiochus I Soter" msgstr "" #: civs/sele.json:AINames[2] msgid "Antiochus II Theos" msgstr "" #: civs/sele.json:AINames[3] msgid "Seleucus II Callinicus" msgstr "" #: civs/sele.json:AINames[4] msgid "Seleucus III Ceraunus" msgstr "" #: civs/sele.json:AINames[5] msgid "Antiochus III Megas" msgstr "" #: civs/sele.json:AINames[6] msgid "Seleucus IV Philopator" msgstr "" #: civs/sele.json:AINames[7] msgid "Antiochus IV Epiphanes" msgstr "" #: civs/sele.json:AINames[8] msgid "Antiochus V Eupator" msgstr "" #: civs/sele.json:AINames[9] msgid "Demetrius I Soter" msgstr "" #: civs/sele.json:AINames[10] msgid "Alexander I Balas" msgstr "" #: civs/sele.json:AINames[11] #: civs/sele.json:AINames[15] msgid "Demetrius II Nicator" msgstr "" #: civs/sele.json:AINames[12] msgid "Antiochus VI Dionysus" msgstr "" #: civs/sele.json:AINames[13] msgid "Diodotus Tryphon" msgstr "" #: civs/sele.json:AINames[14] msgid "Antiochus VII Sidetes" msgstr "" #: civs/sele.json:AINames[16] msgid "Alexander II Zabinas" msgstr "" #: civs/sele.json:AINames[17] msgid "Cleopatra Thea" msgstr "" #: civs/sele.json:AINames[18] msgid "Seleucus V Philometor" msgstr "" #: civs/sele.json:AINames[19] msgid "Antiochus VIII Grypus" msgstr "" #: civs/sele.json:AINames[20] msgid "Antiochus IX Cyzicenus" msgstr "" #: civs/sele.json:AINames[21] msgid "Seleucus VI Epiphanes" msgstr "" #: civs/sele.json:AINames[22] msgid "Antiochus X Eusebes" msgstr "" #: civs/sele.json:AINames[23] msgid "Demetrius III Eucaerus" msgstr "" #: civs/sele.json:AINames[24] msgid "Antiochus XI Epiphanes" msgstr "" #: civs/sele.json:AINames[25] msgid "Philip I Philadelphus" msgstr "" #: civs/sele.json:AINames[26] msgid "Antiochus XII Dionysus" msgstr "" #: civs/sele.json:AINames[27] msgid "Seleucus VII Kybiosaktes" msgstr "" #: civs/sele.json:AINames[28] msgid "Antiochus XIII Asiaticus" msgstr "" #: civs/sele.json:AINames[29] msgid "Philip II Philoromaeus" msgstr "" #: civs/sele.json:Factions[0].Technologies[1].Description msgid "" "Traditional Army unlocks Silver Shields and Scythed Chariots, Reform Army " "unlocks Romanized Heavy Swordsmen and Cataphracts." msgstr "" #: civs/sele.json:Factions[0].Technologies[1].Name #: simulation/data/technologies/successors/pair_unlock_champions.json:genericName msgid "Traditional Army vs. Reform Army" msgstr "" #: civs/sele.json:Factions[0].Technologies[2].Description msgid "A one-time purchase of 20 Indian War Elephants from the Mauryan Empire." msgstr "" #: civs/sele.json:Factions[0].Technologies[2].Name msgid "Marriage Alliance" msgstr "" #: civs/sele.json:Factions[0].Technologies[2].History msgid "" "Seleucus I Nicator invaded the Punjab region of India in 305 BC, confronting " "Chandragupta Maurya (Sandrokottos), founder of the Mauryan empire. It is said" " that Chandragupta fielded an army of 600,000 men and 9,000 war elephants " "(Pliny, Natural History VI, 22.4). Seleucus met with no success and to " "establish peace between the two great powers and to formalize their alliance," " he married his daughter to Chandragupta. In return, Chandragupta gifted " "Seleucus a corps of 500 war elephants, which would prove a decisive military " "asset for Seleucus as he fought the rest of Alexander's successors." msgstr "" #: civs/sele.json:Factions[0].Technologies[3].History msgid "" "The beautiful and powerful breed of Nisean horses increases health for " "Seleucid cavalry." msgstr "" #: civs/sele.json:Factions[0].Heroes[0].History msgid "" "Always lying in wait for the neighboring nations, strong in arms and " "persuasive in council, he (Seleucus) acquired Mesopotamia, Armenia, " "'Seleucid' Cappadocia, Persis, Parthia, Bactria, Arabia, Tapouria, Sogdia, " "Arachosia, Hyrcania, and other adjacent peoples that had been subdued by " "Alexander, as far as the river Indus, so that the boundaries of his empire " "were the most extensive in Asia after that of Alexander. The whole region " "from Phrygia to the Indus was subject to Seleucus. — Appian, 'The Syrian " "Wars'." msgstr "" #: civs/sele.json:Factions[0].Heroes[0].Name #: simulation/templates/units/sele_hero_seleucus_victor.xml:12 msgid "Seleukos A' Nikator" msgstr "" #: civs/sele.json:Factions[0].Heroes[1].History msgid "" "Antiochus inherited a troubled kingdom upon the beginning of his reign. From " "the verge of collapse he managed to weld back together the empire Seleukus I " "so hard to found. The rebellious eastern satraps of Bactria and Parthia were " "brought to heel , temporarily securing his eastern borders. He then turned " "his attention to mother Greece, attempting to fulfill the dreams of his " "fathers by invading Greece under the pretext of liberation. The Achaean " "League and the Kingdom of Pergamon banded together with the Romans to defeat " "him at the Battle of Magnesia, forever burying the dream of reuniting " "Alexander's empire." msgstr "" #: civs/sele.json:Factions[0].Heroes[1].Name msgid "Antiokhos G' Megas" msgstr "" #: civs/sele.json:Factions[0].Heroes[2].History msgid "" "Antiochus IV Epiphanes was a son of Antiochus III the Great and brother of " "Seleucus IV Philopator. Originally named Mithridates, he assumed the name " "Antiochus either upon his accession to the throne or after the death of his " "elder brother Antiochus. Notable events during his reign include the near-" "conquest of Egypt (twice), which was halted by the threat of Roman " "intervention, and the beginning of the Jewish revolt of the Maccabees. He " "died of sudden illness while fighting off a Parthian invasion from the East." msgstr "" #: civs/sele.json:Factions[0].Heroes[2].Name #: simulation/templates/units/sele_hero_antiochus_righteous.xml:12 msgid "Antiokhos D' Epiphanes" msgstr "" #: civs/sele.json:Factions[0].Description msgid "" "The Macedonian-Greek dynasty that ruled the Eastern part of Alexander's " "former empire." msgstr "" #: civs/sele.json:Structures[1].Special msgid "Trains all cavalry units except Citizen-Militia Cavalry." msgstr "" #: civs/sele.json:Structures[2].Name #: simulation/templates/structures/ptol_military_colony.xml:29 #: simulation/templates/structures/sele_military_colony.xml:29 msgid "Military Colony" msgstr "" #: civs/sele.json:Structures[2].Special msgid "" "This is the Seleucid expansion building, similar to Civic Centers for other " "factions. It is weaker and carries a smaller territory influence, but is " "cheaper and built faster." msgstr "" #: civs/sele.json:Structures[2].History msgid "" "The Seleucid kings invited Greeks, Macedonians, Galatians (Gauls), Cretans, " "and Thracians alike to settle in within the vast territories of the empire. " "They settled in military colonies called cleruchies (klēroukhia). Under this " "arrangement, the settlers were given a plot of land, or a kleros, and in " "return were required to serve in the great king's army when called to duty. " "This created a upper-middle class of military settlers who owed their " "livelihoods and fortunes to the Syrian kings and helped grow the available " "manpower for the imperial Seleucid army. A side effect of this system was " "that it drained the Greek homeland of military-aged men, a contributing " "factor to Greece's eventual conquest by Rome." msgstr "" #: civs/sele.json:History msgid "The Macedonian-Greek dynasty that ruled most of Alexander's former empire." msgstr "" #: civs/spart.json:Name #: civs/spart.json:Factions[0].Name msgid "Spartans" msgstr "" #: civs/spart.json:CivBonuses[0].Description msgid "Spartans can use the powerful Phalanx formation." msgstr "" #: civs/spart.json:CivBonuses[0].History msgid "" "The Spartans were undisputed masters of phalanx warfare. The Spartans were so" " feared for their discipline that the enemy army would sometimes break up and" " run away before a single shield clashed. 'Othismos' refers to the point in a" " phalanx battle where both sides try to shove each other out of formation, " "attempting to breaking up the enemy lines and routing them." msgstr "" #: civs/spart.json:CivBonuses[1].Description msgid "The Spartan rank upgrades at the Barracks cost no resources, except time." msgstr "" #: civs/spart.json:CivBonuses[1].Name msgid "Laws of Lycurgus" msgstr "" #: civs/spart.json:CivBonuses[1].History msgid "" "Under the Constitution written by the mythical law-giver Lycurgus, the " "institution of The Agoge was established, where Spartans were trained from " "the age of 6 to be superior warriors in defense of the Spartan state." msgstr "" #: civs/spart.json:TeamBonuses[0].Description msgid "Allies can train Spartiates." msgstr "" #: civs/spart.json:TeamBonuses[0].Name #: maps/scenarios/Campaign Test Map.xml:42:PlayerData[6].Name msgid "Peloponnesian League" msgstr "" #: civs/spart.json:TeamBonuses[0].History msgid "" "Much of the Peloponnese was subject to Sparta in one way or another. This " "loose confederation, with Sparta as its leader, was later dubbed the " "Peloponnesian League by historians, but in ancient times was called 'The " "Lacedaemonians and their allies.'" msgstr "" #: civs/spart.json:AINames[1] msgid "Dienekes" msgstr "" #: civs/spart.json:AINames[2] #: civs/spart.json:Factions[0].Heroes[1].Name #: simulation/templates/units/spart_hero_brasidas.xml:15 #: simulation/templates/units/spart_hero_brasidas.xml:16 msgid "Brasidas" msgstr "" #: civs/spart.json:AINames[3] #: simulation/templates/units/spart_hero_agis.xml:12 msgid "Agis" msgstr "" #: civs/spart.json:AINames[4] msgid "Archidamus" msgstr "" #: civs/spart.json:AINames[6] msgid "Pausanias" msgstr "" #: civs/spart.json:AINames[7] msgid "Agesilaus" msgstr "" #: civs/spart.json:AINames[8] msgid "Echestratus" msgstr "" #: civs/spart.json:AINames[9] msgid "Eurycrates" msgstr "" #: civs/spart.json:AINames[10] msgid "Eucleidas" msgstr "" #: civs/spart.json:AINames[11] msgid "Agesipolis" msgstr "" #: civs/spart.json:Factions[0].Technologies[0].Description msgid "" "Spartan female citizens cannot be captured and will doggedly fight back " "against any attackers. They are also capable of constructing defense towers " "and palisades." msgstr "" #: civs/spart.json:Factions[0].Technologies[0].Name msgid "Feminine Mystique" msgstr "" #: civs/spart.json:Factions[0].Technologies[0].History msgid "" "Spartan women were some of the freest in the ancient world. They could own " "land and slaves and even exercise naked like Spartan men. It is said that " "only Spartan women gave birth to real men. Such tough-as-nails women more " "than once helped save their city from disaster, for example when after a lost" " battle against Pyrrhus of Epirus they overnight built an earthen rampart to " "protect the city while their men slept in preparation for the next day's " "siege." msgstr "" #: civs/spart.json:Factions[0].Technologies[1].Description msgid "Units in phalanx formation move faster." msgstr "" #: civs/spart.json:Factions[0].Technologies[1].Name msgid "Tyrtean Paeans" msgstr "" #: civs/spart.json:Factions[0].Technologies[1].History msgid "" "Paeans were battle hymns that were sung by the hoplites when they charged the" " enemy lines. One of the first known Paeans were composed by Tirteus, a " "warrior poet of Sparta, during the First Messenian War." msgstr "" #: civs/spart.json:Factions[0].Technologies[2].Description #: simulation/data/technologies/hellenes/spartans_agoge.json:tooltip msgid "+25% health for spear infantry, but also +10% train time." msgstr "" #: civs/spart.json:Factions[0].Technologies[2].Name #: simulation/data/technologies/hellenes/spartans_agoge.json:genericName msgid "The Agoge" msgstr "" #: civs/spart.json:Factions[0].Technologies[2].History #: simulation/data/technologies/hellenes/spartans_agoge.json:description msgid "" "Spartans were housed and trained from a young age to be superlative warriors " "and to endure any hardship a military life can give them." msgstr "" #: civs/spart.json:Factions[0].Heroes[0].History msgid "" "The king of Sparta, who fought and died at the battle of Thermopylae in 480 " "B.C. He successfully blocked the way of the huge Persian army through the " "narrow passage with his 7000 men, until Xerxes was made aware of a secret " "unobstructed path. Finding the enemy at his rear, Leonidas sent home most of " "his troops, choosing to stay behind with 300 hand-picked hoplites and win " "time for the others to withdraw." msgstr "" #: civs/spart.json:Factions[0].Heroes[0].Name #: simulation/templates/units/hele_hero_leonidas.xml:31 #: simulation/templates/units/spart_hero_leonidas.xml:28 msgid "Leonidas I" msgstr "" #: civs/spart.json:Factions[0].Heroes[1].History msgid "" "Because Brasidas has sponsored their citizenship in return for service, Helot" " Skirmishers fight longer and harder for Sparta while within range of him." msgstr "" #: civs/spart.json:Factions[0].Heroes[2].History msgid "" "Agis III was the 20th Spartan king of the Eurypontid lineage. Agis cobbled " "together an alliance of Southern Greek states to fight off Macedonian " "hegemony while Alexander the Great was away in Asia on his conquest march. " "After securing Crete as a Spartan tributary, Agis then moved to besiege the " "city of Megalopolis in the Peloponnese, who was an ally of Macedon. " "Antipater, the Macedonian regent, lead an army to stop this new uprising. In " "the Battle of Megalopolis, the Macedonians prevailed in a long and bloody " "battle. Much like Leonidas 150 years earlier, instead of surrendering, Agis " "made a heroic final stand in order to buy time for his troops to retreat." msgstr "" #: civs/spart.json:Factions[0].Heroes[2].Name #: simulation/templates/units/spart_hero_agis.xml:11 msgid "Agis III" msgstr "" #: civs/spart.json:Structures[1].Name msgid "Syssition" msgstr "" #: civs/spart.json:Structures[1].Special msgid "Train heroes and Spartiates and research technologies related to them." msgstr "" #: civs/spart.json:Structures[1].History msgid "" "The Syssition was the Mess Hall for full-blooded Spartiates. Every Spartan " "peer, even kings, belonged to one." msgstr "" #: civs/spart.json:History msgid "" "Sparta was a prominent city-state in ancient Greece, and its dominant " "military power on land from circa 650 B.C. Spartan culture was obsessed with " "military training and excellence, with rigorous training for boys beginning " "at age seven. Thanks to its military might, Sparta led a coalition of Greek " "forces during the Greco-Persian Wars, and won over Athens in the " "Peloponnesian Wars, though at great cost." msgstr "" #: civs/theb.json:Name #: civs/theb.json:Factions[0].Name msgid "Thebans" msgstr "" #: civs/theb.json:CivBonuses[0].Name msgid "Oblique Order" msgstr "" #: civs/theb.json:CivBonuses[1].Name #: civs/theb.json:Factions[0].Technologies[1].Name #: maps/random/unknown.json:settings.Name msgid "Unknown" msgstr "" #: civs/theb.json:TeamBonuses[0].Name msgid "Boeotian Confederacy" msgstr "" #: civs/theb.json:AINames[0] #: civs/theb.json:Factions[0].Heroes[0].Name msgid "Epaminondas" msgstr "" #: civs/theb.json:AINames[1] #: civs/theb.json:Factions[0].Heroes[1].Name msgid "Pelopidas" msgstr "" #: civs/theb.json:AINames[2] #: civs/theb.json:Factions[0].Heroes[2].Name msgid "Gorgidas" msgstr "" #: civs/theb.json:AINames[3] msgid "Calydnus" msgstr "" #: civs/theb.json:AINames[4] msgid "Ogyges" msgstr "" #: civs/theb.json:AINames[5] msgid "Cadmus" msgstr "" #: civs/theb.json:AINames[6] msgid "Pentheus" msgstr "" #: civs/theb.json:AINames[7] msgid "Polydorus" msgstr "" #: civs/theb.json:AINames[8] msgid "Nycteus" msgstr "" #: civs/theb.json:AINames[9] msgid "Lycus" msgstr "" #: civs/theb.json:AINames[10] msgid "Labdacus" msgstr "" #: civs/theb.json:Factions[0].Description msgid "The great power of Central Greece and leader of the Boeotian confederacy." msgstr "" #: civs/theb.json:Structures[1].History msgid "" "At the siege of the Athenian fortress at Delium, the Thebans employed what " "may be deemed the first recorded use of a flame thrower in warfare." msgstr "" #: civs/theb.json:History msgid "" "The great power of Central Greece and leader of the Boeotian confederacy, " "Thebes is a force to be reckoned with. It is a major rival of ancient Athens," " and sided with the Persians during the 480 BC invasion under Xerxes. Theban " "forces ended the power of Sparta at the Battle of Leuctra in 371 BC under the" " command of Epaminondas. The Sacred Band of Thebes (an elite military unit) " "famously fell at the battle of Chaeronea in 338 BC against Philip II and " "Alexander the Great. Prior to its destruction by Alexander in 335 BC, Thebes " "was a major force in Greek history, and was the most dominant city-state at " "the time of the Macedonian conquest of Greece." msgstr "" #: maps/random/aegean_sea.json:settings.Description msgid "Players start on two sides of a sea with scattered islands" msgstr "" #: maps/random/aegean_sea.json:settings.Name msgid "Aegean Sea" msgstr "" #: maps/random/alpine_lakes.json:settings.Description msgid "" "High Alpine mountains surrounding deep valleys strung with mountain streams " "and finger-like lakes." msgstr "" #: maps/random/alpine_lakes.json:settings.Name msgid "Alpine Lakes" msgstr "" #: maps/random/alpine_valley.json:settings.Description msgid "High Alpine mountains bordering deep valleys." msgstr "" #: maps/random/alpine_valley.json:settings.Name msgid "Alpine Valley" msgstr "" #: maps/random/anatolian_plateau.json:settings.Description msgid "" "An indefensible open land with little wood and stone, representing the " "central basin of Asia Minor." msgstr "" #: maps/random/anatolian_plateau.json:settings.Name msgid "Anatolian Plateau" msgstr "" #: maps/random/archipelago.json:settings.Description msgid "" "A maze of islands of different sizes and shapes. Players start with more wood" " than normal." msgstr "" #: maps/random/archipelago.json:settings.Name msgid "Archipelago" msgstr "" #: maps/random/ardennes_forest.json:settings.Description msgid "" "Each player starts deep in the forest.\n" "\n" "The Ardennes is a region of extensive forests, rolling hills and ridges " "formed within the Givetian Ardennes mountain range, primarily in modern day " "Belgium and Luxembourg. The region took its name from the ancient Silva, a " "vast forest in Roman times called Arduenna Silva." msgstr "" #: maps/random/ardennes_forest.json:settings.Name msgid "Ardennes Forest" msgstr "" #: maps/random/atlas_mountains.json:settings.Description msgid "" "A rugged land with small room for buildings with scarce wood. Represents the " "mountain range in the north-west africa." msgstr "" #: maps/random/atlas_mountains.json:settings.Name msgid "Atlas Mountains" msgstr "" #: maps/random/belgian_uplands.json:settings.Description msgid "" "An experimental map with its heightmap generated by erosion to look more " "natural. Not all seeds will be fair though! Tiny maps with 8 players may take" " a while to generate." msgstr "" #: maps/random/belgian_uplands.json:settings.Name msgid "Belgian Uplands" msgstr "" #: maps/random/cantabrian_highlands.json:settings.Description msgid "" "Each player starts on a hill surrounded by steep cliffs. Represents " "Cantabria, a mountainous region in the North of the Iberian peninsula." msgstr "" #: maps/random/cantabrian_highlands.json:settings.Name msgid "Cantabrian Highlands" msgstr "" #: maps/random/canyon.json:settings.Description msgid "Players start around the map in deep canyons." msgstr "" #: maps/random/canyon.json:settings.Name msgid "Canyon" msgstr "" #: maps/random/continent.json:settings.Description msgid "All players starts on a continent surrounded by water." msgstr "" #: maps/random/continent.json:settings.Name msgid "Continent" msgstr "" #: maps/random/corinthian_isthmus.json:settings.Description #: maps/skirmishes/Corinthian Isthmus (2).xml:41:Description msgid "" "Two Mediterranean land masses connected by a narrow spit of land, called an " "'Isthmus.'" msgstr "" #: maps/random/corinthian_isthmus.json:settings.Name msgid "Corinthian Isthmus" msgstr "" #: maps/random/corsica.json:settings.Description msgid "" "The players start on two opposing islands, both with a very jagged relief " "that will make landing difficult." msgstr "" #: maps/random/corsica.json:settings.Name msgid "Corsica vs Sardinia" msgstr "" #: maps/random/cycladic_archipelago.json:settings.Description msgid "" "Each player starts on an island surrounded by water.\n" "\n" "The Cyclades is an island group in the Aegean Sea, south-east of the mainland" " of Greece. They are one of the island groups which constitute the Aegean " "archipelago. The name refers to the islands around the sacred island of " "Delos. The Cyclades comprise about 220 islands. The islands are peaks of a " "submerged mountainous terrain, with the exception of two volcanic islands, " "Milos and Santorini. The climate is generally dry and mild, but with the " "exception of Naxos the soil is not very fertile." msgstr "" #: maps/random/cycladic_archipelago.json:settings.Name msgid "Cycladic Archipelago" msgstr "" #: maps/random/deep_forest.json:settings.Description msgid "A deep dark forest in Germania." msgstr "" #: maps/random/deep_forest.json:settings.Name msgid "Deep Forest" msgstr "" #: maps/random/english_channel.json:settings.Description msgid "" "Players start in either northern France or southern Britain while the English" " channel separates them." msgstr "" #: maps/random/english_channel.json:settings.Name msgid "English Channel" msgstr "" #: maps/random/fortress.json:settings.Description msgid "Players start in a ready-made fortress with piles of resources." msgstr "" #: maps/random/fortress.json:settings.Name #: simulation/templates/template_structure_military_fortress.xml:31 #: simulation/templates/template_structure_military_fortress.xml:60 msgid "Fortress" msgstr "" #: maps/random/gear.json:settings.Description msgid "A land with waterways decorated in a manner similar to spider web." msgstr "" #: maps/random/gear.json:settings.Name msgid "Gear" msgstr "" #: maps/random/guadalquivir_river.json:settings.Description msgid "" "Players start in the shores of the Mediterranean Sea with a river flowing " "between them.\n" "\n" "The Guadalquivir is the fifth longest river in the Iberian peninsula and the " "second longest river with its entire length in Spain. The Guadalquivir river " "is the only great navigable river in Spain. Currently it is navigable to " "Seville, but in Roman times it was navigable to Cordoba. The ancient city of " "Tartessos was said to have been located at the mouth of the Guadalquivir, " "although its site has not yet been found." msgstr "" #: maps/random/guadalquivir_river.json:settings.Name msgid "Guadalquivir River" msgstr "" #: maps/random/gulf_of_bothnia.json:settings.Description msgid "" "Players start around a gulf dotted with small islands.\n" "\n" "The Gulf of Bothnia is the northernmost arm of the Baltic Sea." msgstr "" #: maps/random/gulf_of_bothnia.json:settings.Name msgid "Gulf of Bothnia" msgstr "" #: maps/random/hyrcanian_shores.json:settings.Description msgid "" "Each player starts in a coastal area between forested hills and the Caspian " "Sea." msgstr "" #: maps/random/hyrcanian_shores.json:settings.Name msgid "Hyrcanian Shores" msgstr "" #: maps/random/islands.json:settings.Description msgid "Players start in small islands while there are many others around." msgstr "" #: maps/random/islands.json:settings.Name msgid "Islands" msgstr "" #: maps/random/kerala.json:settings.Description msgid "Players start in the southwestern shores of India between a sea and mountains." msgstr "" #: maps/random/kerala.json:settings.Name msgid "Kerala" msgstr "" #: maps/random/lake.json:settings.Description msgid "Players start around a lake in the center of the map." msgstr "" #: maps/random/lake.json:settings.Name msgid "Lake" msgstr "" #: maps/random/latium.json:settings.Description msgid "" "The Italian peninsula \n" "\n" " Latium is the region of central western Italy in which the city of Rome was " "founded and grew to be the capital city of the Roman Empire. Latium was " "originally a small triangle of fertile, volcanic soil on which resided the " "tribe of the Latins. It was located on the left bank (east and south) of the " "Tiber river, extending northward to the Anio river (a left-bank tributary of " "the Tiber) and southeastward to the Pomptina Palus (Pontine Marshes, now the " "Pontine Fields) as far south as the Circeian promontory. The right bank of " "the Tiber was occupied by the Etruscan city of Veii, and the other borders " "were occupied by Italic tribes. Subsequently Rome defeated Veii and then its " "Italic neighbors, expanding Latium to the Apennine Mountains in the northeast" " and to the opposite end of the marsh in the southeast. The modern " "descendant, the Italian Regione of Lazio, also called Latium in Latin, and " "occasionally in modern English, is somewhat larger still, but not as much as " "double the original Latium." msgstr "" #: maps/random/latium.json:settings.Name msgid "Latium" msgstr "" #: maps/random/lorraine_plain.json:settings.Description msgid "" "Players start in a nearly flat Gallic plain divided by a river and its " "tributaries." msgstr "" #: maps/random/lorraine_plain.json:settings.Name msgid "Lorraine Plain" msgstr "" #: maps/random/mainland.json:settings.Description msgid "A typical map without any water" msgstr "" #: maps/random/mainland.json:settings.Name msgid "Mainland" msgstr "" #: maps/random/migration.json:settings.Description msgid "" "Players start in small islands in the eastern part of the map. There is a big" " continent in the west ready for expansion." msgstr "" #: maps/random/migration.json:settings.Name #: maps/scenarios/Migration.xml:31:Name msgid "Migration" msgstr "" #: maps/random/neareastern_badlands.json:settings.Description msgid "" "A jumbled maze of cliffs, canyons, and rugged terrain with an oasis in the " "center\n" "\n" "Cappadocia is a historical region in Central Anatolia. In the time of " "Herodotus, the Cappadocians were reported as occupying the whole region from " "Mount Taurus to the vicinity of the the Black Sea. Cappadocia, in this sense," " was bounded in the south by the chain of the Taurus Mountains that separate " "it from Cilicia, to the east by the upper Euphrates and the Armenian " "Highland, to the north by Pontus, and to the west by Lycaonia and eastern " "Galatia. Cappadocia lies in eastern Anatolia. The relief consists of a high " "plateau over 1000 m in altitude that is pierced by volcanic peaks. Due to its" " inland location and high altitude, Cappadocia has a markedly continental " "climate, with hot dry summers and cold snowy winters. Rainfall is sparse and " "the region is largely semi-arid." msgstr "" #: maps/random/neareastern_badlands.json:settings.Name msgid "Neareastern Badlands" msgstr "" #: maps/random/new_rms_test.json:settings.Description msgid "A basic test of the random map generator - not playable" msgstr "" #: maps/random/new_rms_test.json:settings.Name msgid "New RMS Test" msgstr "" #: maps/random/northern_lights.json:settings.Description msgid "" "Players start in a tough map to play with scarce wood and dangerous polar " "animals." msgstr "" #: maps/random/northern_lights.json:settings.Name msgid "Northern Lights" msgstr "" #: maps/random/oasis.json:settings.Description msgid "" "Players start around a small oasis in the center of the map which holds much " "of the available wood on the map." msgstr "" #: maps/random/oasis.json:settings.Name msgid "Oasis" msgstr "" #: maps/random/persian_highlands.json:settings.Description msgid "" "A dry central plateau rich in minerals surrounded by rocky hills\n" "\n" "The southern parts of Zagros Mountains where the heart of the Persian empires" " and population. Although the altitude is high, the southern parts are drier " "that the northern Zagros, leading to a semi-arid climate. Still there are " "some sparse oak forests in the higher grounds." msgstr "" #: maps/random/persian_highlands.json:settings.Name msgid "Persian Highlands" msgstr "" #: maps/random/pheonician_levant.json:settings.Description msgid "" "Players start in the eastern part of the map while a great sea is located to " "the west." msgstr "" #: maps/random/pheonician_levant.json:settings.Name msgid "Phoenician Levant" msgstr "" #: maps/random/pyrenean_sierra.json:settings.Description msgid "" "High mountains separating the enemies.\n" "\n" "The Pyrenees is a great mountain range located between modern France and " "Spain." msgstr "" #: maps/random/pyrenean_sierra.json:settings.Name msgid "Pyrenean Sierra" msgstr "" #: maps/random/rhine_marshlands.json:settings.Description msgid "" "Shallow, passable wetlands with little room for building. Represents the " "lowlands of the Rhine basin in Europe." msgstr "" #: maps/random/rhine_marshlands.json:settings.Name msgid "Rhine Marshlands" msgstr "" #: maps/random/rivers.json:settings.Description msgid "Rivers flow between players and join each other in the center of the map." msgstr "" #: maps/random/rivers.json:settings.Name msgid "Rivers" msgstr "" #: maps/random/saharan_oases.json:settings.Description msgid "Each players starts near a lush oasis in a large, desolate desert." msgstr "" #: maps/random/saharan_oases.json:settings.Name #: maps/scenarios/Saharan Oases.xml:31:Name msgid "Saharan Oases" msgstr "" #: maps/random/sahel.json:settings.Description msgid "" "A somewhat open map with an abundance of food and mineral resources, while " "wood is somewhat scarce." msgstr "" #: maps/random/sahel.json:settings.Name #: maps/scenarios/Sahel.xml:42:Name msgid "Sahel" msgstr "" #: maps/random/sahel_watering_holes.json:settings.Description msgid "" "Players start around the map with lines of water between them\n" "\n" "The African savanna is chocked full of animal life for hunting, while the " "nearby mineral deposits are plentiful. The dry season is approaching and the " "watering holes are drying up." msgstr "" #: maps/random/sahel_watering_holes.json:settings.Name msgid "Sahel Watering Holes" msgstr "" #: maps/random/snowflake_searocks.json:settings.Description msgid "Many small islands connected to each other by narrow passages." msgstr "" #: maps/random/snowflake_searocks.json:settings.Name msgid "Snowflake Searocks" msgstr "" #: maps/random/syria.json:settings.Description msgid "Players start in a plains with slightly rolling highlands." msgstr "" #: maps/random/syria.json:settings.Name msgid "Syria" msgstr "" #: maps/random/the_nile.json:settings.Description msgid "" "A calm wide river, representing the Nile River in Egypt, divides the map into" " western and eastern parts." msgstr "" #: maps/random/the_nile.json:settings.Name msgid "The Nile" msgstr "" #: maps/random/unknown.json:settings.Description msgid "The unknown... Warning: May be a naval map" msgstr "" #: maps/random/unknown_land.json:settings.Description msgid "The unknown..." msgstr "" #: maps/random/unknown_land.json:settings.Name msgid "Unknown Land" msgstr "" #: maps/random/unknown_nomad.json:settings.Description msgid "" "The unknown... Players start with only some citizen soldiers and females. " "[color=\"red\"]Warning: AI players will cause the game to crash.[/color]" msgstr "" #: maps/random/unknown_nomad.json:settings.Name msgid "Unknown Nomad" msgstr "" #: maps/random/volcanic_lands.json:settings.Description msgid "A charred dead land where players start around a smoking volcano." msgstr "" #: maps/random/volcanic_lands.json:settings.Name msgid "Volcanic Lands" msgstr "" #: maps/random/wall_demo.json:settings.Description msgid "" "A demonstration of wall placement methods/code in random maps. Very large map" " size is recommended." msgstr "" #: maps/random/wall_demo.json:settings.Name msgid "Wall Demo" msgstr "" #: simulation/ai/aegis/data.json:name msgid "Aegis Bot" msgstr "" #: simulation/ai/aegis/data.json:description msgid "" "Wraitii's improvement of qBot. It is more reliable and generally a better " "player. Note that it doesn't support saved games yet, and there may be other " "bugs. Please report issues to Wildfire Games (see the link in the main menu)." msgstr "" #: simulation/ai/petra/data.json:name msgid "Petra Bot" msgstr "" #: simulation/ai/petra/data.json:description msgid "Based on Aegis, but heavily modified and expected to be more robust" msgstr "" #: simulation/ai/tutorial-ai/data.json:name #: simulation/ai/tutorial-ai/data.json:description msgid "Tutorial AI" msgstr "" #: simulation/data/technologies/armor_cav_chamfron.json:description msgid "Metal armor for a horse's face." msgstr "" #: simulation/data/technologies/armor_cav_chamfron.json:tooltip msgid "Equip your cavalry mounts with armor. All Cavalry +1 Hack armor level." msgstr "" #: simulation/data/technologies/armor_cav_chamfron.json:genericName msgid "Chamfron" msgstr "" #: simulation/data/technologies/armor_cav_chamfron.json:requirementsTooltip #: simulation/data/technologies/armor_infantry_hack_01.json:requirementsTooltip #: simulation/data/technologies/armor_infantry_hack_02.json:requirementsTooltip #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:requirementsTooltip #: simulation/data/technologies/armor_infantryspearmen_pierce_02.json:requirementsTooltip #: simulation/data/technologies/armor_ship_hypozomata.json:requirementsTooltip #: simulation/data/technologies/attack_cav_lance.json:requirementsTooltip #: simulation/data/technologies/attack_tower_crenellations.json:requirementsTooltip #: simulation/data/technologies/attack_tower_watch.json:requirementsTooltip #: simulation/data/technologies/buildtime_walls_rubble.json:requirementsTooltip #: simulation/data/technologies/decay_outpost.json:requirementsTooltip #: simulation/data/technologies/gather_farming_plows.json:requirementsTooltip #: simulation/data/technologies/gather_mining_serfs.json:requirementsTooltip #: simulation/data/technologies/gather_mining_shaftmining.json:requirementsTooltip #: simulation/data/technologies/heal_range.json:requirementsTooltip #: simulation/data/technologies/heal_rate.json:requirementsTooltip #: simulation/data/technologies/health_walls_geometric_masonry.json:requirementsTooltip #: simulation/data/technologies/melee_inf_training.json:requirementsTooltip #: simulation/data/technologies/pop_civic_01.json:requirementsTooltip #: simulation/data/technologies/pop_house_02.json:requirementsTooltip #: simulation/data/technologies/ranged_inf_irregulars.json:requirementsTooltip #: simulation/data/technologies/speed_trader_01.json:requirementsTooltip #: simulation/data/technologies/training_levy_cavalry.json:requirementsTooltip #: simulation/data/technologies/training_levy_infantry.json:requirementsTooltip #: simulation/data/technologies/unlock_females_house.json:requirementsTooltip #: simulation/data/technologies/upgrade_rank_advanced_cavalry.json:requirementsTooltip #: simulation/data/technologies/upgrade_rank_advanced_infantry.json:requirementsTooltip #: simulation/data/technologies/carthaginians/cost_celt_mercs.json:requirementsTooltip #: simulation/data/technologies/carthaginians/cost_iberian_mercs.json:requirementsTooltip #: simulation/data/technologies/carthaginians/cost_italian_mercs.json:requirementsTooltip #: simulation/data/technologies/carthaginians/special_colonisation.json:requirementsTooltip #: simulation/data/technologies/carthaginians/special_exploration.json:requirementsTooltip #: simulation/data/technologies/carthaginians/traintime_celt_mercs.json:requirementsTooltip #: simulation/data/technologies/carthaginians/traintime_iberian_mercs.json:requirementsTooltip #: simulation/data/technologies/carthaginians/traintime_italian_mercs.json:requirementsTooltip #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_celts.json:requirementsTooltip #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_iberian.json:requirementsTooltip #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_italiote.json:requirementsTooltip #: simulation/data/technologies/persians/training_levy_cavalry.json:requirementsTooltip #: simulation/data/technologies/persians/training_levy_infantry.json:requirementsTooltip msgid "Unlocked in Town Phase." msgstr "" #: simulation/data/technologies/armor_cav_chamfron.json:specificName.ptol #: simulation/data/technologies/armor_cav_chamfron.json:specificName.spart #: simulation/data/technologies/armor_cav_chamfron.json:specificName.sele #: simulation/data/technologies/armor_cav_chamfron.json:specificName.athen #: simulation/data/technologies/armor_cav_chamfron.json:specificName.theb #: simulation/data/technologies/armor_cav_chamfron.json:specificName.hele #: simulation/data/technologies/armor_cav_chamfron.json:specificName.mace msgid "Prometoopidion" msgstr "" #: simulation/data/technologies/armor_hero_01.json:description msgid "" "Body armor fashioned completely of iron, the hardest workable metal known to " "the ancients." msgstr "" #: simulation/data/technologies/armor_hero_01.json:tooltip msgid "" "All heroes +2 Hack Armor Levels and +2 Pierce Armor Levels, but also +50 " "Metal Cost." msgstr "" #: simulation/data/technologies/armor_hero_01.json:genericName msgid "Iron Hero Armor" msgstr "" #: simulation/data/technologies/armor_hero_01.json:requirementsTooltip #: simulation/data/technologies/armor_infantry_hack_03.json:requirementsTooltip #: simulation/data/technologies/armor_infantry_hack_04.json:requirementsTooltip #: simulation/data/technologies/armor_infantryspearmen_pierce_03.json:requirementsTooltip #: simulation/data/technologies/armor_infantryspearmen_pierce_04.json:requirementsTooltip #: simulation/data/technologies/armor_ship_hullsheathing.json:requirementsTooltip #: simulation/data/technologies/armor_trade_convoys.json:requirementsTooltip #: simulation/data/technologies/attack_champions_elite.json:requirementsTooltip #: simulation/data/technologies/attack_citizensoldiers_will.json:requirementsTooltip #: simulation/data/technologies/attack_steel_working.json:requirementsTooltip #: simulation/data/technologies/gather_mining_silvermining.json:requirementsTooltip #: simulation/data/technologies/gather_mining_slaves.json:requirementsTooltip #: simulation/data/technologies/heal_range_2.json:requirementsTooltip #: simulation/data/technologies/heal_rate_2.json:requirementsTooltip #: simulation/data/technologies/heal_temple.json:requirementsTooltip #: simulation/data/technologies/health_regen_units.json:requirementsTooltip #: simulation/data/technologies/melee_inf_spearfighting.json:requirementsTooltip #: simulation/data/technologies/pop_civic_02.json:requirementsTooltip #: simulation/data/technologies/ranged_inf_skirmishers.json:requirementsTooltip #: simulation/data/technologies/siege_armor.json:requirementsTooltip #: simulation/data/technologies/siege_attack.json:requirementsTooltip #: simulation/data/technologies/siege_bolt_accuracy.json:requirementsTooltip #: simulation/data/technologies/siege_cost_metal.json:requirementsTooltip #: simulation/data/technologies/siege_cost_wood.json:requirementsTooltip #: simulation/data/technologies/siege_packing.json:requirementsTooltip #: simulation/data/technologies/training_conscription.json:requirementsTooltip #: simulation/data/technologies/training_naval_architects.json:requirementsTooltip #: simulation/data/technologies/unlock_champion_units.json:requirementsTooltip #: simulation/data/technologies/upgrade_rank_elite_cavalry.json:requirementsTooltip #: simulation/data/technologies/upgrade_rank_elite_infantry.json:requirementsTooltip #: simulation/data/technologies/carthaginians/cost_celt_mercs_2.json:requirementsTooltip #: simulation/data/technologies/carthaginians/cost_iberian_mercs_2.json:requirementsTooltip #: simulation/data/technologies/carthaginians/cost_italian_mercs_2.json:requirementsTooltip #: simulation/data/technologies/carthaginians/training_phoenician_naval_architects.json:requirementsTooltip #: simulation/data/technologies/carthaginians/traintime_celt_mercs_2.json:requirementsTooltip #: simulation/data/technologies/carthaginians/traintime_iberian_mercs_2.json:requirementsTooltip #: simulation/data/technologies/carthaginians/traintime_italian_mercs_2.json:requirementsTooltip #: simulation/data/technologies/carthaginians/upgrade_rank_elite_celts.json:requirementsTooltip #: simulation/data/technologies/carthaginians/upgrade_rank_elite_iberian.json:requirementsTooltip #: simulation/data/technologies/carthaginians/upgrade_rank_elite_italiote.json:requirementsTooltip #: simulation/data/technologies/celts/special_gather_crop_rotation.json:requirementsTooltip #: simulation/data/technologies/hellenes/attack_inf_spearfighting.json:requirementsTooltip #: simulation/data/technologies/hellenes/spartans_agoge.json:requirementsTooltip #: simulation/data/technologies/hellenes/special_iphicratean_reforms.json:requirementsTooltip #: simulation/data/technologies/hellenes/special_long_walls.json:requirementsTooltip #: simulation/data/technologies/hellenes/temp_special_hellenization.json:requirementsTooltip #: simulation/data/technologies/persians/immortals.json:requirementsTooltip #: simulation/data/technologies/persians/special_equine_transports.json:requirementsTooltip #: simulation/data/technologies/persians/training_conscription_cavalry.json:requirementsTooltip #: simulation/data/technologies/persians/training_conscription_infantry.json:requirementsTooltip #: simulation/data/technologies/romans/decay_logistics.json:requirementsTooltip #: simulation/data/technologies/successors/special_hellenistic_metropolis.json:requirementsTooltip #: simulation/data/technologies/successors/special_parade_of_daphne.json:requirementsTooltip #: simulation/data/technologies/successors/special_war_horses.json:requirementsTooltip #: simulation/data/technologies/successors/unlock_reform_army.json:requirementsTooltip #: simulation/data/technologies/successors/unlock_traditional_army.json:requirementsTooltip #: simulation/data/technologies/successors/upgrade_mace_silvershields.json:requirementsTooltip msgid "Unlocked in City Phase." msgstr "" #: simulation/data/technologies/armor_hero_01.json:specificName.ptol #: simulation/data/technologies/armor_hero_01.json:specificName.spart #: simulation/data/technologies/armor_hero_01.json:specificName.sele #: simulation/data/technologies/armor_hero_01.json:specificName.athen #: simulation/data/technologies/armor_hero_01.json:specificName.hele #: simulation/data/technologies/armor_hero_01.json:specificName.mace msgid "Sidi̱ró Panoplía" msgstr "" #: simulation/data/technologies/armor_infantry_hack_01.json:description msgid "Quilted linen or leather body armor for infantrymen." msgstr "" #: simulation/data/technologies/armor_infantry_hack_01.json:tooltip #: simulation/data/technologies/armor_infantry_hack_02.json:tooltip #: simulation/data/technologies/armor_infantry_hack_03.json:tooltip msgid "All Infantry +1 Hack Armor Level." msgstr "" #: simulation/data/technologies/armor_infantry_hack_01.json:genericName msgid "Quilted Body Armor" msgstr "" #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.pers #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.maur #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.spart #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.generic #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.athen #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.cart #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.brit #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.hele #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.celt #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.mace #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.rome #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.gaul #: simulation/data/technologies/armor_infantry_hack_01.json:specificName.iber msgid "Spolas" msgstr "" #: simulation/data/technologies/armor_infantry_hack_02.json:description msgid "Laminated linen body armor for infantrymen." msgstr "" #: simulation/data/technologies/armor_infantry_hack_02.json:genericName msgid "Laminated Linen Body Armor" msgstr "" #: simulation/data/technologies/armor_infantry_hack_02.json:specificName.ptol #: simulation/data/technologies/armor_infantry_hack_02.json:specificName.spart #: simulation/data/technologies/armor_infantry_hack_02.json:specificName.sele #: simulation/data/technologies/armor_infantry_hack_02.json:specificName.athen #: simulation/data/technologies/armor_infantry_hack_02.json:specificName.cart #: simulation/data/technologies/armor_infantry_hack_02.json:specificName.pers #: simulation/data/technologies/armor_infantry_hack_02.json:specificName.hele #: simulation/data/technologies/armor_infantry_hack_02.json:specificName.mace #: simulation/data/technologies/armor_infantry_hack_02.json:specificName.rome msgid "Linothorakes" msgstr "" #: simulation/data/technologies/armor_infantry_hack_03.json:description msgid "Body armor reinforced with bronze scales." msgstr "" #: simulation/data/technologies/armor_infantry_hack_03.json:genericName msgid "Scale Body Armor" msgstr "" #: simulation/data/technologies/armor_infantry_hack_04.json:description msgid "" "Body armor fashioned completely of bronze. Only the best soldiers were " "equipped with such body armor, as it was very expensive and time-consuming to" " fabricate." msgstr "" #: simulation/data/technologies/armor_infantry_hack_04.json:tooltip msgid "Champions +2 Hack Armor Levels, but also +10 Metal Cost." msgstr "" #: simulation/data/technologies/armor_infantry_hack_04.json:genericName msgid "Bronze Cuirass Body Armor" msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:description msgid "Plywood construction for large shields." msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:tooltip msgid "Infantry Spearmen +2 Pierce Armor Levels." msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:genericName #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.pers #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.maur #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.celt #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.cart #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.brit #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.rome #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.gaul #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.iber msgid "Plywood Shield Construction" msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.spart #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.athen #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.hele #: simulation/data/technologies/armor_infantryspearmen_pierce_01.json:specificName.mace msgid "Aspidiskè" msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_02.json:description msgid "" "The best shields have reinforcements either on the corners (Roman scutum) or " "around the rim (Greek aspis)." msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_02.json:tooltip msgid "Infantry Spearmen +1 Pierce Armor Levels." msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_02.json:genericName msgid "Reinforced Shield" msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_02.json:specificName.hele #: simulation/data/technologies/armor_infantryspearmen_pierce_02.json:specificName.mace #: simulation/data/technologies/armor_infantryspearmen_pierce_02.json:specificName.spart #: simulation/data/technologies/armor_infantryspearmen_pierce_02.json:specificName.athen msgid "Aspides" msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_03.json:description msgid "A bronze skin hammered over the face of the shield." msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_03.json:tooltip msgid "Infantry Spearmen +1 Pierce Armor Level." msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_03.json:genericName msgid "Bronze Shield Facing" msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_03.json:specificName.hele #: simulation/data/technologies/armor_infantryspearmen_pierce_03.json:specificName.spart #: simulation/data/technologies/armor_infantryspearmen_pierce_03.json:specificName.athen #: simulation/templates/units/sele_infantry_spearman_b.xml:15 msgid "Chalkaspides" msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_03.json:specificName.mace #: simulation/templates/units/sele_infantry_spearman_e.xml:22 msgid "Chrysaspides" msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_04.json:description msgid "" "Only the most celebrated soldiers had shields faced with silver, as did the " "famous 'Silver Shields' regiment in Alexander the Great's army." msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_04.json:tooltip msgid "Champions +2 Pierce Armor Levels, but also +10 Metal Cost." msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_04.json:genericName msgid "Silver Shields" msgstr "" #: simulation/data/technologies/armor_infantryspearmen_pierce_04.json:specificName.hele #: simulation/data/technologies/armor_infantryspearmen_pierce_04.json:specificName.mace #: simulation/data/technologies/armor_infantryspearmen_pierce_04.json:specificName.spart #: simulation/data/technologies/armor_infantryspearmen_pierce_04.json:specificName.athen msgid "Argyraspides" msgstr "" #: simulation/data/technologies/armor_ship_hullsheathing.json:description msgid "Lead sheathing protects ship hulls." msgstr "" #: simulation/data/technologies/armor_ship_hullsheathing.json:tooltip msgid "Lead sheathing protects ship hulls. +2 levels to all ship armor types." msgstr "" #: simulation/data/technologies/armor_ship_hullsheathing.json:genericName msgid "Lead hull sheathing" msgstr "" #: simulation/data/technologies/armor_ship_hypozomata.json:description msgid "The hypozomata braces the structure of a ship." msgstr "" #: simulation/data/technologies/armor_ship_hypozomata.json:tooltip msgid "The hypozomata braces the ship's structure. +2 levels to all ship armor types." msgstr "" #: simulation/data/technologies/armor_ship_hypozomata.json:genericName msgid "Hypozomata undergirding" msgstr "" #: simulation/data/technologies/armor_ship_reinforcedhull.json:description msgid "Wooden reinforcement beams for ship hulls." msgstr "" #: simulation/data/technologies/armor_ship_reinforcedhull.json:tooltip msgid "Wooden reinforcement beams for hulls. +2 levels to all ship armor types." msgstr "" #: simulation/data/technologies/armor_ship_reinforcedhull.json:genericName msgid "Reinforced hull" msgstr "" #: simulation/data/technologies/armor_ship_reinforcedhull.json:requirementsTooltip #: simulation/data/technologies/gather_capacity_wheelbarrow.json:requirementsTooltip #: simulation/data/technologies/gather_lumbering_ironaxes.json:requirementsTooltip #: simulation/data/technologies/health_females_01.json:requirementsTooltip #: simulation/data/technologies/pop_house_01.json:requirementsTooltip #: simulation/data/technologies/mauryans/special_archery_tradition.json:requirementsTooltip #: simulation/data/technologies/persians/special_archery_tradition.json:requirementsTooltip msgid "Unlocked in Village Phase." msgstr "" #: simulation/data/technologies/armor_trade_convoys.json:description msgid "Increases defensive capability of traders." msgstr "" #: simulation/data/technologies/armor_trade_convoys.json:tooltip msgid "Traders +2 Hack and Pierce armor levels." msgstr "" #: simulation/data/technologies/armor_trade_convoys.json:genericName msgid "Trade convoys" msgstr "" #: simulation/data/technologies/attack_cav_lance.json:description msgid "A long spear made specifically for cavalry." msgstr "" #: simulation/data/technologies/attack_cav_lance.json:tooltip msgid "Equip your melee cavalry with better weapons. Melee Cavalry +2 Hack Attack." msgstr "" #: simulation/data/technologies/attack_cav_lance.json:genericName msgid "Cavalry Lance" msgstr "" #: simulation/data/technologies/attack_cav_lance.json:specificName.ptol #: simulation/data/technologies/attack_cav_lance.json:specificName.spart #: simulation/data/technologies/attack_cav_lance.json:specificName.sele #: simulation/data/technologies/attack_cav_lance.json:specificName.athen #: simulation/data/technologies/attack_cav_lance.json:specificName.theb #: simulation/data/technologies/attack_cav_lance.json:specificName.hele #: simulation/data/technologies/attack_cav_lance.json:specificName.mace msgid "Xyston" msgstr "" #: simulation/data/technologies/attack_cav_lance.json:specificName.rome msgid "Hasta" msgstr "" #: simulation/data/technologies/attack_champions_elite.json:description msgid "Guard units have uncommon bravery and valor in battle." msgstr "" #: simulation/data/technologies/attack_champions_elite.json:tooltip msgid "Guard units have uncommon courage and valor in battle. Champions +2 attack." msgstr "" #: simulation/data/technologies/attack_champions_elite.json:genericName msgid "Heroism" msgstr "" #: simulation/data/technologies/attack_champions_elite.json:specificName.hele #: simulation/data/technologies/attack_champions_elite.json:specificName.mace #: simulation/data/technologies/attack_champions_elite.json:specificName.spart #: simulation/data/technologies/attack_champions_elite.json:specificName.athen msgid "Andreia" msgstr "" #: simulation/data/technologies/attack_champions_elite.json:specificName.rome msgid "Fortitudo" msgstr "" #: simulation/data/technologies/attack_citizensoldiers_will.json:description msgid "The will to fight is crucial to victory." msgstr "" #: simulation/data/technologies/attack_citizensoldiers_will.json:tooltip msgid "Inspire your troops with higher pay. All citizen-Soldiers +2 attack." msgstr "" #: simulation/data/technologies/attack_citizensoldiers_will.json:genericName msgid "Will to fight" msgstr "" #: simulation/data/technologies/attack_citizensoldiers_will.json:specificName.hele #: simulation/data/technologies/attack_citizensoldiers_will.json:specificName.mace #: simulation/data/technologies/attack_citizensoldiers_will.json:specificName.spart #: simulation/data/technologies/attack_citizensoldiers_will.json:specificName.athen msgid "Dynamis" msgstr "" #: simulation/data/technologies/attack_steel_working.json:description msgid "" "Secret steel working techniques give sword blades distinctive and beautiful " "markings. Not only that, but the steel's hardness is unparalleled." msgstr "" #: simulation/data/technologies/attack_steel_working.json:tooltip msgid "+2 attack for all sword units." msgstr "" #: simulation/data/technologies/attack_steel_working.json:genericName msgid "Steel Working" msgstr "" #: simulation/data/technologies/attack_steel_working.json:specificName.maur msgid "Wootz Steel" msgstr "" #: simulation/data/technologies/attack_steel_working.json:specificName.iber msgid "Toledo Steel" msgstr "" #: simulation/data/technologies/attack_tower_crenellations.json:description msgid "" "Crenellations on the battlements allow soldiers wider range of fire in " "defending a keep." msgstr "" #: simulation/data/technologies/attack_tower_crenellations.json:tooltip msgid "" "Install crenellations and murder holes to have 40% more arrows fired per " "garrisoned soldier." msgstr "" #: simulation/data/technologies/attack_tower_crenellations.json:genericName msgid "Crenellations" msgstr "" #: simulation/data/technologies/attack_tower_watch.json:description msgid "A night's watch increases vigilance." msgstr "" #: simulation/data/technologies/attack_tower_watch.json:tooltip msgid "Post sentries to double the number of default arrows in ungarrisoned Towers." msgstr "" #: simulation/data/technologies/attack_tower_watch.json:genericName msgid "Sentries" msgstr "" #: simulation/data/technologies/attack_tower_watch.json:specificName.ptol #: simulation/data/technologies/attack_tower_watch.json:specificName.spart #: simulation/data/technologies/attack_tower_watch.json:specificName.sele #: simulation/data/technologies/attack_tower_watch.json:specificName.athen #: simulation/data/technologies/attack_tower_watch.json:specificName.hele #: simulation/data/technologies/attack_tower_watch.json:specificName.mace msgid "Nyktophylakes" msgstr "" #: simulation/data/technologies/attack_tower_watch.json:specificName.rome msgid "Vigiles" msgstr "" #: simulation/data/technologies/buildtime_walls_rubble.json:description msgid "Using rubble materials reduces the costs and build times of walls." msgstr "" #: simulation/data/technologies/buildtime_walls_rubble.json:tooltip msgid "City walls -20% build time, but -1 crush armor level." msgstr "" #: simulation/data/technologies/buildtime_walls_rubble.json:genericName msgid "Rubble Materials" msgstr "" #: simulation/data/technologies/decay_outpost.json:description msgid "Outposts survive twice as long in neutral territory." msgstr "" #: simulation/data/technologies/decay_outpost.json:tooltip msgid "Territory decay -50% for Outposts." msgstr "" #: simulation/data/technologies/decay_outpost.json:genericName msgid "Stone Foundations" msgstr "" #: simulation/data/technologies/gather_animals_stockbreeding.json:description msgid "Breeding livestock for food." msgstr "" #: simulation/data/technologies/gather_animals_stockbreeding.json:tooltip msgid "Breed time -25% for domestic animals (sheep, goats, cattle, etc.)." msgstr "" #: simulation/data/technologies/gather_animals_stockbreeding.json:genericName msgid "Stockbreeding" msgstr "" #: simulation/data/technologies/gather_capacity_wheelbarrow.json:description msgid "Increases shuttling capacity for all resources." msgstr "" #: simulation/data/technologies/gather_capacity_wheelbarrow.json:tooltip msgid "Workers use wheelbarrows. +5 shuttle capacity for all resources." msgstr "" #: simulation/data/technologies/gather_capacity_wheelbarrow.json:genericName msgid "Wheelbarrow" msgstr "" #: simulation/data/technologies/gather_farming_plows.json:description msgid "A horse drawn instrument to turn the sod." msgstr "" #: simulation/data/technologies/gather_farming_plows.json:tooltip msgid "Equip your workers with iron plows. +25% farming rate." msgstr "" #: simulation/data/technologies/gather_farming_plows.json:genericName msgid "Iron Plow" msgstr "" #: simulation/data/technologies/gather_lumbering_ironaxes.json:description msgid "Increases wood gathering rates for trees." msgstr "" #: simulation/data/technologies/gather_lumbering_ironaxes.json:tooltip msgid "Workers +25% lumbering rate for trees." msgstr "" #: simulation/data/technologies/gather_lumbering_ironaxes.json:genericName msgid "Iron Ax Heads" msgstr "" #: simulation/data/technologies/gather_mining_serfs.json:description #: simulation/data/technologies/gather_mining_servants.json:description #: simulation/data/technologies/gather_mining_slaves.json:description msgid "Increases stone gathering rates." msgstr "" #: simulation/data/technologies/gather_mining_serfs.json:tooltip msgid "Compel serfs to help your workers mine stone. +25% stone gathering rate." msgstr "" #: simulation/data/technologies/gather_mining_serfs.json:genericName msgid "Serfs" msgstr "" #: simulation/data/technologies/gather_mining_serfs.json:specificName.hele #: simulation/data/technologies/gather_mining_serfs.json:specificName.mace #: simulation/data/technologies/gather_mining_serfs.json:specificName.spart #: simulation/data/technologies/gather_mining_serfs.json:specificName.athen msgid "Heilotes" msgstr "" #: simulation/data/technologies/gather_mining_servants.json:tooltip msgid "+25% stone gathering rate." msgstr "" #: simulation/data/technologies/gather_mining_servants.json:genericName msgid "Servants" msgstr "" #: simulation/data/technologies/gather_mining_servants.json:requirementsTooltip msgid "Hire servants to help mine stone. No requirements." msgstr "" #: simulation/data/technologies/gather_mining_servants.json:specificName.hele #: simulation/data/technologies/gather_mining_servants.json:specificName.mace #: simulation/data/technologies/gather_mining_servants.json:specificName.spart #: simulation/data/technologies/gather_mining_servants.json:specificName.athen msgid "Douloi" msgstr "" #: simulation/data/technologies/gather_mining_shaftmining.json:description #: simulation/data/technologies/gather_mining_silvermining.json:description #: simulation/data/technologies/gather_mining_wedgemallet.json:description msgid "Increases metal gathering rates." msgstr "" #: simulation/data/technologies/gather_mining_shaftmining.json:tooltip msgid "Develop shaft mining. +25% metal gathering rate." msgstr "" #: simulation/data/technologies/gather_mining_shaftmining.json:genericName msgid "Shaft Mining" msgstr "" #: simulation/data/technologies/gather_mining_silvermining.json:tooltip msgid "Strike a vein of precious silver. +25% metal gathering rate." msgstr "" #: simulation/data/technologies/gather_mining_silvermining.json:genericName msgid "Silver Mining" msgstr "" #: simulation/data/technologies/gather_mining_silvermining.json:specificName.mace msgid "Mines of Krenides" msgstr "" #: simulation/data/technologies/gather_mining_silvermining.json:specificName.athen msgid "Mines of Laureion" msgstr "" #: simulation/data/technologies/gather_mining_slaves.json:tooltip msgid "Buy slaves to help your workers mine for stone. +25% stone gathering rate." msgstr "" #: simulation/data/technologies/gather_mining_slaves.json:genericName msgid "Slaves" msgstr "" #: simulation/data/technologies/gather_mining_slaves.json:specificName.hele #: simulation/data/technologies/gather_mining_slaves.json:specificName.mace #: simulation/data/technologies/gather_mining_slaves.json:specificName.spart #: simulation/data/technologies/gather_mining_slaves.json:specificName.athen msgid "Andrapodon" msgstr "" #: simulation/data/technologies/gather_mining_wedgemallet.json:tooltip msgid "+25% metal gathering rate." msgstr "" #: simulation/data/technologies/gather_mining_wedgemallet.json:genericName msgid "Wedge and Mallet" msgstr "" #: simulation/data/technologies/gather_mining_wedgemallet.json:requirementsTooltip msgid "Equip your workers with helpful tools. No requirements." msgstr "" #: simulation/data/technologies/gather_wicker_baskets.json:description msgid "Baskets to carry foraged food stuffs." msgstr "" #: simulation/data/technologies/gather_wicker_baskets.json:tooltip msgid "Equip your foragers with wicker baskets. +50% fruit foraging rate." msgstr "" #: simulation/data/technologies/gather_wicker_baskets.json:genericName msgid "Wicker Baskets" msgstr "" #: simulation/data/technologies/heal_range.json:description #: simulation/data/technologies/heal_range_2.json:description msgid "Increases the healing range of all healers." msgstr "" #: simulation/data/technologies/heal_range.json:tooltip #: simulation/data/technologies/heal_range_2.json:tooltip msgid "Healers +4 Healing Range." msgstr "" #: simulation/data/technologies/heal_range.json:genericName msgid "Healing Range" msgstr "" #: simulation/data/technologies/heal_range.json:specificName.hele #: simulation/data/technologies/heal_range.json:specificName.mace #: simulation/data/technologies/heal_range.json:specificName.spart #: simulation/data/technologies/heal_range.json:specificName.athen msgid "Olympic Pantheon" msgstr "" #: simulation/data/technologies/heal_range_2.json:genericName msgid "Healing Range 2" msgstr "" #: simulation/data/technologies/heal_range_2.json:specificName.hele #: simulation/data/technologies/heal_range_2.json:specificName.mace #: simulation/data/technologies/heal_range_2.json:specificName.spart #: simulation/data/technologies/heal_range_2.json:specificName.athen msgid "Akademia" msgstr "" #: simulation/data/technologies/heal_rate.json:description #: simulation/data/technologies/heal_rate_2.json:description msgid "Increases the Healing Rate of all healers." msgstr "" #: simulation/data/technologies/heal_rate.json:tooltip #: simulation/data/technologies/heal_rate_2.json:tooltip msgid "Healers +25% healing rate." msgstr "" #: simulation/data/technologies/heal_rate.json:genericName msgid "Healing Rate" msgstr "" #: simulation/data/technologies/heal_rate.json:specificName.hele #: simulation/data/technologies/heal_rate.json:specificName.mace #: simulation/data/technologies/heal_rate.json:specificName.spart #: simulation/data/technologies/heal_rate.json:specificName.athen msgid "Sphagia" msgstr "" #: simulation/data/technologies/heal_rate_2.json:genericName msgid "Healing Rate 2" msgstr "" #: simulation/data/technologies/heal_rate_2.json:specificName.hele #: simulation/data/technologies/heal_rate_2.json:specificName.mace #: simulation/data/technologies/heal_rate_2.json:specificName.spart #: simulation/data/technologies/heal_rate_2.json:specificName.athen msgid "Hippocratic Oath" msgstr "" #: simulation/data/technologies/heal_temple.json:description msgid "Units garrisoned in a temple are healed faster." msgstr "" #: simulation/data/technologies/heal_temple.json:tooltip msgid "Temples +50% garrisoned healing rate." msgstr "" #: simulation/data/technologies/heal_temple.json:genericName msgid "Divine Offerings" msgstr "" #: simulation/data/technologies/heal_temple.json:specificName.hele #: simulation/data/technologies/heal_temple.json:specificName.mace #: simulation/data/technologies/heal_temple.json:specificName.spart msgid "Olympic Games" msgstr "" #: simulation/data/technologies/heal_temple.json:specificName.athen msgid "Eleusian Mysteries" msgstr "" #: simulation/data/technologies/health_females_01.json:description msgid "" "The Loom allowed the creation of finer clothing to clothe citizens in the " "settlement. Women of the household were taught from a young age how to weave " "on the loom, and subsequently spent a large share of their lives working " "with it." msgstr "" #: simulation/data/technologies/health_females_01.json:tooltip msgid "Female Citizens +50% Health." msgstr "" #: simulation/data/technologies/health_females_01.json:genericName msgid "The Loom" msgstr "" #: simulation/data/technologies/health_regen_units.json:description msgid "Unlock health regeneration for your units." msgstr "" #: simulation/data/technologies/health_regen_units.json:tooltip msgid "Organic units will slowly regenerate health over time when idle." msgstr "" #: simulation/data/technologies/health_regen_units.json:genericName msgid "Battlefield Medicine" msgstr "" #: simulation/data/technologies/health_walls_geometric_masonry.json:description msgid "Using geometric masonry increases the sturdiness of defensive walls." msgstr "" #: simulation/data/technologies/health_walls_geometric_masonry.json:tooltip msgid "City walls +2 crush armor levels, but +10% build time." msgstr "" #: simulation/data/technologies/health_walls_geometric_masonry.json:genericName msgid "Geometric Masonry" msgstr "" #: simulation/data/technologies/melee_inf_spearfighting.json:description msgid "Using iron instead of bronze gave spears additional piercing power." msgstr "" #: simulation/data/technologies/melee_inf_spearfighting.json:tooltip msgid "All Spear units +2 hack attack." msgstr "" #: simulation/data/technologies/melee_inf_spearfighting.json:genericName msgid "Iron Spearheads" msgstr "" #: simulation/data/technologies/melee_inf_spearfighting.json:specificName.ptol #: simulation/data/technologies/melee_inf_spearfighting.json:specificName.spart #: simulation/data/technologies/melee_inf_spearfighting.json:specificName.sele #: simulation/data/technologies/melee_inf_spearfighting.json:specificName.theb #: simulation/data/technologies/melee_inf_spearfighting.json:specificName.athen #: simulation/data/technologies/melee_inf_spearfighting.json:specificName.hele #: simulation/data/technologies/melee_inf_spearfighting.json:specificName.mace msgid "Siderénies Aichmés" msgstr "" #: simulation/data/technologies/melee_inf_training.json:description msgid "Training increases damage of melee infantry units." msgstr "" #: simulation/data/technologies/melee_inf_training.json:tooltip msgid "Melee infantry +1 hack attack." msgstr "" #: simulation/data/technologies/melee_inf_training.json:genericName msgid "Weapons Training" msgstr "" #: simulation/data/technologies/melee_inf_training.json:specificName.hele #: simulation/data/technologies/melee_inf_training.json:specificName.mace #: simulation/data/technologies/melee_inf_training.json:specificName.spart #: simulation/data/technologies/melee_inf_training.json:specificName.theb #: simulation/data/technologies/melee_inf_training.json:specificName.athen msgid "Hoplomachia" msgstr "" #: simulation/data/technologies/pair_cav_01.json:genericName msgid "Lance vs. Chamfron" msgstr "" #: simulation/data/technologies/pair_champ_02.json:genericName msgid "Champions vs. Part-timers" msgstr "" #: simulation/data/technologies/pair_gather_01.json:genericName msgid "Servants vs. Wedge and Mallet" msgstr "" #: simulation/data/technologies/pair_gather_02.json:genericName msgid "Serfs vs. Shaft Mining" msgstr "" #: simulation/data/technologies/pair_gather_03.json:genericName msgid "Slaves vs. Silver Mining" msgstr "" #: simulation/data/technologies/pair_gather_wood_01.json:genericName msgid "Iron Axes vs. Wheelbarrow" msgstr "" #: simulation/data/technologies/pair_heal_01.json:genericName msgid "Heal Range and Rate" msgstr "" #: simulation/data/technologies/pair_heal_02.json:genericName msgid "Heal Range and Rate #2" msgstr "" #: simulation/data/technologies/pair_heal_03.json:genericName msgid "Garrison Healing vs. Self-Healing" msgstr "" #: simulation/data/technologies/pair_house_01.json:genericName #: simulation/data/technologies/pair_house_02.json:genericName msgid "Females vs. Population" msgstr "" #: simulation/data/technologies/pair_inf_01.json:genericName msgid "Training vs. Irregulars" msgstr "" #: simulation/data/technologies/pair_inf_02.json:genericName msgid "Spear Fighting vs. Skirmishing" msgstr "" #: simulation/data/technologies/pair_inf_armor_01.json:genericName #: simulation/data/technologies/pair_inf_armor_02.json:genericName #: simulation/data/technologies/pair_inf_armor_03.json:genericName #: simulation/data/technologies/pair_inf_armor_04.json:genericName msgid "Infantry Hack Armor vs. Spearmen Pierce Armor" msgstr "" #: simulation/data/technologies/pair_levy_01.json:genericName msgid "Levy Infantry vs. Levy Cavalry" msgstr "" #: simulation/data/technologies/pair_siege_attack_cost.json:genericName msgid "Attack vs. Cost" msgstr "" #: simulation/data/technologies/pair_siege_attack_pack.json:genericName msgid "Attack vs. Packing" msgstr "" #: simulation/data/technologies/pair_siege_cost_armor.json:genericName msgid "Cost vs. Armor" msgstr "" #: simulation/data/technologies/pair_tower_01.json:genericName msgid "Night's Watch vs. Crenellations" msgstr "" #: simulation/data/technologies/pair_walls_01.json:genericName msgid "Walls build time vs. Health" msgstr "" #: simulation/data/technologies/phase_city.json:genericName #: simulation/data/technologies/phase_city_athen.json:genericName #: simulation/data/technologies/phase_city_generic.json:genericName msgid "City Phase" msgstr "" #: simulation/data/technologies/phase_city_athen.json:description msgid "" "Advances from a bustling town to a veritable metropolis, full of the wonders " "of modern technology. This is the Athenian city phase, where metal gathering " "rates are boosted because of the 'Silver Owls' bonus." msgstr "" #: simulation/data/technologies/phase_city_athen.json:tooltip msgid "" "Advance to City Phase, which unlocks more structures and units. Territory " "radius for Civic Centers increased by another +50%. Silver Owls civ bonus " "grants an extra +10% metal gather rate to all workers." msgstr "" #: simulation/data/technologies/phase_city_athen.json:requirementsTooltip #: simulation/data/technologies/phase_city_britons.json:requirementsTooltip #: simulation/data/technologies/phase_city_gauls.json:requirementsTooltip #: simulation/data/technologies/phase_city_generic.json:requirementsTooltip msgid "Requires 4 new Town Phase structures (except Walls and Civic Centers)." msgstr "" #: simulation/data/technologies/phase_city_athen.json:specificName.athen #: simulation/data/technologies/phase_city_generic.json:specificName.hele #: simulation/data/technologies/phase_city_generic.json:specificName.mace #: simulation/data/technologies/phase_city_generic.json:specificName.spart #: simulation/data/technologies/phase_city_generic.json:specificName.athen msgid "Megalopolis" msgstr "" #: simulation/data/technologies/phase_city_britons.json:description #: simulation/data/technologies/phase_city_gauls.json:description msgid "Advance from a bustling town to large city." msgstr "" #: simulation/data/technologies/phase_city_britons.json:tooltip msgid "" "Advance to City Phase, which unlocks Brythonic structures and units. " "Territory radius for Civic Centers increased by another +50%" msgstr "" #: simulation/data/technologies/phase_city_britons.json:genericName msgid "City Phase - Britons" msgstr "" #: simulation/data/technologies/phase_city_gauls.json:tooltip msgid "" "Advance to City Phase, which unlocks Gallic structures and units. Territory " "radius for Civilization Centers increased by another +50%" msgstr "" #: simulation/data/technologies/phase_city_gauls.json:genericName msgid "City Phase - Gauls" msgstr "" #: simulation/data/technologies/phase_city_generic.json:description msgid "" "Advances from a bustling town to a veritable metropolis, full of the wonders " "of modern technology." msgstr "" #: simulation/data/technologies/phase_city_generic.json:tooltip msgid "" "Advance to City Phase, which unlocks more structures and units. Territory " "radius for Civic Centers increased by another +50%" msgstr "" #: simulation/data/technologies/phase_city_pair_celts.json:genericName msgid "Britons vs. Gauls" msgstr "" #: simulation/data/technologies/phase_town.json:genericName #: simulation/data/technologies/phase_town_athen.json:genericName #: simulation/data/technologies/phase_town_generic.json:genericName msgid "Town Phase" msgstr "" #: simulation/data/technologies/phase_town_athen.json:description msgid "" "Advances from a bustling town to a veritable metropolis, full of the wonders " "of modern technology. This is the Athenian city phase, where metal gathering " "rates are boosted because of the Silver Owls bonus." msgstr "" #: simulation/data/technologies/phase_town_athen.json:tooltip msgid "" "Advance to Town Phase, which unlocks more structures and units. Territory " "radius for Civic Centers increased by +30%. 'Silver Owls' civ bonus grants an" " extra +10% metal gather rate to all workers." msgstr "" #: simulation/data/technologies/phase_town_athen.json:requirementsTooltip #: simulation/data/technologies/phase_town_generic.json:requirementsTooltip msgid "Requires 5 Village Phase structures (except Palisades and Farm Fields)." msgstr "" #: simulation/data/technologies/phase_town_athen.json:specificName.athen #: simulation/data/technologies/phase_town_generic.json:specificName.hele #: simulation/data/technologies/phase_town_generic.json:specificName.mace #: simulation/data/technologies/phase_town_generic.json:specificName.athen #: simulation/data/technologies/phase_town_generic.json:specificName.theb #: simulation/data/technologies/phase_town_generic.json:specificName.spart msgid "Komópolis" msgstr "" #: simulation/data/technologies/phase_town_generic.json:description msgid "Advances from a small village to a bustling town, ready to expand rapidly." msgstr "" #: simulation/data/technologies/phase_town_generic.json:tooltip msgid "" "Advance to Town Phase, which unlocks more structures and units. Territory " "radius for Civic Centers increased by +30%" msgstr "" #: simulation/data/technologies/phase_village.json:genericName msgid "Village Phase" msgstr "" #: simulation/data/technologies/pop_civic_01.json:description msgid "" "The state or tribe would often construct a dining hall for public feasts or " "to receive foreign emissaries." msgstr "" #: simulation/data/technologies/pop_civic_01.json:tooltip #: simulation/data/technologies/pop_civic_02.json:tooltip msgid "Civic Centers +5 population cap bonus." msgstr "" #: simulation/data/technologies/pop_civic_01.json:genericName msgid "Dining Hall" msgstr "" #: simulation/data/technologies/pop_civic_01.json:specificName.athen msgid "Tholos" msgstr "" #: simulation/data/technologies/pop_civic_02.json:description msgid "" "Public assembly places were often the center of civic life for ancient " "societies. Athens had the Ekklesia, the citizens' assembly which met on the " "Pnyx Hill near the agora in full view of the Acropolis. The Romans had an " "open-aired assembly place in the great Forum Romanum called the Comitium. " "Here citizens could air grievances and present petitions to the patrician " "politicians who ruled their city in the Senate." msgstr "" #: simulation/data/technologies/pop_civic_02.json:genericName msgid "Public Assembly" msgstr "" #: simulation/data/technologies/pop_civic_02.json:specificName.rome msgid "Comitium" msgstr "" #: simulation/data/technologies/pop_civic_02.json:specificName.athen msgid "Ekklesia" msgstr "" #: simulation/data/technologies/pop_house_01.json:description msgid "" "Home gardens ranged from simple fenced-in areas to large manicured and " "colonnaded enclosures." msgstr "" #: simulation/data/technologies/pop_house_01.json:tooltip msgid "Houses +1 population cap bonus." msgstr "" #: simulation/data/technologies/pop_house_01.json:genericName msgid "Home Garden" msgstr "" #: simulation/data/technologies/pop_house_01.json:specificName.ptol #: simulation/data/technologies/pop_house_01.json:specificName.spart #: simulation/data/technologies/pop_house_01.json:specificName.sele #: simulation/data/technologies/pop_house_01.json:specificName.athen #: simulation/data/technologies/pop_house_01.json:specificName.hele #: simulation/data/technologies/pop_house_01.json:specificName.mace #: simulation/data/technologies/pop_house_01.json:specificName.rome msgid "Peristyle" msgstr "" #: simulation/data/technologies/pop_house_01.json:specificName.pers msgid "Paradise" msgstr "" #: simulation/data/technologies/pop_house_02.json:description msgid "Homes tended to expand as the wealth and population of a settlement grew." msgstr "" #: simulation/data/technologies/pop_house_02.json:tooltip msgid "Houses +2 population cap bonus." msgstr "" #: simulation/data/technologies/pop_house_02.json:genericName msgid "Manors" msgstr "" #: simulation/data/technologies/pop_house_02.json:specificName.rome msgid "Insulae" msgstr "" #: simulation/data/technologies/ranged_inf_irregulars.json:description msgid "Training increases damage of ranged infantry units." msgstr "" #: simulation/data/technologies/ranged_inf_irregulars.json:tooltip msgid "Ranged infantry +2 pierce attack." msgstr "" #: simulation/data/technologies/ranged_inf_irregulars.json:genericName msgid "Ranged Infantry Irregulars" msgstr "" #: simulation/data/technologies/ranged_inf_irregulars.json:specificName.hele #: simulation/data/technologies/ranged_inf_irregulars.json:specificName.mace #: simulation/data/technologies/ranged_inf_irregulars.json:specificName.spart #: simulation/data/technologies/ranged_inf_irregulars.json:specificName.theb #: simulation/data/technologies/ranged_inf_irregulars.json:specificName.athen msgid "Psiloi" msgstr "" #: simulation/data/technologies/ranged_inf_skirmishers.json:description msgid "" "The javelin thong (the Greeks also called them loops, or bronkhos) increased " "the fulcrum action of the throwing arm mid-throw, increasing speed and range " "of the javelin." msgstr "" #: simulation/data/technologies/ranged_inf_skirmishers.json:tooltip msgid "All Javelin units +2 pierce attack and +4 range." msgstr "" #: simulation/data/technologies/ranged_inf_skirmishers.json:genericName msgid "Javelin Thong" msgstr "" #: simulation/data/technologies/ranged_inf_skirmishers.json:specificName.ptol #: simulation/data/technologies/ranged_inf_skirmishers.json:specificName.spart #: simulation/data/technologies/ranged_inf_skirmishers.json:specificName.sele #: simulation/data/technologies/ranged_inf_skirmishers.json:specificName.theb #: simulation/data/technologies/ranged_inf_skirmishers.json:specificName.athen #: simulation/data/technologies/ranged_inf_skirmishers.json:specificName.hele #: simulation/data/technologies/ranged_inf_skirmishers.json:specificName.mace msgid "Ankyle" msgstr "" #: simulation/data/technologies/ranged_inf_skirmishers.json:specificName.rome msgid "Amentum" msgstr "" #: simulation/data/technologies/siege_armor.json:description msgid "Increased armor on siege weapons" msgstr "" #: simulation/data/technologies/siege_armor.json:tooltip msgid "All Siege weapons +2 Hack armor levels." msgstr "" #: simulation/data/technologies/siege_armor.json:genericName msgid "Armor plating" msgstr "" #: simulation/data/technologies/siege_attack.json:description msgid "Advanced technologies improve siege efficiency" msgstr "" #: simulation/data/technologies/siege_attack.json:tooltip msgid "All siege weapons +5 Crush damage." msgstr "" #: simulation/data/technologies/siege_attack.json:genericName msgid "Advanced Siege" msgstr "" #: simulation/data/technologies/siege_bolt_accuracy.json:description msgid "Improvement to projectile accuracy" msgstr "" #: simulation/data/technologies/siege_bolt_accuracy.json:tooltip msgid "Bolt shooter accuracy increased 25%" msgstr "" #: simulation/data/technologies/siege_bolt_accuracy.json:genericName msgid "Bolt Accuracy" msgstr "" #: simulation/data/technologies/siege_cost_metal.json:description msgid "Siege weapons require less metal resource" msgstr "" #: simulation/data/technologies/siege_cost_metal.json:tooltip msgid "Siege weapons cost 20% less metal" msgstr "" #: simulation/data/technologies/siege_cost_metal.json:genericName msgid "Metalworker" msgstr "" #: simulation/data/technologies/siege_cost_wood.json:description msgid "Siege weapons cost less wood" msgstr "" #: simulation/data/technologies/siege_cost_wood.json:tooltip msgid "Siege weapons cost 20% less wood" msgstr "" #: simulation/data/technologies/siege_cost_wood.json:genericName msgid "Artillery Instructors" msgstr "" #: simulation/data/technologies/siege_packing.json:description msgid "Immobile siege weapons are assembled and disassembled faster" msgstr "" #: simulation/data/technologies/siege_packing.json:tooltip msgid "Immobile siege weapons pack/unpack 25% faster" msgstr "" #: simulation/data/technologies/siege_packing.json:genericName msgid "Military Engineers" msgstr "" #: simulation/data/technologies/speed_trader_01.json:description msgid "Increases movement rate of traders, which in turn increases trade income." msgstr "" #: simulation/data/technologies/speed_trader_01.json:tooltip msgid "Traders +25% Walk Speed, which quickly increases trade income." msgstr "" #: simulation/data/technologies/speed_trader_01.json:genericName msgid "Trade Convoys" msgstr "" #: simulation/data/technologies/training_conscription.json:description #: simulation/data/technologies/persians/training_conscription_infantry.json:description msgid "" "Significantly increase training speed of soldiers at the barracks by training" " them in large batches or battalions." msgstr "" #: simulation/data/technologies/training_conscription.json:tooltip #: simulation/data/technologies/persians/training_conscription_infantry.json:tooltip msgid "Faster batch training speed for the Barracks." msgstr "" #: simulation/data/technologies/training_conscription.json:genericName msgid "Conscription" msgstr "" #: simulation/data/technologies/training_levy_cavalry.json:description #: simulation/data/technologies/persians/training_levy_cavalry.json:description msgid "" "Calling up cavalry levies in time of war helps bolster the ranks of a king's " "army." msgstr "" #: simulation/data/technologies/training_levy_cavalry.json:tooltip msgid "All cavalry -20% train time, but also -10 health. Unlocks Conscription." msgstr "" #: simulation/data/technologies/training_levy_cavalry.json:genericName #: simulation/data/technologies/persians/training_levy_cavalry.json:genericName msgid "Levy Cavalry" msgstr "" #: simulation/data/technologies/training_levy_infantry.json:description #: simulation/data/technologies/persians/training_levy_infantry.json:description msgid "" "Calling up infantry levies in time of war helps bolster the ranks of a king's" " army." msgstr "" #: simulation/data/technologies/training_levy_infantry.json:tooltip msgid "All infantry -10% train time, but also -5 health. Unlocks Conscription." msgstr "" #: simulation/data/technologies/training_levy_infantry.json:genericName #: simulation/data/technologies/persians/training_levy_infantry.json:genericName msgid "Levy Infantry" msgstr "" #: simulation/data/technologies/training_naval_architects.json:description msgid "Significantly increase build speed of batches of ships at the Dock." msgstr "" #: simulation/data/technologies/training_naval_architects.json:tooltip msgid "Docks increased batch construction speed bonus." msgstr "" #: simulation/data/technologies/training_naval_architects.json:genericName msgid "Naval Architects" msgstr "" #: simulation/data/technologies/unlock_champion_units.json:description msgid "" "Guard units (Champions) are professionals who wield the best weapons and have" " the best training." msgstr "" #: simulation/data/technologies/unlock_champion_units.json:tooltip msgid "Unlock the ability to train Champions at the barracks." msgstr "" #: simulation/data/technologies/unlock_champion_units.json:genericName msgid "Unlock Champion Units" msgstr "" #: simulation/data/technologies/unlock_champion_units.json:specificName.hele #: simulation/data/technologies/unlock_champion_units.json:specificName.mace #: simulation/data/technologies/unlock_champion_units.json:specificName.spart #: simulation/data/technologies/unlock_champion_units.json:specificName.athen msgid "Agèma" msgstr "" #: simulation/data/technologies/unlock_champion_units.json:specificName.rome msgid "Regio Cohors" msgstr "" #: simulation/data/technologies/unlock_females_house.json:description msgid "A festival attended by women-only, to celebrate female fertility." msgstr "" #: simulation/data/technologies/unlock_females_house.json:tooltip msgid "Unlock the ability to train women from houses." msgstr "" #: simulation/data/technologies/unlock_females_house.json:genericName msgid "Fertility Festival" msgstr "" #: simulation/data/technologies/unlock_females_house.json:specificName.hele #: simulation/data/technologies/unlock_females_house.json:specificName.mace #: simulation/data/technologies/unlock_females_house.json:specificName.spart #: simulation/data/technologies/unlock_females_house.json:specificName.athen msgid "Thesmophoria" msgstr "" #: simulation/data/technologies/upgrade_rank_advanced_cavalry.json:description #: simulation/data/technologies/upgrade_rank_elite_cavalry.json:description msgid "Promote all of your citizen-soldier cavalrymen to Advanced rank." msgstr "" #: simulation/data/technologies/upgrade_rank_advanced_cavalry.json:tooltip msgid "" "Promote all of your citizen-soldier cavalrymen to Advanced rank. This " "increases their military prowess, but decreases their meat gathering rates " "-25%. Unlocks Elite Citizen-Cavalry technology." msgstr "" #: simulation/data/technologies/upgrade_rank_advanced_cavalry.json:genericName msgid "Advanced Citizen-Cavalry" msgstr "" #: simulation/data/technologies/upgrade_rank_advanced_infantry.json:description msgid "Upgrade all of your citizen-soldier infantrymen to Advanced rank." msgstr "" #: simulation/data/technologies/upgrade_rank_advanced_infantry.json:tooltip msgid "" "Upgrade all of your citizen-soldier infantrymen to Advanced rank. This " "increases their military prowess, but decreases their resource gathering " "rates -25%. Unlocks Elite Citizen-Infantry technology." msgstr "" #: simulation/data/technologies/upgrade_rank_advanced_infantry.json:genericName msgid "Advanced Citizen-Infantry" msgstr "" #: simulation/data/technologies/upgrade_rank_advanced_infantry.json:specificName.hele #: simulation/data/technologies/upgrade_rank_advanced_infantry.json:specificName.mace #: simulation/data/technologies/upgrade_rank_advanced_infantry.json:specificName.spart #: simulation/data/technologies/upgrade_rank_advanced_infantry.json:specificName.athen msgid "Metikoi" msgstr "" #: simulation/data/technologies/upgrade_rank_elite_cavalry.json:tooltip msgid "" "Promote all of your citizen-soldier cavalrymen to Elite rank. This increases " "their military prowess, but decreases their meat gathering rates another " "-25%." msgstr "" #: simulation/data/technologies/upgrade_rank_elite_cavalry.json:genericName msgid "Elite Citizen-Cavalry" msgstr "" #: simulation/data/technologies/upgrade_rank_elite_infantry.json:description msgid "Upgrade all of your citizen-soldier infantrymen to Elite rank." msgstr "" #: simulation/data/technologies/upgrade_rank_elite_infantry.json:tooltip msgid "" "Upgrade all of your citizen-soldier infantrymen to Elite rank. This increases" " their military prowess, but decreases their resource gathering rates another" " -25%." msgstr "" #: simulation/data/technologies/upgrade_rank_elite_infantry.json:genericName msgid "Elite Citizen-Infantry" msgstr "" #: simulation/data/technologies/upgrade_rank_elite_infantry.json:specificName.hele #: simulation/data/technologies/upgrade_rank_elite_infantry.json:specificName.mace #: simulation/data/technologies/upgrade_rank_elite_infantry.json:specificName.spart #: simulation/data/technologies/upgrade_rank_elite_infantry.json:specificName.athen msgid "Zeugites" msgstr "" #: simulation/data/technologies/vision_outpost.json:description msgid "Outposts gain longer vision for scouting." msgstr "" #: simulation/data/technologies/vision_outpost.json:tooltip msgid "Vision Range +50% for Outposts." msgstr "" #: simulation/data/technologies/vision_outpost.json:genericName msgid "Carrier Pigeons" msgstr "" #: simulation/data/technologies/carthaginians/civbonus_triple_walls.json:description msgid "" "Carthaginians built their city walls in three concentric circuits. These " "walls were never breached. Even when the city was taken by the Romans, it was" " via the city's harbor, not by storming its walls. Consequently, Carthaginian" " walls, gates, and wall towers have 3x the health of a standard wall, but " "also cost twice as much and take twice as long to build." msgstr "" #: simulation/data/technologies/carthaginians/cost_celt_mercs.json:description #: simulation/data/technologies/carthaginians/cost_celt_mercs_2.json:description msgid "Celtic mercenaries have their metal cost decreased." msgstr "" #: simulation/data/technologies/carthaginians/cost_celt_mercs.json:tooltip msgid "" "Hire a Celtic mercenary captain to reduce cost -20 metal for Celtic " "mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/cost_celt_mercs.json:genericName msgid "Celtic Mercenary Captain" msgstr "" #: simulation/data/technologies/carthaginians/cost_celt_mercs_2.json:tooltip msgid "" "Hire a Gallic mercenary general to reduce cost -20 metal for Celtic " "mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/cost_celt_mercs_2.json:genericName msgid "Gallic Mercenary General" msgstr "" #: simulation/data/technologies/carthaginians/cost_iberian_mercs.json:description #: simulation/data/technologies/carthaginians/cost_iberian_mercs_2.json:description msgid "Iberian mercenaries have their metal cost decreased." msgstr "" #: simulation/data/technologies/carthaginians/cost_iberian_mercs.json:tooltip msgid "" "Hire a Lusitanian mercenary captain to reduce cost -20 metal for Iberian " "mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/cost_iberian_mercs.json:genericName msgid "Lusitanian Mercenary Captain" msgstr "" #: simulation/data/technologies/carthaginians/cost_iberian_mercs_2.json:tooltip msgid "" "Hire a Celtiberian mercenary general to reduce cost -20 metal for Iberian " "mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/cost_iberian_mercs_2.json:genericName msgid "Celtiberian Mercenary General" msgstr "" #: simulation/data/technologies/carthaginians/cost_italian_mercs.json:description #: simulation/data/technologies/carthaginians/cost_italian_mercs_2.json:description msgid "Italian mercenaries have their metal cost decreased." msgstr "" #: simulation/data/technologies/carthaginians/cost_italian_mercs.json:tooltip msgid "" "Hire an Italiote mercenary captain to reduce cost -20 metal for Italian " "mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/cost_italian_mercs.json:genericName msgid "Italiote Mercenary Captain" msgstr "" #: simulation/data/technologies/carthaginians/cost_italian_mercs_2.json:tooltip msgid "" "Hire an Italiote mercenary general to reduce cost -20 metal for Italian " "mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/cost_italian_mercs_2.json:genericName msgid "Italiote Mercenary General" msgstr "" #: simulation/data/technologies/carthaginians/pair_celt_mercs_1.json:genericName msgid "Celtic merc cost vs. recruit time #1" msgstr "" #: simulation/data/technologies/carthaginians/pair_celt_mercs_2.json:genericName msgid "Celtic merc cost vs. recruit time #2" msgstr "" #: simulation/data/technologies/carthaginians/pair_iberian_mercs_1.json:genericName msgid "Iberian merc cost vs. recruit time #1" msgstr "" #: simulation/data/technologies/carthaginians/pair_iberian_mercs_2.json:genericName msgid "Iberian merc cost vs. recruit time #2" msgstr "" #: simulation/data/technologies/carthaginians/pair_italian_mercs_1.json:genericName msgid "Italian merc cost vs. recruit time #1" msgstr "" #: simulation/data/technologies/carthaginians/pair_italian_mercs_2.json:genericName msgid "Italian merc cost vs. recruit time #2" msgstr "" #: simulation/data/technologies/carthaginians/special_colonisation.json:tooltip msgid "" "Carthaginians were colonizers. Civic Centers, Temples, and Houses -25% build " "time." msgstr "" #: simulation/data/technologies/carthaginians/special_exploration.json:tooltip msgid "Carthaginians were explorers. All Traders and Ships +25% vision range." msgstr "" #: simulation/data/technologies/carthaginians/training_phoenician_naval_architects.json:description msgid "Significantly increase build speed of batches of ships at the Shipyard." msgstr "" #: simulation/data/technologies/carthaginians/training_phoenician_naval_architects.json:tooltip msgid "Shipyard increased batch construction speed bonus." msgstr "" #: simulation/data/technologies/carthaginians/training_phoenician_naval_architects.json:genericName msgid "Phoenician Naval Architects" msgstr "" #: simulation/data/technologies/carthaginians/traintime_celt_mercs.json:description #: simulation/data/technologies/carthaginians/traintime_celt_mercs_2.json:description msgid "Celtic mercenaries have their train time decreased." msgstr "" #: simulation/data/technologies/carthaginians/traintime_celt_mercs.json:tooltip msgid "Ally with Celtic towns to reduce recruit time -20% for Celtic mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/traintime_celt_mercs.json:genericName msgid "Celtic Alliance" msgstr "" #: simulation/data/technologies/carthaginians/traintime_celt_mercs_2.json:tooltip msgid "Subjugate Gallic tribes to reduce recruit time -20% for Celtic mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/traintime_celt_mercs_2.json:genericName msgid "Gallic Hegemony" msgstr "" #: simulation/data/technologies/carthaginians/traintime_iberian_mercs.json:description #: simulation/data/technologies/carthaginians/traintime_iberian_mercs_2.json:description msgid "Iberian mercenaries have their train time decreased." msgstr "" #: simulation/data/technologies/carthaginians/traintime_iberian_mercs.json:tooltip msgid "Ally with Iberian towns to reduce recruit time -20% for Iberian mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/traintime_iberian_mercs.json:genericName msgid "Iberian Alliance" msgstr "" #: simulation/data/technologies/carthaginians/traintime_iberian_mercs_2.json:tooltip msgid "Subjugate Hispania to reduce recruit time -20% for Iberian mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/traintime_iberian_mercs_2.json:genericName msgid "Iberian Hegemony" msgstr "" #: simulation/data/technologies/carthaginians/traintime_italian_mercs.json:description #: simulation/data/technologies/carthaginians/traintime_italian_mercs_2.json:description msgid "Italian mercenaries have their train time decreased." msgstr "" #: simulation/data/technologies/carthaginians/traintime_italian_mercs.json:tooltip msgid "Ally with Italiote towns to reduce recruit time -20% for Italian mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/traintime_italian_mercs.json:genericName msgid "Italiote Alliance" msgstr "" #: simulation/data/technologies/carthaginians/traintime_italian_mercs_2.json:tooltip msgid "Subjugate Italiote towns to reduce recruit time -20% for Italian mercenaries." msgstr "" #: simulation/data/technologies/carthaginians/traintime_italian_mercs_2.json:genericName msgid "Italiote Hegemony" msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_celts.json:description msgid "Upgrade all of your Celtic mercenaries to Advanced rank." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_celts.json:tooltip msgid "" "Upgrade all of your Celtic mercenaries to Advanced rank. This increases their" " military prowess, but decreases their resource gathering rates -25%. Unlocks" " Elite Celtic Mercenaries technology." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_celts.json:genericName msgid "Advanced Celtic Mercenaries" msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_iberian.json:description msgid "Upgrade all of your Iberian mercenaries to Advanced rank." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_iberian.json:tooltip msgid "" "Upgrade all of your Iberian mercenaries to Advanced rank. This increases " "their military prowess, but decreases their resource gathering rates -25%. " "Unlocks Elite Iberian Mercenaries technology." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_iberian.json:genericName msgid "Advanced Iberian Mercenaries" msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_italiote.json:description msgid "Upgrade all of your Italiote mercenaries to Advanced rank." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_italiote.json:tooltip msgid "" "Upgrade all of your Italiote mercenaries to Advanced rank. This increases " "their military prowess, but decreases their resource gathering rates -25%. " "Unlocks Elite Italiote Mercenaries technology." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_advanced_italiote.json:genericName msgid "Advanced Italiote Mercenaries" msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_elite_celts.json:description msgid "Upgrade all of your Celtic Mercenaries to Elite rank." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_elite_celts.json:tooltip msgid "" "Upgrade all of your Celtic mercenaries to Elite rank. This increases their " "military prowess, but decreases their resource gathering rates another -25%." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_elite_celts.json:genericName msgid "Elite Celtic Mercenaries" msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_elite_iberian.json:description msgid "Upgrade all of your Iberian Mercenaries to Elite rank." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_elite_iberian.json:tooltip msgid "" "Upgrade all of your Iberian mercenaries to Elite rank. This increases their " "military prowess, but decreases their resource gathering rates another -25%." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_elite_iberian.json:genericName msgid "Elite Iberian Mercenaries" msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_elite_italiote.json:description msgid "Upgrade all of your Italiote Mercenaries to Elite rank." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_elite_italiote.json:tooltip msgid "" "Upgrade all of your Italiote mercenaries to Elite rank. This increases their " "military prowess, but decreases their resource gathering rates another -25%." msgstr "" #: simulation/data/technologies/carthaginians/upgrade_rank_elite_italiote.json:genericName msgid "Elite Italiote Mercenaries" msgstr "" #: simulation/data/technologies/celts/civbonus_celts_wooden_struct.json:description msgid "" "Celtic structures were mostly made of wood with rubble foundations. " "Consequently, their structures have less health than other cultures do, but " "they also construct faster." msgstr "" #: simulation/data/technologies/celts/civbonus_celts_wooden_struct.json:genericName msgid "Wooden Construction" msgstr "" #: simulation/data/technologies/celts/special_gather_crop_rotation.json:description msgid "" "Crop rotation increases yield by preventing the depletion of vital nutrients " "and minerals from the soil." msgstr "" #: simulation/data/technologies/celts/special_gather_crop_rotation.json:tooltip msgid "Increase the yield of your farms. +25% farming rate." msgstr "" #: simulation/data/technologies/celts/special_gather_crop_rotation.json:genericName msgid "Crop Rotation" msgstr "" #: simulation/data/technologies/hellenes/attack_inf_spearfighting.json:description msgid "Spear fighting training increases damage of infantry spear units." msgstr "" #: simulation/data/technologies/hellenes/attack_inf_spearfighting.json:tooltip msgid "Spearmen +2 hack attack." msgstr "" #: simulation/data/technologies/hellenes/attack_inf_spearfighting.json:genericName msgid "Infantry Spear Fighting" msgstr "" #: simulation/data/technologies/hellenes/attack_inf_spearfighting.json:specificName.hele #: simulation/data/technologies/hellenes/attack_inf_spearfighting.json:specificName.mace #: simulation/data/technologies/hellenes/attack_inf_spearfighting.json:specificName.spart #: simulation/data/technologies/hellenes/attack_inf_spearfighting.json:specificName.theb #: simulation/data/technologies/hellenes/attack_inf_spearfighting.json:specificName.athen msgid "Doratismos" msgstr "" #: simulation/data/technologies/hellenes/civbonus_hellenic_architecture.json:description msgid "The Greeks used stone construction from early Mycenaean times." msgstr "" #: simulation/data/technologies/hellenes/civbonus_hellenic_architecture.json:genericName msgid "Hellenic Architecture" msgstr "" #: simulation/data/technologies/hellenes/civpenalty_spart_popcap.json:genericName msgid "Underdogs" msgstr "" #: simulation/data/technologies/hellenes/civpenalty_spart_popcap.json:description msgid "" "The Spartans did not have the largest army in the world, but they did have " "the best army in the world for their time. What they didn't have in quantity," " they made up with quality. It was said that Sparta did not need strong city " "walls, for its men were its walls." msgstr "" #: simulation/data/technologies/hellenes/special_iphicratean_reforms.json:description msgid "" "Athenian triremes can train Marines (Epibates Athenaikos) and Cretan " "Mercenary Archers (Toxotes Kretikos)." msgstr "" #: simulation/data/technologies/hellenes/special_iphicratean_reforms.json:tooltip msgid "Athenian triremes can train Marines and Cretan Mercenary Archers." msgstr "" #: simulation/data/technologies/hellenes/special_long_walls.json:tooltip msgid "Build stone walls in neutral territory." msgstr "" #: simulation/data/technologies/hellenes/special_long_walls.json:genericName msgid "Athenian Long Walls" msgstr "" #: simulation/data/technologies/hellenes/teambonus_athen_delian_league.json:description msgid "" "Shortly after the great naval victories at Salamis and Mycale, the Greek " "city-states instituted the so-called Delian League in 478 BC, whose purpose " "was to push the Persians out of the Aegean region. The allied states " "contributed ships and money, while the Athenians offered their entire navy." msgstr "" #: simulation/data/technologies/hellenes/temp_special_hellenization.json:description msgid "" "The Hellenic culture was very influential. Greek became the spoken language " "of commerce and politics for much of the Mediterranean basin and Middle East " "for centuries." msgstr "" #: simulation/data/technologies/hellenes/temp_special_hellenization.json:tooltip msgid "" "The Hellenic culture is very influential. +20% territory effect for all " "buildings." msgstr "" #: simulation/data/technologies/hellenes/temp_special_hellenization.json:specificName.hele #: simulation/data/technologies/hellenes/temp_special_hellenization.json:specificName.mace #: simulation/data/technologies/hellenes/temp_special_hellenization.json:specificName.athen #: simulation/data/technologies/hellenes/temp_special_hellenization.json:specificName.theb #: simulation/data/technologies/hellenes/temp_special_hellenization.json:specificName.spart msgid "Exellinismós" msgstr "" #: simulation/data/technologies/mauryans/civbonus_maur_popcap.json:genericName msgid "Emperor of Emperors" msgstr "" #: simulation/data/technologies/mauryans/civbonus_maur_popcap.json:specificName.maur msgid "Chakravarti Samrāt" msgstr "" #: simulation/data/technologies/mauryans/special_archery_tradition.json:description msgid "" "The Indians had a tradition of fine archery and a penchant for using massed " "archers in battle." msgstr "" #: simulation/data/technologies/mauryans/special_archery_tradition.json:tooltip #: simulation/data/technologies/persians/special_archery_tradition.json:tooltip msgid "" "Range +10 meters for bow-wielding units. Archer units train time -20%, but " "also -20% health." msgstr "" #: simulation/data/technologies/mauryans/wooden_walls.json:description msgid "" "The Mauryans built their city walls out of wood, an abundant natural resource" " in India. Consequently, Mauryan city walls have -20% health, but build 20% " "faster." msgstr "" #: simulation/data/technologies/mauryans/wooden_walls.json:genericName msgid "Wooden Walls" msgstr "" #: simulation/data/technologies/persians/immortals.json:description msgid "" "The Anusiya champion infantry train twice as fast, but lose a little max " "health." msgstr "" #: simulation/data/technologies/persians/immortals.json:tooltip msgid "Anusiya Champion Infantry -50% train time, but also -20 health." msgstr "" #: simulation/data/technologies/persians/persian_architecture.json:tooltip msgid "All Persian structures +25% health, but also +20% build time." msgstr "" #: simulation/data/technologies/persians/special_archery_tradition.json:description msgid "" "The Persians had a tradition of fine archery and a penchant for using massed " "archers in battle." msgstr "" #: simulation/data/technologies/persians/special_equine_transports.json:tooltip msgid "Phoenician Triremes gain the ability to train cavalry units." msgstr "" #: simulation/data/technologies/persians/special_equine_transports.json:genericName msgid "Equine Transports" msgstr "" #: simulation/data/technologies/persians/training_conscription_cavalry.json:description msgid "" "Significantly increase training speed of cavalry at the stables by training " "them in large batches or battalions." msgstr "" #: simulation/data/technologies/persians/training_conscription_cavalry.json:tooltip msgid "Faster batch training speed for the Stables." msgstr "" #: simulation/data/technologies/persians/training_conscription_cavalry.json:genericName msgid "Cavalry Conscription" msgstr "" #: simulation/data/technologies/persians/training_conscription_infantry.json:genericName msgid "Infantry Conscription" msgstr "" #: simulation/data/technologies/persians/training_levy_cavalry.json:tooltip msgid "" "All cavalry -20% train time, but also -10 health. Unlocks Cavalry " "Conscription." msgstr "" #: simulation/data/technologies/persians/training_levy_infantry.json:tooltip msgid "" "All infantry -10% train time, but also -5 health. Unlocks Infantry " "Conscription." msgstr "" #: simulation/data/technologies/romans/decay_logistics.json:description msgid "The Romans were masters of the logistics of warfare." msgstr "" #: simulation/data/technologies/romans/decay_logistics.json:tooltip msgid "Territory decay eliminated for Army Camps and Siege Walls." msgstr "" #: simulation/data/technologies/romans/decay_logistics.json:genericName msgid "Roman Logistics" msgstr "" #: simulation/data/technologies/successors/special_hellenistic_metropolis.json:tooltip msgid "Civic centers +100% health and double default arrows." msgstr "" #: simulation/data/technologies/successors/special_hellenistic_metropolis.json:genericName msgid "Hellenistic Metropolis" msgstr "" #: simulation/data/technologies/successors/special_parade_of_daphne.json:description msgid "" "Significantly increase training speed of champions and siege weapons at the " "fortress by training them in large batches or battalions." msgstr "" #: simulation/data/technologies/successors/special_parade_of_daphne.json:tooltip msgid "Faster batch training speed for the Fortress." msgstr "" #: simulation/data/technologies/successors/special_parade_of_daphne.json:genericName msgid "Parade of Daphne" msgstr "" #: simulation/data/technologies/successors/special_war_horses.json:description msgid "" "The now-extinct Nisian breed of horse was one of the largest and robust " "horses of ancient times. They were highly sought after by the Seleucids and " "Persians as both rider and mount gained heavier armor as time progressed." msgstr "" #: simulation/data/technologies/successors/special_war_horses.json:tooltip msgid "All cavalry +20% health, but also +10% train time." msgstr "" #: simulation/data/technologies/successors/special_war_horses.json:specificName.sele msgid "Nisioi" msgstr "" #: simulation/data/technologies/successors/unlock_reform_army.json:description msgid "The reform army of the Seleucids." msgstr "" #: simulation/data/technologies/successors/unlock_reform_army.json:tooltip msgid "Unlock the Romanized Heavy Swordsman and Seleucid Cataphract." msgstr "" #: simulation/data/technologies/successors/unlock_reform_army.json:genericName msgid "Reform Army" msgstr "" #: simulation/data/technologies/successors/unlock_traditional_army.json:description msgid "The traditional army of the Seleucids." msgstr "" #: simulation/data/technologies/successors/unlock_traditional_army.json:tooltip msgid "Unlock the Silver Shield Pikeman and Scythed Chariot." msgstr "" #: simulation/data/technologies/successors/unlock_traditional_army.json:genericName msgid "Traditional Army" msgstr "" #: simulation/data/technologies/successors/upgrade_mace_silvershields.json:description msgid "" "The Silver Shields, or Argyraspidai, were the elite heavy infantry arm of the" " Macedonian army." msgstr "" #: simulation/data/technologies/successors/upgrade_mace_silvershields.json:tooltip msgid "" "Upgrade Shield Bearer Champion Infantry to Silver Shields, with greater " "attack, health, and armor." msgstr "" #: simulation/data/technologies/successors/upgrade_mace_silvershields.json:genericName msgid "Silver Shields Regiment" msgstr "" #: simulation/templates/template_gaia_flora.xml:8 msgid "Generic Flora" msgstr "" #: simulation/templates/template_gaia_flora_bush.xml:8 #: simulation/templates/template_gaia_flora_bush_berry.xml:8 msgid "Bush" msgstr "" #: simulation/templates/template_gaia_flora_bush_berry.xml:10 msgid "Gather the fruit from these bushes to accumulate Food." msgstr "" #: simulation/templates/template_gaia_flora_bush_berry.xml:9 msgid "Berries" msgstr "" #: simulation/templates/template_gaia_flora_tree.xml:7 msgid "Chop down to accumulate Wood." msgstr "" #: simulation/templates/template_gaia_flora_tree.xml:5 msgid "Tree" msgstr "" #: simulation/templates/template_gaia_geo.xml:8 msgid "Generic Geology" msgstr "" #: simulation/templates/template_gaia_geo_mineral.xml:6 msgid "A mineral deposit, providing access to rare forms of precious Metal." msgstr "" #: simulation/templates/template_gaia_geo_mineral.xml:4 msgid "Mineral" msgstr "" #: simulation/templates/template_gaia_geo_mineral.xml:5 msgid "Metal Mine" msgstr "" #: simulation/templates/template_gaia_geo_rock.xml:6 msgid "Mine these to provide Stone building material." msgstr "" #: simulation/templates/template_gaia_geo_rock.xml:4 msgid "Rock" msgstr "" #: simulation/templates/template_gaia_geo_rock.xml:5 msgid "Stone Mine" msgstr "" #: simulation/templates/template_gaia_ruins.xml:10 msgid "These ruins that can be mined for resources." msgstr "" #: simulation/templates/template_gaia_ruins.xml:8 msgid "Generic Ruins" msgstr "" #: simulation/templates/template_gaia_ruins.xml:9 #: simulation/templates/gaia/special_ruins.xml:9 #: simulation/templates/gaia/special_ruins_column_doric.xml:9 #: simulation/templates/other/unfinished_greek_temple.xml:9 msgid "Ruins" msgstr "" #: simulation/templates/template_gaia_treasure.xml:10 msgid "A treasure that can be quickly gathered." msgstr "" #: simulation/templates/template_gaia_treasure.xml:8 msgid "Generic Treasure" msgstr "" #: simulation/templates/template_gaia_treasure.xml:9 #: simulation/templates/gaia/special_treasure_food_barrel.xml:9 #: simulation/templates/gaia/special_treasure_food_barrels_buried.xml:9 #: simulation/templates/gaia/special_treasure_food_bin.xml:9 #: simulation/templates/gaia/special_treasure_food_crate.xml:9 #: simulation/templates/gaia/special_treasure_food_jars.xml:9 #: simulation/templates/gaia/special_treasure_golden_fleece.xml:9 #: simulation/templates/gaia/special_treasure_pegasus.xml:9 #: simulation/templates/gaia/special_treasure_stone.xml:9 #: simulation/templates/gaia/special_treasure_wood.xml:9 #: simulation/templates/other/special_treasure_shipwreck.xml:9 #: simulation/templates/other/special_treasure_shipwreck_debris.xml:9 #: simulation/templates/other/special_treasure_shipwreck_ram_bow.xml:9 #: simulation/templates/other/special_treasure_shipwreck_sail_boat.xml:9 #: simulation/templates/other/special_treasure_shipwreck_sail_boat_cut.xml:9 msgid "Treasure" msgstr "" #: simulation/templates/template_structure.xml:47 msgid "Structure" msgstr "" #: simulation/templates/template_structure_civic.xml:14 msgid "Civic Structure" msgstr "" #: simulation/templates/template_structure_civic_civil_centre.xml:31 msgid "CivilCentre" msgstr "" #: simulation/templates/template_structure_civic_civil_centre.xml:63 msgid "Build to acquire large tracts of territory. Train citizens. Garrison: 20." msgstr "" #: simulation/templates/template_structure_civic_civil_centre.xml:62 msgid "Civic Center" msgstr "" #: simulation/templates/template_structure_civic_house.xml:31 msgid "Increase the population limit." msgstr "" #: simulation/templates/template_structure_civic_house.xml:30 #: simulation/templates/other/pers_house_a.xml:12 msgid "House" msgstr "" #: simulation/templates/template_structure_civic_temple.xml:37 msgid "" "Train healers. Garrison up to 20 units to heal them at a quick rate. Research" " healing and religious improvements. Heals nearby units, but slower than " "garrisoned units." msgstr "" #: simulation/templates/template_structure_civic_temple.xml:36 msgid "Temple" msgstr "" #: simulation/templates/template_structure_defense.xml:14 msgid "Defensive Structure" msgstr "" #: simulation/templates/template_structure_defense_defense_tower.xml:32 msgid "DefenseTower" msgstr "" #: simulation/templates/template_structure_defense_defense_tower.xml:61 msgid "Shoots arrows. Garrison to provide extra defense." msgstr "" #: simulation/templates/template_structure_defense_defense_tower.xml:60 msgid "Defense Tower" msgstr "" #: simulation/templates/template_structure_defense_outpost.xml:58 msgid "" "Build in neutral and friendly territories to scout areas of the map. Slowly " "loses health while in neutral territory." msgstr "" #: simulation/templates/template_structure_defense_outpost.xml:57 #: simulation/templates/other/palisades_rocks_outpost.xml:15 msgid "Outpost" msgstr "" #: simulation/templates/template_structure_defense_wall.xml:24 #: simulation/templates/template_structure_defense_wallset.xml:11 msgid "Wall off your town for a stout defense." msgstr "" #: simulation/templates/template_structure_defense_wall.xml:23 msgid "Stone Wall" msgstr "" #: simulation/templates/template_structure_defense_wall_gate.xml:28 msgid "Allow units access through a city wall. Can be locked to prevent access." msgstr "" #: simulation/templates/template_structure_defense_wall_gate.xml:27 msgid "City Gate" msgstr "" #: simulation/templates/template_structure_defense_wall_long.xml:14 msgid "Long wall segments can be converted to gates." msgstr "" #: simulation/templates/template_structure_defense_wall_tower.xml:56 msgid "Shoots arrows. Garrison to defend a city wall against attackers." msgstr "" #: simulation/templates/template_structure_defense_wall_tower.xml:55 msgid "Wall Turret" msgstr "" #: simulation/templates/template_structure_defense_wallset.xml:10 msgid "City Wall" msgstr "" #: simulation/templates/template_structure_economic.xml:14 msgid "Economic Structure" msgstr "" #: simulation/templates/template_structure_economic_farmstead.xml:22 msgid "Dropsite for the food resource. Research food gathering improvements." msgstr "" #: simulation/templates/template_structure_economic_farmstead.xml:21 msgid "Farmstead" msgstr "" #: simulation/templates/template_structure_economic_market.xml:22 msgid "" "Create trade units to trade between other markets. Barter resources. Research" " trading and bartering improvements." msgstr "" #: simulation/templates/template_structure_economic_storehouse.xml:22 msgid "" "Dropsite for wood, stone, and metal resources. Research gathering " "improvements for these resources." msgstr "" #: simulation/templates/template_structure_economic_storehouse.xml:21 msgid "Storehouse" msgstr "" #: simulation/templates/template_structure_gaia_settlement.xml:11 msgid "Build a Civic Center at this location to expand your territory." msgstr "" #: simulation/templates/template_structure_gaia_settlement.xml:9 #: simulation/templates/template_structure_gaia_settlement.xml:10 #: simulation/templates/campaigns/campaign_city_minor_test.xml:26 #: simulation/templates/campaigns/campaign_city_test.xml:26 msgid "Settlement" msgstr "" #: simulation/templates/template_structure_military.xml:14 msgid "Military Structure" msgstr "" #: simulation/templates/template_structure_military_barracks.xml:30 msgid "Train citizen-soldiers. Research training improvements. Garrison: 10." msgstr "" #: simulation/templates/template_structure_military_barracks.xml:29 msgid "Barracks" msgstr "" #: simulation/templates/template_structure_military_blacksmith.xml:30 msgid "Research weapons and armor improvements." msgstr "" #: simulation/templates/template_structure_military_blacksmith.xml:29 msgid "Blacksmith" msgstr "" #: simulation/templates/template_structure_military_dock.xml:25 msgid "" "Build upon a shoreline to construct naval vessels and to open sea trade. " "Research naval improvements." msgstr "" #: simulation/templates/template_structure_military_dock.xml:24 msgid "Dock" msgstr "" #: simulation/templates/template_structure_military_embassy.xml:28 #: simulation/templates/structures/cart_embassy.xml:19 #: simulation/templates/structures/cart_embassy.xml:20 msgid "Embassy" msgstr "" #: simulation/templates/template_structure_military_fortress.xml:61 msgid "" "Train heroes, champions, and siege weapons. Research siege weapon " "improvements. Garrison: 20." msgstr "" #: simulation/templates/template_structure_resource.xml:17 msgid "Resource Structure" msgstr "" #: simulation/templates/template_structure_resource_corral.xml:27 msgid "" "Raise herd animals for food. Task domestic animals here to gain a trickle of " "food or other bonus (Not yet implemented)." msgstr "" #: simulation/templates/template_structure_resource_corral.xml:26 msgid "Corral" msgstr "" #: simulation/templates/template_structure_resource_field.xml:26 msgid "Harvest vegetables for food. Max gatherers: 5." msgstr "" #: simulation/templates/template_structure_resource_field.xml:24 msgid "Field" msgstr "" #: simulation/templates/template_structure_special.xml:43 msgid "This is a special building unique to a particular civilization." msgstr "" #: simulation/templates/template_structure_wonder.xml:36 msgid "Bring glory to your civilization and add large tracts of land to your empire." msgstr "" #: simulation/templates/template_unit.xml:37 msgid "Unit" msgstr "" #: simulation/templates/template_unit_cavalry.xml:33 #: simulation/templates/template_unit_dog.xml:80 #: simulation/templates/template_unit_infantry.xml:52 #: simulation/templates/template_unit_support_healer.xml:23 #: simulation/templates/units/brit_support_healer_b.xml:9 #: simulation/templates/units/cart_support_healer_b.xml:9 #: simulation/templates/units/celt_support_healer_b.xml:9 #: simulation/templates/units/gaul_support_healer_b.xml:9 #: simulation/templates/units/hele_support_healer_b.xml:9 #: simulation/templates/units/iber_support_healer_b.xml:10 #: simulation/templates/units/maur_support_healer_b.xml:10 #: simulation/templates/units/pers_support_healer_b.xml:10 #: simulation/templates/units/rome_support_healer_b.xml:10 msgctxt "Rank" msgid "Basic" msgstr "" #: simulation/templates/template_unit_cavalry_melee.xml:52 msgid "Melee Cavalry" msgstr "" #: simulation/templates/template_unit_cavalry_melee_spearman.xml:38 msgid "" "Classes: Citizen Melee Cavalry Spearman.\n" "Counters: 2x vs. Swordsmen and Siege Weapons, 1.5x vs. Skirmishers.\n" "Countered by: Spearmen, Archers, Elephants." msgstr "" #: simulation/templates/template_unit_cavalry_melee_spearman.xml:36 msgid "Cavalry Spearman" msgstr "" #: simulation/templates/template_unit_cavalry_melee_swordsman.xml:47 msgid "" "Classes: Citizen Melee Cavalry Swordsman.\n" "Counters: 2x vs. Archers, All Support Units, and Siege Weapons.\n" "Countered by: Spearmen, Cavalry Skirmishers, and Elephants." msgstr "" #: simulation/templates/template_unit_cavalry_melee_swordsman.xml:45 msgid "Cavalry Swordsman" msgstr "" #: simulation/templates/template_unit_cavalry_ranged.xml:29 msgid "Ranged Cavalry" msgstr "" #: simulation/templates/template_unit_cavalry_ranged_archer.xml:37 msgid "" "Classes: Citizen Ranged Cavalry Archer.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Swordsmen.\n" "Countered by: Skirmishers and Elephants." msgstr "" #: simulation/templates/template_unit_cavalry_ranged_archer.xml:35 msgid "Cavalry Archer" msgstr "" #: simulation/templates/template_unit_cavalry_ranged_javelinist.xml:37 msgid "" "Classes: Citizen Ranged Cavalry Skirmisher.\n" "Counters: 2x vs. Archers, 1.5x vs. Cavalry Swordsmen.\n" "Countered by: Spearmen, Elephants." msgstr "" #: simulation/templates/template_unit_cavalry_ranged_javelinist.xml:35 msgid "Cavalry Skirmisher" msgstr "" #: simulation/templates/template_unit_champion.xml:4 msgid "Champion Unit" msgstr "" #: simulation/templates/template_unit_champion_cavalry.xml:37 msgid "Champion Cavalry" msgstr "" #: simulation/templates/template_unit_champion_cavalry_archer.xml:41 msgid "" "Classes: Champion Ranged Cavalry Archer.\n" "Counters: 2x vs. Swordsmen, 1.5x vs. Spearmen.\n" "Countered by: Skirmishers and Elephants." msgstr "" #: simulation/templates/template_unit_champion_cavalry_archer.xml:40 msgid "Champion Cavalry Archer." msgstr "" #: simulation/templates/template_unit_champion_cavalry_javelinist.xml:40 msgid "" "Classes: Champion Ranged Cavalry Skirmisher.\n" "Counters: 2x vs. Archers, 1.5x vs. Cavalry Swordsmen.\n" "Countered by: Spearmen and Elephants." msgstr "" #: simulation/templates/template_unit_champion_cavalry_javelinist.xml:39 msgid "Champion Cavalry Skirmisher" msgstr "" #: simulation/templates/template_unit_champion_cavalry_spearman.xml:78 msgid "" "Classes: Champion Melee Cavalry Spearman.\n" "Counters: 2x vs. Swordsmen and Siege Weapons, 1.5x vs. Skirmishers.\n" "Countered by: Spearmen, Archers, and Elephants." msgstr "" #: simulation/templates/template_unit_champion_cavalry_spearman.xml:77 msgid "Champion Cavalry Spearman" msgstr "" #: simulation/templates/template_unit_champion_cavalry_swordsman.xml:78 msgid "" "Classes: Champion Melee Cavalry Swordsman.\n" "Counters: 2x vs. Archers, All Support Units, and Siege Weapons.\n" "Countered by: Spearmen, Cavalry Skirmishers, and Elephants." msgstr "" #: simulation/templates/template_unit_champion_cavalry_swordsman.xml:77 msgid "Champion Cavalry Swordsman" msgstr "" #: simulation/templates/template_unit_champion_elephant.xml:27 msgid "War Elephant" msgstr "" #: simulation/templates/template_unit_champion_elephant_melee.xml:49 msgid "" "Classes: Champion Melee Elephant.\n" "Counters: 2x vs. All Cavalry, 1.5x vs. All Structures. Extra 1.5x vs. Gates. " "\"Stench\" aura vs. Cavalry.\n" "Countered by: Skirmishers and Swordsmen. Can run amok." msgstr "" #: simulation/templates/template_unit_champion_infantry.xml:35 msgid "Champion Infantry" msgstr "" #: simulation/templates/template_unit_champion_infantry_archer.xml:46 msgid "" "Classes: Champion Ranged Infantry Archer.\n" "Counters: 2x vs. Swordsmen, 1.25x vs. Cavalry Spearmen.\n" "Countered by: Cavalry Swordsmen and Cavalry Skirmishers." msgstr "" #: simulation/templates/template_unit_champion_infantry_archer.xml:45 msgid "Champion Archer" msgstr "" #: simulation/templates/template_unit_champion_infantry_javelinist.xml:54 msgid "" "Classes: Champion Ranged Infantry Skirmisher.\n" "Counters: 1.5x vs. Spearmen, Cavalry Archers, Elephants, and Chariots.\n" "Countered by: Swordsmen and Cavalry Spearmen." msgstr "" #: simulation/templates/template_unit_champion_infantry_javelinist.xml:53 msgid "Champion Skirmisher" msgstr "" #: simulation/templates/template_unit_champion_infantry_pikeman.xml:57 msgid "" "Classes: Champion Melee Infantry Spearman.\n" "Counters: 2x vs. All Cavalry, 1.5x vs. Elephants.\n" "Countered by: Swordsmen, Skirmishers, and Cavalry Archers." msgstr "" #: simulation/templates/template_unit_champion_infantry_pikeman.xml:55 msgid "Champion Pikeman" msgstr "" #: simulation/templates/template_unit_champion_infantry_spearman.xml:45 msgid "" "Classes: Champion Melee Infantry Spearman.\n" "Counters: 2x vs. All Cavalry.\n" "Countered by: Skirmishers, Swordsmen, and Cavalry Archers." msgstr "" #: simulation/templates/template_unit_champion_infantry_spearman.xml:43 msgid "Champion Spearman" msgstr "" #: simulation/templates/template_unit_champion_infantry_swordsman.xml:53 msgid "" "Classes: Champion Melee Infantry Swordsman.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Elephants.\n" "Countered by: Archers, Cavalry Spearmen, and Cavalry Archers." msgstr "" #: simulation/templates/template_unit_champion_infantry_swordsman.xml:52 msgid "Champion Swordsman" msgstr "" #: simulation/templates/template_unit_champion_ranged.xml:4 msgid "Champion Ranged" msgstr "" #: simulation/templates/template_unit_champion_siege.xml:17 msgid "Super Siege" msgstr "" #: simulation/templates/template_unit_dog.xml:81 msgid "" "Counters: 3x vs. Cavalry, 2x vs. Support, 1.5x vs. Animals. Cannot attack " "structures." msgstr "" #: simulation/templates/template_unit_dog.xml:79 msgid "War Dog" msgstr "" #: simulation/templates/template_unit_fauna.xml:11 msgid "Fauna" msgstr "" #: simulation/templates/template_unit_fauna_fish.xml:9 msgid "Fish" msgstr "" #: simulation/templates/template_unit_fauna_hunt_whale.xml:17 msgid "Kill, then collect food from this bountiful oceanic resource." msgstr "" #: simulation/templates/template_unit_fauna_hunt_whale.xml:16 msgid "Cetacean" msgstr "" #: simulation/templates/template_unit_hero.xml:36 #: simulation/templates/template_unit_hero_infantry.xml:39 #: simulation/templates/template_unit_hero_ranged.xml:31 msgid "Hero" msgstr "" #: simulation/templates/template_unit_hero_cavalry.xml:40 msgid "Hero Cavalry" msgstr "" #: simulation/templates/template_unit_hero_cavalry_archer.xml:49 msgid "" "Hero Aura: n/a.\n" "Ranged attack 2x vs. spearmen. Ranged attack 1.5x vs. Swordsmen." msgstr "" #: simulation/templates/template_unit_hero_cavalry_archer.xml:48 msgid "Hero Cavalry Archer" msgstr "" #: simulation/templates/template_unit_hero_cavalry_javelinist.xml:40 msgid "Hero Cavalry Skirmisher" msgstr "" #: simulation/templates/template_unit_hero_cavalry_spearman.xml:69 msgid "" "Classes: Hero Melee Cavalry Spear.\n" "\"Hero\" Aura: TBD.\n" "Counters: 2x vs. Swordsmen and Siege Weapons, 1.5x vs. Skirmishers.\n" "Countered by: Spearmen, Archers, and Elephants." msgstr "" #: simulation/templates/template_unit_hero_cavalry_spearman.xml:67 msgid "Hero Cavalry Spearman" msgstr "" #: simulation/templates/template_unit_hero_cavalry_swordsman.xml:60 msgid "" "Classes: Hero Melee Cavalry Sword.\n" "\"Hero\" Aura: TBD.\n" "Counters: 2x vs. Archers, All Support Units, and Siege Weapons.\n" "Countered by: Spearmen, Cavalry Skirmishers, and Elephants." msgstr "" #: simulation/templates/template_unit_hero_cavalry_swordsman.xml:58 msgid "Hero Cavalry Swordsman" msgstr "" #: simulation/templates/template_unit_hero_elephant_melee.xml:35 msgid "" "Classes: Hero Melee Elephant.\n" "Counters: 2x vs. All Cavalry, 1.5x vs. All Structures. Extra 1.5x vs. Gates.\n" "Countered by: Skirmishers and Swordsmen. Can run amok." msgstr "" #: simulation/templates/template_unit_hero_infantry_archer.xml:41 msgid "" "Classes: Hero Infantry Ranged Archer Bow.\n" "Counters: 2x vs. Swordsmen, 1.25x vs. Cavalry Spearmen.\n" "Countered by: Cavalry Swordsmen, Cavalry Skirmishers." msgstr "" #: simulation/templates/template_unit_hero_infantry_archer.xml:39 msgid "Hero Archer" msgstr "" #: simulation/templates/template_unit_hero_infantry_javelinist.xml:46 msgid "Hero Skirmisher" msgstr "" #: simulation/templates/template_unit_hero_infantry_pikeman.xml:35 msgid "Hero Pikeman" msgstr "" #: simulation/templates/template_unit_hero_infantry_spearman.xml:33 msgid "Hero Spearman" msgstr "" #: simulation/templates/template_unit_hero_infantry_swordsman.xml:54 msgid "" "Classes: Hero Infantry Melee Sword.\n" "\"Hero\" Aura: TBD.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Skirmishers and Elephants.\n" "Countered by: Archers, Cavalry Archers." msgstr "" #: simulation/templates/template_unit_hero_infantry_swordsman.xml:53 msgid "Hero Swordsman" msgstr "" #: simulation/templates/template_unit_infantry_melee.xml:25 msgid "Melee Infantry" msgstr "" #: simulation/templates/template_unit_infantry_melee_pikeman.xml:41 #: simulation/templates/template_unit_infantry_melee_spearman.xml:39 msgid "" "Classes: Citizen Melee Infantry Spearman.\n" "Counters: 2x vs. All Cavalry.\n" "Countered by: Skirmishers, Swordsmen, Cavalry Archers." msgstr "" #: simulation/templates/template_unit_infantry_melee_pikeman.xml:39 msgid "Pikeman" msgstr "" #: simulation/templates/template_unit_infantry_melee_spearman.xml:37 msgid "Spearman" msgstr "" #: simulation/templates/template_unit_infantry_melee_swordsman.xml:54 msgid "" "Classes: Citizen Melee Infantry Swordsman.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Skirmishers, and 1.25x vs. Elephants.\n" "Countered by: Archers, Cavalry Spearmen, and Cavalry Archers." msgstr "" #: simulation/templates/template_unit_infantry_melee_swordsman.xml:52 msgid "Swordsman" msgstr "" #: simulation/templates/template_unit_infantry_ranged.xml:27 msgid "Ranged" msgstr "" #: simulation/templates/template_unit_infantry_ranged_archer.xml:40 msgid "" "Classes: Citizen Ranged Infantry Archer.\n" "Counters: 2x vs. Swordsmen, 1.25x vs. Cavalry Spearmen.\n" "Countered by: Cavalry Swordsmen, Cavalry Skirmishers." msgstr "" #: simulation/templates/template_unit_infantry_ranged_archer.xml:38 msgid "Archer" msgstr "" #: simulation/templates/template_unit_infantry_ranged_javelinist.xml:47 msgid "" "Classes: Citizen Ranged Infantry Skirmisher.\n" "Counters: 1.5x vs. Spearmen and Cavalry Archers, 1.25x vs. Elephants and " "Chariots.\n" "Countered by: Swordsmen, Cavalry Spearmen." msgstr "" #: simulation/templates/template_unit_infantry_ranged_javelinist.xml:45 msgid "Skirmisher" msgstr "" #: simulation/templates/template_unit_infantry_ranged_slinger.xml:39 msgid "" "Classes: Citizen Ranged Infantry Slinger.\n" "Counters: 1.5x vs. Ranged Infantry, 1.25x vs. Melee Infantry.\n" "Countered by: Cavalry." msgstr "" #: simulation/templates/template_unit_infantry_ranged_slinger.xml:38 msgid "Slinger" msgstr "" #: simulation/templates/template_unit_mechanical.xml:14 msgid "Mechanical" msgstr "" #: simulation/templates/template_unit_mechanical_ship.xml:33 msgid "Ship" msgstr "" #: simulation/templates/template_unit_mechanical_ship_bireme.xml:47 msgid "Classes: Mechanical Warship Light Ranged." msgstr "" #: simulation/templates/template_unit_mechanical_ship_bireme.xml:46 msgid "Light Warship" msgstr "" #: simulation/templates/template_unit_mechanical_ship_fire.xml:36 msgid "" "Classes: Mechanical Warship Fireship Melee.\n" "Rapidly drain the health of enemy ships. Slowly loses health due to being on " "fire, so use the Fire Ship quickly." msgstr "" #: simulation/templates/template_unit_mechanical_ship_fire.xml:34 msgid "Fire Ship" msgstr "" #: simulation/templates/template_unit_mechanical_ship_fishing.xml:33 msgid "" "Classes: Mechanical Ship FishingBoat.\n" "Fish the waters for Food. Garrison a support or infantry unit inside to boost" " fishing rate." msgstr "" #: simulation/templates/template_unit_mechanical_ship_fishing.xml:32 msgid "Fishing Boat" msgstr "" #: simulation/templates/template_unit_mechanical_ship_merchant.xml:28 msgid "" "Classes: Mechanical Ship Trader.\n" "Trade between docks. Garrison a Trader aboard for additional profit (+20% for" " each garrisoned). Gather profitable aquatic treasures." msgstr "" #: simulation/templates/template_unit_mechanical_ship_merchant.xml:27 msgid "Merchantman" msgstr "" #: simulation/templates/template_unit_mechanical_ship_quinquereme.xml:55 msgid "" "Classes: Mechanical Warship Heavy Ranged Melee.\n" "Garrison with catapults to increase ranged fire power.\n" "Secondary Attack: Ramming." msgstr "" #: simulation/templates/template_unit_mechanical_ship_quinquereme.xml:54 msgid "Heavy Warship" msgstr "" #: simulation/templates/template_unit_mechanical_ship_trireme.xml:47 msgid "" "Classes: Mechanical Warship Medium Ranged Melee.\n" "Secondary Attack: Ramming." msgstr "" #: simulation/templates/template_unit_mechanical_ship_trireme.xml:46 msgid "Medium Warship" msgstr "" #: simulation/templates/template_unit_mechanical_siege.xml:13 msgid "Siege" msgstr "" #: simulation/templates/template_unit_mechanical_siege_ballista.xml:53 msgid "" "Classes: Siege Ranged BoltShooter.\n" "Counters: 2x vs. Infantry and Cavalry units. Also useful vs. Buildings.\n" "Countered by: Melee Cavalry." msgstr "" #: simulation/templates/template_unit_mechanical_siege_ballista.xml:51 msgid "Bolt Shooter" msgstr "" #: simulation/templates/template_unit_mechanical_siege_onager.xml:55 msgid "" "Classes: Siege Ranged Catapult.\n" "Counters: Structures and Massed Infantry. Causes splash damage.\n" "Countered by: Melee Cavalry." msgstr "" #: simulation/templates/template_unit_mechanical_siege_onager.xml:54 msgid "Siege Catapult" msgstr "" #: simulation/templates/template_unit_mechanical_siege_ram.xml:62 msgid "" "Classes: Siege Melee Ram.\n" "Counters: 1.5x vs. Gates. Generally good vs. Buildings.\n" "Countered by: Melee Cavalry. Cannot attack organic units (but can attack " "other siege and ships)." msgstr "" #: simulation/templates/template_unit_mechanical_siege_ram.xml:60 msgid "Battering Ram" msgstr "" #: simulation/templates/template_unit_mechanical_siege_tower.xml:60 msgid "" "Classes: Ranged SiegeTower.\n" "Garrison up to 20 infantry inside to increase arrow count from 0 to 10.\n" "Counters: 2x vs. Buildings.\n" "Countered by: Melee Cavalry." msgstr "" #: simulation/templates/template_unit_mechanical_siege_tower.xml:58 msgid "Siege Tower" msgstr "" #: simulation/templates/template_unit_support.xml:12 msgid "Support" msgstr "" #: simulation/templates/template_unit_support_female_citizen.xml:54 msgid "" "Classes: Citizen Support Worker Female.\n" "Gather resources, build civic structures, and inspire nearby males to work " "faster. Bonused at foraging and farming." msgstr "" #: simulation/templates/template_unit_support_female_citizen.xml:52 msgid "Female Citizen" msgstr "" #: simulation/templates/template_unit_support_healer.xml:21 msgid "" "Classes: Support Healer.\n" "Heal units." msgstr "" #: simulation/templates/template_unit_support_healer.xml:20 msgid "Healer" msgstr "" #: simulation/templates/template_unit_support_slave.xml:42 msgid "" "Classes: Support Worker Slave.\n" "Gatherer with a finite life span. Bonused at mining and lumbering." msgstr "" #: simulation/templates/template_unit_support_slave.xml:40 msgid "Slave" msgstr "" #: simulation/templates/template_unit_support_trader.xml:16 msgid "" "Classes: Support Trader.\n" "Trade resources between your own markets and those of your allies." msgstr "" #: simulation/templates/template_unit_support_trader.xml:14 msgid "Trader" msgstr "" #: simulation/templates/campaigns/army_mace_hero_alexander.xml:30 #: simulation/templates/campaigns/army_mace_standard.xml:22 #: simulation/templates/campaigns/army_spart_hero_leonidas.xml:30 msgid "This is what an army would look like on the Strat Map." msgstr "" #: simulation/templates/campaigns/army_mace_hero_alexander.xml:28 msgid "Army of Alexander the Great." msgstr "" #: simulation/templates/campaigns/army_mace_hero_alexander.xml:29 msgid "Army of Alexander the Great" msgstr "" #: simulation/templates/campaigns/army_mace_standard.xml:20 msgid "Army of Macedonia" msgstr "" #: simulation/templates/campaigns/army_mace_standard.xml:21 msgid "Army of Macedon" msgstr "" #: simulation/templates/campaigns/army_spart_hero_leonidas.xml:28 msgid "Army of Leonidas I." msgstr "" #: simulation/templates/campaigns/army_spart_hero_leonidas.xml:29 msgid "Army of Leonidas I" msgstr "" #: simulation/templates/campaigns/campaign_city_minor_test.xml:28 msgid "This is a minor Greek city. Has a territory effect of 150." msgstr "" #: simulation/templates/campaigns/campaign_city_minor_test.xml:27 msgid "Minor Greek Polis" msgstr "" #: simulation/templates/campaigns/campaign_city_test.xml:28 msgid "This is a major Greek city. Has a territory effect of 300." msgstr "" #: simulation/templates/campaigns/campaign_city_test.xml:27 msgid "Greek Polis" msgstr "" #: simulation/templates/campaigns/campaign_religious_test.xml:12 msgid "Religious Sanctuary" msgstr "" #: simulation/templates/campaigns/campaign_religious_test.xml:13 msgid "Greek Religious Sanctuary" msgstr "" #: simulation/templates/formations/battle_line.xml:4 msgid "Battle Line" msgstr "" #: simulation/templates/formations/box.xml:6 msgid "Box" msgstr "" #: simulation/templates/formations/box.xml:5 msgid "4 units required" msgstr "" #: simulation/templates/formations/column_closed.xml:4 msgid "Column Closed" msgstr "" #: simulation/templates/formations/column_open.xml:4 msgid "Column Open" msgstr "" #: simulation/templates/formations/flank.xml:6 msgid "Flank" msgstr "" #: simulation/templates/formations/flank.xml:5 msgid "8 units required" msgstr "" #: simulation/templates/formations/line_closed.xml:4 msgid "Line Closed" msgstr "" #: simulation/templates/formations/line_open.xml:4 msgid "Line Open" msgstr "" #: simulation/templates/formations/phalanx.xml:6 msgid "Phalanx" msgstr "" #: simulation/templates/formations/phalanx.xml:5 msgid "10 melee infantry units required" msgstr "" #: simulation/templates/formations/scatter.xml:4 msgid "Scatter" msgstr "" #: simulation/templates/formations/skirmish.xml:5 msgid "Skirmish" msgstr "" #: simulation/templates/formations/skirmish.xml:4 msgid "Only ranged units allowed" msgstr "" #: simulation/templates/formations/syntagma.xml:5 msgid "9 pike infantry units required" msgstr "" #: simulation/templates/formations/testudo.xml:6 msgid "Testudo" msgstr "" #: simulation/templates/formations/testudo.xml:5 msgid "9 melee infantry units required" msgstr "" #: simulation/templates/formations/wedge.xml:6 msgid "Wedge" msgstr "" #: simulation/templates/formations/wedge.xml:5 msgid "3 cavalry units required" msgstr "" #: simulation/templates/gaia/fauna_bear.xml:18 msgid "Bear" msgstr "" #: simulation/templates/gaia/fauna_boar.xml:18 msgid "Boar" msgstr "" #: simulation/templates/gaia/fauna_camel.xml:9 msgid "Camel" msgstr "" #: simulation/templates/gaia/fauna_chicken.xml:12 msgid "Chicken" msgstr "" #: simulation/templates/gaia/fauna_crocodile.xml:19 msgid "Nile Crocodile" msgstr "" #: simulation/templates/gaia/fauna_crocodile.xml:18 msgid "Crocodylus niloticus" msgstr "" #: simulation/templates/gaia/fauna_deer.xml:5 msgid "Deer" msgstr "" #: simulation/templates/gaia/fauna_elephant.xml:13 msgid "Elephant" msgstr "" #: simulation/templates/gaia/fauna_elephant_african_bush.xml:46 msgid "African Bush Elephant" msgstr "" #: simulation/templates/gaia/fauna_elephant_african_infant.xml:15 msgid "African Elephant (Infant)" msgstr "" #: simulation/templates/gaia/fauna_elephant_asian.xml:46 msgid "Asian Elephant" msgstr "" #: simulation/templates/gaia/fauna_elephant_north_african.xml:33 msgid "North African Elephant" msgstr "" #: simulation/templates/gaia/fauna_fish.xml:6 #: simulation/templates/gaia/fauna_fish_tuna.xml:6 msgid "Collect food from this bountiful oceanic resource." msgstr "" #: simulation/templates/gaia/fauna_fish.xml:5 #: simulation/templates/gaia/fauna_fish_tuna.xml:5 msgid "Tuna Fish" msgstr "" #: simulation/templates/gaia/fauna_fish_tilapia.xml:6 msgid "Collect food from this bountiful riparian resource." msgstr "" #: simulation/templates/gaia/fauna_fish_tilapia.xml:5 msgid "Tilapia Fish" msgstr "" #: simulation/templates/gaia/fauna_gazelle.xml:5 msgid "Gazelle" msgstr "" #: simulation/templates/gaia/fauna_giraffe.xml:12 msgid "Giraffe (Adult)" msgstr "" #: simulation/templates/gaia/fauna_giraffe_infant.xml:9 msgid "Giraffe (Juvenile)" msgstr "" #: simulation/templates/gaia/fauna_goat.xml:11 msgid "Goat" msgstr "" #: simulation/templates/gaia/fauna_horse.xml:9 msgid "Horse" msgstr "" #: simulation/templates/gaia/fauna_lion.xml:18 msgid "Lion" msgstr "" #: simulation/templates/gaia/fauna_lioness.xml:18 msgid "Lioness" msgstr "" #: simulation/templates/gaia/fauna_muskox.xml:9 msgid "Muskox" msgstr "" #: simulation/templates/gaia/fauna_peacock.xml:5 msgid "Peacock" msgstr "" #: simulation/templates/gaia/fauna_pig.xml:5 msgid "Pig" msgstr "" #: simulation/templates/gaia/fauna_rabbit.xml:9 msgid "Rabbit" msgstr "" #: simulation/templates/gaia/fauna_shark.xml:15 msgid "Shark" msgstr "" #: simulation/templates/gaia/fauna_shark.xml:14 msgid "Great White" msgstr "" #: simulation/templates/gaia/fauna_sheep.xml:11 msgid "Sheep" msgstr "" #: simulation/templates/gaia/fauna_tiger.xml:18 msgid "Tiger" msgstr "" #: simulation/templates/gaia/fauna_walrus.xml:23 msgid "Walrus" msgstr "" #: simulation/templates/gaia/fauna_whale_fin.xml:4 msgid "Fin Whale" msgstr "" #: simulation/templates/gaia/fauna_whale_humpback.xml:8 msgid "Humpback Whale" msgstr "" #: simulation/templates/gaia/fauna_wildebeest.xml:9 msgid "Wildebeest" msgstr "" #: simulation/templates/gaia/fauna_wolf.xml:18 msgid "Wolf" msgstr "" #: simulation/templates/gaia/fauna_wolf_snow.xml:18 msgid "Snow Wolf" msgstr "" #: simulation/templates/gaia/fauna_zebra.xml:9 msgid "Zebra" msgstr "" #: simulation/templates/gaia/flora_bush_badlands.xml:8 msgid "Hardy Bush" msgstr "" #: simulation/templates/gaia/flora_bush_grapes.xml:6 msgid "Gather grapes from these vines for Food." msgstr "" #: simulation/templates/gaia/flora_bush_grapes.xml:4 msgid "Forage" msgstr "" #: simulation/templates/gaia/flora_bush_grapes.xml:5 msgid "Grapes" msgstr "" #: simulation/templates/gaia/flora_bush_temperate.xml:8 msgid "Deciduous Bush" msgstr "" #: simulation/templates/gaia/flora_tree_aleppo_pine.xml:4 msgid "Aleppo Pine Tree" msgstr "" #: simulation/templates/gaia/flora_tree_apple.xml:8 msgid "Apple Tree" msgstr "" #: simulation/templates/gaia/flora_tree_baobab.xml:8 msgid "Baobab" msgstr "" #: simulation/templates/gaia/flora_tree_carob.xml:4 msgid "Carob Tree" msgstr "" #: simulation/templates/gaia/flora_tree_cretan_date_palm_patch.xml:8 #: simulation/templates/gaia/flora_tree_cretan_date_palm_short.xml:4 #: simulation/templates/gaia/flora_tree_cretan_date_palm_tall.xml:4 msgid "Cretan Date Palm" msgstr "" #: simulation/templates/gaia/flora_tree_cypress.xml:4 msgid "Cypress Tree" msgstr "" #: simulation/templates/gaia/flora_tree_date_palm.xml:4 msgid "Date Palm" msgstr "" #: simulation/templates/gaia/flora_tree_dead.xml:4 msgid "Dead Tree" msgstr "" #: simulation/templates/gaia/flora_tree_euro_beech.xml:4 #: simulation/templates/gaia/flora_tree_euro_beech_aut.xml:4 msgid "European Beech Tree" msgstr "" #: simulation/templates/gaia/flora_tree_fig.xml:10 msgid "Gather figs for Food." msgstr "" #: simulation/templates/gaia/flora_tree_fig.xml:8 msgid "Fig" msgstr "" #: simulation/templates/gaia/flora_tree_medit_fan_palm.xml:4 msgid "Mediterranean Fan Palm" msgstr "" #: simulation/templates/gaia/flora_tree_oak.xml:4 #: simulation/templates/gaia/flora_tree_oak_aut.xml:4 msgid "Oak Tree" msgstr "" #: simulation/templates/gaia/flora_tree_oak_large.xml:4 msgid "Large Oak Tree" msgstr "" #: simulation/templates/gaia/flora_tree_olive.xml:8 msgid "Olive Tree" msgstr "" #: simulation/templates/gaia/flora_tree_palm_tropic.xml:4 msgid "Palm" msgstr "" #: simulation/templates/gaia/flora_tree_palm_tropical.xml:4 msgid "Tropical Palm" msgstr "" #: simulation/templates/gaia/flora_tree_pine.xml:4 #: simulation/templates/gaia/flora_tree_pine_w.xml:4 msgid "Pine Tree" msgstr "" #: simulation/templates/gaia/flora_tree_poplar.xml:4 msgid "Poplar Tree" msgstr "" #: simulation/templates/gaia/flora_tree_poplar_lombardy.xml:4 msgid "Lombardy Poplar Tree" msgstr "" #: simulation/templates/gaia/flora_tree_senegal_date_palm.xml:4 msgid "Senegal Date Palm" msgstr "" #: simulation/templates/gaia/flora_tree_tamarix.xml:4 msgid "Tamarix Tree" msgstr "" #: simulation/templates/gaia/flora_tree_toona.xml:4 msgid "Toona Tree" msgstr "" #: simulation/templates/gaia/special_ruins.xml:10 #: simulation/templates/gaia/special_ruins_column_doric.xml:10 msgid "Ancient Ruins" msgstr "" #: simulation/templates/gaia/special_ruins_standing_stone.xml:9 #: simulation/templates/gaia/special_ruins_stone_statues_egyptian.xml:9 #: simulation/templates/gaia/special_ruins_stone_statues_roman.xml:9 msgid "Stone Ruins" msgstr "" #: simulation/templates/gaia/special_ruins_standing_stone.xml:10 #: simulation/templates/gaia/special_treasure_standing_stone.xml:10 msgid "Celtic Standing Stone" msgstr "" #: simulation/templates/gaia/special_ruins_stone_statues_egyptian.xml:10 msgid "Ptolemaic Egyptian Statues" msgstr "" #: simulation/templates/gaia/special_ruins_stone_statues_roman.xml:10 msgid "Roman Statues" msgstr "" #: simulation/templates/gaia/special_treasure_food_barrel.xml:10 #: simulation/templates/gaia/special_treasure_food_bin.xml:10 #: simulation/templates/gaia/special_treasure_food_crate.xml:10 #: simulation/templates/gaia/special_treasure_food_jars.xml:10 #: simulation/templates/gaia/special_treasure_food_persian_big.xml:9 #: simulation/templates/gaia/special_treasure_food_persian_small.xml:9 msgid "Food Treasure" msgstr "" #: simulation/templates/gaia/special_treasure_food_barrels_buried.xml:10 msgid "Half-buried Barrels" msgstr "" #: simulation/templates/gaia/special_treasure_food_persian_big.xml:10 msgid "Persian Food Stores" msgstr "" #: simulation/templates/gaia/special_treasure_food_persian_small.xml:10 msgid "Persian Food Treasure" msgstr "" #: simulation/templates/gaia/special_treasure_golden_fleece.xml:10 msgid "Golden Fleece" msgstr "" #: simulation/templates/gaia/special_treasure_metal.xml:9 #: simulation/templates/gaia/special_treasure_metal_persian_bigl.xml:9 #: simulation/templates/gaia/special_treasure_metal_persian_small.xml:9 msgid "Metal Treasure" msgstr "" #: simulation/templates/gaia/special_treasure_metal.xml:10 msgid "Secret Box" msgstr "" #: simulation/templates/gaia/special_treasure_metal_persian_bigl.xml:10 msgid "Persian Wares" msgstr "" #: simulation/templates/gaia/special_treasure_metal_persian_small.xml:10 msgid "Persian Rugs" msgstr "" #: simulation/templates/gaia/special_treasure_pegasus.xml:10 msgid "Pegasus" msgstr "" #: simulation/templates/gaia/special_treasure_standing_stone.xml:9 #: simulation/templates/gaia/special_treasure_stone.xml:10 msgid "Stone Treasure" msgstr "" #: simulation/templates/gaia/special_treasure_wood.xml:10 msgid "Wood Treasure" msgstr "" #: simulation/templates/other/bench.xml:20 msgid "Bench" msgstr "" #: simulation/templates/other/bench.xml:21 msgid "Wooden Bench" msgstr "" #: simulation/templates/other/bridge_hele.xml:15 #: simulation/templates/other/bridge_hele.xml:16 msgid "Bridge" msgstr "" #: simulation/templates/other/bridge_wooden.xml:15 #: simulation/templates/other/bridge_wooden.xml:16 msgid "Wooden Bridge" msgstr "" #: simulation/templates/other/cart_tophet.xml:25 msgid "Train physicians and Sacred Band Cavalrymen." msgstr "" #: simulation/templates/other/cart_tophet.xml:22 msgid "Sacrificial Temple" msgstr "" #: simulation/templates/other/cart_tophet.xml:23 msgid "Tophet" msgstr "" #: simulation/templates/other/celt_homestead.xml:25 msgid "A Celtic homestead." msgstr "" #: simulation/templates/other/celt_homestead.xml:22 msgid "Homestead" msgstr "" #: simulation/templates/other/celt_homestead.xml:23 #: simulation/templates/structures/brit_civil_centre.xml:9 #: simulation/templates/structures/celt_civil_centre.xml:9 #: simulation/templates/structures/gaul_civil_centre.xml:9 msgid "Caer" msgstr "" #: simulation/templates/other/celt_hut.xml:23 msgid "Add +2 to Population Cap." msgstr "" #: simulation/templates/other/celt_hut.xml:21 msgid "Hut" msgstr "" #: simulation/templates/other/celt_longhouse.xml:24 #: simulation/templates/other/hellenic_propylaea.xml:28 #: simulation/templates/other/hellenic_stoa.xml:28 msgid "Add +10 to Population Cap." msgstr "" #: simulation/templates/other/celt_longhouse.xml:22 msgid "Longhouse" msgstr "" #: simulation/templates/other/column_doric.xml:20 #: simulation/templates/other/column_doric_fallen.xml:20 #: simulation/templates/other/column_doric_fallen_b.xml:20 msgid "Column" msgstr "" #: simulation/templates/other/column_doric.xml:21 msgid "Doric Column" msgstr "" #: simulation/templates/other/column_doric_fallen.xml:21 #: simulation/templates/other/column_doric_fallen_b.xml:21 msgid "Fallen Doric Column" msgstr "" #: simulation/templates/other/fence_long.xml:20 #: simulation/templates/other/fence_short.xml:20 msgid "Fence" msgstr "" #: simulation/templates/other/fence_long.xml:21 msgid "Long Wooden Fence" msgstr "" #: simulation/templates/other/fence_short.xml:21 msgid "Short Wooden Fence" msgstr "" #: simulation/templates/other/fence_stone.xml:20 #: simulation/templates/other/fence_stone.xml:21 msgid "Stone Fence" msgstr "" #: simulation/templates/other/generic_field.xml:9 msgid "Wheat Field" msgstr "" #: simulation/templates/other/hellenic_epic_temple.xml:33 #: simulation/templates/structures/rome_temple_mars.xml:15 msgid "Train healers. Garrison up to 30 units to heal them at a quick rate." msgstr "" #: simulation/templates/other/hellenic_epic_temple.xml:30 msgid "Epic Temple" msgstr "" #: simulation/templates/other/hellenic_epic_temple.xml:31 msgid "Naos Parthenos" msgstr "" #: simulation/templates/other/hellenic_propylaea.xml:25 msgid "Portico" msgstr "" #: simulation/templates/other/hellenic_propylaea.xml:26 msgid "Propylaea" msgstr "" #: simulation/templates/other/hellenic_royal_stoa.xml:33 msgid "Add +10 to Population Cap. Recruit special units." msgstr "" #: simulation/templates/other/hellenic_royal_stoa.xml:30 #: simulation/templates/other/hellenic_stoa.xml:25 msgid "Stoa" msgstr "" #: simulation/templates/other/hellenic_royal_stoa.xml:31 msgid "Hellenic Royal Stoa" msgstr "" #: simulation/templates/other/hellenic_stoa.xml:26 msgid "Hellenic Stoa" msgstr "" #: simulation/templates/other/maur_palace.xml:14 msgid "Add +15 to Population Cap. Recruit extra units and heroes." msgstr "" #: simulation/templates/other/maur_palace.xml:12 msgid "Harmya" msgstr "" #: simulation/templates/other/obelisk.xml:20 msgid "Obelisk" msgstr "" #: simulation/templates/other/obelisk.xml:21 msgid "Egyptian Obelisk" msgstr "" #: simulation/templates/other/palisades_angle_spike.xml:17 msgid "Big Spike" msgstr "" #: simulation/templates/other/palisades_angle_spike.xml:16 msgid "Palisade Angle Spike" msgstr "" #: simulation/templates/other/palisades_rocks_curve.xml:16 msgid "Wooden Wall Corner" msgstr "" #: simulation/templates/other/palisades_rocks_curve.xml:15 msgid "Palisade Curve" msgstr "" #: simulation/templates/other/palisades_rocks_end.xml:16 msgid "Wooden Wall End" msgstr "" #: simulation/templates/other/palisades_rocks_end.xml:15 msgid "Palisade End" msgstr "" #: simulation/templates/other/palisades_rocks_fort.xml:21 msgid "Wooden Tower" msgstr "" #: simulation/templates/other/palisades_rocks_fort.xml:20 msgid "Palisade Fort" msgstr "" #: simulation/templates/other/palisades_rocks_gate.xml:21 msgid "Wooden Gate" msgstr "" #: simulation/templates/other/palisades_rocks_gate.xml:20 msgid "Palisade Gate" msgstr "" #: simulation/templates/other/palisades_rocks_long.xml:22 #: simulation/templates/other/palisades_rocks_medium.xml:22 #: simulation/templates/other/palisades_rocks_short.xml:22 #: simulation/templates/other/palisades_rocks_straight.xml:16 #: simulation/templates/other/palisades_rocks_tower.xml:22 #: simulation/templates/other/wallset_palisade.xml:5 msgid "Wooden Wall" msgstr "" #: simulation/templates/other/palisades_rocks_long.xml:21 #: simulation/templates/other/palisades_rocks_medium.xml:21 #: simulation/templates/other/palisades_rocks_short.xml:21 #: simulation/templates/other/palisades_rocks_straight.xml:15 #: simulation/templates/other/palisades_rocks_tower.xml:21 #: simulation/templates/other/wallset_palisade.xml:6 msgid "Palisade" msgstr "" #: simulation/templates/other/palisades_rocks_outpost.xml:16 #: simulation/templates/other/palisades_rocks_watchtower.xml:16 msgid "Wooden Watch Tower" msgstr "" #: simulation/templates/other/palisades_rocks_watchtower.xml:15 msgid "Watchtower" msgstr "" #: simulation/templates/other/palisades_small_spikes.xml:17 msgid "Small Spikes" msgstr "" #: simulation/templates/other/palisades_small_spikes.xml:16 msgid "Spikes Small" msgstr "" #: simulation/templates/other/palisades_tall_spikes.xml:17 msgid "Tall Spikes" msgstr "" #: simulation/templates/other/palisades_tall_spikes.xml:16 msgid "Spikes Tall" msgstr "" #: simulation/templates/other/pers_apartment_block.xml:15 msgid "Apartment Block" msgstr "" #: simulation/templates/other/pers_house_b.xml:15 #: simulation/templates/other/pers_inn.xml:15 msgid "Inn" msgstr "" #: simulation/templates/other/pers_warehouse.xml:12 msgid "Warehouse" msgstr "" #: simulation/templates/other/plane.xml:40 msgid "A World War 2 American fighter plane." msgstr "" #: simulation/templates/other/plane.xml:38 msgid "P-51 Mustang" msgstr "" #: simulation/templates/other/pyramid_great.xml:9 #: simulation/templates/other/pyramid_minor.xml:9 msgid "Pyramid" msgstr "" #: simulation/templates/other/pyramid_great.xml:10 msgid "Great Pyramid" msgstr "" #: simulation/templates/other/pyramid_minor.xml:10 msgid "Minor Pyramid" msgstr "" #: simulation/templates/other/special_treasure_shipwreck.xml:11 msgid "A decaying military shipwreck. A good opportunity for any businessman." msgstr "" #: simulation/templates/other/special_treasure_shipwreck.xml:10 #: simulation/templates/other/special_treasure_shipwreck_ram_bow.xml:10 #: simulation/templates/other/special_treasure_shipwreck_sail_boat.xml:10 #: simulation/templates/other/special_treasure_shipwreck_sail_boat_cut.xml:10 msgid "Shipwreck" msgstr "" #: simulation/templates/other/special_treasure_shipwreck_debris.xml:10 msgid "Shipwreck Cargo" msgstr "" #: simulation/templates/other/special_treasure_shipwreck_ram_bow.xml:11 msgid "A shipwreck with much loss of life. A good opportunity for any businessman." msgstr "" #: simulation/templates/other/special_treasure_shipwreck_sail_boat.xml:11 msgid "The wreck of a small cargo ship. A good opportunity for any businessman." msgstr "" #: simulation/templates/other/special_treasure_shipwreck_sail_boat_cut.xml:11 msgid "A cargo ship rammed in half. A good opportunity for any businessman." msgstr "" #: simulation/templates/other/stall_big.xml:12 msgid "Big stall" msgstr "" #: simulation/templates/other/stall_med.xml:12 msgid "Medium stall" msgstr "" #: simulation/templates/other/stall_small_a.xml:12 msgid "Small stall" msgstr "" #: simulation/templates/other/stall_small_b.xml:12 msgid "Small stall b" msgstr "" #: simulation/templates/other/table_rectangle.xml:20 #: simulation/templates/other/table_square.xml:20 msgid "Table" msgstr "" #: simulation/templates/other/table_rectangle.xml:21 msgid "Rectangle Table" msgstr "" #: simulation/templates/other/table_square.xml:21 msgid "Square Table" msgstr "" #: simulation/templates/other/temp_hele_super_infantry_p.xml:5 msgid "Spartiate with Xiphos" msgstr "" #: simulation/templates/other/unfinished_greek_temple.xml:12 msgid "This temple is unfinished and has fallen to ruin." msgstr "" #: simulation/templates/other/unfinished_greek_temple.xml:10 msgid "Unfinished Greek Temple" msgstr "" #: simulation/templates/skirmish/structures/default_house_10.xml:5 msgid "" "Changes in a 10-pop house for civilisations with those houses, is deleted for" " other civs" msgstr "" #: simulation/templates/skirmish/structures/default_house_5.xml:5 msgid "" "Changes in a 5-pop house for civilisations with those houses, is deleted for " "other civs" msgstr "" #: simulation/templates/structures/athen_barracks.xml:18 #: simulation/templates/structures/hele_barracks.xml:20 #: simulation/templates/structures/mace_barracks.xml:18 #: simulation/templates/structures/spart_barracks.xml:18 msgid "Stratēgeîon" msgstr "" #: simulation/templates/structures/athen_blacksmith.xml:5 #: simulation/templates/structures/spart_blacksmith.xml:5 msgid "Khalkeîon" msgstr "" #: simulation/templates/structures/athen_civil_centre.xml:8 #: simulation/templates/structures/hele_civil_centre.xml:12 #: simulation/templates/structures/mace_civil_centre.xml:8 #: simulation/templates/structures/sele_civil_centre.xml:8 #: simulation/templates/structures/spart_civil_centre.xml:8 msgid "Agorā́" msgstr "" #: simulation/templates/structures/athen_corral.xml:12 #: simulation/templates/structures/hele_corral.xml:16 #: simulation/templates/structures/mace_corral.xml:12 #: simulation/templates/structures/sele_corral.xml:12 #: simulation/templates/structures/spart_corral.xml:12 msgid "Épaulos" msgstr "" #: simulation/templates/structures/athen_defense_tower.xml:9 #: simulation/templates/structures/hele_defense_tower.xml:15 #: simulation/templates/structures/mace_defense_tower.xml:9 #: simulation/templates/structures/sele_defense_tower.xml:9 #: simulation/templates/structures/spart_defense_tower.xml:9 msgid "Pyrgíon" msgstr "" #: simulation/templates/structures/athen_dock.xml:12 #: simulation/templates/structures/hele_dock.xml:16 #: simulation/templates/structures/mace_dock.xml:12 #: simulation/templates/structures/spart_dock.xml:12 msgid "Limḗn" msgstr "" #: simulation/templates/structures/athen_farmstead.xml:12 #: simulation/templates/structures/hele_farmstead.xml:16 #: simulation/templates/structures/mace_farmstead.xml:12 #: simulation/templates/structures/sele_farmstead.xml:12 #: simulation/templates/structures/spart_farmstead.xml:12 msgid "Sītobólion" msgstr "" #: simulation/templates/structures/athen_field.xml:5 #: simulation/templates/structures/hele_field.xml:5 #: simulation/templates/structures/mace_field.xml:5 #: simulation/templates/structures/sele_field.xml:5 #: simulation/templates/structures/spart_field.xml:5 msgid "Agrós" msgstr "" #: simulation/templates/structures/athen_fortress.xml:10 #: simulation/templates/structures/hele_fortress.xml:16 msgid "Build siege engines. Garrison up to 20 soldiers inside for stout defense." msgstr "" #: simulation/templates/structures/athen_fortress.xml:9 msgid "Epiteíchisma" msgstr "" #: simulation/templates/structures/athen_gymnasion.xml:22 #: simulation/templates/structures/hele_gymnasion.xml:23 msgid "Train champion units." msgstr "" #: simulation/templates/structures/athen_gymnasion.xml:20 #: simulation/templates/structures/hele_gymnasion.xml:21 msgid "Gymnasium" msgstr "" #: simulation/templates/structures/athen_gymnasion.xml:21 msgid "Gymnásieon" msgstr "" #: simulation/templates/structures/athen_house.xml:18 #: simulation/templates/structures/hele_house.xml:18 #: simulation/templates/structures/mace_house.xml:18 #: simulation/templates/structures/sele_house.xml:18 #: simulation/templates/structures/spart_house.xml:18 msgid "Oîkos" msgstr "" #: simulation/templates/structures/athen_market.xml:5 #: simulation/templates/structures/hele_market.xml:11 #: simulation/templates/structures/mace_market.xml:5 #: simulation/templates/structures/sele_market.xml:5 #: simulation/templates/structures/spart_market.xml:5 msgid "Empórion" msgstr "" #: simulation/templates/structures/athen_outpost.xml:5 #: simulation/templates/structures/hele_outpost.xml:5 #: simulation/templates/structures/mace_outpost.xml:5 #: simulation/templates/structures/spart_outpost.xml:5 msgid "Greek Outpost" msgstr "" #: simulation/templates/structures/athen_prytaneion.xml:26 msgid "Train heroes. Research special technologies." msgstr "" #: simulation/templates/structures/athen_prytaneion.xml:24 #: simulation/templates/structures/hele_prytaneion.xml:21 msgid "Council Chamber" msgstr "" #: simulation/templates/structures/athen_prytaneion.xml:25 #: simulation/templates/structures/hele_prytaneion.xml:22 msgid "Prytaneîon" msgstr "" #: simulation/templates/structures/athen_storehouse.xml:5 #: simulation/templates/structures/hele_storehouse.xml:11 #: simulation/templates/structures/mace_storehouse.xml:5 #: simulation/templates/structures/sele_storehouse.xml:5 #: simulation/templates/structures/spart_storehouse.xml:5 msgid "Apothḗkē" msgstr "" #: simulation/templates/structures/athen_temple.xml:9 #: simulation/templates/structures/hele_temple.xml:15 msgid "Neṓs" msgstr "" #: simulation/templates/structures/athen_theatron.xml:31 #: simulation/templates/structures/hele_theatron.xml:31 #: simulation/templates/structures/mace_theatron.xml:31 #: simulation/templates/structures/spart_theatron.xml:31 #: simulation/templates/structures/theb_theatron.xml:31 msgid "" "Exellinismós (Hellenization): +20% territory influence for all buildings " "while the Theatron exists." msgstr "" #: simulation/templates/structures/athen_theatron.xml:28 #: simulation/templates/structures/hele_theatron.xml:28 #: simulation/templates/structures/mace_theatron.xml:28 #: simulation/templates/structures/spart_theatron.xml:28 #: simulation/templates/structures/theb_theatron.xml:28 msgid "Greek Theater" msgstr "" #: simulation/templates/structures/athen_theatron.xml:29 #: simulation/templates/structures/hele_theatron.xml:29 #: simulation/templates/structures/mace_theatron.xml:29 #: simulation/templates/structures/spart_theatron.xml:29 #: simulation/templates/structures/theb_theatron.xml:29 msgid "Théātron" msgstr "" #: simulation/templates/structures/athen_wall_gate.xml:9 #: simulation/templates/structures/hele_wall_gate.xml:9 #: simulation/templates/structures/mace_wall_gate.xml:9 #: simulation/templates/structures/sele_wall_gate.xml:9 #: simulation/templates/structures/spart_wall_gate.xml:9 msgid "Pýlai" msgstr "" #: simulation/templates/structures/athen_wall_long.xml:10 #: simulation/templates/structures/athen_wall_medium.xml:10 #: simulation/templates/structures/athen_wall_short.xml:10 #: simulation/templates/structures/athen_wallset_stone.xml:5 #: simulation/templates/structures/hele_wall_long.xml:10 #: simulation/templates/structures/hele_wall_medium.xml:13 #: simulation/templates/structures/hele_wall_short.xml:10 #: simulation/templates/structures/hele_wallset_stone.xml:5 #: simulation/templates/structures/mace_wall_long.xml:10 #: simulation/templates/structures/mace_wall_medium.xml:10 #: simulation/templates/structures/mace_wall_short.xml:10 #: simulation/templates/structures/mace_wallset_stone.xml:5 #: simulation/templates/structures/sele_wall_long.xml:10 #: simulation/templates/structures/sele_wall_medium.xml:10 #: simulation/templates/structures/sele_wall_short.xml:10 #: simulation/templates/structures/sele_wallset_stone.xml:5 #: simulation/templates/structures/spart_wall_long.xml:10 #: simulation/templates/structures/spart_wall_medium.xml:13 #: simulation/templates/structures/spart_wall_short.xml:13 #: simulation/templates/structures/spart_wallset_stone.xml:5 msgid "Teîkhos" msgstr "" #: simulation/templates/structures/athen_wall_tower.xml:9 #: simulation/templates/structures/hele_wall_tower.xml:9 #: simulation/templates/structures/mace_wall_tower.xml:9 #: simulation/templates/structures/sele_wall_tower.xml:9 #: simulation/templates/structures/spart_wall_tower.xml:9 msgid "Pýrgos" msgstr "" #: simulation/templates/structures/athen_wonder.xml:19 #: simulation/templates/structures/hele_wonder.xml:19 #: simulation/templates/structures/mace_wonder.xml:19 #: simulation/templates/structures/spart_wonder.xml:19 msgid "" "Bring glory to your civilization and add large tracts of land to your empire." " Garrison up to 30 units to heal them at a quick rate." msgstr "" #: simulation/templates/structures/athen_wonder.xml:17 #: simulation/templates/structures/hele_wonder.xml:17 #: simulation/templates/structures/mace_wonder.xml:17 #: simulation/templates/structures/spart_wonder.xml:17 msgid "Neṓs Parthenos" msgstr "" #: simulation/templates/structures/brit_barracks.xml:15 #: simulation/templates/structures/celt_barracks.xml:15 #: simulation/templates/structures/gaul_barracks.xml:15 msgid "Gwersyllty" msgstr "" #: simulation/templates/structures/brit_blacksmith.xml:8 #: simulation/templates/structures/celt_blacksmith.xml:8 #: simulation/templates/structures/gaul_blacksmith.xml:8 msgid "Amoridas" msgstr "" #: simulation/templates/structures/brit_corral.xml:9 #: simulation/templates/structures/celt_corral.xml:9 #: simulation/templates/structures/gaul_corral.xml:9 msgid "Cavalidos" msgstr "" #: simulation/templates/structures/brit_crannog.xml:24 msgid "Increase population limit and defend waterways" msgstr "" #: simulation/templates/structures/brit_crannog.xml:21 msgid "Island Settlement" msgstr "" #: simulation/templates/structures/brit_crannog.xml:25 #: simulation/templates/structures/brit_dock.xml:15 #: simulation/templates/structures/celt_dock.xml:15 #: simulation/templates/structures/gaul_dock.xml:15 msgid "Crannóc" msgstr "" #: simulation/templates/structures/brit_defense_tower.xml:9 #: simulation/templates/structures/brit_wall_tower.xml:11 #: simulation/templates/structures/celt_defense_tower.xml:9 #: simulation/templates/structures/celt_wall_tower.xml:11 #: simulation/templates/structures/gaul_defense_tower.xml:9 #: simulation/templates/structures/gaul_wall_tower.xml:11 msgid "Tyrau" msgstr "" #: simulation/templates/structures/brit_farmstead.xml:8 #: simulation/templates/structures/celt_farmstead.xml:8 #: simulation/templates/structures/gaul_farmstead.xml:12 msgid "Ffermdy" msgstr "" #: simulation/templates/structures/brit_field.xml:5 #: simulation/templates/structures/celt_field.xml:5 #: simulation/templates/structures/gaul_field.xml:5 msgid "Varmo" msgstr "" #: simulation/templates/structures/brit_fortress.xml:22 #: simulation/templates/structures/celt_fortress_b.xml:22 msgid "Train Brythonic heroes and champions. Construct siege rams." msgstr "" #: simulation/templates/structures/brit_fortress.xml:21 #: simulation/templates/structures/celt_fortress_b.xml:21 msgid "Brythonic Broch" msgstr "" #: simulation/templates/structures/brit_house.xml:9 #: simulation/templates/structures/celt_house.xml:9 #: simulation/templates/structures/gaul_house.xml:9 msgid "Annedd" msgstr "" #: simulation/templates/structures/brit_kennel.xml:35 #: simulation/templates/structures/celt_kennel.xml:35 msgid "Train Celtic war dogs." msgstr "" #: simulation/templates/structures/brit_market.xml:15 #: simulation/templates/structures/celt_market.xml:15 #: simulation/templates/structures/gaul_market.xml:15 msgid "Marchnaty" msgstr "" #: simulation/templates/structures/brit_outpost.xml:5 msgid "Brythonic Outpost" msgstr "" #: simulation/templates/structures/brit_rotarymill.xml:22 #: simulation/templates/structures/celt_sb1.xml:25 #: simulation/templates/structures/gaul_rotarymill.xml:22 msgid "" "Increase nearby farming output +25%. (Currently, a special technology can be " "researched to serve this function)" msgstr "" #: simulation/templates/structures/brit_rotarymill.xml:20 #: simulation/templates/structures/celt_sb1.xml:23 #: simulation/templates/structures/gaul_rotarymill.xml:20 msgid "Rotary Mill" msgstr "" #: simulation/templates/structures/brit_storehouse.xml:8 #: simulation/templates/structures/celt_storehouse.xml:8 #: simulation/templates/structures/gaul_storehouse.xml:8 msgid "Ystordy" msgstr "" #: simulation/templates/structures/brit_temple.xml:19 #: simulation/templates/structures/celt_temple.xml:19 #: simulation/templates/structures/gaul_temple.xml:19 msgid "Addoldy" msgstr "" #: simulation/templates/structures/brit_wall_gate.xml:16 msgid "Dor" msgstr "" #: simulation/templates/structures/brit_wall_long.xml:10 #: simulation/templates/structures/brit_wall_medium.xml:13 #: simulation/templates/structures/brit_wall_short.xml:13 #: simulation/templates/structures/brit_wallset_stone.xml:5 #: simulation/templates/structures/celt_wall.xml:9 #: simulation/templates/structures/celt_wall_long.xml:10 #: simulation/templates/structures/celt_wall_medium.xml:13 #: simulation/templates/structures/celt_wall_short.xml:13 #: simulation/templates/structures/celt_wallset_stone.xml:5 #: simulation/templates/structures/gaul_wall_long.xml:10 #: simulation/templates/structures/gaul_wall_medium.xml:13 #: simulation/templates/structures/gaul_wall_short.xml:13 #: simulation/templates/structures/gaul_wallset_stone.xml:5 msgid "Gwarchglawdd" msgstr "" #: simulation/templates/structures/brit_wall_tower.xml:13 #: simulation/templates/structures/celt_wall_tower.xml:13 #: simulation/templates/structures/gaul_wall_tower.xml:13 msgid "Does not shoot or garrison." msgstr "" #: simulation/templates/structures/brit_wonder.xml:9 #: simulation/templates/structures/celt_wonder.xml:9 #: simulation/templates/structures/gaul_wonder.xml:9 #: simulation/templates/structures/iber_wonder.xml:9 msgid "Stonehenge" msgstr "" #: simulation/templates/structures/cart_barracks.xml:20 msgid "" "Train North African citizen-soldiers. Research improvements for North African" " units." msgstr "" #: simulation/templates/structures/cart_barracks.xml:18 msgid "Maḥanēt" msgstr "" #: simulation/templates/structures/cart_blacksmith.xml:5 #: simulation/templates/structures/ptol_blacksmith.xml:5 #: simulation/templates/structures/ptol_field.xml:5 #: simulation/templates/structures/ptol_temple.xml:12 msgid "?" msgstr "" #: simulation/templates/structures/cart_civil_centre.xml:5 msgid "Merkāz" msgstr "" #: simulation/templates/structures/cart_corral.xml:12 msgid "Rēfet" msgstr "" #: simulation/templates/structures/cart_defense_tower.xml:9 #: simulation/templates/structures/cart_wall_tower.xml:12 msgid "Mijdil" msgstr "" #: simulation/templates/structures/cart_dock.xml:20 msgid "" "Construct fishing boats to gather meat and merchant ships to trade with other" " docks." msgstr "" #: simulation/templates/structures/cart_dock.xml:17 msgid "Commercial Port" msgstr "" #: simulation/templates/structures/cart_dock.xml:18 msgid "Namel" msgstr "" #: simulation/templates/structures/cart_embassy.xml:22 msgid "Hire mercenaries." msgstr "" #: simulation/templates/structures/cart_embassy_celtic.xml:22 msgid "Hire Celtic mercenaries. Research improvements for these mercenaries." msgstr "" #: simulation/templates/structures/cart_embassy_iberian.xml:15 msgid "Hire Iberian mercenaries. Research improvements for these mercenaries." msgstr "" #: simulation/templates/structures/cart_embassy_italiote.xml:22 msgid "Hire Italian mercenaries. Research improvements for these mercenaries." msgstr "" #: simulation/templates/structures/cart_farmstead.xml:9 msgid "Aḥuzāh" msgstr "" #: simulation/templates/structures/cart_field.xml:5 msgid "Šadd" msgstr "" #: simulation/templates/structures/cart_fortress.xml:9 msgid "Blockhouse Fort" msgstr "" #: simulation/templates/structures/cart_fortress.xml:10 msgid "Ḥamet" msgstr "" #: simulation/templates/structures/cart_house.xml:22 msgid "Bet" msgstr "" #: simulation/templates/structures/cart_market.xml:12 msgid "Šūq" msgstr "" #: simulation/templates/structures/cart_outpost.xml:5 msgid "Carthaginian Outpost" msgstr "" #: simulation/templates/structures/cart_storehouse.xml:9 msgid "Maḥṣabah" msgstr "" #: simulation/templates/structures/cart_super_dock.xml:14 msgid "Construct and repair mighty warships." msgstr "" #: simulation/templates/structures/cart_super_dock.xml:11 msgid "Cothon" msgstr "" #: simulation/templates/structures/cart_temple.xml:16 msgid "" "Train priestesses to heal your troops. Train Sacred Band pikemen. Garrison up" " to 15 units to heal them at a quick rate." msgstr "" #: simulation/templates/structures/cart_temple.xml:14 msgid "Maqdaš" msgstr "" #: simulation/templates/structures/cart_wall.xml:18 #: simulation/templates/structures/cart_wallset_stone.xml:5 msgid "Jdar" msgstr "" #: simulation/templates/structures/cart_wall_gate.xml:9 msgid "Mijdil-šaʿar" msgstr "" #: simulation/templates/structures/cart_wall_long.xml:10 #: simulation/templates/structures/cart_wall_medium.xml:10 #: simulation/templates/structures/cart_wall_short.xml:10 msgid "Homah" msgstr "" #: simulation/templates/structures/cart_wonder.xml:17 msgid "Temple of Ba'al Hammon" msgstr "" #: simulation/templates/structures/celt_fortress_g.xml:12 #: simulation/templates/structures/gaul_fortress.xml:9 msgid "Train Gallic heroes and champions. Construct siege rams." msgstr "" #: simulation/templates/structures/celt_fortress_g.xml:11 #: simulation/templates/structures/gaul_fortress.xml:8 msgid "Gallic Dun" msgstr "" #: simulation/templates/structures/celt_outpost.xml:5 msgid "Celtic Outpost" msgstr "" #: simulation/templates/structures/celt_slope_tower.xml:9 #: simulation/templates/structures/celt_slope_wall.xml:9 msgid "Earthworks" msgstr "" #: simulation/templates/structures/celt_wall_gate.xml:16 msgid "Gate" msgstr "" #: simulation/templates/structures/gaul_outpost.xml:5 msgid "Gallic Outpost" msgstr "" #: simulation/templates/structures/gaul_tavern.xml:26 msgid "Add +10 to Population Cap. Recruit Naked Fanatics." msgstr "" #: simulation/templates/structures/gaul_tavern.xml:23 msgid "Tavern" msgstr "" #: simulation/templates/structures/gaul_tavern.xml:24 msgid "Taberna" msgstr "" #: simulation/templates/structures/gaul_wall_gate.xml:16 msgid "Duro" msgstr "" #: simulation/templates/structures/hele_blacksmith.xml:11 #: simulation/templates/structures/mace_blacksmith.xml:5 #: simulation/templates/structures/sele_blacksmith.xml:5 msgid "Sidirourgeíon" msgstr "" #: simulation/templates/structures/hele_fortress.xml:15 #: simulation/templates/structures/mace_fortress.xml:15 #: simulation/templates/structures/spart_fortress.xml:9 msgid "Teíchisma" msgstr "" #: simulation/templates/structures/hele_gymnasion.xml:22 msgid "Gymnásion" msgstr "" #: simulation/templates/structures/hele_prytaneion.xml:23 #: simulation/templates/structures/spart_gerousia.xml:23 msgid "Train heroes." msgstr "" #: simulation/templates/structures/iber_barracks.xml:11 msgid "Kaserna" msgstr "" #: simulation/templates/structures/iber_blacksmith.xml:5 msgid "Harotz" msgstr "" #: simulation/templates/structures/iber_civil_centre.xml:5 msgid "Oppidum" msgstr "" #: simulation/templates/structures/iber_corral.xml:12 msgid "Saroe" msgstr "" #: simulation/templates/structures/iber_defense_tower.xml:27 #: simulation/templates/structures/iber_wall_tower.xml:9 msgid "Dorre" msgstr "" #: simulation/templates/structures/iber_dock.xml:12 msgid "Kai" msgstr "" #: simulation/templates/structures/iber_farmstead.xml:5 msgid "Baserri" msgstr "" #: simulation/templates/structures/iber_field.xml:5 msgid "Soro" msgstr "" #: simulation/templates/structures/iber_fortress.xml:16 msgid "Castro" msgstr "" #: simulation/templates/structures/iber_house.xml:12 msgid "Etxe" msgstr "" #: simulation/templates/structures/iber_market.xml:12 msgid "Arruga" msgstr "" #: simulation/templates/structures/iber_monument.xml:39 msgid "" "All units within vision of this monument will fight harder. Effect Range: 50 " "meters." msgstr "" #: simulation/templates/structures/iber_monument.xml:36 msgid "Revered Monument" msgstr "" #: simulation/templates/structures/iber_outpost.xml:5 msgid "Iberian Outpost" msgstr "" #: simulation/templates/structures/iber_storehouse.xml:5 msgid "Ola" msgstr "" #: simulation/templates/structures/iber_temple.xml:12 msgid "Loki" msgstr "" #: simulation/templates/structures/iber_wall.xml:9 #: simulation/templates/structures/iber_wall_long.xml:10 #: simulation/templates/structures/iber_wall_medium.xml:13 #: simulation/templates/structures/iber_wall_short.xml:13 #: simulation/templates/structures/iber_wallset_stone.xml:5 msgid "Zabal Horma" msgstr "" #: simulation/templates/structures/iber_wall_gate.xml:9 msgid "Biko Sarbide" msgstr "" #: simulation/templates/structures/mace_fortress.xml:16 msgid "" "Train Champions and Heroes. Garrison up to 15 soldiers inside for stout " "defense." msgstr "" #: simulation/templates/structures/mace_library.xml:17 #: simulation/templates/structures/ptol_library.xml:17 #: simulation/templates/structures/sele_library.xml:17 msgid "" "Research special technologies and reduce the research time of all remaining " "technologies." msgstr "" #: simulation/templates/structures/mace_library.xml:16 #: simulation/templates/structures/sele_library.xml:16 msgid "Bibliothikon" msgstr "" #: simulation/templates/structures/mace_siege_workshop.xml:20 msgid "Build siege engines. Research siege technologies." msgstr "" #: simulation/templates/structures/mace_siege_workshop.xml:17 msgid "Synergeíon Poliorkías" msgstr "" #: simulation/templates/structures/mace_temple.xml:9 msgid "Asclepeion" msgstr "" #: simulation/templates/structures/maur_barracks.xml:9 msgid "Sainyavasa" msgstr "" #: simulation/templates/structures/maur_blacksmith.xml:5 msgid "Lohakāra" msgstr "" #: simulation/templates/structures/maur_civil_centre.xml:9 msgid "Rajadhanika" msgstr "" #: simulation/templates/structures/maur_corral.xml:12 msgid "Goshala" msgstr "" #: simulation/templates/structures/maur_defense_tower.xml:5 msgid "Udarka" msgstr "" #: simulation/templates/structures/maur_dock.xml:9 msgid "Naukasthanaka" msgstr "" #: simulation/templates/structures/maur_elephant_stables.xml:26 msgid "Train elephant units." msgstr "" #: simulation/templates/structures/maur_elephant_stables.xml:22 msgid "Vāraṇaśālā" msgstr "" #: simulation/templates/structures/maur_farmstead.xml:12 msgid "Kantu" msgstr "" #: simulation/templates/structures/maur_field.xml:5 msgid "Kshetra" msgstr "" #: simulation/templates/structures/maur_fortress.xml:7 msgid "Train heroes and champion units." msgstr "" #: simulation/templates/structures/maur_fortress.xml:5 msgid "Durg" msgstr "" #: simulation/templates/structures/maur_house.xml:9 msgid "Griham" msgstr "" #: simulation/templates/structures/maur_market.xml:12 msgid "Vipana" msgstr "" #: simulation/templates/structures/maur_outpost.xml:5 msgid "Uparaksana" msgstr "" #: simulation/templates/structures/maur_pillar_ashoka.xml:29 msgid "The famous pillar of Ashoka. Currently a useless structure." msgstr "" #: simulation/templates/structures/maur_pillar_ashoka.xml:27 msgid "Śāsana Stambha Aśokā" msgstr "" #: simulation/templates/structures/maur_storehouse.xml:5 msgid "Khalla" msgstr "" #: simulation/templates/structures/maur_temple.xml:12 msgid "Devalaya" msgstr "" #: simulation/templates/structures/maur_wall.xml:9 #: simulation/templates/structures/maur_wall_long.xml:16 #: simulation/templates/structures/maur_wall_medium.xml:16 #: simulation/templates/structures/maur_wall_short.xml:16 #: simulation/templates/structures/maur_wallset_stone.xml:5 msgid "Shilabanda" msgstr "" #: simulation/templates/structures/maur_wall_gate.xml:9 msgid "Dwara" msgstr "" #: simulation/templates/structures/maur_wall_tower.xml:18 msgid "Puratta" msgstr "" #: simulation/templates/structures/maur_wonder.xml:9 msgid "Great Stupa" msgstr "" #: simulation/templates/structures/merc_camp_egyptian.xml:7 #: simulation/templates/structures/ptol_mercenary_camp.xml:7 msgid "MercenaryCamp" msgstr "" #: simulation/templates/structures/merc_camp_egyptian.xml:33 msgid "Capture this structure to train mercenaries from Hellenistic Egypt." msgstr "" #: simulation/templates/structures/merc_camp_egyptian.xml:29 msgid "Mercenary Camp (Egyptian)" msgstr "" #: simulation/templates/structures/merc_camp_egyptian.xml:30 msgid "Stratópedo Misthophóron Aigyptiakós" msgstr "" #: simulation/templates/structures/pers_apadana.xml:34 msgid "" "\"Satrapy Tribute\": Gain a trickle of food, wood, stone, and metal " "resources. Train Persian heroes and their \"Immortals\" bodyguards. Build " "Limit: 1." msgstr "" #: simulation/templates/structures/pers_apadana.xml:26 #: simulation/templates/structures/pers_palace.xml:23 msgid "Persian Palace" msgstr "" #: simulation/templates/structures/pers_barracks.xml:7 msgid "Levy citizen-infantry units." msgstr "" #: simulation/templates/structures/pers_barracks.xml:5 msgid "Padgan" msgstr "" #: simulation/templates/structures/pers_blacksmith.xml:5 msgid "Arštišta" msgstr "" #: simulation/templates/structures/pers_civil_centre.xml:5 msgid "Provincial Governor" msgstr "" #: simulation/templates/structures/pers_civil_centre.xml:6 msgid "Xšaçapāvan" msgstr "" #: simulation/templates/structures/pers_corral.xml:12 msgid "Gaiāšta" msgstr "" #: simulation/templates/structures/pers_defense_tower.xml:5 #: simulation/templates/structures/pers_wall_tower.xml:9 msgid "Pāyaud" msgstr "" #: simulation/templates/structures/pers_dock.xml:12 msgid "Nāvašta" msgstr "" #: simulation/templates/structures/pers_farmstead.xml:12 msgid "Kaštašta" msgstr "" #: simulation/templates/structures/pers_field.xml:5 msgid "Kaštrya" msgstr "" #: simulation/templates/structures/pers_fortress.xml:7 msgid "Train Champion Cavalry and Construct Siege Rams." msgstr "" #: simulation/templates/structures/pers_fortress.xml:5 msgid "Didā" msgstr "" #: simulation/templates/structures/pers_house.xml:22 msgid "Huvādā" msgstr "" #: simulation/templates/structures/pers_ishtar_gate.xml:21 #: simulation/templates/structures/rome_arch.xml:23 msgid "Special Imperial Roman building." msgstr "" #: simulation/templates/structures/pers_ishtar_gate.xml:20 msgid "Ishtar Gate of Babylon" msgstr "" #: simulation/templates/structures/pers_market.xml:12 msgid "Ardatašta" msgstr "" #: simulation/templates/structures/pers_outpost.xml:5 msgid "Didebani" msgstr "" #: simulation/templates/structures/pers_palace.xml:30 msgid "Build Limit: 1." msgstr "" #: simulation/templates/structures/pers_palace.xml:24 msgid "Palace" msgstr "" #: simulation/templates/structures/pers_sb2.xml:26 msgid "" "Special Building.\n" "Train War Elephants and Kardakes mercenaries." msgstr "" #: simulation/templates/structures/pers_sb2.xml:22 msgid "Persian Special Building" msgstr "" #: simulation/templates/structures/pers_sb2.xml:23 msgid "Parihuvādā" msgstr "" #: simulation/templates/structures/pers_stables.xml:25 msgid "Train citizen-cavalry units." msgstr "" #: simulation/templates/structures/pers_stables.xml:19 msgid "Paraspa" msgstr "" #: simulation/templates/structures/pers_storehouse.xml:5 msgid "Asiyah" msgstr "" #: simulation/templates/structures/pers_temple.xml:12 msgid "Ayadana" msgstr "" #: simulation/templates/structures/pers_wall.xml:9 #: simulation/templates/structures/pers_wall_long.xml:10 #: simulation/templates/structures/pers_wall_medium.xml:10 #: simulation/templates/structures/pers_wall_short.xml:10 #: simulation/templates/structures/pers_wallset_stone.xml:5 msgid "Para" msgstr "" #: simulation/templates/structures/pers_wall_gate.xml:9 msgid "Duvitaparnam" msgstr "" #: simulation/templates/structures/pers_wonder.xml:12 msgid "Hanging Gardens of Babylon" msgstr "" #: simulation/templates/structures/ptol_barracks.xml:19 msgid "" "Train Egyptian and Middle-Eastern citizen-soldiers. Research training " "improvements. Garrison: 10." msgstr "" #: simulation/templates/structures/ptol_barracks.xml:17 msgid "ḥwt-n-mš'" msgstr "" #: simulation/templates/structures/ptol_civil_centre.xml:15 msgid "pr-'a" msgstr "" #: simulation/templates/structures/ptol_corral.xml:19 msgid "h-n-ssmt.w" msgstr "" #: simulation/templates/structures/ptol_defense_tower.xml:9 msgid "mktr-n-ḏw" msgstr "" #: simulation/templates/structures/ptol_dock.xml:12 msgid "ḥwt-n-dpt.w" msgstr "" #: simulation/templates/structures/ptol_farmstead.xml:19 msgid "pr-n-t" msgstr "" #: simulation/templates/structures/ptol_fortress.xml:9 msgid "mktr-'a" msgstr "" #: simulation/templates/structures/ptol_house.xml:19 msgid "ḥwt" msgstr "" #: simulation/templates/structures/ptol_library.xml:16 msgid "Bibliothí̱ki̱" msgstr "" #: simulation/templates/structures/ptol_lighthouse.xml:20 msgid "" "Build along the shore to reveal the shorelines over the entire map (Not " "implemented). Very large vision range: 180 meters." msgstr "" #: simulation/templates/structures/ptol_lighthouse.xml:18 msgid "Pharos" msgstr "" #: simulation/templates/structures/ptol_market.xml:9 msgid "ḥwt-n-ḫt.w-wḫa.w" msgstr "" #: simulation/templates/structures/ptol_mercenary_camp.xml:33 msgid "" "Cheap barracks-like structure that is buildable in Neutral territory, but " "casts no territory influence.\n" "- Train Mercenaries. \n" "- Min. distance from other Military Settlements: 100 meters." msgstr "" #: simulation/templates/structures/ptol_mercenary_camp.xml:29 msgid "Mercenary Camp" msgstr "" #: simulation/templates/structures/ptol_military_colony.xml:7 #: simulation/templates/structures/sele_military_colony.xml:7 msgid "Colony" msgstr "" #: simulation/templates/structures/ptol_military_colony.xml:33 msgid "" "This is the Ptolemaic expansion building, similar to Civic Centers for other " "factions. It is weaker and carries a smaller territory influence, but is " "cheaper and built faster.\n" "- Train settler-soldiers of various nationalities.\n" "- Min. distance from other Military Colonies: 100 meters." msgstr "" #: simulation/templates/structures/ptol_military_colony.xml:30 #: simulation/templates/structures/sele_military_colony.xml:30 msgid "Klēroukhia" msgstr "" #: simulation/templates/structures/ptol_outpost.xml:5 msgid "mktr-n-ḫt" msgstr "" #: simulation/templates/structures/ptol_storehouse.xml:18 msgid "h-n-ḫt.w" msgstr "" #: simulation/templates/structures/ptol_wall_gate.xml:9 msgid "sba-n-njwt" msgstr "" #: simulation/templates/structures/ptol_wall_long.xml:10 #: simulation/templates/structures/ptol_wall_medium.xml:10 #: simulation/templates/structures/ptol_wall_short.xml:10 #: simulation/templates/structures/ptol_wallset_stone.xml:5 msgid "h-n-njwt" msgstr "" #: simulation/templates/structures/ptol_wall_tower.xml:9 msgid "mktr" msgstr "" #: simulation/templates/structures/ptol_wonder.xml:17 msgid "Temple of Edfu" msgstr "" #: simulation/templates/structures/rome_arch.xml:22 msgid "Triumphal Arch" msgstr "" #: simulation/templates/structures/rome_army_camp.xml:65 msgid "" "Build anywhere on the map, even in enemy territory. Construct siege weapons " "and train citizen-soldiers. Heal garrisoned units slowly." msgstr "" #: simulation/templates/structures/rome_army_camp.xml:59 msgid "Entrenched Army Camp" msgstr "" #: simulation/templates/structures/rome_army_camp.xml:60 msgid "Castrum Vallum" msgstr "" #: simulation/templates/structures/rome_barracks.xml:18 msgid "Castrum" msgstr "" #: simulation/templates/structures/rome_blacksmith.xml:5 msgid "Armamentarium" msgstr "" #: simulation/templates/structures/rome_civil_centre.xml:9 msgid "Forum" msgstr "" #: simulation/templates/structures/rome_corral.xml:12 msgid "Saeptum" msgstr "" #: simulation/templates/structures/rome_defense_tower.xml:9 msgid "Turris Lignea" msgstr "" #: simulation/templates/structures/rome_dock.xml:12 msgid "Portus" msgstr "" #: simulation/templates/structures/rome_farmstead.xml:12 msgid "Villa" msgstr "" #: simulation/templates/structures/rome_field.xml:5 msgid "Ager" msgstr "" #: simulation/templates/structures/rome_fortress.xml:5 msgid "Castellum" msgstr "" #: simulation/templates/structures/rome_house.xml:18 msgid "Domus" msgstr "" #: simulation/templates/structures/rome_market.xml:12 msgid "Mercatus" msgstr "" #: simulation/templates/structures/rome_outpost.xml:5 msgid "Vigilarium" msgstr "" #: simulation/templates/structures/rome_siege_wall_gate.xml:31 msgid "Siege Wall Gate" msgstr "" #: simulation/templates/structures/rome_siege_wall_gate.xml:32 msgid "Porta Circummunitionis" msgstr "" #: simulation/templates/structures/rome_siege_wall_long.xml:38 #: simulation/templates/structures/rome_siege_wall_medium.xml:38 #: simulation/templates/structures/rome_siege_wall_short.xml:38 #: simulation/templates/structures/rome_wallset_siege.xml:8 msgid "A wooden and turf palisade buildable in enemy and neutral territories." msgstr "" #: simulation/templates/structures/rome_siege_wall_long.xml:32 #: simulation/templates/structures/rome_siege_wall_medium.xml:32 #: simulation/templates/structures/rome_siege_wall_short.xml:32 #: simulation/templates/structures/rome_wallset_siege.xml:5 msgid "Siege Wall" msgstr "" #: simulation/templates/structures/rome_siege_wall_long.xml:33 #: simulation/templates/structures/rome_siege_wall_medium.xml:33 #: simulation/templates/structures/rome_siege_wall_short.xml:33 msgid "Murus Circummunitionis" msgstr "" #: simulation/templates/structures/rome_siege_wall_tower.xml:31 msgid "Siege Wall Tower" msgstr "" #: simulation/templates/structures/rome_siege_wall_tower.xml:32 msgid "Turris Circummunitionis" msgstr "" #: simulation/templates/structures/rome_storehouse.xml:5 msgid "Receptaculum" msgstr "" #: simulation/templates/structures/rome_temple.xml:9 msgid "Aedes" msgstr "" #: simulation/templates/structures/rome_temple_mars.xml:12 msgid "Temple of Mars" msgstr "" #: simulation/templates/structures/rome_temple_mars.xml:13 msgid "Aedes Martis" msgstr "" #: simulation/templates/structures/rome_temple_vesta.xml:15 msgid "" "Build this temple to greatly increase the loyalty of your buildings and " "female-citizens (helps prevent their capture)." msgstr "" #: simulation/templates/structures/rome_temple_vesta.xml:12 msgid "Temple of Vesta" msgstr "" #: simulation/templates/structures/rome_temple_vesta.xml:13 msgid "Aedes Vestae" msgstr "" #: simulation/templates/structures/rome_tent.xml:32 msgid "A temporary shelter for soldiers. +5 population bonus." msgstr "" #: simulation/templates/structures/rome_tent.xml:29 msgid "Tent" msgstr "" #: simulation/templates/structures/rome_tent.xml:30 msgid "Tabernāculum" msgstr "" #: simulation/templates/structures/rome_wall.xml:9 #: simulation/templates/structures/rome_wall_long.xml:10 #: simulation/templates/structures/rome_wall_medium.xml:13 #: simulation/templates/structures/rome_wall_short.xml:13 #: simulation/templates/structures/rome_wallset_stone.xml:5 msgid "Moenia" msgstr "" #: simulation/templates/structures/rome_wall_gate.xml:9 msgid "Porta" msgstr "" #: simulation/templates/structures/rome_wall_tower.xml:9 msgid "Turris Lapidea" msgstr "" #: simulation/templates/structures/rome_wonder.xml:17 msgid "Aedes Iovis Optimi Maximi" msgstr "" #: simulation/templates/structures/sele_barracks.xml:18 msgid "Stratones" msgstr "" #: simulation/templates/structures/sele_dock.xml:12 msgid "Liménas" msgstr "" #: simulation/templates/structures/sele_fortress.xml:10 msgid "" "Build siege engines and train Champions. Garrison up to 20 soldiers inside " "for stout defense." msgstr "" #: simulation/templates/structures/sele_fortress.xml:9 msgid "Phrourion" msgstr "" #: simulation/templates/structures/sele_military_colony.xml:33 msgid "" "This is the Seleucid expansion building, similar to Civic Centers for other " "factions. It is weaker and carries a smaller territory influence, but is " "cheaper and built faster.\n" "- Train settler-soldiers of various nationalities.\n" "- Min. distance from other Military Colonies: 100 meters." msgstr "" #: simulation/templates/structures/sele_outpost.xml:5 msgid "Prophylax" msgstr "" #: simulation/templates/structures/sele_temple.xml:9 msgid "Naós" msgstr "" #: simulation/templates/structures/sele_wonder.xml:12 msgid "Paradise of Daphne" msgstr "" #: simulation/templates/structures/spart_fortress.xml:10 msgid "Build siege engines. Garrison up to 15 soldiers inside for stout defense." msgstr "" #: simulation/templates/structures/spart_gerousia.xml:21 msgid "Spartan Senate" msgstr "" #: simulation/templates/structures/spart_gerousia.xml:22 msgid "Gerousia" msgstr "" #: simulation/templates/structures/spart_syssiton.xml:26 msgid "Train Spartan heroes and Spartiate champion hoplites." msgstr "" #: simulation/templates/structures/spart_syssiton.xml:21 msgid "Military Mess Hall" msgstr "" #: simulation/templates/structures/spart_syssiton.xml:22 msgid "Syssítion" msgstr "" #: simulation/templates/structures/spart_temple.xml:9 msgid "Asklepeion" msgstr "" #: simulation/templates/units/athen_cavalry_javelinist_a.xml:18 #: simulation/templates/units/athen_cavalry_swordsman_a.xml:20 #: simulation/templates/units/athen_infantry_archer_a.xml:18 #: simulation/templates/units/athen_infantry_javelinist_a.xml:18 #: simulation/templates/units/athen_infantry_slinger_a.xml:18 #: simulation/templates/units/athen_infantry_spearman_a.xml:20 #: simulation/templates/units/athen_support_healer_a.xml:11 #: simulation/templates/units/brit_cavalry_javelinist_a.xml:18 #: simulation/templates/units/brit_cavalry_swordsman_a.xml:20 #: simulation/templates/units/brit_infantry_javelinist_a.xml:18 #: simulation/templates/units/brit_infantry_slinger_a.xml:18 #: simulation/templates/units/brit_infantry_spearman_a.xml:20 #: simulation/templates/units/brit_support_healer_a.xml:11 #: simulation/templates/units/brit_war_dog_a.xml:17 #: simulation/templates/units/cart_cavalry_javelinist_a.xml:18 #: simulation/templates/units/cart_cavalry_spearman_a.xml:20 #: simulation/templates/units/cart_cavalry_swordsman_2_a.xml:20 #: simulation/templates/units/cart_cavalry_swordsman_a.xml:20 #: simulation/templates/units/cart_infantry_archer_a.xml:18 #: simulation/templates/units/cart_infantry_javelinist_a.xml:18 #: simulation/templates/units/cart_infantry_slinger_a.xml:18 #: simulation/templates/units/cart_infantry_spearman_a.xml:20 #: simulation/templates/units/cart_infantry_swordsman_2_a.xml:20 #: simulation/templates/units/cart_infantry_swordsman_a.xml:20 #: simulation/templates/units/cart_support_healer_a.xml:11 #: simulation/templates/units/celt_cavalry_javelinist_a.xml:18 #: simulation/templates/units/celt_cavalry_swordsman_a.xml:20 #: simulation/templates/units/celt_infantry_javelinist_a.xml:18 #: simulation/templates/units/celt_infantry_slinger_a.xml:15 #: simulation/templates/units/celt_infantry_spearman_a.xml:20 #: simulation/templates/units/celt_support_healer_a.xml:11 #: simulation/templates/units/celt_war_dog_a.xml:17 #: simulation/templates/units/gaul_cavalry_javelinist_a.xml:18 #: simulation/templates/units/gaul_cavalry_swordsman_a.xml:20 #: simulation/templates/units/gaul_infantry_javelinist_a.xml:18 #: simulation/templates/units/gaul_infantry_slinger_a.xml:15 #: simulation/templates/units/gaul_infantry_spearman_a.xml:20 #: simulation/templates/units/gaul_support_healer_a.xml:11 #: simulation/templates/units/hele_cavalry_javelinist_a.xml:18 #: simulation/templates/units/hele_cavalry_swordsman_a.xml:20 #: simulation/templates/units/hele_infantry_archer_a.xml:18 #: simulation/templates/units/hele_infantry_javelinist_a.xml:18 #: simulation/templates/units/hele_infantry_slinger_a.xml:18 #: simulation/templates/units/hele_infantry_spearman_a.xml:20 #: simulation/templates/units/hele_support_healer_a.xml:11 #: simulation/templates/units/iber_cavalry_javelinist_a.xml:9 #: simulation/templates/units/iber_cavalry_spearman_a.xml:20 #: simulation/templates/units/iber_infantry_javelinist_a.xml:18 #: simulation/templates/units/iber_infantry_slinger_a.xml:18 #: simulation/templates/units/iber_infantry_spearman_a.xml:20 #: simulation/templates/units/iber_infantry_swordsman_a.xml:20 #: simulation/templates/units/iber_support_healer_a.xml:11 #: simulation/templates/units/mace_cavalry_javelinist_a.xml:18 #: simulation/templates/units/mace_cavalry_spearman_a.xml:20 #: simulation/templates/units/mace_infantry_archer_a.xml:18 #: simulation/templates/units/mace_infantry_javelinist_a.xml:18 #: simulation/templates/units/mace_infantry_slinger_a.xml:18 #: simulation/templates/units/mace_infantry_spearman_a.xml:20 #: simulation/templates/units/mace_support_healer_a.xml:11 #: simulation/templates/units/maur_cavalry_javelinist_a.xml:9 #: simulation/templates/units/maur_cavalry_swordsman_a.xml:20 #: simulation/templates/units/maur_elephant_archer_a.xml:7 #: simulation/templates/units/maur_infantry_archer_a.xml:18 #: simulation/templates/units/maur_infantry_spearman_a.xml:20 #: simulation/templates/units/maur_infantry_swordsman_a.xml:20 #: simulation/templates/units/maur_support_healer_a.xml:11 #: simulation/templates/units/pers_cavalry_archer_a.xml:23 #: simulation/templates/units/pers_cavalry_javelinist_a.xml:18 #: simulation/templates/units/pers_cavalry_javelinist_a_trireme.xml:18 #: simulation/templates/units/pers_cavalry_spearman_a.xml:20 #: simulation/templates/units/pers_cavalry_swordsman_a.xml:20 #: simulation/templates/units/pers_cavalry_swordsman_a_trireme.xml:20 #: simulation/templates/units/pers_infantry_archer_a.xml:18 #: simulation/templates/units/pers_infantry_javelinist_a.xml:18 #: simulation/templates/units/pers_infantry_spearman_a.xml:20 #: simulation/templates/units/pers_support_healer_a.xml:11 #: simulation/templates/units/ptol_cavalry_archer_a.xml:19 #: simulation/templates/units/ptol_cavalry_javelinist_a.xml:18 #: simulation/templates/units/ptol_cavalry_spearman_a.xml:20 #: simulation/templates/units/ptol_infantry_archer_a.xml:18 #: simulation/templates/units/ptol_infantry_javelinist_a.xml:18 #: simulation/templates/units/ptol_infantry_slinger_a.xml:18 #: simulation/templates/units/ptol_infantry_spearman_2_a.xml:20 #: simulation/templates/units/ptol_infantry_spearman_a.xml:20 #: simulation/templates/units/ptol_infantry_swordsman_a.xml:20 #: simulation/templates/units/ptol_support_healer_a.xml:11 #: simulation/templates/units/rome_cavalry_javelinist_a.xml:18 #: simulation/templates/units/rome_cavalry_spearman_a.xml:20 #: simulation/templates/units/rome_infantry_javelinist_a.xml:18 #: simulation/templates/units/rome_infantry_spearman_a.xml:20 #: simulation/templates/units/rome_infantry_swordsman_a.xml:20 #: simulation/templates/units/rome_support_healer_a.xml:11 #: simulation/templates/units/sele_cavalry_archer_a.xml:19 #: simulation/templates/units/sele_cavalry_javelinist_a.xml:18 #: simulation/templates/units/sele_cavalry_spearman_a.xml:20 #: simulation/templates/units/sele_infantry_archer_a.xml:18 #: simulation/templates/units/sele_infantry_javelinist_a.xml:18 #: simulation/templates/units/sele_infantry_spearman_2_a.xml:20 #: simulation/templates/units/sele_infantry_spearman_a.xml:20 #: simulation/templates/units/sele_infantry_swordsman_a.xml:20 #: simulation/templates/units/sele_support_healer_a.xml:11 #: simulation/templates/units/spart_cavalry_javelinist_a.xml:18 #: simulation/templates/units/spart_cavalry_spearman_a.xml:20 #: simulation/templates/units/spart_infantry_javelinist_a.xml:18 #: simulation/templates/units/spart_infantry_spearman_a.xml:20 #: simulation/templates/units/spart_support_healer_a.xml:11 msgctxt "Rank" msgid "Advanced" msgstr "" #: simulation/templates/units/athen_cavalry_javelinist_b.xml:6 #: simulation/templates/units/hele_cavalry_javelinist_b.xml:7 msgid "Pródromos" msgstr "" #: simulation/templates/units/athen_cavalry_javelinist_e.xml:18 #: simulation/templates/units/athen_cavalry_swordsman_e.xml:20 #: simulation/templates/units/athen_infantry_archer_e.xml:18 #: simulation/templates/units/athen_infantry_javelinist_e.xml:18 #: simulation/templates/units/athen_infantry_slinger_e.xml:18 #: simulation/templates/units/athen_infantry_spearman_e.xml:20 #: simulation/templates/units/athen_support_healer_e.xml:11 #: simulation/templates/units/brit_cavalry_javelinist_e.xml:18 #: simulation/templates/units/brit_cavalry_swordsman_e.xml:20 #: simulation/templates/units/brit_infantry_javelinist_e.xml:18 #: simulation/templates/units/brit_infantry_slinger_e.xml:18 #: simulation/templates/units/brit_infantry_spearman_e.xml:20 #: simulation/templates/units/brit_support_healer_e.xml:11 #: simulation/templates/units/brit_war_dog_e.xml:17 #: simulation/templates/units/cart_cavalry_javelinist_e.xml:18 #: simulation/templates/units/cart_cavalry_spearman_e.xml:20 #: simulation/templates/units/cart_cavalry_swordsman_2_e.xml:20 #: simulation/templates/units/cart_cavalry_swordsman_e.xml:20 #: simulation/templates/units/cart_infantry_archer_e.xml:18 #: simulation/templates/units/cart_infantry_javelinist_e.xml:18 #: simulation/templates/units/cart_infantry_slinger_e.xml:18 #: simulation/templates/units/cart_infantry_spearman_e.xml:20 #: simulation/templates/units/cart_infantry_swordsman_2_e.xml:20 #: simulation/templates/units/cart_infantry_swordsman_e.xml:20 #: simulation/templates/units/cart_support_healer_e.xml:11 #: simulation/templates/units/celt_cavalry_javelinist_e.xml:18 #: simulation/templates/units/celt_cavalry_swordsman_e.xml:20 #: simulation/templates/units/celt_infantry_javelinist_e.xml:18 #: simulation/templates/units/celt_infantry_slinger_e.xml:15 #: simulation/templates/units/celt_infantry_spearman_e.xml:20 #: simulation/templates/units/celt_support_healer_e.xml:11 #: simulation/templates/units/celt_war_dog_e.xml:17 #: simulation/templates/units/gaul_cavalry_javelinist_e.xml:18 #: simulation/templates/units/gaul_cavalry_swordsman_e.xml:20 #: simulation/templates/units/gaul_infantry_javelinist_e.xml:18 #: simulation/templates/units/gaul_infantry_slinger_e.xml:15 #: simulation/templates/units/gaul_infantry_spearman_e.xml:20 #: simulation/templates/units/gaul_support_healer_e.xml:11 #: simulation/templates/units/hele_cavalry_javelinist_e.xml:18 #: simulation/templates/units/hele_cavalry_swordsman_e.xml:20 #: simulation/templates/units/hele_infantry_archer_e.xml:18 #: simulation/templates/units/hele_infantry_javelinist_e.xml:18 #: simulation/templates/units/hele_infantry_slinger_e.xml:18 #: simulation/templates/units/hele_infantry_spearman_e.xml:20 #: simulation/templates/units/hele_support_healer_e.xml:11 #: simulation/templates/units/iber_cavalry_javelinist_e.xml:9 #: simulation/templates/units/iber_cavalry_spearman_e.xml:20 #: simulation/templates/units/iber_infantry_javelinist_e.xml:20 #: simulation/templates/units/iber_infantry_slinger_e.xml:18 #: simulation/templates/units/iber_infantry_spearman_e.xml:20 #: simulation/templates/units/iber_infantry_swordsman_e.xml:20 #: simulation/templates/units/iber_support_healer_e.xml:11 #: simulation/templates/units/mace_cavalry_javelinist_e.xml:18 #: simulation/templates/units/mace_cavalry_spearman_e.xml:20 #: simulation/templates/units/mace_infantry_archer_e.xml:18 #: simulation/templates/units/mace_infantry_javelinist_e.xml:18 #: simulation/templates/units/mace_infantry_slinger_e.xml:18 #: simulation/templates/units/mace_infantry_spearman_e.xml:20 #: simulation/templates/units/mace_support_healer_e.xml:11 #: simulation/templates/units/maur_cavalry_javelinist_e.xml:9 #: simulation/templates/units/maur_cavalry_swordsman_e.xml:17 #: simulation/templates/units/maur_elephant_archer_e.xml:7 #: simulation/templates/units/maur_infantry_archer_e.xml:18 #: simulation/templates/units/maur_infantry_spearman_e.xml:20 #: simulation/templates/units/maur_infantry_swordsman_e.xml:20 #: simulation/templates/units/maur_support_healer_e.xml:11 #: simulation/templates/units/merc_thrace_swordsman.xml:23 #: simulation/templates/units/pers_cavalry_archer_e.xml:19 #: simulation/templates/units/pers_cavalry_javelinist_e.xml:18 #: simulation/templates/units/pers_cavalry_javelinist_e_trireme.xml:18 #: simulation/templates/units/pers_cavalry_spearman_e.xml:20 #: simulation/templates/units/pers_cavalry_swordsman_e.xml:20 #: simulation/templates/units/pers_cavalry_swordsman_e_trireme.xml:20 #: simulation/templates/units/pers_infantry_archer_e.xml:18 #: simulation/templates/units/pers_infantry_javelinist_e.xml:18 #: simulation/templates/units/pers_infantry_spearman_e.xml:20 #: simulation/templates/units/pers_support_healer_e.xml:11 #: simulation/templates/units/ptol_cavalry_archer_e.xml:19 #: simulation/templates/units/ptol_cavalry_javelinist_e.xml:18 #: simulation/templates/units/ptol_cavalry_spearman_e.xml:20 #: simulation/templates/units/ptol_infantry_archer_e.xml:18 #: simulation/templates/units/ptol_infantry_javelinist_e.xml:18 #: simulation/templates/units/ptol_infantry_slinger_e.xml:18 #: simulation/templates/units/ptol_infantry_spearman_2_e.xml:20 #: simulation/templates/units/ptol_infantry_spearman_e.xml:20 #: simulation/templates/units/ptol_infantry_swordsman_e.xml:20 #: simulation/templates/units/ptol_support_healer_e.xml:11 #: simulation/templates/units/rome_cavalry_javelinist_e.xml:18 #: simulation/templates/units/rome_cavalry_spearman_e.xml:20 #: simulation/templates/units/rome_infantry_javelinist_e.xml:18 #: simulation/templates/units/rome_infantry_spearman_e.xml:20 #: simulation/templates/units/rome_infantry_swordsman_e.xml:20 #: simulation/templates/units/rome_support_healer_e.xml:11 #: simulation/templates/units/sele_cavalry_archer_e.xml:19 #: simulation/templates/units/sele_cavalry_javelinist_e.xml:18 #: simulation/templates/units/sele_cavalry_spearman_e.xml:20 #: simulation/templates/units/sele_infantry_archer_e.xml:18 #: simulation/templates/units/sele_infantry_javelinist_e.xml:18 #: simulation/templates/units/sele_infantry_spearman_2_e.xml:20 #: simulation/templates/units/sele_infantry_spearman_e.xml:20 #: simulation/templates/units/sele_infantry_swordsman_e.xml:20 #: simulation/templates/units/sele_support_healer_e.xml:11 #: simulation/templates/units/spart_cavalry_javelinist_e.xml:13 #: simulation/templates/units/spart_cavalry_spearman_e.xml:20 #: simulation/templates/units/spart_champion_infantry_sword.xml:30 #: simulation/templates/units/spart_infantry_javelinist_e.xml:18 #: simulation/templates/units/spart_infantry_spearman_e.xml:20 #: simulation/templates/units/spart_support_healer_e.xml:11 msgctxt "Rank" msgid "Elite" msgstr "" #: simulation/templates/units/athen_cavalry_swordsman_b.xml:6 #: simulation/templates/units/hele_cavalry_swordsman_b.xml:6 msgid "Greek Cavalry" msgstr "" #: simulation/templates/units/athen_cavalry_swordsman_b.xml:7 #: simulation/templates/units/hele_cavalry_swordsman_b.xml:7 msgid "Hippeús" msgstr "" #: simulation/templates/units/athen_champion_infantry.xml:10 msgid "City Guard" msgstr "" #: simulation/templates/units/athen_champion_infantry.xml:11 msgid "Epilektos" msgstr "" #: simulation/templates/units/athen_champion_marine.xml:5 msgid "Athenian Marine" msgstr "" #: simulation/templates/units/athen_champion_marine.xml:6 msgid "Épibatēs Athēnaïkós" msgstr "" #: simulation/templates/units/athen_champion_ranged.xml:13 msgid "Scythian Archer" msgstr "" #: simulation/templates/units/athen_champion_ranged.xml:14 msgid "Toxotes Skithikos" msgstr "" #: simulation/templates/units/athen_hero_iphicrates.xml:18 msgid "" "Classes: Hero Infantry Ranged Skirmisher.\n" "\"Reforms\" Aura: All units in his formation +15% speed and +1 armor. All " "Peltasts +15% speed.\n" "Counters: +20% Attack vs. Spearmen, Cavalry Archers, Elephants, and Chariots." "\n" "Countered by: Melee Cavalry." msgstr "" #: simulation/templates/units/athen_hero_iphicrates.xml:17 msgid "Iphikratēs" msgstr "" #: simulation/templates/units/athen_hero_pericles.xml:16 msgid "" "Classes: Hero Melee Infantry Spearman.\n" "\"Builder\" Aura: Buildings construct 15% faster within his vision.\n" "\"Acropolis\" Aura: Temples are 50 stone cheaper during his lifetime.\n" "Counters: 2x vs. All Cavalry.\n" "Countered by: Skirmishers, Swordsmen, and Cavalry Archers." msgstr "" #: simulation/templates/units/athen_hero_pericles.xml:15 msgid "Periklēs" msgstr "" #: simulation/templates/units/athen_hero_themistocles.xml:15 msgid "" "Classes: Hero Infantry Melee Sword.\n" "\"Naval Commander\" Aura: When garrisoned in a ship, his ship is +50% faster." " \n" "\"Naval Architect\" Aura: Ships are built +20% faster during his lifespan.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Skirmishers and Elephants.\n" "Countered by: Archers, Cavalry Archers." msgstr "" #: simulation/templates/units/athen_hero_themistocles.xml:14 #: simulation/templates/units/hele_hero_themistocles.xml:14 msgid "Themistoklês" msgstr "" #: simulation/templates/units/athen_infantry_archer_b.xml:21 #: simulation/templates/units/hele_infantry_archer_b.xml:19 #: simulation/templates/units/mace_infantry_archer_b.xml:19 msgid "Cretan Mercenary Archer" msgstr "" #: simulation/templates/units/athen_infantry_archer_b.xml:22 #: simulation/templates/units/hele_infantry_archer_b.xml:20 #: simulation/templates/units/mace_infantry_archer_b.xml:20 msgid "Toxótēs Krētikós" msgstr "" #: simulation/templates/units/athen_infantry_javelinist_b.xml:26 #: simulation/templates/units/hele_infantry_javelinist_b.xml:23 msgid "Thracian Peltast" msgstr "" #: simulation/templates/units/athen_infantry_javelinist_b.xml:27 #: simulation/templates/units/hele_infantry_javelinist_b.xml:24 msgid "Peltastḗs Thrâx" msgstr "" #: simulation/templates/units/athen_infantry_slinger_b.xml:14 msgid "Athenian Slinger Militia" msgstr "" #: simulation/templates/units/athen_infantry_slinger_b.xml:15 msgid "Psilós Athēnaïkós" msgstr "" #: simulation/templates/units/athen_infantry_spearman_b.xml:22 msgid "Athenian Hoplite" msgstr "" #: simulation/templates/units/athen_infantry_spearman_b.xml:23 msgid "Hoplī́tēs Athēnaïkós" msgstr "" #: simulation/templates/units/athen_mechanical_siege_lithobolos_common.xml:5 #: simulation/templates/units/hele_mechanical_siege_lithobolos_common.xml:5 #: simulation/templates/units/mace_mechanical_siege_lithobolos_common.xml:5 #: simulation/templates/units/ptol_mechanical_siege_lithobolos_common.xml:5 #: simulation/templates/units/sele_mechanical_siege_lithobolos_common.xml:5 msgid "Lithóbolos" msgstr "" #: simulation/templates/units/athen_mechanical_siege_oxybeles_common.xml:5 #: simulation/templates/units/hele_mechanical_siege_oxybeles_common.xml:5 #: simulation/templates/units/mace_mechanical_siege_oxybeles_common.xml:5 #: simulation/templates/units/spart_mechanical_siege_oxybeles_common.xml:5 msgid "Oxybelḗs" msgstr "" #: simulation/templates/units/athen_ship_bireme.xml:5 msgid "Penteconter" msgstr "" #: simulation/templates/units/athen_ship_bireme.xml:6 #: simulation/templates/units/hele_ship_bireme.xml:5 #: simulation/templates/units/spart_ship_bireme.xml:5 msgid "Pentēkónteros" msgstr "" #: simulation/templates/units/athen_ship_fishing.xml:8 #: simulation/templates/units/hele_ship_fishing.xml:5 #: simulation/templates/units/mace_ship_fishing.xml:5 #: simulation/templates/units/ptol_ship_fishing.xml:5 #: simulation/templates/units/sele_ship_fishing.xml:5 #: simulation/templates/units/spart_ship_fishing.xml:5 msgid "Ploîon Halieutikón" msgstr "" #: simulation/templates/units/athen_ship_merchant.xml:9 #: simulation/templates/units/hele_ship_merchant.xml:9 #: simulation/templates/units/mace_ship_merchant.xml:9 #: simulation/templates/units/ptol_ship_merchant.xml:9 #: simulation/templates/units/sele_ship_merchant.xml:9 #: simulation/templates/units/spart_ship_merchant.xml:9 msgid "Ploîon Phortēgikón" msgstr "" #: simulation/templates/units/athen_ship_trireme.xml:6 msgid "Athenian Trireme" msgstr "" #: simulation/templates/units/athen_ship_trireme.xml:5 msgid "Triḗrēs Athēnaïkós" msgstr "" #: simulation/templates/units/athen_support_female_citizen.xml:6 msgid "Athenian Woman" msgstr "" #: simulation/templates/units/athen_support_female_citizen.xml:5 msgid "Gýnē Athēnaïkós" msgstr "" #: simulation/templates/units/athen_support_healer_b.xml:6 #: simulation/templates/units/hele_support_healer_b.xml:6 #: simulation/templates/units/mace_support_healer_b.xml:6 #: simulation/templates/units/sele_support_healer_b.xml:6 #: simulation/templates/units/spart_support_healer_b.xml:6 msgid "Hiereús" msgstr "" #: simulation/templates/units/athen_support_slave.xml:5 #: simulation/templates/units/hele_support_slave.xml:5 msgid "Doulos" msgstr "" #: simulation/templates/units/athen_support_trader.xml:9 #: simulation/templates/units/hele_support_trader.xml:9 #: simulation/templates/units/mace_support_trader.xml:9 #: simulation/templates/units/ptol_support_trader.xml:9 #: simulation/templates/units/sele_support_trader.xml:9 msgid "Émporos" msgstr "" #: simulation/templates/units/brit_cavalry_javelinist_b.xml:7 msgid "Raiding Cavalry" msgstr "" #: simulation/templates/units/brit_cavalry_javelinist_b.xml:6 #: simulation/templates/units/celt_cavalry_javelinist_b.xml:6 #: simulation/templates/units/gaul_cavalry_javelinist_b.xml:6 msgid "Gaisaredos" msgstr "" #: simulation/templates/units/brit_cavalry_swordsman_b.xml:7 msgid "Celtic Cavalry" msgstr "" #: simulation/templates/units/brit_cavalry_swordsman_b.xml:6 #: simulation/templates/units/celt_cavalry_swordsman_b.xml:6 #: simulation/templates/units/gaul_cavalry_swordsman_b.xml:6 msgid "Epos" msgstr "" #: simulation/templates/units/brit_champion_cavalry.xml:27 #: simulation/templates/units/celt_champion_cavalry_brit.xml:22 msgid "Celtic Chariot" msgstr "" #: simulation/templates/units/brit_champion_cavalry.xml:28 #: simulation/templates/units/celt_champion_cavalry_brit.xml:23 msgid "Carbanto" msgstr "" #: simulation/templates/units/brit_champion_infantry.xml:17 msgid "Brythonic Longswordsman" msgstr "" #: simulation/templates/units/brit_champion_infantry.xml:18 #: simulation/templates/units/celt_champion_infantry_brit.xml:14 msgid "Delamokludda" msgstr "" #: simulation/templates/units/brit_hero_boudicca.xml:33 #: simulation/templates/units/brit_hero_boudicca_sword.xml:20 #: simulation/templates/units/celt_hero_boudicca.xml:28 msgid "Hero Aura: +5 Attack and +25% Speed for Champion Units." msgstr "" #: simulation/templates/units/brit_hero_boudicca_sword.xml:19 msgid "Heroine" msgstr "" #: simulation/templates/units/brit_hero_caratacos.xml:24 #: simulation/templates/units/celt_hero_caratacos.xml:19 msgid "Hero Aura: +15% Speed for all units during his lifetime." msgstr "" #: simulation/templates/units/brit_hero_caratacos.xml:23 #: simulation/templates/units/celt_hero_caratacos.xml:18 msgid "Caratacos" msgstr "" #: simulation/templates/units/brit_hero_cynvelin.xml:15 #: simulation/templates/units/celt_hero_cynvelin.xml:12 msgid "Hero Aura: Has a large and powerful Healing Aura." msgstr "" #: simulation/templates/units/brit_hero_cynvelin.xml:14 #: simulation/templates/units/celt_hero_cynvelin.xml:11 msgid "Cynvelin" msgstr "" #: simulation/templates/units/brit_infantry_javelinist_b.xml:13 #: simulation/templates/units/celt_infantry_javelinist_b.xml:15 #: simulation/templates/units/gaul_infantry_javelinist_b.xml:15 msgid "Baguada" msgstr "" #: simulation/templates/units/brit_infantry_slinger_b.xml:13 #: simulation/templates/units/celt_infantry_slinger_b.xml:15 #: simulation/templates/units/gaul_infantry_slinger_b.xml:15 msgid "Celtic Slinger" msgstr "" #: simulation/templates/units/brit_infantry_slinger_b.xml:14 #: simulation/templates/units/celt_infantry_slinger_b.xml:16 #: simulation/templates/units/gaul_infantry_slinger_b.xml:16 msgid "Iaosae" msgstr "" #: simulation/templates/units/brit_infantry_spearman_b.xml:17 msgid "Celtic Spearman" msgstr "" #: simulation/templates/units/brit_infantry_spearman_b.xml:16 #: simulation/templates/units/celt_infantry_spearman_b.xml:18 #: simulation/templates/units/gaul_infantry_spearman_b.xml:15 msgid "Gaeroa" msgstr "" #: simulation/templates/units/brit_mechanical_siege_ram.xml:21 #: simulation/templates/units/celt_mechanical_siege_ram.xml:21 #: simulation/templates/units/gaul_mechanical_siege_ram.xml:21 msgid "Reithe" msgstr "" #: simulation/templates/units/brit_ship_fishing.xml:5 #: simulation/templates/units/celt_ship_fishing.xml:5 #: simulation/templates/units/gaul_ship_fishing.xml:5 msgid "/Fishing Boat/" msgstr "" #: simulation/templates/units/brit_ship_merchant.xml:9 #: simulation/templates/units/celt_ship_merchant.xml:9 #: simulation/templates/units/gaul_ship_merchant.xml:9 msgid "Curach" msgstr "" #: simulation/templates/units/brit_ship_trireme.xml:19 #: simulation/templates/units/celt_ship_trireme.xml:19 #: simulation/templates/units/gaul_ship_trireme.xml:19 msgid "" "Classes: Medium Warship Ranged\n" "Transport many soldiers across the sea." msgstr "" #: simulation/templates/units/brit_ship_trireme.xml:18 #: simulation/templates/units/celt_ship_trireme.xml:18 #: simulation/templates/units/gaul_ship_trireme.xml:18 msgid "Venetic Ponti" msgstr "" #: simulation/templates/units/brit_support_female_citizen.xml:14 #: simulation/templates/units/celt_support_female_citizen.xml:19 #: simulation/templates/units/gaul_support_female_citizen.xml:19 msgid "Celtic Woman" msgstr "" #: simulation/templates/units/brit_support_female_citizen.xml:13 #: simulation/templates/units/celt_support_female_citizen.xml:18 #: simulation/templates/units/gaul_support_female_citizen.xml:18 msgid "Bodu" msgstr "" #: simulation/templates/units/brit_support_trader.xml:9 #: simulation/templates/units/celt_support_trader.xml:9 #: simulation/templates/units/gaul_support_trader.xml:9 msgid "Cyfnewidiwr" msgstr "" #: simulation/templates/units/brit_war_dog_b.xml:6 #: simulation/templates/units/celt_war_dog_b.xml:6 msgid "Coun" msgstr "" #: simulation/templates/units/cart_cavalry_javelinist_b.xml:6 msgid "Numidian Cavalry" msgstr "" #: simulation/templates/units/cart_cavalry_javelinist_b.xml:7 msgid "Ḥayyāl Raḫūv Masili" msgstr "" #: simulation/templates/units/cart_cavalry_spearman_b.xml:13 msgid "Italic Cavalry" msgstr "" #: simulation/templates/units/cart_cavalry_spearman_b.xml:14 msgid "Ḥayyāl Romaḥ Raḫūv" msgstr "" #: simulation/templates/units/cart_cavalry_swordsman_2_b.xml:12 msgid "Gallic Mercenary Cavalry" msgstr "" #: simulation/templates/units/cart_cavalry_swordsman_2_b.xml:13 #: simulation/templates/units/cart_cavalry_swordsman_b.xml:13 msgid "Ḥayyāl Ḥerev Raḫūv" msgstr "" #: simulation/templates/units/cart_cavalry_swordsman_b.xml:12 msgid "Iberian Heavy Cavalry" msgstr "" #: simulation/templates/units/cart_champion_cavalry.xml:11 #: simulation/templates/units/cart_sacred_band_cavalry.xml:11 msgid "Sacred Band Cavalry" msgstr "" #: simulation/templates/units/cart_champion_cavalry.xml:12 #: simulation/templates/units/cart_sacred_band_cavalry.xml:12 msgid "Sacred Band of Astarte" msgstr "" #: simulation/templates/units/cart_champion_elephant.xml:5 msgid "North African War Elephant" msgstr "" #: simulation/templates/units/cart_champion_elephant.xml:6 msgid "Pil Malḥamit" msgstr "" #: simulation/templates/units/cart_champion_infantry.xml:12 msgid "Sacred Band Infantry" msgstr "" #: simulation/templates/units/cart_champion_infantry.xml:13 msgid "Sacred Band of Ba'al" msgstr "" #: simulation/templates/units/cart_champion_pikeman.xml:5 msgid "Sacred Band Pikeman" msgstr "" #: simulation/templates/units/cart_champion_pikeman.xml:6 msgid "Mašal" msgstr "" #: simulation/templates/units/cart_hero_hamilcar.xml:14 msgid "" "Classes: Hero Melee Cavalry Sword.\n" "\"Lightning\" Aura: All of the player's units +15% movement speed (walk and " "run, but not charge) while he lives.\n" "Counters: 2x vs. Archers, All Support Units, and Siege Weapons.\n" "Countered by: Spearmen, Cavalry Skirmishers, and Elephants." msgstr "" #: simulation/templates/units/cart_hero_hamilcar.xml:10 msgid "Ḥimelqart Baraq" msgstr "" #: simulation/templates/units/cart_hero_hannibal.xml:15 msgid "" "Classes: Hero Melee Elephant.\n" "\"Tactician\" Aura: All allied units +2 attack within vision range of him.\n" "\"Strategist\" Ability: The player can see changes within the fog of war " "while Hannibal lives.\n" "Counters: 2x vs. All Cavalry, 1.5x vs. All Structures. Extra 1.5x vs. Gates.\n" "Countered by: Skirmishers and Swordsmen. Can run amok." msgstr "" #: simulation/templates/units/cart_hero_hannibal.xml:12 msgid "Ḥannibaʿal Baraq" msgstr "" #: simulation/templates/units/cart_hero_maharbal.xml:15 msgid "" "Classes: Hero Melee Cavalry Spear.\n" "\"Commander\" Aura: +5 Cavalry charge attack within vision range of him.\n" "Counters: 2x vs. Swordsmen and Siege Weapons, 1.5x vs. Skirmishers.\n" "Countered by: Spearmen, Archers, and Elephants." msgstr "" #: simulation/templates/units/cart_hero_maharbal.xml:12 msgid "Maharbaʿal" msgstr "" #: simulation/templates/units/cart_infantry_archer_b.xml:15 msgid "Mauritanian Archer" msgstr "" #: simulation/templates/units/cart_infantry_archer_b.xml:16 msgid "Qešet" msgstr "" #: simulation/templates/units/cart_infantry_javelinist_b.xml:22 msgid "Iberian Mercenary Skirmisher" msgstr "" #: simulation/templates/units/cart_infantry_javelinist_b.xml:23 msgid "Sǝḫīr Kidōn" msgstr "" #: simulation/templates/units/cart_infantry_slinger_b.xml:22 msgid "Balearic Slinger" msgstr "" #: simulation/templates/units/cart_infantry_slinger_b.xml:23 msgid "Qallāʿ Ibušimi" msgstr "" #: simulation/templates/units/cart_infantry_spearman_b.xml:15 msgid "Libyan Spearman" msgstr "" #: simulation/templates/units/cart_infantry_spearman_b.xml:16 msgid "Sǝḫīr Ḥanīt" msgstr "" #: simulation/templates/units/cart_infantry_swordsman_2_b.xml:21 #: simulation/templates/units/samnite_swordsman.xml:5 msgid "Samnite Swordsman" msgstr "" #: simulation/templates/units/cart_infantry_swordsman_2_b.xml:22 msgid "Seḫīr Romaḥ" msgstr "" #: simulation/templates/units/cart_infantry_swordsman_b.xml:21 #: simulation/templates/units/ptol_infantry_swordsman_b.xml:21 msgid "Gallic Mercenary Swordsman" msgstr "" #: simulation/templates/units/cart_infantry_swordsman_b.xml:22 msgid "Seḫīr Ḥerev" msgstr "" #: simulation/templates/units/cart_mechanical_siege_ballista_common.xml:5 #: simulation/templates/units/rome_mechanical_siege_ballista_common.xml:32 #: simulation/templates/units/rome_mechanical_siege_onager_unpacked.xml:32 msgid "Ballista" msgstr "" #: simulation/templates/units/cart_mechanical_siege_oxybeles_common.xml:5 msgid "Oxybeles" msgstr "" #: simulation/templates/units/cart_sacred_band_cavalry.xml:13 msgid "Bonused vs. Ranged Units." msgstr "" #: simulation/templates/units/cart_ship_bireme.xml:9 #: simulation/templates/units/ptol_ship_bireme.xml:5 #: simulation/templates/units/sele_ship_bireme.xml:5 msgid "Bireme" msgstr "" #: simulation/templates/units/cart_ship_bireme.xml:10 msgid "Du-Mašōt" msgstr "" #: simulation/templates/units/cart_ship_fishing.xml:5 msgid "Noon-Mašōt" msgstr "" #: simulation/templates/units/cart_ship_merchant.xml:11 msgid "" "Trade between docks. Garrison a Trader aboard for additional profit (+20% for" " each garrisoned). Gather profitable aquatic treasures. Carthaginians have " "+25% sea trading bonus." msgstr "" #: simulation/templates/units/cart_ship_merchant.xml:9 msgid "Seḥer" msgstr "" #: simulation/templates/units/cart_ship_quinquereme.xml:5 msgid "Quinquereme" msgstr "" #: simulation/templates/units/cart_ship_quinquereme.xml:6 msgid "Ḥameš-Mašōt" msgstr "" #: simulation/templates/units/cart_ship_trireme.xml:5 #: simulation/templates/units/mace_ship_trireme.xml:5 #: simulation/templates/units/spart_ship_trireme.xml:5 msgid "Trireme" msgstr "" #: simulation/templates/units/cart_ship_trireme.xml:6 msgid "Tlat-Mašōt" msgstr "" #: simulation/templates/units/cart_support_female_citizen.xml:6 msgid "Carthaginian Woman" msgstr "" #: simulation/templates/units/cart_support_female_citizen.xml:5 msgid "Aštāh" msgstr "" #: simulation/templates/units/cart_support_healer_b.xml:6 msgid "Kehinit" msgstr "" #: simulation/templates/units/cart_support_trader.xml:10 msgid "Mekir" msgstr "" #: simulation/templates/units/celt_champion_cavalry_brit.xml:24 msgid "" "Brythonic Champion Chariot.\n" "Counters Infantry. High trample damage." msgstr "" #: simulation/templates/units/celt_champion_cavalry_gaul.xml:7 msgid "" "Gallic Champion Cavalry.\n" "Counters Ranged Units." msgstr "" #: simulation/templates/units/celt_champion_cavalry_gaul.xml:5 #: simulation/templates/units/gaul_champion_cavalry.xml:5 msgid "Gallic Noble Cavalry" msgstr "" #: simulation/templates/units/celt_champion_cavalry_gaul.xml:6 #: simulation/templates/units/gaul_champion_cavalry.xml:6 msgid "Gallic Brihent" msgstr "" #: simulation/templates/units/celt_champion_infantry_brit.xml:15 msgid "" "Brythonic Champion Swordsman.\n" "Counters Spear Units." msgstr "" #: simulation/templates/units/celt_champion_infantry_brit.xml:13 msgid "Two-Handed Swordsman" msgstr "" #: simulation/templates/units/celt_champion_infantry_gaul.xml:12 msgid "" "Gallic Champion Swordsman.\n" "Counters Spearmen and Cavalry." msgstr "" #: simulation/templates/units/celt_champion_infantry_gaul.xml:10 #: simulation/templates/units/gaul_champion_infantry.xml:10 msgid "Heavy Swordsman" msgstr "" #: simulation/templates/units/celt_champion_infantry_gaul.xml:11 #: simulation/templates/units/gaul_champion_infantry.xml:11 msgid "Solduros" msgstr "" #: simulation/templates/units/celt_fanatic.xml:15 #: simulation/templates/units/gaul_champion_fanatic.xml:15 msgid "Naked Fanatic" msgstr "" #: simulation/templates/units/celt_fanatic.xml:16 #: simulation/templates/units/gaul_champion_fanatic.xml:16 msgid "Gaesata" msgstr "" #: simulation/templates/units/celt_hero_brennus.xml:14 #: simulation/templates/units/gaul_hero_brennus.xml:14 msgid "Hero Aura: +5 Metal loot for every enemy unit killed." msgstr "" #: simulation/templates/units/celt_hero_brennus.xml:13 #: simulation/templates/units/gaul_hero_brennus.xml:13 msgid "Brennus" msgstr "" #: simulation/templates/units/celt_hero_britomartus.xml:14 #: simulation/templates/units/gaul_hero_britomartus.xml:14 msgid "Hero Aura: Gathering rates increased with +15% during his lifetime." msgstr "" #: simulation/templates/units/celt_hero_britomartus.xml:13 #: simulation/templates/units/gaul_hero_britomartus.xml:13 msgid "Britomartus" msgstr "" #: simulation/templates/units/celt_hero_vercingetorix.xml:25 #: simulation/templates/units/gaul_hero_vercingetorix.xml:25 msgid "Hero Aura: +2 attack for all units within his aura." msgstr "" #: simulation/templates/units/celt_hero_vercingetorix.xml:24 #: simulation/templates/units/gaul_hero_vercingetorix.xml:24 msgid "Vercingetorix" msgstr "" #: simulation/templates/units/hele_cavalry_javelinist_b.xml:6 msgid "Thessalian Scout" msgstr "" #: simulation/templates/units/hele_champion_cavalry_mace.xml:23 msgid "" "Macedonian Champion Cavalry.\n" "Counters Cavalry and Archers. Countered by Champion Units." msgstr "" #: simulation/templates/units/hele_champion_cavalry_mace.xml:21 #: simulation/templates/units/mace_champion_cavalry.xml:19 #: simulation/templates/units/sele_cavalry_spearman_b.xml:6 msgid "Companion Cavalry" msgstr "" #: simulation/templates/units/hele_champion_cavalry_mace.xml:22 #: simulation/templates/units/mace_champion_cavalry.xml:20 msgid "Hetaîros" msgstr "" #: simulation/templates/units/hele_champion_infantry_mace.xml:7 msgid "" "Macedonian Champion Pikeman.\n" "Heavy line infantry. Counters Cavalry and Infantry. Countered Ranged Units. " "Uses the Syntagma Formation." msgstr "" #: simulation/templates/units/hele_champion_infantry_mace.xml:5 #: simulation/templates/units/mace_infantry_spearman_b.xml:13 msgid "Foot Companion" msgstr "" #: simulation/templates/units/hele_champion_infantry_mace.xml:6 #: simulation/templates/units/mace_infantry_spearman_b.xml:14 msgid "Pezétairos" msgstr "" #: simulation/templates/units/hele_champion_infantry_polis.xml:100 #: simulation/templates/units/spart_champion_infantry_spear.xml:102 msgid "" "Classes: Champion Melee Infantry Spearman.\n" "Counters: 2x vs. All Cavalry types. +10% Attack vs. All Non-Greek Units.\n" "Countered by: Skirmishers, Swordsmen, Cavalry Archers." msgstr "" #: simulation/templates/units/hele_champion_infantry_polis.xml:98 #: simulation/templates/units/spart_champion_infantry_spear.xml:100 msgid "Spartan Hoplite" msgstr "" #: simulation/templates/units/hele_champion_infantry_polis.xml:99 msgid "Spartiā́tēs" msgstr "" #: simulation/templates/units/hele_champion_ranged_polis.xml:20 msgid "" "Poleis Champion Raider.\n" "Counters Support Units and Ranged Units. Countered by Melee Cavalry. Fast " "Move Speed." msgstr "" #: simulation/templates/units/hele_champion_ranged_polis.xml:18 #: simulation/templates/units/hele_champion_swordsman_polis.xml:47 msgid "Athenian Light Hoplite" msgstr "" #: simulation/templates/units/hele_champion_ranged_polis.xml:19 #: simulation/templates/units/hele_champion_swordsman_polis.xml:48 msgid "Ékdromos Athēnaïkós" msgstr "" #: simulation/templates/units/hele_champion_swordsman_polis.xml:49 msgid "" "Poleis Champion Raider.\n" "Counters Support Units, Spear units, and Ranged Units (if they can catch " "them). Countered by Archers." msgstr "" #: simulation/templates/units/hele_hero_alexander.xml:23 msgid "" "Hero Aura: +2 Cavalry and Champion Cavalry Attack and +15% Speed. " "\"Herocide\" attack bonus vs. enemy Heroes." msgstr "" #: simulation/templates/units/hele_hero_alexander.xml:21 #: simulation/templates/units/mace_hero_alexander.xml:36 msgid "Alexander The Great" msgstr "" #: simulation/templates/units/hele_hero_alexander.xml:22 #: simulation/templates/units/mace_hero_alexander.xml:37 msgid "Mégās Aléxandros" msgstr "" #: simulation/templates/units/hele_hero_demetrius.xml:15 #: simulation/templates/units/mace_hero_demetrius.xml:15 msgid "Hero Aura: +15% Range and +10 Crush Attack for Siege Engines." msgstr "" #: simulation/templates/units/hele_hero_demetrius.xml:13 #: simulation/templates/units/mace_hero_demetrius.xml:13 msgid "Demetrius The Besieger" msgstr "" #: simulation/templates/units/hele_hero_demetrius.xml:14 #: simulation/templates/units/mace_hero_demetrius.xml:14 msgid "Dēmḗtrios Poliorkḗtēs" msgstr "" #: simulation/templates/units/hele_hero_leonidas.xml:33 msgid "Hero Aura: Increased Spartiate and Hoplite Attack. (not imlemented)" msgstr "" #: simulation/templates/units/hele_hero_leonidas.xml:32 #: simulation/templates/units/spart_hero_leonidas.xml:29 msgid "Leōnídēs" msgstr "" #: simulation/templates/units/hele_hero_philip.xml:12 #: simulation/templates/units/mace_hero_philip.xml:12 msgid "Hero Aura: +5 Attack for Champion Units." msgstr "" #: simulation/templates/units/hele_hero_philip.xml:11 #: simulation/templates/units/mace_hero_philip.xml:11 msgid "Phílippos B' ho Makedṓn" msgstr "" #: simulation/templates/units/hele_hero_themistocles.xml:15 msgid "" "Hero Aura: +50% Move Speed for the ship he's in and -20% Build Time for all " "Warships." msgstr "" #: simulation/templates/units/hele_hero_xenophon.xml:18 msgid "" "Hero Aura: +1 Armour and +15% Speed to units within his Formation. +15% Speed" " to Thracian Peltasts during his lifetime." msgstr "" #: simulation/templates/units/hele_hero_xenophon.xml:17 msgid "Xenophôn" msgstr "" #: simulation/templates/units/hele_infantry_slinger_b.xml:19 #: simulation/templates/units/mace_infantry_slinger_b.xml:19 msgid "Rhodian Slinger" msgstr "" #: simulation/templates/units/hele_infantry_slinger_b.xml:20 #: simulation/templates/units/mace_infantry_slinger_b.xml:20 msgid "Sphendonetes Rhodikos" msgstr "" #: simulation/templates/units/hele_infantry_spearman_b.xml:26 msgid "Greek Hoplite" msgstr "" #: simulation/templates/units/hele_infantry_spearman_b.xml:27 msgid "Hoplī́tēs Hellēnikós" msgstr "" #: simulation/templates/units/hele_mechanical_siege_tower.xml:6 msgid "" "Siege Tower.\n" "Garrison up to 20 units inside for massive firepower." msgstr "" #: simulation/templates/units/hele_mechanical_siege_tower.xml:5 #: simulation/templates/units/mace_mechanical_siege_tower.xml:5 #: simulation/templates/units/ptol_mechanical_siege_tower.xml:5 #: simulation/templates/units/sele_mechanical_siege_tower.xml:5 msgid "Helépolis" msgstr "" #: simulation/templates/units/hele_ship_trireme.xml:6 msgid "" "Medium Warship.\n" "Ramming Secondary Attack." msgstr "" #: simulation/templates/units/hele_ship_trireme.xml:5 #: simulation/templates/units/mace_ship_trireme.xml:6 #: simulation/templates/units/spart_ship_trireme.xml:6 msgid "Triḗrēs" msgstr "" #: simulation/templates/units/hele_support_female_citizen.xml:6 msgid "Greek Woman" msgstr "" #: simulation/templates/units/hele_support_female_citizen.xml:5 msgid "Gýnē Hellenikos" msgstr "" #: simulation/templates/units/iber_cavalry_javelinist_b.xml:6 msgid "Kantabriako Zaldun" msgstr "" #: simulation/templates/units/iber_cavalry_spearman_b.xml:6 msgid "Lantzari" msgstr "" #: simulation/templates/units/iber_champion_cavalry.xml:36 msgid "" "Classes: Champion Ranged Cavalry Skirmisher.\n" "Special: Flaming javelins. Good vs. Buildings.\n" "Counters: 2x vs. Buildings, 1.5x vs. Archers.\n" "Countered by: Spearmen and Elephants." msgstr "" #: simulation/templates/units/iber_champion_cavalry.xml:32 msgid "Leial Zalduneria" msgstr "" #: simulation/templates/units/iber_champion_infantry.xml:5 msgid "Leial Ezpatari" msgstr "" #: simulation/templates/units/iber_hero_caros.xml:12 #: simulation/templates/units/iber_hero_indibil.xml:7 #: simulation/templates/units/iber_hero_viriato.xml:12 msgid "Hero Aura: \"Tactica Guerilla.\" TBD." msgstr "" #: simulation/templates/units/iber_hero_caros.xml:10 msgid "Caros" msgstr "" #: simulation/templates/units/iber_infantry_javelinist_b.xml:11 msgid "Lusitano Ezpatari" msgstr "" #: simulation/templates/units/iber_infantry_slinger_b.xml:11 msgid "Habailari" msgstr "" #: simulation/templates/units/iber_infantry_spearman_b.xml:11 msgid "Ezkutari" msgstr "" #: simulation/templates/units/iber_infantry_swordsman_b.xml:11 msgid "Ezpatari" msgstr "" #: simulation/templates/units/iber_mechanical_siege_ram.xml:9 msgid "Ahariburu" msgstr "" #: simulation/templates/units/iber_ship_fire.xml:5 msgid "Iberian Fire Ship" msgstr "" #: simulation/templates/units/iber_ship_fishing.xml:5 msgid "Arrantza Ontzi" msgstr "" #: simulation/templates/units/iber_ship_merchant.xml:9 msgid "Merkataritza Itsasontzi" msgstr "" #: simulation/templates/units/iber_support_female_citizen.xml:6 msgid "Iberian Woman" msgstr "" #: simulation/templates/units/iber_support_female_citizen.xml:5 msgid "Emazteki" msgstr "" #: simulation/templates/units/iber_support_healer_b.xml:6 msgid "Priestess of Ataekina" msgstr "" #: simulation/templates/units/iber_support_healer_b.xml:7 msgid "Emakumezko Apaiz de Ataekina" msgstr "" #: simulation/templates/units/iber_support_trader.xml:5 msgid "Merkatari" msgstr "" #: simulation/templates/units/mace_cavalry_javelinist_b.xml:13 msgid "Odrysian Skirmish Cavalry" msgstr "" #: simulation/templates/units/mace_cavalry_javelinist_b.xml:14 msgid "Hippakontistès Odrysón" msgstr "" #: simulation/templates/units/mace_cavalry_spearman_b.xml:6 msgid "Thessalian Lancer" msgstr "" #: simulation/templates/units/mace_cavalry_spearman_b.xml:7 msgid "Xystophoros Thessalikos" msgstr "" #: simulation/templates/units/mace_champion_infantry_a.xml:30 msgid "Macedonian Shield Bearer" msgstr "" #: simulation/templates/units/mace_champion_infantry_a.xml:31 msgid "Hypaspistes" msgstr "" #: simulation/templates/units/mace_champion_infantry_e.xml:23 msgid "Hypaspistes Argyraspides" msgstr "" #: simulation/templates/units/mace_hero_alexander.xml:38 msgid "" "\"Imperialism\" Aura: +10% territory effect for all buildings while he lives." "\n" "\"Herocide\" Bonus: +20% attack bonus vs. enemy Heroes." msgstr "" #: simulation/templates/units/mace_hero_craterus.xml:7 msgid "Trusted general under Alexander the Great." msgstr "" #: simulation/templates/units/mace_hero_craterus.xml:5 msgid "Crateros" msgstr "" #: simulation/templates/units/mace_hero_craterus.xml:6 msgid "Kraterós" msgstr "" #: simulation/templates/units/mace_hero_pyrrhus.xml:7 msgid "\"Pyrrhic Victory\" Aura: TBD." msgstr "" #: simulation/templates/units/mace_hero_pyrrhus.xml:6 msgid "Pyrrhos ton Epeiros" msgstr "" #: simulation/templates/units/mace_infantry_javelinist_b.xml:23 msgid "Agrianian Peltast" msgstr "" #: simulation/templates/units/mace_infantry_javelinist_b.xml:24 msgid "Peltastes Agrianikos" msgstr "" #: simulation/templates/units/mace_mechanical_siege_ram.xml:9 #: simulation/templates/units/spart_mechanical_siege_ram.xml:9 msgid "Poliorkitikós Kriós" msgstr "" #: simulation/templates/units/mace_ship_bireme.xml:5 msgid "Hemiolos" msgstr "" #: simulation/templates/units/mace_support_female_citizen.xml:6 msgid "Macedonian Woman" msgstr "" #: simulation/templates/units/mace_support_female_citizen.xml:5 msgid "Gýnē Makedonikós" msgstr "" #: simulation/templates/units/mace_thorakites.xml:5 msgid "Armored Swordsman" msgstr "" #: simulation/templates/units/mace_thorakites.xml:6 msgid "Thorakites" msgstr "" #: simulation/templates/units/mace_thureophoros.xml:9 msgid "Heavy Skirmisher" msgstr "" #: simulation/templates/units/mace_thureophoros.xml:10 msgid "Thureophoros" msgstr "" #: simulation/templates/units/maur_cavalry_javelinist_b.xml:6 msgid "Indian Light Cavalry" msgstr "" #: simulation/templates/units/maur_cavalry_javelinist_b.xml:7 msgid "Ashwarohi" msgstr "" #: simulation/templates/units/maur_cavalry_swordsman_b.xml:6 msgid "Indian Raiding Cavalry" msgstr "" #: simulation/templates/units/maur_cavalry_swordsman_b.xml:7 msgid "Aśvārohagaṇaḥ" msgstr "" #: simulation/templates/units/maur_champion_chariot.xml:34 #: simulation/templates/units/sele_champion_chariot.xml:34 msgid "" "Classes: Champion Ranged Cavalry Chariot Archer.\n" "Counters: 2x vs. Swordsmen, 1.5x vs. Spearmen. Deals Trample Damage.\n" "Countered by: Skirmishers and Elephants." msgstr "" #: simulation/templates/units/maur_champion_chariot.xml:30 msgid "War Chariot" msgstr "" #: simulation/templates/units/maur_champion_chariot.xml:31 msgid "Rath" msgstr "" #: simulation/templates/units/maur_champion_elephant.xml:5 #: simulation/templates/units/pers_champion_elephant.xml:5 msgid "Indian War Elephant" msgstr "" #: simulation/templates/units/maur_champion_elephant.xml:6 msgid "Gajendra" msgstr "" #: simulation/templates/units/maur_champion_infantry.xml:48 msgid "" "Classes: Champion Melee Infantry Swordsman.\n" "Counters: 2x vs. Structures, 1.25x vs. Spearmen and Elephants.\n" "Countered by: Archers and Cavalry Spearmen." msgstr "" #: simulation/templates/units/maur_champion_infantry.xml:44 msgid "Warrior" msgstr "" #: simulation/templates/units/maur_champion_infantry.xml:45 msgid "Yōddha" msgstr "" #: simulation/templates/units/maur_champion_maiden.xml:16 msgid "Maiden Guard" msgstr "" #: simulation/templates/units/maur_champion_maiden.xml:17 #: simulation/templates/units/maur_champion_maiden_archer.xml:18 msgid "Visha Kanya" msgstr "" #: simulation/templates/units/maur_champion_maiden_archer.xml:17 msgid "Maiden Guard Archer" msgstr "" #: simulation/templates/units/maur_elephant_archer_b.xml:30 msgid "" "Classes: Ranged Elephant Archer.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Swordsmen. \"Stench\" aura vs. Cavalry.\n" "Countered by: Skirmishers and Swordsmen. Can run amok." msgstr "" #: simulation/templates/units/maur_elephant_archer_b.xml:26 msgid "Elephant Archer" msgstr "" #: simulation/templates/units/maur_elephant_archer_b.xml:27 msgid "Vachii Gaja" msgstr "" #: simulation/templates/units/maur_hero_ashoka.xml:36 msgid "" "Hero Chariot Archer.\n" "Hero Aura: TBD.\n" "Hero Special: \"Edicts of Ashoka\" - Edict Pillars of Ashoka can be built " "during Ashoka's lifetime." msgstr "" #: simulation/templates/units/maur_hero_ashoka.xml:33 msgid "Aśoka Devānāmpriya" msgstr "" #: simulation/templates/units/maur_hero_chanakya.xml:32 msgid "" "Classes: Hero Healer.\n" "Hero Special: \"Healer\" - Heal units at an accelerated rate.\n" "Hero Special: \"Teacher\" - Empower a building to research and train +50% " "faster.\n" "Hero Special: \"Philosopher\" - Research 4 special technologies only " "available to Chanakya." msgstr "" #: simulation/templates/units/maur_hero_chanakya.xml:29 msgid "Acharya Chanakya" msgstr "" #: simulation/templates/units/maur_hero_maurya.xml:7 msgid "" "Classes: Hero Melee Elephant.\n" "Hero Aura: TBD." msgstr "" #: simulation/templates/units/maur_infantry_archer_b.xml:13 msgid "Longbowman" msgstr "" #: simulation/templates/units/maur_infantry_archer_b.xml:14 msgid "Dhanurdhar" msgstr "" #: simulation/templates/units/maur_infantry_spearman_b.xml:23 msgid "Bamboo Spearman" msgstr "" #: simulation/templates/units/maur_infantry_spearman_b.xml:24 msgid "Kauntika" msgstr "" #: simulation/templates/units/maur_infantry_swordsman_b.xml:26 msgid "Indian Swordsman" msgstr "" #: simulation/templates/units/maur_infantry_swordsman_b.xml:27 msgid "Khadagdhari" msgstr "" #: simulation/templates/units/maur_ship_bireme.xml:5 #: simulation/templates/units/maur_ship_trireme.xml:18 msgid "Yudhpot" msgstr "" #: simulation/templates/units/maur_ship_fishing.xml:9 msgid "Fisherman" msgstr "" #: simulation/templates/units/maur_ship_fishing.xml:10 msgid "Matsyapalak" msgstr "" #: simulation/templates/units/maur_ship_merchant.xml:9 msgid "Trading Ship" msgstr "" #: simulation/templates/units/maur_ship_merchant.xml:10 msgid "Vanijyik Nauka" msgstr "" #: simulation/templates/units/maur_ship_trireme.xml:20 msgid "Classes: Mechanical Warship Medium Ranged Melee." msgstr "" #: simulation/templates/units/maur_support_elephant.xml:32 msgid "Mobile dropsite. Can also assist in constructing buildings." msgstr "" #: simulation/templates/units/maur_support_elephant.xml:28 msgid "Worker Elephant" msgstr "" #: simulation/templates/units/maur_support_elephant.xml:29 msgid "Karmākara Gaja" msgstr "" #: simulation/templates/units/maur_support_female_citizen.xml:6 msgid "Indian Woman" msgstr "" #: simulation/templates/units/maur_support_female_citizen.xml:5 msgid "Naari" msgstr "" #: simulation/templates/units/maur_support_healer_b.xml:6 msgid "Brahmin Priest" msgstr "" #: simulation/templates/units/maur_support_healer_b.xml:7 msgid "Brāhmaṇa Pujari" msgstr "" #: simulation/templates/units/maur_support_trader.xml:9 msgid "Vaishya" msgstr "" #: simulation/templates/units/merc_thrace_swordsman.xml:26 msgid "" "Classes: Mercenary Melee Infantry Swordsman.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Elephants.\n" "Countered by: Archers, Cavalry Spearmen, and Cavalry Archers." msgstr "" #: simulation/templates/units/merc_thrace_swordsman.xml:21 #: simulation/templates/units/sele_infantry_swordsman_b.xml:14 msgid "Thracian Mercenary Swordsman" msgstr "" #: simulation/templates/units/merc_thrace_swordsman.xml:22 #: simulation/templates/units/sele_infantry_swordsman_b.xml:15 msgid "Rhomphaiaphoros Thrakikós" msgstr "" #: simulation/templates/units/noldor_ship_bireme.xml:9 msgid "Mankar Cirya" msgstr "" #: simulation/templates/units/pers_arstibara.xml:12 msgid "Persian Apple Bearer" msgstr "" #: simulation/templates/units/pers_arstibara.xml:13 msgid "Arštibara" msgstr "" #: simulation/templates/units/pers_cavalry_archer_b.xml:36 msgid "" "Classes: Ranged Cavalry Chariot Archer.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Swordsmen.\n" "Countered by: Skirmishers and Elephants.\n" "Causes trample damage to enemy units." msgstr "" #: simulation/templates/units/pers_cavalry_archer_b.xml:32 msgid "Babylonian Scythed Chariot" msgstr "" #: simulation/templates/units/pers_cavalry_archer_b.xml:33 msgid "Babiruviya Ratha" msgstr "" #: simulation/templates/units/pers_cavalry_javelinist_b.xml:6 #: simulation/templates/units/pers_cavalry_javelinist_b_trireme.xml:9 #: simulation/templates/units/sele_cavalry_javelinist_b.xml:6 msgid "Median Light Cavalry" msgstr "" #: simulation/templates/units/pers_cavalry_javelinist_b.xml:7 #: simulation/templates/units/pers_cavalry_javelinist_b_trireme.xml:10 msgid "Mada Asabara" msgstr "" #: simulation/templates/units/pers_cavalry_spearman_b.xml:11 msgid "Cappadocian Cavalry" msgstr "" #: simulation/templates/units/pers_cavalry_spearman_b.xml:12 msgid "Katpaduka Asabara" msgstr "" #: simulation/templates/units/pers_cavalry_swordsman_b.xml:11 #: simulation/templates/units/pers_cavalry_swordsman_b_trireme.xml:12 msgid "Hyrcanian Cavalry" msgstr "" #: simulation/templates/units/pers_cavalry_swordsman_b.xml:12 #: simulation/templates/units/pers_cavalry_swordsman_b_trireme.xml:13 msgid "Varkaniya Asabara" msgstr "" #: simulation/templates/units/pers_champion_cavalry.xml:23 msgid "Bactrian Heavy Lancer" msgstr "" #: simulation/templates/units/pers_champion_cavalry.xml:24 #: simulation/templates/units/pers_champion_cavalry_archer.xml:17 msgid "Bakhtrish Asabara" msgstr "" #: simulation/templates/units/pers_champion_cavalry_archer.xml:16 msgid "Bactrian Heavy Cavalry Archer" msgstr "" #: simulation/templates/units/pers_champion_elephant.xml:6 msgid "Hinduya Pila" msgstr "" #: simulation/templates/units/pers_champion_infantry.xml:11 msgid "Persian Immortal" msgstr "" #: simulation/templates/units/pers_champion_infantry.xml:12 msgid "Anusiya" msgstr "" #: simulation/templates/units/pers_hero_cyrus.xml:14 msgid "" "Hero Cavalry Lancer.\n" "Hero Aura: \"Lead from the Front.\" Boosts attack of nearby cavalry units." msgstr "" #: simulation/templates/units/pers_hero_cyrus.xml:11 msgid "Cyrus II The Great" msgstr "" #: simulation/templates/units/pers_hero_darius.xml:42 msgid "" "Hero Scythe Chariot Archer.\n" "Hero Aura: \"Leadership.\" +15% Movement Speed of all units.\n" "Hero Aura: \"Merchant of the Empire.\" Boosts profitablity of trade during " "his lifetime (TBD).\n" "Ranged attack 2x vs. spearmen. Ranged attack 1.5x vs. Swordsmen." msgstr "" #: simulation/templates/units/pers_hero_darius.xml:39 msgid "Darius The Great" msgstr "" #: simulation/templates/units/pers_hero_xerxes.xml:18 msgid "" "Hero Archer.\n" "Hero Aura: \"Administrator.\" +15% Gather Rate and Build Rate of nearby " "units.\n" "Counters: 2x vs. Swordsmen, 1.25x vs. Cavalry Spearmen.\n" "Countered by: Cavalry Swordsmen, Cavalry Skirmishers." msgstr "" #: simulation/templates/units/pers_hero_xerxes.xml:15 #: simulation/templates/units/pers_hero_xerxes_chariot.xml:39 msgid "Xerxes I" msgstr "" #: simulation/templates/units/pers_hero_xerxes_chariot.xml:42 msgid "" "Hero Scythe Chariot Archer.\n" "High Trample Aura. Counters Melee Infantry. Countered by Skirmishers.\n" "Hero Aura: \"Administrator.\" +15% Gather Rate and Build Rate of nearby units." msgstr "" #: simulation/templates/units/pers_infantry_archer_b.xml:13 msgid "Sogdian Archer" msgstr "" #: simulation/templates/units/pers_infantry_archer_b.xml:14 msgid "Sugda Vaçabara" msgstr "" #: simulation/templates/units/pers_infantry_javelinist_b.xml:24 msgid "Anatolian Auxiliary" msgstr "" #: simulation/templates/units/pers_infantry_javelinist_b.xml:25 msgid "Spardiya Takabara" msgstr "" #: simulation/templates/units/pers_infantry_spearman_b.xml:19 msgid "Shieldbearer" msgstr "" #: simulation/templates/units/pers_infantry_spearman_b.xml:20 msgid "Sparabara" msgstr "" #: simulation/templates/units/pers_kardakes_hoplite.xml:5 msgid "Cardaces Hoplite" msgstr "" #: simulation/templates/units/pers_kardakes_hoplite.xml:6 msgid "Hoplites Kardakes" msgstr "" #: simulation/templates/units/pers_kardakes_skirmisher.xml:13 msgid "Cardaces Skirmisher" msgstr "" #: simulation/templates/units/pers_kardakes_skirmisher.xml:14 msgid "Peltastes Kardakes" msgstr "" #: simulation/templates/units/pers_mechanical_siege_ram.xml:33 msgid "Assyrian Siege Ram" msgstr "" #: simulation/templates/units/pers_mechanical_siege_ram.xml:34 msgid "Athuriya Hamaranakuba" msgstr "" #: simulation/templates/units/pers_ship_bireme.xml:9 msgid "Cypriot Galley" msgstr "" #: simulation/templates/units/pers_ship_bireme.xml:10 msgid "Hamaraniyanava" msgstr "" #: simulation/templates/units/pers_ship_fishing.xml:5 msgid "Masiyakara" msgstr "" #: simulation/templates/units/pers_ship_merchant.xml:9 msgid "Ionian Trade Ship" msgstr "" #: simulation/templates/units/pers_ship_merchant.xml:10 msgid "Yaunash Nav" msgstr "" #: simulation/templates/units/pers_ship_trireme.xml:9 msgid "Phoenician Trireme" msgstr "" #: simulation/templates/units/pers_ship_trireme.xml:10 msgid "Vazarka Hamaraniyanava" msgstr "" #: simulation/templates/units/pers_support_female_citizen.xml:6 msgid "Mesopotamian Woman" msgstr "" #: simulation/templates/units/pers_support_female_citizen.xml:5 msgid "Banu Miyanrudani" msgstr "" #: simulation/templates/units/pers_support_healer_b.xml:6 msgid "Median Magus" msgstr "" #: simulation/templates/units/pers_support_healer_b.xml:7 msgid "Maguš Mada" msgstr "" #: simulation/templates/units/pers_support_trader.xml:14 msgid "" "Trade resources between your own markets and those of your allies. Persians " "have a +25% land trading bonus." msgstr "" #: simulation/templates/units/pers_support_trader.xml:10 msgid "Aramaean Merchant" msgstr "" #: simulation/templates/units/pers_support_trader.xml:11 msgid "Tamkarum Arami" msgstr "" #: simulation/templates/units/ptol_cavalry_archer_b.xml:11 msgid "" "Classes: Ranged Cavalry Camel Archer.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Swordsmen.\n" "Countered by: Skirmishers and Elephants.\n" "\"Stench\" aura vs. Horses (Cavalry are less effective against Camels)." msgstr "" #: simulation/templates/units/ptol_cavalry_archer_b.xml:7 msgid "Nabataean Camel Archer" msgstr "" #: simulation/templates/units/ptol_cavalry_archer_b.xml:8 msgid "Mutsābiq Gamal Nabatu" msgstr "" #: simulation/templates/units/ptol_cavalry_javelinist_b.xml:13 msgid "Tarantine Settler Cavalry" msgstr "" #: simulation/templates/units/ptol_cavalry_javelinist_b.xml:14 msgid "Hippeus Tarantinos" msgstr "" #: simulation/templates/units/ptol_cavalry_spearman_b.xml:6 msgid "Macedonian Settler Cavalry" msgstr "" #: simulation/templates/units/ptol_cavalry_spearman_b.xml:7 msgid "Hippeus Makedonikós" msgstr "" #: simulation/templates/units/ptol_champion_cavalry.xml:5 msgid "Royal Guard Cavalry" msgstr "" #: simulation/templates/units/ptol_champion_cavalry.xml:6 msgid "Agema Basilikos" msgstr "" #: simulation/templates/units/ptol_champion_elephant.xml:5 msgid "Towered War Elephant" msgstr "" #: simulation/templates/units/ptol_champion_elephant.xml:6 msgid "Polémou Eléphantos" msgstr "" #: simulation/templates/units/ptol_champion_juggernaut.xml:19 msgid "Juggernaut" msgstr "" #: simulation/templates/units/ptol_champion_juggernaut.xml:20 msgid "Tessarakonterēs" msgstr "" #: simulation/templates/units/ptol_hero_cleopatra.xml:13 msgid "" "Classes: Hero Infantry Archer.\n" "\"Consort\" Aura: Increased effectiveness of allied heroes in her vision. " "Decreased effectiveness for enemy heroes.\n" "\"Patriot\" Aura: Egyptian units fight harder when in vision of her." msgstr "" #: simulation/templates/units/ptol_hero_cleopatra.xml:11 msgid "Cleopatra VII" msgstr "" #: simulation/templates/units/ptol_hero_ptolemy_I.xml:13 msgid "" "Classes: Hero Melee Elephant.\n" "\"Mercenary Patron\" Aura: Mercenaries cost -50% during his lifetime.\n" "\"Construction\" Aura: -10% build time for nearby structures." msgstr "" #: simulation/templates/units/ptol_hero_ptolemy_I.xml:11 msgid "Ptolemy I \"Savior\"" msgstr "" #: simulation/templates/units/ptol_hero_ptolemy_IV.xml:13 msgid "" "Classes: Hero Melee Cavalry Swordsman.\n" "\"Raphia\" Aura: Egyptian Pikemen have greater stats within vision of him.\n" "\"Juggernaut\" Bonus: Build limit increased to 5 for Juggernaut Warships." msgstr "" #: simulation/templates/units/ptol_hero_ptolemy_IV.xml:11 msgid "Ptolemy IV \"Father Loving\"" msgstr "" #: simulation/templates/units/ptol_infantry_archer_b.xml:29 msgid "" "Classes: Ranged Mercenary Infantry Archer Worker.\n" "Counters: 2x vs. Swordsmen, 1.25x vs. Cavalry Spearmen.\n" "Countered by: Cavalry Swordsmen, Cavalry Skirmishers." msgstr "" #: simulation/templates/units/ptol_infantry_archer_b.xml:26 msgid "Nubian Mercenary Archer" msgstr "" #: simulation/templates/units/ptol_infantry_archer_b.xml:27 msgid "Kousít Misthophóros Toxóti̱s" msgstr "" #: simulation/templates/units/ptol_infantry_javelinist_b.xml:15 msgid "Mercenary Thureos Skirmisher" msgstr "" #: simulation/templates/units/ptol_infantry_javelinist_b.xml:16 msgid "Thureophóros Akroboli̱stí̱s" msgstr "" #: simulation/templates/units/ptol_infantry_slinger_b.xml:15 msgid "Judean Slinger" msgstr "" #: simulation/templates/units/ptol_infantry_slinger_b.xml:16 msgid "Ebraïkós Sphendonistes" msgstr "" #: simulation/templates/units/ptol_infantry_spearman_2_b.xml:22 msgid "Mercenary Thureos Spearman" msgstr "" #: simulation/templates/units/ptol_infantry_spearman_2_b.xml:23 msgid "Thureophóros Misthophóros" msgstr "" #: simulation/templates/units/ptol_infantry_spearman_b.xml:15 msgid "Egyptian Pikeman" msgstr "" #: simulation/templates/units/ptol_infantry_spearman_b.xml:16 msgid "Makhimos Phalangites" msgstr "" #: simulation/templates/units/ptol_infantry_swordsman_b.xml:22 msgid "Gallikós Mistophorós" msgstr "" #: simulation/templates/units/ptol_mechanical_siege_polybolos_common.xml:5 msgid "Polybolos" msgstr "" #: simulation/templates/units/ptol_ship_bireme.xml:6 #: simulation/templates/units/sele_ship_bireme.xml:6 msgid "Dierēs" msgstr "" #: simulation/templates/units/ptol_ship_quinquereme.xml:5 msgid "Octères" msgstr "" #: simulation/templates/units/ptol_ship_trireme.xml:5 #: simulation/templates/units/sele_ship_quinquereme.xml:5 msgid "Pentères" msgstr "" #: simulation/templates/units/ptol_support_female_citizen.xml:11 msgid "Egyptian Woman" msgstr "" #: simulation/templates/units/ptol_support_female_citizen.xml:10 msgid "Gýnē Aigyptiakós" msgstr "" #: simulation/templates/units/ptol_support_healer_b.xml:6 msgid "Egyptian Priest" msgstr "" #: simulation/templates/units/ptol_support_healer_b.xml:7 msgid "Hiereús Aigyptikos" msgstr "" #: simulation/templates/units/rome_cavalry_javelinist_b.xml:6 msgid "Italian Allied Cavalry" msgstr "" #: simulation/templates/units/rome_cavalry_javelinist_b.xml:7 msgid "Eques Socius" msgstr "" #: simulation/templates/units/rome_cavalry_spearman_b.xml:6 msgid "Roman Cavalry" msgstr "" #: simulation/templates/units/rome_cavalry_spearman_b.xml:7 msgid "Eques Romanus" msgstr "" #: simulation/templates/units/rome_centurio_imperial.xml:16 msgid "Roman Centurion" msgstr "" #: simulation/templates/units/rome_centurio_imperial.xml:17 msgid "Centurio Legionarius" msgstr "" #: simulation/templates/units/rome_champion_cavalry.xml:6 msgid "Consular Bodyguard" msgstr "" #: simulation/templates/units/rome_champion_cavalry.xml:5 msgid "Eques Consularis" msgstr "" #: simulation/templates/units/rome_champion_infantry.xml:5 msgid "Italic Heavy Infantry" msgstr "" #: simulation/templates/units/rome_champion_infantry.xml:6 msgid "Extraordinarius" msgstr "" #: simulation/templates/units/rome_infantry_javelinist_b.xml:14 msgid "Roman Skirmisher" msgstr "" #: simulation/templates/units/rome_infantry_javelinist_b.xml:15 msgid "Veles" msgstr "" #: simulation/templates/units/rome_infantry_spearman_b.xml:14 msgid "Veteran Spearman" msgstr "" #: simulation/templates/units/rome_infantry_spearman_b.xml:15 msgid "Triarius" msgstr "" #: simulation/templates/units/rome_infantry_swordsman_a.xml:21 msgid "Princeps" msgstr "" #: simulation/templates/units/rome_infantry_swordsman_b.xml:27 msgid "Roman Swordsman" msgstr "" #: simulation/templates/units/rome_infantry_swordsman_b.xml:28 msgid "Hastatus" msgstr "" #: simulation/templates/units/rome_legionnaire_imperial.xml:13 msgid "Roman Legionnaire" msgstr "" #: simulation/templates/units/rome_legionnaire_imperial.xml:14 msgid "Legionarius Romanus" msgstr "" #: simulation/templates/units/rome_legionnaire_marian.xml:5 msgid "Marian Legionaire" msgstr "" #: simulation/templates/units/rome_legionnaire_marian.xml:6 msgid "Marian Legionarius" msgstr "" #: simulation/templates/units/rome_mechanical_siege_ram.xml:9 msgid "Aries" msgstr "" #: simulation/templates/units/rome_mechanical_siege_scorpio_common.xml:29 msgid "Scorpio" msgstr "" #: simulation/templates/units/rome_ship_bireme.xml:5 msgid "Liburnus" msgstr "" #: simulation/templates/units/rome_ship_fishing.xml:5 msgid "Navicula Piscatoria" msgstr "" #: simulation/templates/units/rome_ship_merchant.xml:9 msgid "Corbita" msgstr "" #: simulation/templates/units/rome_ship_quinquereme.xml:6 msgid "Roman Quinquereme" msgstr "" #: simulation/templates/units/rome_ship_quinquereme.xml:5 msgid "Quinqueremis Romana" msgstr "" #: simulation/templates/units/rome_ship_trireme.xml:9 msgid "Roman Trireme" msgstr "" #: simulation/templates/units/rome_ship_trireme.xml:8 msgid "Triremis Romana" msgstr "" #: simulation/templates/units/rome_support_female_citizen.xml:6 msgid "Roman Woman" msgstr "" #: simulation/templates/units/rome_support_female_citizen.xml:5 msgid "Romana" msgstr "" #: simulation/templates/units/rome_support_healer_b.xml:6 msgid "State Priest" msgstr "" #: simulation/templates/units/rome_support_healer_b.xml:7 msgid "Pontifex Minor" msgstr "" #: simulation/templates/units/rome_support_trader.xml:9 msgid "Plebeian Merchant" msgstr "" #: simulation/templates/units/rome_support_trader.xml:10 msgid "Mercator Plebeius" msgstr "" #: simulation/templates/units/samnite_skirmisher.xml:7 msgid "" "Mercenary skirmisher.\n" "Bonus vs. Archers and Spearmen." msgstr "" #: simulation/templates/units/samnite_skirmisher.xml:5 msgid "Samnite Skirmisher" msgstr "" #: simulation/templates/units/samnite_skirmisher.xml:6 msgid "(Samnite Skirmisher)" msgstr "" #: simulation/templates/units/samnite_spearman.xml:7 msgid "" "Mercenary spearman.\n" "Bonus vs. All Cavalry Units." msgstr "" #: simulation/templates/units/samnite_spearman.xml:5 msgid "Samnite Spearman" msgstr "" #: simulation/templates/units/samnite_spearman.xml:6 msgid "(Samnite Spearman)" msgstr "" #: simulation/templates/units/samnite_swordsman.xml:7 msgid "" "Mercenary swordsman.\n" "Bonus vs. All Spear Units." msgstr "" #: simulation/templates/units/samnite_swordsman.xml:6 msgid "(Samnite Swordsman)" msgstr "" #: simulation/templates/units/sele_cavalry_archer_b.xml:11 msgid "" "Classes: Ranged Cavalry Camel Archer.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Swordsmen.\n" "Countered by: Skirmishers and Elephants." msgstr "" #: simulation/templates/units/sele_cavalry_archer_b.xml:7 msgid "Dahae Horse Archer" msgstr "" #: simulation/templates/units/sele_cavalry_archer_b.xml:8 msgid "Hippotoxotès Dahae" msgstr "" #: simulation/templates/units/sele_cavalry_javelinist.xml:6 msgid "Militia Cavalry" msgstr "" #: simulation/templates/units/sele_cavalry_javelinist.xml:7 msgid "Hippakontistès Politès" msgstr "" #: simulation/templates/units/sele_cavalry_javelinist_b.xml:7 msgid "Hippeus Medikos" msgstr "" #: simulation/templates/units/sele_cavalry_spearman_b.xml:7 msgid "Hippos Hetairike" msgstr "" #: simulation/templates/units/sele_champion_cavalry.xml:23 msgid "Seleucid Cataphract" msgstr "" #: simulation/templates/units/sele_champion_cavalry.xml:24 msgid "Seleukidón Kataphraktos" msgstr "" #: simulation/templates/units/sele_champion_chariot.xml:30 msgid "Scythed Chariot" msgstr "" #: simulation/templates/units/sele_champion_chariot.xml:31 msgid "Drepanèphoros" msgstr "" #: simulation/templates/units/sele_champion_elephant.xml:5 msgid "Armored War Elephant" msgstr "" #: simulation/templates/units/sele_champion_elephant.xml:6 msgid "Thorakisménos Eléphantos" msgstr "" #: simulation/templates/units/sele_champion_infantry_pikeman.xml:5 msgid "Silver Shield Pikeman" msgstr "" #: simulation/templates/units/sele_champion_infantry_pikeman.xml:6 msgid "Phalangitès Argyraspis" msgstr "" #: simulation/templates/units/sele_champion_infantry_swordsman.xml:5 msgid "Romanized Heavy Swordsman" msgstr "" #: simulation/templates/units/sele_champion_infantry_swordsman.xml:6 msgid "Thorakitès Rhomaïkós" msgstr "" #: simulation/templates/units/sele_hero_antiochus_great.xml:13 msgid "" "Classes: Hero Melee Cavalry Spear.\n" "\"Ilarchès\" Aura: All cavalry trained during his lifetime gain +2 levels of " "all armour types. These cavalrymen retain their armour bonuses even after " "Antiochus is dead.\n" "Counters: 2x vs. Swordsmen and Siege Weapons, 1.5x vs. Skirmishers.\n" "Countered by: Spearmen, Archers, and Elephants." msgstr "" #: simulation/templates/units/sele_hero_antiochus_great.xml:11 msgid "Antiochus III \"The Great\"" msgstr "" #: simulation/templates/units/sele_hero_antiochus_great.xml:12 msgid "Antiokhos G' Mégās" msgstr "" #: simulation/templates/units/sele_hero_antiochus_righteous.xml:13 msgid "" "Classes: Hero Melee Cavalry Sword.\n" "\"Conquest\" Aura: All nearby soldiers gain a +2x attack versus buildings, " "siege engines, and ships. Building capture time reduced by 25% during his " "reign.\n" "Counters: 2x vs. Archers, All Support Units, and Siege Weapons.\n" "Countered by: Spearmen, Cavalry Skirmishers, and Elephants." msgstr "" #: simulation/templates/units/sele_hero_antiochus_righteous.xml:11 msgid "Antiochus IV \"The Righteous\"" msgstr "" #: simulation/templates/units/sele_hero_seleucus_victor.xml:15 msgid "" "Classes: Hero Melee Elephant.\n" "\"Zooiarchos\" Aura: Boosts War Elephant attack and speed +20% within his " "vision.\n" "Counters: 2x vs. All Cavalry, 1.5x vs. All Structures. Extra 1.5x vs. Gates.\n" "Countered by: Skirmishers and Swordsmen. Can run amok." msgstr "" #: simulation/templates/units/sele_hero_seleucus_victor.xml:11 msgid "Seleucus I \"The Victor\"" msgstr "" #: simulation/templates/units/sele_infantry_archer_b.xml:14 msgid "Syrian Archer" msgstr "" #: simulation/templates/units/sele_infantry_archer_b.xml:15 msgid "Toxótēs Syrías" msgstr "" #: simulation/templates/units/sele_infantry_javelinist_b.xml:14 msgid "Arab Javelineer" msgstr "" #: simulation/templates/units/sele_infantry_javelinist_b.xml:15 msgid "Pezakontistès Aravikós" msgstr "" #: simulation/templates/units/sele_infantry_spearman_2_b.xml:14 msgid "Militia Thureos Spearman" msgstr "" #: simulation/templates/units/sele_infantry_spearman_2_b.xml:15 msgid "Thureophóros Politès" msgstr "" #: simulation/templates/units/sele_infantry_spearman_b.xml:14 msgid "Bronze Shield Pikeman" msgstr "" #: simulation/templates/units/sele_infantry_spearman_e.xml:21 msgid "Gold Shield Pikeman" msgstr "" #: simulation/templates/units/sele_infantry_swordsman_b.xml:18 msgid "" "Classes: Mercenary Citizen Melee Infantry Swordsman.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Elephants.\n" "Countered by: Archers, Cavalry Spearmen, and Cavalry Archers." msgstr "" #: simulation/templates/units/sele_ship_trireme.xml:6 msgid "Seleucid Trireme" msgstr "" #: simulation/templates/units/sele_ship_trireme.xml:5 msgid "Seleukidó̱n Triērēs" msgstr "" #: simulation/templates/units/sele_support_female_citizen.xml:11 msgid "Syrian Woman" msgstr "" #: simulation/templates/units/sele_support_female_citizen.xml:10 msgid "Syrías Gýnē" msgstr "" #: simulation/templates/units/spart_cavalry_javelinist_b.xml:6 msgid "Perioikoi Cavalryman" msgstr "" #: simulation/templates/units/spart_cavalry_javelinist_b.xml:7 msgid "Pródromos Perioïkós" msgstr "" #: simulation/templates/units/spart_cavalry_spearman_b.xml:6 msgid "Allied Greek Cavalry" msgstr "" #: simulation/templates/units/spart_cavalry_spearman_b.xml:7 msgid "Hippeús Symmakhikós" msgstr "" #: simulation/templates/units/spart_champion_infantry_pike.xml:5 msgid "Spartan Pikeman" msgstr "" #: simulation/templates/units/spart_champion_infantry_pike.xml:6 msgid "Phalangites Spartiatis" msgstr "" #: simulation/templates/units/spart_champion_infantry_spear.xml:101 msgid "Spartiáti̱s" msgstr "" #: simulation/templates/units/spart_champion_infantry_sword.xml:28 msgid "Skiritai Commando" msgstr "" #: simulation/templates/units/spart_champion_infantry_sword.xml:29 msgid "Ékdromos Skiritis" msgstr "" #: simulation/templates/units/spart_hero_agis.xml:13 msgid "" "No hero aura. Has 2x health of other infantry heroes. Basically a very tough " "hoplite.\n" "Counters: 2x vs. all cavalry." msgstr "" #: simulation/templates/units/spart_hero_brasidas.xml:17 msgid "" "Classes: Champion Melee Infantry Swordsman.\n" "\"Helot Reforms\" Aura: Helot Skirmishers within sight of him gain +2 attack " "and +1 all armor types.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Elephants.\n" "Countered by: Archers, Cavalry Spearmen, and Cavalry Archers." msgstr "" #: simulation/templates/units/spart_hero_leonidas.xml:30 msgid "" "Classes: Hero Melee Infantry Spearman.\n" "\"Last Stand\" Aura: +20% attack for nearby Hoplites and Spartiates.\n" "Counters: 2x vs. All Cavalry.\n" "Countered by: Skirmishers, Swordsmen, and Cavalry Archers." msgstr "" #: simulation/templates/units/spart_infantry_javelinist_b.xml:16 msgid "Helot Skirmisher" msgstr "" #: simulation/templates/units/spart_infantry_javelinist_b.xml:17 msgid "Akontistes Heilotes" msgstr "" #: simulation/templates/units/spart_infantry_spearman_b.xml:21 msgid "Perioikoi Hoplite" msgstr "" #: simulation/templates/units/spart_infantry_spearman_b.xml:22 msgid "Hoplī́tēs Perioïkós" msgstr "" #: simulation/templates/units/spart_support_female_citizen.xml:29 msgid "" "Classes: Citizen Support Worker Female.\n" "Gather resources, build structures, and inspire nearby males to work faster. " "Bonused at foraging and farming.\n" "Counters: 2.5x vs. Siege." msgstr "" #: simulation/templates/units/spart_support_female_citizen.xml:25 msgid "Spartan Woman" msgstr "" #: simulation/templates/units/spart_support_female_citizen.xml:26 msgid "Spartiátissa" msgstr "" #: simulation/templates/units/spart_support_trader.xml:9 msgid "Émporos Perioikos" msgstr "" #: simulation/templates/units/theb_champion_spearman.xml:27 #: simulation/templates/units/thebes_sacred_band_hoplitai.xml:5 msgid "Theban Sacred Band Hoplite" msgstr "" #: simulation/templates/units/theb_champion_spearman.xml:28 msgid "Hieròs Lókhos tôn Thebôn" msgstr "" #: simulation/templates/units/theb_champion_swordsman.xml:5 #: simulation/templates/units/thespian_melanochitones.xml:5 msgid "Thespian Black Cloak" msgstr "" #: simulation/templates/units/theb_champion_swordsman.xml:6 #: simulation/templates/units/thespian_melanochitones.xml:6 msgid "Melanochitones" msgstr "" #: simulation/templates/units/theb_mechanical_siege_fireraiser.xml:22 msgid "Fire Raiser" msgstr "" #: simulation/templates/units/theb_mechanical_siege_fireraiser.xml:23 msgid "Pyrobolos" msgstr "" #: simulation/templates/units/thebes_sacred_band_hoplitai.xml:7 msgid "" "Champion Spearman.\n" "Counters Melee Units. Countered by Ranged Units. Extra Bonus vs. All Greek " "Units." msgstr "" #: simulation/templates/units/thebes_sacred_band_hoplitai.xml:6 msgid "Hieros Lochos Hoplites" msgstr "" #: simulation/templates/units/thrace_black_cloak.xml:21 msgid "" "Classes: Mercenary Champion Melee Infantry Swordsman.\n" "Counters: 2x vs. Spearmen, 1.5x vs. Elephants.\n" "Countered by: Archers, Cavalry Spearmen, and Cavalry Archers." msgstr "" #: simulation/templates/units/thrace_black_cloak.xml:19 msgid "Thracian Black Cloak" msgstr "" #: simulation/templates/units/thrace_black_cloak.xml:20 msgid "Rhomphaiaphoros" msgstr "" #: simulation/templates/units/viking_longboat.xml:5 msgid "Longboat" msgstr "" #: maps/scenarios/Arcadia 02.xml:41:Description msgid "" "Springtime in Arcadia, Greece. Spring rains have gorged what would otherwise " "be dry creek beds throughout the rest of the year, dividing the lands between" " two warring tribes. \n" "\n" "Players start on either side of a mountainous region rich in resources. Extra" " starting buildings help players jumpstart building their new colonies." msgstr "" #: maps/scenarios/Arcadia 02.xml:41:Name msgid "Arcadia 2" msgstr "" #: maps/scenarios/Azure Coast(2).xml:31:Description #: maps/scenarios/Azure Coast(4).xml:31:Description #: maps/scenarios/Azure Coast.xml:41:Description msgid "Help the young Massilia to settle or expel the Greeks from Gaul." msgstr "" #: maps/scenarios/Azure Coast(2).xml:31:PlayerData[0].Name msgid "Greeks" msgstr "" #: maps/scenarios/Azure Coast(2).xml:31:Name msgid "Azure Coast 2" msgstr "" #: maps/scenarios/Azure Coast(4).xml:31:PlayerData[0].Name msgid "East" msgstr "" #: maps/scenarios/Azure Coast(4).xml:31:PlayerData[1].Name msgid "West" msgstr "" #: maps/scenarios/Azure Coast(4).xml:31:PlayerData[2].Name msgid "South" msgstr "" #: maps/scenarios/Azure Coast(4).xml:31:PlayerData[3].Name msgid "North" msgstr "" #: maps/scenarios/Azure Coast(4).xml:31:Name msgid "Azure Coast 3" msgstr "" #: maps/scenarios/Azure Coast.xml:41:PlayerData[0].Name msgid "Antipolis" msgstr "" #: maps/scenarios/Azure Coast.xml:41:PlayerData[1].Name msgid "Nikaia" msgstr "" #: maps/scenarios/Azure Coast.xml:41:PlayerData[2].Name msgid "Massalia" msgstr "" #: maps/scenarios/Azure Coast.xml:41:PlayerData[3].Name msgid "Olbia" msgstr "" #: maps/scenarios/Azure Coast.xml:41:PlayerData[4].Name msgid "Deciates" msgstr "" #: maps/scenarios/Azure Coast.xml:41:PlayerData[5].Name msgid "Salluvii" msgstr "" #: maps/scenarios/Azure Coast.xml:41:PlayerData[6].Name msgid "Cavares" msgstr "" #: maps/scenarios/Azure Coast.xml:41:PlayerData[7].Name msgid "Verguni" msgstr "" #: maps/scenarios/Azure Coast.xml:41:Name msgid "Azure Coast 1" msgstr "" #: maps/scenarios/Barcania.xml:31:Name msgid "Barcania" msgstr "" #: maps/scenarios/Barcania.xml:31:Description msgid "" "A wild and wooded isle, full of forests, gold, and mystery... mountains, " "seas, and thick forests make for a very dynamic and fast-paced 3-player map " "with lots of potential for skirmishing and guerilla warfare as well as tough " "defensive fighting or aggressive maneuvers. 1 Celt player, 2 Hellenic " "players." msgstr "" #: maps/scenarios/Battle for the Tiber.xml:31:Description msgid "" "Rome battles against the Etruscan city of Veii for control of the Tiber River" " basin." msgstr "" #: maps/scenarios/Battle for the Tiber.xml:31:PlayerData[0].Name msgid "Rome" msgstr "" #: maps/scenarios/Battle for the Tiber.xml:31:PlayerData[1].Name msgid "Veii" msgstr "" #: maps/scenarios/Battle for the Tiber.xml:31:PlayerData[2].Name #: maps/scenarios/Battle for the Tiber.xml:31:PlayerData[3].Name msgid "Gallic Invaders" msgstr "" #: maps/scenarios/Battle for the Tiber.xml:31:Name msgid "Battle for the Tiber" msgstr "" #: maps/scenarios/Belgian_Bog_night.xml:42:Description msgid "Two Celtic tribes face off across a large bog at night." msgstr "" #: maps/scenarios/Belgian_Bog_night.xml:42:Name msgid "Belgian Bog Night" msgstr "" #: maps/scenarios/Bridge_demo.xml:31:PlayerData[0].Name msgid "Bridge Demo" msgstr "" #: maps/scenarios/Bridge_demo.xml:31:PlayerData[1].Name msgid "Other" msgstr "" #: maps/scenarios/Bridge_demo.xml:31:Description msgid "Demo map showing how to simulate bridges in the Atlas map editor." msgstr "" #: maps/scenarios/Bridge_demo.xml:31:Name msgid "Bridge demo" msgstr "" #: maps/scenarios/Campaign Test Map 2 - heightmap.xml:42:Name msgid "Campaign Map - Test" msgstr "" #: maps/scenarios/Campaign Test Map.xml:42:Description msgid "A test map for potential Strategic Campaigns." msgstr "" #: maps/scenarios/Campaign Test Map.xml:42:PlayerData[1].Name #: maps/scenarios/Peloponnese.xml:41:PlayerData[3].Name msgid "Thebes" msgstr "" #: maps/scenarios/Campaign Test Map.xml:42:PlayerData[2].Name #: maps/scenarios/Peloponnese.xml:41:PlayerData[5].Name msgid "Thessaly" msgstr "" #: maps/scenarios/Campaign Test Map.xml:42:PlayerData[3].Name msgid "Megara" msgstr "" #: maps/scenarios/Campaign Test Map.xml:42:PlayerData[4].Name msgid "Eretria" msgstr "" #: maps/scenarios/Campaign Test Map.xml:42:PlayerData[5].Name msgid "Chalcis" msgstr "" #: maps/scenarios/Campaign Test Map.xml:42:PlayerData[7].Name msgid "Religious Institutions" msgstr "" #: maps/scenarios/Campaign Test Map.xml:42:Name msgid "Strategic Campaign Proof of Concept" msgstr "" #: maps/scenarios/Combat_demo.xml:30:Name msgid "Combat Demo" msgstr "" #: maps/scenarios/Combat_demo.xml:30:Description msgid "" "A combat demonstration between a small number of ranged and melee infantry " "units." msgstr "" #: maps/scenarios/Combat_demo_(huge).xml:77:Name msgid "Combat Demo (Huge)" msgstr "" #: maps/scenarios/Combat_demo_(huge).xml:77:Description msgid "1296 units. Extremely slow (we need more optimisation)." msgstr "" #: maps/scenarios/Death Canyon - Invasion Force.xml:42:Description msgid "" "A deep rocky canyon slicing through the desert. Good for multiplayer.\n" "\n" "2 teams of 2 players. 1 player on each team starts with a base and resources." " The other player starts with only a large army to assist their teammate." msgstr "" #: maps/scenarios/Death Canyon - Invasion Force.xml:42:PlayerData[1].Name #: maps/scenarios/Death Canyon - Invasion Force.xml:42:PlayerData[3].Name msgid "Invasion Force" msgstr "" #: maps/scenarios/Death Canyon - Invasion Force.xml:42:Name msgid "Death Canyon - Invasion Force" msgstr "" #: maps/scenarios/Demo_Trading.xml:31:Description msgid "A demonstration of the new trading feature." msgstr "" #: maps/scenarios/Demo_Trading.xml:31:Name msgid "Trading Demo" msgstr "" #: maps/scenarios/Eire and Albion.xml:31:Description msgid "A demo map of the British Isles, created with the assistance of a height map." msgstr "" #: maps/scenarios/Eire and Albion.xml:31:Name msgid "Eire and Albion (British Isles)" msgstr "" #: maps/scenarios/Fast Oasis.xml:31:Description msgid "" "A small desert map. Each player starts near an oasis spotted about an " "otherwise bleak and sandy desert that is wide open to assault and " "depredation.\n" "\n" "Gameplay is tight and fast, with no time to stop and smell the roses." msgstr "" #: maps/scenarios/Fast Oasis.xml:31:Name msgid "Fast Oasis" msgstr "" #: maps/scenarios/Fishing_demo.xml:31:Name msgid "Fishing Demo" msgstr "" #: maps/scenarios/Fishing_demo.xml:31:Description msgid "Test out fishing with a fishing boat. Still in development." msgstr "" #: maps/scenarios/Flight_demo.xml:31:Description msgid "Has some experimental fighter plane prototypes." msgstr "" #: maps/scenarios/Flight_demo.xml:31:Name msgid "Flight Demo" msgstr "" #: maps/scenarios/Flight_demo_2.xml:31:Description msgid "Fly some Mustangs." msgstr "" #: maps/scenarios/Flight_demo_2.xml:31:Name msgid "Flight Demo 2" msgstr "" #: maps/scenarios/Gold_Rush.xml:31:Description msgid "" "A wide-open map with a central rocky region rich in Minerals (Metal " "Resource). This map may be played if the other more detailed maps cause " "uncomfortable lag." msgstr "" #: maps/scenarios/Gold_Rush.xml:31:Name msgid "Gold Rush" msgstr "" #: maps/scenarios/Gorge.xml:31:Description msgid "A riparian gorge meanders its way through the South lands of Gaul." msgstr "" #: maps/scenarios/Gorge.xml:31:Name msgid "Gorge" msgstr "" #: maps/scenarios/Height Map Import - Demo (Fractal).xml:31:Description msgid "Importation of a height map created with fractals." msgstr "" #: maps/scenarios/Height Map Import - Demo (Fractal).xml:31:Name msgid "Height Map Import Demo - Fractal" msgstr "" #: maps/scenarios/Height Map Import - Demo (Greece).xml:31:Description msgid "" "An example of height map importation. Image was 1000x1000 grayscale PNG. This" " image can be found in the scenarios folder.\n" " \n" "(Smaller images are recommended, as the importer scales the scenario size by " "the resolution of the imported image.)" msgstr "" #: maps/scenarios/Height Map Import - Demo (Greece).xml:31:Name msgid "Height Map Import Demo - Greece" msgstr "" #: maps/scenarios/Height Map Import - Demo (Greece-Small).xml:31:Description msgid "" "An example of height map importation. Image was 512x512 grayscale PNG. This " "image can be found in the scenarios folder, but can be placed anywhere." msgstr "" #: maps/scenarios/Height Map Import - Demo (Greece-Small).xml:31:Name msgid "Height Map Import Demo - Greece (small)" msgstr "" #: maps/scenarios/Introductory Tutorial.xml:42:Description msgid "This is a basic tutorial to get you started playing 0 A.D." msgstr "" #: maps/scenarios/Introductory Tutorial.xml:42:Name msgid "Introductory Tutorial" msgstr "" #: maps/scenarios/Laconia 01.xml:31:Description msgid "" "The Peloponnesian valley of Laconia, homeland of the Spartans.\n" "\n" "The Macedonians are encroaching into Spartan lands. After losing a pitched " "battle against the invaders, the Spartans must rebuild their army quickly " "before the Macedonians overrun the entire valley." msgstr "" #: maps/scenarios/Laconia 01.xml:31:Name msgid "Laconia" msgstr "" #: maps/scenarios/Migration.xml:31:Description msgid "" "Multiplayer map. Each player starts out on a small island with minimal " "resources situated off the coast of a large land mass.\n" "\n" "This is a WFG community-designed map by: SMST, NOXAS1, and Yodaspirine." msgstr "" #: maps/scenarios/Miletus.xml:31:PlayerData[0].Name #: maps/scenarios/Miletus.xml:31:Name msgid "Miletus" msgstr "" #: maps/scenarios/Miletus.xml:31:Description msgid "A sandbox scenario for one player." msgstr "" #: maps/scenarios/Multiplayer_demo.xml:31:Name msgid "Multiplayer Demo" msgstr "" #: maps/scenarios/Multiplayer_demo.xml:31:Description msgid "" "Small map with lots of resources and some water, for testing gameplay in non-" "competitive multiplayer matches." msgstr "" #: maps/scenarios/Necropolis.xml:41:Description msgid "" "4 players duke it out over the vast Nile Delta. Each city starts out nestled " "atop a large acropolis, but resources are scarce, forcing each player to " "expand their resource operations into the surrounding lands.\n" "\n" "Scouts say the nearby branches of the Nile River are shallow and fordable in " "multiple locations, so should only serve as a minor barrier between enemy " "factions." msgstr "" #: maps/scenarios/Necropolis.xml:41:Name msgid "Necropolis" msgstr "" #: maps/scenarios/Pathfinding_demo.xml:31:Name msgid "Pathfinding Demo" msgstr "" #: maps/scenarios/Pathfinding_demo.xml:31:Description msgid "A map for testing unit movement algorithms." msgstr "" #: maps/scenarios/Pathfinding_terrain_demo.xml:31:Name msgid "Pathfinding Terrain Demo" msgstr "" #: maps/scenarios/Pathfinding_terrain_demo.xml:31:Description msgid "A map for testing movement costs and terrain properties in the A* pathfinder." msgstr "" #: maps/scenarios/Peloponnese.xml:41:Description msgid "A real-world map of the Greek homeland." msgstr "" #: maps/scenarios/Peloponnese.xml:41:PlayerData[0].Name msgid "Athens" msgstr "" #: maps/scenarios/Peloponnese.xml:41:PlayerData[1].Name msgid "Sparta" msgstr "" #: maps/scenarios/Peloponnese.xml:41:PlayerData[2].Name msgid "Elis" msgstr "" #: maps/scenarios/Peloponnese.xml:41:PlayerData[4].Name msgid "Corinth" msgstr "" #: maps/scenarios/Peloponnese.xml:41:Name msgid "Peloponnesian Wars" msgstr "" #: maps/scenarios/Polynesia.xml:42:Description msgid "Demo map for new fancy water effects." msgstr "" #: maps/scenarios/Polynesia.xml:42:PlayerData[0].Name msgid "Samoa" msgstr "" #: maps/scenarios/Polynesia.xml:42:PlayerData[1].Name msgid "Vanuatu" msgstr "" #: maps/scenarios/Polynesia.xml:42:Name msgid "Polynesia" msgstr "" #: maps/scenarios/Resource_demo.xml:31:Name msgid "Resource demo" msgstr "" #: maps/scenarios/Resource_demo.xml:31:Description msgid "Demo map for resource gathering." msgstr "" #: maps/scenarios/Saharan Oases.xml:31:Description msgid "" "A desert biome map where each player has founded their colony at their own " "lush oasis. The rest of the map is generally wide-open and barren." msgstr "" #: maps/scenarios/Sahel.xml:42:Description msgid "" "Situated Southside of the Atlas mountain range in North Africa.\n" "\n" "A somewhat open map with an abundance of food and mineral resources, while " "wood is somewhat scarce." msgstr "" #: maps/scenarios/Sandbox - Athenians.xml:42:Description msgid "Play with the Athenians faction in a non-threatening sandbox environment." msgstr "" #: maps/scenarios/Sandbox - Athenians.xml:42:PlayerData[0].Name msgid "The Athenians" msgstr "" #: maps/scenarios/Sandbox - Athenians.xml:42:PlayerData[1].Name #: maps/scenarios/Sandbox - Macedonians.xml:41:PlayerData[1].Name #: maps/scenarios/Sandbox - Spartans.xml:41:PlayerData[0].Name #: maps/scenarios/Sandbox - Spartans.xml:41:PlayerData[1].Name msgid "The Spartans" msgstr "" #: maps/scenarios/Sandbox - Athenians.xml:42:PlayerData[2].Name #: maps/scenarios/Sandbox - Macedonians.xml:41:PlayerData[2].Name #: maps/scenarios/Sandbox - Spartans.xml:41:PlayerData[2].Name msgid "The Persians" msgstr "" #: maps/scenarios/Sandbox - Athenians.xml:42:PlayerData[3].Name #: maps/scenarios/Sandbox - Macedonians.xml:41:PlayerData[3].Name #: maps/scenarios/Sandbox - Spartans.xml:41:PlayerData[3].Name msgid "The Gauls" msgstr "" #: maps/scenarios/Sandbox - Athenians.xml:42:Name msgid "Sandbox - The Athenians" msgstr "" #: maps/scenarios/Sandbox - Britons.xml:41:Description #: maps/scenarios/Sandbox - Gauls.xml:41:Description msgid "Play around with the Gallic faction in an idyllic sandbox setting." msgstr "" #: maps/scenarios/Sandbox - Britons.xml:41:PlayerData[3].Name #: maps/scenarios/Sandbox - Gauls.xml:41:PlayerData[3].Name msgid "Roman Interlopers" msgstr "" #: maps/scenarios/Sandbox - Britons.xml:41:Name msgid "Sandbox - The Britons" msgstr "" #: maps/scenarios/Sandbox - Carthaginians.xml:41:Description msgid "Explore the Carthaginian Buildings and Units." msgstr "" #: maps/scenarios/Sandbox - Carthaginians.xml:41:PlayerData[0].Name #: maps/scenarios/Serengeti.xml:31:PlayerData[0].Name msgid "Carthage" msgstr "" #: maps/scenarios/Sandbox - Carthaginians.xml:41:PlayerData[1].Name #: maps/scenarios/Sandbox - Persians.xml:41:PlayerData[1].Name msgid "Creeps" msgstr "" #: maps/scenarios/Sandbox - Carthaginians.xml:41:Name msgid "Sandbox - The Carthaginians" msgstr "" #: maps/scenarios/Sandbox - Gauls.xml:41:Name msgid "Sandbox - The Gauls" msgstr "" #: maps/scenarios/Sandbox - Iberians.xml:42:Description msgid "A demo map for the Iberians." msgstr "" #: maps/scenarios/Sandbox - Iberians.xml:42:Name msgid "Sandbox - The Iberians" msgstr "" #: maps/scenarios/Sandbox - Macedonians.xml:41:Description msgid "Play with the Macedonians faction in a non-threatening sandbox environment." msgstr "" #: maps/scenarios/Sandbox - Macedonians.xml:41:PlayerData[0].Name msgid "The Macedonians" msgstr "" #: maps/scenarios/Sandbox - Macedonians.xml:41:Name msgid "Sandbox - The Macedonians" msgstr "" #: maps/scenarios/Sandbox - Mauryans.xml:42:Description msgid "Mauryan Indian faction showcase map." msgstr "" #: maps/scenarios/Sandbox - Mauryans.xml:42:Name msgid "Sandbox - The Mauryans" msgstr "" #: maps/scenarios/Sandbox - Persians.xml:41:Description msgid "Demo Map. Play with the Persian civilisation in a sandbox setting." msgstr "" #: maps/scenarios/Sandbox - Persians.xml:41:PlayerData[0].Name msgid "Achaemenids" msgstr "" #: maps/scenarios/Sandbox - Persians.xml:41:Name msgid "Sandbox - The Persians" msgstr "" #: maps/scenarios/Sandbox - Ptolemies 2.xml:42:Description msgid "Play with the Ptolemaic Egyptians in a non-threatening sandbox setting." msgstr "" #: maps/scenarios/Sandbox - Ptolemies 2.xml:42:PlayerData[0].Name msgid "Ptolemy \"Savior\"" msgstr "" #: maps/scenarios/Sandbox - Ptolemies 2.xml:42:PlayerData[3].Name msgid "Libyans" msgstr "" #: maps/scenarios/Sandbox - Ptolemies 2.xml:42:Name msgid "Sandbox - The Ptolemaic Egyptians 2" msgstr "" #: maps/scenarios/Sandbox - Ptolemies.xml:41:Description #: maps/skirmishes/Sporades Islands (2).xml:42:Description msgid "An islands map good for intense naval combat." msgstr "" #: maps/scenarios/Sandbox - Ptolemies.xml:41:PlayerData[1].Name msgid "Kautilya" msgstr "" #: maps/scenarios/Sandbox - Ptolemies.xml:41:Name msgid "Sandbox - The Ptolemaic Egyptians" msgstr "" #: maps/scenarios/Sandbox - Romans.xml:42:Description msgid "A sandbox scenario for players to try out the Roman civilisation." msgstr "" #: maps/scenarios/Sandbox - Romans.xml:42:Name msgid "Sandbox - The Republican Romans" msgstr "" #: maps/scenarios/Sandbox - Seleucids.xml:41:Description msgid "A sandbox scenario for players to try out the Seleucid civilisation." msgstr "" #: maps/scenarios/Sandbox - Seleucids.xml:41:PlayerData[0].Name msgid "The Seleucids" msgstr "" #: maps/scenarios/Sandbox - Seleucids.xml:41:PlayerData[1].Name msgid "The Ptolemies" msgstr "" #: maps/scenarios/Sandbox - Seleucids.xml:41:Name msgid "Sandbox - The Seleucids" msgstr "" #: maps/scenarios/Sandbox - Spartans.xml:41:Description msgid "Play with the Spartans faction in a non-threatening sandbox environment." msgstr "" #: maps/scenarios/Sandbox - Spartans.xml:41:Name msgid "Sandbox - The Spartans" msgstr "" #: maps/scenarios/Savanna Ravine.xml:42:Name msgid "Savanna Ravine" msgstr "" #: maps/scenarios/Savanna Ravine.xml:42:Description msgid "" "A wide-open Savanna map with a small ravine running down the center, which is" " easily forded." msgstr "" #: maps/scenarios/Serengeti.xml:31:PlayerData[1].Name msgid "Iberia" msgstr "" #: maps/scenarios/Serengeti.xml:31:PlayerData[2].Name msgid "Greece" msgstr "" #: maps/scenarios/Serengeti.xml:31:PlayerData[3].Name msgid "Persia" msgstr "" #: maps/scenarios/Serengeti.xml:31:Description msgid "" "The African serengeti has herds of animals criss crossing the plain. Mineral " "wealth is bountiful and wood is in full supply." msgstr "" #: maps/scenarios/Serengeti.xml:31:Name msgid "Serengeti 1" msgstr "" #: maps/scenarios/Ship Formations.xml:31:Description msgid "Ship formations mockup." msgstr "" #: maps/scenarios/Ship Formations.xml:31:PlayerData[0].Name msgid "Ships" msgstr "" #: maps/scenarios/Ship Formations.xml:31:Name msgid "Ship Formations" msgstr "" #: maps/scenarios/Siwa Oasis.xml:31:Description msgid "" "Carthage vs. Macedon vs. Persia vs. Iberia! A large oasis acts as the hub of " "mountainous spokes that divide the home territories of each player." msgstr "" #: maps/scenarios/Siwa Oasis.xml:31:Name msgid "Siwa Oasis" msgstr "" #: maps/scenarios/Territory Demo.xml:31:Description msgid "A demo map showing the territory effects of each type of structure." msgstr "" #: maps/scenarios/Territory Demo.xml:31:Name msgid "Territory Demo" msgstr "" #: maps/scenarios/The Massacre of Delphi.xml:41:Description msgid "" "The Celts invade Greece. Fight through the central valley or cut through the " "rich highlands in order to secure the lands around Delphi!" msgstr "" #: maps/scenarios/The Massacre of Delphi.xml:41:Name msgid "Massacre of Delphi" msgstr "" #: maps/scenarios/The Persian Gates.xml:31:Description msgid "" "\"It has always been the Greek Dream to go East.\"\n" "\n" "\"Beware such pride. The East has a way of swallowing men and their dreams.\"" "\n" "\n" "Will Alexander push his way through The Persian Gates and fulfill his " "destiny, or will Ariobarzanes defend the rugged ancient land of Persis " "against a foreign invader?" msgstr "" #: maps/scenarios/The Persian Gates.xml:31:PlayerData[0].Name msgid "Alexandros Megas" msgstr "" #: maps/scenarios/The Persian Gates.xml:31:PlayerData[1].Name msgid "Krateros" msgstr "" #: maps/scenarios/The Persian Gates.xml:31:PlayerData[2].Name msgid "Ariobarzanes" msgstr "" #: maps/scenarios/The Persian Gates.xml:31:Name msgid "The Persian Gates" msgstr "" #: maps/scenarios/Third Macedonian War.xml:31:Description msgid "" "The Romans encroach upon Macedonian lands for the third and final time. Can " "the once-proud Macedonians prevail against the Roman juggernaut?" msgstr "" #: maps/scenarios/Third Macedonian War.xml:31:PlayerData[0].Name msgid "Lucius Aemilius Paullus" msgstr "" #: maps/scenarios/Third Macedonian War.xml:31:PlayerData[1].Name msgid "Perseus of Macedon" msgstr "" #: maps/scenarios/Third Macedonian War.xml:31:PlayerData[2].Name msgid "Greek Allies" msgstr "" #: maps/scenarios/Third Macedonian War.xml:31:Name msgid "Third Macedonian War" msgstr "" #: maps/scenarios/Tropical Island.xml:41:Description msgid "Multiplayer map. A tropical paradise." msgstr "" #: maps/scenarios/Tropical Island.xml:41:Name msgid "Tropical Island" msgstr "" #: maps/scenarios/Units_demo.xml:92:Name msgid "Units Demo" msgstr "" #: maps/scenarios/Units_demo.xml:92:Description msgid "Every unit in the game." msgstr "" #: maps/scenarios/WallTest.xml:31:Description #: maps/scenarios/_default.xml:32:Description #: maps/scenarios/temperate map.xml:31:Description msgid "Give an interesting description of your map." msgstr "" #: maps/scenarios/WallTest.xml:31:Name msgid "WallTest" msgstr "" #: maps/scenarios/Walls.xml:31:Description msgid "Walls." msgstr "" #: maps/scenarios/Walls.xml:31:Name msgid "Walls" msgstr "" #: maps/scenarios/We are Legion.xml:31:Name msgid "We Are Legion" msgstr "" #: maps/scenarios/We are Legion.xml:31:Description msgid "A quick battle demo map using Roman legionnaires." msgstr "" #: maps/scenarios/_default.xml:32:Name msgid "Unnamed map" msgstr "" #: maps/scenarios/reservoir.xml:31:Description msgid "A demo showing water planes." msgstr "" #: maps/scenarios/reservoir.xml:31:Name msgid "Reservoir" msgstr "" #: maps/scenarios/road demo.xml:31:Description msgid "Demo map showcasing Temperate Road decals." msgstr "" #: maps/scenarios/road demo.xml:31:Name msgid "Road Decals Demo" msgstr "" #: maps/scenarios/shipattacks.xml:31:Description msgid "Move ships around. Attack other ships." msgstr "" #: maps/scenarios/shipattacks.xml:31:Name msgid "Ships Demo" msgstr "" #: maps/scenarios/starting_economy_walkthrough.xml:42:Description msgid "" "This map will give a rough guide for starting the game effectively. Early in" " the game the most important thing is to gather resources as fast as possible" " so you are able to build enough troops later.\n" "\n" "Warning: This is very fast at the start, be prepared to run through the " "initial bit several times." msgstr "" #: maps/scenarios/starting_economy_walkthrough.xml:42:Name msgid "Starting Economy Walkthrough" msgstr "" #: maps/scenarios/temperate map.xml:31:Name msgid "Base Temperate Map" msgstr "" #: maps/skirmishes/Acropolis Bay (2).xml:41:Description msgid "" "Each player starts the match atop a large flat plateau, otherwise known as an" " acropolis.\n" "\n" "To the East lies a large bay with fishing opportunities. To the West is a " "rugged hinterland with an unclaimed acropolis commanding the valley below." msgstr "" #: maps/skirmishes/Acropolis Bay (2).xml:41:Name msgid "Acropolis Bay (2)" msgstr "" #: maps/skirmishes/Alpine_Valleys_(2).xml:41:Description msgid "" "The high peaks and valleys of the Alps.\n" "\n" "Each player starts the match nestled in a safe green valley. Between lies the" " treacherous Alps mountain range." msgstr "" #: maps/skirmishes/Alpine_Valleys_(2).xml:41:Name msgid "Alpine Valleys (2)" msgstr "" #: maps/skirmishes/Bactria (2).xml:42:Description msgid "" "The arid and mineral-rich lands of Bactria (modern-day Afghanistan) at the " "foot of the Hindu Kush mountains.\n" "\n" "The center of the map is a dried up mountain. On either side are mountains " "and foothills pierced by treacherous passes and old trade routes." msgstr "" #: maps/skirmishes/Bactria (2).xml:42:Name msgid "Bactria (2)" msgstr "" #: maps/skirmishes/Belgian Bog (2).xml:42:Description msgid "" "Two players face off across a large bog somewhere in the Rhine lowlands.\n" "\n" "Wood is in abundance, but Metal and Stone are hard to find and extract. " "Hunting and foraging is plentiful." msgstr "" #: maps/skirmishes/Belgian Bog (2).xml:42:Name msgid "Belgian Bog (2)" msgstr "" #: maps/skirmishes/Caspian Sea (2v2).xml:42:Description msgid "" "Two teams face off across a long, very large saltwater lake.\n" "\n" "Fishing can be had in the central lake. The map is also well-endowed with " "Stone and Metal deposits." msgstr "" #: maps/skirmishes/Caspian Sea (2v2).xml:42:Name msgid "Caspian Sea (2v2)" msgstr "" #: maps/skirmishes/Corinthian Isthmus (2).xml:41:Name msgid "Corinthian Isthmus (2)" msgstr "" #: maps/skirmishes/Corsica and Sardinia (4).xml:42:Description msgid "" "The players start on two opposing islands, both with a very jagged relief " "that will make landing difficult.\n" "\n" "Originally occupied by the Torreans, then marginally settled by Etruscans, " "Phocaeans and Syracusans. Rome conquered these two islands from Carthage " "during the First Punic War and in 238 BC created the \"Corsica et Sardinia\" " "province. The Corsicans regularly revolted and over the course of a century, " "the island lost two thirds of its Corsican population." msgstr "" #: maps/skirmishes/Corsica and Sardinia (4).xml:42:Name msgid "Corsica and Sardinia (4)" msgstr "" #: maps/skirmishes/Cycladic Archipelago (2).xml:42:Description msgid "A \"small island\"-style map set in the Aegean Sea." msgstr "" #: maps/skirmishes/Cycladic Archipelago (2).xml:42:Name msgid "Cycladic Archipelago (2)" msgstr "" #: maps/skirmishes/Cycladic Archipelago (3).xml:41:Description msgid "" "A \"small island\"-style map set in the Aegean Sea.\n" "\n" "Map size: Very Large" msgstr "" #: maps/skirmishes/Cycladic Archipelago (3).xml:41:PlayerData[0].Name msgid "Samos" msgstr "" #: maps/skirmishes/Cycladic Archipelago (3).xml:41:PlayerData[1].Name msgid "Lesbos" msgstr "" #: maps/skirmishes/Cycladic Archipelago (3).xml:41:PlayerData[2].Name msgid "Delos" msgstr "" #: maps/skirmishes/Cycladic Archipelago (3).xml:41:Name msgid "Cycladic Archipelago (3)" msgstr "" #: maps/skirmishes/Death Canyon (2).xml:42:Description msgid "" "A deep rocky canyon slicing through the desert.\n" "\n" "Each player starts their colony on a plateau on either side of the ravine." msgstr "" #: maps/skirmishes/Death Canyon (2).xml:42:Name msgid "Death Canyon (2)" msgstr "" #: maps/skirmishes/Deccan Plateau (2).xml:41:Description msgid "" "Two players square off across the heavily forested Deccan Plateau of central " "India.\n" "\n" "Each player starts the match with a free farmstead and free storehouse.\n" "\n" "Virgin resources lie to the lowlands on either side of the plateau. The " "lowlands also offer opportunity for expansion and strategic maneuvering." msgstr "" #: maps/skirmishes/Deccan Plateau (2).xml:41:Name msgid "Deccan Plateau (2)" msgstr "" #: maps/skirmishes/Gallic Fields (3).xml:42:Description msgid "" "Defend your Gallic outpost against attacks from your treacherous neighbors!\n" "\n" "Each player begins the match with a wooden palisade and some guard towers " "atop a low embankment." msgstr "" #: maps/skirmishes/Gallic Fields (3).xml:42:Name msgid "Gallic Fields (3)" msgstr "" #: maps/skirmishes/Gambia River (3).xml:42:Description msgid "" "All players start on one bank of the river, with minimal harvestable metal. " "Across the Gambia River is a savanna with many deposits of metal to be " "claimed. \n" "\n" "(Warning: Large map. Good computer specs recommended)" msgstr "" #: maps/skirmishes/Gambia River (3).xml:42:Name msgid "Gambia River (3)" msgstr "" #: maps/skirmishes/Golden Oasis (2).xml:42:Description msgid "" "Players start around a small oasis in the center of the map which holds much " "of the available wood on the map.\n" "\n" "Elsewhere, in the hinterlands, lies great riches, in the form of large " "deposits of gold and other metals." msgstr "" #: maps/skirmishes/Golden Oasis (2).xml:42:Name msgid "Gold Oasis (2)" msgstr "" #: maps/skirmishes/Greek Acropolis (2).xml:41:Description #: maps/skirmishes/Greek Acropolis Night (2).xml:42:Description msgid "" "Two factions find themselves perched safely atop large rocky plateaus, or " "acropolises.\n" "\n" "Scout the lands to find free treasures and to secure new resources." msgstr "" #: maps/skirmishes/Greek Acropolis (2).xml:41:Name msgid "Greek Acropolis (2)" msgstr "" #: maps/skirmishes/Greek Acropolis (4).xml:41:Description msgid "Strange bedfellows. Romans and Carthaginians vs. Spartans and Persians." msgstr "" #: maps/skirmishes/Greek Acropolis (4).xml:41:Name msgid "Greek Acropolis (4)" msgstr "" #: maps/skirmishes/Greek Acropolis Night (2).xml:42:Name msgid "Greek Acropolis Night (2)" msgstr "" #: maps/skirmishes/Libyan Oases (4).xml:42:Description msgid "" "An otherwise wide-open, flat desert map is pierced in the center by two lush " "oases.\n" "\n" "This represents the Libyan Desert, part of the Saharan Desert, West of the " "Nile River in Egypt." msgstr "" #: maps/skirmishes/Libyan Oases (4).xml:42:Name msgid "Libyan Oases (4)" msgstr "" #: maps/skirmishes/Libyan Oasis (2).xml:42:Description msgid "" "An old favorite. An otherwise wide-open, flat desert map is pierced in the " "center by a lush oasis.\n" "\n" "This represents the Libyan Desert, part of the Saharan Desert, West of the " "Nile River in Egypt.\n" "\n" "Iberians do not receive their circuit walls here. Instead, all factions " "receive 4 free Defense Towers." msgstr "" #: maps/skirmishes/Libyan Oasis (2).xml:42:Name msgid "Libyan Oasis (2)" msgstr "" #: maps/skirmishes/Lorraine Plain (2).xml:42:Description msgid "" "The map is cut through the center by a river traversing east-west with some " "shallows.\n" "\n" "Fairly open-wooded and basically flat. Plenty of building room. Well balanced" " resources.\n" "\n" "Civ Territories are divided by main river and tributaries (with necessary " "shallows for crossings)." msgstr "" #: maps/skirmishes/Lorraine Plain (2).xml:42:Name msgid "Lorraine Plain (2)" msgstr "" #: maps/skirmishes/Median Oasis (2).xml:41:Description #: maps/skirmishes/Median Oasis (4).xml:42:Description msgid "" "A large oasis acts as the hub of mountainous spokes that divide the home " "territories of each player." msgstr "" #: maps/skirmishes/Median Oasis (2).xml:41:Name msgid "Median Oasis (2)" msgstr "" #: maps/skirmishes/Median Oasis (4).xml:42:Name msgid "Median Oasis (4)" msgstr "" #: maps/skirmishes/Mediterranean Cove (2).xml:41:Description msgid "" "A sheltered natural harbour on the Mediterranean coast provides the resources" " for battle." msgstr "" #: maps/skirmishes/Mediterranean Cove (2).xml:41:Name msgid "Mediterranean Coves (2)" msgstr "" #: maps/skirmishes/Neareastern Badlands (2).xml:42:Description #: maps/skirmishes/Neareastern Badlands (4).xml:42:Description msgid "" "The 'Cappadocia' region of Central-Eastern Anatolia.\n" "\n" "All players start on the Western end of the map, with a vast unclaimed " "wilderness lying open before them ripe for conquest and depredation.\n" "\n" "Stone and Metal resources are in abundance, especially Stone, but Wood is " "somewhat scarce." msgstr "" #: maps/skirmishes/Neareastern Badlands (2).xml:42:Name msgid "Neareastern Badlands (2)" msgstr "" #: maps/skirmishes/Neareastern Badlands (4).xml:42:Name msgid "Neareastern Badlands (4)" msgstr "" #: maps/skirmishes/Nile River (4).xml:41:Description msgid "" "An Egyptian desert map bisected by the broad Nile River. Organic resources " "cluster near the river, while mineral resources can be found in the desert " "hinterlands." msgstr "" #: maps/skirmishes/Nile River (4).xml:41:Name msgid "Nile River (4)" msgstr "" #: maps/skirmishes/Persian Highlands (4).xml:42:Description msgid "A dry central basin rich in minerals surrounded by rocky hills and highlands." msgstr "" #: maps/skirmishes/Persian Highlands (4).xml:42:Name msgid "Persian Highlands (4)" msgstr "" #: maps/skirmishes/Punbjab (2).xml:42:Description msgid "" "Northwest India. Nearby rivers swell with monsoon rains, allowing for only a " "few treacherous crossings.\n" "\n" "The rivers are heavily forested, while grasslands carpet the surrounding " "countryside. Watch out for Tigers in the tall grass! Asian elephants are also" " a common sight." msgstr "" #: maps/skirmishes/Punbjab (2).xml:42:Name msgid "Punjab (2)" msgstr "" #: maps/skirmishes/Saharan Oases (4).xml:41:Description msgid "" "A desert biome map where each player has founded their colony at their own " "lush oasis.\n" "\n" "The rest of the map is generally wide-open and barren." msgstr "" #: maps/skirmishes/Saharan Oases (4).xml:41:Name msgid "Saharan Oases (4)" msgstr "" #: maps/skirmishes/Sahel (4).xml:42:Description msgid "" "Situated Southside of the Atlas mountain range in North Africa.\n" "\n" "A somewhat open map with an abundance of animals and mineral resources, while" " wood is scarce." msgstr "" #: maps/skirmishes/Sahel (4).xml:42:Name msgid "Sahel (4)" msgstr "" #: maps/skirmishes/Savanna River.xml:42:Description msgid "A large savanna is bisected by a narrow jungle stream." msgstr "" #: maps/skirmishes/Savanna River.xml:42:Name msgid "Savanna River (2)" msgstr "" #: maps/skirmishes/Sicilia (2).xml:41:Description msgid "The large Mediterranean island of Sicily is open for conquest." msgstr "" #: maps/skirmishes/Sicilia (2).xml:41:Name msgid "Sicilia (2)" msgstr "" #: maps/skirmishes/Skirmish Demo.xml:42:Description msgid "A demo Skirmish map." msgstr "" #: maps/skirmishes/Skirmish Demo.xml:42:Name msgid "Skirmish Demo" msgstr "" #: maps/skirmishes/Sporades Islands (2).xml:42:Name msgid "Sporades Islands (2)" msgstr "" #: maps/skirmishes/Syria (2).xml:41:Description msgid "" "A barren land with little wood and few animals. Treasures dot the landscape " "and will be essential to early growth.\n" "\n" "The player who sets up a profitable trade caravan earliest may gain a " "decisive advantage." msgstr "" #: maps/skirmishes/Syria (2).xml:41:Name msgid "Syria (2)" msgstr "" #: maps/skirmishes/Team Oasis - 2v2.xml:42:Description msgid "" "An oasis surrounded by mountains and desert. Farmlands near the water's edge " "provide much-needed boost in farming, but foraging and hunting are in short " "supply." msgstr "" #: maps/skirmishes/Team Oasis - 2v2.xml:42:Name msgid "Team Oasis (2v2)" msgstr "" #: maps/skirmishes/Thessalian Plains (4).xml:41:Description msgid "" "The rolling Thessalian plain is traversed with narrow streams, easily forded." " Wide-open spaces allow for massive expansion, while each player starts the " "match safe atop a large acropolis." msgstr "" #: maps/skirmishes/Thessalian Plains (4).xml:41:Name msgid "Thessalian Plains (4)" msgstr "" #: maps/skirmishes/Watering Holes (4).xml:42:Description msgid "" "The African savanna is chocked full of animal life for hunting, while the " "nearby mineral deposits are plentiful. The dry season is approaching and the " "watering holes are drying up.\n" "\n" "Note: This is a very small \"fast and furious\" map. Iberians do not start " "with their custom circuit walls." msgstr "" #: maps/skirmishes/Watering Holes (4).xml:42:Name msgid "Watering Holes (4)" msgstr "" #: maps/skirmishes/Zagros Mountains (2).xml:42:Description msgid "" "The mountains buffering the Persian homeland, straddling Persis, Susiana, and" " Media.\n" "\n" "Players start the match near the Persian Gulf in their own province with 1 " "free Temple. \n" "\n" "Access to untapped resources and territories can be found through the rugged " "hinterlands." msgstr "" #: maps/skirmishes/Zagros Mountains (2).xml:42:Name msgid "Zagros Mountains (2)" msgstr "" Index: ps/trunk/binaries/data/mods/public/simulation/ai/common-api/baseAI.js =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/ai/common-api/baseAI.js (revision 14990) +++ ps/trunk/binaries/data/mods/public/simulation/ai/common-api/baseAI.js (revision 14991) @@ -1,106 +1,106 @@ var PlayerID = -1; var API3 = (function() { var m = {}; m.DebugEnabled = false; m.BaseAI = function(settings) { if (!settings) return; this.player = settings.player; // played turn, in case you don't want the AI to play every turn. this.turn = 0; }; //Return a simple object (using no classes etc) that will be serialized into saved games m.BaseAI.prototype.Serialize = function() { // TODO: ought to get the AI script subclass to serialize its own state // TODO: actually this is part of a larger reflection on wether AIs should or not. return {}; }; //Called after the constructor when loading a saved game, with 'data' being //whatever Serialize() returned m.BaseAI.prototype.Deserialize = function(data, sharedScript) { // TODO: ought to get the AI script subclass to deserialize its own state // TODO: actually this is part of a larger reflection on wether AIs should or not. this.isDeserialized = true; }; m.BaseAI.prototype.Init = function(state, playerID, sharedAI) { PlayerID = playerID; // define some references this.entities = sharedAI.entities; this.templates = sharedAI.templates; this.passabilityClasses = sharedAI.passabilityClasses; this.passabilityMap = sharedAI.passabilityMap; this.territoryMap = sharedAI.territoryMap; this.accessibility = sharedAI.accessibility; this.terrainAnalyzer = sharedAI.terrainAnalyzer; this.techModifications = sharedAI._techModifications[this.player]; this.playerData = sharedAI.playersData[this.player]; this.gameState = sharedAI.gameState[this.player]; this.gameState.ai = this; this.sharedScript = sharedAI; this.timeElapsed = sharedAI.timeElapsed; this.circularMap = sharedAI.circularMap; this.barterPrices = sharedAI.barterPrices; this.CustomInit(this.gameState, this.sharedScript); } m.BaseAI.prototype.CustomInit = function() { // AIs override this function }; m.BaseAI.prototype.HandleMessage = function(state, playerID, sharedAI) { PlayerID = playerID; this.events = sharedAI.events; this.passabilityMap = sharedAI.passabilityMap; this.territoryMap = sharedAI.territoryMap; if (this.isDeserialized && this.turn !== 0) { this.isDeserialized = false; this.Init(state, playerID, sharedAI); warn("AIs don't work completely with saved games yet. You may run into idle units and unused buildings."); } else if (this.isDeserialized) return; this.OnUpdate(sharedAI); }; m.BaseAI.prototype.OnUpdate = function() { // AIs override this function }; m.BaseAI.prototype.chat = function(message) { - Engine.PostCommand(PlayerID,{"type": "chat", "message": message}); + Engine.PostCommand(PlayerID,{"type": "aichat", "message": message}); }; m.BaseAI.prototype.chatTeam = function(message) { - Engine.PostCommand(PlayerID,{"type": "chat", "message": "/team " +message}); + Engine.PostCommand(PlayerID,{"type": "aichat", "message": "/team " +message}); }; m.BaseAI.prototype.chatEnemies = function(message) { - Engine.PostCommand(PlayerID,{"type": "chat", "message": "/enemy " +message}); + Engine.PostCommand(PlayerID,{"type": "aichat", "message": "/enemy " +message}); }; return m; }()); Index: ps/trunk/binaries/data/mods/public/simulation/ai/tutorial-ai/economic_walkthrough.js =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/ai/tutorial-ai/economic_walkthrough.js (revision 14990) +++ ps/trunk/binaries/data/mods/public/simulation/ai/tutorial-ai/economic_walkthrough.js (revision 14991) @@ -1,280 +1,280 @@ var economic_walkthrough = [ { - "instructions": "Warning: This is an advanced tutorial and goes quite fast. If you don't keep up just restart and try again. Practise makes perfect!", + "instructions": markForTranslation("Warning: This is an advanced tutorial and goes quite fast. If you don't keep up just restart and try again. Practise makes perfect!"), }, { "trigger": "time", "time": 0, - "instructions": "Lets get started, first train a batch (shift click) of 5 female citizens from the CC (Civil Center)." + "instructions": markForTranslation("Lets get started, first train a batch (shift click) of 5 female citizens from the CC (Civil Center).") }, { "trigger": "time", "time": 5, - "instructions": "Now, assign your female citizens to gather berries, your cavalryman to hunt the chickens and the citizen soldiers to gather wood." + "instructions": markForTranslation("Now, assign your female citizens to gather berries, your cavalryman to hunt the chickens and the citizen soldiers to gather wood.") }, { "trigger": "time", "time": 15, - "instructions": "Now set the rally point of your civil center on the berries" + "instructions": markForTranslation("Now set the rally point of your civil center on the berries.") }, { "trigger": "time", "time": 23, - "instructions": "Queue some slingers to train after the female citizens, you won't have enough resources for a batch." + "instructions": markForTranslation("Queue some slingers to train after the female citizens, you won't have enough resources for a batch.") }, { "trigger": "time", "time": 30, - "instructions": "When your female citizens have finished training, use 4 to build a house nearby." + "instructions": markForTranslation("When your female citizens have finished training, use 4 to build a house nearby.") }, { "trigger": "time", "time": 38, - "instructions": "Set the CC's rally point on the nearby trees, queue more slingers, you want to train 6 right now." + "instructions": markForTranslation("Set the CC's rally point on the nearby trees, queue more slingers, you want to train 6 right now.") }, { "trigger": "time", "time": 70, - "instructions": "Queue a batch of 5 female citizens." + "instructions": markForTranslation("Queue a batch of 5 female citizens.") }, { "trigger": "time", "time": 75, - "instructions": "Use shift-click to queue another house for the 4 builders." + "instructions": markForTranslation("Use shift-click to queue another house for the 4 builders.") }, { "trigger": "time", "time": 85, - "instructions": "Set the rally point back to the berries once all of the citizen soldiers have finished training." + "instructions": markForTranslation("Set the rally point back to the berries once all of the citizen soldiers have finished training.") }, { "trigger": "time", "time": 95, - "instructions": "Send one citizen soldier to gather stone, send 2 others to build a storehouse near the southern trees." + "instructions": markForTranslation("Send one citizen soldier to gather stone, send 2 others to build a storehouse near the southern trees.") }, { "trigger": "time", "time": 100, - "instructions": "Queue another 5 female citizens." + "instructions": markForTranslation("Queue another 5 female citizens.") }, { "trigger": "time", "time": 107, - "instructions": "Use a female citizen to construct a field next to your CC." + "instructions": markForTranslation("Use a female citizen to construct a field next to your CC.") }, { "trigger": "time", "time": 110, - "instructions": "Your cavalryman has probably run out of chickens by now, there are some goats to the left of your base." + "instructions": markForTranslation("Your cavalryman has probably run out of chickens by now, there are some goats to the left of your base.") }, { "trigger": "time", "time": 115, - "instructions": "Use 2-3 more female citizens to contruct the field" + "instructions": markForTranslation("Use 2-3 more female citizens to contruct the field.") }, { "trigger": "time", "time": 130, - "instructions": "Queue another 5 female citizens" + "instructions": markForTranslation("Queue another 5 female citizens.") }, { "trigger": "time", "time": 135, - "instructions": "Queue another house." + "instructions": markForTranslation("Queue another house.") }, { "trigger": "time", "time": 145, - "instructions": "The berry bushes are getting crowded, send some female citizens to work the field, set the rally point there." + "instructions": markForTranslation("The berry bushes are getting crowded, send some female citizens to work the field, set the rally point there.") }, { "trigger": "time", "time": 160, - "instructions": "Queue another 5 female citizens, these should gather stone" + "instructions": markForTranslation("Queue another 5 female citizens, these should gather stone.") }, { "trigger": "time", "time": 170, - "instructions": "Move your woodcutters to the trees near the storehouse so they dont have to walk as far." + "instructions": markForTranslation("Move your woodcutters to the trees near the storehouse so they dont have to walk as far.") }, { "trigger": "time", "time": 175, - "instructions": "Make sure the workers from the berry bushes are used to gather from the field rather than standing idle when they run out." + "instructions": markForTranslation("Make sure the workers from the berry bushes are used to gather from the field rather than standing idle when they run out.") }, { "trigger": "time", "time": 190, - "instructions": "Queue another house to be built." + "instructions": markForTranslation("Queue another house to be built.") }, { "trigger": "time", "time": 195, - "instructions": "Queue 5 more female citizens. These will gather wood" + "instructions": markForTranslation("Queue 5 more female citizens. These will gather wood.") }, { "trigger": "time", "time": 220, - "instructions": "Build another field, this decreases the amount of walking for your female citizens." + "instructions": markForTranslation("Build another field, this decreases the amount of walking for your female citizens.") }, { "trigger": "time", "time": 220, - "instructions": "Train some more slingers, send them to gather stone. train about 5, you may not have enough resources for a batch right now." + "instructions": markForTranslation("Train some more slingers, send them to gather stone. Train about 5, you may not have enough resources for a batch right now.") }, { "trigger": "time", "time": 231, - "instructions": "Queue another house" + "instructions": markForTranslation("Queue another house.") }, { "trigger": "time", "time": 260, - "instructions": "Queue another batch of 5 female citizens these are for wood. " + "instructions": markForTranslation("Queue another batch of 5 female citizens these are for wood.") }, { "trigger": "time", "time": 285, - "instructions": "Queue another house" + "instructions": markForTranslation("Queue another house.") }, { "trigger": "time", "time": 290, - "instructions": "Queue a batch of spearmen" + "instructions": markForTranslation("Queue a batch of spearmen.") }, { "trigger": "time", "time": 295, - "instructions": "Research the stone mining technology from the storehouse." + "instructions": markForTranslation("Research the stone mining technology from the storehouse.") }, { "trigger": "time", "time": 300, - "instructions": "Queue a batch of slingers" + "instructions": markForTranslation("Queue a batch of slingers.") }, { "trigger": "time", "time": 310, - "instructions": "Move 3 women from wood and 3 from stone to farming. Women are cheap to train initially but later in the game it is best to maxinmize efficiency as you are able to train more citizen soldiers." + "instructions": markForTranslation("Move 3 women from wood and 3 from stone to farming. Women are cheap to train initially but later in the game it is best to maxinmize efficiency as you are able to train more citizen soldiers.") }, { "trigger": "time", "time": 325, - "instructions": "Queue another house" + "instructions": markForTranslation("Queue another house.") }, { "trigger": "time", "time": 330, - "instructions": "The slingers that you queue earlier should gather stone once they are trained." + "instructions": markForTranslation("The slingers that you queue earlier should gather stone once they are trained.") }, { "trigger": "time", "time": 340, - "instructions": "Queue a batch of spearmen, they should gather wood." + "instructions": markForTranslation("Queue a batch of spearmen, they should gather wood.") }, { "trigger": "time", "time": 360, - "instructions": "Next queue a batch of slingers" + "instructions": markForTranslation("Next queue a batch of slingers.") }, { "trigger": "time", "time": 390, - "instructions": "Send some of the stone miners to mine metal, getting ready for the next age." + "instructions": markForTranslation("Send some of the stone miners to mine metal, getting ready for the next age.") }, { "trigger": "time", "time": 400, - "instructions": "Queue another house" + "instructions": markForTranslation("Queue another house.") }, { "trigger": "time", "time": 410, - "instructions": "Start researching Phase 2" + "instructions": markForTranslation("Start researching Phase 2.") }, { "trigger": "time", "time": 430, - "instructions": "Queue some slingers" + "instructions": markForTranslation("Queue some slingers.") }, { "trigger": "time", "time": 435, - "instructions": "Your fields may start getting exhausted, remember to rebuild them." + "instructions": markForTranslation("Your fields may start getting exhausted, remember to rebuild them.") }, { "trigger": "time", "time": 440, - "instructions": "When you have advanced, use a single citizen soldier to place a barracks foundation. Then use the rest of the non food or house building female citizens to construct it." + "instructions": markForTranslation("When you have advanced, use a single citizen soldier to place a barracks foundation. Then use the rest of the non food or house building female citizens to construct it.") }, { "trigger": "time", "time": 458, - "instructions": "Queue 5 more females for construction work." + "instructions": markForTranslation("Queue 5 more females for construction work.") }, { "trigger": "time", "time": 480, - "instructions": "Queue a batch of slingers to gather the trees on the north side of your base." + "instructions": markForTranslation("Queue a batch of slingers to gather the trees on the north side of your base.") }, { "trigger": "time", "time": 490, - "instructions": "This is the end of the walkthrough. This should give you a good idea of how to build up a nice economy rapidly." + "instructions": markForTranslation("This is the end of the walkthrough. This should give you a good idea of how to build up a nice economy rapidly.") }, { "trigger": "time", "time": 500, - "instructions": "At this point you should be able to fully use both training facilities, keep putting units into economic work, to keep growing faster and faster." + "instructions": markForTranslation("At this point you should be able to fully use both training facilities, keep putting units into economic work, to keep growing faster and faster.") }, { "trigger": "time", "time": 505, - "instructions": "From this point you have a good base to build an army and wipe out the opposition." + "instructions": markForTranslation("From this point you have a good base to build an army and wipe out the opposition.") }, { "trigger": "time", "time": 510, - "instructions": "The key points to remember are: " + "instructions": markForTranslation("The key points to remember are:") }, { "trigger": "time", "time": 513, - "instructions": " - Don't have any idle units. Shift click queueing and rally points are very useful." + "instructions": markForTranslation(" - Don't have any idle units. Shift click queueing and rally points are very useful.") }, { "trigger": "time", "time": 516, - "instructions": " - Use all of your resources, stockpiled resources are waste, having too much of a resource is waste." + "instructions": markForTranslation(" - Use all of your resources, stockpiled resources are waste, having too much of a resource is waste.") }, { "trigger": "time", "time": 519, - "instructions": " - Use the right units for the right task, female citizens gather food, cavalry hunt, citizen soldiers do the rest." + "instructions": markForTranslation(" - Use the right units for the right task, female citizens gather food, cavalry hunt, citizen soldiers do the rest.") }, { "trigger": "time", "time": 522, - "instructions": " - Don't be afraid to swap units from one resource to another, see point 2. Make sure they deposit what they are carrying first though." + "instructions": markForTranslation(" - Don't be afraid to swap units from one resource to another, see point 2. Make sure they deposit what they are carrying first though.") }, { "trigger": "time", "time": 525, - "instructions": " - Build enough houses, your CC should be kept busy as much as possible, it is the only training building until town phase." + "instructions": markForTranslation(" - Build enough houses, your CC should be kept busy as much as possible, it is the only training building until town phase.") }, { "trigger": "time", "time": 528, - "instructions": " - Female citizens are cheap, so you can build more of them and gather more resources." + "instructions": markForTranslation(" - Female citizens are cheap, so you can build more of them and gather more resources.") }, { "trigger": "time", "time": 531, - "instructions": " - Don't get carried away on the last point or you will get raided and have no defence." + "instructions": markForTranslation(" - Don't get carried away on the last point or you will get raided and have no defence.") }, { "trigger": "time", "time": 538, - "instructions": "Each map is different, so you will need to play slightly differently on each. This should give an outline for a high resource map." + "instructions": markForTranslation("Each map is different, so you will need to play slightly differently on each. This should give an outline for a high resource map.") }, ] Index: ps/trunk/binaries/data/mods/public/simulation/ai/tutorial-ai/introductory_tutorial.js =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/ai/tutorial-ai/introductory_tutorial.js (revision 14990) +++ ps/trunk/binaries/data/mods/public/simulation/ai/tutorial-ai/introductory_tutorial.js (revision 14991) @@ -1,163 +1,163 @@ var introductoryTutorial = [ //Tutorial starts with a Civil Centre, 3 female citizens, and 1 skirmisher. The civ is Sparta. 2 AI players - One for attacking, one for base defending(?). { - "instructions": "Welcome to the 0 A.D. tutorial. First left-click on a female citizen, then Right-click on a berry bush nearby to make the unit collect food. Female citizens gather food faster than other units." + "instructions": markForTranslation("Welcome to the 0 A.D. tutorial. First left-click on a female citizen, then Right-click on a berry bush nearby to make the unit collect food. Female citizens gather food faster than other units.") }, { - "instructions": "Select the citizen-soldier, Right-click on a tree near the Civil Center to begin collecting wood. Citizen-soldiers gather wood faster than female citizens.", + "instructions": markForTranslation("Select the citizen-soldier, Right-click on a tree near the Civil Center to begin collecting wood. Citizen-soldiers gather wood faster than female citizens."), "trigger": "food_gathered" }, { - "instructions": "Select the Civil Center building, and shift-click on the Hoplite icon (2nd in the row) once to begin training 5 Hoplites.", + "instructions": markForTranslation("Select the Civil Center building, and shift-click on the Hoplite icon (2nd in the row) once to begin training 5 Hoplites."), "trigger": "wood_gathered" }, { - "instructions": "Select the two idle female citizens and build a house nearby by selecting the house icon. Place the house by left-clicking on a piece of land.", + "instructions": markForTranslation("Select the two idle female citizens and build a house nearby by selecting the house icon. Place the house by left-clicking on a piece of land."), "trigger": "training_start", "template": "units/spart_infantry_spearman_b", "count": 5 }, { - "instructions": "Select the newly trained Hoplites and assign them to build a storehouse beside some nearby trees. They will begin to gather wood when it's constructed.", + "instructions": markForTranslation("Select the newly trained Hoplites and assign them to build a storehouse beside some nearby trees. They will begin to gather wood when it's constructed."), "trigger": "entity_count", "template": "structures/spart_house", "count": 1 }, { - "instructions": "Build a set of 5 skirmishers by shift-clicking on the skirmisher icon (3rd in the row) in the Civil Center.", + "instructions": markForTranslation("Build a set of 5 skirmishers by shift-clicking on the skirmisher icon (3rd in the row) in the Civil Center."), "trigger": "entity_count", "template": "structures/spart_storehouse", "count": 1 }, { - "instructions": "Build a farmstead in an open space beside the Civil Center using any idle builders.", + "instructions": markForTranslation("Build a farmstead in an open space beside the Civil Center using any idle builders."), "trigger": "training_start", "template": "units/spart_infantry_javelinist_b", "count": 5 }, { - "instructions": "Once the farmstead is constructed, its builders will automatically begin gathering food if there is any nearby. Select the builders and instead make them construct a field beside the farmstead.", + "instructions": markForTranslation("Once the farmstead is constructed, its builders will automatically begin gathering food if there is any nearby. Select the builders and instead make them construct a field beside the farmstead."), "trigger": "entity_count", "template": "structures/spart_farmstead", "count": 1 }, { - "instructions": "The field's builders will now automatically begin collecting food from the field. Using the newly created group of skirmishers, get them to build another house nearby.", + "instructions": markForTranslation("The field's builders will now automatically begin collecting food from the field. Using the newly created group of skirmishers, get them to build another house nearby."), "trigger": "entity_count", "template": "structures/spart_field", "count": 1 }, { - "instructions": "Train 5 Hoplites from the Civil Center. Select the Civil Center and with it selected right click on a tree nearby. Units from the Civil Center will now automatically gather wood.", + "instructions": markForTranslation("Train 5 Hoplites from the Civil Center. Select the Civil Center and with it selected right click on a tree nearby. Units from the Civil Center will now automatically gather wood."), "trigger": "entity_count", "template": "structures/spart_house", "count": 2 }, { - "instructions": "Order the idle Skirmishers to build an outpost to the north east at the edge of your territory. This will be the fifth Village Phase structure that you have built, allowing you to advance to the Town Phase.", + "instructions": markForTranslation("Order the idle Skirmishers to build an outpost to the north east at the edge of your territory. This will be the fifth Village Phase structure that you have built, allowing you to advance to the Town Phase."), "trigger": "entity_count", "template": "units/spart_infantry_spearman_b", "count": 10 }, { - "instructions": "Select the Civil Center again and advance to Town Phase by clicking on the 'II' icon. This will allow Town Phase buildings to be constructed.", + "instructions": markForTranslation("Select the Civil Center again and advance to Town Phase by clicking on the 'II' icon. This will allow Town Phase buildings to be constructed."), "trigger": "entity_count", "template": "structures/spart_outpost", "count": 1 }, { - "instructions": "Start building 5 female citizens in the Civil Center and set its rally point to the farm (right click on it)", + "instructions": markForTranslation("Start building 5 female citizens in the Civil Center and set its rally point to the farm (right click on it)."), "trigger": "relative_time", "time": 34 //TODO: This is a hack, should be when town phase is researched }, { - "instructions": "Build a barracks nearby. Whenever your population limit is reached, build an extra house using any available builder units.", + "instructions": markForTranslation("Build a barracks nearby. Whenever your population limit is reached, build an extra house using any available builder units."), "trigger": "entity_count", "template": "units/spart_support_female_citizen", "count": 8 }, { - "instructions": "Prepare for an attack by an enemy player. Build more soldiers using the Barracks, and get idle soldiers to build a Defense Tower near your Outpost.", + "instructions": markForTranslation("Prepare for an attack by an enemy player. Build more soldiers using the Barracks, and get idle soldiers to build a Defense Tower near your Outpost."), "trigger": "entity_count", "template": "structures/spart_barracks", "count": 1 }, { - "instructions": "Select the Barracks and research the Infantry Training technology (sword icon) to improve infantry hack attack", + "instructions": markForTranslation("Select the Barracks and research the Infantry Training technology (sword icon) to improve infantry hack attack."), "action": introductory_tutorial_attack, "trigger": "entity_count", "template": "structures/spart_defense_tower", "count": 1 }, { - "instructions": "The enemy's attack has been defeated. Now build a market and temple while assigning new units to gather any required resources.", + "instructions": markForTranslation("The enemy's attack has been defeated. Now build a market and temple while assigning new units to gather any required resources."), "trigger": "dead_enemy_units", "collectionId": "intro_tutorial_attackers" }, { - "instructions": "Now that City Phase requirements have been reached, select your Civil Center and advance to City Phase.", + "instructions": markForTranslation("Now that City Phase requirements have been reached, select your Civil Center and advance to City Phase."), "trigger": "entity_counts", "templates": ["structures/spart_market", "structures/spart_temple"], "counts": [1,1] }, { - "instructions": "Now that you are in City Phase, build a fortress nearby and use it to build 2 Battering Rams", + "instructions": markForTranslation("Now that you are in City Phase, build a fortress nearby and use it to build 2 Battering Rams."), "trigger": "relative_time", "time": 65 //TODO: This is a hack, should be when city phase is researched }, { - "instructions": "Stop all your soldiers gathering resources and instead task small groups to find the enemy Civil Center on the map. Female citizens should continue to gather resources.", + "instructions": markForTranslation("Stop all your soldiers gathering resources and instead task small groups to find the enemy Civil Center on the map. Female citizens should continue to gather resources."), "action": introductory_tutorial_remove_champions, "trigger": "entity_count", "template": "units/spart_mechanical_siege_ram", "count": 2 }, { - "instructions": "The enemy's base has been spotted, send your siege weapons and all remaining soldiers to destroy it.", + "instructions": markForTranslation("The enemy's base has been spotted, send your siege weapons and all remaining soldiers to destroy it."), "trigger": "near_cc" }, { - "instructions": "The enemy has been defeated. All tutorial tasks are now completed...", + "instructions": markForTranslation("The enemy has been defeated. All tutorial tasks are now completed…"), "trigger": "dead_enemy_units", "collectionId": "intro_tutorial_cc" } ]; var introductory_tutorial_attack = function(gameState) { var units = gameState.updatingCollection( - "intro_tutorial_attackers", + "intro_tutorial_attackers", API3.Filters.or( - API3.Filters.byType("units/athen_infantry_spearman_b"), + API3.Filters.byType("units/athen_infantry_spearman_b"), API3.Filters.byType("units/athen_infantry_javelinist_b") ), gameState.getOwnEntities() ); var towers = gameState.updatingCollection( - "players_towers", + "players_towers", API3.Filters.byType("structures/spart_defense_tower"), gameState.getEnemyEntities() ); var towerPos = towers.toEntityArray()[0].position(); units.move(towerPos[0]+5, towerPos[1]+15); } var introductory_tutorial_remove_champions = function(gameState) { var units = gameState.updatingCollection( - "intro_tutorial_champions", + "intro_tutorial_champions", API3.Filters.or( - API3.Filters.byType("units/athen_champion_infantry"), + API3.Filters.byType("units/athen_champion_infantry"), API3.Filters.or( - API3.Filters.byType("units/athen_champion_marine"), + API3.Filters.byType("units/athen_champion_marine"), API3.Filters.byType("units/athen_champion_ranged") ) ), gameState.getOwnEntities() ); var cc = gameState.updatingCollection( - "intro_tutorial_cc", + "intro_tutorial_cc", API3.Filters.byType("structures/athen_civil_centre"), gameState.getOwnEntities() ); units.destroy(); } \ No newline at end of file Index: ps/trunk/binaries/data/mods/public/simulation/helpers/Commands.js =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/helpers/Commands.js (revision 14990) +++ ps/trunk/binaries/data/mods/public/simulation/helpers/Commands.js (revision 14991) @@ -1,1508 +1,1509 @@ // Setting this to true will display some warnings when commands // are likely to fail, which may be useful for debugging AIs var g_DebugCommands = false; function ProcessCommand(player, cmd) { // Do some basic checks here that commanding player is valid var cmpPlayerMan = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager); if (!cmpPlayerMan || player < 0) return; var playerEnt = cmpPlayerMan.GetPlayerByID(player); if (playerEnt == INVALID_ENTITY) return; var cmpPlayer = Engine.QueryInterface(playerEnt, IID_Player); if (!cmpPlayer) return; var controlAllUnits = cmpPlayer.CanControlAllUnits(); var entities; if (cmd.entities) entities = FilterEntityList(cmd.entities, player, controlAllUnits); // Note: checks of UnitAI targets are not robust enough here, as ownership // can change after the order is issued, they should be checked by UnitAI // when the specific behavior (e.g. attack, garrison) is performed. // (Also it's not ideal if a command silently fails, it's nicer if UnitAI // moves the entities closer to the target before giving up.) // Now handle various commands switch (cmd.type) { case "debug-print": print(cmd.message); break; case "chat": + case "aichat": var cmpGuiInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); - cmpGuiInterface.PushNotification({"type": "chat", "player": player, "message": cmd.message}); + cmpGuiInterface.PushNotification({"type": cmd.type, "player": player, "message": cmd.message}); break; case "cheat": Cheat(cmd); break; case "quit": // Let the AI exit the game for testing purposes var cmpGuiInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); cmpGuiInterface.PushNotification({"type": "quit"}); break; case "diplomacy": switch(cmd.to) { case "ally": cmpPlayer.SetAlly(cmd.player); break; case "neutral": cmpPlayer.SetNeutral(cmd.player); break; case "enemy": cmpPlayer.SetEnemy(cmd.player); break; default: warn("Invalid command: Could not set "+player+" diplomacy status of player "+cmd.player+" to "+cmd.to); } var cmpGuiInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); cmpGuiInterface.PushNotification({"type": "diplomacy", "player": player, "player1": cmd.player, "status": cmd.to}); break; case "tribute": cmpPlayer.TributeResource(cmd.player, cmd.amounts); break; case "control-all": cmpPlayer.SetControlAllUnits(cmd.flag); break; case "reveal-map": // Reveal the map for all players, not just the current player, // primarily to make it obvious to everyone that the player is cheating var cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager); cmpRangeManager.SetLosRevealAll(-1, cmd.enable); break; case "walk": GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.Walk(cmd.x, cmd.z, cmd.queued); }); break; case "attack-walk": GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.WalkAndFight(cmd.x, cmd.z, cmd.queued); }); break; case "attack": if (g_DebugCommands && !(IsOwnedByEnemyOfPlayer(player, cmd.target) || IsOwnedByNeutralOfPlayer(player, cmd.target))) { // This check is for debugging only! warn("Invalid command: attack target is not owned by enemy of player "+player+": "+uneval(cmd)); } // See UnitAI.CanAttack for target checks GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.Attack(cmd.target, cmd.queued); }); break; case "heal": if (g_DebugCommands && !(IsOwnedByPlayer(player, cmd.target) || IsOwnedByAllyOfPlayer(player, cmd.target))) { // This check is for debugging only! warn("Invalid command: heal target is not owned by player "+player+" or their ally: "+uneval(cmd)); } // See UnitAI.CanHeal for target checks GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.Heal(cmd.target, cmd.queued); }); break; case "repair": // This covers both repairing damaged buildings, and constructing unfinished foundations if (g_DebugCommands && !IsOwnedByAllyOfPlayer(player, cmd.target)) { // This check is for debugging only! warn("Invalid command: repair target is not owned by ally of player "+player+": "+uneval(cmd)); } // See UnitAI.CanRepair for target checks GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.Repair(cmd.target, cmd.autocontinue, cmd.queued); }); break; case "gather": if (g_DebugCommands && !(IsOwnedByPlayer(player, cmd.target) || IsOwnedByGaia(cmd.target))) { // This check is for debugging only! warn("Invalid command: resource is not owned by gaia or player "+player+": "+uneval(cmd)); } // See UnitAI.CanGather for target checks GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.Gather(cmd.target, cmd.queued); }); break; case "gather-near-position": GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.GatherNearPosition(cmd.x, cmd.z, cmd.resourceType, cmd.resourceTemplate, cmd.queued); }); break; case "returnresource": // Check dropsite is owned by player if (g_DebugCommands && !IsOwnedByPlayer(player, cmd.target)) { // This check is for debugging only! warn("Invalid command: dropsite is not owned by player "+player+": "+uneval(cmd)); } // See UnitAI.CanReturnResource for target checks GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.ReturnResource(cmd.target, cmd.queued); }); break; case "back-to-work": for each (var ent in entities) { var cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI); if(!cmpUnitAI || !cmpUnitAI.BackToWork()) notifyBackToWorkFailure(player); } break; case "remove-guard": for each (var ent in entities) { var cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI); if(cmpUnitAI) cmpUnitAI.RemoveGuard(); } break; case "train": // Check entity limits var cmpTempMan = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager); var template = cmpTempMan.GetTemplate(cmd.template); var unitCategory = null; if (template.TrainingRestrictions) unitCategory = template.TrainingRestrictions.Category; // Verify that the building(s) can be controlled by the player if (entities.length > 0) { for each (var ent in entities) { if (unitCategory) { var cmpPlayerEntityLimits = QueryOwnerInterface(ent, IID_EntityLimits); if (!cmpPlayerEntityLimits.AllowedToTrain(unitCategory, cmd.count)) { if (g_DebugCommands) warn(unitCategory + " train limit is reached: " + uneval(cmd)); continue; } } var cmpTechnologyManager = QueryOwnerInterface(ent, IID_TechnologyManager); if (cmpTechnologyManager.CanProduce(cmd.template)) { var queue = Engine.QueryInterface(ent, IID_ProductionQueue); // Check if the building can train the unit if (queue && queue.GetEntitiesList().indexOf(cmd.template) != -1) queue.AddBatch(cmd.template, "unit", +cmd.count, cmd.metadata); } else if (g_DebugCommands) { warn("Invalid command: training requires unresearched technology: " + uneval(cmd)); } } } else if (g_DebugCommands) { warn("Invalid command: training building(s) cannot be controlled by player "+player+": "+uneval(cmd)); } break; case "research": // Verify that the building can be controlled by the player if (CanControlUnit(cmd.entity, player, controlAllUnits)) { var cmpTechnologyManager = QueryOwnerInterface(cmd.entity, IID_TechnologyManager); if (cmpTechnologyManager.CanResearch(cmd.template)) { var queue = Engine.QueryInterface(cmd.entity, IID_ProductionQueue); if (queue) queue.AddBatch(cmd.template, "technology"); } else if (g_DebugCommands) { warn("Invalid command: Requirements to research technology are not met: " + uneval(cmd)); } } else if (g_DebugCommands) { warn("Invalid command: research building cannot be controlled by player "+player+": "+uneval(cmd)); } break; case "stop-production": // Verify that the building can be controlled by the player if (CanControlUnit(cmd.entity, player, controlAllUnits)) { var queue = Engine.QueryInterface(cmd.entity, IID_ProductionQueue); if (queue) queue.RemoveBatch(cmd.id); } else if (g_DebugCommands) { warn("Invalid command: production building cannot be controlled by player "+player+": "+uneval(cmd)); } break; case "construct": TryConstructBuilding(player, cmpPlayer, controlAllUnits, cmd); break; case "construct-wall": TryConstructWall(player, cmpPlayer, controlAllUnits, cmd); break; case "delete-entities": for each (var ent in entities) { var cmpHealth = Engine.QueryInterface(ent, IID_Health); if (cmpHealth) { var cmpResourceSupply = Engine.QueryInterface(ent, IID_ResourceSupply); if (!cmpResourceSupply || !cmpResourceSupply.GetKillBeforeGather()) cmpHealth.Kill(); } else Engine.DestroyEntity(ent); } break; case "set-rallypoint": for each (var ent in entities) { var cmpRallyPoint = Engine.QueryInterface(ent, IID_RallyPoint); if (cmpRallyPoint) { if (!cmd.queued) cmpRallyPoint.Unset(); cmpRallyPoint.AddPosition(cmd.x, cmd.z); cmpRallyPoint.AddData(cmd.data); } } break; case "unset-rallypoint": for each (var ent in entities) { var cmpRallyPoint = Engine.QueryInterface(ent, IID_RallyPoint); if (cmpRallyPoint) cmpRallyPoint.Reset(); } break; case "defeat-player": // Send "OnPlayerDefeated" message to player Engine.PostMessage(playerEnt, MT_PlayerDefeated, { "playerId": player } ); break; case "garrison": // Verify that the building can be controlled by the player or is mutualAlly if (CanControlUnitOrIsAlly(cmd.target, player, controlAllUnits)) { GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.Garrison(cmd.target, cmd.queued); }); } else if (g_DebugCommands) { warn("Invalid command: garrison target cannot be controlled by player "+player+" (or ally): "+uneval(cmd)); } break; case "guard": // Verify that the target can be controlled by the player or is mutualAlly if (CanControlUnitOrIsAlly(cmd.target, player, controlAllUnits)) { GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.Guard(cmd.target, cmd.queued); }); } else if (g_DebugCommands) { warn("Invalid command: guard/escort target cannot be controlled by player "+player+": "+uneval(cmd)); } break; case "stop": GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.Stop(cmd.queued); }); break; case "unload": // Verify that the building can be controlled by the player or is mutualAlly if (CanControlUnitOrIsAlly(cmd.garrisonHolder, player, controlAllUnits)) { var cmpGarrisonHolder = Engine.QueryInterface(cmd.garrisonHolder, IID_GarrisonHolder); var notUngarrisoned = 0; // The owner can ungarrison every garrisoned unit if (IsOwnedByPlayer(player, cmd.garrisonHolder)) entities = cmd.entities; for each (var ent in entities) if (!cmpGarrisonHolder || !cmpGarrisonHolder.Unload(ent)) notUngarrisoned++; if (notUngarrisoned != 0) notifyUnloadFailure(player, cmd.garrisonHolder) } else if (g_DebugCommands) { warn("Invalid command: unload target cannot be controlled by player "+player+" (or ally): "+uneval(cmd)); } break; case "unload-template": var index = cmd.template.indexOf("&"); // Templates for garrisoned units are extended if (index == -1) break; var entities = FilterEntityListWithAllies(cmd.garrisonHolders, player, controlAllUnits); for each (var garrisonHolder in entities) { var cmpGarrisonHolder = Engine.QueryInterface(garrisonHolder, IID_GarrisonHolder); if (cmpGarrisonHolder) { // Only the owner of the garrisonHolder may unload entities from any owners if (!IsOwnedByPlayer(player, garrisonHolder) && !controlAllUnits && player != +cmd.template.slice(1,index)) continue; if (!cmpGarrisonHolder.UnloadTemplate(cmd.template, cmd.all)) notifyUnloadFailure(player, garrisonHolder); } } break; case "unload-all-own": var entities = FilterEntityList(cmd.garrisonHolders, player, controlAllUnits); for each (var garrisonHolder in entities) { var cmpGarrisonHolder = Engine.QueryInterface(garrisonHolder, IID_GarrisonHolder); if (!cmpGarrisonHolder || !cmpGarrisonHolder.UnloadAllOwn()) notifyUnloadFailure(player, garrisonHolder) } break; case "unload-all": var entities = FilterEntityList(cmd.garrisonHolders, player, controlAllUnits); for each (var garrisonHolder in entities) { var cmpGarrisonHolder = Engine.QueryInterface(garrisonHolder, IID_GarrisonHolder); if (!cmpGarrisonHolder || !cmpGarrisonHolder.UnloadAll()) notifyUnloadFailure(player, garrisonHolder) } break; case "increase-alert-level": for each (var ent in entities) { var cmpAlertRaiser = Engine.QueryInterface(ent, IID_AlertRaiser); if (!cmpAlertRaiser || !cmpAlertRaiser.IncreaseAlertLevel()) notifyAlertFailure(player); } break; case "alert-end": for each (var ent in entities) { var cmpAlertRaiser = Engine.QueryInterface(ent, IID_AlertRaiser); if (cmpAlertRaiser) cmpAlertRaiser.EndOfAlert(); } break; case "formation": GetFormationUnitAIs(entities, player, cmd.name).forEach(function(cmpUnitAI) { cmpUnitAI.MoveIntoFormation(cmd); }); break; case "promote": // No need to do checks here since this is a cheat anyway var cmpGuiInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); cmpGuiInterface.PushNotification({"type": "chat", "player": player, "message": "(Cheat - promoted units)"}); for each (var ent in cmd.entities) { var cmpPromotion = Engine.QueryInterface(ent, IID_Promotion); if (cmpPromotion) cmpPromotion.IncreaseXp(cmpPromotion.GetRequiredXp() - cmpPromotion.GetCurrentXp()); } break; case "stance": for each (var ent in entities) { var cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI); if (cmpUnitAI) cmpUnitAI.SwitchToStance(cmd.name); } break; case "wall-to-gate": for each (var ent in entities) { TryTransformWallToGate(ent, cmpPlayer, cmd.template); } break; case "lock-gate": for each (var ent in entities) { var cmpGate = Engine.QueryInterface(ent, IID_Gate); if (cmpGate) { if (cmd.lock) cmpGate.LockGate(); else cmpGate.UnlockGate(); } } break; case "setup-trade-route": GetFormationUnitAIs(entities, player).forEach(function(cmpUnitAI) { cmpUnitAI.SetupTradeRoute(cmd.target, cmd.source, cmd.route, cmd.queued); }); case "select-required-goods": for each (var ent in entities) { var cmpTrader = Engine.QueryInterface(ent, IID_Trader); if (cmpTrader) cmpTrader.SetRequiredGoods(cmd.requiredGoods); } break; case "set-trading-goods": cmpPlayer.SetTradingGoods(cmd.tradingGoods); break; case "barter": var cmpBarter = Engine.QueryInterface(SYSTEM_ENTITY, IID_Barter); cmpBarter.ExchangeResources(playerEnt, cmd.sell, cmd.buy, cmd.amount); break; case "set-shading-color": // Debug command to make an entity brightly colored for each (var ent in cmd.entities) { var cmpVisual = Engine.QueryInterface(ent, IID_Visual) if (cmpVisual) cmpVisual.SetShadingColour(cmd.rgb[0], cmd.rgb[1], cmd.rgb[2], 0) // alpha isn't used so just send 0 } break; case "pack": for each (var ent in entities) { var cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI); if (cmpUnitAI) { if (cmd.pack) cmpUnitAI.Pack(cmd.queued); else cmpUnitAI.Unpack(cmd.queued); } } break; case "cancel-pack": for each (var ent in entities) { var cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI); if (cmpUnitAI) { if (cmd.pack) cmpUnitAI.CancelPack(cmd.queued); else cmpUnitAI.CancelUnpack(cmd.queued); } } break; default: error("Invalid command: unknown command type: "+uneval(cmd)); } } /** * Sends a GUI notification about unit(s) that failed to ungarrison. */ function notifyUnloadFailure(player, garrisonHolder) { var cmpPlayer = QueryPlayerIDInterface(player, IID_Player); var notification = {"player": cmpPlayer.GetPlayerID(), "message": "Unable to ungarrison unit(s)" }; var cmpGUIInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); cmpGUIInterface.PushNotification(notification); } /** * Sends a GUI notification about worker(s) that failed to go back to work. */ function notifyBackToWorkFailure(player) { var cmpPlayer = QueryPlayerIDInterface(player, IID_Player); var notification = {"player": cmpPlayer.GetPlayerID(), "message": "Some unit(s) can't go back to work" }; var cmpGUIInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); cmpGUIInterface.PushNotification(notification); } /** * Sends a GUI notification about Alerts that failed to be raised */ function notifyAlertFailure(player) { var cmpPlayer = QueryPlayerIDInterface(player, IID_Player); var notification = {"player": cmpPlayer.GetPlayerID(), "message": "You can't raise the alert to a higher level !" }; var cmpGUIInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); cmpGUIInterface.PushNotification(notification); } /** * Get some information about the formations used by entities. * The entities must have a UnitAI component. */ function ExtractFormations(ents) { var entities = []; // subset of ents that have UnitAI var members = {}; // { formationentity: [ent, ent, ...], ... } for each (var ent in ents) { var cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI); var fid = cmpUnitAI.GetFormationController(); if (fid != INVALID_ENTITY) { if (!members[fid]) members[fid] = []; members[fid].push(ent); } entities.push(ent); } var ids = [ id for (id in members) ]; return { "entities": entities, "members": members, "ids": ids }; } /** * Tries to find the best angle to put a dock at a given position * Taken from GuiInterface.js */ function GetDockAngle(templateName,x,y) { var cmpTemplateMgr = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager); var template = cmpTemplateMgr.GetTemplate(templateName); if (template.BuildRestrictions.Category !== "Dock") return undefined; var cmpTerrain = Engine.QueryInterface(SYSTEM_ENTITY, IID_Terrain); var cmpWaterManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_WaterManager); if (!cmpTerrain || !cmpWaterManager) { return undefined; } // Get footprint size var halfSize = 0; if (template.Footprint.Square) { halfSize = Math.max(template.Footprint.Square["@depth"], template.Footprint.Square["@width"])/2; } else if (template.Footprint.Circle) { halfSize = template.Footprint.Circle["@radius"]; } /* Find direction of most open water, algorithm: * 1. Pick points in a circle around dock * 2. If point is in water, add to array * 3. Scan array looking for consecutive points * 4. Find longest sequence of consecutive points * 5. If sequence equals all points, no direction can be determined, * expand search outward and try (1) again * 6. Calculate angle using average of sequence */ const numPoints = 16; for (var dist = 0; dist < 4; ++dist) { var waterPoints = []; for (var i = 0; i < numPoints; ++i) { var angle = (i/numPoints)*2*Math.PI; var d = halfSize*(dist+1); var nx = x - d*Math.sin(angle); var nz = y + d*Math.cos(angle); if (cmpTerrain.GetGroundLevel(nx, nz) < cmpWaterManager.GetWaterLevel(nx, nz)) { waterPoints.push(i); } } var consec = []; var length = waterPoints.length; for (var i = 0; i < length; ++i) { var count = 0; for (var j = 0; j < (length-1); ++j) { if (((waterPoints[(i + j) % length]+1) % numPoints) == waterPoints[(i + j + 1) % length]) { ++count; } else { break; } } consec[i] = count; } var start = 0; var count = 0; for (var c in consec) { if (consec[c] > count) { start = c; count = consec[c]; } } // If we've found a shoreline, stop searching if (count != numPoints-1) { return -(((waterPoints[start] + consec[start]/2) % numPoints)/numPoints*2*Math.PI); } } return undefined; } /** * Attempts to construct a building using the specified parameters. * Returns true on success, false on failure. */ function TryConstructBuilding(player, cmpPlayer, controlAllUnits, cmd) { // Message structure: // { // "type": "construct", // "entities": [...], // entities that will be ordered to construct the building (if applicable) // "template": "...", // template name of the entity being constructed // "x": ..., // "z": ..., // "angle": ..., // "metadata": "...", // AI metadata of the building // "actorSeed": ..., // "autorepair": true, // whether to automatically start constructing/repairing the new foundation // "autocontinue": true, // whether to automatically gather/build/etc after finishing this // "queued": true, // whether to add the construction/repairing of this foundation to entities' queue (if applicable) // "obstructionControlGroup": ..., // Optional; the obstruction control group ID that should be set for this building prior to obstruction // // testing to determine placement validity. If specified, must be a valid control group ID (> 0). // "obstructionControlGroup2": ..., // Optional; secondary obstruction control group ID that should be set for this building prior to obstruction // // testing to determine placement validity. May be INVALID_ENTITY. // } /* * Construction process: * . Take resources away immediately. * . Create a foundation entity with 1hp, 0% build progress. * . Increase hp and build progress up to 100% when people work on it. * . If it's destroyed, an appropriate fraction of the resource cost is refunded. * . If it's completed, it gets replaced with the real building. */ // Check whether we can control these units var entities = FilterEntityList(cmd.entities, player, controlAllUnits); if (!entities.length) return false; var foundationTemplate = "foundation|" + cmd.template; // Tentatively create the foundation (we might find later that it's a invalid build command) var ent = Engine.AddEntity(foundationTemplate); if (ent == INVALID_ENTITY) { // Error (e.g. invalid template names) error("Error creating foundation entity for '" + cmd.template + "'"); return false; } // If it's a dock, get the right angle. var angle = GetDockAngle(cmd.template,cmd.x,cmd.z); if (angle !== undefined) cmd.angle = angle; // Move the foundation to the right place var cmpPosition = Engine.QueryInterface(ent, IID_Position); cmpPosition.JumpTo(cmd.x, cmd.z); cmpPosition.SetYRotation(cmd.angle); // Set the obstruction control group if needed if (cmd.obstructionControlGroup || cmd.obstructionControlGroup2) { var cmpObstruction = Engine.QueryInterface(ent, IID_Obstruction); // primary control group must always be valid if (cmd.obstructionControlGroup) { if (cmd.obstructionControlGroup <= 0) warn("[TryConstructBuilding] Invalid primary obstruction control group " + cmd.obstructionControlGroup + " received; must be > 0"); cmpObstruction.SetControlGroup(cmd.obstructionControlGroup); } if (cmd.obstructionControlGroup2) cmpObstruction.SetControlGroup2(cmd.obstructionControlGroup2); } // Make it owned by the current player var cmpOwnership = Engine.QueryInterface(ent, IID_Ownership); cmpOwnership.SetOwner(player); // Check whether building placement is valid var cmpBuildRestrictions = Engine.QueryInterface(ent, IID_BuildRestrictions); if (cmpBuildRestrictions) { var ret = cmpBuildRestrictions.CheckPlacement(); if (!ret.success) { if (g_DebugCommands) { warn("Invalid command: build restrictions check failed with '"+ret.message+"' for player "+player+": "+uneval(cmd)); } var cmpGuiInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); cmpGuiInterface.PushNotification({ "player": player, "message": ret.message }); // Remove the foundation because the construction was aborted // move it out of world because it's not destroyed immediately. cmpPosition.MoveOutOfWorld(); Engine.DestroyEntity(ent); return false; } } else error("cmpBuildRestrictions not defined"); // Check entity limits var cmpEntityLimits = QueryPlayerIDInterface(player, IID_EntityLimits); if (!cmpEntityLimits || !cmpEntityLimits.AllowedToBuild(cmpBuildRestrictions.GetCategory())) { if (g_DebugCommands) { warn("Invalid command: build limits check failed for player "+player+": "+uneval(cmd)); } // Remove the foundation because the construction was aborted cmpPosition.MoveOutOfWorld(); Engine.DestroyEntity(ent); return false; } var cmpTechnologyManager = QueryPlayerIDInterface(player, IID_TechnologyManager); // TODO: Enable this check once the AI gets technology support if (!cmpTechnologyManager.CanProduce(cmd.template) && !cmpPlayer.IsAI()) { if (g_DebugCommands) { warn("Invalid command: required technology check failed for player "+player+": "+uneval(cmd)); } var cmpGuiInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); cmpGuiInterface.PushNotification({ "player": player, "message": "Building's technology requirements are not met." }); // Remove the foundation because the construction was aborted cmpPosition.MoveOutOfWorld(); Engine.DestroyEntity(ent); } // We need the cost after tech modifications // To calculate this with an entity requires ownership, so use the template instead var cmpTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager); var template = cmpTemplateManager.GetTemplate(foundationTemplate); var costs = {}; for (var r in template.Cost.Resources) { costs[r] = +template.Cost.Resources[r]; if (cmpTechnologyManager) costs[r] = cmpTechnologyManager.ApplyModificationsTemplate("Cost/Resources/"+r, costs[r], template); } if (!cmpPlayer.TrySubtractResources(costs)) { if (g_DebugCommands) warn("Invalid command: building cost check failed for player "+player+": "+uneval(cmd)); Engine.DestroyEntity(ent); cmpPosition.MoveOutOfWorld(); return false; } var cmpVisual = Engine.QueryInterface(ent, IID_Visual); if (cmpVisual && cmd.actorSeed !== undefined) cmpVisual.SetActorSeed(cmd.actorSeed); // Initialise the foundation var cmpFoundation = Engine.QueryInterface(ent, IID_Foundation); cmpFoundation.InitialiseConstruction(player, cmd.template); // send Metadata info if any if (cmd.metadata) Engine.PostMessage(ent, MT_AIMetadata, { "id": ent, "metadata" : cmd.metadata, "owner" : player } ); // Tell the units to start building this new entity if (cmd.autorepair) { ProcessCommand(player, { "type": "repair", "entities": entities, "target": ent, "autocontinue": cmd.autocontinue, "queued": cmd.queued }); } return ent; } function TryConstructWall(player, cmpPlayer, controlAllUnits, cmd) { // 'cmd' message structure: // { // "type": "construct-wall", // "entities": [...], // entities that will be ordered to construct the wall (if applicable) // "pieces": [ // ordered list of information about the pieces making up the wall (towers, wall segments, ...) // { // "template": "...", // one of the templates from the wallset // "x": ..., // "z": ..., // "angle": ..., // }, // ... // ], // "wallSet": { // "templates": { // "tower": // tower template name // "long": // long wall segment template name // ... // etc. // }, // "maxTowerOverlap": ..., // "minTowerOverlap": ..., // }, // "startSnappedEntity": // optional; entity ID of tower being snapped to at the starting side of the wall // "endSnappedEntity": // optional; entity ID of tower being snapped to at the ending side of the wall // "autorepair": true, // whether to automatically start constructing/repairing the new foundation // "autocontinue": true, // whether to automatically gather/build/etc after finishing this // "queued": true, // whether to add the construction/repairing of this wall's pieces to entities' queue (if applicable) // } if (cmd.pieces.length <= 0) return; if (cmd.startSnappedEntity && cmd.pieces[0].template == cmd.wallSet.templates.tower) { error("[TryConstructWall] Starting wall piece cannot be a tower (" + cmd.wallSet.templates.tower + ") when snapping at the starting side"); return; } if (cmd.endSnappedEntity && cmd.pieces[cmd.pieces.length - 1].template == cmd.wallSet.templates.tower) { error("[TryConstructWall] Ending wall piece cannot be a tower (" + cmd.wallSet.templates.tower + ") when snapping at the ending side"); return; } // Assign obstruction control groups to allow the wall pieces to mutually overlap during foundation placement // and during construction. The scheme here is that whatever wall pieces are inbetween two towers inherit the control // groups of both of the towers they are connected to (either newly constructed ones as part of the wall, or existing // towers in the case of snapping). The towers themselves all keep their default unique control groups. // To support this, every non-tower piece registers the entity ID of the towers (or foundations thereof) that neighbour // it on either side. Specifically, each non-tower wall piece has its primary control group set equal to that of the // first tower encountered towards the starting side of the wall, and its secondary control group set equal to that of // the first tower encountered towards the ending side of the wall (if any). // We can't build the whole wall at once by linearly stepping through the wall pieces and build them, because the // wall segments may/will need the entity IDs of towers that come afterwards. So, build it in two passes: // // FIRST PASS: // - Go from start to end and construct wall piece foundations as far as we can without running into a piece that // cannot be built (e.g. because it is obstructed). At each non-tower, set the most recently built tower's ID // as the primary control group, thus allowing it to be built overlapping the previous piece. // - If we encounter a new tower along the way (which will gain its own control group), do the following: // o First build it using temporarily the same control group of the previous (non-tower) piece // o Set the previous piece's secondary control group to the tower's entity ID // o Restore the primary control group of the constructed tower back its original (unique) value. // The temporary control group is necessary to allow the newer tower with its unique control group ID to be able // to be placed while overlapping the previous piece. // // SECOND PASS: // - Go end to start from the last successfully placed wall piece (which might be a tower we backtracked to), this // time registering the right neighbouring tower in each non-tower piece. // first pass; L -> R var lastTowerIndex = -1; // index of the last tower we've encountered in cmd.pieces var lastTowerControlGroup = null; // control group of the last tower we've encountered, to assign to non-tower pieces // If we're snapping to an existing entity at the starting end, set lastTowerControlGroup to its control group ID so that // the first wall piece can be built while overlapping it. if (cmd.startSnappedEntity) { var cmpSnappedStartObstruction = Engine.QueryInterface(cmd.startSnappedEntity, IID_Obstruction); if (!cmpSnappedStartObstruction) { error("[TryConstructWall] Snapped entity on starting side does not have an obstruction component"); return; } lastTowerControlGroup = cmpSnappedStartObstruction.GetControlGroup(); //warn("setting lastTowerControlGroup to control group of start snapped entity " + cmd.startSnappedEntity + ": " + lastTowerControlGroup); } var i = 0; for (; i < cmd.pieces.length; ++i) { var piece = cmd.pieces[i]; // All wall pieces after the first must be queued. if (i > 0 && !cmd.queued) cmd.queued = true; // 'lastTowerControlGroup' must always be defined and valid here, except if we're at the first piece and we didn't do // start position snapping (implying that the first entity we build must be a tower) if (lastTowerControlGroup === null || lastTowerControlGroup == INVALID_ENTITY) { if (!(i == 0 && piece.template == cmd.wallSet.templates.tower && !cmd.startSnappedEntity)) { error("[TryConstructWall] Expected last tower control group to be available, none found (1st pass, iteration " + i + ")"); break; } } var constructPieceCmd = { "type": "construct", "entities": cmd.entities, "template": piece.template, "x": piece.x, "z": piece.z, "angle": piece.angle, "autorepair": cmd.autorepair, "autocontinue": cmd.autocontinue, "queued": cmd.queued, // Regardless of whether we're building a tower or an intermediate wall piece, it is always (first) constructed // using the control group of the last tower (see comments above). "obstructionControlGroup": lastTowerControlGroup, }; // If we're building the last piece and we're attaching to a snapped entity, we need to add in the snapped entity's // control group directly at construction time (instead of setting it in the second pass) to allow it to be built // while overlapping the snapped entity. if (i == cmd.pieces.length - 1 && cmd.endSnappedEntity) { var cmpEndSnappedObstruction = Engine.QueryInterface(cmd.endSnappedEntity, IID_Obstruction); if (cmpEndSnappedObstruction) constructPieceCmd.obstructionControlGroup2 = cmpEndSnappedObstruction.GetControlGroup(); } var pieceEntityId = TryConstructBuilding(player, cmpPlayer, controlAllUnits, constructPieceCmd); if (pieceEntityId) { // wall piece foundation successfully built, save the entity ID in the piece info object so we can reference it later piece.ent = pieceEntityId; // if we built a tower, do the control group dance (see outline above) and update lastTowerControlGroup and lastTowerIndex if (piece.template == cmd.wallSet.templates.tower) { var cmpTowerObstruction = Engine.QueryInterface(pieceEntityId, IID_Obstruction); var newTowerControlGroup = pieceEntityId; if (i > 0) { //warn(" updating previous wall piece's secondary control group to " + newTowerControlGroup); var cmpPreviousObstruction = Engine.QueryInterface(cmd.pieces[i-1].ent, IID_Obstruction); // TODO: ensure that cmpPreviousObstruction exists // TODO: ensure that the previous obstruction does not yet have a secondary control group set cmpPreviousObstruction.SetControlGroup2(newTowerControlGroup); } // TODO: ensure that cmpTowerObstruction exists cmpTowerObstruction.SetControlGroup(newTowerControlGroup); // give the tower its own unique control group lastTowerIndex = i; lastTowerControlGroup = newTowerControlGroup; } } else { // failed to build wall piece, abort i = j + 1; // compensate for the -1 subtracted by lastBuiltPieceIndex below break; } } var lastBuiltPieceIndex = i - 1; var wallComplete = (lastBuiltPieceIndex == cmd.pieces.length - 1); // At this point, 'i' is the index of the last wall piece that was successfully constructed (which may or may not be a tower). // Now do the second pass going right-to-left, registering the control groups of the towers to the right of each piece (if any) // as their secondary control groups. lastTowerControlGroup = null; // control group of the last tower we've encountered, to assign to non-tower pieces // only start off with the ending side's snapped tower's control group if we were able to build the entire wall if (cmd.endSnappedEntity && wallComplete) { var cmpSnappedEndObstruction = Engine.QueryInterface(cmd.endSnappedEntity, IID_Obstruction); if (!cmpSnappedEndObstruction) { error("[TryConstructWall] Snapped entity on ending side does not have an obstruction component"); return; } lastTowerControlGroup = cmpSnappedEndObstruction.GetControlGroup(); } for (var j = lastBuiltPieceIndex; j >= 0; --j) { var piece = cmd.pieces[j]; if (!piece.ent) { error("[TryConstructWall] No entity ID set for constructed entity of template '" + piece.template + "'"); continue; } var cmpPieceObstruction = Engine.QueryInterface(piece.ent, IID_Obstruction); if (!cmpPieceObstruction) { error("[TryConstructWall] Wall piece of template '" + piece.template + "' has no Obstruction component"); continue; } if (piece.template == cmd.wallSet.templates.tower) { // encountered a tower entity, update the last tower control group lastTowerControlGroup = cmpPieceObstruction.GetControlGroup(); } else { // Encountered a non-tower entity, update its secondary control group to 'lastTowerControlGroup'. // Note that the wall piece may already have its secondary control group set to the tower's entity ID from a control group // dance during the first pass, in which case we should validate it against 'lastTowerControlGroup'. var existingSecondaryControlGroup = cmpPieceObstruction.GetControlGroup2(); if (existingSecondaryControlGroup == INVALID_ENTITY) { if (lastTowerControlGroup != null && lastTowerControlGroup != INVALID_ENTITY) { cmpPieceObstruction.SetControlGroup2(lastTowerControlGroup); } } else if (existingSecondaryControlGroup != lastTowerControlGroup) { error("[TryConstructWall] Existing secondary control group of non-tower entity does not match expected value (2nd pass, iteration " + j + ")"); break; } } } } /** * Remove the given list of entities from their current formations. */ function RemoveFromFormation(ents) { var formation = ExtractFormations(ents); for (var fid in formation.members) { var cmpFormation = Engine.QueryInterface(+fid, IID_Formation); if (cmpFormation) cmpFormation.RemoveMembers(formation.members[fid]); } } /** * Returns a list of UnitAI components, each belonging either to a * selected unit or to a formation entity for groups of the selected units. */ function GetFormationUnitAIs(ents, player, formationTemplate) { // If an individual was selected, remove it from any formation // and command it individually if (ents.length == 1) { // Skip unit if it has no UnitAI var cmpUnitAI = Engine.QueryInterface(ents[0], IID_UnitAI); if (!cmpUnitAI) return []; RemoveFromFormation(ents); return [ cmpUnitAI ]; } // Separate out the units that don't support the chosen formation var formedEnts = []; var nonformedUnitAIs = []; for each (var ent in ents) { // Skip units with no UnitAI var cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI); if (!cmpUnitAI) continue; var cmpIdentity = Engine.QueryInterface(ent, IID_Identity); // TODO: We only check if the formation is usable by some units // if we move them to it. We should check if we can use formations // for the other cases. if (cmpIdentity && cmpIdentity.CanUseFormation(formationTemplate || "formations/line_closed")) formedEnts.push(ent); else nonformedUnitAIs.push(cmpUnitAI); } if (formedEnts.length == 0) { // No units support the foundation - return all the others return nonformedUnitAIs; } // Find what formations the formationable selected entities are currently in var formation = ExtractFormations(formedEnts); var formationUnitAIs = []; if (formation.ids.length == 1) { // Selected units either belong to this formation or have no formation // Check that all its members are selected var fid = formation.ids[0]; var cmpFormation = Engine.QueryInterface(+fid, IID_Formation); if (cmpFormation && cmpFormation.GetMemberCount() == formation.members[fid].length && cmpFormation.GetMemberCount() == formation.entities.length) { cmpFormation.DeleteTwinFormations(); // The whole formation was selected, so reuse its controller for this command formationUnitAIs = [Engine.QueryInterface(+fid, IID_UnitAI)]; if (formationTemplate && CanMoveEntsIntoFormation(formation.entities, formationTemplate)) cmpFormation.LoadFormation(formationTemplate); } } if (!formationUnitAIs.length) { // We need to give the selected units a new formation controller // Remove selected units from their current formation for (var fid in formation.members) { var cmpFormation = Engine.QueryInterface(+fid, IID_Formation); if (cmpFormation) cmpFormation.RemoveMembers(formation.members[fid]); } // TODO replace the fixed 60 with something sensible, based on vision range f.e. var formationSeparation = 60; var clusters = ClusterEntities(formation.entities, formationSeparation); var formationEnts = []; for each (var cluster in clusters) { if (!formationTemplate || !CanMoveEntsIntoFormation(cluster, formationTemplate)) { // get the most recently used formation, or default to line closed var lastFormationTemplate = undefined; for each (var ent in cluster) { var cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI); if (cmpUnitAI) { var template = cmpUnitAI.GetLastFormationTemplate(); if (lastFormationTemplate === undefined) { lastFormationTemplate = template; } else if (lastFormationTemplate != template) { lastFormationTemplate = undefined; break; } } } if (lastFormationTemplate && CanMoveEntsIntoFormation(cluster, lastFormationTemplate)) formationTemplate = lastFormationTemplate; else formationTemplate = "formations/line_closed"; } // Create the new controller var formationEnt = Engine.AddEntity(formationTemplate); var cmpFormation = Engine.QueryInterface(formationEnt, IID_Formation); formationUnitAIs.push(Engine.QueryInterface(formationEnt, IID_UnitAI)); cmpFormation.SetFormationSeparation(formationSeparation); cmpFormation.SetMembers(cluster); for each (var ent in formationEnts) cmpFormation.RegisterTwinFormation(ent); formationEnts.push(formationEnt); var cmpOwnership = Engine.QueryInterface(formationEnt, IID_Ownership); cmpOwnership.SetOwner(player); } } return nonformedUnitAIs.concat(formationUnitAIs); } /** * Group a list of entities in clusters via single-links */ function ClusterEntities(ents, separationDistance) { var clusters = []; if (!ents.length) return clusters; var distSq = separationDistance * separationDistance; var positions = []; // triangular matrix with the (squared) distances between the different clusters // the other half is not initialised var matrix = []; for (var i = 0; i < ents.length; i++) { matrix[i] = []; clusters.push([ents[i]]); var cmpPosition = Engine.QueryInterface(ents[i], IID_Position); if (!cmpPosition) { error("Asked to cluster entities without position: "+ents[i]); return clusters; } positions.push(cmpPosition.GetPosition2D()); for (var j = 0; j < i; j++) matrix[i][j] = positions[i].distanceToSquared(positions[j]); } while (clusters.length > 1) { // search two clusters that are closer than the required distance var smallDist = Infinity; var closeClusters = undefined; for (var i = matrix.length - 1; i >= 0 && !closeClusters; --i) for (var j = i - 1; j >= 0 && !closeClusters; --j) if (matrix[i][j] < distSq) closeClusters = [i,j]; // if no more close clusters found, just return all found clusters so far if (!closeClusters) return clusters; // make a new cluster with the entities from the two found clusters var newCluster = clusters[closeClusters[0]].concat(clusters[closeClusters[1]]); // calculate the minimum distance between the new cluster and all other remaining // clusters by taking the minimum of the two distances. var distances = []; for (var i = 0; i < clusters.length; i++) { if (i == closeClusters[1] || i == closeClusters[0]) continue; var dist1 = matrix[closeClusters[1]][i] || matrix[i][closeClusters[1]]; var dist2 = matrix[closeClusters[0]][i] || matrix[i][closeClusters[0]]; distances.push(Math.min(dist1, dist2)); } // remove the rows and columns in the matrix for the merged clusters, // and the clusters themselves from the cluster list clusters.splice(closeClusters[0],1); clusters.splice(closeClusters[1],1); matrix.splice(closeClusters[0],1); matrix.splice(closeClusters[1],1); for (var i = 0; i < matrix.length; i++) { if (matrix[i].length > closeClusters[0]) matrix[i].splice(closeClusters[0],1); if (matrix[i].length > closeClusters[1]) matrix[i].splice(closeClusters[1],1); } // add a new row of distances to the matrix and the new cluster clusters.push(newCluster); matrix.push(distances); } return clusters; } function GetFormationRequirements(formationTemplate) { var cmpTempManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager); var template = cmpTempManager.GetTemplate(formationTemplate); if (!template.Formation) return false; return {"minCount": +template.Formation.RequiredMemberCount}; } function CanMoveEntsIntoFormation(ents, formationTemplate) { // TODO: should check the player's civ is allowed to use this formation // See simulation/components/Player.js GetFormations() for a list of all allowed formations var requirements = GetFormationRequirements(formationTemplate); if (!requirements) return false; var count = 0; var reqClasses = requirements.classesRequired || []; for each (var ent in ents) { var cmpIdentity = Engine.QueryInterface(ent, IID_Identity); if (!cmpIdentity || !cmpIdentity.CanUseFormation(formationTemplate)) continue; count++; } return count >= requirements.minCount; } /** * Check if player can control this entity * returns: true if the entity is valid and owned by the player * or control all units is activated, else false */ function CanControlUnit(entity, player, controlAll) { return (IsOwnedByPlayer(player, entity) || controlAll); } /** * Check if player can control this entity * returns: true if the entity is valid and owned by the player * or the entity is owned by an mutualAlly * or control all units is activated, else false */ function CanControlUnitOrIsAlly(entity, player, controlAll) { return (IsOwnedByPlayer(player, entity) || IsOwnedByMutualAllyOfPlayer(player, entity) || controlAll); } /** * Filter entities which the player can control */ function FilterEntityList(entities, player, controlAll) { return entities.filter(function(ent) { return CanControlUnit(ent, player, controlAll);} ); } /** * Filter entities which the player can control or are mutualAlly */ function FilterEntityListWithAllies(entities, player, controlAll) { return entities.filter(function(ent) { return CanControlUnitOrIsAlly(ent, player, controlAll);} ); } /** * Try to transform a wall to a gate */ function TryTransformWallToGate(ent, cmpPlayer, template) { var cmpIdentity = Engine.QueryInterface(ent, IID_Identity); if (!cmpIdentity) return; // Check if this is a valid long wall segment if (!cmpIdentity.HasClass("LongWall")) { if (g_DebugCommands) warn("Invalid command: invalid wall conversion to gate for player "+player+": "+uneval(cmd)); return; } var civ = cmpIdentity.GetCiv(); var gate = Engine.AddEntity(template); var cmpCost = Engine.QueryInterface(gate, IID_Cost); if (!cmpPlayer.TrySubtractResources(cmpCost.GetResourceCosts())) { if (g_DebugCommands) warn("Invalid command: convert gate cost check failed for player "+player+": "+uneval(cmd)); Engine.DestroyEntity(gate); return; } ReplaceBuildingWith(ent, gate); } /** * Unconditionally replace a building with another one */ function ReplaceBuildingWith(ent, building) { // Move the building to the right place var cmpPosition = Engine.QueryInterface(ent, IID_Position); var cmpBuildingPosition = Engine.QueryInterface(building, IID_Position); var pos = cmpPosition.GetPosition2D(); cmpBuildingPosition.JumpTo(pos.x, pos.y); var rot = cmpPosition.GetRotation(); cmpBuildingPosition.SetYRotation(rot.y); cmpBuildingPosition.SetXZRotation(rot.x, rot.z); // Copy ownership var cmpOwnership = Engine.QueryInterface(ent, IID_Ownership); var cmpBuildingOwnership = Engine.QueryInterface(building, IID_Ownership); cmpBuildingOwnership.SetOwner(cmpOwnership.GetOwner()); // Copy control groups var cmpObstruction = Engine.QueryInterface(ent, IID_Obstruction); var cmpBuildingObstruction = Engine.QueryInterface(building, IID_Obstruction); cmpBuildingObstruction.SetControlGroup(cmpObstruction.GetControlGroup()); cmpBuildingObstruction.SetControlGroup2(cmpObstruction.GetControlGroup2()); // Copy health level from the old entity to the new var cmpHealth = Engine.QueryInterface(ent, IID_Health); var cmpBuildingHealth = Engine.QueryInterface(building, IID_Health); var healthFraction = Math.max(0, Math.min(1, cmpHealth.GetHitpoints() / cmpHealth.GetMaxHitpoints())); var buildingHitpoints = Math.round(cmpBuildingHealth.GetMaxHitpoints() * healthFraction); cmpBuildingHealth.SetHitpoints(buildingHitpoints); PlaySound("constructed", building); Engine.PostMessage(ent, MT_ConstructionFinished, { "entity": ent, "newentity": building }); Engine.BroadcastMessage(MT_EntityRenamed, { entity: ent, newentity: building }); Engine.DestroyEntity(ent); } Engine.RegisterGlobal("GetFormationRequirements", GetFormationRequirements); Engine.RegisterGlobal("CanMoveEntsIntoFormation", CanMoveEntsIntoFormation); Engine.RegisterGlobal("ProcessCommand", ProcessCommand);