mirror of
https://github.com/louislam/dockge.git
synced 2025-02-03 04:09:13 +01:00
Merge branch 'master' into feat/dockge-agents-friendly-name
This commit is contained in:
commit
29cc257717
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -14,8 +14,8 @@ jobs:
|
|||||||
ci:
|
ci:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest, ARM64]
|
os: [ubuntu-latest, windows-latest, macos-latest, ARM, ARM64]
|
||||||
node: [18.17.1] # Can be changed
|
node: [22] # Can be changed
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
|
4
.github/workflows/json-yaml-validate.yml
vendored
4
.github/workflows/json-yaml-validate.yml
vendored
@ -17,11 +17,11 @@ jobs:
|
|||||||
json-yaml-validate:
|
json-yaml-validate:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: json-yaml-validate
|
- name: json-yaml-validate
|
||||||
id: json-yaml-validate
|
id: json-yaml-validate
|
||||||
uses: GrantBirki/json-yaml-validate@v1.3.0
|
uses: GrantBirki/json-yaml-validate@v2.6.1
|
||||||
with:
|
with:
|
||||||
comment: "false" # enable comment mode
|
comment: "false" # enable comment mode
|
||||||
exclude_file: ".github/config/exclude.txt" # gitignore style file for exclusions
|
exclude_file: ".github/config/exclude.txt" # gitignore style file for exclusions
|
||||||
|
@ -100,6 +100,8 @@ export class AgentManager {
|
|||||||
if (bean) {
|
if (bean) {
|
||||||
await R.trash(bean);
|
await R.trash(bean);
|
||||||
let endpoint = bean.endpoint;
|
let endpoint = bean.endpoint;
|
||||||
|
this.disconnect(endpoint);
|
||||||
|
this.sendAgentList();
|
||||||
delete this.agentSocketList[endpoint];
|
delete this.agentSocketList[endpoint];
|
||||||
} else {
|
} else {
|
||||||
throw new Error("Agent not found");
|
throw new Error("Agent not found");
|
||||||
|
@ -17,6 +17,7 @@ export class DockerSocketHandler extends AgentSocketHandler {
|
|||||||
callbackResult({
|
callbackResult({
|
||||||
ok: true,
|
ok: true,
|
||||||
msg: "Deployed",
|
msg: "Deployed",
|
||||||
|
msgi18n: true,
|
||||||
}, callback);
|
}, callback);
|
||||||
stack.joinCombinedTerminal(socket);
|
stack.joinCombinedTerminal(socket);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@ -30,7 +31,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
|
|||||||
await this.saveStack(server, name, composeYAML, composeENV, isAdd);
|
await this.saveStack(server, name, composeYAML, composeENV, isAdd);
|
||||||
callbackResult({
|
callbackResult({
|
||||||
ok: true,
|
ok: true,
|
||||||
"msg": "Saved"
|
msg: "Saved",
|
||||||
|
msgi18n: true,
|
||||||
}, callback);
|
}, callback);
|
||||||
server.sendStackList();
|
server.sendStackList();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@ -56,7 +58,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
|
|||||||
server.sendStackList();
|
server.sendStackList();
|
||||||
callbackResult({
|
callbackResult({
|
||||||
ok: true,
|
ok: true,
|
||||||
msg: "Deleted"
|
msg: "Deleted",
|
||||||
|
msgi18n: true,
|
||||||
}, callback);
|
}, callback);
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@ -94,7 +97,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
|
|||||||
server.sendStackList();
|
server.sendStackList();
|
||||||
callbackResult({
|
callbackResult({
|
||||||
ok: true,
|
ok: true,
|
||||||
msg: "Updated"
|
msg: "Updated",
|
||||||
|
msgi18n: true,
|
||||||
}, callback);
|
}, callback);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
callbackError(e, callback);
|
callbackError(e, callback);
|
||||||
@ -114,7 +118,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
|
|||||||
await stack.start(socket);
|
await stack.start(socket);
|
||||||
callbackResult({
|
callbackResult({
|
||||||
ok: true,
|
ok: true,
|
||||||
msg: "Started"
|
msg: "Started",
|
||||||
|
msgi18n: true,
|
||||||
}, callback);
|
}, callback);
|
||||||
server.sendStackList();
|
server.sendStackList();
|
||||||
|
|
||||||
@ -138,7 +143,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
|
|||||||
await stack.stop(socket);
|
await stack.stop(socket);
|
||||||
callbackResult({
|
callbackResult({
|
||||||
ok: true,
|
ok: true,
|
||||||
msg: "Stopped"
|
msg: "Stopped",
|
||||||
|
msgi18n: true,
|
||||||
}, callback);
|
}, callback);
|
||||||
server.sendStackList();
|
server.sendStackList();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@ -159,7 +165,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
|
|||||||
await stack.restart(socket);
|
await stack.restart(socket);
|
||||||
callbackResult({
|
callbackResult({
|
||||||
ok: true,
|
ok: true,
|
||||||
msg: "Restarted"
|
msg: "Restarted",
|
||||||
|
msgi18n: true,
|
||||||
}, callback);
|
}, callback);
|
||||||
server.sendStackList();
|
server.sendStackList();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@ -180,7 +187,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
|
|||||||
await stack.update(socket);
|
await stack.update(socket);
|
||||||
callbackResult({
|
callbackResult({
|
||||||
ok: true,
|
ok: true,
|
||||||
msg: "Updated"
|
msg: "Updated",
|
||||||
|
msgi18n: true,
|
||||||
}, callback);
|
}, callback);
|
||||||
server.sendStackList();
|
server.sendStackList();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@ -201,7 +209,8 @@ export class DockerSocketHandler extends AgentSocketHandler {
|
|||||||
await stack.down(socket);
|
await stack.down(socket);
|
||||||
callbackResult({
|
callbackResult({
|
||||||
ok: true,
|
ok: true,
|
||||||
msg: "Downed"
|
msg: "Downed",
|
||||||
|
msgi18n: true,
|
||||||
}, callback);
|
}, callback);
|
||||||
server.sendStackList();
|
server.sendStackList();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
version: "3.8"
|
|
||||||
services:
|
services:
|
||||||
dockge:
|
dockge:
|
||||||
image: louislam/dockge:1
|
image: louislam/dockge:1
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# Due to the bug of #145, Node.js's version cannot be changed, unless upstream is fixed.
|
FROM node:22-bookworm-slim
|
||||||
FROM node:18.17.1-bookworm-slim
|
|
||||||
ENV PNPM_HOME="/pnpm"
|
ENV PNPM_HOME="/pnpm"
|
||||||
ENV PATH="$PNPM_HOME:$PATH"
|
ENV PATH="$PNPM_HOME:$PATH"
|
||||||
RUN apt update && apt install --yes --no-install-recommends \
|
RUN apt update && apt install --yes --no-install-recommends \
|
||||||
|
@ -22,6 +22,13 @@ COPY --from=build /app/node_modules /app/node_modules
|
|||||||
COPY --chown=node:node . .
|
COPY --chown=node:node . .
|
||||||
RUN mkdir ./data
|
RUN mkdir ./data
|
||||||
|
|
||||||
|
|
||||||
|
# It is just for safe, as by default, it is disabled in the latest Node.js now.
|
||||||
|
# Read more:
|
||||||
|
# - https://github.com/sagemathinc/cocalc/issues/6963
|
||||||
|
# - https://github.com/microsoft/node-pty/issues/630#issuecomment-1987212447
|
||||||
|
ENV UV_USE_IO_URING=0
|
||||||
|
|
||||||
VOLUME /app/data
|
VOLUME /app/data
|
||||||
EXPOSE 5001
|
EXPOSE 5001
|
||||||
HEALTHCHECK --interval=60s --timeout=30s --start-period=60s --retries=5 CMD extra/healthcheck
|
HEALTHCHECK --interval=60s --timeout=30s --start-period=60s --retries=5 CMD extra/healthcheck
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
version: "3.8"
|
|
||||||
services:
|
services:
|
||||||
mariadb:
|
mariadb:
|
||||||
image: mariadb:latest
|
image: mariadb:latest
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
version: '3.8'
|
|
||||||
services:
|
services:
|
||||||
nginx-proxy-manager:
|
nginx-proxy-manager:
|
||||||
image: 'jc21/nginx-proxy-manager:latest'
|
image: 'jc21/nginx-proxy-manager:latest'
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
version: '3.8'
|
|
||||||
services:
|
services:
|
||||||
uptime-kuma:
|
uptime-kuma:
|
||||||
image: louislam/uptime-kuma:1
|
image: louislam/uptime-kuma:1
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<ul v-if="isArrayInited" class="list-group">
|
<ul v-if="isArrayInited" class="list-group">
|
||||||
<li v-for="(value, index) in array" :key="index" class="list-group-item">
|
<li v-for="(value, index) in array" :key="index" class="list-group-item">
|
||||||
<select v-model="array[index]" class="no-bg domain-input">
|
<select v-model="array[index]" class="no-bg domain-input">
|
||||||
<option value="">Select a network...</option>
|
<option value="">{{ $t(`Select a network...`) }}</option>
|
||||||
<option v-for="option in options" :key="option" :value="option">{{ option }}</option>
|
<option v-for="option in options" :key="option" :value="option">{{ option }}</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@
|
|||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div v-if="networkList.length === 0 && service.networks && service.networks.length > 0" class="text-warning mb-3">
|
<div v-if="networkList.length === 0 && service.networks && service.networks.length > 0" class="text-warning mb-3">
|
||||||
No networks available. You need to add internal networks or enable external networks in the right side first.
|
{{ $t("NoNetworksAvailable") }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ArraySelect name="networks" :display-name="$t('network')" placeholder="Network Name" :options="networkList" />
|
<ArraySelect name="networks" :display-name="$t('network')" placeholder="Network Name" :options="networkList" />
|
||||||
@ -127,7 +127,7 @@
|
|||||||
<label class="form-label">
|
<label class="form-label">
|
||||||
{{ $t("dependsOn") }}
|
{{ $t("dependsOn") }}
|
||||||
</label>
|
</label>
|
||||||
<ArrayInput name="depends_on" :display-name="$t('dependsOn')" placeholder="Container Name" />
|
<ArrayInput name="depends_on" :display-name="$t('dependsOn')" :placeholder="$t(`containerName`)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<h5>{{ $t("Internal Networks") }}</h5>
|
<h5>{{ $t("Internal Networks") }}</h5>
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
<li v-for="(networkRow, index) in networkList" :key="index" class="list-group-item">
|
<li v-for="(networkRow, index) in networkList" :key="index" class="list-group-item">
|
||||||
<input v-model="networkRow.key" type="text" class="no-bg domain-input" placeholder="Network name..." />
|
<input v-model="networkRow.key" type="text" class="no-bg domain-input" :placeholder="$t(`Network name...`)" />
|
||||||
<font-awesome-icon icon="times" class="action remove ms-2 me-3 text-danger" @click="remove(index)" />
|
<font-awesome-icon icon="times" class="action remove ms-2 me-3 text-danger" @click="remove(index)" />
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -253,7 +253,7 @@ export default {
|
|||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.terminal {
|
.terminal {
|
||||||
padding: 10px 15px;
|
background-color: black !important;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
<input
|
<input
|
||||||
v-model="settings.primaryHostname"
|
v-model="settings.primaryHostname"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="(Unset: Follow current hostname)"
|
:placeholder="$t(`CurrentHostname`)"
|
||||||
/>
|
/>
|
||||||
<button class="btn btn-outline-primary" type="button" @click="autoGetPrimaryHostname">
|
<button class="btn btn-outline-primary" type="button" @click="autoGetPrimaryHostname">
|
||||||
{{ $t("autoGet") }}
|
{{ $t("autoGet") }}
|
||||||
|
@ -31,6 +31,7 @@ const languageList = {
|
|||||||
"vi": "Tiếng Việt",
|
"vi": "Tiếng Việt",
|
||||||
"hu": "Magyar",
|
"hu": "Magyar",
|
||||||
"ca": "Català",
|
"ca": "Català",
|
||||||
|
"ga": "Gaeilge",
|
||||||
};
|
};
|
||||||
|
|
||||||
let messages = {
|
let messages = {
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
"restartPolicyAlways": "دائماً",
|
"restartPolicyAlways": "دائماً",
|
||||||
"restartPolicyOnFailure": "عند الفشل",
|
"restartPolicyOnFailure": "عند الفشل",
|
||||||
"restartPolicyNo": "لا",
|
"restartPolicyNo": "لا",
|
||||||
"environmentVariable": "متغير البيئة | متغيرات البيئة",
|
"environmentVariable": "متغير | متغيرات",
|
||||||
"restartPolicy": "سياسة إعادة التشغيل",
|
"restartPolicy": "سياسة إعادة التشغيل",
|
||||||
"containerName": "اسم الحاوية",
|
"containerName": "اسم الحاوية",
|
||||||
"port": "منفذ | منافذ",
|
"port": "منفذ | منافذ",
|
||||||
@ -98,5 +98,16 @@
|
|||||||
"url": "رابط | روابط",
|
"url": "رابط | روابط",
|
||||||
"extra": "إضافات",
|
"extra": "إضافات",
|
||||||
"reverseProxyMsg1": "هل تستدخم خادم عكسي؟",
|
"reverseProxyMsg1": "هل تستدخم خادم عكسي؟",
|
||||||
"connecting...": "جاري الاتصال بخادم المقبس…"
|
"connecting...": "جاري الاتصال بخادم المقبس…",
|
||||||
|
"newUpdate": "تحديث جديد",
|
||||||
|
"currentEndpoint": "السياق: الوكيل الحالي",
|
||||||
|
"dockgeURL": "رابط Dockge (مثلا http://127.0.0.1:5001)",
|
||||||
|
"agentOnline": "متصل",
|
||||||
|
"agentOffline": "غير متصل",
|
||||||
|
"connecting": "جاري الإتصال",
|
||||||
|
"connect": "ارتبط",
|
||||||
|
"dockgeAgent": "سيرفر Dockge",
|
||||||
|
"removeAgent": "حذف الوكيل",
|
||||||
|
"removeAgentMsg": "هل انت متأكد من حذف هذا الوكيل؟",
|
||||||
|
"LongSyntaxNotSupported": "كتابة النصوص المدعومة غير المدعومة هنا. الرجاء استخدام محرر YAML."
|
||||||
}
|
}
|
||||||
|
116
frontend/src/lang/be.json
Normal file
116
frontend/src/lang/be.json
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
{
|
||||||
|
"active": "акт.",
|
||||||
|
"LongSyntaxNotSupported": "Доўгі сінтаксіс тут не падтрымліваецца. Выкарыстоўвайце рэдактар YAML.",
|
||||||
|
"removeAgentMsg": "Вы ўпэўнены, што хочаце выдаліць гэтага агента?",
|
||||||
|
"languageName": "Беларуская",
|
||||||
|
"Create your admin account": "Стварыце ўліковы запіс адміністратара",
|
||||||
|
"authIncorrectCreds": "Няправільны лагін ці пароль.",
|
||||||
|
"PasswordsDoNotMatch": "Паролі не супадаюць.",
|
||||||
|
"Repeat Password": "Паўтарыце пароль",
|
||||||
|
"Create": "Стварыць",
|
||||||
|
"signedInDisp": "Аўтарызаваны як {0}",
|
||||||
|
"signedInDispDisabled": "Аўтарызацыя выключана.",
|
||||||
|
"home": "Галоўная",
|
||||||
|
"console": "Кансоль",
|
||||||
|
"registry": "Рэестр (Registry)",
|
||||||
|
"compose": "Compose",
|
||||||
|
"addFirstStackMsg": "Стварыце свой першы стэк!",
|
||||||
|
"stackName": "Назва стэка",
|
||||||
|
"deployStack": "Разгарнуць",
|
||||||
|
"deleteStack": "Выдаліць",
|
||||||
|
"stopStack": "Спыніць",
|
||||||
|
"restartStack": "Перазапусціць",
|
||||||
|
"updateStack": "Абнавіць",
|
||||||
|
"startStack": "Запусціць",
|
||||||
|
"downStack": "Спыніць і дэактываваць",
|
||||||
|
"editStack": "Рэдагаваць",
|
||||||
|
"discardStack": "Скасаваць",
|
||||||
|
"saveStackDraft": "Захаваць",
|
||||||
|
"notAvailableShort": "Н/Д",
|
||||||
|
"deleteStackMsg": "Вы ўпэўнены, што хочаце выдаліць гэты стэк?",
|
||||||
|
"stackNotManagedByDockgeMsg": "Дадзены стэк не кіруецца Dockge.",
|
||||||
|
"primaryHostname": "Імя хоста",
|
||||||
|
"general": "Агульныя",
|
||||||
|
"container": "Кантэйнер | Кантэйнеры",
|
||||||
|
"scanFolder": "Сканаваць папку стэкаў",
|
||||||
|
"dockerImage": "Вобраз",
|
||||||
|
"restartPolicyUnlessStopped": "Пакуль не будзе спынены",
|
||||||
|
"restartPolicyAlways": "Заўсёды",
|
||||||
|
"restartPolicyOnFailure": "Пры падзенні",
|
||||||
|
"restartPolicyNo": "Ніколі",
|
||||||
|
"environmentVariable": "Зменная асяроддзя | Зменныя асяроддзя",
|
||||||
|
"restartPolicy": "Палітыка рэстарту",
|
||||||
|
"containerName": "Імя кантэйнера",
|
||||||
|
"port": "Порт | Порты",
|
||||||
|
"volume": "Сховішча | Сховішчы",
|
||||||
|
"network": "Сетка | Сеткі",
|
||||||
|
"dependsOn": "Залежнасць кантэйнера | Залежнасці кантэйнера",
|
||||||
|
"addListItem": "Дадаць {0}",
|
||||||
|
"deleteContainer": "Выдаліць",
|
||||||
|
"addContainer": "Дадаць кантэйнер",
|
||||||
|
"addNetwork": "Дадаць сетку",
|
||||||
|
"disableauth.message1": "Вы ўпэўнены, што хочаце <strong>адключыць аўтэнтыфікацыю</strong>?",
|
||||||
|
"Show update if available": "Паказаць абнаўленне, калі яно даступна",
|
||||||
|
"Also check beta release": "Атрымліваць бэта-версіі",
|
||||||
|
"disableauth.message2": "Гэта прызначана для сцэнарыяў, <strong>калі вы збіраецеся выкарыстоўваць староннюю аўтэнтыфікацыю</strong> перад Dockge, напрыклад, Cloudflare Access, Authelia або іншыя механізмы аўтэнтыфікацыі.",
|
||||||
|
"passwordNotMatchMsg": "Паўторны пароль не супадае.",
|
||||||
|
"autoGet": "Аўта",
|
||||||
|
"add": "Дадаць",
|
||||||
|
"Edit": "Змяніць",
|
||||||
|
"applyToYAML": "Ужыць да YAML",
|
||||||
|
"createExternalNetwork": "Стварыць",
|
||||||
|
"addInternalNetwork": "Дадаць",
|
||||||
|
"Save": "Захаваць",
|
||||||
|
"Language": "Мова",
|
||||||
|
"Current User": "Бягучы карыстальнік",
|
||||||
|
"Change Password": "Змяніць пароль",
|
||||||
|
"Current Password": "Бягучы пароль",
|
||||||
|
"New Password": "Новы пароль",
|
||||||
|
"Repeat New Password": "Паўтарыце новы пароль",
|
||||||
|
"Update Password": "Абнавіць пароль",
|
||||||
|
"Advanced": "Пашыраныя",
|
||||||
|
"Please use this option carefully!": "Выкарыстоўвайце гэтую опцыю асцярожна!",
|
||||||
|
"Enable Auth": "Уключыць аўтэнтыфікацыю",
|
||||||
|
"Disable Auth": "Адключыць аўтэнтыфікацыю",
|
||||||
|
"I understand, please disable": "Я разумею, адключыце",
|
||||||
|
"Leave": "Пакінуць",
|
||||||
|
"Frontend Version": "Версія знешняга інтэрфейсу",
|
||||||
|
"Check Update On GitHub": "Праверыць абнаўленні на GitHub",
|
||||||
|
"Remember me": "Запомніць мяне",
|
||||||
|
"Login": "Лагін",
|
||||||
|
"Username": "Імя карыстальніка",
|
||||||
|
"Password": "Пароль",
|
||||||
|
"Settings": "Налады",
|
||||||
|
"Logout": "Выйсці",
|
||||||
|
"Lowercase only": "Толькі ніжні рэгістр",
|
||||||
|
"Convert to Compose": "Пераўтварыць у Compose",
|
||||||
|
"Docker Run": "Docker Run",
|
||||||
|
"exited": "спын.",
|
||||||
|
"inactive": "неакт.",
|
||||||
|
"Appearance": "Знешні выгляд",
|
||||||
|
"Security": "Бяспека",
|
||||||
|
"About": "Аб праграме",
|
||||||
|
"Allowed commands:": "Дазволеныя каманды:",
|
||||||
|
"Internal Networks": "Унутраныя сеткі",
|
||||||
|
"External Networks": "Знешнія сеткі",
|
||||||
|
"No External Networks": "Няма знешніх сетак",
|
||||||
|
"reverseProxyMsg1": "Выкарыстоўваеце зваротны проксі?",
|
||||||
|
"reverseProxyMsg2": "Праверце, як наладзіць яго для WebSocket",
|
||||||
|
"Cannot connect to the socket server.": "Не ўдалося падключыцца да сокет-сервера.",
|
||||||
|
"reconnecting...": "Перападключэнне…",
|
||||||
|
"connecting...": "Падключэнне да сокет-сервера…",
|
||||||
|
"url": "URL-адрас | URL-адрасы",
|
||||||
|
"extra": "Дадаткова",
|
||||||
|
"newUpdate": "Даступна абнаўленне",
|
||||||
|
"dockgeAgent": "Агент Dockge | Агенты Dockge",
|
||||||
|
"currentEndpoint": "Бягучы",
|
||||||
|
"dockgeURL": "URL-адрас Dockge (напрыклад: http://127.0.0.1:5001)",
|
||||||
|
"agentOnline": "У сетцы",
|
||||||
|
"agentOffline": "Не ў сетцы",
|
||||||
|
"connecting": "Падключэнне",
|
||||||
|
"connect": "Падключыць",
|
||||||
|
"addAgent": "Дадаць Агента",
|
||||||
|
"agentAddedSuccessfully": "Агент паспяхова дададзены.",
|
||||||
|
"agentRemovedSuccessfully": "Агент паспяхова выдалены.",
|
||||||
|
"removeAgent": "Выдаліць агента"
|
||||||
|
}
|
@ -111,5 +111,6 @@
|
|||||||
"Please use this option carefully!": "Si us plau, utilitzeu aquesta opció amb cura!",
|
"Please use this option carefully!": "Si us plau, utilitzeu aquesta opció amb cura!",
|
||||||
"Enable Auth": "Habilitar autenticació",
|
"Enable Auth": "Habilitar autenticació",
|
||||||
"I understand, please disable": "Ho entenc, si us plau deshabilita",
|
"I understand, please disable": "Ho entenc, si us plau deshabilita",
|
||||||
"Password": "Contrasenya"
|
"Password": "Contrasenya",
|
||||||
|
"LongSyntaxNotSupported": "La sintaxi llarga no està suportada aquí. Si us plau, fes servir l'editor YAML."
|
||||||
}
|
}
|
||||||
|
@ -111,5 +111,6 @@
|
|||||||
"agentAddedSuccessfully": "Agent succesfuld tilføjet.",
|
"agentAddedSuccessfully": "Agent succesfuld tilføjet.",
|
||||||
"agentRemovedSuccessfully": "Agent succesfuld fjernet.",
|
"agentRemovedSuccessfully": "Agent succesfuld fjernet.",
|
||||||
"removeAgent": "Fjern agent",
|
"removeAgent": "Fjern agent",
|
||||||
"removeAgentMsg": "Er du sikker på at du vil fjerne denne agent?"
|
"removeAgentMsg": "Er du sikker på at du vil fjerne denne agent?",
|
||||||
|
"LongSyntaxNotSupported": "Langt syntaks er ikke understøttet her. Forsøg venligst med YAML-editoren."
|
||||||
}
|
}
|
||||||
|
@ -94,7 +94,7 @@
|
|||||||
"Cannot connect to the socket server.": "Keine Verbindung zum Socket Server.",
|
"Cannot connect to the socket server.": "Keine Verbindung zum Socket Server.",
|
||||||
"reverseProxyMsg1": "Wird ein Reverse Proxy genutzt?",
|
"reverseProxyMsg1": "Wird ein Reverse Proxy genutzt?",
|
||||||
"reconnecting...": "Erneuter Verbindungsaufbau…",
|
"reconnecting...": "Erneuter Verbindungsaufbau…",
|
||||||
"downStack": "Stopp & Inaktiv",
|
"downStack": "Stoppen & Deaktivieren",
|
||||||
"extra": "Extra",
|
"extra": "Extra",
|
||||||
"url": "URL / URLs",
|
"url": "URL / URLs",
|
||||||
"reverseProxyMsg2": "Lerne wie dieser für WebSockets zu konfigurieren ist.",
|
"reverseProxyMsg2": "Lerne wie dieser für WebSockets zu konfigurieren ist.",
|
||||||
|
@ -95,6 +95,7 @@
|
|||||||
"reverseProxyMsg1": "Using a Reverse Proxy?",
|
"reverseProxyMsg1": "Using a Reverse Proxy?",
|
||||||
"reverseProxyMsg2": "Check how to config it for WebSocket",
|
"reverseProxyMsg2": "Check how to config it for WebSocket",
|
||||||
"Cannot connect to the socket server.": "Cannot connect to the socket server.",
|
"Cannot connect to the socket server.": "Cannot connect to the socket server.",
|
||||||
|
"Lost connection to the socket server. Reconnecting...": "Lost connection to the socket server. Reconnecting...",
|
||||||
"reconnecting...": "Reconnecting…",
|
"reconnecting...": "Reconnecting…",
|
||||||
"connecting...": "Connecting to the socket server…",
|
"connecting...": "Connecting to the socket server…",
|
||||||
"url": "URL | URLs",
|
"url": "URL | URLs",
|
||||||
@ -115,4 +116,19 @@
|
|||||||
"LongSyntaxNotSupported": "Long syntax is not supported here. Please use the YAML editor.",
|
"LongSyntaxNotSupported": "Long syntax is not supported here. Please use the YAML editor.",
|
||||||
"name": "Dockge Agent Display name",
|
"name": "Dockge Agent Display name",
|
||||||
"updatedName": "New Dockge Agent Display name"
|
"updatedName": "New Dockge Agent Display name"
|
||||||
|
"Saved": "Saved",
|
||||||
|
"Deployed": "Deployed",
|
||||||
|
"Deleted": "Deleted",
|
||||||
|
"Updated": "Updated",
|
||||||
|
"Started": "Started",
|
||||||
|
"Stopped": "Stopped",
|
||||||
|
"Restarted": "Restarted",
|
||||||
|
"Downed": "Downed",
|
||||||
|
"Switch to sh": "Switch to sh",
|
||||||
|
"terminal": "Terminal",
|
||||||
|
"CurrentHostname": "(Unset: Follow current hostname)",
|
||||||
|
"New Container Name...": "New Container Name...",
|
||||||
|
"Network name...": "Network name...",
|
||||||
|
"Select a network...": "Select a network...",
|
||||||
|
"NoNetworksAvailable": "No networks available. You need to add internal networks or enable external networks in the right side first."
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"languageName": "Español",
|
"languageName": "Inglés",
|
||||||
"Create your admin account": "Crea tu cuenta de administrador",
|
"Create your admin account": "Crea tu cuenta de administrador",
|
||||||
"authIncorrectCreds": "Nombre de usuario o contraseña incorrectos.",
|
"authIncorrectCreds": "Nombre de usuario o contraseña incorrectos.",
|
||||||
"PasswordsDoNotMatch": "Las contraseñas no coinciden.",
|
"PasswordsDoNotMatch": "Las contraseñas no coinciden.",
|
||||||
@ -98,7 +98,7 @@
|
|||||||
"Cannot connect to the socket server.": "No se puede conectar al servidor del socket.",
|
"Cannot connect to the socket server.": "No se puede conectar al servidor del socket.",
|
||||||
"reconnecting...": "Reconectando…",
|
"reconnecting...": "Reconectando…",
|
||||||
"connecting...": "Conectando al servidor del socket…",
|
"connecting...": "Conectando al servidor del socket…",
|
||||||
"url": "URL | URLs",
|
"url": "Dirección URL | Direcciones URLs",
|
||||||
"extra": "Addicional",
|
"extra": "Addicional",
|
||||||
"currentEndpoint": "Corriente",
|
"currentEndpoint": "Corriente",
|
||||||
"dockgeURL": "URL de Dockge (ej. http://127.0.0.1:5001)",
|
"dockgeURL": "URL de Dockge (ej. http://127.0.0.1:5001)",
|
||||||
@ -111,5 +111,6 @@
|
|||||||
"removeAgentMsg": "Estás seguro que deseas remover este agente?",
|
"removeAgentMsg": "Estás seguro que deseas remover este agente?",
|
||||||
"dockgeAgent": "Agentes Dockge",
|
"dockgeAgent": "Agentes Dockge",
|
||||||
"connecting": "Conectando",
|
"connecting": "Conectando",
|
||||||
"agentRemovedSuccessfully": "Agente removido satisfactoriamente."
|
"agentRemovedSuccessfully": "Agente removido satisfactoriamente.",
|
||||||
|
"LongSyntaxNotSupported": "Aquí no hay soporte para la sintaxis larga. Por favor use el editor de YAML."
|
||||||
}
|
}
|
||||||
|
116
frontend/src/lang/ga.json
Normal file
116
frontend/src/lang/ga.json
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
{
|
||||||
|
"Create your admin account": "Cruthaigh do chuntas riaracháin",
|
||||||
|
"authIncorrectCreds": "Ainm úsáideora nó pasfhocal mícheart.",
|
||||||
|
"PasswordsDoNotMatch": "Níl na pasfhocail comhthráthacha.",
|
||||||
|
"Repeat Password": "Athscríobh an Pasfhocal",
|
||||||
|
"Create": "Cruthaigh",
|
||||||
|
"signedInDisp": "Sínithe isteach mar {0}",
|
||||||
|
"languageName": "Gaeilge",
|
||||||
|
"console": "Consól",
|
||||||
|
"registry": "Clárlann",
|
||||||
|
"compose": "Scríobh",
|
||||||
|
"stackName": "Ainm an Staca",
|
||||||
|
"deployStack": "Deighil",
|
||||||
|
"deleteStack": "Scrios",
|
||||||
|
"stopStack": "Stad",
|
||||||
|
"restartStack": "Atosaigh",
|
||||||
|
"updateStack": "Nuashonraigh",
|
||||||
|
"startStack": "Tosaigh",
|
||||||
|
"downStack": "Stad & Neamhghníomhach",
|
||||||
|
"editStack": "Cuir in Eagar",
|
||||||
|
"discardStack": "Caith amach",
|
||||||
|
"saveStackDraft": "Sábháil",
|
||||||
|
"deleteStackMsg": "An bhfuil tú cinnte go bhfuil tú ag iarraidh an staca seo a scriosadh?",
|
||||||
|
"primaryHostname": "Príomhainm óstáin",
|
||||||
|
"general": "Ginearálta",
|
||||||
|
"container": "Coimeádán | Coimeádáin",
|
||||||
|
"scanFolder": "Scanáil Fillteáin na dStacanna",
|
||||||
|
"dockerImage": "Íomha",
|
||||||
|
"restartPolicyUnlessStopped": "Mura Stadfar",
|
||||||
|
"restartPolicyAlways": "I gcónaí",
|
||||||
|
"restartPolicyOnFailure": "Ar theip",
|
||||||
|
"restartPolicyNo": "Níl",
|
||||||
|
"environmentVariable": "Athróg Timpeallacht | Athróga Timpeallacht",
|
||||||
|
"restartPolicy": "Polasaí Atosaigh",
|
||||||
|
"port": "Port | Portanna",
|
||||||
|
"volume": "Toirt | Toirteanna",
|
||||||
|
"network": "Líonra | Líonraí",
|
||||||
|
"dependsOn": "Spleáchas Coimeádán | Spleáchais Coimeádán",
|
||||||
|
"addListItem": "Cuir {0}",
|
||||||
|
"deleteContainer": "Scrios",
|
||||||
|
"addContainer": "Cuir Coimeádán leis",
|
||||||
|
"addNetwork": "Cuir Líonra leis",
|
||||||
|
"add": "Cuir",
|
||||||
|
"Edit": "Cuir in eagar",
|
||||||
|
"applyToYAML": "Déan iarratas ar YAML",
|
||||||
|
"createExternalNetwork": "Cruthaigh",
|
||||||
|
"disableauth.message1": "An bhfuil tú cinnte gur mhaith leat <strong>fíordheimhniú a dhíchumasú</strong>?",
|
||||||
|
"passwordNotMatchMsg": "Ní hionann an pasfhocal athfhillteach.",
|
||||||
|
"autoGet": "Faigh Uathoibríoch",
|
||||||
|
"addInternalNetwork": "Cuir",
|
||||||
|
"Save": "Sábháil",
|
||||||
|
"Language": "Teanga",
|
||||||
|
"Current User": "Úsáideoir Reatha",
|
||||||
|
"New Password": "Pasfhocal Nua",
|
||||||
|
"Current Password": "Pasfhocal Reatha",
|
||||||
|
"Change Password": "Athraigh do Phasfhocal",
|
||||||
|
"Repeat New Password": "Déan Pasfhocal Nua arís",
|
||||||
|
"Update Password": "Nuashonraigh Pasfhocal",
|
||||||
|
"Advanced": "Ardleibhéal",
|
||||||
|
"Please use this option carefully!": "Bain úsáid as an rogha seo go cúramach, le do thoil!",
|
||||||
|
"Enable Auth": "Cumasaigh Auth",
|
||||||
|
"Disable Auth": "Auth dhíchumasú",
|
||||||
|
"I understand, please disable": "Tuigim, le do thoil, múch",
|
||||||
|
"Leave": "Fág",
|
||||||
|
"Frontend Version": "Leagan Frontend",
|
||||||
|
"Check Update On GitHub": "Seiceáil an Nuashonrú ar GitHub",
|
||||||
|
"Show update if available": "Taispeáin an Nuashonrú más ar fáil",
|
||||||
|
"Also check beta release": "Seiceáil an scaoileadh beta freisin",
|
||||||
|
"Remember me": "Cuimhnigh orm",
|
||||||
|
"Login": "Logáil isteach",
|
||||||
|
"Username": "Ainm úsáideora",
|
||||||
|
"Password": "Pasfhocal",
|
||||||
|
"Logout": "Logáil Amach",
|
||||||
|
"Lowercase only": "Cás íochtair amháin",
|
||||||
|
"Convert to Compose": "Tiontaigh go Compóidh",
|
||||||
|
"Docker Run": "Docker Rith",
|
||||||
|
"exited": "scoir",
|
||||||
|
"inactive": "neamhghníomhach",
|
||||||
|
"Appearance": "Dealramh",
|
||||||
|
"Security": "Slándáil",
|
||||||
|
"About": "Maidir le",
|
||||||
|
"Allowed commands:": "Orduithe ceadaithe:",
|
||||||
|
"Internal Networks": "Líonraí Inmheánacha",
|
||||||
|
"External Networks": "Líonraí Seachtracha",
|
||||||
|
"No External Networks": "Gan Líonraí Seachtracha",
|
||||||
|
"reverseProxyMsg1": "Ag Úsáid Seachfhreastalaí Réabhlóideach?",
|
||||||
|
"reverseProxyMsg2": "Seiceáil conas é a shocraigh don WebSocket",
|
||||||
|
"Cannot connect to the socket server.": "Ní féidir ceangal a dhéanamh leis an freastalaí soicéad.",
|
||||||
|
"reconnecting...": "Ag athcheangal…",
|
||||||
|
"connecting...": "Ag nascadh leis an freastalaí soicéad…",
|
||||||
|
"url": "URL | URLanna",
|
||||||
|
"extra": "Breise",
|
||||||
|
"newUpdate": "Nuashonrú Nua",
|
||||||
|
"dockgeAgent": "Aighne Dockge | Aighnithe Dockge",
|
||||||
|
"currentEndpoint": "Reatha",
|
||||||
|
"dockgeURL": "Dockge URL (e.g. http://127.0.0.1:5001)",
|
||||||
|
"agentOnline": "Ar Líne",
|
||||||
|
"agentOffline": "As Líne",
|
||||||
|
"connecting": "Ag Nascadh",
|
||||||
|
"connect": "Ceangail",
|
||||||
|
"addAgent": "Cuir Aighne",
|
||||||
|
"agentAddedSuccessfully": "Aighne curtha leis go rathúil.",
|
||||||
|
"agentRemovedSuccessfully": "Aighne bhaint as go rathúil.",
|
||||||
|
"removeAgent": "Bain Aighne",
|
||||||
|
"removeAgentMsg": "An bhfuil tú cinnte gur mhaith leat an t-aighne seo a bhaint?",
|
||||||
|
"LongSyntaxNotSupported": "Ní thacaítear leis an níochán fada anseo. Úsáid an Eagarthóir YAML, le do thoil.",
|
||||||
|
"signedInDispDisabled": "Auth Díchumasaithe.",
|
||||||
|
"home": "Abhaile",
|
||||||
|
"addFirstStackMsg": "Scríobh do chéad stac!",
|
||||||
|
"notAvailableShort": "Níl ar Fáil",
|
||||||
|
"stackNotManagedByDockgeMsg": "Ní bhainistítear an staca seo ag Dockge.",
|
||||||
|
"containerName": "Ainm na gCoimeádán",
|
||||||
|
"disableauth.message2": "Tá sé deartha do chúinsí <strong>ina bhfuil sé beartaithe agat tríú páirtí athbhreithniú a chur i bhfeidhm</strong> os comhair Dockge cosúil le Rochtain Cloudflare, Authelia nó múnlaí deimhniú eile.",
|
||||||
|
"Settings": "Socruithe",
|
||||||
|
"active": "gníomhach"
|
||||||
|
}
|
@ -111,5 +111,6 @@
|
|||||||
"Cannot connect to the socket server.": "A Socket csatlakozás nem elérhető.",
|
"Cannot connect to the socket server.": "A Socket csatlakozás nem elérhető.",
|
||||||
"connecting...": "Csatlakozás a socket szerver-hez…",
|
"connecting...": "Csatlakozás a socket szerver-hez…",
|
||||||
"url": "URL | URL-ek",
|
"url": "URL | URL-ek",
|
||||||
"dockgeURL": "Dockge URL (pl. http://127.0.0.1:5001)"
|
"dockgeURL": "Dockge URL (pl. http://127.0.0.1:5001)",
|
||||||
|
"LongSyntaxNotSupported": "A hosszú szintaxis itt nem támogatott. Használja a YAML szerkesztőt."
|
||||||
}
|
}
|
||||||
|
@ -111,5 +111,6 @@
|
|||||||
"currentEndpoint": "Sekarang",
|
"currentEndpoint": "Sekarang",
|
||||||
"agentOnline": "Terhubung",
|
"agentOnline": "Terhubung",
|
||||||
"agentOffline": "Terputus",
|
"agentOffline": "Terputus",
|
||||||
"removeAgentMsg": "Apakah anda yakin untuk menghapus agen ini?"
|
"removeAgentMsg": "Apakah anda yakin untuk menghapus agen ini?",
|
||||||
|
"LongSyntaxNotSupported": "Sintaks yang panjang tidak didukung di sini. Silakan gunakan editor YAML."
|
||||||
}
|
}
|
||||||
|
@ -95,10 +95,10 @@
|
|||||||
"reverseProxyMsg1": "Stai usando Reverse Proxy?",
|
"reverseProxyMsg1": "Stai usando Reverse Proxy?",
|
||||||
"reverseProxyMsg2": "Verifica come configurarlo per il WebSocket",
|
"reverseProxyMsg2": "Verifica come configurarlo per il WebSocket",
|
||||||
"Cannot connect to the socket server.": "impossibile collegarsi al socket server",
|
"Cannot connect to the socket server.": "impossibile collegarsi al socket server",
|
||||||
"connecting...": "Connessione al server socket…",
|
"connecting...": "connettendosi al socket server…",
|
||||||
"extra": "Extra",
|
"extra": "Extra",
|
||||||
"reconnecting...": "Riconnessione…",
|
"reconnecting...": "Riconnessione…",
|
||||||
"url": "Indirizzo | Indirizzi",
|
"url": "URL | URLs",
|
||||||
"newUpdate": "Nuovo aggiornamento",
|
"newUpdate": "Nuovo aggiornamento",
|
||||||
"dockgeAgent": "Agente Dockge | Agenti Dockge",
|
"dockgeAgent": "Agente Dockge | Agenti Dockge",
|
||||||
"currentEndpoint": "Corrente",
|
"currentEndpoint": "Corrente",
|
||||||
@ -111,5 +111,6 @@
|
|||||||
"removeAgent": "Rimuovi Agente",
|
"removeAgent": "Rimuovi Agente",
|
||||||
"removeAgentMsg": "Sei sicuro di voler rimuovere questo agente?",
|
"removeAgentMsg": "Sei sicuro di voler rimuovere questo agente?",
|
||||||
"addAgent": "Aggungi Agente",
|
"addAgent": "Aggungi Agente",
|
||||||
"agentAddedSuccessfully": "Agente aggiunto correttamente."
|
"agentAddedSuccessfully": "Agente aggiunto correttamente.",
|
||||||
|
"LongSyntaxNotSupported": "La sintassi lunga non è supportata qui. Utilizzare l'editor YAML."
|
||||||
}
|
}
|
||||||
|
34
frontend/src/lang/nb_NO.json
Normal file
34
frontend/src/lang/nb_NO.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"Create your admin account": "Lag din administrator konto",
|
||||||
|
"authIncorrectCreds": "Brukernavn eller passord stemmer ikke.",
|
||||||
|
"PasswordsDoNotMatch": "Passord stemmer ikke.",
|
||||||
|
"Repeat Password": "Gjenta passord",
|
||||||
|
"Create": "Lag",
|
||||||
|
"signedInDisp": "Logg in som {0}",
|
||||||
|
"signedInDispDisabled": "Auth deaktivert.",
|
||||||
|
"home": "Hjem",
|
||||||
|
"console": "Konsoll",
|
||||||
|
"registry": "Register",
|
||||||
|
"compose": "Skriv",
|
||||||
|
"addFirstStackMsg": "Lag din første stack!",
|
||||||
|
"stackName": "Navn på stack",
|
||||||
|
"deployStack": "Utplassere",
|
||||||
|
"deleteStack": "Slett",
|
||||||
|
"stopStack": "Stoppe",
|
||||||
|
"restartStack": "Omstart",
|
||||||
|
"updateStack": "Oppdater",
|
||||||
|
"downStack": "Stop & Inaktiver",
|
||||||
|
"editStack": "Rediger",
|
||||||
|
"discardStack": "Kast",
|
||||||
|
"saveStackDraft": "Lagre",
|
||||||
|
"notAvailableShort": "N/A",
|
||||||
|
"deleteStackMsg": "Er du sikker på at du vil slette denne stacken?",
|
||||||
|
"stackNotManagedByDockgeMsg": "Denne stacken er ikke styrt av Dockge.",
|
||||||
|
"primaryHostname": "Primært vertsnavn",
|
||||||
|
"general": "Generell",
|
||||||
|
"container": "Container | Containers",
|
||||||
|
"scanFolder": "Skann Stacks mappe",
|
||||||
|
"dockerImage": "Bilde",
|
||||||
|
"languageName": "Engelsk",
|
||||||
|
"startStack": "Start"
|
||||||
|
}
|
@ -100,7 +100,7 @@
|
|||||||
"Convert to Compose": "Converteer naar compose",
|
"Convert to Compose": "Converteer naar compose",
|
||||||
"External Networks": "Externe netwerken",
|
"External Networks": "Externe netwerken",
|
||||||
"newUpdate": "Nieuwe update",
|
"newUpdate": "Nieuwe update",
|
||||||
"dockgeAgent": "Dockge Agent | Dockge Agents",
|
"dockgeAgent": "Dockge Agent | Dockge Agenten",
|
||||||
"currentEndpoint": "Huidige",
|
"currentEndpoint": "Huidige",
|
||||||
"dockgeURL": "Dockge Adres (bijv. http://127.0.0.1:5001)",
|
"dockgeURL": "Dockge Adres (bijv. http://127.0.0.1:5001)",
|
||||||
"agentOnline": "Online",
|
"agentOnline": "Online",
|
||||||
@ -111,5 +111,6 @@
|
|||||||
"agentAddedSuccessfully": "Agent toegevoegd.",
|
"agentAddedSuccessfully": "Agent toegevoegd.",
|
||||||
"agentRemovedSuccessfully": "Agent verwijderd.",
|
"agentRemovedSuccessfully": "Agent verwijderd.",
|
||||||
"removeAgent": "Verwijder agent",
|
"removeAgent": "Verwijder agent",
|
||||||
"removeAgentMsg": "Weet je zeker dat je deze agent wilt verwijderen?"
|
"removeAgentMsg": "Weet je zeker dat je deze agent wilt verwijderen?",
|
||||||
|
"LongSyntaxNotSupported": "Lange syntax wordt hier niet ondersteund. Gebruik de YAML editor."
|
||||||
}
|
}
|
||||||
|
@ -111,5 +111,6 @@
|
|||||||
"connecting...": "Łączenie z socketem serwera…",
|
"connecting...": "Łączenie z socketem serwera…",
|
||||||
"extra": "Ekstra",
|
"extra": "Ekstra",
|
||||||
"url": "URL | URLe",
|
"url": "URL | URLe",
|
||||||
"reconnecting...": "Wznawianie połączenia…"
|
"reconnecting...": "Wznawianie połączenia…",
|
||||||
|
"LongSyntaxNotSupported": "Nieobsługiwana składnia. Użyj edytora YAML."
|
||||||
}
|
}
|
||||||
|
@ -111,5 +111,6 @@
|
|||||||
"agentAddedSuccessfully": "Agente adicionado com sucesso.",
|
"agentAddedSuccessfully": "Agente adicionado com sucesso.",
|
||||||
"agentRemovedSuccessfully": "Agente removido com sucesso.",
|
"agentRemovedSuccessfully": "Agente removido com sucesso.",
|
||||||
"removeAgent": "Remover Agente",
|
"removeAgent": "Remover Agente",
|
||||||
"removeAgentMsg": "Tem certeza de que deseja remover este agente?"
|
"removeAgentMsg": "Tem certeza de que deseja remover este agente?",
|
||||||
|
"LongSyntaxNotSupported": "Sintaxe longa não é suportada aqui. Por favor, use o editor de YAML."
|
||||||
}
|
}
|
||||||
|
@ -101,15 +101,16 @@
|
|||||||
"agentAddedSuccessfully": "Agente adicionado com sucesso.",
|
"agentAddedSuccessfully": "Agente adicionado com sucesso.",
|
||||||
"agentRemovedSuccessfully": "Agente removido com sucesso.",
|
"agentRemovedSuccessfully": "Agente removido com sucesso.",
|
||||||
"removeAgent": "Remover Agente",
|
"removeAgent": "Remover Agente",
|
||||||
"downStack": "Parar & Inativar",
|
"downStack": "Parar & Desativar",
|
||||||
"dockgeAgent": "Dockge Agente | Dockge Agentes",
|
"dockgeAgent": "Dockge Agente | Dockge Agentes",
|
||||||
"connect": "Conectar",
|
"connect": "Conectar",
|
||||||
"removeAgentMsg": "Tem certeza de que deseja remover este agente?",
|
"removeAgentMsg": "Tem certeza de que deseja remover este agente?",
|
||||||
"reverseProxyMsg1": "Usando um Proxy Reverso?",
|
"reverseProxyMsg1": "Usando um Proxy Reverso?",
|
||||||
"reverseProxyMsg2": "Verifique para configurá-lo como WebSocket",
|
"reverseProxyMsg2": "Verifique para configurá-lo como WebSocket",
|
||||||
"Cannot connect to the socket server.": "Não é possível se conectar ao servidor socket.",
|
"Cannot connect to the socket server.": "Não é possível se conectar ao servidor socket.",
|
||||||
"url": "URL | URLs",
|
"url": "URL | URL's",
|
||||||
"extra": "Extra",
|
"extra": "Extra",
|
||||||
"reconnecting...": "Reconectando…",
|
"reconnecting...": "Reconectando…",
|
||||||
"connecting...": "Conectando ao servidor de socket…"
|
"connecting...": "Conectando ao servidor de socket…",
|
||||||
|
"LongSyntaxNotSupported": "Sintaxes longas não são suportadas aqui. Por favor, utilize um editor YAML."
|
||||||
}
|
}
|
||||||
|
@ -91,7 +91,7 @@
|
|||||||
"Internal Networks": "Notranja omrežja",
|
"Internal Networks": "Notranja omrežja",
|
||||||
"External Networks": "Zunanja omrežja",
|
"External Networks": "Zunanja omrežja",
|
||||||
"No External Networks": "Ni zunanjih omrežij",
|
"No External Networks": "Ni zunanjih omrežij",
|
||||||
"downStack": "Ustavi & Odstrani",
|
"downStack": "Ustavi & Deaktiviraj",
|
||||||
"connecting...": "Povezovanje s strežnikom…",
|
"connecting...": "Povezovanje s strežnikom…",
|
||||||
"reverseProxyMsg1": "Uporabljate obratni proxy?",
|
"reverseProxyMsg1": "Uporabljate obratni proxy?",
|
||||||
"extra": "Dodatno",
|
"extra": "Dodatno",
|
||||||
@ -99,5 +99,18 @@
|
|||||||
"newUpdate": "Nova posodobitev",
|
"newUpdate": "Nova posodobitev",
|
||||||
"reverseProxyMsg2": "Preverite, kako ga konfigurirati za WebSocket",
|
"reverseProxyMsg2": "Preverite, kako ga konfigurirati za WebSocket",
|
||||||
"Cannot connect to the socket server.": "Ni mogoče vzpostaviti povezave s strežnikom vtičnic.",
|
"Cannot connect to the socket server.": "Ni mogoče vzpostaviti povezave s strežnikom vtičnic.",
|
||||||
"url": "URL | URL-ji"
|
"url": "URL | URL-ji",
|
||||||
|
"currentEndpoint": "Trenutni",
|
||||||
|
"dockgeURL": "Dockge URL (npr. http://127.0.0.1:5001)",
|
||||||
|
"agentOnline": "Aktivno",
|
||||||
|
"agentOffline": "Neaktivno",
|
||||||
|
"connecting": "Povezujem",
|
||||||
|
"connect": "Poveži",
|
||||||
|
"addAgent": "Dodaj agenta",
|
||||||
|
"dockgeAgent": "Dockge agent | Dockge agenti",
|
||||||
|
"agentAddedSuccessfully": "Agent dodan uspešno.",
|
||||||
|
"agentRemovedSuccessfully": "Agent uspešno odstranjen.",
|
||||||
|
"removeAgent": "Odstrani agent",
|
||||||
|
"removeAgentMsg": "Ali ste prepričani, da želite odstraniti agenta?",
|
||||||
|
"LongSyntaxNotSupported": "Long syntax-a ni podprta tukaj. Prosim uporabite YAML urejevalnik."
|
||||||
}
|
}
|
||||||
|
@ -111,5 +111,6 @@
|
|||||||
"removeAgent": "Ta bort agent",
|
"removeAgent": "Ta bort agent",
|
||||||
"removeAgentMsg": "Är du säker att du vill ta bort denna agent?",
|
"removeAgentMsg": "Är du säker att du vill ta bort denna agent?",
|
||||||
"dockgeAgent": "Dockge agenter | Dockge agenter",
|
"dockgeAgent": "Dockge agenter | Dockge agenter",
|
||||||
"agentAddedSuccessfully": "Agent tillagd."
|
"agentAddedSuccessfully": "Agent tillagd.",
|
||||||
|
"LongSyntaxNotSupported": "Lång syntax stöds inte här. Använd YAML-redigeraren."
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"languageName": "ไทย",
|
"languageName": "อังกฤษ",
|
||||||
"Create your admin account": "สร้างบัญชีผู้ดูแลระบบของคุณ",
|
"Create your admin account": "สร้างบัญชีผู้ดูแลระบบของคุณ",
|
||||||
"authIncorrectCreds": "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง",
|
"authIncorrectCreds": "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง",
|
||||||
"PasswordsDoNotMatch": "รหัสผ่านไม่ตรงกัน",
|
"PasswordsDoNotMatch": "รหัสผ่านไม่ตรงกัน",
|
||||||
"Repeat Password": "ยืนยันรหัสผ่าน",
|
"Repeat Password": "ยืนยันรหัสผ่าน",
|
||||||
"Create": "สร้าง",
|
"Create": "สร้าง",
|
||||||
"signedInDisp": "ลงชื่อเข้าใช้ในชื่อ {0}",
|
"signedInDisp": "ลงชื่อเข้าใช้ในนาม {0}",
|
||||||
"signedInDispDisabled": "ปิดใช้งาน Auth",
|
"signedInDispDisabled": "ปิดใช้งาน Auth",
|
||||||
"home": "หน้าหลักe",
|
"home": "หน้าหลัก",
|
||||||
"console": "คอนโซล",
|
"console": "คอนโซล",
|
||||||
"registry": "Registry",
|
"registry": "Registry",
|
||||||
"compose": "Compose",
|
"compose": "Compose",
|
||||||
"addFirstStackMsg": "Compose stack แรกของคุณ",
|
"addFirstStackMsg": "Compose stack แรกของคุณ!",
|
||||||
"stackName": "ชื่อ Stack",
|
"stackName": "ชื่อ Stack",
|
||||||
"deployStack": "ปรับใช้",
|
"deployStack": "ปรับใช้",
|
||||||
"deleteStack": "ลบ",
|
"deleteStack": "ลบ",
|
||||||
@ -19,7 +19,7 @@
|
|||||||
"restartStack": "เริ่มใหม่",
|
"restartStack": "เริ่มใหม่",
|
||||||
"updateStack": "อัปเดต",
|
"updateStack": "อัปเดต",
|
||||||
"startStack": "เริ่มต้น",
|
"startStack": "เริ่มต้น",
|
||||||
"downStack": "หยุดและปิด",
|
"downStack": "หยุดการทำงาน",
|
||||||
"editStack": "แก้ไข",
|
"editStack": "แก้ไข",
|
||||||
"discardStack": "ยกเลิก",
|
"discardStack": "ยกเลิก",
|
||||||
"saveStackDraft": "บันทึก",
|
"saveStackDraft": "บันทึก",
|
||||||
@ -98,5 +98,19 @@
|
|||||||
"connecting...": "กำลังเชื่อมต่อกับเซิร์ฟเวอร์ socket…",
|
"connecting...": "กำลังเชื่อมต่อกับเซิร์ฟเวอร์ socket…",
|
||||||
"url": "URL | URLs",
|
"url": "URL | URLs",
|
||||||
"extra": "พิเศษ",
|
"extra": "พิเศษ",
|
||||||
"reconnecting...": "กำลังเชื่อมต่อใหม่…"
|
"reconnecting...": "กำลังเชื่อมต่อใหม่…",
|
||||||
|
"newUpdate": "อัปเดตใหม่",
|
||||||
|
"dockgeAgent": "เอเย่นต์ Dockge | เอเย่นต์ Dockge",
|
||||||
|
"currentEndpoint": "ปัจุบัน",
|
||||||
|
"agentOnline": "ออนไลน์",
|
||||||
|
"agentOffline": "ออฟไลน์",
|
||||||
|
"connecting": "กำลังเชื่อมต่อ",
|
||||||
|
"connect": "เชื่อมต่อ",
|
||||||
|
"addAgent": "เพิ่มเอเย่นต์",
|
||||||
|
"agentAddedSuccessfully": "เพิ่มเอเย่นต์สำเร็จ",
|
||||||
|
"agentRemovedSuccessfully": "ลบเอเย่นต์สำเร็จ",
|
||||||
|
"removeAgent": "ลบเอเย่นต์",
|
||||||
|
"removeAgentMsg": "คุณแน่ใจหรือไม่ที่จะลบเอเย่นต์นี้?",
|
||||||
|
"dockgeURL": "ลิ้งก์ Dockge (เช่น http://127.0.0.1:5001)",
|
||||||
|
"LongSyntaxNotSupported": "Syntax แบบยาสไม่รองรับที่นี่ กรุณาใช้ตัวแก้ไข YAML"
|
||||||
}
|
}
|
||||||
|
@ -111,5 +111,6 @@
|
|||||||
"agentAddedSuccessfully": "Aracı başarıyla eklendi.",
|
"agentAddedSuccessfully": "Aracı başarıyla eklendi.",
|
||||||
"agentRemovedSuccessfully": "Aracı başarıyla kaldırıldı.",
|
"agentRemovedSuccessfully": "Aracı başarıyla kaldırıldı.",
|
||||||
"removeAgent": "Aracıyı Kaldır",
|
"removeAgent": "Aracıyı Kaldır",
|
||||||
"removeAgentMsg": "Bu aracıyı kaldırmak istediğinize emin misiniz?"
|
"removeAgentMsg": "Bu aracıyı kaldırmak istediğinize emin misiniz?",
|
||||||
|
"LongSyntaxNotSupported": "Uzun syntax burada desteklenmiyor. Lütfen YAML editörünü kullanın."
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@
|
|||||||
"Logout": "Вийти",
|
"Logout": "Вийти",
|
||||||
"Lowercase only": "Тільки нижній регістр",
|
"Lowercase only": "Тільки нижній регістр",
|
||||||
"Convert to Compose": "Конвертувати в Compose",
|
"Convert to Compose": "Конвертувати в Compose",
|
||||||
"Docker Run": "Запустити Docker",
|
"Docker Run": "Docker Run",
|
||||||
"active": "активно",
|
"active": "активно",
|
||||||
"exited": "завершено",
|
"exited": "завершено",
|
||||||
"inactive": "неактивно",
|
"inactive": "неактивно",
|
||||||
|
@ -208,7 +208,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
socket.on("disconnect", () => {
|
socket.on("disconnect", () => {
|
||||||
console.log("disconnect");
|
console.log("disconnect");
|
||||||
this.socketIO.connectionErrorMsg = "Lost connection to the socket server. Reconnecting...";
|
this.socketIO.connectionErrorMsg = `${this.$t("Lost connection to the socket server. Reconnecting...")}`;
|
||||||
this.socketIO.connected = false;
|
this.socketIO.connected = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<transition name="slide-fade" appear>
|
<transition name="slide-fade" appear>
|
||||||
<div>
|
<div>
|
||||||
<h1 v-if="isAdd" class="mb-3">Compose</h1>
|
<h1 v-if="isAdd" class="mb-3">{{$t("compose")}}</h1>
|
||||||
<h1 v-else class="mb-3">
|
<h1 v-else class="mb-3">
|
||||||
<Uptime :stack="globalStack" :pill="true" /> {{ stack.name }}
|
<Uptime :stack="globalStack" :pill="true" /> {{ stack.name }}
|
||||||
<span v-if="$root.agentCount > 1" class="agent-name">
|
<span v-if="$root.agentCount > 1" class="agent-name">
|
||||||
@ -112,7 +112,7 @@
|
|||||||
<div v-if="isEditMode" class="input-group mb-3">
|
<div v-if="isEditMode" class="input-group mb-3">
|
||||||
<input
|
<input
|
||||||
v-model="newContainerName"
|
v-model="newContainerName"
|
||||||
placeholder="New Container Name..."
|
:placeholder="$t(`New Container Name...`)"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
@keyup.enter="addContainer"
|
@keyup.enter="addContainer"
|
||||||
/>
|
/>
|
||||||
@ -150,7 +150,7 @@
|
|||||||
|
|
||||||
<!-- Combined Terminal Output -->
|
<!-- Combined Terminal Output -->
|
||||||
<div v-show="!isEditMode">
|
<div v-show="!isEditMode">
|
||||||
<h4 class="mb-3">Terminal</h4>
|
<h4 class="mb-3">{{$t("terminal")}}</h4>
|
||||||
<Terminal
|
<Terminal
|
||||||
ref="combinedTerminal"
|
ref="combinedTerminal"
|
||||||
class="mb-3 terminal"
|
class="mb-3 terminal"
|
||||||
@ -158,7 +158,7 @@
|
|||||||
:endpoint="endpoint"
|
:endpoint="endpoint"
|
||||||
:rows="combinedTerminalRows"
|
:rows="combinedTerminalRows"
|
||||||
:cols="combinedTerminalCols"
|
:cols="combinedTerminalCols"
|
||||||
style="height: 350px;"
|
style="height: 315px;"
|
||||||
></Terminal>
|
></Terminal>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -258,7 +258,7 @@ import { BModal } from "bootstrap-vue-next";
|
|||||||
import NetworkInput from "../components/NetworkInput.vue";
|
import NetworkInput from "../components/NetworkInput.vue";
|
||||||
import dotenv from "dotenv";
|
import dotenv from "dotenv";
|
||||||
|
|
||||||
const template = `version: "3.8"
|
const template = `
|
||||||
services:
|
services:
|
||||||
nginx:
|
nginx:
|
||||||
image: nginx:latest
|
image: nginx:latest
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<transition name="slide-fade" appear>
|
<transition name="slide-fade" appear>
|
||||||
<div>
|
<div>
|
||||||
<h1 class="mb-3">Terminal - {{ serviceName }} ({{ stackName }})</h1>
|
<h1 class="mb-3">{{$t("terminal")}} - {{ serviceName }} ({{ stackName }})</h1>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<router-link :to="sh" class="btn btn-normal me-2">Switch to sh</router-link>
|
<router-link :to="sh" class="btn btn-normal me-2">{{ $t("Switch to sh") }}</router-link>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Terminal class="terminal" :rows="20" mode="interactive" :name="terminalName" :stack-name="stackName" :service-name="serviceName" :shell="shell" :endpoint="endpoint"></Terminal>
|
<Terminal class="terminal" :rows="20" mode="interactive" :name="terminalName" :stack-name="stackName" :service-name="serviceName" :shell="shell" :endpoint="endpoint"></Terminal>
|
||||||
|
@ -656,13 +656,6 @@ $shadow-box-padding: 20px;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-terminal {
|
|
||||||
.xterm-viewport {
|
|
||||||
border-radius: 10px;
|
|
||||||
background-color: $dark-bg !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
code {
|
||||||
padding: .2em .4em;
|
padding: .2em .4em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
38
package.json
38
package.json
@ -27,31 +27,31 @@
|
|||||||
"reset-password": "tsx ./extra/reset-password.ts"
|
"reset-password": "tsx ./extra/reset-password.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@homebridge/node-pty-prebuilt-multiarch": "~0.11.12",
|
"@homebridge/node-pty-prebuilt-multiarch": "0.11.14",
|
||||||
"@inventage/envsubst": "^0.16.0",
|
"@inventage/envsubst": "^0.16.0",
|
||||||
"@louislam/sqlite3": "~15.1.6",
|
"@louislam/sqlite3": "~15.1.6",
|
||||||
"bcryptjs": "~2.4.3",
|
"bcryptjs": "~2.4.3",
|
||||||
"check-password-strength": "~2.0.7",
|
"check-password-strength": "~2.0.10",
|
||||||
"command-exists": "~1.2.9",
|
"command-exists": "~1.2.9",
|
||||||
"compare-versions": "~6.1.0",
|
"compare-versions": "~6.1.1",
|
||||||
"composerize": "~1.4.1",
|
"composerize": "~1.4.1",
|
||||||
"croner": "~7.0.5",
|
"croner": "~8.1.2",
|
||||||
"dayjs": "~1.11.10",
|
"dayjs": "~1.11.13",
|
||||||
"dotenv": "~16.3.1",
|
"dotenv": "~16.3.2",
|
||||||
"express": "~4.18.2",
|
"express": "~4.21.1",
|
||||||
"express-static-gzip": "~2.1.7",
|
"express-static-gzip": "~2.1.8",
|
||||||
"http-graceful-shutdown": "~3.1.13",
|
"http-graceful-shutdown": "~3.1.13",
|
||||||
"jsonwebtoken": "~9.0.2",
|
"jsonwebtoken": "~9.0.2",
|
||||||
"jwt-decode": "~3.1.2",
|
"jwt-decode": "~3.1.2",
|
||||||
"knex": "~2.5.1",
|
"knex": "~2.5.1",
|
||||||
"limiter-es6-compat": "~2.1.2",
|
"limiter-es6-compat": "~2.1.2",
|
||||||
"mysql2": "~3.6.5",
|
"mysql2": "~3.11.3",
|
||||||
"promisify-child-process": "~4.1.2",
|
"promisify-child-process": "~4.1.2",
|
||||||
"redbean-node": "~0.3.3",
|
"redbean-node": "~0.3.3",
|
||||||
"semver": "^7.5.4",
|
"semver": "^7.6.3",
|
||||||
"socket.io": "~4.7.2",
|
"socket.io": "~4.8.0",
|
||||||
"socket.io-client": "~4.7.2",
|
"socket.io-client": "~4.8.0",
|
||||||
"timezones-list": "~3.0.2",
|
"timezones-list": "~3.0.3",
|
||||||
"ts-command-line-args": "~2.5.1",
|
"ts-command-line-args": "~2.5.1",
|
||||||
"tsx": "~4.6.2",
|
"tsx": "~4.6.2",
|
||||||
"type-fest": "~4.3.3",
|
"type-fest": "~4.3.3",
|
||||||
@ -59,7 +59,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@actions/github": "^6.0.0",
|
"@actions/github": "^6.0.0",
|
||||||
"@fontsource/jetbrains-mono": "^5.0.18",
|
"@fontsource/jetbrains-mono": "^5.1.1",
|
||||||
"@fortawesome/fontawesome-svg-core": "6.4.2",
|
"@fortawesome/fontawesome-svg-core": "6.4.2",
|
||||||
"@fortawesome/free-regular-svg-icons": "6.4.2",
|
"@fortawesome/free-regular-svg-icons": "6.4.2",
|
||||||
"@fortawesome/free-solid-svg-icons": "6.4.2",
|
"@fortawesome/free-solid-svg-icons": "6.4.2",
|
||||||
@ -68,8 +68,8 @@
|
|||||||
"@types/bootstrap": "~5.2.10",
|
"@types/bootstrap": "~5.2.10",
|
||||||
"@types/command-exists": "~1.2.3",
|
"@types/command-exists": "~1.2.3",
|
||||||
"@types/express": "~4.17.21",
|
"@types/express": "~4.17.21",
|
||||||
"@types/jsonwebtoken": "~9.0.5",
|
"@types/jsonwebtoken": "~9.0.7",
|
||||||
"@types/semver": "^7.5.6",
|
"@types/semver": "^7.5.8",
|
||||||
"@typescript-eslint/eslint-plugin": "~6.8.0",
|
"@typescript-eslint/eslint-plugin": "~6.8.0",
|
||||||
"@typescript-eslint/parser": "~6.8.0",
|
"@typescript-eslint/parser": "~6.8.0",
|
||||||
"@vitejs/plugin-vue": "~4.5.2",
|
"@vitejs/plugin-vue": "~4.5.2",
|
||||||
@ -86,13 +86,13 @@
|
|||||||
"sass": "~1.68.0",
|
"sass": "~1.68.0",
|
||||||
"typescript": "~5.2.2",
|
"typescript": "~5.2.2",
|
||||||
"unplugin-vue-components": "~0.25.2",
|
"unplugin-vue-components": "~0.25.2",
|
||||||
"vite": "~5.0.10",
|
"vite": "~5.4.8",
|
||||||
"vite-plugin-compression": "~0.5.1",
|
"vite-plugin-compression": "~0.5.1",
|
||||||
"vue": "~3.3.13",
|
"vue": "~3.5.12",
|
||||||
"vue-eslint-parser": "~9.3.2",
|
"vue-eslint-parser": "~9.3.2",
|
||||||
"vue-i18n": "~9.5.0",
|
"vue-i18n": "~9.5.0",
|
||||||
"vue-prism-editor": "2.0.0-alpha.2",
|
"vue-prism-editor": "2.0.0-alpha.2",
|
||||||
"vue-qrcode": "~2.2.0",
|
"vue-qrcode": "~2.2.2",
|
||||||
"vue-router": "~4.2.5",
|
"vue-router": "~4.2.5",
|
||||||
"vue-toastification": "2.0.0-rc.5",
|
"vue-toastification": "2.0.0-rc.5",
|
||||||
"wait-on": "^7.2.0",
|
"wait-on": "^7.2.0",
|
||||||
|
8173
pnpm-lock.yaml
generated
8173
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user