mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Merge branch 'dev' into refactor/remote-comms-patch-2
This commit is contained in:
commit
62e1069aeb
@ -3,6 +3,7 @@ docker/
|
||||
.dockerignore
|
||||
Dockerfile
|
||||
docker-compose.yml
|
||||
docker-compose.yml.example
|
||||
|
||||
# git & gitlab related
|
||||
.git/
|
||||
@ -17,6 +18,8 @@ docker-compose.yml
|
||||
.venv
|
||||
.vscode
|
||||
crafty_commander.exe
|
||||
CHANGELOG.md
|
||||
CONTRIBUTING.md
|
||||
DBCHANGES.md
|
||||
docker-compose.yml.example
|
||||
README.md
|
||||
sonar-project.properties
|
||||
|
@ -57,3 +57,25 @@ pylint:
|
||||
reports:
|
||||
codequality: codeclimate.json
|
||||
when: always
|
||||
|
||||
# SonarQube/SonarCloud - Code Climate & QA [https://www.sonarsource.com]
|
||||
sonarcloud-check:
|
||||
stage: lint
|
||||
image:
|
||||
name: sonarsource/sonar-scanner-cli:latest
|
||||
entrypoint: [""]
|
||||
tags:
|
||||
- docker
|
||||
rules:
|
||||
- if: "$CODE_QUALITY_DISABLED"
|
||||
when: never
|
||||
- if: "$CI_COMMIT_TAG || $CI_COMMIT_BRANCH"
|
||||
variables:
|
||||
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
|
||||
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
|
||||
cache:
|
||||
key: "${CI_JOB_NAME}"
|
||||
paths:
|
||||
- .sonar/cache
|
||||
script:
|
||||
- sonar-scanner
|
||||
|
@ -606,5 +606,5 @@ preferred-modules=
|
||||
|
||||
# Exceptions that will emit a warning when being caught. Defaults to
|
||||
# "BaseException, Exception".
|
||||
overgeneral-exceptions=BaseException,
|
||||
Exception
|
||||
overgeneral-exceptions=builtins.BaseException,
|
||||
builtins.Exception
|
||||
|
21
CHANGELOG.md
21
CHANGELOG.md
@ -1,16 +1,31 @@
|
||||
# Changelog
|
||||
## --- [4.1.2] - 2023/TBD
|
||||
## --- [4.1.3] - 2023/TBD
|
||||
### New features
|
||||
TBD
|
||||
### Bug fixes
|
||||
- Include tzdata in Docker image ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/604))
|
||||
- Fix text/formatting issue on server config page ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/602))
|
||||
### Tweaks
|
||||
TBD
|
||||
### Lang
|
||||
TBD
|
||||
<br><br>
|
||||
|
||||
## --- [4.1.2] - 2023/06/18
|
||||
### Bug fixes
|
||||
- Fix upload root files being hidden ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/590))
|
||||
- Send empty json for no banned/cached players ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/589))
|
||||
- Bump Tornado from 6.0 to 6.3.2 in response to CVE-2023-28370 ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/591))
|
||||
- Fix bug where commands would show "command_server" when initially created ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/592))
|
||||
- Add ID autofield to management CraftySettings class ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/599))
|
||||
### Refactor
|
||||
- Optimize player management page ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/593))
|
||||
### Tweaks
|
||||
TBD
|
||||
- Remove bedrock servers in serverjars options ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/595))
|
||||
- Bump cryptography & pyOpenSSL ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/596))
|
||||
- Bump requests ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/600))
|
||||
### Lang
|
||||
TBD
|
||||
- Update es_ES & pl_PL lang, thank you `.lucyy_` & `terrariadlc` ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/597))
|
||||
<br><br>
|
||||
|
||||
## --- [4.1.1] - 2023/05/23
|
||||
|
@ -25,6 +25,7 @@ RUN apt-get update \
|
||||
openjdk-8-jre-headless \
|
||||
openjdk-11-jre-headless \
|
||||
openjdk-17-jre-headless \
|
||||
tzdata \
|
||||
&& apt-get autoremove \
|
||||
&& apt-get clean
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
[![Crafty Logo](app/frontend/static/assets/images/logo_long.svg)](https://craftycontrol.com)
|
||||
# Crafty Controller 4.1.2
|
||||
# Crafty Controller 4.1.3
|
||||
> Python based Control Panel for your Minecraft Server
|
||||
|
||||
## What is Crafty Controller?
|
||||
|
@ -153,6 +153,9 @@ class ServerJars:
|
||||
def _get_server_type_list(self):
|
||||
url = "/api/fetchTypes/"
|
||||
response = self._get_api_result(url)
|
||||
if "bedrock" in response.keys():
|
||||
# remove pocketmine from options
|
||||
del response["bedrock"]
|
||||
return response
|
||||
|
||||
def download_jar(self, jar, server, version, path, server_id):
|
||||
|
@ -43,6 +43,7 @@ class AuditLog(BaseModel):
|
||||
# Crafty Settings Class
|
||||
# **********************************************************************************
|
||||
class CraftySettings(BaseModel):
|
||||
id = AutoField()
|
||||
secret_api_key = CharField(default="")
|
||||
cookie_secret = CharField(default="")
|
||||
login_photo = CharField(default="login_1.jpg")
|
||||
|
@ -11,6 +11,7 @@ import subprocess
|
||||
import html
|
||||
import urllib.request
|
||||
import glob
|
||||
import json
|
||||
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
@ -132,6 +133,15 @@ class ServerInstance:
|
||||
self.server_object = HelperServers.get_server_obj(self.server_id)
|
||||
self.stats_helper = HelperServerStats(self.server_id)
|
||||
self.last_backup_failed = False
|
||||
try:
|
||||
with open(
|
||||
os.path.join(self.server_object.path, "db_stats", "players_cache.json"),
|
||||
"r",
|
||||
encoding="utf-8",
|
||||
) as f:
|
||||
self.player_cache = list(json.load(f).values())
|
||||
except:
|
||||
self.player_cache = []
|
||||
try:
|
||||
self.tz = get_localzone()
|
||||
except ZoneInfoNotFoundError as e:
|
||||
@ -770,6 +780,7 @@ class ServerInstance:
|
||||
)
|
||||
if self.settings["stop_command"]:
|
||||
self.send_command(self.settings["stop_command"])
|
||||
self.write_player_cache()
|
||||
else:
|
||||
# windows will need to be handled separately for Ctrl+C
|
||||
self.process.terminate()
|
||||
@ -1218,6 +1229,40 @@ class ServerInstance:
|
||||
)
|
||||
update_thread.start()
|
||||
|
||||
def write_player_cache(self):
|
||||
write_json = {}
|
||||
for item in self.player_cache:
|
||||
write_json[item["name"]] = item
|
||||
with open(
|
||||
os.path.join(self.server_path, "db_stats", "players_cache.json"),
|
||||
"w",
|
||||
encoding="utf-8",
|
||||
) as f:
|
||||
f.write(json.dumps(write_json, indent=4))
|
||||
logger.info("Cache file refreshed")
|
||||
|
||||
def cache_players(self):
|
||||
server_players = self.get_server_players()
|
||||
for p in self.player_cache[:]:
|
||||
if p["status"] == "Online" and p["name"] not in server_players:
|
||||
p["status"] = "Offline"
|
||||
p["last_seen"] = datetime.datetime.now().strftime("%d/%m/%Y %H:%M")
|
||||
elif p["name"] in server_players:
|
||||
self.player_cache.remove(p)
|
||||
for player in server_players:
|
||||
if player == "Anonymous Player":
|
||||
# Skip Anonymous Player
|
||||
continue
|
||||
if player in self.player_cache:
|
||||
self.player_cache.remove(player)
|
||||
self.player_cache.append(
|
||||
{
|
||||
"name": player,
|
||||
"status": "Online",
|
||||
"last_seen": datetime.datetime.now().strftime("%d/%m/%Y %H:%M"),
|
||||
}
|
||||
)
|
||||
|
||||
def check_update(self):
|
||||
return self.stats_helper.get_server_stats()["updating"]
|
||||
|
||||
@ -1404,6 +1449,12 @@ class ServerInstance:
|
||||
minutes=self.helper.get_setting("dir_size_poll_freq_minutes"),
|
||||
id=str(self.server_id) + "_dir_poll",
|
||||
)
|
||||
self.dir_scheduler.add_job(
|
||||
self.cache_players,
|
||||
"interval",
|
||||
seconds=5,
|
||||
id=str(self.server_id) + "_players_poll",
|
||||
)
|
||||
|
||||
def calc_dir_size(self):
|
||||
server_dt = HelperServers.get_server_data_by_id(self.server_id)
|
||||
@ -1473,6 +1524,7 @@ class ServerInstance:
|
||||
"created": datetime.datetime.now().strftime(
|
||||
"%Y/%m/%d, %H:%M:%S"
|
||||
),
|
||||
"players_cache": self.player_cache,
|
||||
},
|
||||
)
|
||||
total_players += int(raw_ping_result.get("online"))
|
||||
|
@ -781,24 +781,11 @@ class PanelHandler(BaseHandler):
|
||||
page_data[
|
||||
"banned_players"
|
||||
] = self.controller.servers.get_banned_players(server_id)
|
||||
page_data[
|
||||
"cached_players"
|
||||
] = self.controller.servers.get_cached_players(server_id)
|
||||
server_instance = self.controller.servers.get_server_instance_by_id(
|
||||
server_id
|
||||
)
|
||||
page_data["cached_players"] = server_instance.player_cache
|
||||
|
||||
page_data["all_players"] = []
|
||||
for player in page_data["cached_players"]:
|
||||
if player["name"] in page_data["get_players"]:
|
||||
player["status"] = "online"
|
||||
else:
|
||||
player["status"] = "offline"
|
||||
temp_date = datetime.datetime.strptime(
|
||||
player["expiresOn"], "%Y-%m-%d %H:%M:%S %z"
|
||||
)
|
||||
player["last_seen"] = (
|
||||
temp_date - datetime.timedelta(30, 0, 0, 0, 0, 0, 0)
|
||||
).strftime("%Y/%m/%d %H:%M:%S")
|
||||
player["avatar"] = Helpers.get_player_avatar(player["uuid"])
|
||||
page_data["all_players"].append(player)
|
||||
for player in page_data["banned_players"]:
|
||||
player["banned"] = True
|
||||
temp_date = datetime.datetime.strptime(
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"major": 4,
|
||||
"minor": 1,
|
||||
"sub": 2
|
||||
"sub": 3
|
||||
}
|
||||
|
@ -228,6 +228,24 @@
|
||||
}
|
||||
|
||||
initParser('input_motd', 'input_motd');
|
||||
let text = ""
|
||||
let players = server.players_cache;
|
||||
for(let i=0; i < players.length; i++){
|
||||
text += `<tr id="playerItem-${ players[i]["name"] }" class="playerItem--" style="text-align: center;">`;
|
||||
text += `<td class="no-scroll" style="overflow: scroll;"><strong>${players[i]["name"]}</strong></td>`;
|
||||
if(players[i]["status"] === "Online"){
|
||||
text += `<td><span class="text-success"><i class="fas fa-signal"></i> ${ players[i]['status'] }</span></td>`
|
||||
}else{
|
||||
text += `<td><span class="text-warning"><i class="fa-regular fa-circle-xmark"></i><span class="offline-status"> ${ players[i]['status'] }</span><span class="conn-break"> Last connection :<br> ${ players[i]['last_seen'] }</span></td>`
|
||||
}
|
||||
if(server["running"]){
|
||||
text += `<td><button onclick="send_command_to_server('ban ${ players[i]['name'] }')" type="button" class="btn btn-danger controls">Ban</button><br class="mobile-break"><button onclick="send_command_to_server('kick ${ players[i]['name'] }')" type="button" class="btn btn-outline-danger controls">Kick</button><br><button onclick="send_command_to_server('op ${ players[i]['name'] }')" type="button" class="btn btn-warning controls">OP</button><br class="mobile-break"><button onclick="send_command_to_server('deop ${ players[i]['name'] }')" type="button" class="btn btn-outline-warning controls">De-OP</button></td>`
|
||||
}else{
|
||||
text += `<td><span> Unavailable<br> (Server Offline)</span></td>`
|
||||
}
|
||||
|
||||
}
|
||||
$("#player-body").html(text);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<div class="col-xl-6 col-lg-12 col-md-12 col-sm-12">
|
||||
<h2>{{ translate('serverPlayerManagement', 'players', data['lang']) }}:</h2>
|
||||
<table class="table table-sm-responsive">
|
||||
<thead class="thead">
|
||||
@ -8,25 +8,28 @@
|
||||
<th scope="col">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for player in data['all_players'] %}
|
||||
<tr id="playerItem-{{ player['name'] }}" class="playerItem--">
|
||||
<tbody id="player-body">
|
||||
{% for player in data['cached_players'] %}
|
||||
<tr id="playerItem-{{ player['name'] }}" class="playerItem--" style="text-align: center;">
|
||||
<td>
|
||||
<strong> {{ player['name'] }}</strong>
|
||||
</td>
|
||||
{% if player['status'] == 'online' %}
|
||||
<td><span class="text-success"><i class="fas fa-signal"></i> {{ player['status'] }}</span></td>
|
||||
{% elif player['status'] == 'offline' %}
|
||||
<td><span class="text-warning"><i class="fa-solid fa-signal-slash"></i> Last connection : {{ player['last_seen'] }}</span></td>
|
||||
{% if player['status'] == 'Online' %}
|
||||
<td style="overflow: scroll;"><span class="text-success"><i class="fas fa-signal"></i> {{ player['status'] }}</span></td>
|
||||
{% elif player['status'] == 'Offline' %}
|
||||
<td><span class="text-warning"><i class="fa-regular fa-circle-xmark"></i><span class="offline-status"> {{ player['status'] }}</span><span class="conn-break"> Last connection :<br> {{ player['last_seen'] }}</span></span></td>
|
||||
{% end %}
|
||||
<td class="buttons">
|
||||
<td class="buttons" style="text-align: center;">
|
||||
{% if data['server_stats']['running'] %}
|
||||
<button onclick="send_command_to_server(`ban {{ player['name'] }}`)" type="button" class="btn btn-danger">Ban</button>
|
||||
<button onclick="send_command_to_server(`kick {{ player['name'] }}`)" type="button" class="btn btn-outline-danger">Kick</button>
|
||||
<button onclick="send_command_to_server(`op {{ player['name'] }}`)" type="button" class="btn btn-warning">OP</button>
|
||||
<button onclick="send_command_to_server(`deop {{ player['name'] }}`)" type="button" class="btn btn-outline-warning">De-OP</button>
|
||||
<button onclick="send_command_to_server(`ban {{ player['name'] }}`)" type="button" class="btn btn-danger controls">Ban</button>
|
||||
<br class="mobile-break"/>
|
||||
<button onclick="send_command_to_server(`kick {{ player['name'] }}`)" type="button" class="btn btn-outline-danger controls">Kick</button>
|
||||
<br>
|
||||
<button onclick="send_command_to_server(`op {{ player['name'] }}`)" type="button" class="btn btn-warning controls">OP</button>
|
||||
<br class="mobile-break"/>
|
||||
<button onclick="send_command_to_server(`deop {{ player['name'] }}`)" type="button" class="btn btn-outline-warning controls">De-OP</button>
|
||||
{% else %}
|
||||
<span> Unavailable (Server Offline)</span>
|
||||
<span> Unavailable <br>(Server Offline)</span>
|
||||
{% end %}
|
||||
</td>
|
||||
</tr>
|
||||
@ -34,9 +37,23 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<style>
|
||||
@media (min-width: 600px) {
|
||||
.mobile-break { display: none;}
|
||||
.offline-status {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 600px) {
|
||||
.conn-break { display: none; }
|
||||
}
|
||||
button.controls {
|
||||
width: 70px;
|
||||
}
|
||||
</style>
|
||||
<div class="col-xl-6 col-lg-12 col-md-12 col-sm-12 no-scroll" width="100%">
|
||||
<h2>{{ translate('serverPlayerManagement', 'bannedPlayers', data['lang']) }}:</h2>
|
||||
<table class="table table-sm-responsive">
|
||||
<table class="table table-sm-responsive d-none d-lg-block no-scroll" style="width: 100%;">
|
||||
<thead class="thead">
|
||||
<tr>
|
||||
<th scope="col">Player</th>
|
||||
@ -58,4 +75,22 @@
|
||||
{% end %}
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-sm-responsive d-block d-lg-none" style="width: 100%;">
|
||||
<thead class="thead ">
|
||||
<tr>
|
||||
<th scope="col">Player</th>
|
||||
<th scope="col">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for player in data['banned_players'] %}
|
||||
<tr id="playerItem-{{ player }}" class="playerItem--">
|
||||
<td><strong> {{ player['name'] }}</strong></td>
|
||||
<td class="buttons">
|
||||
<button onclick="send_command_to_server(`pardon {{ player['name'] }} `)" type="button" class="btn btn-danger">Unban</button>
|
||||
</td>
|
||||
</tr>
|
||||
{% end %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
@ -166,48 +166,6 @@
|
||||
<input type="number" class="form-control" name="logs_delete_after" id="logs_delete_after" value="{{ data['server_stats']['server_id']['logs_delete_after'] }}" step="1" max="365" min="0" required>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div class="form-check-flat">
|
||||
<label for="auto_start" class="form-check-label ml-4 mb-4">
|
||||
{% if data['server_stats']['server_id']['auto_start'] %}
|
||||
<input type="checkbox" class="form-check-input" id="auto_start" name="auto_start" checked=""
|
||||
data-toggle="toggle" value="1"> {{ translate('serverConfig', 'serverAutoStart',
|
||||
data['lang']) }}
|
||||
{% else %}
|
||||
<input type="checkbox" class="form-check-input" id="auto_start" name="auto_start" value="1"
|
||||
data-toggle="toggle"> {{
|
||||
translate('serverConfig', 'serverAutoStart', data['lang']) }}
|
||||
{% end %}
|
||||
</label>
|
||||
|
||||
<label for="crash_detection" class="form-check-label ml-4 mb-4">
|
||||
{% if data['server_stats']['server_id']['crash_detection'] %}
|
||||
<input type="checkbox" class="form-check-input" id="crash_detection" name="crash_detection"
|
||||
data-toggle="toggle" checked="" value="1"> {{ translate('serverConfig',
|
||||
'serverCrashDetection', data['lang']) }}
|
||||
{% else %}
|
||||
<input type="checkbox" class="form-check-input" id="crash_detection" name="crash_detection"
|
||||
data-toggle="toggle" value="1"> {{ translate('serverConfig', 'serverCrashDetection',
|
||||
data['lang']) }}
|
||||
{% end %}
|
||||
</label>
|
||||
|
||||
{% if data['super_user'] %}
|
||||
<label for="show_status" class="form-check-label ml-4 mb-4">
|
||||
{% if data['server_stats']['server_id']['show_status'] %}
|
||||
<input type="checkbox" class="form-check-input" id="show_status" name="show_status"
|
||||
data-toggle="toggle" checked="" value="1"> {{ translate('serverConfig', 'showStatus',
|
||||
data['lang']) }}
|
||||
{% else %}
|
||||
<input type="checkbox" class="form-check-input" id="show_status" name="show_status"
|
||||
data-toggle="toggle" value="1"> {{ translate('serverConfig', 'showStatus',
|
||||
data['lang']) }}
|
||||
{% end %}
|
||||
</label>
|
||||
{% end %}
|
||||
</div>
|
||||
-->
|
||||
|
||||
<div class="form-group">
|
||||
<div class="custom-control custom-switch">
|
||||
{% if data['server_stats']['server_id']['auto_start'] %}
|
||||
@ -237,7 +195,7 @@
|
||||
<input type="checkbox" class="custom-control-input" id="show_status" name="show_status" checked="" value="1">
|
||||
<label class="custom-control-label" for="show_status"> {{ translate('serverConfig', 'showStatus', data['lang']) }}</label>
|
||||
{% else %}
|
||||
<input type="checkbox" class="custom-control-input" id="show_status" name="show_status" value="1"> {{ translate('serverConfig', 'showStatus', data['lang']) }}
|
||||
<input type="checkbox" class="custom-control-input" id="show_status" name="show_status" value="1">
|
||||
<label class="custom-control-label" for="show_status"> {{ translate('serverConfig', 'showStatus', data['lang']) }}</label>
|
||||
{% end %}
|
||||
{% end %}
|
||||
|
@ -12,23 +12,23 @@
|
||||
},
|
||||
"apiKeys": {
|
||||
"apiKeys": "Claves API",
|
||||
"auth": "Autorizado? ",
|
||||
"auth": "¿Autorizado? ",
|
||||
"buttons": "Botones",
|
||||
"config": "Configuración",
|
||||
"crafty": "Crafty: ",
|
||||
"created": "Creado",
|
||||
"createNew": "Crear un nuevo API Token",
|
||||
"createNew": "Crear un nuevo Token de API",
|
||||
"deleteKeyConfirmation": "¿Quieres eliminar esta clave de API? Esto no se puede deshacer.",
|
||||
"deleteKeyConfirmationTitle": "¿Eliminar la clave API ${keyId}?",
|
||||
"getToken": "Conseguir un Token",
|
||||
"name": "Nombre",
|
||||
"nameDesc": "Como te gustaria llamar a este API token? ",
|
||||
"nameDesc": "¿Como te gustaría llamar a este Token de API? ",
|
||||
"no": "No",
|
||||
"pageTitle": "Editar las Claves API",
|
||||
"permName": "Nombre del Permiso",
|
||||
"perms": "Permisos",
|
||||
"server": "Servidor: ",
|
||||
"superUser": "Super User",
|
||||
"superUser": "Super Usuario",
|
||||
"yes": "Si"
|
||||
},
|
||||
"base": {
|
||||
@ -39,81 +39,82 @@
|
||||
"hugeDesc": "Un enorme",
|
||||
"pageDescription": "Sin esta gente, Crafty no existiría",
|
||||
"pageTitle": "Créditos",
|
||||
"patreonDesc": "Patreon / Ko-fi supporters!",
|
||||
"patreonDesc": "A nuestros Patreon / Ko-fi Supporters",
|
||||
"patreonOther": "Otro",
|
||||
"patreonSupporter": "A nuestros Patreon / Ko-fi Supporters",
|
||||
"patreonSupporter": "Patreon / Ko-fi supporters!",
|
||||
"patreonUpdate": "Última Actualización:",
|
||||
"retiredStaff": "Staff retirado",
|
||||
"subscriberName": "Nombre",
|
||||
"subscriptionLevel": "Nivel",
|
||||
"supportTeam": "Equipo de soporte y documentación",
|
||||
"thankYou": "GRACIAS",
|
||||
"translationDesc": "a nuestra comunidad, que tradujo!",
|
||||
"translationDesc": "a nuestra comunidad que traduce! [ Activo = 🟢 Inactivo/Retirado = ⚪ ]",
|
||||
"translationName": "Nombre",
|
||||
"translationTitle": "Traducciones de Idiomas",
|
||||
"translationTitle": "Traduccion de Idiomas",
|
||||
"translator": "Traductores"
|
||||
},
|
||||
"dashboard": {
|
||||
"actions": "Acciones",
|
||||
"allServers": "Todos los servidores",
|
||||
"avg": "Avg",
|
||||
"backups": "Backups",
|
||||
"backups": "Respaldos",
|
||||
"bePatientClone": "Espere mientras clonamos el servidor.<br /> Esta pantalla se actualizará en un momento",
|
||||
"bePatientRestart": "Espere mientras reiniciamos el servidor.<br /> Esta pantalla se actualizará en un momento",
|
||||
"bePatientStart": "Espere mientras iniciamos el servidor.<br /> Esta pantalla se actualizará en un momento",
|
||||
"bePatientStop": "Espere mientras detenemos el servidor.<br /> Esta pantalla se actualizará en un momento",
|
||||
"cannotSee": "¿No puedes verlo todo?",
|
||||
"cannotSeeOnMobile": "¿No puedes verlo todo en móvil?",
|
||||
"cannotSeeOnMobile2": "Intenta desplazar la tabla desde los lados..",
|
||||
"cannotSee": "¿No se muestra correctamente?",
|
||||
"cannotSeeOnMobile": "¿No se muestra correctamente en móvil?",
|
||||
"cannotSeeOnMobile2": "Intente girar el dispositivo hacia los lados.",
|
||||
"clone": "Clonar",
|
||||
"cloneConfirm": "¿Está seguro de que desea clonar este servidor? Este proceso puede llevar un tiempo",
|
||||
"cpuCores": "Nucleos de CPU",
|
||||
"cpuCores": "Núcleos de CPU",
|
||||
"cpuCurFreq": "Reloj de CPU Actual",
|
||||
"cpuMaxFreq": "Reloj de CPU Maximo",
|
||||
"cpuMaxFreq": "Reloj de CPU Máximo",
|
||||
"cpuUsage": "Uso de CPU",
|
||||
"crashed": "Crashed",
|
||||
"crashed": "Crasheado",
|
||||
"dashboard": "Panel de control",
|
||||
"delay-explained": "El agente/servicio ha iniciado recientemente y está retrasando el inicio de la instancia del servidor de Minecraft.",
|
||||
"delay-explained": "El agente/servicio inicio recientemente y está retrasando el inicio de la instancia del servidor de Minecraft.",
|
||||
"host": "Host",
|
||||
"kill": "Matar Proceso",
|
||||
"killing": "Matando el proceso...",
|
||||
"killing": "Cerrando el proceso...",
|
||||
"lastBackup": "Último:",
|
||||
"max": "Max",
|
||||
"max": "Máx",
|
||||
"memUsage": "Uso de memoria",
|
||||
"motd": "MOTD",
|
||||
"newServer": "Crear nuevo Servidor",
|
||||
"nextBackup": "Próximo:",
|
||||
"no-servers": "Actualmente no hay servidores. Para comenzar, haga click",
|
||||
"no-servers": "Actualmente no hay servidores. Para comenzar, haga click en",
|
||||
"offline": "Desconectado",
|
||||
"online": "En línea",
|
||||
"players": "Jugadores",
|
||||
"restart": "Reiniciar",
|
||||
"sendingCommand": "Enviando tu comando",
|
||||
"server": "Server",
|
||||
"servers": "Servers",
|
||||
"server": "Servidor",
|
||||
"servers": "Servidores",
|
||||
"size": "Tamaño del directorio del servidor",
|
||||
"start": "Iniciar",
|
||||
"starting": "Inicio-retrasado",
|
||||
"status": "Estado",
|
||||
"stop": "Detener",
|
||||
"version": "Versión",
|
||||
"welcome": "Bienvenido a Crafty Controller"
|
||||
"welcome": "Bienvenido a Crafty Controller",
|
||||
"installing": "Instalando..."
|
||||
},
|
||||
"datatables": {
|
||||
"datatables": {
|
||||
"i18n": {
|
||||
"aria": {
|
||||
"sortAscending": ": activar para ordenar las columnas de masnera ascendente",
|
||||
"sortDescending": ": activar para ordenar las columnas de masnera descendente"
|
||||
"sortAscending": ": activar para ordenar las columnas de manera ascendente",
|
||||
"sortDescending": ": activar para ordenar las columnas de manera descendente"
|
||||
},
|
||||
"buttons": {
|
||||
"collection": "Colección <span class='ui-button-icon-primary ui-icon ui-icon-triangle-1-s'/>",
|
||||
"colvis": "Visibilidad de las columnas",
|
||||
"colvisRestore": "Restaurar visibilidad",
|
||||
"copy": "Copiar",
|
||||
"copyKeys": "Presiona ctrl o u2318 + C para copiar los datos de la tabla al portapapeles de tu sistema.<br><br>Para cancelar, click en este mensaje o presiona escape.",
|
||||
"copyKeys": "Presiona ctrl o u2318 + C para copiar los datos de la tabla al portapapeles de tu sistema.<br><br>Para cancelar, cliquea este mensaje o presiona escape.",
|
||||
"copySuccess": {
|
||||
"1": "Copiado 1 fila al portapapeles",
|
||||
"_": "Copiadas %d filas al portapapeles"
|
||||
"_": "Copiado %d filas al portapapeles"
|
||||
},
|
||||
"copyTitle": "Copiar al Portapapeles",
|
||||
"csv": "CSV",
|
||||
@ -128,15 +129,15 @@
|
||||
},
|
||||
"decimal": "",
|
||||
"emptyTable": "No hay datos disponibles en la tabla",
|
||||
"info": "Mostrando _START_ a _END_ de _TOTAL_ entradas",
|
||||
"infoEmpty": "Mostrando 0 a 0 de 0 entradas",
|
||||
"info": "Mostrando _START_ hasta _END_ de _TOTAL_ entradas",
|
||||
"infoEmpty": "Mostrando 0 de 0 entradas",
|
||||
"infoFiltered": "(filtrado de _MAX_ entradas totales)",
|
||||
"infoPostFix": "",
|
||||
"lengthMenu": "Mostrar _MENU_ entradas",
|
||||
"lengthMenu": "Mostrar entradas de _MENU_",
|
||||
"loadingRecords": "Cargando...",
|
||||
"paginate": {
|
||||
"first": "Primero",
|
||||
"last": "Ultimo",
|
||||
"last": "Último",
|
||||
"next": "Siguiente",
|
||||
"previous": "Anterior"
|
||||
},
|
||||
@ -160,27 +161,39 @@
|
||||
}
|
||||
},
|
||||
"thousands": ",",
|
||||
"zeroRecords": "No se encontraron registros coincidentes"
|
||||
"zeroRecords": "No se encontraron registros que coincidan"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"closedPort": "Hemos detectado que el puerto {} podría no estar abierto en la red del host o un firewall lo está bloqueando. Las conexiones remotas de clientes al servidor podrían estar limitadas.",
|
||||
"contact": "Contacta el soporte de Crafty Control desde Discord",
|
||||
"embarassing": "Oh por, bueno, esto es vergonzoso.",
|
||||
"embarassing": "¡Oh cielos! Esto es embarazoso.",
|
||||
"error": "Error!",
|
||||
"eulaAgree": "Estás de acuerdo?",
|
||||
"eulaMsg": "Debes aceptar el EULA. Una copia del EULA de Minecraft esta vinculada debajo de este mensaje.",
|
||||
"eulaAgree": "¿Estás de acuerdo?",
|
||||
"eulaMsg": "Debes aceptar el ",
|
||||
"privMsg": "y el ",
|
||||
"eulaTitle": "Aceptar EULA",
|
||||
"fileTooLarge": "Subida fallida. Carga de archivo demasiado grande. Póngase en contacto con el administrador del sistema para obtener ayuda.",
|
||||
"agree": "Aceptar",
|
||||
"cancel": "Cancelar",
|
||||
"fileTooLarge": "Subida fallida. El archivo es demasiado grande. Contacte al administrador del sistema para obtener asistencia.",
|
||||
"hereIsTheError": "Aquí está el error.",
|
||||
"internet": "Hemos detectado que la maquina ejecutando Crafty no tiene acceso a internet. Las conexiones de clientes al servidor podrían estar limitadas.",
|
||||
"no-file": "No se puede localizar el archivo solicitado. Verifique dos veces la ruta. Capaz Crafty no tiene los permisos adecuados?",
|
||||
"noJava": "Server {} fallo al iniciar con código de error: Detectamos que Java no esta instalado, Por favor instale java y inicie el servidor.",
|
||||
"not-downloaded": "Parece que no podemos encontrar su archivo ejecutable. Capaz no ha terminado de descargarse o los permisos están configurados como ejecutables.",
|
||||
"portReminder": "Detectamos que es la primera vez que se inicia {}. Asegúrese de configurar el puerto {} A través de su router/firewall para hacer el servidor accesible.",
|
||||
"internet": "Hemos detectado que la máquina ejecutando Crafty no tiene acceso a internet. Las conexiones de cliente al servidor podrían ser limitadas.",
|
||||
"no-file": "No se puede encontrar el archivo solicitado. Verifique la dirección. ¿Quizas Crafty no tiene los permisos adecuados?",
|
||||
"noJava": "Servidor {} no pudo iniciarse: Detectamos que Java no está instalado, Por favor instale java e inicie el servidor.",
|
||||
"installerJava": "Fallo al instalar {} : La instalación de Forge requiere Java. Detectamos que Java no está instalado. Por favor instale java e inicie el servidor.",
|
||||
"not-downloaded": "No podemos encontrar el archivo ejecutable. ¿Ha terminado de descargarse? ¿Están los permisos puestos como ejecutable?",
|
||||
"portReminder": "Detectamos que es la primera vez que se inicia {}. Asegúrese de configurar el puerto {} a través de su router/firewall para hacer el servidor accesible por Internet.",
|
||||
"start-error": "Servidor {} fallo al iniciar con código de error: {}",
|
||||
"terribleFailure": "¡Un terrible error!"
|
||||
},
|
||||
"terribleFailure": "¡Un terrible error!",
|
||||
"superError": "Debes ser un super usuario para completar esta acción.",
|
||||
"fileError": "El tipo de archivo debe ser una imagen.",
|
||||
"migration": "El almacenamiento del servidor principal de Crafty se está migrando a una nueva ubicación. El inicio de servidores se han suspendido durante este periodo. Espere mientras finalizamos esta migración.",
|
||||
"serverJars1": "API de Servidor JAR no disponible. por favor, compruebe",
|
||||
"bedrockError": "Descargas de Bedrock no disponibles. por favor, compruebe",
|
||||
"craftyStatus": "Página de estados de Crafty",
|
||||
"serverJars2": "para la información más actualizada.",
|
||||
"cronFormat": "Detectado formato CRON invalido",
|
||||
"noInternet": "Crafty tiene problemas para acceder a Internet. La creación del servidor ha sido deshabilitada. Verifique su conexión a Internet y actualice esta página.Crafty tiene problemas para acceder a Internet. La creación del servidor ha sido deshabilitada. Verifique su conexión a Internet y actualice esta página."
|
||||
},
|
||||
"footer": {
|
||||
"allRightsReserved": "Todos los derechos reservados",
|
||||
"copyright": "Copyright",
|
||||
@ -194,97 +207,125 @@
|
||||
},
|
||||
"notify": {
|
||||
"activityLog": "Registros de actividad",
|
||||
"backupComplete": "Backup completado de manera exitosa en el servidor {}",
|
||||
"backupStarted": "Backup iniciado para el servidor {}",
|
||||
"downloadLogs": "Descargar registros de soporte?",
|
||||
"finishedPreparing": "Terminamos la preparación de tus registros de soporte. Por favor presione el boton para descargar.",
|
||||
"backupComplete": "Respaldo completado de manera exitosa para el servidor {}",
|
||||
"backupStarted": "Respaldo iniciado para el servidor {}",
|
||||
"downloadLogs": "¿Descargar registros de soporte?",
|
||||
"finishedPreparing": "Terminamos la preparación de tus registros de soporte. Por favor presione el botón para descargar.",
|
||||
"logout": "Cerrar Sesión",
|
||||
"preparingLogs": " Por favor espere mientras preparamos los registros. Le enviaremos una notificación cuando estén listos. Esto puede tomar un rato en implementaciones grandes.",
|
||||
"supportLogs": "Registros de soporte"
|
||||
},
|
||||
"offline": {
|
||||
"offline": "Desconectado",
|
||||
"pleaseConnect": "Conéctate a Internet para usar Crafty."
|
||||
},
|
||||
"panelConfig": {
|
||||
"adminControls": "Controles de administrador",
|
||||
"allowedServers": "Servidores Habilitados",
|
||||
"assignedRoles": "Roles asignados",
|
||||
"allowedServers": "Servidores Permitidos",
|
||||
"assignedRoles": "Grupos asignados",
|
||||
"cancel": "Cancelar",
|
||||
"clearComms": "Limpiar comandos sin ejecutar.",
|
||||
"select": "Seleccionar",
|
||||
"apply": "Aplicar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"enabled": "Habilitado",
|
||||
"newRole": "Agregar un nuevo rol",
|
||||
"match": "Las contraseñas deben coincidir",
|
||||
"newRole": "Agregar nuevo Grupo",
|
||||
"newUser": "Agregar nuevo Usuario",
|
||||
"pageTitle": "Configuración del panel",
|
||||
"role": "Rol",
|
||||
"roles": "Roles",
|
||||
"roleUsers": "Usuarios del rol",
|
||||
"role": "Grupo",
|
||||
"roles": "Grupos",
|
||||
"roleUsers": "Usuarios del Grupo",
|
||||
"save": "Guardar",
|
||||
"superConfirm": "Proceder solamente si queres que este usuario tenga acceso a TODO(todas las cuentas de usuarios, servidores, configuración del panel, etc...) Hasta puede quitarte tu permiso de superuser.",
|
||||
"superConfirmTitle": "Habilitar superusers? Estas seguro?",
|
||||
"superConfirm": "Proceder solamente si quieres que este usuario tenga acceso a TODO (todas las cuentas de usuarios, servidores, configuración del panel, etc.) Hasta puede quitarte tu permiso de super usuario.",
|
||||
"superConfirmTitle": "¿Activar super usuario? ¿Seguro?",
|
||||
"user": "Usuario",
|
||||
"users": "Usuarios"
|
||||
"users": "Usuarios",
|
||||
"title": "Configuración de Crafty",
|
||||
"enableLang": "Activar todos los Idiomas",
|
||||
"noMounts": "No mostrar Montajes en panel de Control",
|
||||
"globalServer": "Directorio Global de Servidores",
|
||||
"globalExplain": "Donde Crafty almacena todos los archivos de tu servidor. (Juntaremos la ruta con /servers/[uuid de servidor])"
|
||||
},
|
||||
"customLogin": {
|
||||
"customLoginPage": "Personalizar la página de logueo",
|
||||
"loginImage": "Subir una imagen de fondo para la pantalla de logueo.",
|
||||
"labelLoginImage": "Elige tu fondo para la pantalla de logueo",
|
||||
"backgroundUpload": "Subir imagen de fondo",
|
||||
"loginBackground": "Imagen de fondo de logueo",
|
||||
"loginOpacity": "Seleccionar la opacidad de la ventana de logueo",
|
||||
"select": "Seleccionar",
|
||||
"apply": "Aplicar",
|
||||
"delete": "Eliminar",
|
||||
"selectImage": "Seleccionar una imagen",
|
||||
"preview": "Previsualizar",
|
||||
"pageTitle": "Página de logueo personalizada"
|
||||
},
|
||||
"rolesConfig": {
|
||||
"config": "Configuracion de roles",
|
||||
"configDesc": "Aca podes cambiar la configuracion de los roles",
|
||||
"config": "Configuración de grupos",
|
||||
"configDesc": "Aquí puedes cambiar la configuración de los grupos",
|
||||
"configUpdate": "Actualizado: ",
|
||||
"created": "Creado: ",
|
||||
"delRole": "Eliminar Rol",
|
||||
"doesNotExist": "No podes elminiar algo que todavia no existe",
|
||||
"pageTitle": "Editar Rol",
|
||||
"pageTitleNew": "Nuevo Rol",
|
||||
"permAccess": "Acceso?",
|
||||
"permName": "Nombre de los permisos",
|
||||
"permsServer": "Permisos que tiene este rol para esos servidores específicos.",
|
||||
"roleConfigArea": "Zona de configuración de roles",
|
||||
"roleDesc": "Como te gustaria llamar a este rol?",
|
||||
"roleName": "Nombre del rol: ",
|
||||
"rolePerms": "Permisos del rol",
|
||||
"roleServers": "Servidores Habilitados",
|
||||
"roleTitle": "Configuración de Roles",
|
||||
"delRole": "Eliminar Grupo",
|
||||
"doesNotExist": "No puedes eliminar algo que todavía no existe",
|
||||
"pageTitle": "Editar Grupo",
|
||||
"pageTitleNew": "Nuevo Grupo",
|
||||
"permAccess": "¿Acceso?",
|
||||
"permName": "Nombre del permiso",
|
||||
"permsServer": "Permisos que tiene este grupo para los servidores especificados.",
|
||||
"roleConfigArea": "Área de configuración de grupos",
|
||||
"roleDesc": "¿Como te gustaría llamar a este grupo?",
|
||||
"roleName": "Nombre del grupo: ",
|
||||
"rolePerms": "Permisos del grupo",
|
||||
"roleServers": "Servidores Permitidos",
|
||||
"roleTitle": "Configuración de Grupos",
|
||||
"roleUserName": "Nombre de usuario",
|
||||
"roleUsers": "Usuarios del rol: ",
|
||||
"serverAccess": "Acceso?",
|
||||
"roleUsers": "Usuarios del grupo: ",
|
||||
"serverAccess": "¿Acceso?",
|
||||
"serverName": "Nombre del servidor",
|
||||
"serversDesc": "Servidores a los que este rol puede acceder"
|
||||
"serversDesc": "Servidores a los que este grupo puede acceder"
|
||||
},
|
||||
"serverBackups": {
|
||||
"backupAtMidnight": "¿Copia de seguridad automática a medianoche?",
|
||||
"backupNow": "¡Haga una copia de seguridad ahora!",
|
||||
"backupNow": "¡Respalde ahora!",
|
||||
"backupTask": "Se ha iniciado una tarea de copia de seguridad.",
|
||||
"cancel": "Cancelar",
|
||||
"clickExclude": "Click para seleccionar las Exclusiones",
|
||||
"compress": "Comprimir el Backup",
|
||||
"compress": "Comprimir la copia",
|
||||
"confirm": "Confirmar",
|
||||
"confirmDelete": "¿Quieres eliminar esta copia de seguridad? Esto no se puede deshacer.",
|
||||
"confirmRestore": "Esta seguro de que quiere restaurar desde este backup. Todos los archivos actuales del servidor seran cambiados al estado del backup y seran irrecuperables.",
|
||||
"confirmRestore": "¿Seguro que quiere restaurar desde este respaldo?. Todos los archivos del servidor actuales serán cambiados al estado del respaldo y serán irrecuperables.",
|
||||
"currentBackups": "Copias de seguridad actuales",
|
||||
"delete": "Eliminar",
|
||||
"destroyBackup": "¿Destruir copia de seguridad \" + file_to_del + \"?",
|
||||
"download": "Descargar",
|
||||
"excludedBackups": "Rutas Excluidas: ",
|
||||
"excludedChoose": "Elija las rutas que desea excluir de sus backups",
|
||||
"exclusionsTitle": "Exclusiones del backup.",
|
||||
"maxBackups": "Máxima cantidad de Copias de seguridad",
|
||||
"maxBackupsDesc": "Crafty no almacenará más de N copias de seguridad, eliminando la más antigua (Ingrese 0 para mantenerlas todas)",
|
||||
"excludedChoose": "Elige las rutas que desea excluir de los respaldos",
|
||||
"exclusionsTitle": "Exclusiones en respaldos.",
|
||||
"maxBackups": "Cantidad máxima de respaldos",
|
||||
"maxBackupsDesc": "Crafty no almacenará más de N copias de seguridad, eliminando la más antigua. (Sin límite: 0)",
|
||||
"options": "Opciones",
|
||||
"path": "Dirección",
|
||||
"path": "Ruta",
|
||||
"restore": "Restaurar",
|
||||
"restoring": "Restaurando copia de seguridad. Esto puede tomar un tiempo. Sea paciente.",
|
||||
"save": "Guardar",
|
||||
"shutdown": "Apague el servidor durante la duración de la copia del backup.",
|
||||
"shutdown": "Apagar el servidor durante la duración de la copia del respaldo.",
|
||||
"size": "Tamaño",
|
||||
"storageLocation": "Ubicación de almacenamiento",
|
||||
"storageLocationDesc": "¿Dónde quieres almacenar las copias de seguridad?"
|
||||
},
|
||||
"storageLocationDesc": "¿Dónde quieres almacenar las copias de seguridad?",
|
||||
"before": "Comando ejecutado antes del respaldo",
|
||||
"after": "Comando ejecutado después del respaldo"
|
||||
},
|
||||
"serverConfig": {
|
||||
"bePatientDelete": "Tenga paciencia mientras eliminamos su servidor del panel de Crafty. Esta pantalla se cerrará en unos momentos.",
|
||||
"bePatientDeleteFiles": "Tenga paciencia mientras eliminamos su servidor del panel de Crafty y eliminamos todos los archivos. Esta pantalla se cerrará en unos momentos.",
|
||||
"bePatientUpdate": "Tenga paciencia mientras actualizamos el servidor. El tiempo de descarga puede variar según la velocidad del Internet...<br /> Esta pantalla se actualizará en unos momentos.",
|
||||
"cancel": "Cancelar",
|
||||
"crashTime": "Tiempo de espera por crash",
|
||||
"crashTimeDesc": "Cuanto tiempo se debe esperar después de que crafty considere su servidor como crasheado?",
|
||||
"deleteFilesQuestion": "¿Eliminar archivos del servidor de la máquina?",
|
||||
"deleteFilesQuestionMessage": "¿Le gustaría que Crafty elimine todos los archivos del servidor de la máquina host? <br><br><strong>Esto incluye backups del servidor.</strong>",
|
||||
"cancel": "Cancelar",
|
||||
"crashTime": "Tiempo de espera por crasheo",
|
||||
"crashTimeDesc": "¿Cuanto tiempo esperar para considerar el servidor como crasheado?",
|
||||
"deleteFilesQuestion": "¿Eliminar archivos del servidor del host?",
|
||||
"deleteFilesQuestionMessage": "¿Le gustaría que Crafty elimine todos los archivos del servidor de la máquina host? <br><br><strong>Esto incluye respaldos del servidor.</strong>",
|
||||
"deleteServer": "Eliminar Servidor",
|
||||
"deleteServerQuestion": "¿Eliminar Servidor?",
|
||||
"deleteServerQuestionMessage": "¿Estás seguro de que desea eliminar este servidor? Después de esto no hay vuelta atrás...",
|
||||
@ -292,97 +333,109 @@
|
||||
"exeUpdateURLDesc": "URL de descarga directa para actualizaciones.",
|
||||
"javaNoChange": "No sobrescribir",
|
||||
"javaVersion": "Sobrescribir versión de Java.",
|
||||
"javaVersionDesc": "Si vas a sobrescribir la versión de Java, Asegúrese de que ponga la localizacion de java con ' ' (comillas).",
|
||||
"javaVersionDesc": "Si vas a sobrescribir la versión de Java, Asegúrese de rodear la ubicación con comillas. (Variable predeterminada 'java' excluida)",
|
||||
"noDelete": "No, vuelve atrás.",
|
||||
"noDeleteFiles": "No, solo remover del panel.",
|
||||
"removeOldLogsAfter": "Eliminar registros antiguos después de",
|
||||
"removeOldLogsAfterDesc": "¿Cuántos días debe ser un archivo de registro para ser eliminado (0 es desactivado)?",
|
||||
"removeOldLogsAfterDesc": "¿Cuántos días debe tener un archivo de registro para ser eliminado? (Desactivar: 0)",
|
||||
"save": "Guardar",
|
||||
"sendingDelete": "Eliminando servidor",
|
||||
"sendingRequest": "Enviando tu solicitud...",
|
||||
"serverAutoStart": "Inicio automático del servidor",
|
||||
"serverAutostartDelay": "Retraso del inicio automático del servidor.",
|
||||
"serverAutostartDelayDesc": "Tiempo de retraso antes del inicio automático (si está habilitado debajo)",
|
||||
"serverAutostartDelayDesc": "Tiempo de retraso antes del inicio automático (Si está habilitado debajo)",
|
||||
"serverCrashDetection": "Detección de crasheos del Servidor",
|
||||
"serverExecutable": "Ejecutable del servidor",
|
||||
"serverExecutableDesc": "El archivo ejecutable del servidor.",
|
||||
"serverExecutionCommand": "Comando de ejecución del Servidor",
|
||||
"serverExecutionCommandDesc": "Se ejecutara en una terminal oculta para iniciar el servidor.",
|
||||
"serverIP": "Server IP",
|
||||
"serverIPDesc": "IP a la que Crafty debería conectarse para obtener estadísticas (pruebe con una ip real en lugar de 127.0.0.1 si tienes problemas)",
|
||||
"serverExecutionCommandDesc": "Se ejecutará en una terminal oculta para iniciar el servidor.",
|
||||
"serverIP": "IP del Servidor",
|
||||
"serverIPDesc": "IP a la que Crafty debería conectarse para obtener estadísticas (Pruebe con una IP real en lugar de 127.0.0.1 si tienes problemas)",
|
||||
"serverLogLocation": "Ubicación del registro del servidor",
|
||||
"serverLogLocationDesc": "Dirección absoluta al archivo de registro",
|
||||
"serverLogLocationDesc": "Ruta absoluta al archivo de registro",
|
||||
"serverName": "Nombre del servidor",
|
||||
"serverNameDesc": "¿Cómo quieres nombrar el servidor?",
|
||||
"serverPath": "Directorio de trabajo del servidor",
|
||||
"serverPathDesc": "Dirección absoluta del servidor (sin incluir el ejecutable)",
|
||||
"serverPath": "Ruta de trabajo del servidor",
|
||||
"serverPathDesc": "Ruta absoluta del servidor (sin incluir el ejecutable)",
|
||||
"serverPort": "Puerto del Servidor",
|
||||
"serverPortDesc": "Puerto al que Crafty debería conectarse para obtener estadísticas",
|
||||
"serverStopCommand": "Comando de detención del Servidor",
|
||||
"serverStopCommandDesc": "Comando que enviar al programa para detener el servidor.",
|
||||
"stopBeforeDeleting": "Detenga el servidor antes de eliminarlo.",
|
||||
"serverStopCommandDesc": "Comando que enviar al programa para detener el servidor.",
|
||||
"showStatus": "Mostrar en la pagina de estados publicos",
|
||||
"stopBeforeDeleting": "Por favor, detenga el servidor antes de eliminarlo.",
|
||||
"update": "Actualizar Ejecutable",
|
||||
"yesDelete": "Si, borralo.",
|
||||
"yesDeleteFiles": "Si, borra los archivos."
|
||||
"yesDelete": "Sí, borralo.",
|
||||
"yesDeleteFiles": "Sí, borra los archivos.",
|
||||
"shutdownTimeout": "Tiempo de espera al apagar",
|
||||
"timeoutExplain1": "Cuánto tiempo esperará Crafty a que su servidor se apague después de ejecutar el",
|
||||
"timeoutExplain2": "comando antes de forzar cerrar el proceso.",
|
||||
"statsHint1": "El puerto que ejecuta su servidor debe ir aquí. Crafty abre una conexión a su servidor para obtener estadísticas.",
|
||||
"statsHint2": "Esto no cambia el puerto de su servidor. Aún debe cambiar el puerto en el archivo de configuración de su servidor.",
|
||||
"ignoredExits": "Codigos de salida al crashear ignorados",
|
||||
"ignoredExitsExplain": "Codigos de salida que Crafty deberia ignorar como un 'apagado' normal (separarados por comas)"
|
||||
},
|
||||
"serverConfigHelp": {
|
||||
"desc": "Here is where you can change the configuration of your server",
|
||||
"desc": "Aquí es donde puede cambiar la configuración de su servidor",
|
||||
"perms": [
|
||||
"It is recommended to <code>NOT</code> change the paths of a server managed by Crafty.",
|
||||
"Changing paths <code>CAN</code> break things, especially on Linux type operating systems where file permissions are more locked down.",
|
||||
"Se recomienda <code>NO</code> cambiar las rutas de un servidor administrado por Crafty.",
|
||||
"Cambiar las rutas <code>PUEDE</code> romper cosas, especialmente en sistemas operativos tipo Linux donde los permisos de archivo están más bloqueados.",
|
||||
"<br /><br/>",
|
||||
"If you feel you have to change a where a server is located you may do so as long as you give the \"crafty\" user permission to read / write to the server path.",
|
||||
"Si cree que tiene que cambiar la ubicación de un servidor, puede hacerlo siempre que le dé permiso al usuario \"Crafty\" para leer/escribir en la ruta del servidor.",
|
||||
"<br />",
|
||||
"<br />",
|
||||
"On Linux this is best done by executing the following:<br />",
|
||||
"En Linux, esto se hace mejor ejecutando lo siguiente:<br />",
|
||||
"<code>",
|
||||
" sudo chown crafty:crafty /path/to/your/server -R<br />",
|
||||
" sudo chmod 2775 /path/to/your/server -R<br />",
|
||||
" sudo chown crafty:crafty /ruta/del/servidor -R<br />",
|
||||
" sudo chmod 2775 /ruta/del/servidor -R<br />",
|
||||
"</code>"
|
||||
],
|
||||
"title": "Server Config Area"
|
||||
"title": "Área de configuración del servidor"
|
||||
},
|
||||
"serverDetails": {
|
||||
"backup": "Backup",
|
||||
"backup": "Respaldos",
|
||||
"config": "Configuración",
|
||||
"files": "Archivos",
|
||||
"logs": "Registros",
|
||||
"playerControls": "Gestionar jugadores",
|
||||
"schedule": "Programación Tareas",
|
||||
"schedule": "Programar Tareas",
|
||||
"serverDetails": "Detalles del Servidor",
|
||||
"terminal": "Terminal"
|
||||
"terminal": "Terminal",
|
||||
"metrics": "Métricas",
|
||||
"reset": "Reiniciar Desplazamiento",
|
||||
"filter": "Filtrar Registros",
|
||||
"filterList": "Palabras filtradas"
|
||||
},
|
||||
"serverFiles": {
|
||||
"clickUpload": "Click aquí para seleccionar tus archivos",
|
||||
"close": "Cerrar",
|
||||
"createDir": "Crear directorio",
|
||||
"createDirQuestion": "Que nombre quiere darle al nuevo directorio?",
|
||||
"createDirQuestion": "¿Que nombre quieres para el nuevo directorio?",
|
||||
"createFile": "Crear archivo",
|
||||
"createFileQuestion": "Que nombre quiere darle al nuevo archivo?",
|
||||
"createFileQuestion": "¿Que nombre quieres para el nuevo archivo?",
|
||||
"default": "Predeterminado",
|
||||
"delete": "Eliminar",
|
||||
"deleteItemQuestion": "¿Estás seguro de que quieres eliminar \" + name + \"?",
|
||||
"deleteItemQuestionMessage": "¡Estas eliminando \\\"\" + path + \"\\\"!<br/><br/>¡Esta acción será irreversible y se perderá para siempre!",
|
||||
"download": "Descargar",
|
||||
"editingFile": "Editar archivo",
|
||||
"editingFile": "Editando archivo",
|
||||
"error": "Error al encontrar archivos",
|
||||
"fileReadError": "Error de lectura del archivo",
|
||||
"files": "Archivos",
|
||||
"keybindings": "Atajos de teclado",
|
||||
"loadingRecords": "Cargando Archivos...",
|
||||
"noDelete": "No",
|
||||
"noscript": "El administrador de archivos no funciona sin JavaScript ",
|
||||
"noscript": "El administrador de archivos no funciona sin JavaScript",
|
||||
"rename": "Renombrar",
|
||||
"renameItemQuestion": "Cuál debería ser el nuevo nombre?",
|
||||
"renameItemQuestion": "¿Cuál debería ser el nuevo nombre?",
|
||||
"save": "Guardar",
|
||||
"size": "Alternar tamaño del editor.",
|
||||
"stayHere": "NO SALGA DE ESTA PÁGINA",
|
||||
"unsupportedLanguage": "Advertencia: este no es un tipo de archivo admitido",
|
||||
"stayHere": "¡NO SALGA DE ESTA PÁGINA!",
|
||||
"unsupportedLanguage": "Advertencia: Este no es un tipo de archivo admitido",
|
||||
"unzip": "Descomprimir (UnZip)",
|
||||
"upload": "Subir",
|
||||
"uploadTitle": "Subir archivos a: ",
|
||||
"waitUpload": "Espera mientras subimos tus archivos... Esto puede tomar un tiempo.",
|
||||
"yesDelete": "Si, entiendo las consecuencias"
|
||||
"yesDelete": "Sí, entiendo las consecuencias"
|
||||
},
|
||||
"serverPlayerManagement": {
|
||||
"bannedPlayers": "Jugadores Baneados",
|
||||
@ -390,39 +443,57 @@
|
||||
"players": "Jugadores"
|
||||
},
|
||||
"serverScheduleConfig": {
|
||||
"backup": "Backup del Servidor",
|
||||
"backup": "Respaldar Servidor",
|
||||
"select": "Básico, / Cron / En cadena",
|
||||
"basic": "Básico",
|
||||
"children": "Tareas 'hijos' enlazados: ",
|
||||
"command": "Comando",
|
||||
"command-explain": "Que comandó quiere que sea ejecutado, no incluya el '/'",
|
||||
"cron": "Cron",
|
||||
"cron-explain": "Ponga su configuración de cron. -- NOTA: Pagina recomendada: 'https://crontab.guru'",
|
||||
"custom": "Comando Customizado",
|
||||
"cron-explain": "Ponga su cadena de CRON. -- NOTA: Página recomendada: 'https://crontab.guru'",
|
||||
"custom": "Comando Personalizado",
|
||||
"days": "Días",
|
||||
"enabled": "Habilitado",
|
||||
"hours": "Horas",
|
||||
"interval": "Intervalo",
|
||||
"interval-explain": "Con qué frecuencia quieres que se ejecute esta tarea?",
|
||||
"interval-explain": "¿Con qué frecuencia quieres que se ejecute esta tarea?",
|
||||
"minutes": "Minutos",
|
||||
"offset": "Retraso",
|
||||
"offset-explain": "Cuanto tiempo se debe esperar para ejecutar esta tarea después de la primera? (En Segundos).",
|
||||
"one-time": "Borrar después de su ejecución?",
|
||||
"offset-explain": "¿Cuanto tiempo se debe esperar para ejecutar esta tarea después de la primera? (En Segundos).",
|
||||
"one-time": "¿Borrar después de su ejecución?",
|
||||
"parent": "Seleccione una tarea programada 'padre'",
|
||||
"parent-explain": "Qué tarea programada debería activar esta?",
|
||||
"reaction": "Reaccion",
|
||||
"parent-explain": "¿Qué tarea programada debería activar esta?",
|
||||
"reaction": "Reacción",
|
||||
"restart": "Reiniciar el Servidor",
|
||||
"start": "Iniciar el Servidor",
|
||||
"stop": "Apagar el Servidor",
|
||||
"time": "Horario",
|
||||
"time-explain": "A que hora quiere que la tarea programada se ejecute?"
|
||||
"time-explain": "¿A que hora quiere que la tarea programada se ejecute?"
|
||||
},
|
||||
"serverSchedules": {
|
||||
"areYouSure": "Borrar tarea programada?",
|
||||
"scheduledTasks": "Tareas programadas",
|
||||
"create": "Crear nueva tarea programada",
|
||||
"name": "Nombre",
|
||||
"action": "Acción",
|
||||
"command": "Comando",
|
||||
"interval": "Intervalo",
|
||||
"nextRun": "Siguiente ejecución",
|
||||
"enabled": "Habilitado",
|
||||
"edit": "Editar",
|
||||
"every": "Cada",
|
||||
"yes": "Sí",
|
||||
"no": "No",
|
||||
"cron": "Cadena CRON",
|
||||
"details": "Detalles de la tarea",
|
||||
"child": "Tarea hija con ID ",
|
||||
"areYouSure": "¿Borrar tarea programada?",
|
||||
"close": "Cerrar",
|
||||
"delete": "Eliminar",
|
||||
"cancel": "Cancelar",
|
||||
"cannotSee": "No puede pude ver todo?",
|
||||
"cannotSeeOnMobile": "Intente hacer clic en una tarea programada para obtener todos los detalles.",
|
||||
"cannotSee": "¿No puede ver todo?",
|
||||
"cannotSeeOnMobile": "Intente hacer click en una tarea programada para obtener todos los detalles.",
|
||||
"confirm": "Confirmar",
|
||||
"confirmDelete": "Estás seguro de que desea eliminar esta tarea programada? Esto no se puede deshacer."
|
||||
"confirmDelete": "¿De verdad desea eliminar esta tarea programada? Esto no se puede deshacer."
|
||||
},
|
||||
"serverStats": {
|
||||
"cpuUsage": "Uso de CPU",
|
||||
@ -443,33 +514,41 @@
|
||||
},
|
||||
"serverTerm": {
|
||||
"commandInput": "Introducir tu comando",
|
||||
"delay-explained": "El agente/servicio ha recientemente iniciado y está retrasando el inicio de la instancia del servidor de Minecraft.",
|
||||
"delay-explained": "El agente/servicio se inicio recientemente y está retrasando iniciar la instancia del servidor de Minecraft.",
|
||||
"downloading": "Descargando...",
|
||||
"restart": "Reiniciar",
|
||||
"sendCommand": "Enviar comando",
|
||||
"start": "Iniciar",
|
||||
"starting": "Inicio-retrasado",
|
||||
"stop": "Detener",
|
||||
"stopScroll": "Detener Scrolling automatico",
|
||||
"updating": "Actualizando..."
|
||||
"stopScroll": "Detener Desplazamiento automático",
|
||||
"updating": "Actualizando...",
|
||||
"installing": "Instalando..."
|
||||
},
|
||||
"serverMetrics": {
|
||||
"resetZoom": "Reiniciar Zoom",
|
||||
"zoomHint1": "Para hacer zoom en el gráfico, mantén presionada la tecla shift y luego usa la rueda de desplazamiento.",
|
||||
"zoomHint2": "Alternativamente, mantén presionada la tecla shift, luego haz click y arrastra el área en la que deseas hacer zoom."
|
||||
},
|
||||
"serverWizard": {
|
||||
"absoluteServerPath": "Dirección absoluta del servidor",
|
||||
"absoluteZipPath": "Dirección absoluta del servidor",
|
||||
"addRole": "Añadir Servidor a grupos existentes..",
|
||||
"autoCreate": "Si no se selecciona ninguno, ¡Crafty creara uno!",
|
||||
"bePatient": "Por favor tenga paciencia, ya que estamos ' + (importing ? 'import' : 'download') + ' el servidor.",
|
||||
"buildServer": "Construir Servidor!",
|
||||
"absoluteServerPath": "Ruta absoluta del servidor",
|
||||
"absoluteZipPath": "Ruta absoluta servidor",
|
||||
"addRole": "Añadir Servidor a grupos existentes...",
|
||||
"autoCreate": "Si ninguno es seleccionado, ¡Crafty creara uno!",
|
||||
"bePatient": "Por favor tenga paciencia, mientras se ' + (importing ? 'importa' : 'descarga') + ' el servidor.",
|
||||
"buildServer": "¡Crear Servidor!",
|
||||
"clickRoot": "Click aquí para seleccionar el directorio raiz.",
|
||||
"close": "Cerrar",
|
||||
"defaultPort": "25565 (Por defecto)",
|
||||
"downloading": "Descargando Servidor...",
|
||||
"explainRoot": "Por favor, haga click en el botón de abajo para seleccionar el directorio raiz de su servidor.",
|
||||
"explainRoot": "Por favor, haga click en el botón debajo para seleccionar el directorio raíz de su servidor.",
|
||||
"importing": "Importando Servidor...",
|
||||
"importServer": "Importar Servidor existente",
|
||||
"importServerButton": "Importar Servidor!",
|
||||
"importServerButton": "¡Importar Servidor!",
|
||||
"importZip": "Importar desde archivo Zip",
|
||||
"maxMem": "Memoria máxima",
|
||||
"uploadZip": "Subir archivo Zip para importar servidor",
|
||||
"labelZipFile": "Elige tu archivo Zip",
|
||||
"maxMem": "Memoria máxima",
|
||||
"minMem": "Memoria mínima",
|
||||
"myNewServer": "Mi nuevo Servidor",
|
||||
"newServer": "Crear Servidor",
|
||||
@ -479,62 +558,68 @@
|
||||
"save": "Guardar",
|
||||
"selectRole": "Seleccionar Grupo(s)",
|
||||
"selectRoot": "Seleccione el directorio raíz del archivo.",
|
||||
"selectType": "Selecciona un tipo",
|
||||
"selectType": "Tipo de servidor (Vanilla, Modificado, Mods, etc.)",
|
||||
"selectVersion": "Selecciona una versión",
|
||||
"selectZipDir": "Seleccione el directorio donde quiere que se extraigan los archivos.",
|
||||
"selectZipDir": "Seleccione el directorio del archivo que quiere extraer el contenido.",
|
||||
"serverJar": "Archivo Jar del servidor",
|
||||
"serverName": "Nombre del servidor",
|
||||
"serverPath": "Dirección del servidor",
|
||||
"serverPath": "Ruta del servidor",
|
||||
"serverPort": "Puerto del servidor",
|
||||
"serverType": "Tipo de servidor",
|
||||
"serverVersion": "Versión del servidor",
|
||||
"serverUpload": "Subir servidor comprimido",
|
||||
"sizeInGB": "Tamaño en GB",
|
||||
"zipPath": "Dirección del servidor"
|
||||
"uploadButton": "Subir",
|
||||
"zipPath": "Ruta del servidor"
|
||||
},
|
||||
"sidebar": {
|
||||
"contribute": "Contribuir",
|
||||
"credits": "Creditos",
|
||||
"credits": "Créditos",
|
||||
"dashboard": "Panel de control",
|
||||
"documentation": "Documentación",
|
||||
"navigation": "Navegación",
|
||||
"newServer": "Crear nuevo Servidor",
|
||||
"servers": "Servers"
|
||||
"servers": "Servidores",
|
||||
"inApp": "Documentación de la Aplicación"
|
||||
},
|
||||
"userConfig": {
|
||||
"apiKey": "Claves API",
|
||||
"auth": "Autorizado? ",
|
||||
"auth": "¿Autorizado? ",
|
||||
"config": "Configuración",
|
||||
"configArea": "Area de Configuracion de Usuarios",
|
||||
"configAreaDesc": "Aca modificas la configuración de todos tus usuarios.",
|
||||
"confirmDelete": "Está seguro de que quiere borrar a este usuario? Esta acción es irreversible.",
|
||||
"configArea": "Área de Configuración de Usuario",
|
||||
"configAreaDesc": "Aquí modificas la configuración de este usuario.",
|
||||
"confirmDelete": "¿Está seguro de que quiere eliminar a este usuario? Esta acción es irreversible.",
|
||||
"craftyPermDesc": "Permisos de Crafty que tiene este usuario.",
|
||||
"craftyPerms": "Permisos de Crafty: ",
|
||||
"created": "Creado: ",
|
||||
"deleteUser": "Borrar Usuario: ",
|
||||
"deleteUserB": "Borrar Usuario",
|
||||
"delSuper": "No puedes borrar un super user",
|
||||
"deleteUser": "Eliminar Usuario: ",
|
||||
"deleteUserB": "Eliminar Usuario",
|
||||
"delSuper": "No puedes eliminar un super usuario",
|
||||
"enabled": "Habilitado",
|
||||
"gravDesc": "Este mail se va a usar solamente para conseguir el Gravatar. Crafty no va a usar esta información bajo ninguna circunstancia más que para conseguir el Gravatar™",
|
||||
"gravDesc": "Este mail será utilizado únicamente para obtener el Gravatar. Crafty no utilizará esta información bajo otra circunstancia aparte de obtener el Gravatar™",
|
||||
"gravEmail": "Gravatar™ Email",
|
||||
"lastIP": "Ultima IP: ",
|
||||
"lastIP": "Última IP: ",
|
||||
"lastLogin": "Última Sesión: ",
|
||||
"lastUpdate": "Última Actualización: ",
|
||||
"leaveBlank": "Para editar el usuario sin cambiar la contraseña, no completar nada.",
|
||||
"member": "Miembro?",
|
||||
"notExist": "No se puede borrar algo que no existe!",
|
||||
"leaveBlank": "Para editar el usuario sin cambiar la contraseña, dejar en blanco.",
|
||||
"member": "¿Miembro?",
|
||||
"notExist": "¡No se puede eliminar algo que no existe!",
|
||||
"pageTitle": "Editar Usuario.",
|
||||
"pageTitleNew": "Crear Usuario.",
|
||||
"password": "Nueva Contraseña",
|
||||
"permName": "Nombre del Permiso",
|
||||
"repeat": "Repita la contraseña.",
|
||||
"roleName": "Nombre del rol.",
|
||||
"super": "Super User",
|
||||
"roleName": "Nombre del grupo.",
|
||||
"super": "Super Usuario",
|
||||
"userLang": "Idioma del usuario.",
|
||||
"userTheme": "Tema de Interfaz",
|
||||
"userName": "Nombre de usuario.",
|
||||
"userNameDesc": "Como quieres llamar a este usuario?",
|
||||
"userRoles": "Roles del usuario.",
|
||||
"userRolesDesc": "Roles que tiene este usuario.",
|
||||
"userSettings": "Configuracion de Usuario.",
|
||||
"uses": "Número de usos habilitados. (-1 == sin límite)."
|
||||
"userNameDesc": "¿Como quieres llamar a este usuario?",
|
||||
"userRoles": "Grupos del usuario.",
|
||||
"userRolesDesc": "Grupos a los que este usuario pertenece.",
|
||||
"userSettings": "Configuración de Usuario.",
|
||||
"uses": "Número de usos permitidos. (Sin límite: -1)",
|
||||
"manager": "Administrador",
|
||||
"selectManager": "Seleccionar Administrador para Usuario"
|
||||
}
|
||||
}
|
@ -53,6 +53,20 @@
|
||||
"translationTitle": "Język tłumaczenia",
|
||||
"translator": "Tłumacze"
|
||||
},
|
||||
"customLogin": {
|
||||
"apply": "Apply",
|
||||
"backgroundUpload": "Załącz tło",
|
||||
"customLoginPage": "Dostosuj stronę zalogowania",
|
||||
"delete": "Usuń",
|
||||
"labelLoginImage": "Wybierz swoje tło logowania",
|
||||
"loginBackground": "Zdjęcie tła logowania",
|
||||
"loginImage": "Prześlij tło dla ekranu logowania.",
|
||||
"loginOpacity": "Wybierz przeźroczystość tła na ekranie logowania",
|
||||
"pageTitle": "Własna strona logowania",
|
||||
"preview": "Podgląd",
|
||||
"select": "Zaznacz",
|
||||
"selectImage": "Zaznacz zdjęcie"
|
||||
},
|
||||
"dashboard": {
|
||||
"actions": "Akcje",
|
||||
"allServers": "Wszystkie serwery",
|
||||
@ -75,6 +89,7 @@
|
||||
"dashboard": "Dashboard",
|
||||
"delay-explained": "Crafty niedawno się odpalił, właczanie serwera będzie trochę opóźnione",
|
||||
"host": "Host",
|
||||
"installing": "Instalowanie...",
|
||||
"kill": "Zabij proces",
|
||||
"killing": "Zabijanie procesu...",
|
||||
"lastBackup": "Ostatni:",
|
||||
@ -164,20 +179,33 @@
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"agree": "Zgadzam się",
|
||||
"bedrockError": "Pobieranie serwera bedrock jest teraz niedostępne. Proszę sprawdź",
|
||||
"cancel": "Anuluj",
|
||||
"contact": "Podrzebujesz pomocy? Zapraszamy na serwer discord Crafty Controler",
|
||||
"craftyStatus": "Status strony Craftyiego",
|
||||
"cronFormat": "Nieprawidłowy format Cron",
|
||||
"embarassing": "Oh, więc, to jest żenujące.",
|
||||
"error": "Błąd!",
|
||||
"eulaAgree": "Czy się zgadzasz?",
|
||||
"eulaMsg": "Musisz się zgodzić na EULA. Kopia EULA Minecraft jest zalinkowana pod tą wiadomością.",
|
||||
"eulaTitle": "Zgódź się na EULA",
|
||||
"fileError": "Plik musi być zdjęciem.",
|
||||
"fileTooLarge": "Upload nie udany. Plik jest za duży. Skontaktuj się z administratorem dla pomocy.",
|
||||
"hereIsTheError": "Tu jest problem",
|
||||
"installerJava": "Nie udało się zainstalować {} : Serwery Forge wymagają Java. Wykryliśmy że Java nie jest zainstalowana. Proszę zainstaluj Javę a następnie serwer.",
|
||||
"internet": "Zauważyliśmy że Crafty nie ma dostępu do internetu. Połączenie klientów z Craftym może być utrudnione.",
|
||||
"migration": "Miejsce przechowywania serwerów zostało zmienione w Craftym. Włączanie serwerów zostanie zawieszone do zakończenia migracji",
|
||||
"no-file": "Nie możemy znaleść żądanego pliku. Sprawdź ścieżkę. Czy Crafty ma odpowiednie uprawnienia?",
|
||||
"noInternet": "Crafty ma problem połączenia się z internetem. Tworzenie serwerów zostało wyłączone. Sprawdź swoje połączenie z intenetem i spróbuj ponownie.",
|
||||
"noJava": "Serwer {} nie mógł się odpalić z powodu: Zauważyliśmy że Java nie jest zainstalowana. Proszę zainstaluj Javę, a następnie włącz serwer.",
|
||||
"not-downloaded": "Nie możemy znaleść twojego pliku serwera. Czy skończył się pobierać? Czy permisje są ustawione na wykonywanle?",
|
||||
"portReminder": "Zauważyliśmy że to jest pierwszy raz {} kiedy był włączony. Upewnij się że otworzyłeś port {} na swoim routerze/firewallu aby korzystać z tego poza domem.",
|
||||
"privMsg": "i także ",
|
||||
"serverJars1": "API Server Jars jest niedostępne. Proszę sprawdź",
|
||||
"serverJars2": "dla najnowzsych informacji.",
|
||||
"start-error": "Serwer {} nie mógł się odpalić z powodu: {}",
|
||||
"superError": "Potrzebujesz uprawnienie Adminitsratora aby zakończyć tę akcję.",
|
||||
"terribleFailure": "Okropny błąd!"
|
||||
},
|
||||
"footer": {
|
||||
@ -201,25 +229,38 @@
|
||||
"preparingLogs": " Poczekaj kiedy my przygotowujemy twoje logi ... Wyślemy ci powiadomienie kiedy będą gotowe. To trochę zajmie na dużych serwerach.",
|
||||
"supportLogs": "Logi Pomocnicze"
|
||||
},
|
||||
"offline": {
|
||||
"offline": "Offline",
|
||||
"pleaseConnect": "Proszę połącz się z internetem aby korzystać z Craftiego."
|
||||
},
|
||||
"panelConfig": {
|
||||
"adminControls": "Ustawienia Admina",
|
||||
"allowedServers": "Zezwolone serwery",
|
||||
"apply": "Akceptuj",
|
||||
"assignedRoles": "Przypisane role",
|
||||
"cancel": "Anuluj",
|
||||
"clearComms": "Wyczyść nie wykonane komendy",
|
||||
"custom": "Dostosuj Craftiego",
|
||||
"delete": "Usuń",
|
||||
"edit": "Edytuj",
|
||||
"enabled": "Wlączone",
|
||||
"enableLang": "Włącz wszystkie języki",
|
||||
"globalExplain": "Gdzie Crafty trzyma wszystkie twoje serwery. (dołączymy /servers/[uuid of server] do ścieżki)",
|
||||
"globalServer": "Globalna ścieżka serwerów",
|
||||
"json": "Config.json",
|
||||
"match": "Hasła muszą być takie same",
|
||||
"newRole": "Dodaj nową role",
|
||||
"newUser": "Dodaj nowego użytkownika",
|
||||
"noMounts": "Nie pokazuj dysków w panelu",
|
||||
"pageTitle": "Ustawienia Panelu",
|
||||
"role": "Role",
|
||||
"roles": "Roles",
|
||||
"roleUsers": "Role użytkownika",
|
||||
"save": "Zapisz",
|
||||
"select": "Wybierz",
|
||||
"superConfirm": "Zapisz jeśli chcesz aby ten użytkownik miał dostęp do WSZYSTKIEGO (wszyscy użytkownicy, konta, serwery, ustawienia panelu, itp.). Mogą oni nawet usunąć twoje prawa SuperUżytkownika.",
|
||||
"superConfirmTitle": "Włączyć SuperUżytkownika? Jesteś pewien?",
|
||||
"title": "Konfiguracja Craftiego",
|
||||
"user": "Użytkownik",
|
||||
"users": "użytkownicy"
|
||||
},
|
||||
@ -243,14 +284,17 @@
|
||||
"roleTitle": "Ustawienia roli",
|
||||
"roleUserName": "Nazwa użytkownika",
|
||||
"roleUsers": "Dostęp do ról: ",
|
||||
"selectManager": "Wybierz zarządce dla tej roli",
|
||||
"serverAccess": "Dostęp?",
|
||||
"serverName": "Nazwa serwera",
|
||||
"serversDesc": "Serwery które mają tą role mają dostęp"
|
||||
},
|
||||
"serverBackups": {
|
||||
"after": "Wykonaj tę komendę po backupie",
|
||||
"backupAtMidnight": "Auto-backup o północy?",
|
||||
"backupNow": "Backup Teraz!",
|
||||
"backupTask": "Backup został rozpoczęty.",
|
||||
"before": "Wykonaj tę komendę przed backupem",
|
||||
"cancel": "Anuluj",
|
||||
"clickExclude": "Kliknij aby zaznaczyć wyjątki",
|
||||
"compress": "Skompresuj backup",
|
||||
@ -290,6 +334,8 @@
|
||||
"deleteServerQuestionMessage": "Jesteś pewien że chcesz usunąć ten serwer? To jest nie odwracalne...",
|
||||
"exeUpdateURL": "URL pliku egzekucyjnego serwera",
|
||||
"exeUpdateURLDesc": "Bezpośredni link dla aktualizacji.",
|
||||
"ignoredExits": "Ignoruj kody błędu przy crashu",
|
||||
"ignoredExitsExplain": "Kody błędu Crafty powinien rozumieć jako `stop` (odzielone przecinkiem)",
|
||||
"javaNoChange": "Nie nadpisuj",
|
||||
"javaVersion": "Nadpisz wersję Javy",
|
||||
"javaVersionDesc": "Jeśli chcesz nadpisać wersję javy. Upewnij się że twoja wersja javy w 'komendzie egzekucyjnej' jest zawinięta w cytaty (podstatowa zmienna 'java' jest wykluczona )",
|
||||
@ -320,7 +366,13 @@
|
||||
"serverPortDesc": "Port na jakim Crafty ma szukać statystyk",
|
||||
"serverStopCommand": "Komenda wyłączenia serwera",
|
||||
"serverStopCommandDesc": "Komenda, którą wyśle crafty aby wyłączyć serwer",
|
||||
"showStatus": "Pokazuj na publicznej stronie statusu",
|
||||
"shutdownTimeout": "Czas oczekiwania na zamknięcie",
|
||||
"statsHint1": "Port na którym operuje serwer. W ten sposób Crafty ma statystyki.",
|
||||
"statsHint2": "To nie zmienia portu serwera. Wciąż musisz go manualnie zmienić w server.properties.",
|
||||
"stopBeforeDeleting": "Zatrzymaj serwer przed jego usunięciem",
|
||||
"timeoutExplain1": "Jak długo musi Crafty czekać po `wyłączeniu` serwera",
|
||||
"timeoutExplain2": "aby wymusić zamknięcie.",
|
||||
"update": "Aktualizuj plik serwera",
|
||||
"yesDelete": "Tak, usuń",
|
||||
"yesDeleteFiles": "Tak, usuń pliki"
|
||||
@ -346,8 +398,12 @@
|
||||
"backup": "Backup",
|
||||
"config": "Konfiguracja",
|
||||
"files": "Pliki",
|
||||
"filter": "Filtruj Logi",
|
||||
"filterList": "Filtrowane słowa",
|
||||
"logs": "Logi",
|
||||
"metrics": "Statystyki",
|
||||
"playerControls": "Player Management",
|
||||
"reset": "Resetuj Scrolla",
|
||||
"schedule": "Harmonogram",
|
||||
"serverDetails": "Detale serwera",
|
||||
"terminal": "Konsola"
|
||||
@ -384,6 +440,11 @@
|
||||
"waitUpload": "Poczekaj, aż wyślemy twoje pliki... To może chwilkę zająć.",
|
||||
"yesDelete": "Tak, zdaję sobie sprawę z konsekfencji"
|
||||
},
|
||||
"serverMetrics": {
|
||||
"resetZoom": "Zresetuj Przybliżenie",
|
||||
"zoomHint1": "Aby Przybliżyć statystyki przytrzymaj shifta i użyj kółka na myszy.",
|
||||
"zoomHint2": "Albo przytrzymaj shifta i zaznacz strefę którą chcesz przybliżyć."
|
||||
},
|
||||
"serverPlayerManagement": {
|
||||
"bannedPlayers": "Zbanowani gracze",
|
||||
"loadingBannedPlayers": "Wczytuję zbanowanych graczy",
|
||||
@ -411,18 +472,36 @@
|
||||
"parent-explain": "Który harmonogram powinien wykonywać ten?",
|
||||
"reaction": "Reakcja",
|
||||
"restart": "Restart Serwera",
|
||||
"select": "Basic / Cron / Chain Zaznaczenie reakcji",
|
||||
"start": "Start Serwera",
|
||||
"stop": "Wyłącz Serwer",
|
||||
"time": "Czas",
|
||||
"time-explain": "O jakim czasie ma wykonać się ten harmonogram?"
|
||||
},
|
||||
"serverSchedules": {
|
||||
"action": "Akcja",
|
||||
"areYouSure": "Usuń zaplanowane (zadanie)?",
|
||||
"cancel": "Anuluj",
|
||||
"cannotSee": "Nie widzisz wszystkiego?",
|
||||
"cannotSeeOnMobile": "Spróbój kliknąć na zadanie dla detali.",
|
||||
"child": "ID dziecka harmonogramu ",
|
||||
"close": "Zamknij",
|
||||
"command": "Komenda",
|
||||
"confirm": "Zapisz",
|
||||
"confirmDelete": "Czy chcesz usunąć ten zaplanowany task? Jest to nieodwracalne."
|
||||
"confirmDelete": "Czy chcesz usunąć ten zaplanowany task? Jest to nieodwracalne.",
|
||||
"create": "Utwórz nowy harmonogram",
|
||||
"cron": "Crong String",
|
||||
"delete": "Usuń",
|
||||
"details": "Detale harmonogramu",
|
||||
"edit": "Edytuj",
|
||||
"enabled": "Włączony",
|
||||
"every": "Co",
|
||||
"interval": "Regularność",
|
||||
"name": "Nazwa",
|
||||
"nextRun": "Następne uruchomienie",
|
||||
"no": "Nie",
|
||||
"scheduledTasks": "Zaplanowane zadania",
|
||||
"yes": "Tak"
|
||||
},
|
||||
"serverStats": {
|
||||
"cpuUsage": "Użycie procesora",
|
||||
@ -444,7 +523,8 @@
|
||||
"serverTerm": {
|
||||
"commandInput": "Wpisz swoją komendę",
|
||||
"delay-explained": "Crafty niedawno się odpalił, właczanie serwera będzie trochę opóźnione",
|
||||
"downloading": "Pobieranie...",
|
||||
"importing": "Importowanie...",
|
||||
"installing": "Instalowanie...",
|
||||
"restart": "Restart",
|
||||
"sendCommand": "Wyślij komendę",
|
||||
"start": "Start",
|
||||
@ -469,6 +549,7 @@
|
||||
"importServer": "Importuj egzystujący serwer",
|
||||
"importServerButton": "Importuj serwer!",
|
||||
"importZip": "Importuj z ZIPa",
|
||||
"labelZipFile": "Wybierz swój plik ZIP",
|
||||
"maxMem": "Maks. RAMu",
|
||||
"minMem": "Min. RAMu",
|
||||
"myNewServer": "Mój nowy serwer",
|
||||
@ -478,7 +559,8 @@
|
||||
"resetForm": "Resetuj formę",
|
||||
"save": "Zapisz",
|
||||
"selectRole": "Zaznacz rolę (lub kilka)",
|
||||
"selectRoot": "Wybierz archiwum głównej ścieżki | (TBF, Select Archive Root Dir)",
|
||||
"selectRoot": "Wybierz główny katalog archiwa",
|
||||
"selectServer": "Wybierz Serwer",
|
||||
"selectType": "Wybierz typ serwera",
|
||||
"selectVersion": "Wybiesz wersje",
|
||||
"selectZipDir": "Wybierz ścieżkę w archiwóm którą chcesz abyśmy wypakowali",
|
||||
@ -486,9 +568,13 @@
|
||||
"serverName": "Nazwa serwera",
|
||||
"serverPath": "Ścieżka serwera",
|
||||
"serverPort": "Port serwera",
|
||||
"serverSelect": "Wybierz Serwer",
|
||||
"serverType": "Typ serwera",
|
||||
"serverVersion": "Wersja serwera",
|
||||
"serverUpload": "Wgraj ZIP Serwera",
|
||||
"sizeInGB": "Wielkość w GB",
|
||||
"uploadButton": "Wgraj",
|
||||
"uploadZip": "Wgraj plik Zip dla imprtowania serwera",
|
||||
"zipPath": "Server Path"
|
||||
},
|
||||
"sidebar": {
|
||||
@ -496,6 +582,7 @@
|
||||
"credits": "Podziękowania",
|
||||
"dashboard": "Panel",
|
||||
"documentation": "Dokumentacja",
|
||||
"inApp": "Dokumentacja w Aplikacji",
|
||||
"navigation": "Nawigacja",
|
||||
"newServer": "Stwórz nowy serwer",
|
||||
"servers": "Serwery"
|
||||
@ -520,6 +607,7 @@
|
||||
"lastLogin": "Ostatni login: ",
|
||||
"lastUpdate": "Ostatni update: ",
|
||||
"leaveBlank": "Jeśli chcesz zmienić użytkownika bez zmieniania hasła, nic nie wpisuj.",
|
||||
"manager": "Zarządca",
|
||||
"member": "Użytkownik?",
|
||||
"notExist": "Nie możesz usunąć czegoś, co nie istnieje!",
|
||||
"pageTitle": "Edytuj użytkownika",
|
||||
@ -528,6 +616,7 @@
|
||||
"permName": "Nazwa permisji",
|
||||
"repeat": "Powtórz hasło",
|
||||
"roleName": "Nazwa roli",
|
||||
"selectManager": "Wybierz zarządce dla tej roli",
|
||||
"super": "SuperUżytkownik",
|
||||
"userLang": "Język użytkownika",
|
||||
"userName": "Nazwa użytkownika",
|
||||
@ -535,6 +624,7 @@
|
||||
"userRoles": "Role użytkownika",
|
||||
"userRolesDesc": "Role, które ten użytkownik posiada.",
|
||||
"userSettings": "Ustawienia użytkownika",
|
||||
"userTheme": "Wygląd UI",
|
||||
"uses": "Ilość użyć (-1==Bez limitu)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,15 +5,15 @@ bleach==4.1
|
||||
cached_property==1.5.2
|
||||
colorama==0.4
|
||||
croniter==1.3.5
|
||||
cryptography==39.0.1
|
||||
cryptography==41.0.1
|
||||
libgravatar==1.0.0
|
||||
peewee==3.13
|
||||
pexpect==4.8
|
||||
psutil==5.9
|
||||
pyOpenSSL==23.0.0
|
||||
pyOpenSSL==23.2.0
|
||||
pyjwt==2.4.0
|
||||
PyYAML==5.4
|
||||
requests==2.26
|
||||
requests==2.31
|
||||
termcolor==1.1
|
||||
tornado==6.3.2
|
||||
tzlocal==4.0
|
||||
|
14
sonar-project.properties
Normal file
14
sonar-project.properties
Normal file
@ -0,0 +1,14 @@
|
||||
sonar.projectKey=crafty-controller_crafty-4
|
||||
sonar.organization=crafty-controller
|
||||
|
||||
# This is the name and version displayed in the SonarCloud UI.
|
||||
sonar.projectName=Crafty 4
|
||||
sonar.projectVersion=4.1.3
|
||||
sonar.python.version=3.9, 3.10, 3.11
|
||||
sonar.exclusions=app/migrations/**, app/frontend/static/assets/vendors/**
|
||||
|
||||
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
|
||||
#sonar.sources=.
|
||||
|
||||
# Encoding of the source code. Default is default system encoding
|
||||
#sonar.sourceEncoding=UTF-8
|
Loading…
Reference in New Issue
Block a user