674 lines
33 KiB
YAML
674 lines
33 KiB
YAML
# ============================================================
|
||
# 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. �AA00 = Green)
|
||
# Placeholders are written in curly braces: {id}, {player}, ...
|
||
#
|
||
# Switch language in config.yml: language: en
|
||
#
|
||
# {cmd_X} is automatically replaced based on language, e.g.:
|
||
# language: de → /ticket erstellen
|
||
# language: en → /ticket create
|
||
# language: both → /ticket create (erstellen)
|
||
# ============================================================
|
||
|
||
prefix: "ᖳFF[&fTicketᖳFF] &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: "򽸱&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."
|
||
|
||
# ============================================================
|
||
# BACKUP
|
||
# ============================================================
|
||
backup:
|
||
start: "&eCreating backup..."
|
||
success: "&aBackup created successfully: &e{file}"
|
||
fail: "&cBackup failed. Check the console."
|
||
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:run_command:/ticket list><yellow>Click here</yellow></click> &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: "򽸱&m "
|
||
prompt-title: "&6How satisfied are you with the support?"
|
||
prompt-good: "<green><click:run_command:/ticket rate {id} good>&a👍 Rate Good</click></green>"
|
||
prompt-bad: "<red><click:run_command:/ticket rate {id} bad>&c👎 Rate Bad</click></red>"
|
||
prompt-footer: "򽸱&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."
|
||
no-player-permission: "&cOnly admins and supporters are allowed to set priority."
|
||
|
||
# ============================================================
|
||
# PRIORITY LABELS (Low, Normal, High, Urgent)
|
||
# ============================================================
|
||
priorities:
|
||
low: "Low"
|
||
normal: "Normal"
|
||
high: "High"
|
||
urgent: "Urgent"
|
||
|
||
# ============================================================
|
||
# 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(Counters persist 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}"
|
||
created-category-info: "&7Category: {category}"
|
||
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)"
|
||
migrate-no-mysql: "&cFAQ migration only possible when use-mysql: true is active."
|
||
migrate-start: "&eFAQ migration started... (faqs.yml → MySQL)"
|
||
migrate-success: "&aFAQ migration complete! &7{cats} category/categories and {entries} entry/entries imported."
|
||
migrate-fail: "&cFAQ migration failed. Check the console for details."
|
||
migrate-tofile-start: "&eFAQ export started... (MySQL → faqs.yml)"
|
||
migrate-tofile-success: "&aFAQ export complete! &7{cats} category/categories and {entries} entry/entries saved to faqs.yml."
|
||
list-header: "&6Frequently Asked Questions (FAQ) &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 subcommand."
|
||
hint-open: "&7Use &e{cmd_faq} &7to open the GUI."
|
||
disabled: "&cThe FAQ system is disabled on this server."
|
||
admin-commands: "&7Admin commands: &e{cmd_faq} add | edit | delete | reload | list | migrate"
|
||
|
||
# ============================================================
|
||
# FAQ CATEGORY COMMAND (/ticket category)
|
||
# ============================================================
|
||
faqcat:
|
||
usage: "&cUsage: /ticket category <add|delete|list>"
|
||
usage-add: "&cUsage: /ticket category add <n> [&Color] [Description]"
|
||
usage-delete: "&cUsage: /ticket category delete <key>"
|
||
created: "&aFAQ category &e{name} &acreated! &7(Key: &e{key}&7)"
|
||
deleted: "&aFAQ category &e{key} &ahas been deleted. &7FAQs are now uncategorized."
|
||
not-found: "&cFAQ category &e{key} &cwas not found."
|
||
already-exists: "&cA FAQ category with key &e{name} &calready exists."
|
||
list-header: "&6FAQ Categories &7({count} entries)"
|
||
list-empty: "&7No FAQ categories yet."
|
||
list-entry: "&e{key} &8→ &r{name} &8| &7{count} FAQ(s) &8| &7{desc}"
|
||
|
||
# ============================================================
|
||
# HELP MENU (/ticket without arguments)
|
||
# ============================================================
|
||
help:
|
||
header: "�FFFF&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 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 view the archive."
|
||
no-tickets: "&aYou currently have no tickets."
|
||
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 as it is already being processed 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 you 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: "&7Cancel with &ccancel"
|
||
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 for 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 ─────────────────────────────────────────
|
||
faq:
|
||
title: "�FF00&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 "
|
||
lore-category: "§7Category: {category}"
|
||
question-set: "§7Question set: §e{question}"
|
||
internal-error: "§cInternal error while editing the FAQ."
|
||
|
||
# ── Category selection screen ────────────────────────
|
||
cat-title: "�FF00&lFAQ – Select Category"
|
||
cat-admin-title: "§8§lFAQ – Manage Category"
|
||
|
||
cat-lore-separator: "§8§m "
|
||
cat-lore-count: "§7Entries: §e{count}"
|
||
cat-lore-click: "§e» Click to open"
|
||
cat-lore-admin-hint: "§8(Admin: Add new FAQ to this category)"
|
||
cat-lore-shift-hint: "§8Shift+Click to manage"
|
||
|
||
cat-back-button: "§7§l◄ Categories"
|
||
cat-back-lore: "§7Back to category selection."
|
||
|
||
cat-add-button: "§a§l+ New Category"
|
||
cat-add-lore-1: "§7Creates a new FAQ category."
|
||
cat-add-lore-2: "§7Use: /ticket category add <n>"
|
||
|
||
# ── Category action GUI ──────────────────────────────
|
||
cat-action-title: "§8§lManage Category"
|
||
cat-edit-button: "§a§lEdit Category"
|
||
cat-edit-lore-1: "§7Change name, color and"
|
||
cat-edit-lore-2: "§7description of this category."
|
||
cat-delete-button: "§c§lDelete Category"
|
||
cat-delete-lore-1: "§7Deletes this category."
|
||
cat-delete-lore-2: "§7FAQs will be set to 'No category'."
|
||
|
||
# ── Category chat flow ───────────────────────────────
|
||
cat-chat-add-title: "§6§lCreate New Category"
|
||
cat-chat-edit-title: "§6§lEdit Category: {name}"
|
||
cat-chat-current-name: "§7Current name: §e{name}"
|
||
cat-chat-current-color: "§7Current color: {color}"
|
||
cat-chat-current-desc: "§7Current description: §f{desc}"
|
||
cat-chat-name-prompt: "§7Enter the §eName §7(or §ccancel§7):"
|
||
cat-chat-name-set: "§7Name set: §e{name}"
|
||
cat-chat-color-prompt: "§7Enter the §ecolor code§7, e.g. §a&a§7 or §c&c §7(or §ccancel§7):"
|
||
cat-chat-color-set: "§7Color set: {colored}"
|
||
cat-chat-desc-prompt: "§7Enter the §eDescription §7(§8- §7for none, or §ccancel§7):"
|
||
|
||
cat-created: "§aCategory §e{name} §awas created!"
|
||
cat-updated: "§aCategory §e{name} §awas updated!"
|
||
cat-deleted: "§aCategory §e{name} §awas deleted."
|
||
cat-already-exists: "§cA category with key '§e{name}§c' already exists."
|
||
cat-not-found: "§cCategory '§e{name}§c' was not found."
|
||
|
||
# ── Dynamic titles with category ─────────────────────
|
||
title-cat: "�FF00&lFAQ – {category}"
|
||
admin-title-cat: "§8§lFAQ – {category}"
|
||
title-cat-prefix: "�FF00&lFAQ"
|
||
admin-title-cat-prefix: "§8§lFAQ"
|
||
chat-category-hint: "§7Category: {category}"
|
||
|
||
# ============================================================
|
||
# JOIN LISTENER
|
||
# ============================================================
|
||
join:
|
||
open-tickets: "&eThere are still &6{count} &eopen ticket(s)!"
|
||
open-tickets-hint: "&7» <click:run_command:/ticket list><yellow>Click here</yellow></click> &7for the ticket 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"
|
||
# ============================================================
|
||
# WEB-PANEL TEXTS (browser user interface)
|
||
# ============================================================
|
||
web:
|
||
# ── Navigation ────────────────────────────────────────────
|
||
nav-dashboard: "Dashboard"
|
||
nav-tickets: "Tickets"
|
||
nav-faq: "FAQ"
|
||
nav-logout: "Sign Out"
|
||
nav-archive: "Archive"
|
||
role-admin: "Admin"
|
||
role-supporter: "Supporter"
|
||
btn-back: "Back"
|
||
btn-details: "Details"
|
||
|
||
# ── Error pages ───────────────────────────────────────────
|
||
error-403-title: "403 – Access Denied"
|
||
error-403-message: "This page is only accessible to administrators."
|
||
|
||
# ── Login page ────────────────────────────────────────────
|
||
login-title: "Login – TicketSystem Panel"
|
||
login-heading: "Welcome back"
|
||
login-sub: "Sign in with your account to continue."
|
||
login-blocked: "Too many failed attempts. Please wait {seconds} seconds."
|
||
login-error: "Username or password incorrect."
|
||
archive-btn-restore: "Restore"
|
||
archive-btn-delete: "Delete permanently"
|
||
login-label-user: "Username"
|
||
login-label-pass: "Password"
|
||
login-btn: "Sign In"
|
||
login-footer: "TicketSystem Panel · For Supporters & Admins only"
|
||
|
||
# ── Dashboard ─────────────────────────────────────────────
|
||
dash-title: "Dashboard"
|
||
dash-stat-total: "Total Tickets"
|
||
dash-stat-open: "Open / Active"
|
||
dash-stat-closed: "Closed"
|
||
dash-stat-thumbsup: "👍 Ratings"
|
||
dash-stat-thumbsdown: "👎 Ratings"
|
||
dash-stat-rating: "Satisfaction"
|
||
dash-section-recent: "Recent Tickets"
|
||
dash-section-top: "Top Ticket Creators"
|
||
dash-section-server: "Tickets per Server"
|
||
dash-empty: "No open tickets 🎉"
|
||
dash-col-id: "#"
|
||
dash-col-player: "Player"
|
||
dash-col-category: "Category"
|
||
dash-col-priority: "Priority"
|
||
dash-col-status: "Status"
|
||
dash-col-created: "Created"
|
||
dash-col-server: "Server"
|
||
dash-col-count: "Tickets"
|
||
|
||
# ── Ticket list ───────────────────────────────────────────
|
||
tickets-title: "Tickets"
|
||
tickets-total: "total"
|
||
tickets-empty: "No tickets found"
|
||
tickets-search-ph: "Search…"
|
||
tickets-col-id: "#"
|
||
tickets-col-player: "Player"
|
||
tickets-col-message: "Message"
|
||
tickets-col-cat: "Category"
|
||
tickets-col-prio: "Priority"
|
||
tickets-col-status: "Status"
|
||
tickets-col-created: "Created"
|
||
filter-all-status: "All Statuses"
|
||
filter-open: "Open"
|
||
filter-claimed: "Claimed"
|
||
filter-forwarded: "Forwarded"
|
||
filter-closed: "Closed"
|
||
filter-archived: "Archived"
|
||
filter-all-cat: "All Categories"
|
||
filter-all-prio: "All Priorities"
|
||
filter-low: "Low"
|
||
filter-normal: "Normal"
|
||
filter-high: "High"
|
||
filter-urgent: "Urgent"
|
||
|
||
# ── Ticket detail ─────────────────────────────────────────
|
||
detail-not-found: "Ticket not found"
|
||
detail-back: "← Back"
|
||
detail-info-creator: "Creator"
|
||
detail-info-created: "Created"
|
||
detail-info-claimer: "Assigned to"
|
||
detail-info-forwarded: "Forwarded to"
|
||
detail-info-position: "Position"
|
||
detail-info-rating: "Rating"
|
||
detail-rating-pos: "👍 Positive"
|
||
detail-rating-neg: "👎 Negative"
|
||
detail-section-msg: "Message"
|
||
detail-section-closecomment: "Close Comment"
|
||
detail-section-actions: "Actions"
|
||
detail-section-comments: "Comments"
|
||
detail-btn-claim: "✅ Claim"
|
||
detail-btn-forward: "🔀 Forward"
|
||
detail-btn-close: "🔒 Close"
|
||
detail-btn-archive: "📦 Archive"
|
||
detail-ph-forward: "Player name…"
|
||
detail-ph-comment: "Comment (optional)"
|
||
detail-ph-newcomment: "Write a comment…"
|
||
detail-btn-send: "Send"
|
||
detail-no-comments: "No comments yet."
|
||
|
||
# ── FAQ management ────────────────────────────────────────
|
||
faq-title: "FAQ Management"
|
||
faq-entries-suffix: "Entries"
|
||
faq-section-cats: "Categories"
|
||
faq-no-category: "Uncategorized"
|
||
faq-btn-add: "+ Add FAQ"
|
||
faq-empty: "No FAQ entries yet."
|
||
faq-no-cat-opt: "No Category"
|
||
faq-modal-add-title: "Add FAQ"
|
||
faq-modal-edit-title: "Edit FAQ"
|
||
faq-label-question: "Question"
|
||
faq-label-answer: "Answer"
|
||
faq-label-category: "Category"
|
||
faq-ph-question: "Question…"
|
||
faq-ph-answer: "Answer…"
|
||
faq-btn-cancel: "Cancel"
|
||
faq-btn-save: "Save"
|
||
faq-btn-add-confirm: "Add" |