Update from Git Manager GUI

This commit is contained in:
2026-02-25 19:01:41 +01:00
parent bc3c2399a6
commit e5505edf2c
14 changed files with 3007 additions and 1284 deletions

View File

@@ -0,0 +1,461 @@
# ============================================================
# TicketSystem Language File English (en)
#
# All plugin messages can be customized here.
# Color codes: & (e.g. &a = green, &c = red, &e = yellow, &7 = grey)
# HEX-Codes: &#RRGGBB (e.g. &#00AA00 = Green)
# Placeholders are written in curly braces: {id}, {player}, ...
#
# Switch language in config.yml: language: en
# Switch command language in config.yml: command-language: de | en | both
#
# {cmd_X} is automatically replaced based on command-language, e.g.:
# command-language: de → /ticket erstellen
# command-language: en → /ticket create
# command-language: both → /ticket create (erstellen)
# ============================================================
prefix: "&#5555FF[&fTicket&#5555FF] &r"
# ============================================================
# GENERAL ERRORS & HINTS
# ============================================================
general:
no-permission: "&cYou don't have permission to do this!"
console-only: "&cThis command can only be used by players."
invalid-id: "&cInvalid ID!"
invalid-player-id: "&cInvalid ticket ID: &e{id}"
player-not-found: "&cPlayer not found!"
ticket-not-found: "&cTicket not found!"
already-claimed: "&cThis ticket has already been claimed!"
no-open-tickets: "&aThere are no open tickets right now."
cooldown: "&cPlease wait &e{seconds} seconds &cbefore creating a new ticket."
separator: "&#777777&m "
# ============================================================
# SYSTEM (Export, Import, Migration, Archive, Validation)
# ============================================================
system:
export-success: "&aExport successful: &e{count} &atickets exported to &e{file}&a."
export-fail: "&cExport failed or no tickets found."
import-success: "&aImport successful: &e{count} &atickets imported."
import-fail: "&cImport failed or no tickets found."
migration-success: "&aMigration complete: &e{count} &atickets migrated."
migration-fail: "&cNo tickets migrated or an error occurred."
archive-success: "&aArchiving complete: &e{count} &atickets archived."
archive-fail: "&cNo closed tickets found to archive."
file-not-found: "&cFile not found: &e{file}"
unknown-mode: "&cUnknown mode! Use: tomysql or tofile"
validation-warning: "&c&e{count} &cinvalid tickets were found during loading."
db-create-error: "&cFailed to create the ticket!"
# ============================================================
# TICKET ACTIONS
# ============================================================
ticket:
created: "&aTicket &e#{id} &ahas been created successfully!"
created-category: "&aTicket &e#{id} &acreated! &7Category: {category}"
claimed: "&aYou have claimed ticket &e#{id} &afrom &e{player}&a."
claimed-notify: "&aYour ticket &e#{id} &ahas been claimed by &e{claimer}&a."
closed: "&aTicket &e#{id} &ahas been closed."
closed-notify: "&aYour ticket &e#{id} &ahas been closed."
forwarded: "&aTicket &e#{id} &ahas been forwarded to &e{player}&a."
forwarded-notify: "&eYou have received a forwarded ticket from &6{player}&e. &7(ID: {id})"
forwarded-creator: "&eYour ticket &6#{id} &ehas been forwarded to &b{supporter}&e."
new-notify: "&e{player} &acreated a new ticket: &7{message} &7(ID: &e{id}&7)"
close-comment-label: "&7Support comment: &f{comment}"
close-comment-short: "&7Comment: &f{comment}"
pending-closed: "&e[Ticket #{id}] &7Your ticket has been closed.{comment}{rating}"
pending-closed-comment: " &7Comment: &f{comment}"
pending-closed-rating: " &7Rating: &e{cmd_rate} {id} good/bad"
# ============================================================
# NOTIFICATIONS (Team / GUI hint)
# ============================================================
notify:
gui-hint: "&7» Click &e{cmd_list} &7to open the overview."
team-category: " §7[§r{category}§7]"
team-priority: " §7Priority: §r{priority}"
team-server: " §7Server: §b{server}"
# ============================================================
# TICKET CREATE
# ============================================================
create:
usage: "&cUsage: {cmd_create} [category] [priority] <description>"
categories-hint: "&7Categories: &ebug&7, &equestion&7, &ecomplaint&7, &eother&7, &egeneral"
priorities-hint: "&7Priorities: &alow&7, &enormal&7, &6high&7, &curgent"
max-tickets: "&cYou already have &e{max} &copen ticket(s). Please wait until your ticket is processed."
no-description: "&cPlease provide a description for your ticket."
too-long: "&cYour description is too long! Maximum {max} characters."
blacklist-blocked: "&cYou have been banned from the ticket system and cannot create tickets."
category-invalid: "&cUnknown category: &e{input}&c. Available categories: &e{categories}"
# ============================================================
# CLAIM / CLOSE / FORWARD
# ============================================================
claim:
usage: "&cUsage: {cmd_claim} <ID>"
close:
usage: "&cUsage: {cmd_close} <ID> [comment]"
forward:
usage: "&cUsage: {cmd_forward} <ID> <player>"
bungee-offline: "&7[BungeeCord] Player &e{player} &7is not online on this server."
local-not-found: "&cPlayer not found!"
# ============================================================
# COMMENTS
# ============================================================
comment:
saved: "&aYour comment on ticket &e#{id} &ahas been saved."
usage: "&cUsage: {cmd_comment} <ID> <message>"
too-long: "&cMessage too long! Maximum 500 characters."
no-permission: "&cYou can only comment on your own tickets."
error: "&cFailed to save the comment."
notify-online: "&e[Ticket #{id}] &f{author} &7commented: &f{message}"
notify-offline: "&e[Ticket #{id}] &f{author} &7commented while you were offline: &f{message}"
claimer-offline: "&e[Ticket #{id}] &f{author} &7commented on your claimed ticket (offline): &f{message}"
# ============================================================
# RATINGS
# ============================================================
rating:
saved-good: "&aThank you for your rating! &a👍 Positive"
saved-bad: "&aThank you for your rating! &c👎 Negative"
already-rated: "&cYou have already rated this ticket."
not-yours: "&cYou can only rate your own tickets."
disabled: "&cRatings are currently disabled."
not-closeable: "&cRating could not be saved. Is the ticket still open?"
usage: "&cUsage: {cmd_rate} <ID> <good|bad>"
invalid: "&cInvalid rating! Use &egood &cor &ebad&c."
prompt-header: "&#777777&m "
prompt-title: "&6How satisfied are you with the support?"
prompt-good: "&a{cmd_rate} {id} good &7 👍 Good"
prompt-bad: "&c{cmd_rate} {id} bad &7 👎 Bad"
prompt-footer: "&#777777&m "
# ============================================================
# SET PRIORITY
# ============================================================
setpriority:
usage: "&cUsage: {cmd_setpriority} <ID> <low|normal|high|urgent>"
disabled: "&cThe priority system is disabled."
invalid: "&cInvalid priority! Valid: &alow&7, &enormal&7, &6high&7, &curgent"
success: "&aPriority of ticket &e#{id} &ahas been set to {priority}&a."
not-found: "&cTicket &e#{id} &cwas not found."
# ============================================================
# BLACKLIST
# ============================================================
blacklist:
added: "&a{player} &ahas been added to the ticket blacklist. &7Reason: &e{reason}"
removed: "&a{player} &ahas been removed from the blacklist."
already: "&cPlayer is already on the blacklist."
not-found: "&cPlayer was not on the blacklist."
usage: "&cUsage: {cmd_blacklist} <add|remove|list> [player] [reason]"
usage-add: "&cUsage: {cmd_blacklist} add <player> [reason]"
usage-remove: "&cUsage: {cmd_blacklist} remove <player>"
list-header: "&6Ticket Blacklist &7({count} entries)"
list-empty: "&7No banned players."
list-entry: "&e{player} &7 &f{reason} &7(banned by &e{by}&7)"
# ============================================================
# STATISTICS
# ============================================================
stats:
header: "&6Ticket Statistics"
total: "&eTotal: &a{count}"
open: "&eOpen: &a{count}"
closed: "&eClosed: &a{count} &7(historical)"
forwarded: "&eForwarded: &a{count}"
ratings-header: "&6Support Ratings &7(total, historical)"
ratings-summary: "&a👍 Positive: &f{up} &c👎 Negative: &f{down}"
ratings-percent: "&7Satisfaction: &e{percent}%"
staff-header: "&6Ratings by support staff:"
staff-table-header: "&7 Name 👍 👎 Tickets Satisfied"
staff-entry: "&e {name} &a{up} &c{down} &7{total} &e{percent}"
servers-header: "&6Tickets by server:"
server-entry: "&b {server}: &a{count}"
top-header: "&6Top-5 Ticket Creators &7(historical, persistent)"
top-empty: "&7No data available yet."
top-entry: " {medal} &f{name} &e{count} &7{label}"
top-ticket-label: "Ticket"
top-tickets-label: "Tickets"
cache-info: "&7Cache: &e{count} &7cached ticket(s)"
# ============================================================
# TOP CREATORS
# ============================================================
top:
header: "&6&lTop-5 Ticket Creators"
empty: "&7No data available yet."
entry: "{medal} &f{name} &e{count} &7{label}"
footer: "&7(Counts are kept even after tickets are deleted)"
# ============================================================
# RELOAD
# ============================================================
reload:
success: "&aConfiguration reloaded. &7(Categories, FAQs, cache cleared)"
bungee-info: "&8[BungeeCord] &7Server: &b{server}"
# ============================================================
# MIGRATE / EXPORT / IMPORT
# ============================================================
migrate:
usage: "&cUsage: {cmd_migrate} <tomysql|tofile>"
export:
usage: "&cUsage: {cmd_export} <filename>"
import:
usage: "&cUsage: {cmd_import} <filename>"
# ============================================================
# FAQ SYSTEM
# ============================================================
faq:
usage-add: "&cUsage: {cmd_faq} add <question> | <answer>"
usage-add-example: "&7Example: &e{cmd_faq} add How do I create a ticket? | Use {cmd_create}."
usage-edit: "&cUsage: {cmd_faq} edit <ID> <question> | <answer>"
usage-delete: "&cUsage: {cmd_faq} delete <ID>"
separator-missing: "&cSeparate question and answer with &e|&c, e.g.:"
separator-example: "&e{cmd_faq} add How do I create a ticket? | Use {cmd_create}."
separator-short: "&cSeparate question and answer with &e|&c."
invalid-id: "&cInvalid FAQ ID: &e{id}"
created: "&aFAQ &e#{id} &ahas been created successfully!"
created-question: "&7Question: &e{question}"
created-answer: "&7Answer: &f{answer}"
updated: "&aFAQ &e#{id} &ahas been updated successfully!"
deleted: "&aFAQ &e#{id} &ahas been deleted."
not-found: "&cFAQ &e#{id} &cwas not found."
reloaded: "&aFAQs reloaded. ({count} entries)"
list-header: "&6Frequently Asked Questions &7— {count} entries"
list-empty: "&7No FAQs available yet."
list-entry: "&e#{id} &f{question}"
list-answer: " &7→ &f{answer}"
list-admin-hint: "&7Commands: &e{cmd_faq} add &8| &e{cmd_faq} edit <ID> &8| &e{cmd_faq} delete <ID>"
unknown-sub: "&cUnknown FAQ command."
hint-open: "&7Use &e{cmd_faq} &7to open the GUI."
admin-commands: "&7Admin commands: &e{cmd_faq} add | edit | delete | reload | list"
# ============================================================
# HELP MENU (/ticket without arguments)
# ============================================================
help:
header: "&#00FF00&lTicketSystem &7 Commands"
create: "&e{cmd_create} [category] <text> &7 Create a new ticket"
list: "&e{cmd_list} &7 View your tickets (GUI)"
comment: "&e{cmd_comment} <ID> <text> &7 Add a message to a ticket"
rate: "&e{cmd_rate} <ID> <good|bad> &7 Rate the support"
claim: "&e{cmd_claim} <ID> &7 Claim a ticket"
close: "&e{cmd_close} <ID> [comment] &7 Close a ticket"
forward: "&e{cmd_forward} <ID> <player> &7 Forward a ticket"
blacklist: "&e{cmd_blacklist} <add|remove|list> [player] [reason] &7 Manage blacklist"
reload: "&e{cmd_reload} &7 Reload configuration"
stats: "&e{cmd_stats} &7 Show statistics"
bungee-status: "&8[BungeeCord] &7Server: &b{server} &8| Cross-server notifications &aactive"
# ============================================================
# GUI TEXTS (TicketGUI)
# ============================================================
gui:
# ── Chat messages ────────────────────────────────────────
no-archive-permission: "&cYou don't have permission to open the archive."
no-tickets: "&aYou don't have any tickets right now."
filter-label: "&7Filter: {filter}"
ticket-removed: "&aYour ticket &e#{id} &ahas been removed from your overview."
ticket-remove-error: "&cFailed to remove the ticket."
ticket-remove-claimed: "&cYou cannot delete this ticket because it is already being handled by a supporter."
teleport-success: "&7You have been teleported to ticket &e#{id}&7."
world-not-loaded: "&cThe world of this ticket is not loaded!"
teleport-disabled: "&cCross-server teleport is disabled in the config.{hint}"
teleport-unknown: "&cTicket server unknown teleport not possible."
bungee-connect: "&7Connecting to server &b{server} &7for ticket &e#{id}&7..."
bungee-connect-fail: "&cServer switch failed. Please connect manually."
no-delete-permission: "&cYou don't have permission to permanently delete tickets."
only-closed-deletable: "&cOnly closed tickets can be permanently deleted."
ticket-deleted: "&aTicket &e#{id} &ahas been permanently deleted."
ticket-delete-error: "&cFailed to delete the ticket."
already-closed: "&cThis ticket is already closed."
close-prompt-header: "&6Close ticket #{id}"
close-prompt-hint: "&7Enter a comment (&e- &7for none)."
close-prompt-cancel: "&7Type &ccancel &7to abort."
close-cancelled: "&cCancelled."
close-comment-echo: "&7Comment: &f{comment}"
no-priority-permission: "&cYou don't have permission to change the priority."
priority-closed: "&cThe priority of closed tickets cannot be changed."
priority-set: "&aPriority set to {priority}&a."
priority-error: "&cFailed to change the priority."
comments-header: "&6Comments on ticket #{id}"
comments-empty: "&7No comments yet."
comments-entry: "&e{author} &7({time})&8: &f{message}"
# ── Inventory titles ─────────────────────────────────────
item:
title-admin: "§8§lTicket Overview"
title-archive: "§8§lTicket Archive"
title-player: "§8§lMy Tickets"
title-detail: "§8§lTicket Details"
# ── Lore labels in ticket items ─────────────────────
lore-creator: "§7Creator: §e{value}"
lore-message: "§7Message: §f{value}"
lore-created: "§7Created: §e{value}"
lore-server: "§7Server: §b{value}"
lore-world: "§7World: §e{value}"
lore-position: "§7Position: §e{value}"
lore-category: "§7Category: {value}"
lore-priority: "§7Priority: {value}"
lore-claimed-by: "§7Claimed by: §a{value}"
lore-claimed-at: "§7Claimed at: §a{value}"
lore-closed-at: "§7Closed at: §c{value}"
lore-comment: "§7Comment: §f{value}"
lore-rating-none: "§7No rating"
lore-rating-good: "§a👍 Positive"
lore-rating-bad: "§c👎 Negative"
lore-rating-label: "§7Rating: {value}"
lore-player-deleted: "§cPlayer deleted this ticket."
# ── Admin list item ─────────────────────────────────
list-click: "§e§l» CLICK for details"
# ── Player list item ────────────────────────────────
player-delete-hint: "§c§l» CLICK to remove"
player-delete-desc: "§7Remove this ticket from your overview."
player-in-progress: "§e» Ticket is being processed..."
player-no-delete: "§7Cannot be deleted anymore."
player-rate-hint: "§e» /ticket rate {id} good/bad"
player-rated-good: "§7Rated: §a👍"
player-rated-bad: "§7Rated: §c👎"
player-comment-label: "§7Support comment:"
# ── Detail action buttons ───────────────────────────
btn-teleport: "§b§lTeleport"
btn-teleport-lore1: "§7Teleports you to the"
btn-teleport-lore2: "§7location of this ticket."
btn-teleport-bungee1: "§7Teleports you to the ticket location."
btn-teleport-same: "§7This server §a(direct)"
btn-teleport-other: "§7Target server: §b{server}"
btn-teleport-local: "§8Local teleport"
btn-teleport-switch: "§8Server switch required"
btn-teleport-unknown: "§cServer unknown"
btn-teleport-disabled: "§8Teleport disabled"
btn-teleport-dis1: "§7In BungeeCord mode"
btn-teleport-dis2: "§7teleportation is disabled."
btn-teleport-dis3: "§8(bungee-teleport-enabled: false)"
btn-teleport-server: "§7Ticket server: §b{server}"
btn-teleport-noserver: "§7Server unknown"
btn-claim: "§a§lClaim ticket"
btn-claim-lore1: "§7Claims this ticket and"
btn-claim-lore2: "§7marks it as being processed."
btn-claimed: "§8Already claimed"
btn-claimed-lore1: "§7This ticket has already"
btn-claimed-lore2: "§7been claimed."
btn-delete: "§4§lPermanently delete ticket"
btn-delete-lore1: "§7Deletes this ticket"
btn-delete-lore2: "§7irreversibly from the database."
btn-delete-warn: "§c§lWARNING: §cThis cannot be undone!"
btn-close: "§c§lClose ticket"
btn-close-lore1: "§7Closes the ticket."
btn-close-lore2: "§eClick to enter a comment."
btn-closed: "§8Already closed"
btn-closed-lore1: "§7This ticket is already"
btn-closed-lore2: "§7closed."
btn-comments: "§e§lShow comments"
btn-comments-lore1: "§7Shows all messages/replies"
btn-comments-lore2: "§7for this ticket in chat."
btn-prio: "§6§lChange priority"
btn-prio-current: "§7Current: {value}"
btn-prio-click: "§8Click to cycle"
btn-back: "§7§lBack"
btn-back-lore: "§7Back to ticket overview."
# ── Navigation ──────────────────────────────────────
nav-prev: "§7§l◄ Previous"
nav-prev-lore: "§7Page {page} of {total}"
nav-next: "§7§lNext ►"
nav-next-lore: "§7Page {page} of {total}"
nav-page: "§8Page {page}/{total}"
nav-page-lore: "§7Total: {count} tickets on this page"
nav-archive: "§7§lClosed Tickets"
nav-archive-lore1: "§7Shows all completed"
nav-archive-lore2: "§7tickets in the archive."
nav-back-overview: "§7§lBack to Overview"
nav-back-ov-lore: "§7Shows all open tickets."
nav-filter: "§e§lCategory Filter"
nav-filter-current: "§7Current: {value}"
nav-filter-click: "§8Click to cycle"
nav-filter-all: "§7All (no filter)"
# ── FAQ GUI Texts (New) ─────────────────────────────────
faq:
title: "&#00FF00&lFrequently Asked Questions (FAQ)"
admin-title: "§8§lManage FAQ"
action-title: "§8§lFAQ Actions"
add-button: "§a§lAdd new FAQ"
add-lore-1: "§7Adds a new FAQ entry."
add-lore-2: "§7You will be asked for question and answer."
edit-button: "§a§lEdit FAQ"
edit-lore-1: "§7Change question and answer"
edit-lore-2: "§7of this FAQ entry."
delete-button: "§c§lDelete FAQ"
delete-lore-1: "§7Deletes this FAQ entry."
delete-lore-2: "§c§lWARNING: §cCannot be undone!"
delete-error: "§cError: FAQ #{id} could not be deleted."
back-button: "§7§lBack"
back-lore: "§7Back to FAQ overview."
click-detail: "§e» Click for more details in chat"
click-edit: "§e» Click to edit / delete"
nav-prev: "§7§l◄ Previous"
nav-prev-lore: "§7Page {page} of {total}"
nav-next: "§7§lNext ►"
nav-next-lore: "§7Page {page} of {total}"
nav-page: "§8Page {page}/{total}"
nav-page-lore: "§7Total: {count} FAQ(s)"
chat-create-title: "§6§lCreate new FAQ"
chat-question-prompt: "§7Enter the §eQuestion §7(or §ccancel§7):"
chat-answer-prompt: "§7Now enter the §eAnswer §7(or §ccancel§7):"
chat-edit-title: "§6§lEdit FAQ #{id}"
chat-current-question: "§7Current Question: §e{question}"
lore-id: "§7FAQ #{id}"
lore-separator: "§8§m "
question-set: "§7Question set: §e{question}"
internal-error: "§cInternal error while editing the FAQ."
# ============================================================
# JOIN LISTENER
# ============================================================
join:
open-tickets: "&eThere are still &6{count} &eopen ticket(s)!"
open-tickets-hint: "&7» Type &e{cmd_list} &7for the overview."
teleport-world-missing: "&cTeleport target world &e{world} &cnot found!"
teleport-success: "&7You have been teleported to the ticket location. &8({coords})"
pending-header: "&6Ticket notifications &7(while you were offline):"
# ============================================================
# UPDATE CHECKER
# ============================================================
update:
available-console: "New version available: {new} (current: {current})"
available-bar: "===================================================="
available-line1: "&6[TicketSystem] &eNEW UPDATE AVAILABLE: v{version}"
available-line2: "&6[TicketSystem] &eDownload: https://www.spigotmc.org/resources/132757"