├── .gitignore ├── LICENSE ├── README.md ├── mod ├── assets │ ├── advisor_bubble.dds │ ├── advisor_icon.dds │ ├── bg_note_turn.dds │ ├── button_resource.dds │ ├── button_unit.dds │ ├── icon_no.dds │ ├── icon_ready.dds │ ├── icon_yes.dds │ ├── production_branch.dds │ ├── production_wrench.dds │ └── screenshot.dds ├── config │ ├── cui_config.sql │ └── cui_config.xml ├── cui.modinfo ├── lib │ ├── cui_settings.lua │ ├── cui_update.lua │ └── cui_utils.lua ├── localization │ ├── cui_de_de.sql │ ├── cui_en_us.sql │ ├── cui_es_es.sql │ ├── cui_fr_fr.sql │ ├── cui_it_it.sql │ ├── cui_ja_jp.sql │ ├── cui_ko_kr.sql │ ├── cui_pl_pl.sql │ ├── cui_pt_br.sql │ ├── cui_ru_ru.sql │ ├── cui_zh_cn.sql │ └── cui_zh_hk.sql └── modules │ ├── _log │ └── additions │ │ ├── cui_gameinfo.lua │ │ ├── cui_log.lua │ │ └── cui_log.xml │ ├── _options │ ├── additions │ │ ├── cui_options_button.lua │ │ ├── cui_options_button.xml │ │ ├── cui_options_menu.lua │ │ └── cui_options_menu.xml │ └── base │ │ └── options.lua │ ├── city_panel │ ├── base │ │ ├── citypanel.lua │ │ └── citypanel.xml │ └── expansion1 │ │ └── citypanel_expansion1.lua │ ├── city_states │ ├── base │ │ ├── citystates.lua │ │ └── citystates.xml │ └── expansion1 │ │ └── citystates.xml │ ├── deal_panel │ ├── base │ │ ├── diplomacydealview.lua │ │ └── diplomacydealview.xml │ ├── expansion2 │ │ ├── diplomacydealview.lua │ │ └── diplomacydealview_expansion2.lua │ └── support │ │ └── cui_deal_support.lua │ ├── great_work │ ├── base │ │ ├── greatworksoverview.lua │ │ └── greatworksoverview.xml │ └── expansion2 │ │ └── greatworksoverview_expansion2.lua │ ├── leader_icons │ ├── additions │ │ ├── cui_leader_icon_tt.lua │ │ └── cui_leader_icon_tt.xml │ ├── base │ │ ├── diplomacyactionview.lua │ │ ├── diplomacyribbon.lua │ │ └── leadericon.xml │ ├── expansion1 │ │ └── diplomacyribbon_expansion1.lua │ ├── expansion2 │ │ ├── diplomacyactionview.xml │ │ └── worldcongresspopup.lua │ └── support │ │ └── cui_leader_icon_support.lua │ ├── map_options │ ├── additions │ │ ├── cui_map_options.lua │ │ └── cui_map_options.xml │ └── base │ │ ├── selectedunit.lua │ │ ├── unitflagmanager.lua │ │ └── worldviewiconsmanager.lua │ ├── map_tacks │ └── base │ │ ├── mappinlistpanel.lua │ │ ├── mappinlistpanel.xml │ │ ├── mappinpopup.lua │ │ └── mappinpopup.xml │ ├── notes │ └── additions │ │ ├── cui_note_button.lua │ │ ├── cui_note_button.xml │ │ ├── cui_note_screen.lua │ │ └── cui_note_screen.xml │ ├── popup_and_remind │ ├── additions │ │ ├── cui_remind_panel.lua │ │ └── cui_remind_panel.xml │ ├── base │ │ ├── civicschooser.lua │ │ ├── greatworkshowcase.lua │ │ ├── researchchooser.lua │ │ └── techciviccompletedpopup.lua │ ├── expansion1 │ │ └── historicmoments.lua │ ├── expansion2 │ │ └── historicmoments.lua │ └── support │ │ └── cui_tech_civic_support.lua │ ├── production_panel │ ├── base │ │ ├── productionpanel.lua │ │ └── productionpanel.xml │ └── support │ │ ├── cui_production_data.lua │ │ ├── cui_production_support.lua │ │ └── cui_production_ui.lua │ ├── screenshot │ └── additions │ │ ├── cui_screenshot.lua │ │ └── cui_screenshot.xml │ ├── spy_info │ └── additions │ │ ├── cui_spy_info.lua │ │ └── cui_spy_info.xml │ ├── unit_list │ └── additions │ │ ├── cui_unitlist_button.lua │ │ ├── cui_unitlist_button.xml │ │ ├── cui_unitlist_screen.lua │ │ └── cui_unitlist_screen.xml │ ├── victory_tracking │ ├── additions │ │ ├── cui_victory_tracking.lua │ │ └── cui_victory_tracking.xml │ └── support │ │ └── cui_victory_support.lua │ └── world_tracker │ ├── additions │ ├── cui_city_status.lua │ └── cui_city_status.xml │ ├── base │ ├── statusmessagepanel.lua │ ├── worldtracker.lua │ └── worldtracker.xml │ └── support │ └── cui_tracker_support.lua └── scripts ├── build.py └── test.py /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | 3 | # Byte-compiled / optimized / DLL files 4 | __pycache__/ 5 | *.py[cod] 6 | *$py.class 7 | 8 | steam_related/ 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 JLMin 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Version](https://img.shields.io/badge/version-1.6.1-blue) 2 | [![Steam Update](https://img.shields.io/badge/steam-up%20to%20date-green)](https://steamcommunity.com/sharedfiles/filedetails/?id=1671978687) 3 | [![GitHub license](https://img.shields.io/github/license/JLMin/ConciseUI)](https://github.com/JLMin/ConciseUI/blob/master/LICENSE) 4 | 5 | # Concise UI 6 | 7 | Concise UI greatly improves the game experience by modifying the vanilla UI and adding new UI elements to the game. 8 | 9 | > Supported game versions: _1.0.5.11 (516180)_ 10 | 11 | ## How to Install 12 | 13 | The easiest way is to subscribe on [Steam Workshop](https://steamcommunity.com/sharedfiles/filedetails/?id=1671978687). 14 | 15 | Or you can [download](https://github.com/JLMin/ConciseUI/releases) the latest version, and install this mod manually. 16 | 17 | ## Contribution 18 | Since I have uninstalled the game, I am unable to update the mod functionality, 19 | If anyone would like to continue to maintain the mod, I am more than willing to accept PRs. 20 | If you need help in the maintenance process, please feel free to contact me. 21 | 22 | ## License 23 | 24 | This project is licensed under the MIT License - see the LICENSE file for details 25 | -------------------------------------------------------------------------------- /mod/assets/advisor_bubble.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/advisor_bubble.dds -------------------------------------------------------------------------------- /mod/assets/advisor_icon.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/advisor_icon.dds -------------------------------------------------------------------------------- /mod/assets/bg_note_turn.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/bg_note_turn.dds -------------------------------------------------------------------------------- /mod/assets/button_resource.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/button_resource.dds -------------------------------------------------------------------------------- /mod/assets/button_unit.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/button_unit.dds -------------------------------------------------------------------------------- /mod/assets/icon_no.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/icon_no.dds -------------------------------------------------------------------------------- /mod/assets/icon_ready.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/icon_ready.dds -------------------------------------------------------------------------------- /mod/assets/icon_yes.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/icon_yes.dds -------------------------------------------------------------------------------- /mod/assets/production_branch.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/production_branch.dds -------------------------------------------------------------------------------- /mod/assets/production_wrench.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/production_wrench.dds -------------------------------------------------------------------------------- /mod/assets/screenshot.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JLMin/ConciseUI/c8271aed5b72bcfb00f2a8ea678db87b0ea76e9a/mod/assets/screenshot.dds -------------------------------------------------------------------------------- /mod/config/cui_config.sql: -------------------------------------------------------------------------------- 1 | -- =========================================================================== 2 | -- CUI Config Text File 3 | -- =========================================================================== 4 | 5 | INSERT OR REPLACE INTO LocalizedText (Tag, Language, Text) VALUES 6 | 7 | -- =========================================================================== 8 | -- [Deutsch] by [Titule] 9 | -- =========================================================================== 10 | ("LOC_CUI_CONFIG_CATEGORY", "de_DE", "Concise UI"), 11 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "de_DE", "Kartennadel hinzufügen"), 12 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "de_DE", "Strategische Resourcen ein/aus"), 13 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "de_DE", "Einheitenflaggen ein/aus"), 14 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "de_DE", "Händler ein/aus"), 15 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "de_DE", "Religionseinheiten ein/aus"), 16 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "de_DE", "Städtebanner ein/aus"), 17 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "de_DE", "Einheitenliste öffnen"), 18 | ("LOC_CUI_CONFIG_OPEN_NOTES", "de_DE", "Notizen öffnen"), 19 | 20 | -- =========================================================================== 21 | -- [English] by [eudaimonia] 22 | -- =========================================================================== 23 | ("LOC_CUI_CONFIG_CATEGORY", "en_US", "Concise UI"), 24 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "en_US", "Add Map Tack"), 25 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "en_US", "Toggle Improved Resource"), 26 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "en_US", "Toggle Unit Flags"), 27 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "en_US", "Toggle Trader Icons"), 28 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "en_US", "Toggle Religion Icons"), 29 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "en_US", "Toggle City Banners"), 30 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "en_US", "Open Unit List"), 31 | ("LOC_CUI_CONFIG_OPEN_NOTES", "en_US", "Open Notes"), 32 | 33 | -- =========================================================================== 34 | -- [Spanish] by [MinuZzzZz] 4/26/2019 35 | -- =========================================================================== 36 | ("LOC_CUI_CONFIG_CATEGORY", "es_ES", "Concise UI"), 37 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "es_ES", "Añadir Marcador de mapa"), 38 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "es_ES", "Alternar Recursos Mejorados"), 39 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "es_ES", "Alternar Banderas de unidad"), 40 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "es_ES", "Alternar Iconos de comerciante"), 41 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "es_ES", "Toggle Religion Icons"), 42 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "es_ES", "Alternar Estandartes de ciudad"), 43 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "es_ES", "Abrir lista de unidades"), 44 | ("LOC_CUI_CONFIG_OPEN_NOTES", "es_ES", "Open Notes"), 45 | 46 | -- =========================================================================== 47 | -- [French] by [G.] 3/1/2019 48 | -- =========================================================================== 49 | ("LOC_CUI_CONFIG_CATEGORY", "fr_FR", "Concise UI"), 50 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "fr_FR", "Ajouter un marqueur"), 51 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "fr_FR", "Afficher les ressources aménagées"), 52 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "fr_FR", "Afficher les icônes des unités"), 53 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "fr_FR", "Afficher les icônes des Négociants"), 54 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "fr_FR", "Toggle Religion Icons"), 55 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "fr_FR", "Afficher les bannières (noms) des villes"), 56 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "fr_FR", "Ouvrir la liste des unités"), 57 | ("LOC_CUI_CONFIG_OPEN_NOTES", "fr_FR", "Open Notes"), 58 | 59 | -- =========================================================================== 60 | -- [Italiano] by [Diaz Ex Machina] 2/18/2019 61 | -- =========================================================================== 62 | ("LOC_CUI_CONFIG_CATEGORY", "it_IT", "Concise UI"), 63 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "it_IT", "Aggiungi spillo"), 64 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "it_IT", "Mostra/nascondi risorse migliorate"), 65 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "it_IT", "Mostra/nascondi segnaposto unità"), 66 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "it_IT", "Mostra/nascondi icone commerciante"), 67 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "it_IT", "Toggle Religion Icons"), 68 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "it_IT", "Mostra/nascondi banner città"), 69 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "it_IT", "Aprire l'elenco delle unità"), 70 | ("LOC_CUI_CONFIG_OPEN_NOTES", "it_IT", "Open Notes"), 71 | 72 | -- =========================================================================== 73 | -- [Japanese] by [J4A] 2/17/2019 74 | -- =========================================================================== 75 | ("LOC_CUI_CONFIG_CATEGORY", "ja_JP", "Concise UI"), 76 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "ja_JP", "ピンの追加"), 77 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "ja_JP", "改善済み資源の表示"), 78 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "ja_JP", "ユニットアイコンの表示"), 79 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "ja_JP", "交易商アイコンの表示"), 80 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "ja_JP", "宗教アイコンの表示"), 81 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "ja_JP", "都市バナーの表示"), 82 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "ja_JP", "ユニット一覧を開く"), 83 | ("LOC_CUI_CONFIG_OPEN_NOTES", "ja_JP", "ノートを開く"), 84 | 85 | -- =========================================================================== 86 | -- [Korean] by [firefanda] 10/22/2019 87 | -- =========================================================================== 88 | ("LOC_CUI_CONFIG_CATEGORY", "ko_KR", "Concise UI"), 89 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "ko_KR", "맵 트래커 추가"), 90 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "ko_KR", "향상된 자원 토글"), 91 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "ko_KR", "유닛 플래그 토글"), 92 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "ko_KR", "교역로 아이콘 토글"), 93 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "ko_KR", "종교 아이콘 토글"), 94 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "ko_KR", "도시 배너 토글"), 95 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "ko_KR", "유닛 목록 열기"), 96 | ("LOC_CUI_CONFIG_OPEN_NOTES", "ko_KR", "노트 열기"), 97 | 98 | -- =========================================================================== 99 | -- untranslated 100 | -- =========================================================================== 101 | ("LOC_CUI_CONFIG_CATEGORY", "pl_PL", "Concise UI"), 102 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "pl_PL", "Add Map Tack"), 103 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "pl_PL", "Toggle Improved Resource"), 104 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "pl_PL", "Toggle Unit Flags"), 105 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "pl_PL", "Toggle Trader Icons"), 106 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "pl_PL", "Toggle Religion Icons"), 107 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "pl_PL", "Toggle City Banners"), 108 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "pl_PL", "Open Unit List"), 109 | ("LOC_CUI_CONFIG_OPEN_NOTES", "pl_PL", "Open Notes"), 110 | 111 | -- =========================================================================== 112 | -- untranslated 113 | -- =========================================================================== 114 | ("LOC_CUI_CONFIG_CATEGORY", "pt_BR", "Concise UI"), 115 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "pt_BR", "Add Map Tack"), 116 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "pt_BR", "Toggle Improved Resource"), 117 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "pt_BR", "Toggle Unit Flags"), 118 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "pt_BR", "Toggle Trader Icons"), 119 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "pt_BR", "Toggle Religion Icons"), 120 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "pt_BR", "Toggle City Banners"), 121 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "pt_BR", "Open Unit List"), 122 | ("LOC_CUI_CONFIG_OPEN_NOTES", "pt_BR", "Open Notes"), 123 | 124 | -- =========================================================================== 125 | -- [Russian] by [iMiAMi] 11/21/2019 126 | -- =========================================================================== 127 | ("LOC_CUI_CONFIG_CATEGORY", "ru_RU", "Concise UI"), 128 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "ru_RU", "Добавить метку"), 129 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "ru_RU", "Переключить улучшения ресурсов"), 130 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "ru_RU", "Переключить значки юнитов"), 131 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "ru_RU", "Переключить значки торговцев"), 132 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "ru_RU", "Переключить значки религий"), 133 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "ru_RU", "Переключить баннеры городов"), 134 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "ru_RU", "Открыть список юнитов"), 135 | ("LOC_CUI_CONFIG_OPEN_NOTES", "ru_RU", "Открыть заметки"), 136 | 137 | -- =========================================================================== 138 | -- [Simplified Chinese] by [eudaimonia] 139 | -- =========================================================================== 140 | ("LOC_CUI_CONFIG_CATEGORY", "zh_Hans_CN", "Concise UI"), 141 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "zh_Hans_CN", "添加地图钉"), 142 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "zh_Hans_CN", "开启/关闭已改良资源图标"), 143 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "zh_Hans_CN", "开启/关闭单位图标"), 144 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "zh_Hans_CN", "开启/关闭商人图标"), 145 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "zh_Hans_CN", "开启/关闭宗教单位图标"), 146 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "zh_Hans_CN", "开启/关闭城市横幅"), 147 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "zh_Hans_CN", "打开单位列表"), 148 | ("LOC_CUI_CONFIG_OPEN_NOTES", "zh_Hans_CN", "打开备忘录"), 149 | 150 | -- =========================================================================== 151 | -- untranslated 152 | -- =========================================================================== 153 | ("LOC_CUI_CONFIG_CATEGORY", "zh_Hant_HK", "Concise UI"), 154 | ("LOC_CUI_CONFIG_PLACE_MAP_PIN", "zh_Hant_HK", "添加地图钉"), 155 | ("LOC_CUI_CONFIG_TOGGLE_IMPROVED", "zh_Hant_HK", "开启/关闭已改良资源图标"), 156 | ("LOC_CUI_CONFIG_TOGGLE_UNIT_FLAGS", "zh_Hant_HK", "开启/关闭单位图标"), 157 | ("LOC_CUI_CONFIG_TOGGLE_TRADERS", "zh_Hant_HK", "开启/关闭商人图标"), 158 | ("LOC_CUI_CONFIG_TOGGLE_RELIGIONS", "zh_Hant_HK", "开启/关闭宗教单位图标"), 159 | ("LOC_CUI_CONFIG_TOGGLE_CITY_BANNERS", "zh_Hant_HK", "开启/关闭城市横幅"), 160 | ("LOC_CUI_CONFIG_OPEN_UNIT_LIST", "zh_Hant_HK", "打开单位列表"), 161 | ("LOC_CUI_CONFIG_OPEN_NOTES", "zh_Hant_HK", "打开备忘录"); 162 | 163 | -- =========================================================================== 164 | -- EOF 165 | -------------------------------------------------------------------------------- /mod/config/cui_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /mod/lib/cui_settings.lua: -------------------------------------------------------------------------------- 1 | -- =========================================================================== 2 | -- cui_settings.lua 3 | -- =========================================================================== 4 | 5 | local SETTING_PREFIX = "CUI_SETTING_" 6 | 7 | -- CUI ----------------------------------------------------------------------- 8 | CuiSettings = { 9 | -- map options 10 | SHOW_IMPROVES = {field = "ShowImproveS", default = false}, 11 | SHOW_UNITS = {field = "ShowUnits", default = true}, 12 | SHOW_TRADERS = {field = "ShowTraders", default = true}, 13 | SHOW_RELIGIONS = {field = "ShowReligions", default = true}, 14 | SHOW_CITYS = {field = "ShowCitys", default = true}, 15 | -- map pins 16 | SHOW_DISTRICTS = {field = "ShowDistricts", default = true}, 17 | SHOW_WONDERS = {field = "ShowWonders", default = false}, 18 | AUTO_NAMING = {field = "AutoNaming", default = true}, 19 | -- world tracker 20 | WT_GOSSIP_LOG = {field = "TrackerGossipLog", default = false}, 21 | WT_COMBAT_LOG = {field = "TrackerCombatLog", default = false}, 22 | DF_GOSSIP_LOG = {field = "DefaultGossipLog", default = false}, 23 | DF_COMBAT_LOG = {field = "DefaultCombatLog", default = false}, 24 | GOSSIP_LOG_STATE = {field = "GossipLogState", default = 1}, 25 | COMBAT_LOG_STATE = {field = "CombatLogState", default = 1}, 26 | -- production panel 27 | QUEUE_BY_DEFAULT = {field = "QueueByDefault", default = false}, 28 | -- great works 29 | SORT_BY_CITY = {field = "SortByCity", default = true}, 30 | -- civ victory tracking 31 | SCIENCE = {field = "ScienceVictory", default = false}, 32 | CULTURE = {field = "CultureVictory", default = false}, 33 | DOMINATION = {field = "DominationVictory", default = false}, 34 | RELIGION = {field = "ReligionVictory", default = false}, 35 | DIPLOMATIC = {field = "DiplomaticVictory", default = false}, 36 | -- popup manager 37 | POPUP_RESEARCH = {field = "PopupResearch", default = true}, 38 | AUDIO_RESEARCH = {field = "PlayResearchAudio", default = true}, 39 | POPUP_HISTORIC = {field = "PopupHistoric", default = false}, 40 | POPUP_CREATWORK = {field = "PopupGreatWork", default = false}, 41 | POPUP_RELIC = {field = "PopupRelic", default = true}, 42 | -- remind 43 | REMIND_TECH = {field = "RemindTech", default = true}, 44 | REMIND_CIVIC = {field = "RemindCivic", default = true}, 45 | REMIND_GOVERNMENT = {field = "RemindGovernment", default = true}, 46 | REMIND_GOVERNOR = {field = "RemindGovernor", default = true}, 47 | -- quick combat & movement 48 | PLAYER_COMBAT = {field = "PlayerCombat", default = true}, 49 | PLAYER_MOVEMENT = {field = "PlayerMovement", default = true}, 50 | AI_COMBAT = {field = "AICombat", default = true}, 51 | AI_MOVEMENT = {field = "AIMovement", default = true} 52 | } 53 | CuiSettings.__index = CuiSettings 54 | 55 | -- CUI ----------------------------------------------------------------------- 56 | local function CuiCompleteKey(field) 57 | return SETTING_PREFIX .. tostring(field) 58 | end 59 | 60 | -- CUI ----------------------------------------------------------------------- 61 | function CuiSettings:SetBoolean(k, b) 62 | local key = CuiCompleteKey(k.field) 63 | local value = b and "true" or "false" 64 | PlayerConfigurations[Game.GetLocalPlayer()]:SetValue(key, value) 65 | end 66 | 67 | -- CUI ----------------------------------------------------------------------- 68 | function CuiSettings:GetBoolean(k) 69 | local key = CuiCompleteKey(k.field) 70 | local value = PlayerConfigurations[Game.GetLocalPlayer()]:GetValue(key) 71 | if value ~= nil then 72 | return value == "true" 73 | else 74 | return k.default 75 | end 76 | end 77 | 78 | -- CUI ----------------------------------------------------------------------- 79 | function CuiSettings:ReverseAndGetBoolean(k) 80 | local v = CuiSettings:GetBoolean(k) 81 | local value = v == false 82 | CuiSettings:SetBoolean(k, value) 83 | return value 84 | end 85 | 86 | -- CUI ----------------------------------------------------------------------- 87 | function CuiSettings:SetNumber(k, v) 88 | local key = CuiCompleteKey(k.field) 89 | local value = v 90 | PlayerConfigurations[Game.GetLocalPlayer()]:SetValue(key, value) 91 | end 92 | 93 | -- CUI ----------------------------------------------------------------------- 94 | function CuiSettings:GetNumber(k) 95 | local key = CuiCompleteKey(k.field) 96 | local value = PlayerConfigurations[Game.GetLocalPlayer()]:GetValue(key) 97 | if value ~= nil then 98 | return value 99 | else 100 | return k.default 101 | end 102 | end 103 | 104 | -- CUI ----------------------------------------------------------------------- 105 | function CuiSettings:SetString(k, s) 106 | local key = CuiCompleteKey(k.field) 107 | local value = tostring(s) 108 | PlayerConfigurations[Game.GetLocalPlayer()]:SetValue(key, value) 109 | end 110 | 111 | -- CUI ----------------------------------------------------------------------- 112 | function CuiSettings:GetString(k) 113 | local key = CuiCompleteKey(k.field) 114 | local value = PlayerConfigurations[Game.GetLocalPlayer()]:GetValue(key) 115 | if value ~= nil then 116 | return value 117 | else 118 | return k.default 119 | end 120 | end 121 | -------------------------------------------------------------------------------- /mod/lib/cui_update.lua: -------------------------------------------------------------------------------- 1 | CuiVersion = "1.6.2" 2 | LastUpdate = "2020-10-12" 3 | VersionDetail = "Concise UI - " .. CuiVersion .. "[NEWLINE]" .. "Last Update: " .. LastUpdate 4 | -------------------------------------------------------------------------------- /mod/lib/cui_utils.lua: -------------------------------------------------------------------------------- 1 | -- =========================================================================== 2 | -- cui_utils.lua 3 | -- =========================================================================== 4 | 5 | isExpansion1 = Modding.IsModActive("1B28771A-C749-434B-9053-D1380C553DE9") 6 | isExpansion2 = Modding.IsModActive("4873eb62-8ccc-4574-b784-dda455e74e68") 7 | 8 | -- CUI ----------------------------------------------------------------------- 9 | function printc(t, i) 10 | local n = i or "" 11 | if isNil(t) then 12 | print("Cui Print:", n, "nil") 13 | end 14 | 15 | if type(t) == "table" then 16 | local s = "-- Cui Print Table: " .. n .. " ================" 17 | print(s) 18 | for k, v in pairs(t) do 19 | print("-", k, v) 20 | end 21 | print("--") 22 | else 23 | print("Cui Print:", n, t) 24 | end 25 | end 26 | 27 | -- CUI ----------------------------------------------------------------------- 28 | function isNil(v) 29 | if type(v) == "table" then 30 | return v == nil or next(v) == nil 31 | elseif type(v) == "string" then 32 | return v == nil or v == "" 33 | else 34 | return v == nil 35 | end 36 | end 37 | 38 | -- CUI ----------------------------------------------------------------------- 39 | function SortedTable(t, f) 40 | local a = {} 41 | 42 | for n in pairs(t) do 43 | table.insert(a, n) 44 | end 45 | 46 | if f then 47 | table.sort( 48 | a, 49 | function(k1, k2) 50 | return f(t, k1, k2) 51 | end 52 | ) 53 | else 54 | table.sort(a) 55 | end 56 | 57 | local i = 0 58 | local iter = function() 59 | i = i + 1 60 | if a[i] == nil then 61 | return nil 62 | else 63 | return a[i], t[a[i]] 64 | end 65 | end 66 | return iter 67 | end 68 | 69 | -- CUI ----------------------------------------------------------------------- 70 | function CuiRegCallback(control, callbackLClick, callbackRClick, sound) 71 | if callbackLClick then 72 | control:RegisterCallback(Mouse.eLClick, callbackLClick) 73 | end 74 | if callbackRClick then 75 | if sound then 76 | control:RegisterCallback( 77 | Mouse.eRClick, 78 | function() 79 | callbackRClick() 80 | UI.PlaySound(sound) 81 | end 82 | ) 83 | else 84 | control:RegisterCallback( 85 | Mouse.eRClick, 86 | function() 87 | callbackRClick() 88 | UI.PlaySound("Play_UI_Click") 89 | end 90 | ) 91 | end 92 | end 93 | control:RegisterCallback( 94 | Mouse.eMouseEnter, 95 | function() 96 | UI.PlaySound("Main_Menu_Mouse_Over") 97 | end 98 | ) 99 | end 100 | 101 | -- CUI ----------------------------------------------------------------------- 102 | function CuiLeaderTexture(icon, size, shouldShow) 103 | local x, y, sheet 104 | x, y, sheet = IconManager:FindIconAtlas(icon, size) 105 | if (sheet == nil or sheet == "" or (not shouldShow)) then 106 | x, y, sheet = IconManager:FindIconAtlas("ICON_LEADER_DEFAULT", size) 107 | end 108 | return x, y, sheet 109 | end 110 | 111 | -- CUI ----------------------------------------------------------------------- 112 | function CuiSetIconToSize(iconControl, iconName, iconSize) 113 | if iconSize == nil then 114 | iconSize = 36 115 | end 116 | local x, y, szIconName, iconSize = IconManager:FindIconAtlasNearestSize(iconName, iconSize, true) 117 | iconControl:SetTexture(x, y, szIconName) 118 | iconControl:SetSizeVal(iconSize, iconSize) 119 | end 120 | 121 | -- CUI ----------------------------------------------------------------------- 122 | function CuiGetPlayerBasicData() 123 | local localPlayerID = Game.GetLocalPlayer() 124 | local localPlayer = Players[localPlayerID] 125 | local localDiplomacy = localPlayer:GetDiplomacy() 126 | 127 | local aliveMajors = PlayerManager.GetAliveMajors() 128 | table.sort( 129 | aliveMajors, 130 | function(a, b) 131 | return localDiplomacy:GetMetTurn(a:GetID()) < localDiplomacy:GetMetTurn(b:GetID()) 132 | end 133 | ) 134 | 135 | local playerData = {} 136 | local metPlayers, uniqueLeaders = GetMetPlayersAndUniqueLeaders() 137 | 138 | for _, pPlayer in ipairs(aliveMajors) do 139 | local playerID = pPlayer:GetID() 140 | local pPlayerConfig = PlayerConfigurations[playerID] 141 | playerData[playerID] = { 142 | playerID = playerID, 143 | isLocalPlayer = playerID == Game.GetLocalPlayer(), 144 | isHuman = GameConfiguration.IsAnyMultiplayer() and pPlayerConfig:IsHuman(), 145 | isMet = metPlayers[playerID], 146 | leaderName = pPlayerConfig:GetLeaderTypeName(), 147 | leaderIcon = "ICON_" .. pPlayerConfig:GetLeaderTypeName() 148 | } 149 | end 150 | 151 | return playerData 152 | end 153 | -------------------------------------------------------------------------------- /mod/localization/cui_en_us.sql: -------------------------------------------------------------------------------- 1 | -- ============================================================================= 2 | -- CUI Ingame Text - [English] by [eudaimonia] 3 | -- ============================================================================= 4 | 5 | INSERT OR REPLACE INTO LocalizedText (Language, Tag, Text) VALUES 6 | 7 | -- ============================================================================= 8 | -- City Panel 9 | ("en_US", "LOC_CUI_CP_MANAGE_CITIZENS_TILES", "Manage Citizens and Tiles"), 10 | 11 | -- ============================================================================= 12 | -- City States Panel 13 | ("en_US", "LOC_CUI_CSP_ENVOYS_SUZERAIN", "Envoys Sent: {1_num}, Suzerain of: {2_num}"), 14 | 15 | -- ============================================================================= 16 | -- Deal Panel 17 | ("en_US", "LOC_CUI_DP_GOLD_EDIT_TOOLTIP", "L-Click Add, R-Click Subtract"), 18 | ("en_US", "LOC_CUI_DP_THEY_HAVE_ITEM_TOOLTIP", "They already have"), 19 | ("en_US", "LOC_CUI_DP_WE_HAVE_ITEM_TOOLTIP", "We already have"), 20 | ("en_US", "LOC_CUI_DP_WE_HAVE_ONLY_ONE_TOOLTIP", "We only have one"), 21 | 22 | -- ============================================================================= 23 | -- Diplomatic Banner 24 | ("en_US", "LOC_CUI_DB_CITY", "Cities: {1_num}"), 25 | ("en_US", "LOC_CUI_DB_RELIGION", "Religion: {1_name}"), 26 | ("en_US", "LOC_CUI_DB_NONE", "None"), 27 | ("en_US", "LOC_CUI_DB_PEACE_DEAL_AVAILABLE", "[Peace Deal is Available]"), 28 | ("en_US", "LOC_CUI_DB_PEACE_DEAL_NOT_AVAILABLE", "[Peace Deal: {1_Remaining}[ICON_TURN]]"), 29 | ("en_US", "LOC_CUI_DB_RELATIONSHIP", "Relationship: {1_Relationship}"), 30 | ("en_US", "LOC_CUI_DB_GRIEVANCES_NONE", "No Grievances"), 31 | ("en_US", "LOC_CUI_DB_GRIEVANCES", "Grievances: {1_Grievances}"), 32 | ("en_US", "LOC_CUI_DB_THEY_CAN_OFFER", "They can offer:"), 33 | ("en_US", "LOC_CUI_DB_WE_CAN_OFFER", "We can offer:"), 34 | ("en_US", "LOC_CUI_DB_GOLD", "Gold:"), 35 | ("en_US", "LOC_CUI_DB_GOLD_AND_FAVOR", "Gold and Diplomatic Favors:"), 36 | ("en_US", "LOC_CUI_DB_SCORE_AND_YIELDS", "Score and Yields:"), 37 | ("en_US", "LOC_CUI_DB_MARS_PROJECT", "Mars Colony: {1_progress} {2_progress} {3_progress}"), 38 | ("en_US", "LOC_CUI_DB_EXOPLANET_EXPEDITION", "Exoplanet Expedition: {1_progress}{2_progress}{3_progress}{4_progress}{5_progress}"), 39 | ("en_US", "LOC_CUI_DB_VISITING_TOURISTS", "Visiting Tourists: {1_num} / {2_total}"), 40 | ("en_US", "LOC_CUI_DB_CAPITALS_CAPTURED", "Capitals Captured: {1_num}"), 41 | ("en_US", "LOC_CUI_DB_CIVS_CONVERTED", "Civilizations Converted: {1_num} / {2_total}"), 42 | ("en_US", "LOC_CUI_DB_DIPLOMATIC_POINT", "Diplomatic Victory Point: {1_num} / {2_total}"), 43 | 44 | -- ============================================================================= 45 | -- Minimap Panel 46 | ("en_US", "LOC_CUI_MP_SHOW_DISTRICTS_TOOLTIP", "Show Districts Icons"), 47 | ("en_US", "LOC_CUI_MP_SHOW_WONDERS_TOOLTIP", "Show Wonders Icons"), 48 | ("en_US", "LOC_CUI_MP_AUTONAMING", "Naming"), 49 | ("en_US", "LOC_CUI_MP_AUTONAMING_TOOLTIP", "Auto-naming pins"), 50 | ("en_US", "LOC_CUI_MO_SHOW_IMPROVED_RESOURCES", "Show Improved Resource Icons"), 51 | ("en_US", "LOC_CUI_MO_TOGGLE_IMPROVED_TOOLTIP", "Toggle Improved Resource Icons"), 52 | ("en_US", "LOC_CUI_MO_SHOW_UNIT_FLAGS", "Show Unit Flags"), 53 | ("en_US", "LOC_CUI_MP_TOGGLE_UNIT_FLAGS_TOOLTIP", "Toggle Unit Flags"), 54 | ("en_US", "LOC_CUI_MO_SHOW_CITY_BANNERS", "Show City Banners"), 55 | ("en_US", "LOC_CUI_MP_TOGGLE_CITY_BANNERS_TOOLTIP", "Toggle City Banners"), 56 | ("en_US", "LOC_CUI_MO_SHOW_TRADERS", "Show Traders"), 57 | ("en_US", "LOC_CUI_MP_TOGGLE_TRADERS_TOOLTIP", "Toggle Trader Flags"), 58 | ("en_US", "LOC_CUI_MO_SHOW_RELIGIONS", "Show Religion Units"), 59 | ("en_US", "LOC_CUI_MP_TOGGLE_RELIGIONS_TOOLTIP", "Toggle Religion Flags"), 60 | 61 | -- ============================================================================= 62 | -- SpyInfo 63 | ("en_US", "LOC_CUI_SI_SPY_AVAILABLE", "{1_num} [ICON_Unit] {1_num : plural 1?Spy; other?Spies;} available"), 64 | ("en_US", "LOC_CUI_SI_SPY_CAPACITY", "{1_num} [ICON_Unit] {1_num : plural 1?Spy; other?Spies;} capacity"), 65 | 66 | -- ============================================================================= 67 | -- World Tracker 68 | ("en_US", "LOC_CUI_WT_GOSSIP_LOG", "Gossip Log"), 69 | ("en_US", "LOC_CUI_WT_COMBAT_LOG", "Combat Log"), 70 | 71 | -- ============================================================================= 72 | -- Production Panel 73 | ("en_US", "LOC_CUI_PP_QUEUE_DEFAULT", "Use Queue By Default"), 74 | 75 | -- ============================================================================= 76 | -- Great Works 77 | ("en_US", "LOC_CUI_GW_SORT_BY_CITY", "Sort By City"), 78 | ("en_US", "LOC_CUI_GW_SORT_BY_BUILDING", "Sort By Building"), 79 | ("en_US", "LOC_CUI_GW_THEMING_HELPER", "Theming Helper"), 80 | ("en_US", "LOC_CUI_GW_THEMING_HELPER_TOOLTIP", "Pick three Great Works / Artifacts of the same color and different numbers to complete a theme."), 81 | 82 | -- ============================================================================= 83 | -- Notes 84 | ("en_US", "LOC_CUI_NOTES", "Notes"), 85 | ("en_US", "LOC_CUI_NOTE_LAST_EDIT", "[ Turn: {1_num} ]"), 86 | ("en_US", "LOC_CUI_NOTE_EMPTY", "Empty Note"), 87 | 88 | -- ============================================================================= 89 | -- Options 90 | ("en_US", "LOC_CUI_OPTIONS_TAB_VICTORY", "Victories"), 91 | ("en_US", "LOC_CUI_OPTIONS_TAB_LOG", "Logs"), 92 | ("en_US", "LOC_CUI_OPTIONS_TAB_POPUP", "Popups"), 93 | ("en_US", "LOC_CUI_OPTIONS_TAB_REMIND", "Remind"), 94 | -- 95 | ("en_US", "LOC_CUI_OPTIONS_DESC_VICTORY", "Please select the victory you want to track."), 96 | ("en_US", "LOC_CUI_OPTIONS_DESC_LOG", "Please select where the logs will be displayed."), 97 | ("en_US", "LOC_CUI_OPTIONS_DESC_POPUP", "Please select the popups you want to enable."), 98 | ("en_US", "LOC_CUI_OPTIONS_DESC_REMIND", "Please select the reminders you want to use."), 99 | ("en_US", "LOC_CUI_OPTIONS_DESC_SPEED", "Please select quick combat & movement objects."), 100 | -- 101 | ("en_US", "LOC_CUI_OPTIONS_LOG_SHOW_NONE", "Disable"), 102 | ("en_US", "LOC_CUI_OPTIONS_LOG_DEFAULT", "Default position"), 103 | ("en_US", "LOC_CUI_OPTIONS_LOG_WORLDTRACKER", "World Tracker"), 104 | ("en_US", "LOC_CUI_OPTIONS_LOG_BOTH", "Both"), 105 | -- 106 | ("en_US", "LOC_CUI_OPTIONS_POPUP_RESEARCH", "Tech/Civic complete"), 107 | ("en_US", "LOC_CUI_OPTIONS_POPUP_AUDIO", "Tech/Civic audio"), 108 | ("en_US", "LOC_CUI_OPTIONS_POPUP_ERA_SCORE", "Gain era score"), 109 | ("en_US", "LOC_CUI_OPTIONS_POPUP_GREAT_WORK", "Create great works"), 110 | ("en_US", "LOC_CUI_OPTIONS_POPUP_RELIC", "Get relics"), 111 | -- 112 | ("en_US", "LOC_CUI_OPTIONS_REMIND_TECH", "Tech complete by eureka"), 113 | ("en_US", "LOC_CUI_OPTIONS_REMIND_CIVIC", "Civic complete by inspire"), 114 | ("en_US", "LOC_CUI_OPTIONS_REMIND_GOVERNMENT", "Free government chance"), 115 | ("en_US", "LOC_CUI_OPTIONS_REMIND_GOVERNOR", "Governor titles available"), 116 | -- 117 | ("en_US", "LOC_CUI_OPTIONS_QUICK_COMBAT", "Quick Combat"), 118 | ("en_US", "LOC_CUI_OPTIONS_QUICK_MOVEMENT", "Quick Movement"), 119 | ("en_US", "LOC_CUI_OPTIONS_SPEED_PLAYER_ONLY", "Player Only"), 120 | ("en_US", "LOC_CUI_OPTIONS_SPEED_AI_ONLY", "AI Only"), 121 | 122 | -- ============================================================================= 123 | -- Screenshot 124 | ("en_US", "LOC_CUI_SCREENSHOT_TOOLTIP", "Enter Screenshot Mode[NEWLINE][NEWLINE]Screenshot Mode will hide most or all UI Elements, allows you to take clean screenshots.[NEWLINE][NEWLINE]Left-click hide all UI Elements[NEWLINE]Right-click hide all UI Elements except for City Banners[NEWLINE]Hold ALT to rotate the screen[NEWLINE]Press ESC to exit Screenshot Mode"), 125 | 126 | -- ============================================================================= 127 | ("en_US", "LOC_CUI_COLON", ": "); 128 | -- EOF 129 | -------------------------------------------------------------------------------- /mod/localization/cui_ja_jp.sql: -------------------------------------------------------------------------------- 1 | -- ============================================================================= 2 | -- CUI Ingame Text - [Japanese] by [J4A] 2/17/2019 3 | -- ============================================================================= 4 | 5 | INSERT OR REPLACE INTO LocalizedText (Language, Tag, Text) VALUES 6 | 7 | -- ============================================================================= 8 | -- City Panel 9 | ("ja_JP", "LOC_CUI_CP_MANAGE_CITIZENS_TILES", "市民とタイルを管理"), 10 | 11 | -- ============================================================================= 12 | -- City States Panel 13 | ("ja_JP", "LOC_CUI_CSP_ENVOYS_SUZERAIN", "代表団: {1_num} / 宗主国: {2_num}"), 14 | 15 | -- ============================================================================= 16 | -- Deal Panel 17 | ("ja_JP", "LOC_CUI_DP_GOLD_EDIT_TOOLTIP", "左クリックで追加 / 右クリックで撤回"), 18 | ("ja_JP", "LOC_CUI_DP_THEY_HAVE_ITEM_TOOLTIP", "相手が所有している"), 19 | ("ja_JP", "LOC_CUI_DP_WE_HAVE_ITEM_TOOLTIP", "自分が所有している"), 20 | ("ja_JP", "LOC_CUI_DP_WE_HAVE_ONLY_ONE_TOOLTIP", "1つしか所有していない"), 21 | 22 | -- ============================================================================= 23 | -- Diplomatic Banner 24 | ("ja_JP", "LOC_CUI_DB_CITY", "都市: {1_num}"), 25 | ("ja_JP", "LOC_CUI_DB_RELIGION", "宗教を創始: {1_name}"), 26 | ("ja_JP", "LOC_CUI_DB_NONE", "なし"), 27 | ("ja_JP", "LOC_CUI_DB_PEACE_DEAL_AVAILABLE", "[和平可能]"), 28 | ("ja_JP", "LOC_CUI_DB_PEACE_DEAL_NOT_AVAILABLE", "[和平可能: {1_Remaining}[ICON_TURN]]"), 29 | ("ja_JP", "LOC_CUI_DB_RELATIONSHIP", "関係: {1_Relationship}"), 30 | ("ja_JP", "LOC_CUI_DB_GRIEVANCES_NONE", "不平はありません"), 31 | ("ja_JP", "LOC_CUI_DB_GRIEVANCES", "不平: {1_Grievances}"), 32 | ("ja_JP", "LOC_CUI_DB_THEY_CAN_OFFER", "相手が提供できる品目: "), 33 | ("ja_JP", "LOC_CUI_DB_WE_CAN_OFFER", "自分が提供できる品目: "), 34 | ("ja_JP", "LOC_CUI_DB_GOLD", "ゴールド: "), 35 | ("ja_JP", "LOC_CUI_DB_GOLD_AND_FAVOR", "ゴールドと外交的支持: "), 36 | ("ja_JP", "LOC_CUI_DB_SCORE_AND_YIELDS", "スコアと産出量: "), 37 | ("ja_JP", "LOC_CUI_DB_MARS_PROJECT", "科学勝利: {1_progress} {2_progress} {3_progress}"), 38 | ("ja_JP", "LOC_CUI_DB_EXOPLANET_EXPEDITION", "科学勝利: {1_progress}{2_progress}{3_progress}{4_progress}{5_progress}"), 39 | ("ja_JP", "LOC_CUI_DB_VISITING_TOURISTS", "文化勝利: {1_num} / {2_total}"), 40 | ("ja_JP", "LOC_CUI_DB_CAPITALS_CAPTURED", "制覇勝利: {1_num}"), 41 | ("ja_JP", "LOC_CUI_DB_CIVS_CONVERTED", "宗教勝利: {1_num} / {2_total}"), 42 | ("ja_JP", "LOC_CUI_DB_DIPLOMATIC_POINT", "外交勝利: {1_num} / {2_total}"), 43 | 44 | -- ============================================================================= 45 | -- Minimap Panel 46 | ("ja_JP", "LOC_CUI_MP_SHOW_DISTRICTS_TOOLTIP", "区域のアイコンを表示"), 47 | ("ja_JP", "LOC_CUI_MP_SHOW_WONDERS_TOOLTIP", "遺産のアイコンを表示"), 48 | ("ja_JP", "LOC_CUI_MP_AUTONAMING", "命名"), 49 | ("ja_JP", "LOC_CUI_MP_AUTONAMING_TOOLTIP", "ピンの名前を自動で追加する"), 50 | ("ja_JP", "LOC_CUI_MO_SHOW_IMPROVED_RESOURCES", "改善済み資源のアイコンを表示"), 51 | ("ja_JP", "LOC_CUI_MO_TOGGLE_IMPROVED_TOOLTIP", "改善済み資源アイコンの切り替え"), 52 | ("ja_JP", "LOC_CUI_MO_SHOW_UNIT_FLAGS", "ユニットアイコンを表示"), 53 | ("ja_JP", "LOC_CUI_MP_TOGGLE_UNIT_FLAGS_TOOLTIP", "ユニットアイコンの切り替え"), 54 | ("ja_JP", "LOC_CUI_MO_SHOW_CITY_BANNERS", "都市バナーを表示"), 55 | ("ja_JP", "LOC_CUI_MP_TOGGLE_CITY_BANNERS_TOOLTIP", "都市バナーの切り替え"), 56 | ("ja_JP", "LOC_CUI_MO_SHOW_TRADERS", "交易商アイコンを表示"), 57 | ("ja_JP", "LOC_CUI_MP_TOGGLE_TRADERS_TOOLTIP", "交易商アイコンの切り替え"), 58 | ("ja_JP", "LOC_CUI_MO_SHOW_RELIGIONS", "宗教ユニットを表示"), 59 | ("ja_JP", "LOC_CUI_MP_TOGGLE_RELIGIONS_TOOLTIP", "宗教表示の切り替え"), 60 | 61 | -- ============================================================================= 62 | -- Top Panel 63 | ("ja_JP", "LOC_CUI_SI_SPY_AVAILABLE", "[ICON_Unit]スパイ待機中: {1_num}"), 64 | ("ja_JP", "LOC_CUI_SI_SPY_CAPACITY", "[ICON_Unit]スパイ保有枠: {1_num}"), 65 | 66 | -- ============================================================================= 67 | -- World Tracker 68 | ("ja_JP", "LOC_CUI_WT_GOSSIP_LOG", "ゴシップログ"), 69 | ("ja_JP", "LOC_CUI_WT_COMBAT_LOG", "戦闘ログ"), 70 | ("ja_JP", "LOC_CUI_WT_PERSIST", "ログを保存"), 71 | ("ja_JP", "LOC_CUI_WT_PERSIST_TOOLTIP", "ターン間でゴシップログを消去しないでください。"), 72 | ("ja_JP", "LOC_CUI_WT_CLOG_PERSIST_TOOLTIP", "ターン間の戦闘ログをクリアしないでください。"), 73 | 74 | -- ============================================================================= 75 | -- Production Panel 76 | ("ja_JP", "LOC_CUI_PP_QUEUE_DEFAULT", "デフォルトで生産キューを使用"), 77 | 78 | -- ============================================================================= 79 | -- Great Works 80 | ("ja_JP", "LOC_CUI_GW_SORT_BY_CITY", "都市で並べ替え"), 81 | ("ja_JP", "LOC_CUI_GW_SORT_BY_BUILDING", "建造物で並べ替え"), 82 | ("ja_JP", "LOC_CUI_GW_THEMING_HELPER", "テーマ化のヒント"), 83 | ("ja_JP", "LOC_CUI_GW_THEMING_HELPER_TOOLTIP", "傑作を3つ選択 / 同じ色の遺物と異なる数字でテーマ化達成"), 84 | 85 | -- ============================================================================= 86 | -- Notes 87 | ("ja_JP", "LOC_CUI_NOTES", "ノート"), 88 | ("ja_JP", "LOC_CUI_NOTE_LAST_EDIT", "[ ターン: {1_num} ]"), 89 | ("ja_JP", "LOC_CUI_NOTE_EMPTY", "空白"), 90 | 91 | -- ============================================================================= 92 | -- Options 93 | ("ja_JP", "LOC_CUI_OPTIONS_TAB_VICTORY", "勝利"), 94 | ("ja_JP", "LOC_CUI_OPTIONS_TAB_LOG", "ログ"), 95 | ("ja_JP", "LOC_CUI_OPTIONS_TAB_POPUP", "ポップアップ"), 96 | ("ja_JP", "LOC_CUI_OPTIONS_TAB_REMIND", "リマインド"), 97 | -- 98 | ("ja_JP", "LOC_CUI_OPTIONS_DESC_VICTORY", "確認したい勝利条件を選択"), 99 | ("ja_JP", "LOC_CUI_OPTIONS_DESC_LOG", "表示したいログを選択"), 100 | ("ja_JP", "LOC_CUI_OPTIONS_DESC_POPUP", "有効にしたいポップアップを選択"), 101 | ("ja_JP", "LOC_CUI_OPTIONS_DESC_REMIND", "利用したいリマインダーを選択"), 102 | ("ja_JP", "LOC_CUI_OPTIONS_DESC_SPEED", "クイック戦闘・移動の対象を選択"), 103 | -- 104 | ("ja_JP", "LOC_CUI_OPTIONS_LOG_SHOW_NONE", "無効"), 105 | ("ja_JP", "LOC_CUI_OPTIONS_LOG_DEFAULT", "デフォルト"), 106 | ("ja_JP", "LOC_CUI_OPTIONS_LOG_WORLDTRACKER", "ワールドトラッカー"), 107 | ("ja_JP", "LOC_CUI_OPTIONS_LOG_BOTH", "両方"), 108 | -- 109 | ("ja_JP", "LOC_CUI_OPTIONS_POPUP_RESEARCH", "技術/社会制度の取得"), 110 | ("ja_JP", "LOC_CUI_OPTIONS_POPUP_AUDIO", "技術/社会制度の音声"), 111 | ("ja_JP", "LOC_CUI_OPTIONS_POPUP_ERA_SCORE", "時代スコアの獲得"), 112 | ("ja_JP", "LOC_CUI_OPTIONS_POPUP_GREAT_WORK", "傑作の誕生"), 113 | ("ja_JP", "LOC_CUI_OPTIONS_POPUP_RELIC", "遺物の獲得"), 114 | -- 115 | ("ja_JP", "LOC_CUI_OPTIONS_REMIND_TECH", "ひらめきで技術取得"), 116 | ("ja_JP", "LOC_CUI_OPTIONS_REMIND_CIVIC", "天啓で社会制度取得"), 117 | ("ja_JP", "LOC_CUI_OPTIONS_REMIND_GOVERNMENT", "政府が変更可能"), 118 | ("ja_JP", "LOC_CUI_OPTIONS_REMIND_GOVERNOR", "総督の称号が利用可能"), 119 | -- 120 | ("ja_JP", "LOC_CUI_OPTIONS_QUICK_COMBAT", "クイック戦闘"), 121 | ("ja_JP", "LOC_CUI_OPTIONS_QUICK_MOVEMENT", "クイック移動"), 122 | ("ja_JP", "LOC_CUI_OPTIONS_SPEED_PLAYER_ONLY", "プレイヤーのみ"), 123 | ("ja_JP", "LOC_CUI_OPTIONS_SPEED_AI_ONLY", "AIのみ"), 124 | 125 | -- ============================================================================= 126 | -- Screenshot 127 | ("ja_JP", "LOC_CUI_SCREENSHOT_TOOLTIP", "スクリーンショットモードに切り替え[NEWLINE][NEWLINE]ユーザーインターフェースの全部あるいは大半を隠す。[NEWLINE]障害物がないスクリーンショットの撮影に最適。[NEWLINE]このモードの間は回転したカメラの向きが固定される。[NEWLINE][NEWLINE]左クリック:ユーザーインターフェースを全て隠す。[NEWLINE]右クリック:都市バナー以外のユーザーインターフェースを隠す。[NEWLINE]ESC キー:スクリーンショットモードを終了する。"), 128 | 129 | -- ============================================================================= 130 | ("ja_JP", "LOC_CUI_COLON", ": "); 131 | -- EOF 132 | -------------------------------------------------------------------------------- /mod/localization/cui_ko_kr.sql: -------------------------------------------------------------------------------- 1 | -- ============================================================================= 2 | -- CUI Ingame Text - [Korean] by [firefanda] 3 | -- ============================================================================= 4 | 5 | INSERT OR REPLACE INTO LocalizedText (Language, Tag, Text) VALUES 6 | 7 | -- ============================================================================= 8 | -- City Panel 9 | ("ko_KR", "LOC_CUI_CP_MANAGE_CITIZENS_TILES", "시민 및 타일 관리"), 10 | 11 | -- ============================================================================= 12 | -- City States Panel 13 | ("ko_KR", "LOC_CUI_CSP_ENVOYS_SUZERAIN", "보낸 사절단: {1_num}명, 종주국: {2_num}"), 14 | 15 | -- ============================================================================= 16 | -- Deal Panel 17 | ("ko_KR", "LOC_CUI_DP_GOLD_EDIT_TOOLTIP", "좌클릭으로 증가, 우클릭으로 감소"), 18 | ("ko_KR", "LOC_CUI_DP_THEY_HAVE_ITEM_TOOLTIP", "상대방이 이 물품을 이미 가지고 있습니다."), 19 | ("ko_KR", "LOC_CUI_DP_WE_HAVE_ITEM_TOOLTIP", "우리는 이 물품을 이미 가지고 있습니다."), 20 | ("ko_KR", "LOC_CUI_DP_WE_HAVE_ONLY_ONE_TOOLTIP", "하나만 가지고 있는 사치 자원입니다."), 21 | 22 | -- ============================================================================= 23 | -- Diplomatic Banner 24 | ("ko_KR", "LOC_CUI_DB_CITY", "도시: {1_num}"), 25 | ("ko_KR", "LOC_CUI_DB_RELIGION", "종교: {1_name}"), 26 | ("ko_KR", "LOC_CUI_DB_NONE", "없음"), 27 | ("ko_KR", "LOC_CUI_DB_PEACE_DEAL_AVAILABLE", "[평화협상 가능]"), 28 | ("ko_KR", "LOC_CUI_DB_PEACE_DEAL_NOT_AVAILABLE", "[평화협상 까지 {1_Remaining}[ICON_TURN]턴 남음]"), 29 | ("ko_KR", "LOC_CUI_DB_RELATIONSHIP", "관계: {1_Relationship}"), 30 | ("ko_KR", "LOC_CUI_DB_GRIEVANCES_NONE", "적대감 없음"), 31 | ("ko_KR", "LOC_CUI_DB_GRIEVANCES", "적대감: {1_Grievances}"), 32 | ("ko_KR", "LOC_CUI_DB_THEY_CAN_OFFER", "거래요구 가능:"), 33 | ("ko_KR", "LOC_CUI_DB_WE_CAN_OFFER", "거래제안 가능:"), 34 | ("ko_KR", "LOC_CUI_DB_GOLD", "금:"), 35 | ("ko_KR", "LOC_CUI_DB_GOLD_AND_FAVOR", "화폐:"), 36 | ("ko_KR", "LOC_CUI_DB_SCORE_AND_YIELDS", "점수 및 생산량:"), 37 | ("ko_KR", "LOC_CUI_DB_MARS_PROJECT", "화성 이주지: {1_progress} {2_progress} {3_progress}"), 38 | ("ko_KR", "LOC_CUI_DB_EXOPLANET_EXPEDITION", "외계 행성 탐험대: {1_progress}{2_progress}{3_progress}{4_progress}{5_progress}"), 39 | ("ko_KR", "LOC_CUI_DB_VISITING_TOURISTS", "관광객 방문: {1_num} / {2_total}"), 40 | ("ko_KR", "LOC_CUI_DB_CAPITALS_CAPTURED", "점령한 수도: {1_num}"), 41 | ("ko_KR", "LOC_CUI_DB_CIVS_CONVERTED", "개종된 도시: {1_num} / {2_total}"), 42 | ("ko_KR", "LOC_CUI_DB_DIPLOMATIC_POINT", "외교 승리 점수: {1_num} / {2_total}"), 43 | 44 | -- ============================================================================= 45 | -- Minimap Panel 46 | ("ko_KR", "LOC_CUI_MP_SHOW_DISTRICTS_TOOLTIP", "특수지구 아이콘 표시"), 47 | ("ko_KR", "LOC_CUI_MP_SHOW_WONDERS_TOOLTIP", "불가사의 아이콘 표시"), 48 | ("ko_KR", "LOC_CUI_MP_AUTONAMING", "이름"), 49 | ("ko_KR", "LOC_CUI_MP_AUTONAMING_TOOLTIP", "자동 이름 명명"), 50 | ("ko_KR", "LOC_CUI_MO_SHOW_IMPROVED_RESOURCES", "개선된 자원 아이콘 보기"), 51 | ("ko_KR", "LOC_CUI_MO_TOGGLE_IMPROVED_TOOLTIP", "개선된 자원 아이콘 전환"), 52 | ("ko_KR", "LOC_CUI_MO_SHOW_UNIT_FLAGS", "유닛 아이콘 보기"), 53 | ("ko_KR", "LOC_CUI_MP_TOGGLE_UNIT_FLAGS_TOOLTIP", "유닛 아이콘 전환"), 54 | ("ko_KR", "LOC_CUI_MO_SHOW_CITY_BANNERS", "도시 배너 보기"), 55 | ("ko_KR", "LOC_CUI_MP_TOGGLE_CITY_BANNERS_TOOLTIP", "도시 배너 전환"), 56 | ("ko_KR", "LOC_CUI_MO_SHOW_TRADERS", "상인 아이콘 보기"), 57 | ("ko_KR", "LOC_CUI_MP_TOGGLE_TRADERS_TOOLTIP", "상인 아이콘 보기"), 58 | ("ko_KR", "LOC_CUI_MO_SHOW_RELIGIONS", "종교 유닛 보기"), 59 | ("ko_KR", "LOC_CUI_MP_TOGGLE_RELIGIONS_TOOLTIP", "종교 아이콘 전환"), 60 | 61 | -- ============================================================================= 62 | -- SpyInfo 63 | ("ko_KR", "LOC_CUI_SI_SPY_AVAILABLE", "현재 활동 중인 [ICON_Unit]스파이: {1_num}명"), 64 | ("ko_KR", "LOC_CUI_SI_SPY_CAPACITY", "활동 가능한 [ICON_Unit]스파이: {1_num}명"), 65 | 66 | -- ============================================================================= 67 | -- World Tracker 68 | ("ko_KR", "LOC_CUI_WT_GOSSIP_LOG", "가십 로그"), 69 | ("ko_KR", "LOC_CUI_WT_COMBAT_LOG", "전투 로그"), 70 | 71 | -- ============================================================================= 72 | -- Production Panel 73 | ("ko_KR", "LOC_CUI_PP_QUEUE_DEFAULT", "기본적으로 큐를 사용"), 74 | 75 | -- ============================================================================= 76 | -- Great Works 77 | ("ko_KR", "LOC_CUI_GW_SORT_BY_CITY", "도시 순 정렬"), 78 | ("ko_KR", "LOC_CUI_GW_SORT_BY_BUILDING", "건물 순 정렬"), 79 | ("ko_KR", "LOC_CUI_GW_THEMING_HELPER", "테마 도우미"), 80 | ("ko_KR", "LOC_CUI_GW_THEMING_HELPER_TOOLTIP", "같은 색과 숫자가 다른 세가지의 걸작을 배치하여 테마를 완성하세요."), 81 | 82 | -- ============================================================================= 83 | -- Notes 84 | ("ko_KR", "LOC_CUI_NOTES", "노트"), 85 | ("ko_KR", "LOC_CUI_NOTE_LAST_EDIT", "[ {1_num}턴에 수정됨 ]"), 86 | ("ko_KR", "LOC_CUI_NOTE_EMPTY", "비어있는 노트"), 87 | 88 | -- ============================================================================= 89 | -- Options 90 | ("ko_KR", "LOC_CUI_OPTIONS_TAB_VICTORY", "승리"), 91 | ("ko_KR", "LOC_CUI_OPTIONS_TAB_LOG", "로그"), 92 | ("ko_KR", "LOC_CUI_OPTIONS_TAB_POPUP", "팝업"), 93 | ("ko_KR", "LOC_CUI_OPTIONS_TAB_REMIND", "리마인드"), 94 | -- 95 | ("ko_KR", "LOC_CUI_OPTIONS_DESC_VICTORY", "추적할 승리 유형을 선택해주세요."), 96 | ("ko_KR", "LOC_CUI_OPTIONS_DESC_LOG", "표시할 로그를 선택해주세요."), 97 | ("ko_KR", "LOC_CUI_OPTIONS_DESC_POPUP", "표시할 팝업을 선택해주세요."), 98 | ("ko_KR", "LOC_CUI_OPTIONS_DESC_REMIND", "리마인드가 필요한 내용을 선택해주세요."), 99 | ("ko_KR", "LOC_CUI_OPTIONS_DESC_SPEED", "빠른전투 혹은 빠른 이동 대상을 선택해주세요."), 100 | -- 101 | ("ko_KR", "LOC_CUI_OPTIONS_LOG_SHOW_NONE", "비활성화"), 102 | ("ko_KR", "LOC_CUI_OPTIONS_LOG_DEFAULT", "기본 위치"), 103 | ("ko_KR", "LOC_CUI_OPTIONS_LOG_WORLDTRACKER", "월드 트래커"), 104 | ("ko_KR", "LOC_CUI_OPTIONS_LOG_BOTH", "모두"), 105 | -- 106 | ("ko_KR", "LOC_CUI_OPTIONS_POPUP_RESEARCH", "기술/사회정책 완료"), 107 | ("ko_KR", "LOC_CUI_OPTIONS_POPUP_AUDIO", "기술/사회정책 음성"), 108 | ("ko_KR", "LOC_CUI_OPTIONS_POPUP_ERA_SCORE", "시대 점수 획득"), 109 | ("ko_KR", "LOC_CUI_OPTIONS_POPUP_GREAT_WORK", "걸작 생성"), 110 | ("ko_KR", "LOC_CUI_OPTIONS_POPUP_RELIC", "성유물 획득"), 111 | -- 112 | ("ko_KR", "LOC_CUI_OPTIONS_REMIND_TECH", "유레카로 기술연구 완료"), 113 | ("ko_KR", "LOC_CUI_OPTIONS_REMIND_CIVIC", "영감으로 사회정책연구 완료"), 114 | ("ko_KR", "LOC_CUI_OPTIONS_REMIND_GOVERNMENT", "무료 정부 변경"), 115 | ("ko_KR", "LOC_CUI_OPTIONS_REMIND_GOVERNOR", "총독 타이틀 획득"), 116 | -- 117 | ("ko_KR", "LOC_CUI_OPTIONS_QUICK_COMBAT", "빠른 전투"), 118 | ("ko_KR", "LOC_CUI_OPTIONS_QUICK_MOVEMENT", "빠른 이동"), 119 | ("ko_KR", "LOC_CUI_OPTIONS_SPEED_PLAYER_ONLY", "플레이어 만"), 120 | ("ko_KR", "LOC_CUI_OPTIONS_SPEED_AI_ONLY", "AI 만"), 121 | 122 | -- ============================================================================= 123 | -- Screenshot 124 | ("ko_KR", "LOC_CUI_SCREENSHOT_TOOLTIP", "스크린샷 모드 실행[NEWLINE][NEWLINE]스크린샷 모드는 대부분의 UI 요소를 숨겨 깔끔한 스크린샷을 찍을 수 있습니다.[NEWLINE][NEWLINE]왼클릭으로 모든 UI 숨기기[NEWLINE][NEWLINE]우클릭으로 도시 배너를 제외한 모든 UI 숨기기[NEWLINE]Alt키로 화면 회전[NEWLINE]ESC키로 스크린샷 모드를 종료하세요."), 125 | 126 | -- ============================================================================= 127 | ("ko_KR", "LOC_CUI_COLON", ": "); 128 | -- EOF 129 | -------------------------------------------------------------------------------- /mod/localization/cui_pt_br.sql: -------------------------------------------------------------------------------- 1 | -- ============================================================================= 2 | -- CUI Ingame Text - [Português do Brasil] por [lucasjsoliveira] 3 | -- ============================================================================= 4 | 5 | INSERT OR REPLACE INTO LocalizedText (Language, Tag, Text) VALUES 6 | 7 | -- ============================================================================= 8 | -- City Panel 9 | ("pt_BR", "LOC_CUI_CP_MANAGE_CITIZENS_TILES", "Gerenciar cidadãos e painéis"), 10 | 11 | -- ============================================================================= 12 | -- City States Panel 13 | ("pt_BR", "LOC_CUI_CSP_ENVOYS_SUZERAIN", "Emissários enviados: {1_num}, Suserano de: {2_num}"), 14 | 15 | -- ============================================================================= 16 | -- Deal Panel 17 | ("pt_BR", "LOC_CUI_DP_GOLD_EDIT_TOOLTIP", "LMB Adiciona, RMB Subtrai"), 18 | ("pt_BR", "LOC_CUI_DP_THEY_HAVE_ITEM_TOOLTIP", "Eles possúem"), 19 | ("pt_BR", "LOC_CUI_DP_WE_HAVE_ITEM_TOOLTIP", "Nós possuímos"), 20 | ("pt_BR", "LOC_CUI_DP_WE_HAVE_ONLY_ONE_TOOLTIP", "Possuímos apenas um"), 21 | 22 | -- ============================================================================= 23 | -- Diplomatic Banner 24 | ("pt_BR", "LOC_CUI_DB_CITY", "Cidades: {1_num}"), 25 | ("pt_BR", "LOC_CUI_DB_RELIGION", "Religião: {1_name}"), 26 | ("pt_BR", "LOC_CUI_DB_NONE", "Nenhum"), 27 | ("pt_BR", "LOC_CUI_DB_PEACE_DEAL_AVAILABLE", "[Tratado de paz disponível]"), 28 | ("pt_BR", "LOC_CUI_DB_PEACE_DEAL_NOT_AVAILABLE", "[Tratado de Paz: {1_Remaining}[ICON_TURN]]"), 29 | ("pt_BR", "LOC_CUI_DB_RELATIONSHIP", "Relação: {1_Relationship}"), 30 | ("pt_BR", "LOC_CUI_DB_GRIEVANCES_NONE", "Sem queixas"), 31 | ("pt_BR", "LOC_CUI_DB_GRIEVANCES", "Queixas: {1_Grievances}"), 32 | ("pt_BR", "LOC_CUI_DB_THEY_CAN_OFFER", "Ofertas deles:"), 33 | ("pt_BR", "LOC_CUI_DB_WE_CAN_OFFER", "Ofertas nossas:"), 34 | ("pt_BR", "LOC_CUI_DB_GOLD", "Ouro:"), 35 | ("pt_BR", "LOC_CUI_DB_GOLD_AND_FAVOR", "Ouro e Favores Diplomáticos:"), 36 | ("pt_BR", "LOC_CUI_DB_SCORE_AND_YIELDS", "Pontuação e recursos:"), 37 | ("pt_BR", "LOC_CUI_DB_MARS_PROJECT", "Colônia em Marte: {1_progress} {2_progress} {3_progress}"), 38 | ("pt_BR", "LOC_CUI_DB_EXOPLANET_EXPEDITION", "Expedição Extraplanetária: {1_progress}{2_progress}{3_progress}{4_progress}{5_progress}"), 39 | ("pt_BR", "LOC_CUI_DB_VISITING_TOURISTS", "Turista: {1_num} / {2_total}"), 40 | ("pt_BR", "LOC_CUI_DB_CAPITALS_CAPTURED", "Capitais Capturadas: {1_num}"), 41 | ("pt_BR", "LOC_CUI_DB_CIVS_CONVERTED", "Civilizações Convertidas: {1_num} / {2_total}"), 42 | ("pt_BR", "LOC_CUI_DB_DIPLOMATIC_POINT", "Pontos de vitória diplomática: {1_num} / {2_total}"), 43 | 44 | -- ============================================================================= 45 | -- Minimap Panel 46 | ("pt_BR", "LOC_CUI_MP_SHOW_DISTRICTS_TOOLTIP", "Exibir ícones de distritos"), 47 | ("pt_BR", "LOC_CUI_MP_SHOW_WONDERS_TOOLTIP", "Exibir ícones de Maravilhas"), 48 | ("pt_BR", "LOC_CUI_MP_AUTONAMING", "Nomenclaturas"), 49 | ("pt_BR", "LOC_CUI_MP_AUTONAMING_TOOLTIP", "Auto-nomeação"), 50 | ("pt_BR", "LOC_CUI_MO_SHOW_IMPROVED_RESOURCES", "Exibir ícones de recurso aprimorados"), 51 | ("pt_BR", "LOC_CUI_MO_TOGGLE_IMPROVED_TOOLTIP", "Alternar ícones de recurso aprimorados"), 52 | ("pt_BR", "LOC_CUI_MO_SHOW_UNIT_FLAGS", "Exibir bandeiras de unidades"), 53 | ("pt_BR", "LOC_CUI_MP_TOGGLE_UNIT_FLAGS_TOOLTIP", "Alternar bandeiras de unidades"), 54 | ("pt_BR", "LOC_CUI_MO_SHOW_CITY_BANNERS", "Exibir bandeiras de cidades"), 55 | ("pt_BR", "LOC_CUI_MP_TOGGLE_CITY_BANNERS_TOOLTIP", "Alternar bandeiras de cidades"), 56 | ("pt_BR", "LOC_CUI_MO_SHOW_TRADERS", "Exibir comerciantes"), 57 | ("pt_BR", "LOC_CUI_MP_TOGGLE_TRADERS_TOOLTIP", "Alternar bandeiras de comerciantes"), 58 | ("pt_BR", "LOC_CUI_MO_SHOW_RELIGIONS", "Exibir unidades de religião"), 59 | ("pt_BR", "LOC_CUI_MP_TOGGLE_RELIGIONS_TOOLTIP", "Alternar bandeiras de religião"), 60 | 61 | -- ============================================================================= 62 | -- SpyInfo 63 | ("pt_BR", "LOC_CUI_SI_SPY_AVAILABLE", "{1_num} [ICON_Unit] {1_num : plural 1?Espião disponíveis; other?Espiões disponíveis;}"), 64 | ("pt_BR", "LOC_CUI_SI_SPY_CAPACITY", "{1_num} [ICON_Unit] {1_num : plural 1?Espião; other?Espiões;} capacidade"), 65 | 66 | -- ============================================================================= 67 | -- World Tracker 68 | ("pt_BR", "LOC_CUI_WT_GOSSIP_LOG", "Registro de rumores"), 69 | ("pt_BR", "LOC_CUI_WT_COMBAT_LOG", "Registro de combate"), 70 | 71 | -- ============================================================================= 72 | -- Production Panel 73 | ("pt_BR", "LOC_CUI_PP_QUEUE_DEFAULT", "Usar fila por padrão"), 74 | 75 | -- ============================================================================= 76 | -- Great Works 77 | ("pt_BR", "LOC_CUI_GW_SORT_BY_CITY", "Ordenar por Cidade"), 78 | ("pt_BR", "LOC_CUI_GW_SORT_BY_BUILDING", "Ordenar por construção"), 79 | ("pt_BR", "LOC_CUI_GW_THEMING_HELPER", "Auxílio de Tema"), 80 | ("pt_BR", "LOC_CUI_GW_THEMING_HELPER_TOOLTIP", "Escolha três Grande Obras / Artefatos da mesma cor e números diferentes para completar um Tema."), 81 | 82 | -- ============================================================================= 83 | -- Notes 84 | ("pt_BR", "LOC_CUI_NOTES", "Notas"), 85 | ("pt_BR", "LOC_CUI_NOTE_LAST_EDIT", "[ Turn: {1_num} ]"), 86 | ("pt_BR", "LOC_CUI_NOTE_EMPTY", "Nota vazia"), 87 | 88 | -- ============================================================================= 89 | -- Options 90 | ("pt_BR", "LOC_CUI_OPTIONS_TAB_VICTORY", "Vitórias"), 91 | ("pt_BR", "LOC_CUI_OPTIONS_TAB_LOG", "Registros"), 92 | ("pt_BR", "LOC_CUI_OPTIONS_TAB_POPUP", "Popups"), 93 | ("pt_BR", "LOC_CUI_OPTIONS_TAB_REMIND", "Lembrar"), 94 | -- 95 | ("pt_BR", "LOC_CUI_OPTIONS_DESC_VICTORY", "Escolha a vitória que quer acompanhar."), 96 | ("pt_BR", "LOC_CUI_OPTIONS_DESC_LOG", "Escolha onde exibir os registros."), 97 | ("pt_BR", "LOC_CUI_OPTIONS_DESC_POPUP", "Escolha as popups a serem habilitadas."), 98 | ("pt_BR", "LOC_CUI_OPTIONS_DESC_REMIND", "Escolha os lembretes desejados."), 99 | ("pt_BR", "LOC_CUI_OPTIONS_DESC_SPEED", "Escolha combate rápido e objetos de movimento."), 100 | -- 101 | ("pt_BR", "LOC_CUI_OPTIONS_LOG_SHOW_NONE", "Desabilitar"), 102 | ("pt_BR", "LOC_CUI_OPTIONS_LOG_DEFAULT", "Posição padrão"), 103 | ("pt_BR", "LOC_CUI_OPTIONS_LOG_WORLDTRACKER", "Acompanhamento Global"), 104 | ("pt_BR", "LOC_CUI_OPTIONS_LOG_BOTH", "Ambos"), 105 | -- 106 | ("pt_BR", "LOC_CUI_OPTIONS_POPUP_RESEARCH", "Tecnologia/Cívico completo"), 107 | ("pt_BR", "LOC_CUI_OPTIONS_POPUP_AUDIO", "Som de Tecnologia/Cívico"), 108 | ("pt_BR", "LOC_CUI_OPTIONS_POPUP_ERA_SCORE", "Ganho de pontuação de era"), 109 | ("pt_BR", "LOC_CUI_OPTIONS_POPUP_GREAT_WORK", "Criação de Grandes Obras"), 110 | ("pt_BR", "LOC_CUI_OPTIONS_POPUP_RELIC", "Relíquias adquiridas"), 111 | -- 112 | ("pt_BR", "LOC_CUI_OPTIONS_REMIND_TECH", "Tecnologia completa por M. de Eureca"), 113 | ("pt_BR", "LOC_CUI_OPTIONS_REMIND_CIVIC", "Cívico completo por M. de Inspiração"), 114 | ("pt_BR", "LOC_CUI_OPTIONS_REMIND_GOVERNMENT", "Mudança de governo gratuita"), 115 | ("pt_BR", "LOC_CUI_OPTIONS_REMIND_GOVERNOR", "Títulos de governador disponíveis"), 116 | -- 117 | ("pt_BR", "LOC_CUI_OPTIONS_QUICK_COMBAT", "Combate rápido"), 118 | ("pt_BR", "LOC_CUI_OPTIONS_QUICK_MOVEMENT", "Movimento rápido"), 119 | ("pt_BR", "LOC_CUI_OPTIONS_SPEED_PLAYER_ONLY", "Apenas jogador"), 120 | ("pt_BR", "LOC_CUI_OPTIONS_SPEED_AI_ONLY", "Apenas IA"), 121 | 122 | -- ============================================================================= 123 | -- Screenshot 124 | ("pt_BR", "LOC_CUI_SCREENSHOT_TOOLTIP", "Entrar em Modo de Captura de Tela[NEWLINE][NEWLINE]O Modo de Captura oculta boa parte da UI, possibilitando capturas limpas.[NEWLINE][NEWLINE]LMB oculta todos os elementos de UI[NEWLINE]RMB oculta todos os elementos menos as bandeiras de cidade[NEWLINE]Segure ALT para rotacionar a câmera[NEWLINE]Pressione ESC para sair do modo de captura"), 125 | 126 | -- ============================================================================= 127 | ("pt_BR", "LOC_CUI_COLON", ": "); 128 | -- EOF 129 | -------------------------------------------------------------------------------- /mod/localization/cui_zh_cn.sql: -------------------------------------------------------------------------------- 1 | -- ============================================================================= 2 | -- CUI Ingame Text - [Simplified Chinese] by [eudaimonia] 3 | -- ============================================================================= 4 | 5 | INSERT OR REPLACE INTO LocalizedText (Language, Tag, Text) VALUES 6 | 7 | -- ============================================================================= 8 | -- City Panel 9 | ("zh_Hans_CN", "LOC_CUI_CP_MANAGE_CITIZENS_TILES", "市民与单元格管理"), 10 | 11 | -- ============================================================================= 12 | -- City States Panel 13 | ("zh_Hans_CN", "LOC_CUI_CSP_ENVOYS_SUZERAIN", "派遣使者:{1_num},宗主国:{2_num}"), 14 | 15 | -- ============================================================================= 16 | -- Deal Panel 17 | ("zh_Hans_CN", "LOC_CUI_DP_GOLD_EDIT_TOOLTIP", "左键增加,右键减少"), 18 | ("zh_Hans_CN", "LOC_CUI_DP_THEY_HAVE_ITEM_TOOLTIP", "他们已拥有"), 19 | ("zh_Hans_CN", "LOC_CUI_DP_WE_HAVE_ITEM_TOOLTIP", "我们已拥有"), 20 | ("zh_Hans_CN", "LOC_CUI_DP_WE_HAVE_ONLY_ONE_TOOLTIP", "我们仅有一份"), 21 | 22 | -- ============================================================================= 23 | -- Diplomatic Banner 24 | ("zh_Hans_CN", "LOC_CUI_DB_CITY", "城市:{1_num}"), 25 | ("zh_Hans_CN", "LOC_CUI_DB_RELIGION", "宗教:{1_name}"), 26 | ("zh_Hans_CN", "LOC_CUI_DB_NONE", "无"), 27 | ("zh_Hans_CN", "LOC_CUI_DB_PEACE_DEAL_AVAILABLE", "[和平协议可用]"), 28 | ("zh_Hans_CN", "LOC_CUI_DB_PEACE_DEAL_NOT_AVAILABLE", "[和平协议:{1_Remaining}[ICON_TURN]]"), 29 | ("zh_Hans_CN", "LOC_CUI_DB_RELATIONSHIP", "关系:{1_Relationship}"), 30 | ("zh_Hans_CN", "LOC_CUI_DB_GRIEVANCES_NONE", "无不满"), 31 | ("zh_Hans_CN", "LOC_CUI_DB_GRIEVANCES", "不满:{1_Grievances}"), 32 | ("zh_Hans_CN", "LOC_CUI_DB_THEY_CAN_OFFER", "他们可以提供:"), 33 | ("zh_Hans_CN", "LOC_CUI_DB_WE_CAN_OFFER", "我们可以提供:"), 34 | ("zh_Hans_CN", "LOC_CUI_DB_GOLD", "金币:"), 35 | ("zh_Hans_CN", "LOC_CUI_DB_GOLD_AND_FAVOR", "金币及外交支持:"), 36 | ("zh_Hans_CN", "LOC_CUI_DB_SCORE_AND_YIELDS", "分数及收益:"), 37 | ("zh_Hans_CN", "LOC_CUI_DB_MARS_PROJECT", "火星殖民进度:{1_progress} {2_progress} {3_progress}"), 38 | ("zh_Hans_CN", "LOC_CUI_DB_EXOPLANET_EXPEDITION", "系外行星探索:{1_progress}{2_progress}{3_progress}{4_progress}{5_progress}"), 39 | ("zh_Hans_CN", "LOC_CUI_DB_VISITING_TOURISTS", "国际游客数量:{1_num} / {2_total}"), 40 | ("zh_Hans_CN", "LOC_CUI_DB_CAPITALS_CAPTURED", "已占领的首都:{1_num}"), 41 | ("zh_Hans_CN", "LOC_CUI_DB_CIVS_CONVERTED", "已转化的文明:{1_num} / {2_total}"), 42 | ("zh_Hans_CN", "LOC_CUI_DB_DIPLOMATIC_POINT", "外交胜利点数:{1_num} / {2_total}"), 43 | 44 | -- ============================================================================= 45 | -- Minimap Panel 46 | ("zh_Hans_CN", "LOC_CUI_MP_SHOW_DISTRICTS_TOOLTIP", "显示区域图标"), 47 | ("zh_Hans_CN", "LOC_CUI_MP_SHOW_WONDERS_TOOLTIP", "显示奇观图标"), 48 | ("zh_Hans_CN", "LOC_CUI_MP_AUTONAMING", "自动命名"), 49 | ("zh_Hans_CN", "LOC_CUI_MP_AUTONAMING_TOOLTIP", "自动给地图导航命名"), 50 | ("zh_Hans_CN", "LOC_CUI_MO_SHOW_IMPROVED_RESOURCES", "显示已改良资源图标"), 51 | ("zh_Hans_CN", "LOC_CUI_MO_TOGGLE_IMPROVED_TOOLTIP", "开启/关闭已改良资源图标"), 52 | ("zh_Hans_CN", "LOC_CUI_MO_SHOW_UNIT_FLAGS", "显示单位图标"), 53 | ("zh_Hans_CN", "LOC_CUI_MP_TOGGLE_UNIT_FLAGS_TOOLTIP", "开启/关闭单位图标"), 54 | ("zh_Hans_CN", "LOC_CUI_MO_SHOW_CITY_BANNERS", "显示城市横幅"), 55 | ("zh_Hans_CN", "LOC_CUI_MP_TOGGLE_CITY_BANNERS_TOOLTIP", "开启/关闭城市横幅"), 56 | ("zh_Hans_CN", "LOC_CUI_MO_SHOW_TRADERS", "显示商人图标"), 57 | ("zh_Hans_CN", "LOC_CUI_MP_TOGGLE_TRADERS_TOOLTIP", "开启/关闭商人图标"), 58 | ("zh_Hans_CN", "LOC_CUI_MO_SHOW_RELIGIONS", "显示宗教单位图标"), 59 | ("zh_Hans_CN", "LOC_CUI_MP_TOGGLE_RELIGIONS_TOOLTIP", "开启/关闭宗教单位图标"), 60 | 61 | -- ============================================================================= 62 | -- SpyInfo 63 | ("zh_Hans_CN", "LOC_CUI_SI_SPY_AVAILABLE", "{1_num}名 [ICON_Unit] 间谍可用"), 64 | ("zh_Hans_CN", "LOC_CUI_SI_SPY_CAPACITY", "{1_num}名 [ICON_Unit] 间谍上限"), 65 | 66 | -- ============================================================================= 67 | -- World Tracker 68 | ("zh_Hans_CN", "LOC_CUI_WT_GOSSIP_LOG", "小道消息"), 69 | ("zh_Hans_CN", "LOC_CUI_WT_COMBAT_LOG", "战斗记录"), 70 | 71 | -- ============================================================================= 72 | -- Production Panel 73 | ("zh_Hans_CN", "LOC_CUI_PP_QUEUE_DEFAULT", "默认使用队列"), 74 | 75 | -- ============================================================================= 76 | -- Great Works 77 | ("zh_Hans_CN", "LOC_CUI_GW_SORT_BY_CITY", "按城市排序"), 78 | ("zh_Hans_CN", "LOC_CUI_GW_SORT_BY_BUILDING", "按建筑排序"), 79 | ("zh_Hans_CN", "LOC_CUI_GW_THEMING_HELPER", "主题化助手"), 80 | ("zh_Hans_CN", "LOC_CUI_GW_THEMING_HELPER_TOOLTIP", "选择同色不同数字的三个巨作/文物组成一个主题"), 81 | 82 | -- ============================================================================= 83 | -- Notes 84 | ("zh_Hans_CN", "LOC_CUI_NOTES", "备忘录"), 85 | ("zh_Hans_CN", "LOC_CUI_NOTE_LAST_EDIT", "[ 回合:{1_num} ]"), 86 | ("zh_Hans_CN", "LOC_CUI_NOTE_EMPTY", "无记录"), 87 | 88 | -- ============================================================================= 89 | -- Options 90 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_TAB_VICTORY", "胜利进度"), 91 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_TAB_LOG", "消息显示"), 92 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_TAB_POPUP", "弹窗设置"), 93 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_TAB_REMIND", "提示信息"), 94 | -- 95 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_DESC_VICTORY", "请选择需要追踪的胜利方式"), 96 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_DESC_LOG", "请选择消息的显示位置"), 97 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_DESC_POPUP", "请选择需要开启的弹窗"), 98 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_DESC_REMIND", "请选择需要开启的提示"), 99 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_DESC_SPEED", "请选择快速战斗和移动的对象"), 100 | -- 101 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_LOG_SHOW_NONE", "不显示"), 102 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_LOG_DEFAULT", "默认位置"), 103 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_LOG_WORLDTRACKER", "世界追踪"), 104 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_LOG_BOTH", "同时显示"), 105 | -- 106 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_POPUP_RESEARCH", "科技/市政完成"), 107 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_POPUP_AUDIO", "科技/市政语音"), 108 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_POPUP_ERA_SCORE", "获得时代得分"), 109 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_POPUP_GREAT_WORK", "获得巨作/文物"), 110 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_POPUP_RELIC", "获得遗物"), 111 | -- 112 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_REMIND_TECH", "科技可靠尤里卡完成"), 113 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_REMIND_CIVIC", "市政可靠鼓舞完成"), 114 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_REMIND_GOVERNMENT", "免费更换市政"), 115 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_REMIND_GOVERNOR", "有可用的总督头衔"), 116 | -- 117 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_QUICK_COMBAT", "快速战斗"), 118 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_QUICK_MOVEMENT", "快速移动"), 119 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_SPEED_PLAYER_ONLY", "仅玩家"), 120 | ("zh_Hans_CN", "LOC_CUI_OPTIONS_SPEED_AI_ONLY", "仅电脑"), 121 | 122 | -- ============================================================================= 123 | -- Screenshot 124 | ("zh_Hans_CN", "LOC_CUI_SCREENSHOT_TOOLTIP", "进入截图模式[NEWLINE][NEWLINE]截图模式会隐藏大部分或所有的界面元素,可以让你获得清爽的截图。[NEWLINE][NEWLINE]左键点击隐藏所有界面[NEWLINE]右键点击保留城市横幅[NEWLINE]按住ALT键旋转屏幕[NEWLINE]按ESC键退出截图模式"), 125 | 126 | -- ============================================================================= 127 | ("zh_Hans_CN", "LOC_CUI_COLON", ":"); 128 | -- EOF 129 | -------------------------------------------------------------------------------- /mod/localization/cui_zh_hk.sql: -------------------------------------------------------------------------------- 1 | -- ============================================================================= 2 | -- CUI Ingame Text - [Simplified Chinese] by [eudaimonia] 3 | -- ============================================================================= 4 | 5 | INSERT OR REPLACE INTO LocalizedText (Language, Tag, Text) VALUES 6 | 7 | -- ============================================================================= 8 | -- City Panel 9 | ("zh_Hant_HK", "LOC_CUI_CP_MANAGE_CITIZENS_TILES", "市民與單元格管理"), 10 | 11 | -- ============================================================================= 12 | -- City States Panel 13 | ("zh_Hant_HK", "LOC_CUI_CSP_ENVOYS_SUZERAIN", "派遣使者:{1_num},宗主國:{2_num}"), 14 | 15 | -- ============================================================================= 16 | -- Deal Panel 17 | ("zh_Hant_HK", "LOC_CUI_DP_GOLD_EDIT_TOOLTIP", "左鍵增加,右鍵減少"), 18 | ("zh_Hant_HK", "LOC_CUI_DP_THEY_HAVE_ITEM_TOOLTIP", "他們已擁有"), 19 | ("zh_Hant_HK", "LOC_CUI_DP_WE_HAVE_ITEM_TOOLTIP", "我們已擁有"), 20 | ("zh_Hant_HK", "LOC_CUI_DP_WE_HAVE_ONLY_ONE_TOOLTIP", "我們僅有一份"), 21 | 22 | -- ============================================================================= 23 | -- Diplomatic Banner 24 | ("zh_Hant_HK", "LOC_CUI_DB_CITY", "城市:{1_num}"), 25 | ("zh_Hant_HK", "LOC_CUI_DB_RELIGION", "宗教:{1_name}"), 26 | ("zh_Hant_HK", "LOC_CUI_DB_NONE", "無"), 27 | ("zh_Hant_HK", "LOC_CUI_DB_PEACE_DEAL_AVAILABLE", "[和平協議可用]"), 28 | ("zh_Hant_HK", "LOC_CUI_DB_PEACE_DEAL_NOT_AVAILABLE", "[和平協議:{1_Remaining}[ICON_TURN]]"), 29 | ("zh_Hant_HK", "LOC_CUI_DB_RELATIONSHIP", "關係:{1_Relationship}"), 30 | ("zh_Hant_HK", "LOC_CUI_DB_GRIEVANCES_NONE", "無不滿"), 31 | ("zh_Hant_HK", "LOC_CUI_DB_GRIEVANCES", "不滿:{1_Grievances}"), 32 | ("zh_Hant_HK", "LOC_CUI_DB_THEY_CAN_OFFER", "他們可以提供:"), 33 | ("zh_Hant_HK", "LOC_CUI_DB_WE_CAN_OFFER", "我們可以提供:"), 34 | ("zh_Hant_HK", "LOC_CUI_DB_GOLD", "金幣:"), 35 | ("zh_Hant_HK", "LOC_CUI_DB_GOLD_AND_FAVOR", "金幣及外交支持:"), 36 | ("zh_Hant_HK", "LOC_CUI_DB_SCORE_AND_YIELDS", "分數及收益:"), 37 | ("zh_Hant_HK", "LOC_CUI_DB_MARS_PROJECT", "火星殖民進度:{1_progress} {2_progress} {3_progress}"), 38 | ("zh_Hant_HK", "LOC_CUI_DB_EXOPLANET_EXPEDITION", "系外行星探索:{1_progress}{2_progress}{3_progress}{4_progress}{5_progress}"), 39 | ("zh_Hant_HK", "LOC_CUI_DB_VISITING_TOURISTS", "國際遊客數量:{1_num} / {2_total}"), 40 | ("zh_Hant_HK", "LOC_CUI_DB_CAPITALS_CAPTURED", "已佔領的首都:{1_num}"), 41 | ("zh_Hant_HK", "LOC_CUI_DB_CIVS_CONVERTED", "已轉化的文明:{1_num} / {2_total}"), 42 | ("zh_Hant_HK", "LOC_CUI_DB_DIPLOMATIC_POINT", "外交勝利點數:{1_num} / {2_total}"), 43 | 44 | -- ============================================================================= 45 | -- Minimap Panel 46 | ("zh_Hant_HK", "LOC_CUI_MP_SHOW_DISTRICTS_TOOLTIP", "顯示區域圖標"), 47 | ("zh_Hant_HK", "LOC_CUI_MP_SHOW_WONDERS_TOOLTIP", "顯示奇觀圖標"), 48 | ("zh_Hant_HK", "LOC_CUI_MP_AUTONAMING", "自動命名"), 49 | ("zh_Hant_HK", "LOC_CUI_MP_AUTONAMING_TOOLTIP", "自動給地圖導航命名"), 50 | ("zh_Hant_HK", "LOC_CUI_MO_SHOW_IMPROVED_RESOURCES", "顯示已改良資源圖標"), 51 | ("zh_Hant_HK", "LOC_CUI_MO_TOGGLE_IMPROVED_TOOLTIP", "開啟/關閉已改良資源圖標"), 52 | ("zh_Hant_HK", "LOC_CUI_MO_SHOW_UNIT_FLAGS", "顯示單位圖標"), 53 | ("zh_Hant_HK", "LOC_CUI_MP_TOGGLE_UNIT_FLAGS_TOOLTIP", "開啟/關閉單位圖標"), 54 | ("zh_Hant_HK", "LOC_CUI_MO_SHOW_CITY_BANNERS", "顯示城市橫幅"), 55 | ("zh_Hant_HK", "LOC_CUI_MP_TOGGLE_CITY_BANNERS_TOOLTIP", "開啟/關閉城市橫幅"), 56 | ("zh_Hant_HK", "LOC_CUI_MO_SHOW_TRADERS", "顯示商人圖標"), 57 | ("zh_Hant_HK", "LOC_CUI_MP_TOGGLE_TRADERS_TOOLTIP", "開啟/關閉商人圖標"), 58 | ("zh_Hant_HK", "LOC_CUI_MO_SHOW_RELIGIONS", "顯示宗教單位圖標"), 59 | ("zh_Hant_HK", "LOC_CUI_MP_TOGGLE_RELIGIONS_TOOLTIP", "開啟/關閉宗教單位圖標"), 60 | 61 | -- ============================================================================= 62 | -- SpyInfo 63 | ("zh_Hant_HK", "LOC_CUI_SI_SPY_AVAILABLE", "{1_num}名 [ICON_Unit] 間諜可用"), 64 | ("zh_Hant_HK", "LOC_CUI_SI_SPY_CAPACITY", "{1_num}名 [ICON_Unit] 間諜上限"), 65 | 66 | -- ============================================================================= 67 | -- World Tracker 68 | ("zh_Hant_HK", "LOC_CUI_WT_GOSSIP_LOG", "小道消息"), 69 | ("zh_Hant_HK", "LOC_CUI_WT_COMBAT_LOG", "戰鬥記錄"), 70 | 71 | -- ============================================================================= 72 | -- Production Panel 73 | ("zh_Hant_HK", "LOC_CUI_PP_QUEUE_DEFAULT", "默認使用隊列"), 74 | 75 | -- ============================================================================= 76 | -- Great Works 77 | ("zh_Hant_HK", "LOC_CUI_GW_SORT_BY_CITY", "按城市排序"), 78 | ("zh_Hant_HK", "LOC_CUI_GW_SORT_BY_BUILDING", "按建築排序"), 79 | ("zh_Hant_HK", "LOC_CUI_GW_THEMING_HELPER", "主題化助手"), 80 | ("zh_Hant_HK", "LOC_CUI_GW_THEMING_HELPER_TOOLTIP", "選擇同色不同數字的三個鉅作/文物組成一個主題"), 81 | 82 | -- ============================================================================= 83 | -- Notes 84 | ("zh_Hant_HK", "LOC_CUI_NOTES", "備忘錄"), 85 | ("zh_Hant_HK", "LOC_CUI_NOTE_LAST_EDIT", "[ 回合:{1_num} ]"), 86 | ("zh_Hant_HK", "LOC_CUI_NOTE_EMPTY", "無記錄"), 87 | 88 | -- ============================================================================= 89 | -- Options 90 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_TAB_VICTORY", "勝利進度"), 91 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_TAB_LOG", "消息顯示"), 92 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_TAB_POPUP", "彈窗設置"), 93 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_TAB_REMIND", "提示信息"), 94 | -- 95 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_DESC_VICTORY", "請選擇需要追踪的勝利方式"), 96 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_DESC_LOG", "請選擇消息的顯示位置"), 97 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_DESC_POPUP", "請選擇需要開啟的彈窗"), 98 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_DESC_REMIND", "請選擇需要開啟的提示"), 99 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_DESC_SPEED", "請選擇快速戰鬥和移動的對象"), 100 | -- 101 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_LOG_SHOW_NONE", "不顯示"), 102 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_LOG_DEFAULT", "默認位置"), 103 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_LOG_WORLDTRACKER", "世界追踪"), 104 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_LOG_BOTH", "同時顯示"), 105 | -- 106 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_POPUP_RESEARCH", "科技/市政完成"), 107 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_POPUP_AUDIO", "科技/市政語音"), 108 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_POPUP_ERA_SCORE", "獲得時代得分"), 109 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_POPUP_GREAT_WORK", "獲得鉅作/文物"), 110 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_POPUP_RELIC", "獲得遺物"), 111 | -- 112 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_REMIND_TECH", "科技可靠尤里卡完成"), 113 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_REMIND_CIVIC", "市政可靠天啟完成"), 114 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_REMIND_GOVERNMENT", "免費更換市政"), 115 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_REMIND_GOVERNOR", "有可用的行政長官頭銜"), 116 | -- 117 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_QUICK_COMBAT", "快速戰鬥"), 118 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_QUICK_MOVEMENT", "快速移動"), 119 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_SPEED_PLAYER_ONLY", "僅玩家"), 120 | ("zh_Hant_HK", "LOC_CUI_OPTIONS_SPEED_AI_ONLY", "僅電腦"), 121 | 122 | -- ============================================================================= 123 | -- Screenshot 124 | ("zh_Hant_HK", "LOC_CUI_SCREENSHOT_TOOLTIP", "進入截圖模式[NEWLINE][NEWLINE]截圖模式會隱藏大部分或所有的界面元素,可以讓你獲得清爽的截圖。[NEWLINE][NEWLINE]左鍵點擊隱藏所有界面[NEWLINE]右鍵點擊保留城市橫幅[NEWLINE]按住ALT鍵旋轉屏幕[NEWLINE]按ESC鍵退出截圖模式"), 125 | 126 | -- ============================================================================= 127 | ("zh_Hant_HK", "LOC_CUI_COLON", ":"); 128 | -- EOF 129 | -------------------------------------------------------------------------------- /mod/modules/_log/additions/cui_gameinfo.lua: -------------------------------------------------------------------------------- 1 | -- =========================================================================== 2 | -- cui_gameinfo.lua 3 | -- =========================================================================== 4 | 5 | include("cui_utils") 6 | 7 | -- CUI ----------------------------------------------------------------------- 8 | local RiseAndFall = "1B28771A-C749-434B-9053-D1380C553DE9" 9 | local GatheringStorm = "4873eb62-8ccc-4574-b784-dda455e74e68" 10 | local Tutorial = "17462E0F-1EE1-4819-AAAA-052B5896B02A" 11 | 12 | local CuiGameInfo = {} 13 | 14 | -- CUI ----------------------------------------------------------------------- 15 | local function GenerateModName(mod) 16 | local modInfo = Modding.GetModInfo(mod.Handle) 17 | local subID = modInfo.SubscriptionId 18 | local modName = "" 19 | 20 | if subID then 21 | modName = Modding.GetSubscriptionDetails(subID).Name 22 | else 23 | modName = Locale.Lookup(mod.Name) 24 | modName = Locale.StripTags(modName) 25 | end 26 | return modName 27 | end 28 | 29 | -- CUI ----------------------------------------------------------------------- 30 | local function GenerateModInfo(mod) 31 | local modInfo = { 32 | Id = mod.Id, 33 | Name = GenerateModName(mod), 34 | Active = false, 35 | Enabled = mod.Enabled, 36 | Official = mod.Official, 37 | SubID = mod.SubscriptionId, 38 | Update = "", 39 | Compatible = Modding.IsModCompatible(mod.Handle) 40 | } 41 | if not mod.Official and mod.SubscriptionId then 42 | local details = Modding.GetSubscriptionDetails(mod.SubscriptionId) 43 | if details and details.LastUpdated then 44 | modInfo.Update = Locale.Lookup("LOC_MODS_LAST_UPDATED", details.LastUpdated) 45 | end 46 | end 47 | return modInfo 48 | end 49 | 50 | -- CUI ----------------------------------------------------------------------- 51 | local function LoadGameInfo() 52 | CuiGameInfo.IsMultiplayer = GameConfiguration.IsAnyMultiplayer() 53 | CuiGameInfo.IsHotseat = GameConfiguration.IsHotseat() 54 | CuiGameInfo.MapSeed = MapConfiguration.GetValue("RANDOM_SEED") 55 | CuiGameInfo.GameSeed = GameConfiguration.GetValue("GAME_SYNC_RANDOM_SEED") 56 | CuiGameInfo.GameSpeed = Locale.Lookup(GameInfo.GameSpeeds[GameConfiguration.GetGameSpeedType()].Name) 57 | CuiGameInfo.RuleSet = GameConfiguration.GetRuleSet() 58 | end 59 | 60 | -- --------------------------------------------------------------------------- 61 | local function LoadInstalledMods() 62 | local mods = Modding.GetInstalledMods() 63 | for _, mod in ipairs(mods) do 64 | if mod.Id ~= Tutorial and mod.Source == "Mod" then 65 | CuiGameInfo.InstalledAll = CuiGameInfo.InstalledAll + 1 66 | if mod.Official then 67 | CuiGameInfo.InstalledOff = CuiGameInfo.InstalledOff + 1 68 | else 69 | CuiGameInfo.InstalledCom = CuiGameInfo.InstalledCom + 1 70 | end 71 | if isNil(CuiGameInfo.Mods[mod.Id]) then 72 | CuiGameInfo.Mods[mod.Id] = {} 73 | end 74 | local modInfo = GenerateModInfo(mod) 75 | CuiGameInfo.Mods[mod.Id] = modInfo 76 | end 77 | end 78 | end 79 | 80 | -- CUI ----------------------------------------------------------------------- 81 | local function LoadActiveMods() 82 | local mods = Modding.GetActiveMods() 83 | for _, mod in ipairs(mods) do 84 | if mod.Id == Tutorial then 85 | CuiGameInfo.IsTutorial = mod.Enabled 86 | end 87 | if mod.Id == RiseAndFall then 88 | CuiGameInfo.IsRiseAndFall = mod.Enabled 89 | end 90 | if mod.Id == GatheringStorm then 91 | CuiGameInfo.IsGatheringStorm = mod.Enabled 92 | end 93 | if mod.Id ~= Tutorial and mod.Source == "Mod" then 94 | CuiGameInfo.ActiveAll = CuiGameInfo.ActiveAll + 1 95 | if mod.Official then 96 | CuiGameInfo.ActiveOff = CuiGameInfo.ActiveOff + 1 97 | else 98 | CuiGameInfo.ActiveCom = CuiGameInfo.ActiveCom + 1 99 | end 100 | if isNil(CuiGameInfo.Mods[mod.Id]) then 101 | print("[Error] unexpected mod:", mod.Name, "ID:", mod.Id) 102 | else 103 | CuiGameInfo.Mods[mod.Id].Active = true 104 | end 105 | end 106 | end 107 | end 108 | 109 | -- CUI ----------------------------------------------------------------------- 110 | local function SortMods(usMods) 111 | if isNil(usMods) then 112 | return nil 113 | end 114 | 115 | local mods = {} 116 | for _, mod in pairs(usMods) do 117 | table.insert(mods, mod) 118 | end 119 | 120 | table.sort( 121 | mods, 122 | function(a, b) 123 | local sortOverrides = { 124 | ["4873eb62-8ccc-4574-b784-dda455e74e68"] = -2, 125 | ["1B28771A-C749-434B-9053-D1380C553DE9"] = -1 126 | } 127 | 128 | local aSort = sortOverrides[a.Id] or 0 129 | local bSort = sortOverrides[b.Id] or 0 130 | if aSort ~= bSort then 131 | return aSort < bSort 132 | end 133 | 134 | if a.Official ~= b.Official then 135 | return a.Official 136 | end 137 | 138 | return Locale.Compare(a.Name, b.Name) == -1 139 | end 140 | ) 141 | 142 | return mods 143 | end 144 | 145 | -- CUI ----------------------------------------------------------------------- 146 | function GetCuiGameInfo() 147 | CuiGameInfo = { 148 | -- version 149 | Version = UI.GetAppVersion(), 150 | -- game 151 | IsRiseAndFall = false, 152 | IsGatheringStorm = false, 153 | IsTutorial = false, 154 | IsMultiplayer = false, 155 | IsHotseat = false, 156 | MapSeed = nil, 157 | GameSeed = nil, 158 | GameSpeed = -1, 159 | RuleSet = nil, 160 | -- mods 161 | InstalledAll = 0, 162 | InstalledOff = 0, 163 | InstalledCom = 0, 164 | ActiveAll = 0, 165 | ActiveOff = 0, 166 | ActiveCom = 0, 167 | Mods = {} 168 | } 169 | 170 | LoadGameInfo() 171 | LoadInstalledMods() 172 | LoadActiveMods() 173 | local mods = CuiGameInfo.Mods 174 | local sortedMods = SortMods(mods) 175 | CuiGameInfo.Mods = sortedMods 176 | 177 | return CuiGameInfo 178 | end 179 | -------------------------------------------------------------------------------- /mod/modules/_log/additions/cui_log.lua: -------------------------------------------------------------------------------- 1 | -- =========================================================================== 2 | -- cui_log.lua 3 | -- =========================================================================== 4 | 5 | include("cui_utils") 6 | include("cui_gameinfo") 7 | 8 | -- CUI ----------------------------------------------------------------------- 9 | local ShowModsList = true 10 | local ShowActiveOnly = true 11 | local ShowOfficial = false 12 | 13 | -- CUI ----------------------------------------------------------------------- 14 | LogC = {} 15 | LogC.__index = LogC 16 | 17 | -- CUI ----------------------------------------------------------------------- 18 | function LogC:createLog(sL, cL) 19 | o = o or {} 20 | setmetatable(o, self) 21 | self.sL = sL or 50 22 | self.cL = cL or 72 23 | return o 24 | end 25 | 26 | -- CUI ----------------------------------------------------------------------- 27 | function LogC:line(l) 28 | if l == "=" or l == "-" then 29 | print(string.rep(l, self.cL)) 30 | elseif isNil(l) then 31 | print("") 32 | else 33 | print(l) 34 | end 35 | end 36 | 37 | -- CUI ----------------------------------------------------------------------- 38 | function LogC:property(p, v) 39 | if isNil(v) then 40 | v = "." 41 | end 42 | local pL = string.len(p) 43 | local mL = self.sL - pL 44 | local m = string.rep(".", mL) 45 | local line = p .. " " .. m .. " [ " .. tostring(v) .. " ]" 46 | print(line) 47 | end 48 | 49 | -- CUI ----------------------------------------------------------------------- 50 | function LogC:value3(p, v1, v2, v3) 51 | local s1, s2, s3 = string.len(v1), string.len(v2), string.len(v3) 52 | local vL = math.max(s1, s2, s3) 53 | local t1 = "T:" .. string.rep(" ", vL - s1) .. v1 54 | local t2 = "O:" .. string.rep(" ", vL - s2) .. v2 55 | local t3 = "C:" .. string.rep(" ", vL - s3) .. v3 56 | local v = t1 .. " " .. t2 .. " " .. t3 57 | LogC:property(p, v) 58 | end 59 | 60 | -- CUI ----------------------------------------------------------------------- 61 | function LogC:mod(mod) 62 | if ShowActiveOnly and not mod.Active then 63 | return 64 | end 65 | if mod.Official and not ShowOfficial then 66 | return 67 | end 68 | 69 | --[[ 70 | Id = mod.Id, 71 | Name = GenerateModName(mod), 72 | Active = false, 73 | Enabled = mod.Enabled, 74 | Official = mod.Official, 75 | SubID = mod.SubscriptionId, 76 | Update = ""; 77 | Compatible = Modding.IsModCompatible(mod.Handle) 78 | ]] 79 | -- title 80 | local mType = mod.Official and "[O]" or "[C]" 81 | local title = "" 82 | if ShowOfficial then 83 | title = mType .. " " .. mod.Name 84 | else 85 | title = mod.Name 86 | end 87 | LogC:line(title) 88 | -- update 89 | if not isNil(mod.Update) then 90 | LogC:line("[" .. mod.Update .. "]") 91 | end 92 | -- link 93 | if not mod.Official then 94 | if mod.SubID then 95 | print("https://steamcommunity.com/sharedfiles/filedetails/?id=" .. mod.SubID) 96 | else 97 | print("This is not a Steam Workshop Mod.") 98 | end 99 | end 100 | -- properties 101 | LogC:property("Enabled", mod.Enabled) 102 | if not ShowActiveOnly then 103 | LogC:property("Active", mod.Active) 104 | end 105 | if not mod.Official then 106 | LogC:property("Compatible", mod.Compatible) 107 | end 108 | LogC:line() 109 | end 110 | 111 | -- CUI ----------------------------------------------------------------------- 112 | function LogGameInfo() 113 | local CuiGameInfo = GetCuiGameInfo() 114 | local Log = LogC:createLog() 115 | 116 | Log:line() 117 | Log:line("=") 118 | Log:line() 119 | Log:line("Game Information:") 120 | Log:line("Version: " .. CuiGameInfo.Version) 121 | Log:line("-") 122 | 123 | Log:property("Rise and Fall", CuiGameInfo.IsRiseAndFall) 124 | Log:property("Gathering Storm", CuiGameInfo.IsGatheringStorm) 125 | Log:property("Tutorial", CuiGameInfo.IsTutorial) 126 | Log:property("Multiplayer", CuiGameInfo.IsMultiplayer) 127 | Log:property("Hotseat", CuiGameInfo.IsHotseat) 128 | Log:property("Map Seed", CuiGameInfo.MapSeed) 129 | Log:property("Game Seed", CuiGameInfo.GameSeed) 130 | Log:property("Game Speed", CuiGameInfo.GameSpeed) 131 | -- Log:property("Rule Set", CuiGameInfo.RuleSet) 132 | local i1, i2, i3 = CuiGameInfo.InstalledAll, CuiGameInfo.InstalledOff, CuiGameInfo.InstalledCom 133 | Log:value3("Mods Installed", i1, i2, i3) 134 | local a1, a2, a3 = CuiGameInfo.ActiveAll, CuiGameInfo.ActiveOff, CuiGameInfo.ActiveCom 135 | Log:value3("Mods Active", a1, a2, a3) 136 | 137 | if ShowModsList then 138 | local mods = CuiGameInfo.Mods 139 | if isNil(mods) then 140 | return 141 | end 142 | 143 | Log:line() 144 | Log:line("Mods List:") 145 | Log:property("Active Mods Only", ShowActiveOnly) 146 | Log:property("Show Official Content", ShowOfficial) 147 | Log:line("-") 148 | for _, mod in ipairs(mods) do 149 | Log:mod(mod) 150 | end 151 | else 152 | Log:line() 153 | end 154 | 155 | Log:line("=") 156 | Log:line() 157 | end 158 | 159 | -- CUI ----------------------------------------------------------------------- 160 | function Initialize() 161 | Events.LoadGameViewStateDone.Add(LogGameInfo) 162 | end 163 | Initialize() 164 | -------------------------------------------------------------------------------- /mod/modules/_log/additions/cui_log.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /mod/modules/_options/additions/cui_options_button.lua: -------------------------------------------------------------------------------- 1 | -- =========================================================================== 2 | -- cui_options_button.lua 3 | -- =========================================================================== 4 | 5 | include("cui_utils") 6 | include("cui_settings") 7 | include("cui_update") 8 | 9 | -- CUI ----------------------------------------------------------------------- 10 | local isAttached = false 11 | 12 | -- CUI ----------------------------------------------------------------------- 13 | function OpenOptionMenu() 14 | LuaEvents.CuiToggleOptions() 15 | end 16 | 17 | -- CUI ----------------------------------------------------------------------- 18 | function SetupUI() 19 | Controls.Version:SetText(CuiVersion) 20 | Controls.Version:SetToolTipString(VersionDetail) 21 | CuiRegCallback(Controls.CuiOptionButton, OpenOptionMenu, OpenOptionMenu) 22 | end 23 | 24 | -- CUI ----------------------------------------------------------------------- 25 | function OnMinimapResize() 26 | if isAttached then 27 | local minimap = ContextPtr:LookUpControl("/InGame/MinimapPanel/MiniMap/MinimapContainer") 28 | Controls.CuiOptionContainer:SetOffsetX(minimap:GetSizeX() + 10) 29 | end 30 | end 31 | 32 | -- CUI ----------------------------------------------------------------------- 33 | function AttachToMinimap() 34 | if not isAttached then 35 | local minimap = ContextPtr:LookUpControl("/InGame/MinimapPanel/MiniMap/MinimapContainer") 36 | Controls.CuiOptionContainer:ChangeParent(minimap) 37 | Controls.CuiOptionContainer:SetOffsetX(minimap:GetSizeX() + 10) 38 | SetupUI() 39 | isAttached = true 40 | end 41 | end 42 | 43 | -- CUI ----------------------------------------------------------------------- 44 | function Initialize() 45 | ContextPtr:SetHide(true) 46 | SetupUI() 47 | Events.LoadGameViewStateDone.Add(AttachToMinimap) 48 | LuaEvents.CuiOnMinimapResize.Add(OnMinimapResize) 49 | end 50 | Initialize() 51 | -------------------------------------------------------------------------------- /mod/modules/_options/additions/cui_options_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /mod/modules/city_panel/expansion1/citypanel_expansion1.lua: -------------------------------------------------------------------------------- 1 | -- Copyright 2017-2019, Firaxis Games 2 | 3 | include("CityPanel"); 4 | BASE_ViewMain = ViewMain; 5 | 6 | -- =========================================================================== 7 | function ViewMain( kData:table ) 8 | BASE_ViewMain( kData ); 9 | local pCity :table = UI.GetHeadSelectedCity(); 10 | if pCity ~= nil then 11 | local pCulturalIdentity :table = pCity:GetCulturalIdentity(); 12 | local currentLoyalty :number= pCulturalIdentity:GetLoyalty(); 13 | 14 | -- CUI >> loyalty 15 | Controls.BreakdownIcon:SetIcon("ICON_STAT_CULTURAL_FLAG"); 16 | Controls.BreakdownLabel:SetText(Locale.ToUpper(Locale.Lookup("LOC_CULTURAL_IDENTITY_LOYALTY_SUBSECTION"))); 17 | Controls.BreakdownNum:SetText(Round(currentLoyalty, 1)); 18 | -- Controls.BreakdownNum:SetOffsetX(19); 19 | -- << CUI 20 | 21 | -- CUI >> districts numbers 22 | Controls.ReligionIcon:SetIcon("ICON_BUILDINGS"); 23 | Controls.ReligionLabel:SetText(Locale.ToUpper(Locale.Lookup("LOC_HUD_DISTRICTS"))); 24 | Controls.ReligionNum:SetText(kData.DistrictsNum .. "/" .. kData.DistrictsPossibleNum); 25 | -- << CUI 26 | end 27 | end 28 | 29 | -- =========================================================================== 30 | function OnCityLoyaltyChanged( ownerPlayerID:number, cityID:number ) 31 | if UI.IsCityIDSelected(ownerPlayerID, cityID) then 32 | UI.DeselectCityID(ownerPlayerID, cityID); 33 | end 34 | end 35 | 36 | -- =========================================================================== 37 | function LateInitialize() 38 | Events.CityLoyaltyChanged.Add(OnCityLoyaltyChanged); 39 | end 40 | -------------------------------------------------------------------------------- /mod/modules/deal_panel/support/cui_deal_support.lua: -------------------------------------------------------------------------------- 1 | -- =========================================================================== 2 | -- cui_deal_support.lua 3 | -- =========================================================================== 4 | 5 | include("cui_utils") 6 | 7 | -- =========================================================================== 8 | -- Tooltips 9 | -- =========================================================================== 10 | 11 | -- CUI ----------------------------------------------------------------------- 12 | local CuiRedColor = "ModStatusRedCS" 13 | local CuiYellowColor = "ModStatusYellowCS" 14 | local CuiGreenColor = "ModStatusGreenCS" 15 | 16 | -- luxury tooltip 17 | local WeHaveTT = "[NEWLINE]" .. Locale.Lookup("LOC_CUI_DP_WE_HAVE_ITEM_TOOLTIP") 18 | local BlockedTT = "[NEWLINE]" .. Locale.Lookup("LOC_DIPLO_DEAL_UNACCEPTABLE_ITEM_TOOLTIP") 19 | local TheyHaveTT = "[NEWLINE]" .. Locale.Lookup("LOC_CUI_DP_THEY_HAVE_ITEM_TOOLTIP") 20 | local OnlyOneTT = "[NEWLINE]" .. Locale.Lookup("LOC_CUI_DP_WE_HAVE_ONLY_ONE_TOOLTIP") 21 | 22 | -- strategic tooltip 23 | local PlayerNoCapTT = Locale.Lookup("LOC_DEAL_PLAYER_HAS_NO_CAP_ROOM") 24 | local AINoCapTT = Locale.Lookup("LOC_DEAL_AI_HAS_NO_CAP_ROOM") 25 | 26 | -- =========================================================================== 27 | -- Vanilla & Expansion 1 28 | -- =========================================================================== 29 | 30 | -- CUI ----------------------------------------------------------------------- 31 | function CuiGetResourceData(player, localPlayer, otherPlayer, entry) 32 | local data = {} 33 | 34 | -- other inventory 35 | local weHave = false 36 | local blocked = false 37 | -- local inventory 38 | local theyHave = false 39 | local onlyOne = false 40 | 41 | local resourceType = entry.ForType 42 | local resource = GameInfo.Resources[resourceType] 43 | local localResources = Players[localPlayer:GetID()]:GetResources() 44 | local otherResources = Players[otherPlayer:GetID()]:GetResources() 45 | 46 | if 47 | resource and resource.ResourceClassType == "RESOURCECLASS_LUXURY" or 48 | resource.ResourceClassType == "RESOURCECLASS_STRATEGIC" 49 | then 50 | -- their inventory 51 | if player == otherPlayer then 52 | -- if we alredy have 53 | weHave = localResources:HasResource(resource.Index) 54 | -- blocked deal, for AI only 55 | blocked = entry.MaxAmount == 1 and not Players[otherPlayer:GetID()]:IsHuman() 56 | end 57 | 58 | -- our inventory 59 | if player == localPlayer then 60 | -- if they already have 61 | theyHave = otherResources:HasResource(resource.Index) 62 | -- if we have only one copy of this resource 63 | if resource.ResourceClassType == "RESOURCECLASS_LUXURY" then 64 | onlyOne = localResources:GetResourceAmount(resource.Index) == 1 65 | end 66 | end 67 | end 68 | 69 | data.WeHave = weHave 70 | data.Blocked = blocked 71 | data.TheyHave = theyHave 72 | data.OnlyOne = onlyOne 73 | 74 | return data 75 | end 76 | 77 | -- =========================================================================== 78 | -- Expansion 2 79 | -- =========================================================================== 80 | 81 | -- CUI ----------------------------------------------------------------------- 82 | function CuiGetLuxuryData(player, localPlayer, otherPlayer, entry) 83 | local data = {} 84 | 85 | -- other inventory 86 | local weHave = false 87 | local blocked = false 88 | -- local inventory 89 | local theyHave = false 90 | local onlyOne = false 91 | 92 | local resourceType = entry.ForType 93 | local resource = GameInfo.Resources[resourceType] 94 | local localResources = Players[localPlayer:GetID()]:GetResources() 95 | local otherResources = Players[otherPlayer:GetID()]:GetResources() 96 | 97 | -- luxury only 98 | if resource and resource.ResourceClassType == "RESOURCECLASS_LUXURY" then 99 | -- their inventory 100 | if player == otherPlayer then 101 | -- if we alredy have 102 | weHave = localResources:HasResource(resource.Index) 103 | -- blocked deal, for AI only 104 | blocked = entry.MaxAmount == 1 and not Players[otherPlayer:GetID()]:IsHuman() 105 | end 106 | 107 | -- our inventory 108 | if player == localPlayer then 109 | -- if they already have 110 | theyHave = otherResources:HasResource(resource.Index) 111 | -- if we have only one copy of this resource 112 | onlyOne = localResources:GetResourceAmount(resource.Index) == 1 113 | end 114 | end 115 | 116 | data.WeHave = weHave 117 | data.Blocked = blocked 118 | data.TheyHave = theyHave 119 | data.OnlyOne = onlyOne 120 | 121 | return data 122 | end 123 | 124 | -- CUI ----------------------------------------------------------------------- 125 | function CuiGetStrategicData(player, localPlayer, entry) 126 | local data = {} 127 | data.IsLocal = player == localPlayer 128 | data.IsValid = entry.IsValid 129 | return data 130 | end 131 | 132 | -- =========================================================================== 133 | -- UI Functions 134 | -- =========================================================================== 135 | 136 | -- CUI ----------------------------------------------------------------------- 137 | function CuiGetButtonStyleByData(data) 138 | local color = CuiRedColor 139 | local tooltip = "" 140 | 141 | if data.WeHave or data.Blocked or data.TheyHave then 142 | color = CuiRedColor 143 | elseif data.OnlyOne then 144 | color = CuiYellowColor 145 | else 146 | color = CuiGreenColor 147 | end 148 | 149 | if data.WeHave then 150 | tooltip = tooltip .. WeHaveTT 151 | end 152 | if data.Blocked then 153 | tooltip = tooltip .. BlockedTT 154 | end 155 | if data.TheyHave then 156 | tooltip = tooltip .. TheyHaveTT 157 | end 158 | if data.OnlyOne then 159 | tooltip = tooltip .. OnlyOneTT 160 | end 161 | 162 | if not isNil(tooltip) then 163 | tooltip = "[COLOR_Red]" .. tooltip .. "[ENDCOLOR]" 164 | end 165 | return color, tooltip 166 | end 167 | 168 | -- CUI ----------------------------------------------------------------------- 169 | function CuiGetButtonStyleByDataXP2(data) 170 | local color = CuiRedColor 171 | local tooltip = "" 172 | 173 | if data.IsValid then 174 | color = CuiGreenColor 175 | else 176 | color = CuiRedColor 177 | if data.IsLocal then 178 | tooltip = tooltip .. AINoCapTT 179 | else 180 | tooltip = tooltip .. PlayerNoCapTT 181 | end 182 | end 183 | 184 | if not isNil(tooltip) then 185 | tooltip = "[NEWLINE][COLOR_Red]" .. tooltip .. "[ENDCOLOR]" 186 | end 187 | return color, tooltip 188 | end 189 | -------------------------------------------------------------------------------- /mod/modules/great_work/base/greatworksoverview.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /mod/modules/victory_tracking/additions/cui_victory_tracking.lua: -------------------------------------------------------------------------------- 1 | -- =========================================================================== 2 | -- cui_victory_tracking.lua 3 | -- =========================================================================== 4 | 5 | include("InstanceManager") 6 | include("PlayerSupport") 7 | include("cui_utils") 8 | include("cui_settings") 9 | include("cui_victory_support") 10 | 11 | -- CUI ----------------------------------------------------------------------- 12 | local isAttached = false 13 | 14 | local CuiVictoryTT = {} 15 | TTManager:GetTypeControlTable("CuiVictoryTT", CuiVictoryTT) 16 | 17 | local victoryIconInstance = InstanceManager:new("VictoryIconInstance", "Top", Controls.VictoryIconInstanceContainer) 18 | local victoryLeaderInstance = 19 | InstanceManager:new("VictoryLeaderInstance", "Top", Controls.VictoryLeaderInstanceContainer) 20 | 21 | local ranks = {} 22 | local scienceData = {} 23 | local cultureData = {} 24 | local dominationData = {} 25 | local religionData = {} 26 | local diplomaticData = {} 27 | 28 | -- CUI ----------------------------------------------------------------------- 29 | function GetData() 30 | local victoryTypes = GetVictoryTypes() 31 | for _, vType in ipairs(victoryTypes) do 32 | if vType == "SCIENCE" then 33 | scienceData, ranks["SCIENCE"] = GetScienceData() 34 | elseif vType == "CULTURE" then 35 | cultureData, ranks["CULTURE"] = GetCultureData() 36 | elseif vType == "DOMINATION" then 37 | dominationData, ranks["DOMINATION"] = GetDominationData() 38 | elseif vType == "RELIGION" then 39 | religionData, ranks["RELIGION"] = GetReligionData() 40 | elseif vType == "DIPLOMATIC" then 41 | diplomaticData, ranks["DIPLOMATIC"] = GetDiplomaticData() 42 | end 43 | end 44 | end 45 | 46 | -- CUI ----------------------------------------------------------------------- 47 | function PopulateVictoryIcons() 48 | victoryIconInstance:ResetInstances() 49 | local victoryTypes = GetVictoryTypes() 50 | for _, vType in ipairs(victoryTypes) do 51 | if CuiSettings:GetBoolean(CuiSettings[vType]) then 52 | local instance = victoryIconInstance:GetInstance(Controls.VictoryButtonStack) 53 | local icon = "ICON_VICTORY_" .. vType 54 | if icon ~= nil then 55 | local textureOffsetX, textureOffsetY, textureSheet = IconManager:FindIconAtlas(icon, 64) 56 | if (textureSheet == nil or textureSheet == "") then 57 | UI.DataError('Could not find icon in PopulateVictoryButton: icon="' .. icon .. '", iconSize=64') 58 | else 59 | -- set icon 60 | instance.VictoryIcon:SetTexture(textureOffsetX, textureOffsetY, textureSheet) 61 | -- set tooltip 62 | instance.VictoryIcon:ClearToolTipCallback() 63 | instance.VictoryIcon:SetToolTipType("CuiVictoryTT") 64 | instance.VictoryIcon:SetToolTipCallback( 65 | function() 66 | UpdateVictoryToolTip(vType) 67 | end 68 | ) 69 | -- set rank 70 | local rankText = ranks[vType] 71 | if rankText == 1 then 72 | rankText = "[COLOR_GREEN]" .. rankText .. "[ENDCOLOR]" 73 | end 74 | instance.Text:SetText("#" .. rankText) 75 | end 76 | end 77 | end 78 | end 79 | end 80 | 81 | -- CUI ----------------------------------------------------------------------- 82 | function UpdateVictoryToolTip(vType) 83 | local localPlayerID = Game.GetLocalPlayer() 84 | if localPlayerID == -1 then 85 | return 86 | end 87 | 88 | local leaders 89 | if vType == "SCIENCE" then 90 | leaders = scienceData 91 | elseif vType == "CULTURE" then 92 | leaders = cultureData 93 | elseif vType == "DOMINATION" then 94 | leaders = dominationData 95 | elseif vType == "RELIGION" then 96 | leaders = religionData 97 | elseif vType == "DIPLOMATIC" then 98 | leaders = diplomaticData 99 | end 100 | 101 | victoryLeaderInstance:ResetInstances() 102 | 103 | for i, leader in ipairs(leaders) do 104 | local leaderInstance = victoryLeaderInstance:GetInstance(CuiVictoryTT.VictoryLeaderStack) 105 | SetVictoryLeaderInstance(vType, leader, leaderInstance) 106 | end 107 | 108 | local title = "" 109 | if vType == "RELIGION" then 110 | title = "LOC_VICTORY_RELIGIOUS_NAME" 111 | else 112 | title = "LOC_VICTORY_" .. vType .. "_NAME" 113 | end 114 | 115 | CuiVictoryTT.Title:SetText(Locale.Lookup(title)) 116 | CuiVictoryTT.Divider:SetSizeX(CuiVictoryTT.Title:GetSizeX() + 60) 117 | CuiVictoryTT.BG:DoAutoSize() 118 | end 119 | 120 | -- CUI ----------------------------------------------------------------------- 121 | function SetVictoryLeaderInstance(vType, leader, instance) 122 | local shouldShowIcon = leader.isLocalPlayer or leader.isMet 123 | 124 | local text1 = "" 125 | local text2 = "" 126 | if shouldShowIcon then 127 | if vType == "SCIENCE" then 128 | text1 = "[ICON_SCIENCE]" .. leader.scienceY .. " (" .. leader.techs .. ")" 129 | local progressText = "" 130 | local progress = leader.progresses 131 | if isExpansion2 then 132 | text2 = 133 | Locale.Lookup( 134 | "LOC_CUI_DB_EXOPLANET_EXPEDITION", 135 | progress[1], 136 | progress[2], 137 | progress[3], 138 | progress[4], 139 | progress[5] 140 | ) 141 | else 142 | text2 = Locale.Lookup("LOC_CUI_DB_MARS_PROJECT", progress[1], progress[2], progress[3]) 143 | end 144 | elseif vType == "CULTURE" then 145 | text1 = "[ICON_CULTURE]" .. leader.cultureY .. " ([ICON_TOURISM]" .. leader.tourism .. ")" 146 | text2 = Locale.Lookup("LOC_CUI_DB_VISITING_TOURISTS", leader.visiter, leader.tourists) 147 | elseif vType == "DOMINATION" then 148 | text1 = "[ICON_STRENGTH]" .. leader.strength 149 | text2 = Locale.Lookup("LOC_CUI_DB_CAPITALS_CAPTURED", leader.capture) 150 | elseif vType == "RELIGION" then 151 | text1 = "[ICON_FAITH]" .. leader.faithY 152 | text2 = Locale.Lookup("LOC_CUI_DB_CIVS_CONVERTED", leader.convert, leader.totalCiv) 153 | elseif vType == "DIPLOMATIC" then 154 | text1 = "[ICON_FAVOR] " .. leader.favor .. " (+" .. leader.favorPT .. ")" 155 | text2 = Locale.Lookup("LOC_CUI_DB_DIPLOMATIC_POINT", leader.current, leader.total) 156 | end 157 | end 158 | 159 | instance.Icon:SetTexture(CuiLeaderTexture(leader.leaderIcon, 45, shouldShowIcon)) 160 | instance.UnMet:SetHide(shouldShowIcon) 161 | instance.State1:SetHide(not shouldShowIcon) 162 | instance.State1:SetText(text1) 163 | instance.State2:SetHide(not shouldShowIcon) 164 | instance.State2:SetText(text2 .. " ") 165 | 166 | if leader.isLocalPlayer then 167 | instance.LeaderIcon:SetOffsetX(-2) 168 | instance.YouIndicator:SetHide(false) 169 | else 170 | instance.LeaderIcon:SetOffsetX(0) 171 | instance.YouIndicator:SetHide(true) 172 | end 173 | end 174 | 175 | -- CUI ----------------------------------------------------------------------- 176 | function RefreshAll() 177 | GetData() 178 | PopulateVictoryIcons() 179 | end 180 | 181 | -- CUI ----------------------------------------------------------------------- 182 | function OnMinimapResize() 183 | if isAttached then 184 | local minimap = ContextPtr:LookUpControl("/InGame/MinimapPanel/MiniMap/MinimapContainer") 185 | Controls.CuiVictoryTracking:SetOffsetX(minimap:GetSizeX() + 10) 186 | end 187 | end 188 | 189 | -- CUI ----------------------------------------------------------------------- 190 | function AttachToMinimap() 191 | if not isAttached then 192 | local minimap = ContextPtr:LookUpControl("/InGame/MinimapPanel/MiniMap/MinimapContainer") 193 | Controls.CuiVictoryTracking:ChangeParent(minimap) 194 | Controls.CuiVictoryTracking:SetOffsetX(minimap:GetSizeX() + 10) 195 | RefreshAll() 196 | isAttached = true 197 | end 198 | end 199 | 200 | -- CUI ----------------------------------------------------------------------- 201 | function Initialize() 202 | ContextPtr:SetHide(true) 203 | Events.LoadGameViewStateDone.Add(AttachToMinimap) 204 | LuaEvents.CuiOnMinimapResize.Add(OnMinimapResize) 205 | LuaEvents.DiplomacyActionView_ShowIngameUI.Add(RefreshAll) 206 | Events.TurnBegin.Add(RefreshAll) 207 | LuaEvents.CuiVictorySettingChange.Add(RefreshAll) 208 | end 209 | Initialize() 210 | -------------------------------------------------------------------------------- /mod/modules/victory_tracking/additions/cui_victory_tracking.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 18 | 19 | 44 | -------------------------------------------------------------------------------- /scripts/build.py: -------------------------------------------------------------------------------- 1 | """ 2 | This script automatically generates the 'cui.modinfo' based on the mod files. 3 | It relies heavily on how mod files are organized. 4 | """ 5 | 6 | from datetime import date 7 | from pathlib import Path 8 | from xml.dom.minidom import parseString 9 | from xml.etree import ElementTree 10 | from xml.etree.ElementTree import Element, SubElement 11 | 12 | # Version 13 | GAME_VERSION = '1.0.5.11 (516180)' 14 | MOD_VERSION = '1.6.2' 15 | 16 | # Paths 17 | PATH_PROJECT = Path(__file__).parents[1] 18 | PATH_MOD = Path(PATH_PROJECT, 'mod') 19 | PATH_MODINFO = Path(PATH_MOD, 'cui.modinfo') 20 | 21 | # Mod Information 22 | MOD_ID = '5f504949-398a-4038-a838-43c3acc4dc10' 23 | MOD_NAME = '[COLOR_Civ6LightBlue]Concise UI[ENDCOLOR]' 24 | MOD_TEASER = 'For a better gaming experience.' 25 | MOD_DESC = ( 26 | 'Concise UI greatly improves the game experience by ' 27 | 'modifying the vanilla UI and adding new UI elements to the game.' 28 | f'[NEWLINE][NEWLINE]Game Version: {GAME_VERSION}' 29 | ) 30 | MOD_AUTHOR = 'eudaimonia' 31 | MOD_SAVED = '0' 32 | MOD_COMPT = '2.0' 33 | CRITERIA_1 = 'Expansion1AndBeyond' 34 | RULE_SET_1 = 'RULESET_EXPANSION_1,RULESET_EXPANSION_2' 35 | CRITERIA_2 = 'Expansion2AndBeyond' 36 | RULE_SET_2 = 'RULESET_EXPANSION_2' 37 | 38 | 39 | def build(): 40 | try: 41 | update_version_info() 42 | modinfo = _modinfo() 43 | _save(modinfo) 44 | except Exception as e: 45 | err_name = type(e).__name__ 46 | print(f'[×] build failed\n > {err_name}: {e.args}') 47 | else: 48 | print('[√] build complete') 49 | 50 | 51 | def update_version_info(): 52 | update_file = Path(PATH_MOD, 'lib/cui_update.lua') 53 | lines = [] 54 | with open(update_file, 'r', encoding='utf-8') as f: 55 | lines = f.readlines() 56 | lines[0] = f'CuiVersion = "{MOD_VERSION}"\n' 57 | lines[1] = f'LastUpdate = "{date.today()}"\n' 58 | with open(update_file, 'w', encoding='utf-8') as f: 59 | f.writelines(lines) 60 | 61 | 62 | def _modinfo(): 63 | root = Element('Mod', id=MOD_ID, version=MOD_VERSION) 64 | _add_properties(root) 65 | _add_criteria(root) 66 | _add_frontend(root) 67 | _add_ingame(root) 68 | _add_files(root) 69 | str_xml = ElementTree.tostring(root, encoding='utf-8') 70 | obj_dom = parseString(str_xml.decode('utf-8')) 71 | modinfo = obj_dom.toprettyxml(indent=' ', encoding='utf-8') 72 | return modinfo 73 | 74 | 75 | def _save(modinfo): 76 | with open(PATH_MODINFO, 'w+', encoding='utf-8') as f: 77 | f.write(modinfo.decode('utf-8')) 78 | 79 | 80 | # sub elements ################################################################# 81 | 82 | 83 | def _add_properties(root): 84 | properties = SubElement(root, 'Properties') 85 | SubElement(properties, 'Name') .text = MOD_NAME 86 | SubElement(properties, 'Teaser') .text = MOD_TEASER 87 | SubElement(properties, 'Description') .text = MOD_DESC 88 | SubElement(properties, 'Authors') .text = MOD_AUTHOR 89 | SubElement(properties, 'AffectsSavedGames') .text = MOD_SAVED 90 | SubElement(properties, 'CompatibleVersions').text = MOD_COMPT 91 | 92 | 93 | def _add_criteria(root): 94 | criteria = SubElement(root, 'ActionCriteria') 95 | expansion_1 = SubElement(criteria, 'Criteria', id=CRITERIA_1, any='1') 96 | SubElement(expansion_1, 'RuleSetInUse').text = RULE_SET_1 97 | expansion_2 = SubElement(criteria, 'Criteria', id=CRITERIA_2, any='1') 98 | SubElement(expansion_2, 'RuleSetInUse').text = RULE_SET_2 99 | 100 | 101 | def _add_frontend(root): 102 | frontend = SubElement(root, 'FrontEndActions') 103 | 104 | # text 105 | fe_text = SubElement(frontend, 'UpdateText', id='Cui_Front_End_Text') 106 | _sub_files(sub=fe_text, key='config', suffix='.sql') 107 | 108 | # database 109 | fe_data = SubElement(frontend, 'UpdateDatabase', 110 | id='Cui_Front_End_Database') 111 | _sub_files(sub=fe_data, key='config', suffix='.xml') 112 | 113 | 114 | def _add_ingame(root): 115 | ingame = SubElement(root, 'InGameActions') 116 | 117 | # assets 118 | asset = SubElement(ingame, 'ImportFiles', id='Cui_Assets') 119 | _sub_files(sub=asset, key='assets', suffix=None) 120 | 121 | # localization 122 | update = SubElement(ingame, 'UpdateText', id='Cui_Text') 123 | _sub_files(sub=update, key='config', suffix='.sql') 124 | _sub_files(sub=update, key='localization', suffix=None) 125 | 126 | # lib 127 | lib = SubElement(ingame, 'ImportFiles', id='Cui_Lib') 128 | lib_p = SubElement(lib, 'Properties') 129 | SubElement(lib_p, 'LoadOrder').text = '10' 130 | _sub_files(sub=lib, key='lib', suffix=None) 131 | 132 | # support 133 | support = SubElement(ingame, 'ImportFiles', id='Cui_Support') 134 | support_p = SubElement(support, 'Properties') 135 | SubElement(support_p, 'LoadOrder').text = '11' 136 | _sub_files(sub=support, key='support', suffix=None) 137 | 138 | # base game 139 | base = SubElement(ingame, 'ImportFiles', id='Cui_Base') 140 | base_p = SubElement(base, 'Properties') 141 | SubElement(base_p, 'LoadOrder').text = '12' 142 | _sub_files(sub=base, key='base', suffix=None) 143 | 144 | # expansion1 145 | expansion1 = SubElement(ingame, 'ImportFiles', 146 | id='Cui_Expansion1', criteria=CRITERIA_1) 147 | expansion1_p = SubElement(expansion1, 'Properties') 148 | SubElement(expansion1_p, 'LoadOrder').text = '13' 149 | _sub_files(sub=expansion1, key='expansion1', suffix=None) 150 | 151 | # expansion2 152 | expansion2 = SubElement(ingame, 'ImportFiles', 153 | id='Cui_Expansion2', criteria=CRITERIA_2) 154 | expansion2_p = SubElement(expansion2, 'Properties') 155 | SubElement(expansion2_p, 'LoadOrder').text = '14' 156 | _sub_files(sub=expansion2, key='expansion2', suffix=None) 157 | 158 | # additions - import files 159 | add_if = SubElement(ingame, 'ImportFiles', id='Cui_Additions') 160 | add_if_p = SubElement(add_if, 'Properties') 161 | SubElement(add_if_p, 'LoadOrder').text = '15' 162 | _sub_files(sub=add_if, key='additions', suffix=None) 163 | 164 | # additions - add user interface 165 | add_ui = SubElement(ingame, 'AddUserInterfaces', id='Cui_UI') 166 | add_ui_p = SubElement(add_ui, 'Properties') 167 | SubElement(add_ui_p, 'Context').text = 'InGame' 168 | _sub_files(sub=add_ui, key='additions', suffix='.xml') 169 | 170 | 171 | def _add_files(root): 172 | files = SubElement(root, 'Files') 173 | _sub_files(sub=files, key=None, suffix=None) 174 | 175 | 176 | # help functions ############################################################### 177 | 178 | 179 | def _get_files(mod_path, key, suffix): 180 | for item in mod_path.iterdir(): 181 | if item.suffix == '.modinfo': 182 | continue 183 | if item.is_file(): 184 | right_key = key is None or item.parents[0].name == key 185 | right_suf = suffix is None or item.suffix == suffix 186 | if right_key and right_suf: 187 | yield item 188 | elif item.is_dir(): 189 | yield from _get_files(item, key, suffix) 190 | 191 | 192 | def _sub_files(*, sub, key, suffix): 193 | for f in _get_files(PATH_MOD, key, suffix): 194 | SubElement(sub, 'File').text = _relative_path(f) 195 | 196 | 197 | def _relative_path(full_path): 198 | str_path = str(full_path).replace('\\', '/') 199 | rel_path = str_path.split('mod/', 1)[1] 200 | return rel_path 201 | 202 | 203 | if __name__ == '__main__': 204 | build() 205 | -------------------------------------------------------------------------------- /scripts/test.py: -------------------------------------------------------------------------------- 1 | """ 2 | This script copies the mod from the project directory to the steam directory 3 | for testing purposes. 4 | """ 5 | 6 | import shutil 7 | from pathlib import Path 8 | 9 | from build import build 10 | 11 | # Paths 12 | PATH_PROJECT = Path(__file__).parents[1] 13 | PATH_MOD = Path(PATH_PROJECT, 'mod') 14 | 15 | # ! This is the path on my computer, if you want to try this script, 16 | # please change it to where you installed the steam. 17 | PATH_STEAM = Path(r'e:/Steam/steamapps/workshop/content/289070/1671978687') 18 | 19 | 20 | def copy_(): 21 | try: 22 | shutil.copytree(PATH_MOD, PATH_STEAM, dirs_exist_ok=True) 23 | except Exception as e: 24 | err_name = type(e).__name__ 25 | print(f'[×] copy failed\n > {err_name}: {e.args}') 26 | else: 27 | print('[√] copy complete') 28 | 29 | 30 | if __name__ == "__main__": 31 | build() 32 | copy_() 33 | --------------------------------------------------------------------------------