mirror of
https://github.com/aclist/dztui.git
synced 2026-11-11 12:30:37 +01:00
feat: dzgui 7 alpha
This commit is contained in:
1 parent
1acdbd58c5
commit
2e5b771137
150 files changed
+10359
No files matched your search
@@ -0,0 +1,479 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import List, Dict
|
||||
|
||||
from dzgui.const.constants import SYSTEM_LOG
|
||||
|
||||
def build_missing(build: str) -> str:
|
||||
msg = (
|
||||
f"This server is running {build}. You can install "
|
||||
f"{build} by searching for it in your Steam library. "
|
||||
f"If you recently installed {build} or moved it to a different drive, "
|
||||
"restart Steam to allow these changes to synchronize, then try again."
|
||||
)
|
||||
return msg
|
||||
|
||||
|
||||
def build_path_invalid(build: str) -> str:
|
||||
msg = (
|
||||
f"Steam is reporting that {build} is installed at a non-existent location. "
|
||||
f"If you recently installed {build} or moved it to a different drive, "
|
||||
"restart Steam to allow these changes to synchronize, then try again."
|
||||
)
|
||||
return msg
|
||||
|
||||
# General
|
||||
dialog_header = "DZGUI - Dialog"
|
||||
dz = "DayZ"
|
||||
dz_exp = "DayZ Experimental"
|
||||
delimiter = "␞"
|
||||
|
||||
# GenericDialog
|
||||
main_menu = "Return to main menu"
|
||||
exit_app = "Exit"
|
||||
server_details = "Server details"
|
||||
modlist = "Modlist"
|
||||
input_required = "User input required"
|
||||
confirm = "Confirmation"
|
||||
notice = "Notice"
|
||||
wait = "Please wait"
|
||||
|
||||
# Wait dialogs
|
||||
ping = "Ping"
|
||||
mod = "Mod"
|
||||
_id = "ID"
|
||||
|
||||
# ContextMenu
|
||||
add_note = "Add note"
|
||||
edit_note = "Edit note"
|
||||
show_mods = "Show server-side mods"
|
||||
show_details = "Server details"
|
||||
refresh_players = "Refresh player count"
|
||||
open_workshop = "Open in Steam Workshop"
|
||||
delete_mod = "Delete mod"
|
||||
copy_name = "Copy name to clipboard"
|
||||
copy_ip = "Copy IP to clipboard"
|
||||
copy_log = "Copy record(s) to clipboard"
|
||||
add = "Add to my servers"
|
||||
remove = "Remove from my servers"
|
||||
remove_history = "Remove from history"
|
||||
|
||||
# Columns
|
||||
server_mod_cols = ["Mod", "ID", "Installed"]
|
||||
mod_cols = ["Mod", "Symlink", "Dir", "Size (MiB)", "Color"]
|
||||
log_cols = ["Timestamp", "Flag", "Traceback", "Message"]
|
||||
browser_cols = [
|
||||
"Name",
|
||||
"Map",
|
||||
"Perspective",
|
||||
"Gametime",
|
||||
"Players",
|
||||
"Maximum",
|
||||
"Queue",
|
||||
"IP",
|
||||
"Qport",
|
||||
"Ping",
|
||||
]
|
||||
|
||||
# DetailsDialog
|
||||
server_message = "Server message"
|
||||
workshop = "Enter/double click a row to open in Steam Workshop."
|
||||
|
||||
# LanDialog
|
||||
default_port = "Use default query port (27016)"
|
||||
custom_port = "Enter custom query port"
|
||||
scan_servers = "Scan LAN servers"
|
||||
select_port = "Select the query port"
|
||||
|
||||
# Errors
|
||||
config_not_found = "DZGUI configuration file not found. Please exit and restart."
|
||||
cannot_acquire_lock = "DZGUI is already open."
|
||||
something_wrong = "Something went wrong."
|
||||
steam_key_missing = "No Steam API key is set."
|
||||
malformed_mods = "Found mods on system, but was unable to parse results."
|
||||
steam_missing = "Local Steam installation is not set, possibly malformed config file."
|
||||
build_corrupted = "Steam settings or DayZ installation may be corrupted. Try restarting Steam."
|
||||
api_warn_msg = """No servers returned. Possible causes:
|
||||
no servers in favorites/history, local network issue, or API key on cooldown.
|
||||
Return to the main menu, wait 30s, and try again.
|
||||
If this issue persists, your API key may be defunct.
|
||||
"""
|
||||
server_timeout = "Timed out when querying server, check IP or try again later"
|
||||
server_error = "Error while contacting server, possibly timed out. Please wait and try again."
|
||||
server_protected = (
|
||||
"This server is password-protected and you will be "
|
||||
"prompted when connecting. Do you want to proceed?"
|
||||
)
|
||||
|
||||
|
||||
|
||||
# KeybindingsDialog
|
||||
navigation = {
|
||||
"Enter/space/double click": "select row item",
|
||||
"Down arrow": "move down a row/scroll down",
|
||||
"Up arrow": "move up a row/scroll up",
|
||||
"Right arrow": "jump to sidebar from main area",
|
||||
"Left arrow": "jump to main area from sidebar",
|
||||
"Tab": "cycle forward through elements",
|
||||
"Shift-tab": "cycle backward through elements",
|
||||
"ESC/Enter": "close dialogs",
|
||||
"?": "show/hide this dialog",
|
||||
"Ctrl-q": "Quit",
|
||||
}
|
||||
servers = {
|
||||
"Enter/space/double-click": "connect to server",
|
||||
"Right-click/Ctrl-l": "additional context menus",
|
||||
"Ctrl-r": "refresh players",
|
||||
"Ctrl-p": "refresh ping",
|
||||
"Ctrl-f": "jump to keyword search field",
|
||||
"Ctrl-m": "jump to maps field",
|
||||
"Ctrl-d": "toggle dry run (debug) mode",
|
||||
"ESC": "return to table",
|
||||
"1-9": "toggle filter 1-9 on/off",
|
||||
"0": "toggle filter 10",
|
||||
"Minus": "toggle filter 11",
|
||||
"Backslash": "toggle filter 12",
|
||||
}
|
||||
vim = {
|
||||
"j": "Move down a row/scroll up",
|
||||
"k": "Move up a row/scroll down",
|
||||
"l": "Jump to main area from sidebar",
|
||||
"h": "Jump to sidebar from main area",
|
||||
"gg": "Jump to first row/top of page",
|
||||
"G": "Jump to last row/bottom of page",
|
||||
}
|
||||
key_contexts = ["Servers", "Navigation", "Vim-style keys"]
|
||||
key_header = "Keybindings"
|
||||
|
||||
# ModSelectionPanel
|
||||
|
||||
# labels
|
||||
label_main_menu = "Main menu"
|
||||
|
||||
# buttons
|
||||
ping_servers = "Ping servers"
|
||||
debug_mode = "Debug mode"
|
||||
keys_button = "Keys"
|
||||
keys_tooltip = "Opens the keybindings dialog"
|
||||
debug_tooltip = (
|
||||
"Used to perform a dry run without\n"
|
||||
"actually connecting to a server"
|
||||
)
|
||||
ping_tooltip = (
|
||||
"Refresh the ping for visible servers.\n"
|
||||
"Available once per unique filter context"
|
||||
)
|
||||
|
||||
statusbar_helptext = "Select a row to see its detailed description"
|
||||
|
||||
# use e.g. filters.1pp
|
||||
filter_1pp = "1PP"
|
||||
filter_3pp = "3PP"
|
||||
filter_day = "Day"
|
||||
filter_night = "Night"
|
||||
filter_empty = "Empty"
|
||||
filter_full = "Full"
|
||||
filter_lowpop = "Low pop"
|
||||
filter_nonascii = "Non-ASCII"
|
||||
filter_duplicate = "Duplicate"
|
||||
filter_official = "Official"
|
||||
filter_unofficial = "Unoffic."
|
||||
filter_modded = "Modded"
|
||||
|
||||
# maps
|
||||
all_maps = "All maps"
|
||||
|
||||
# state
|
||||
unknown = "Unknown"
|
||||
none_provided = "None provided"
|
||||
disabled = "Disabled"
|
||||
enabled = "Enabled"
|
||||
null = "-"
|
||||
none = "None"
|
||||
unspecified = "not specified"
|
||||
|
||||
# DLC
|
||||
dlc_frostline = "Frostline"
|
||||
|
||||
# platform
|
||||
windows = "Windows"
|
||||
linux = "Linux"
|
||||
|
||||
# misc
|
||||
self_workshop = "Open Steam workshop"
|
||||
settings_updated = "Settings updated!"
|
||||
|
||||
|
||||
@dataclass(slots=True, frozen=True)
|
||||
class ModPanelStrings:
|
||||
header: str
|
||||
unhighlight_stale: str
|
||||
unhighlight_stale_tooltip: str
|
||||
highlight_stale: str
|
||||
highlight_stale_tooltip: str
|
||||
delete_selected: str
|
||||
delete_selected_tooltip: str
|
||||
unselect_all: str
|
||||
unselect_all_tooltip: str
|
||||
select_all: str
|
||||
select_all_tooltip: str
|
||||
bulk_select: str
|
||||
clear_highlights: str
|
||||
select_stale: str
|
||||
select_stale_tooltip: str
|
||||
|
||||
|
||||
@dataclass(slots=True, frozen=True)
|
||||
class Dialog:
|
||||
querying: str
|
||||
fetching: str
|
||||
filtering: str
|
||||
refreshing: str
|
||||
details: str
|
||||
modlist: str
|
||||
working: str
|
||||
updating_mods: str
|
||||
|
||||
@dataclass(slots=True, frozen=True)
|
||||
class Init:
|
||||
is_steam_running: str
|
||||
is_dayz_running: str
|
||||
requires_steam: str
|
||||
|
||||
@dataclass(slots=True, frozen=True)
|
||||
class Button:
|
||||
main_label: str
|
||||
main_tooltip: str
|
||||
mods_label: str
|
||||
mods_tooltip: str
|
||||
options_label: str
|
||||
options_tooltip: str
|
||||
help_label: str
|
||||
help_tooltip: str
|
||||
exit_label: str
|
||||
exit_tooltip: str
|
||||
|
||||
@dataclass(slots=True, frozen=True)
|
||||
class Crumbs:
|
||||
changelog: str
|
||||
history: str
|
||||
keys: str
|
||||
lan: str
|
||||
log: str
|
||||
main: str
|
||||
mods: str
|
||||
my_servers: str
|
||||
options: str
|
||||
servers: str
|
||||
thanks: str
|
||||
|
||||
@dataclass(slots=True, frozen=True)
|
||||
class Thanks:
|
||||
header: str
|
||||
description: str
|
||||
users: list[str]
|
||||
|
||||
@dataclass(slots=True, frozen=True)
|
||||
class Options:
|
||||
header: str
|
||||
steam_web: str
|
||||
bm_web: str
|
||||
enter_steam: str
|
||||
enter_bm: str
|
||||
steam_placeholder: str
|
||||
bm_placeholder: str
|
||||
name_placeholder: str
|
||||
last_used: str
|
||||
always_fs: str
|
||||
steam: str
|
||||
flatpak: str
|
||||
km: str
|
||||
mi: str
|
||||
client: str
|
||||
window_size: str
|
||||
distance: str
|
||||
name: str
|
||||
manual_dl: str
|
||||
auto_dl: str
|
||||
update: str
|
||||
install_mode: str
|
||||
force_update: str
|
||||
dl_eventbox: str
|
||||
force_eventbox: str
|
||||
self_update: str
|
||||
no_self_update: str
|
||||
api_keys: str
|
||||
prefs: str
|
||||
mods: str
|
||||
version: str
|
||||
branch: str
|
||||
stable: str
|
||||
testing: str
|
||||
manual_sub_msg: str
|
||||
|
||||
init = Init(
|
||||
is_steam_running = "Is Steam running? DZGUI must be run on top of Steam.",
|
||||
is_dayz_running = "Is DayZ already running? DZGUI cannot launch DayZ if another process is using it.",
|
||||
requires_steam = "DZGUI requires that Steam or Flatpak Steam be installed on the system.",
|
||||
)
|
||||
|
||||
mod_panel = ModPanelStrings(
|
||||
header = "Mod actions",
|
||||
unhighlight_stale = "Unhighlight stale",
|
||||
unhighlight_stale_tooltip = "Clears highlight from stale mods",
|
||||
highlight_stale = "Highlight stale",
|
||||
highlight_stale_tooltip = (
|
||||
"Shows locally-installed mods which are not used by any server "
|
||||
"in your Saved Servers"
|
||||
),
|
||||
delete_selected = "Delete selected",
|
||||
delete_selected_tooltip = "Deletes selected mods from the system",
|
||||
unselect_all = "Unselect all",
|
||||
unselect_all_tooltip = "Bulk unselects all mods",
|
||||
select_all = "Select all",
|
||||
select_all_tooltip = "Bulk selects all mods",
|
||||
bulk_select = "Bulk selects all currently highlighted mods",
|
||||
clear_highlights = "Clears highlights and reverts the table to a default state",
|
||||
select_stale = "Select stale",
|
||||
select_stale_tooltip = "Only selects highlighted stale mods",
|
||||
)
|
||||
|
||||
|
||||
thanks = Thanks(
|
||||
header = "# Special thanks",
|
||||
description = (
|
||||
"This page recognizes beta testers, collaborators, code "
|
||||
"contributors, and sponsors of the project in alphabetical order."
|
||||
),
|
||||
users = [
|
||||
"bongjutsu",
|
||||
"Deku",
|
||||
"dj3hac",
|
||||
"GaryBlackbourne",
|
||||
"jiriks74",
|
||||
"Johnofwrong",
|
||||
"MatheusLasserr",
|
||||
"nolan-perez",
|
||||
"scandalouss",
|
||||
"StevelDusa",
|
||||
"Thoughtduck216",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
options = Options(
|
||||
header="Options",
|
||||
steam_web="Steam API page",
|
||||
bm_web="Battlemetrics API page",
|
||||
enter_steam="Enter your Steam API key",
|
||||
enter_bm="Enter your Battlemetrics API key",
|
||||
steam_placeholder="Steam API key",
|
||||
bm_placeholder="Battlemetrics API key",
|
||||
name_placeholder="Identifies you to other players in-game",
|
||||
last_used="Last used dimensions",
|
||||
always_fs="Always fullscreen",
|
||||
steam="Steam",
|
||||
flatpak="Flatpak (experimental)",
|
||||
km="km (kilometers)",
|
||||
mi="mi (miles)",
|
||||
client="Steam client",
|
||||
window_size="Window size at boot",
|
||||
distance="Distance display",
|
||||
name="Player name",
|
||||
manual_dl="Manual",
|
||||
auto_dl="Auto",
|
||||
update="Update",
|
||||
install_mode = "Mod install mode",
|
||||
force_update = "Force update local mods",
|
||||
dl_eventbox = (
|
||||
"Manual: prompt to subscribe to mods in Steam. "
|
||||
"Auto: unmanned downloads."
|
||||
),
|
||||
force_eventbox = "Synchronize all local mods. Automatic mode must be enabled.",
|
||||
self_update = (
|
||||
"Stable: only contains stable features. "
|
||||
"Testing: pre-release beta, contains new features."
|
||||
),
|
||||
no_self_update = (
|
||||
"In-app updates are disabled when DZGUI is "
|
||||
"installed globally (e.g., via package manager)."
|
||||
),
|
||||
api_keys = "API Keys",
|
||||
prefs = "Preferences",
|
||||
mods = "Mods",
|
||||
version = "Version",
|
||||
branch = "DZGUI branch",
|
||||
stable = "Stable",
|
||||
testing = "Testing",
|
||||
manual_sub_msg = """When switching from MANUAL to AUTO mod install mode,
|
||||
DZGUI will manage mod installation and deletion for you.
|
||||
To prevent conflicts with Steam Workshop subscriptions and old mods from being downloaded
|
||||
when Steam updates, you should unsubscribe from any existing Workshop mods you manually subscribed to.
|
||||
Open your Profile > Workshop Items and select 'Unsubscribe from all'
|
||||
on the right-hand side.
|
||||
""",
|
||||
)
|
||||
|
||||
dialog = Dialog(
|
||||
querying = "Querying server",
|
||||
fetching = "Fetching server metadata",
|
||||
filtering = "Filtering servers",
|
||||
refreshing = "Refreshing player count",
|
||||
details = "Fetching details",
|
||||
modlist = "Fetching modlist",
|
||||
working = "Working",
|
||||
updating_mods = "Updating mods",
|
||||
)
|
||||
|
||||
buttons = Button(
|
||||
main_label="Main menu",
|
||||
main_tooltip="Search for and connect to servers",
|
||||
mods_label="Mods",
|
||||
mods_tooltip="Manage local mods",
|
||||
options_label="Options",
|
||||
options_tooltip="Advanced options",
|
||||
help_label="Help",
|
||||
help_tooltip="Troubleshooting and documentation",
|
||||
exit_label="Exit",
|
||||
exit_tooltip="Quits the application",
|
||||
)
|
||||
|
||||
crumbs = Crumbs(
|
||||
changelog="Help > Changelog",
|
||||
history="Main menu > Recent servers",
|
||||
keys="Keybindings",
|
||||
lan="Main menu > Local servers",
|
||||
log="Help > Debug log",
|
||||
main="Main menu",
|
||||
mods="Mods",
|
||||
my_servers="Main menu > Saved servers",
|
||||
options="Options",
|
||||
servers="Main menu > Server browser",
|
||||
thanks="Help > Special thanks"
|
||||
)
|
||||
|
||||
checkmark = "✓"
|
||||
no_mods = "No local mods found."
|
||||
|
||||
@dataclass(slots=True, frozen=True)
|
||||
class Flags:
|
||||
description: str
|
||||
version: str
|
||||
uninstall: str
|
||||
|
||||
flags = Flags(
|
||||
description="DayZ server browser and mod manager",
|
||||
version="Print version information",
|
||||
uninstall="Uninstall data files (use prior to 'pip uninstall')"
|
||||
)
|
||||
|
||||
@dataclass(slots=True, frozen=True)
|
||||
class FilePicker:
|
||||
title: str
|
||||
placeholder: str
|
||||
|
||||
picker = FilePicker(
|
||||
title = "Save diagnostic log to file",
|
||||
placeholder = SYSTEM_LOG,
|
||||
)
|
||||
|
||||
api_error = "API key validation error or timeout. See 'Help > Show debug log' for details."
|
||||
Reference in new issue
Block a user