Merge branch 'dev' into feature/steamcmd

This commit is contained in:
Zedifus 2023-12-13 02:46:22 +00:00
commit 76e46807a0
18 changed files with 324 additions and 13 deletions

1
.gitignore vendored
View File

@ -37,3 +37,4 @@ app/config/
docker/*
!docker/docker-compose.yml
lang_sort_log.txt
lang_sort.txt

72
.gitlab/scripts/sort.py Normal file
View File

@ -0,0 +1,72 @@
import json
import os
def get_missing_keys_and_values(obj1, obj2, path=None):
if path is None:
path = []
missing_keys_and_values = {}
if isinstance(obj1, dict) and isinstance(obj2, dict):
for key in obj1:
if key not in obj2:
missing_keys_and_values[key] = obj1[key]
elif isinstance(obj1[key], (dict, list)) and isinstance(
obj2[key], (dict, list)
):
sub_missing = get_missing_keys_and_values(
obj1[key], obj2[key], path + [key]
)
if sub_missing:
missing_keys_and_values[key] = sub_missing
return missing_keys_and_values
def main():
project_dir = os.getcwd()
os.chdir("../../app/translations") # Change the working directory
dir_path = os.getcwd() # Get the current working directory
en_en_path = os.path.join(dir_path, "en_EN.json")
if not os.path.isfile(en_en_path):
print(
f"The file en_EN.json does not exist in {dir_path}. Ensure you have the right directory, Exiting."
)
return
result = {} # JSON object to store missing keys and values
for root, _, files in os.walk(dir_path):
for file in files:
if (
"_incomplete" not in file
and file != "en_EN.json"
and file.endswith(".json")
):
file_path = os.path.join(root, file)
with open(file_path, "r", encoding="utf-8") as current_file:
current_data = json.load(current_file)
with open(en_en_path, "r", encoding="utf-8") as en_en_file:
en_en_data = json.load(en_en_file)
missing_keys_and_values = get_missing_keys_and_values(
en_en_data, current_data
)
if missing_keys_and_values:
result[file] = missing_keys_and_values
# Write the JSON object to lang_sort.txt
with open(
os.path.join(project_dir, "lang_sort.txt"),
"w",
encoding="utf-8",
) as output_file:
json.dump(result, output_file, indent=4)
main()

View File

@ -1,5 +1,16 @@
# Changelog
## --- [4.2.2] - 2023/TBD
## --- [4.2.3] - 2023/TBD
### New features
TBD
### Bug fixes
TBD
### Tweaks
TBD
### Lang
TBD
<br><br>
## --- [4.2.2] - 2023/12/13
### New features
- Loading Screen for Crafty during startup ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/668))
### Refactor
@ -23,7 +34,11 @@
- Setup logging for panel authentication attempts ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/669))
- Update minimum password length from 6 to 8, and unrestrict maximum password length ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/669))
- Give better feedback when backup delete fails ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/681))
- Add user queue debug logging ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/683))
### Lang
- Update `de_DE, en_EN, fr_FR, lol_EN, lv_LV, nl_BE, pl_PL, zh_CN` translations for `4.2.2` ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/684))
- Mark `es_ES` as incomplete ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/684))
- Mark `he_IL` as active ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/684))
- pl_PL Minor fixes ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/675))
<br><br>

View File

@ -1,5 +1,5 @@
[![Crafty Logo](app/frontend/static/assets/images/logo_long.svg)](https://craftycontrol.com)
# Crafty Controller 4.2.2
# Crafty Controller 4.2.3
> Python based Control Panel for your Minecraft Server
## What is Crafty Controller?

View File

@ -23,6 +23,7 @@ from app.classes.web.tornado_handler import Webserver
from app.classes.shared.websocket_manager import WebSocketManager
logger = logging.getLogger("apscheduler")
command_log = logging.getLogger("cmd_queue")
scheduler_intervals = {
"seconds",
"minutes",
@ -94,7 +95,15 @@ class TasksManager:
def command_watcher(self):
while True:
# select any commands waiting to be processed
command_log.debug(
"Queue currently has "
f"{self.controller.management.command_queue.qsize()} queued commands."
)
if not self.controller.management.command_queue.empty():
command_log.info(
"Current queued commands: "
f"{list(self.controller.management.command_queue.queue)}"
)
cmd = self.controller.management.command_queue.get()
try:
svr = self.controller.servers.get_server_instance_by_id(

View File

@ -13,6 +13,9 @@
},
"auth": {
"format": "%(asctime)s - [AUTH] - %(levelname)s - %(message)s"
},
"cmd_queue": {
"format": "%(asctime)s - [CMD_QUEUE] - %(levelname)s - %(message)s"
}
},
"handlers": {
@ -59,6 +62,14 @@
"maxBytes": 10485760,
"backupCount": 20,
"encoding": "utf8"
},
"cmd_queue_file_handler": {
"class": "logging.handlers.RotatingFileHandler",
"formatter": "auth",
"filename": "logs/cmd_queue.log",
"maxBytes": 10485760,
"backupCount": 20,
"encoding": "utf8"
}
},
"loggers": {
@ -90,6 +101,13 @@
"auth_file_handler"
],
"propagate": false
},
"cmd_queue": {
"level": "INFO",
"handlers": [
"cmd_queue_file_handler"
],
"propagate": false
}
}
}

View File

@ -1,5 +1,5 @@
{
"major": 4,
"minor": 2,
"sub": 2
"sub": 3
}

View File

@ -111,6 +111,7 @@
"starting": "Verzögerter Start",
"status": "Status",
"stop": "Stoppen",
"storage": "Speicher",
"version": "Version",
"welcome": "Willkommen bei Crafty Controller"
},
@ -591,6 +592,15 @@
"newServer": "Neuen Server erstellen",
"servers": "Server"
},
"startup": {
"almost": "Nur noch einen Moment, fast geschafft",
"internals": "Crafty's interne Komponneten initialisieren und starten",
"internet": "Verbindung zum Internet überprüfen",
"server": "initialisieren ",
"serverInit": "Server initialisieren",
"starting": "Crafty startet...",
"tasks": "Zeitplan-Aufgaben werden geladen"
},
"userConfig": {
"apiKey": "API Schlüssel",
"auth": "Autorisiert? ",

View File

@ -592,13 +592,13 @@
"servers": "Servers"
},
"startup": {
"starting": "Crafty Is Starting...",
"serverInit": "Initializing Servers",
"server": "Initializing ",
"almost": "Finishing up. Hang on tight...",
"internals": "Configuring and starting Crafty's internal components",
"internet": "Checking for internet connection",
"tasks": "Starting Tasks Scheduler",
"internals": "Configuring and starting Crafty's internal componenets",
"almost": "Finishing up. Hang on tight..."
"server": "Initializing ",
"serverInit": "Initializing Servers",
"starting": "Crafty Is Starting...",
"tasks": "Starting Tasks Scheduler"
},
"userConfig": {
"apiKey": "API Keys",
@ -665,4 +665,4 @@
"webhook_body": "Webhook Body",
"webhooks": "Webhooks"
}
}
}

View File

@ -111,6 +111,7 @@
"starting": "Démarrage retardé",
"status": "Statut",
"stop": "Arrêter",
"storage": "Stockage",
"version": "Version",
"welcome": "Bienvenue sur Crafty Controller"
},
@ -591,6 +592,15 @@
"newServer": "Créer un Nouveau Serveur",
"servers": "Serveurs"
},
"startup": {
"almost": "Finalisation. Patienter ...",
"internals": "Configuration et Démarrage des composants internes de Crafty",
"internet": "Vérification de la connexion à Internet",
"server": "Initialisation ",
"serverInit": "Initialisation des Serveurs",
"starting": "Crafty Démarre ...",
"tasks": "Démarrage du planificateur de tâches"
},
"userConfig": {
"apiKey": "Clés API",
"auth": "Authorisé ? ",

View File

@ -53,6 +53,20 @@
"translationTitle": "שפת התרגום",
"translator": "מתרגמים"
},
"customLogin": {
"apply": "החל",
"backgroundUpload": "העלאת רקע",
"customLoginPage": "התאמת דף הכניסה",
"delete": "מחק",
"labelLoginImage": "בחר את רקע כניסתך",
"loginBackground": "תמונת רקע לכניסה",
"loginImage": "העלה תמונת רקע למסך הכניסה.",
"loginOpacity": "בחר את שקיפות חלון הכניסה",
"pageTitle": "דף כניסה מותאם אישית",
"preview": "תצוגה מקדימה",
"select": "בחר",
"selectImage": "בחר תמונה"
},
"dashboard": {
"actions": "פעולות",
"allServers": "כל השרתים",
@ -75,6 +89,7 @@
"dashboard": "פאנל",
"delay-explained": "השירות/סוכן התחיל לאחרונה והוא מעכב את הדלקת שרת המיינקראפט",
"host": "אחסון",
"installing": "מתקין...",
"kill": "כיבוי מידי",
"killing": "...מכבה מידית",
"lastBackup": "אחרון:",
@ -96,6 +111,7 @@
"starting": "התחלה בעיכוב",
"status": "סטאטוס",
"stop": "עצור",
"storage": "שטח אחסון",
"version": "גרסה",
"welcome": "ברוכים הבאים ל-פאנל קראפטי"
},
@ -164,20 +180,33 @@
}
},
"error": {
"agree": "מסכים",
"bedrockError": "הורדות Bedrock אינן זמינות. אנא בדוק",
"cancel": "בטל",
"contact": "בבקשה צרו קשר עם תמיכת פאנל קראפטי באמצעות דיסקורד",
"craftyStatus": "דף המצב של Crafty",
"cronFormat": "זוהה פורמט Cron לא תקין",
"embarassing": "אוי, טוב, זה מביך.",
"error": "שגיאה!",
"eulaAgree": "אתם מסכימים?",
"eulaMsg": "עליכם להסכים להסכם הרישיון למשתמש הקצה. עותק של הסכם הרישיון למשתמש הקצה של מוג'אנג מקושר תחת הודעה זו.",
"eulaTitle": "להסכים להסכם רישיון משתמש קצה של מוג'אנג",
"fileError": "סוג הקובץ חייב להיות תמונה.",
"fileTooLarge": "העלאה נכשלה. העלאת הקובץ גדולה מדי. פנה למנהל המערכת לקבלת סיוע.",
"hereIsTheError": "הנה השגיאה",
"installerJava": "נכשל בהתקנת {} : התקנות של שרת Forge דורשות Java. זוהה ש-Java אינו מותקן. אנא התקן את Java ואז התקן את השרת.",
"internet": "גילינו שלמכונה(מחשב) שמריצה את קראפטי אין חיבור לאינטרנט. חיבורי לקוחות לשרת עשויים להיות מוגבלים.",
"migration": "אחסון השרת הראשי של Crafty מועבר למיקום חדש. כל הפעלות השרתים נעצרו במהלך זמן זה. אנא המתן בזמן שאנו מסיימים את המעבר הזה",
"no-file": "נראה שאיננו מצליחים לאתר את הקובץ המבוקש. בדוק שוב את הנתיב. האם ל-קראפטי יש הרשאות מתאימות?",
"noInternet": "Crafty נתקל בבעיות גישה לאינטרנט. יצירת שרתים הושבתה. אנא בדוק את חיבור האינטרנט שלך ורענן את הדף הזה.",
"noJava": "השרת {} לא הצליח להתחיל עם קוד השגיאה: גילינו ש-Java אינו מותקן. אנא התקינו את Java ואז הפעילו את השרת.",
"not-downloaded": "לא הצלחנו למצוא את קובץ ההפעלה שלך. האם זה סיים להוריד? האם ההרשאות מוגדרות בשביל הפעלה?",
"portReminder": "זיהינו שזו הפעם הראשונה ש-{} מופעל. הקפידו להעביר את היציאה {} דרך הנתב/חומת האש שלכם כדי להפוך אותה לנגישה מרחוק מהאינטרנט.",
"privMsg": "וה",
"serverJars1": "API של צנצנות השרת אינו נגיש. אנא בדוק",
"serverJars2": "למידע מעודכן ביותר.",
"start-error": "השרת {} לא הצליח להתחיל עם קוד שגיאה: {}",
"superError": "חובה להיות משתמש על כדי לבצע פעולה זו.",
"terribleFailure": "איזה כישלון נורא!"
},
"footer": {
@ -189,7 +218,8 @@
"forgotPassword": "שכחתי סיסמה",
"login": "התחברות",
"password": "סיסמה",
"username": "שם משתמש"
"username": "שם משתמש",
"viewStatus": "צפה בדף המצב הציבורי"
},
"notify": {
"activityLog": "יומני פעילות",
@ -201,24 +231,38 @@
"preparingLogs": "אנא המתינו בזמן שאנו מכינים את היומנים שלכם... נשלח הודעה כשהם יהיו מוכנים. זה עשוי להימשך זמן מה לפריסות שרתים גדולות.",
"supportLogs": "יומני תמיכה"
},
"offline": {
"offline": "מנותק",
"pleaseConnect": "אנא חבר לאינטרנט כדי להשתמש ב-Crafty."
},
"panelConfig": {
"adminControls": "בקרות מנהל",
"allowedServers": "שרתים מורשים",
"apply": "החל",
"assignedRoles": "תפקידים שהוקצו",
"cancel": "ביטול",
"clearComms": "ניקוי פקודות שלא בוצעו",
"custom": "התאמת Crafty",
"delete": "מחיקה",
"edit": "עריכה",
"enableLang": "אפשר כל השפות",
"enabled": "מופעל",
"globalExplain": "היכן Crafty שומר את כל קבצי השרת שלך. (נוסיף את הנתיב עם /servers/[uuid של השרת])",
"globalServer": "תיקיית שרתים גלובלית",
"json": "Config.json",
"match": "הסיסמאות חייבות להתאים",
"newRole": "הוספת תפקיד חדש",
"newUser": "הוספת משתמש חדש",
"noMounts": "אל תציג נקודות עגינה בלוח המחוונים",
"pageTitle": "הגדרת פאנל",
"role": "תפקיד",
"roleUsers": "תפקידי משתמשים",
"roles": "תפקידים",
"save": "שמירה",
"select": "בחר",
"superConfirm": "המשיכו רק אם אתם רוצים שלמשתמש זה תהיה גישה להכל (כל חשבונות המשתמש, השרתים, הגדרות הפאנל וכו'). הם יכולים אפילו למחוק את זכויות משתמש העל שלך.",
"superConfirmTitle": "להפעיל משתמש-על? האם אתם בטוחים?",
"title": "תצורת Crafty",
"user": "משתמש",
"users": "משתמשים"
},
@ -242,14 +286,17 @@
"roleTitle": "הגדרות תפקידים",
"roleUserName": "שם משתמש",
"roleUsers": "תפקידי המשתמשים: ",
"selectManager": "בחר מנהל לתפקיד זה",
"serverAccess": "?גישה",
"serverName": "שם שרת",
"serversDesc": "לשרתים מותר לגשת לתפקיד זה"
},
"serverBackups": {
"after": "הרץ פקודה לאחר הגיבוי",
"backupAtMidnight": "גיבוי אוטומטי בחצות?",
"backupNow": "!גיבוי עכשיו",
"backupTask": "החלה משימת גיבוי.",
"before": "הרץ פקודה לפני הגיבוי",
"cancel": "לבטל",
"clickExclude": "לחצו כדי לבחור מה לא יהיה בגיבוי",
"compress": "דחוס גיבוי",
@ -289,6 +336,8 @@
"deleteServerQuestionMessage": "האם אתם בטוחים שברצונכם למחוק את השרת הזה? אחרי זה אין דרך חזרה...",
"exeUpdateURL": "כתובת ה-URL של עדכון השרת הניתן להפעלה",
"exeUpdateURLDesc": "כתובת אתר להורדה ישירה לקבלת עדכונים.",
"ignoredExits": "קודי יציאה של קריסה שלא ישמעו",
"ignoredExitsExplain": "קודי יציאה שגילוי הקריסות של Crafty צריך להתעלם מהם כמו 'עצירה' רגילה (מופרדים בפסיקים)",
"javaNoChange": "לא למחוק",
"javaVersion": "כן למחוק את גרסאת ה-Java המותקנת כרגע",
"javaVersionDesc": "אם אתה מתכוון לעקוף את Java, ודא שנתיב ה-Java הנוכחי שלך ב'פקודה לביצוע' עטוף במרכאות (משתנה ברירת המחדל 'java' לא נכלל)",
@ -319,7 +368,13 @@
"serverPortDesc": "קראפטי צריך פורט בשביל להתחבר לנתונים סטטיסטיים",
"serverStopCommand": "פקודת עצירת שרת",
"serverStopCommandDesc": "פקודה לשלוח את התוכנית כדי לעצור אותה",
"showStatus": "הצג בדף המצב הציבורי",
"shutdownTimeout": "זמן קצוב לכיבוי",
"statsHint1": "הפורט שבו השרת שלך פועל צריך להיות כאן. זה רק איך Crafty פותח חיבור לשרת שלך לצורך סטטיסטיקות.",
"statsHint2": "זה לא משנה את פורט השרת שלך. עדיין צריך לשנות את הפורט בקובץ התצורה של השרת שלך.",
"stopBeforeDeleting": "בבקשה לעצור את השרת לפני מחיקתו",
"timeoutExplain1": "כמה זמן Crafty יחכה לשרת שלך להיכבות לאחר ביצוע ה",
"timeoutExplain2": "פקודה לפני שהוא יכריח את התהליך לרדת.",
"update": "עדכנו את קובץ ההפעלה",
"yesDelete": "כן, למחוק",
"yesDeleteFiles": "כן, מחק קבצים"
@ -345,8 +400,12 @@
"backup": "גיבוי",
"config": "הגדרות",
"files": "קבצים",
"filter": "סינון יומנים",
"filterList": "מילים מסוננות",
"logs": "לוג",
"metrics": "מדדים",
"playerControls": "ניהול שחקנים",
"reset": "אפס גלילה",
"schedule": "לוח זמנים",
"serverDetails": "פרטי שרת",
"terminal": "מסוף פקודות"
@ -383,6 +442,11 @@
"waitUpload": "אנא המתן בזמן שאנו מעלים את הקבצים שלך... זה עשוי לקחת זמן מה.",
"yesDelete": "כן, אני מבין.ה את ההשלכות"
},
"serverMetrics": {
"resetZoom": "אפס זום",
"zoomHint1": "כדי להגדיל על הגרף החזק את מקש ה-shift והשתמש בגלגלת הגלילה שלך.",
"zoomHint2": "חלופית, החזק את מקש ה-shift ולחץ וגרור את האזור שברצונך להגדיל עליו."
},
"serverPlayerManagement": {
"bannedPlayers": "שחקנים בבאן",
"loadingBannedPlayers": "טוען שחקנים שהם בבאן",
@ -410,18 +474,36 @@
"parent-explain": "איזה לוח זמנים צריך להפעיל את זה?",
"reaction": "תגובה",
"restart": "הפעלה מחדש",
"select": "בחר בסיסי / Cron / תגובת שרשרת",
"start": "הדלקת שרת",
"stop": "כיבוי שרת",
"time": "זמן",
"time-explain": "באיזו שעה אתה רוצה שהלוח שלך יתבצע?"
},
"serverSchedules": {
"action": "פעולה",
"areYouSure": "למחוק משימה מתוזמנת?",
"cancel": "לבטל",
"cannotSee": "לא רואים הכל?",
"cannotSeeOnMobile": "נסה ללחוץ על משימה מתוזמנת לפרטים מלאים.",
"child": "ילד של לוח זמנים עם מזהה ",
"close": "סגור",
"command": "פקודה",
"confirm": "אישור",
"confirmDelete": "האם ברצונך למחוק את המשימה המתוזמנת הזו? אי אפשר לבטל את זה."
"confirmDelete": "האם ברצונך למחוק את המשימה המתוזמנת הזו? אי אפשר לבטל את זה.",
"create": "צור לוח זמנים חדש",
"cron": "מחרוזת Cron",
"delete": "מחק",
"details": "פרטי לוח זמנים",
"edit": "ערוך",
"enabled": "מופעל",
"every": "כל",
"interval": "מרווח",
"name": "שם",
"nextRun": "הריצה הבאה",
"no": "לא",
"scheduledTasks": "משימות מתוזמנות",
"yes": "כן"
},
"serverStats": {
"cpuUsage": "שימוש במעבד",
@ -444,6 +526,8 @@
"commandInput": "הקלידו את הפקודה שלכם",
"delay-explained": "השירות/סוכן התחיל לאחרונה והוא מעכב את הדלקת שרת המיינקראפט",
"downloading": "...מוריד",
"importing": "מייבא...",
"installing": "מתקין...",
"restart": "הפעלה מחדש",
"sendCommand": "שליחת פקודה",
"start": "התחלה",
@ -468,6 +552,7 @@
"importServerButton": "ייבוא שרת!",
"importZip": "ייבוא מקובץ Zip",
"importing": "מייבא שרת...",
"labelZipFile": "בחר את קובץ ה-Zip שלך",
"maxMem": "מקסימום זיכרון",
"minMem": "מינימום זיכרון",
"myNewServer": "השרת החדש שלי",
@ -478,6 +563,7 @@
"save": "שמור",
"selectRole": "בחר תפקידים",
"selectRoot": "בחר ארכיון שורש Dir",
"selectServer": "בחר שרת",
"selectType": "בחר סוג",
"selectVersion": "בחר גרסה",
"selectZipDir": "בחר את הספרייה בארכיון שממנו אתה רוצה שנפתח קבצים",
@ -485,9 +571,13 @@
"serverName": "שם השרת",
"serverPath": "נתיב שרת",
"serverPort": "פורט שרת",
"serverSelect": "בחירת שרת",
"serverType": "סוג השרת",
"serverUpload": "העלה שרת מכווץ",
"serverVersion": "גרסת השרת",
"sizeInGB": "גודל ב-GB",
"uploadButton": "העלה",
"uploadZip": "העלה קובץ Zip לייבוא שרת",
"zipPath": "נתיב שרת"
},
"sidebar": {
@ -495,10 +585,20 @@
"credits": "קרדיט",
"dashboard": "פאנל",
"documentation": "ויקיפדייה",
"inApp": "מסמכים באפליקציה",
"navigation": "ניווט",
"newServer": "צור שרת חדש",
"servers": "שרתים"
},
"startup": {
"almost": "מסיימים. תחזיקו חזק...",
"internals": "הגדרה והפעלה של הרכיבים הפנימיים של Crafty",
"internet": "בודק את חיבור האינטרנט",
"server": "אתחול ",
"serverInit": "מפעיל שרתים",
"starting": "מתחילים בהפעלת מערכת Crafty...",
"tasks": "מתזמן את מחולל המשימות"
},
"userConfig": {
"apiKey": "API מפתחות",
"auth": "מורשה? ",
@ -519,6 +619,7 @@
"lastLogin": "כניסה אחרונה: ",
"lastUpdate": "עדכון אחרון: ",
"leaveBlank": "כדי לערוך משתמש מבלי לשנות סיסמה השאר אותו ריק.",
"manager": "מנהל",
"member": "חבר?",
"notExist": "אתה לא יכול למחוק משהו שלא קיים!",
"pageTitle": "ערוך משתמש",
@ -527,6 +628,7 @@
"permName": "שם הרשאה",
"repeat": "חזור על הסיסמה",
"roleName": "שם התפקיד",
"selectManager": "בחר מנהל למשתמש",
"super": "משתמש על",
"userLang": "שפת משתמש",
"userName": "שם משתמש",
@ -534,6 +636,30 @@
"userRoles": "תפקידי משתמש",
"userRolesDesc": "תפקידים שמשתמש זה חבר בהם",
"userSettings": "הגדרות משתמש",
"userTheme": "ערכת נושא UI",
"uses": "מספר השימושים המותרים (-1==ללא הגבלה)"
},
"webhooks": {
"areYouSureDel": "האם אתה בטוח שברצונך למחוק את ה-Webhook הזה?",
"areYouSureRun": "האם אתה בטוח שברצונך לבדוק את ה-Webhook הזה?",
"backup_server": "גיבוי השרת הושלם",
"bot_name": "שם הבוט",
"color": "בחר גוון צבע",
"crash_detected": "השרת קרס",
"edit": "ערוך",
"enabled": "מופעל",
"jar_update": "השרת הביצועי עודכן",
"kill": "השרת נסגר",
"name": "שם",
"new": "Webhook חדש",
"run": "הרץ Webhook לבדיקה",
"send_command": "פקודת שרת התקבלה",
"start_server": "השרת הופעל",
"stop_server": "השרת נעצר",
"trigger": "גרם",
"type": "סוג ה-Webhook",
"url": "URL של ה-Webhook",
"webhook_body": "גוף ה-Webhook",
"webhooks": "Webhooks"
}
}

View File

@ -111,6 +111,7 @@
"starting": "I WAITZ B4 I START",
"status": "STATUZ",
"stop": "STAHP PLZ",
"storage": "STASH BOX",
"version": "VERZHUN",
"welcome": "WELCOM 2 CWAFTY CONTROLLR"
},
@ -591,6 +592,15 @@
"newServer": "CONSTWUCT A SERVR",
"servers": "SERVRS"
},
"startup": {
"almost": "ALMOST DUN. HOLD ON TO YER WHISKERS...",
"internals": "SETTIN' UP AN' STARTIN' CWAFTY'S INSIDE BITZ",
"internet": "LOOKIN' FOR OUTER SPACE TALKY",
"server": "WAKIN' UPZ ",
"serverInit": "MAKIN' SERVERZ READY",
"starting": "CWAFTY WAKING UP...",
"tasks": "STARTIN' TASK SCHEDULERZ"
},
"userConfig": {
"apiKey": "API KEYS",
"auth": "PERMISHUN TO ACESS? ",

View File

@ -112,6 +112,7 @@
"starting": "Aizkavēts-Starts",
"status": "Statuss",
"stop": "Apturēt",
"storage": "Glabātuve",
"version": "Versija",
"welcome": "Esiet sveicināts Crafty Controller"
},
@ -592,6 +593,15 @@
"newServer": "Izveidot Jaunu Serveri",
"servers": "Serveri"
},
"startup": {
"almost": "Pabeidz. Vēl tik nedaudz...",
"internals": "Konfigurē un Startē Crafty iekšējās komponenetes",
"internet": "Pārbauda interneta savienojumu",
"server": "Inicializē ",
"serverInit": "Inicializē Serverus",
"starting": "Crafty Startējas...",
"tasks": "Sāknē Notikumu Plānotāju"
},
"userConfig": {
"apiKey": "API Atslēgas",
"auth": "Authorizēts? ",

View File

@ -111,6 +111,7 @@
"starting": "Vertraagde start",
"status": "Toestand",
"stop": "Stoppen",
"storage": "Opslagruimte",
"version": "Versie",
"welcome": "Welkom bij Crafty Controller "
},
@ -591,6 +592,15 @@
"newServer": "Nieuwe server maken",
"servers": "Servers"
},
"startup": {
"almost": "De laatste hand leggen. Houd je vast...",
"internals": "Crafty's interne componenten configureren en starten",
"internet": "Controleren op internetverbinding",
"server": "Initialiseren ",
"serverInit": "Servers initialiseren",
"starting": "Crafty wordt gestart...",
"tasks": "Start takenplanner"
},
"userConfig": {
"apiKey": "API Sleutels",
"auth": "Bevoegd? ",

View File

@ -111,6 +111,7 @@
"starting": "Opóźniony-Start",
"status": "Status",
"stop": "Zatrzymaj",
"storage": "Przestrzeń dyskowa",
"version": "Wersja",
"welcome": "Witamy w Crafty Controller"
},
@ -590,6 +591,15 @@
"newServer": "Stwórz nowy serwer",
"servers": "Serwery"
},
"startup": {
"almost": "Prawie gotowe! Jeszcze tylko chwilka...",
"internals": "Konfigurowanie i włączanie backendu...",
"internet": "Sprawdzam połączenie z internetem",
"server": "Włączanie ",
"serverInit": "Ładuje serwery...",
"starting": "Włączam Craftiego...",
"tasks": "Włączanie harmonogramu..."
},
"userConfig": {
"apiKey": "Klucze API",
"auth": "Autoryzacja? ",

View File

@ -111,6 +111,7 @@
"starting": "延迟启动",
"status": "状态",
"stop": "停止",
"storage": "存储",
"version": "版本",
"welcome": "欢迎来到 Crafty Controller"
},
@ -591,6 +592,15 @@
"newServer": "创建新服务器",
"servers": "服务器"
},
"startup": {
"almost": "即将完成。请稍候……",
"internals": "正在配置并启动 Crafty 的内部组件",
"internet": "正在检查网络连接",
"server": "正在初始化 ",
"serverInit": "正在初始化服务器",
"starting": "Crafty 正在启动……",
"tasks": "正在启动任务计划器"
},
"userConfig": {
"apiKey": "API 密钥",
"auth": "已授权?",

View File

@ -3,7 +3,7 @@ sonar.organization=crafty-controller
# This is the name and version displayed in the SonarCloud UI.
sonar.projectName=Crafty 4
sonar.projectVersion=4.2.2
sonar.projectVersion=4.2.3
sonar.python.version=3.9, 3.10, 3.11
sonar.exclusions=app/migrations/**, app/frontend/static/assets/vendors/**