mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-28 06:05:24 +00:00
feat: load plugin frontends at runtime and remove plugin ids from the shell
This commit is contained in:
1 parent
49f0286a14
commit
e88d5a52e3
721 files changed
+54265
-44416
No files matched your search
@@ -1 +1,96 @@
|
||||
{}
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Fleets",
|
||||
"createFleet": "Create Fleet",
|
||||
"createFleetTitle": "Create Fleet",
|
||||
"editFleetTitle": "Edit Fleet",
|
||||
"createFleetDescription": "A fleet is a named group of hosts you can run actions against as a unit.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Web Servers",
|
||||
"nameRequired": "Fleet name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"colorLabel": "Color",
|
||||
"tagRulesLabel": "Tag rules",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosts with any of these tags are automatically included, in addition to hosts added manually.",
|
||||
"fleetCreated": "Fleet created",
|
||||
"fleetUpdated": "Fleet updated",
|
||||
"fleetDeleted": "Fleet deleted",
|
||||
"saveFailed": "Failed to save fleet",
|
||||
"deleteFailed": "Failed to delete fleet",
|
||||
"loadFailed": "Failed to load fleets",
|
||||
"deleteFleetTitle": "Delete Fleet",
|
||||
"deleteFleetDescription": "Are you sure you want to delete \"{{name}}\"? This does not delete the member hosts themselves.",
|
||||
"searchFleets": "Search fleets...",
|
||||
"noFleets": "No fleets yet. Create one to get started.",
|
||||
"memberCount": "{{count}} host",
|
||||
"memberCount_other": "{{count}} hosts",
|
||||
"manageMembers": "Manage Members",
|
||||
"manageMembersTitle": "Manage Fleet Members",
|
||||
"manageMembersDescription": "Toggle hosts in or out of this fleet's static membership. Hosts matched by tag rules are always included.",
|
||||
"searchHosts": "Search hosts...",
|
||||
"noHostsFound": "No hosts found",
|
||||
"noMembers": "This fleet has no members yet. Add hosts or set a tag rule.",
|
||||
"membersLoadFailed": "Failed to load fleet members",
|
||||
"memberUpdateFailed": "Failed to update fleet membership",
|
||||
"tabRun": "Run Command",
|
||||
"tabTransfer": "Transfer Files",
|
||||
"tabInventory": "Inventory",
|
||||
"openInventoryTab": "Open in full tab",
|
||||
"tabPackages": "Packages",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "A command is required",
|
||||
"commandInputsLabel": "Command inputs",
|
||||
"commandSucceeded": "Command succeeded on all hosts",
|
||||
"commandPartialFailure": "{{failed}} of {{total}} hosts failed",
|
||||
"commandFailed": "Failed to run command",
|
||||
"resultSuccess": "Success",
|
||||
"resultFailed": "Failed",
|
||||
"push": "Push",
|
||||
"pull": "Pull",
|
||||
"remotePathLabel": "Remote path",
|
||||
"remotePathRequired": "A remote path is required",
|
||||
"fileLabel": "File",
|
||||
"fileRequired": "A file is required",
|
||||
"pushHint": "The selected file is written to this exact path on every host in the fleet.",
|
||||
"pullHint": "The file at this path is read from every host and downloaded as a single zip, one folder per host.",
|
||||
"transferComplete": "Transfer complete",
|
||||
"transferFailed": "Transfer failed",
|
||||
"refreshInventory": "Refresh Inventory",
|
||||
"inventoryLoadFailed": "Failed to load inventory",
|
||||
"inventoryRefreshed": "Inventory refreshed",
|
||||
"inventoryRefreshFailed": "Failed to refresh inventory",
|
||||
"inventoryNoData": "No inventory data yet - refresh to collect it.",
|
||||
"inventoryHost": "Host",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} collected",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Arch",
|
||||
"inventoryUptime": "Uptime",
|
||||
"inventoryPackageManager": "Package manager",
|
||||
"inventoryCollectedAt": "Collected",
|
||||
"packageActionLabel": "Action",
|
||||
"packageInstall": "Install",
|
||||
"packageRemove": "Remove",
|
||||
"packageUpgradeAll": "Upgrade all packages",
|
||||
"packageNameLabel": "Package name",
|
||||
"packageNameRequired": "A package name is required",
|
||||
"packageHint": "Requires manage-level access per host and elevates using the host's stored sudo password.",
|
||||
"shareFleet": "Share Fleet",
|
||||
"shareFleetTitle": "Share \"{{name}}\"",
|
||||
"shareFleetDescription": "Shares this fleet's current member hosts with the selected users or roles. Hosts added to the fleet later are not shared automatically - share again to include them.",
|
||||
"shareSelectionRequired": "Select at least one user or role",
|
||||
"fleetSharedSuccessfully": "Shared {{shared}} of {{total}} host(s) in this fleet",
|
||||
"failedToShareFleet": "Failed to share fleet",
|
||||
"noMembersToShare": "This fleet has no member hosts to share yet."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Fleets"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Vlote",
|
||||
"createFleet": "Skep Vloot",
|
||||
"createFleetTitle": "Skep Vloot",
|
||||
"editFleetTitle": "Wysig vloot",
|
||||
"createFleetDescription": "'n Vloot is 'n benoemde groep gashere teen wie jy as 'n eenheid aksies kan uitvoer.",
|
||||
"nameLabel": "Naam",
|
||||
"namePlaceholder": "bv. webbedieners",
|
||||
"nameRequired": "Vlootnaam word vereis",
|
||||
"descriptionLabel": "Beskrywing",
|
||||
"descriptionPlaceholder": "Opsionele beskrywing",
|
||||
"colorLabel": "Kleur",
|
||||
"tagRulesLabel": "Etiketreëls",
|
||||
"tagRulesPlaceholder": "prod-web, rand",
|
||||
"tagRulesHint": "Gashere met enige van hierdie etikette word outomaties ingesluit, benewens gashere wat handmatig bygevoeg word.",
|
||||
"fleetCreated": "Vloot geskep",
|
||||
"fleetUpdated": "Vloot opgedateer",
|
||||
"fleetDeleted": "Vloot uitgevee",
|
||||
"saveFailed": "Kon nie vloot stoor nie",
|
||||
"deleteFailed": "Kon nie vloot uitvee nie",
|
||||
"loadFailed": "Kon nie vlote laai nie",
|
||||
"deleteFleetTitle": "Vee vloot uit",
|
||||
"deleteFleetDescription": "Is jy seker jy wil \"{{name}}\" verwyder? Dit verwyder nie die lidgashere self nie.",
|
||||
"searchFleets": "Soek vlote...",
|
||||
"noFleets": "Geen vlote nog nie. Skep een om te begin.",
|
||||
"memberCount": "{{count}} gasheer",
|
||||
"memberCount_other": "{{count}} gashere",
|
||||
"manageMembers": "Bestuur Lede",
|
||||
"manageMembersTitle": "Bestuur Vlootlede",
|
||||
"manageMembersDescription": "Wissel gashere in of uit hierdie vloot se statiese lidmaatskap. Gashere wat ooreenstem met etiketreëls word altyd ingesluit.",
|
||||
"searchHosts": "Soek gashere...",
|
||||
"noHostsFound": "Geen gashere gevind nie",
|
||||
"noMembers": "Hierdie vloot het nog geen lede nie. Voeg gashere by of stel 'n etiketreël.",
|
||||
"membersLoadFailed": "Kon nie vlootlede laai nie",
|
||||
"memberUpdateFailed": "Kon nie vlootlidmaatskap opdateer nie",
|
||||
"tabRun": "Voer die opdrag uit",
|
||||
"tabTransfer": "Dra lêers oor",
|
||||
"tabInventory": "Voorraad",
|
||||
"openInventoryTab": "Maak oop in volle oortjie",
|
||||
"tabPackages": "Pakkette",
|
||||
"runOnFleet": "Hardloop op Vloot",
|
||||
"commandPlaceholder": "optyd && df -h",
|
||||
"commandRequired": "'n Opdrag word vereis",
|
||||
"commandInputsLabel": "Opdraginvoere",
|
||||
"commandSucceeded": "Opdrag het op alle gashere geslaag",
|
||||
"commandPartialFailure": "{{failed}} van {{total}} gashere het misluk",
|
||||
"commandFailed": "Kon nie die opdrag uitvoer nie",
|
||||
"resultSuccess": "Sukses",
|
||||
"resultFailed": "Misluk",
|
||||
"push": "Stoot",
|
||||
"pull": "Trek",
|
||||
"remotePathLabel": "Afgeleë pad",
|
||||
"remotePathRequired": "'n Afgeleë pad word benodig",
|
||||
"fileLabel": "Lêer",
|
||||
"fileRequired": "'n Lêer word vereis",
|
||||
"pushHint": "Die gekose lêer word na hierdie presiese pad op elke gasheer in die vloot geskryf.",
|
||||
"pullHint": "Die lêer op hierdie pad word van elke gasheer gelees en as 'n enkele zip-lêer afgelaai, een lêergids per gasheer.",
|
||||
"transferComplete": "Oordrag voltooi",
|
||||
"transferFailed": "Oordrag het misluk",
|
||||
"refreshInventory": "Verfris voorraad",
|
||||
"inventoryLoadFailed": "Kon nie voorraad laai nie",
|
||||
"inventoryRefreshed": "Voorraad verfris",
|
||||
"inventoryRefreshFailed": "Kon nie voorraad verfris nie",
|
||||
"inventoryNoData": "Geen voorraaddata nog nie - verfris om dit te versamel.",
|
||||
"inventoryHost": "Gasheer",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} versamel",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "Kern",
|
||||
"inventoryArch": "Boog",
|
||||
"inventoryUptime": "Optyd",
|
||||
"inventoryPackageManager": "Pakketbestuurder",
|
||||
"inventoryCollectedAt": "Versamel",
|
||||
"packageActionLabel": "Aksie",
|
||||
"packageInstall": "Installeer",
|
||||
"packageRemove": "Verwyder",
|
||||
"packageUpgradeAll": "Gradeer alle pakkette op",
|
||||
"packageNameLabel": "Pakketnaam",
|
||||
"packageNameRequired": "'n Pakketnaam word vereis",
|
||||
"packageHint": "Vereis bestuursvlaktoegang per gasheer en verhoog met behulp van die gasheer se gestoorde sudo-wagwoord."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Vlote"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "الأساطيل",
|
||||
"createFleet": "إنشاء أسطول",
|
||||
"createFleetTitle": "إنشاء أسطول",
|
||||
"editFleetTitle": "تعديل الأسطول",
|
||||
"createFleetDescription": "الأسطول عبارة عن مجموعة محددة من المضيفين يمكنك شنّ عمليات ضدهم كوحدة واحدة.",
|
||||
"nameLabel": "اسم",
|
||||
"namePlaceholder": "مثال: خوادم الويب",
|
||||
"nameRequired": "اسم الأسطول مطلوب",
|
||||
"descriptionLabel": "وصف",
|
||||
"descriptionPlaceholder": "وصف اختياري",
|
||||
"colorLabel": "لون",
|
||||
"tagRulesLabel": "قواعد الوسوم",
|
||||
"tagRulesPlaceholder": "موقع الإنتاج، الحافة",
|
||||
"tagRulesHint": "يتم تضمين المضيفين الذين يحملون أيًا من هذه العلامات تلقائيًا، بالإضافة إلى المضيفين الذين تمت إضافتهم يدويًا.",
|
||||
"fleetCreated": "تم إنشاء الأسطول",
|
||||
"fleetUpdated": "تحديث الأسطول",
|
||||
"fleetDeleted": "تم حذف الأسطول",
|
||||
"saveFailed": "فشل في إنقاذ الأسطول",
|
||||
"deleteFailed": "فشل حذف الأسطول",
|
||||
"loadFailed": "فشل تحميل الأساطيل",
|
||||
"deleteFleetTitle": "حذف الأسطول",
|
||||
"deleteFleetDescription": "هل أنت متأكد من رغبتك في حذف \"{{name}}\"؟ هذا لا يحذف المضيفين الأعضاء أنفسهم.",
|
||||
"searchFleets": "أساطيل البحث...",
|
||||
"noFleets": "لا توجد أساطيل حتى الآن. أنشئ أسطولاً للبدء.",
|
||||
"memberCount": "{{count}} المضيف",
|
||||
"memberCount_other": "{{count}} المضيفون",
|
||||
"manageMembers": "إدارة الأعضاء",
|
||||
"manageMembersTitle": "إدارة أعضاء الأسطول",
|
||||
"manageMembersDescription": "قم بتفعيل أو تعطيل عضوية المضيفين في هذه المجموعة الثابتة. يتم تضمين المضيفين الذين تتطابق قواعد الوسوم معهم دائمًا.",
|
||||
"searchHosts": "ابحث عن المضيفين...",
|
||||
"noHostsFound": "لم يتم العثور على مضيفين",
|
||||
"noMembers": "لا يوجد أعضاء في هذا الأسطول حتى الآن. أضف مضيفين أو حدد قاعدة للوسوم.",
|
||||
"membersLoadFailed": "فشل تحميل أعضاء الأسطول",
|
||||
"memberUpdateFailed": "فشل تحديث عضوية الأسطول",
|
||||
"tabRun": "تشغيل الأمر",
|
||||
"tabTransfer": "نقل الملفات",
|
||||
"tabInventory": "جرد",
|
||||
"openInventoryTab": "افتح في علامة تبويب كاملة",
|
||||
"tabPackages": "الطرود",
|
||||
"runOnFleet": "انطلق على الأسطول",
|
||||
"commandPlaceholder": "وقت التشغيل && df -h",
|
||||
"commandRequired": "يلزم إصدار أمر",
|
||||
"commandInputsLabel": "إدخالات الأوامر",
|
||||
"commandSucceeded": "تم تنفيذ الأمر بنجاح على جميع الأجهزة المضيفة",
|
||||
"commandPartialFailure": "فشل {{failed}} من أصل {{total}} مضيف",
|
||||
"commandFailed": "فشل تنفيذ الأمر",
|
||||
"resultSuccess": "نجاح",
|
||||
"resultFailed": "فشل",
|
||||
"push": "يدفع",
|
||||
"pull": "يحذب",
|
||||
"remotePathLabel": "مسار بعيد",
|
||||
"remotePathRequired": "يلزم وجود مسار بعيد",
|
||||
"fileLabel": "ملف",
|
||||
"fileRequired": "الملف مطلوب",
|
||||
"pushHint": "يتم كتابة الملف المحدد في هذا المسار المحدد على كل مضيف في الأسطول.",
|
||||
"pullHint": "يتم قراءة الملف الموجود في هذا المسار من كل مضيف وتنزيله كملف مضغوط واحد، مجلد واحد لكل مضيف.",
|
||||
"transferComplete": "اكتملت عملية النقل",
|
||||
"transferFailed": "فشلت عملية النقل",
|
||||
"refreshInventory": "تحديث المخزون",
|
||||
"inventoryLoadFailed": "فشل تحميل المخزون",
|
||||
"inventoryRefreshed": "تم تحديث المخزون",
|
||||
"inventoryRefreshFailed": "فشل تحديث المخزون",
|
||||
"inventoryNoData": "لا توجد بيانات جرد حتى الآن - قم بتحديث الصفحة لجمعها.",
|
||||
"inventoryHost": "يستضيف",
|
||||
"inventoryCollectedCount": "تم جمع {{count}}/{{total}}",
|
||||
"inventoryOs": "نظام التشغيل",
|
||||
"inventoryKernel": "النواة",
|
||||
"inventoryArch": "قوس",
|
||||
"inventoryUptime": "وقت التشغيل",
|
||||
"inventoryPackageManager": "مدير الحزم",
|
||||
"inventoryCollectedAt": "تم جمعها",
|
||||
"packageActionLabel": "فعل",
|
||||
"packageInstall": "ثَبَّتَ",
|
||||
"packageRemove": "يزيل",
|
||||
"packageUpgradeAll": "قم بترقية جميع الحزم",
|
||||
"packageNameLabel": "اسم الحزمة",
|
||||
"packageNameRequired": "اسم الحزمة مطلوب",
|
||||
"packageHint": "يتطلب الوصول على مستوى الإدارة لكل مضيف ويتم رفعه باستخدام كلمة مرور sudo المخزنة للمضيف."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "الأساطيل"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Флотили",
|
||||
"createFleet": "Създаване на флот",
|
||||
"createFleetTitle": "Създаване на флот",
|
||||
"editFleetTitle": "Редактиране на флота",
|
||||
"createFleetDescription": "Флотът е именувана група от хостове, срещу които можете да изпълнявате действия като единица.",
|
||||
"nameLabel": "Име",
|
||||
"namePlaceholder": "напр. уеб сървъри",
|
||||
"nameRequired": "Името на флота е задължително",
|
||||
"descriptionLabel": "Описание",
|
||||
"descriptionPlaceholder": "Незадължително описание",
|
||||
"colorLabel": "Цвят",
|
||||
"tagRulesLabel": "Правила за етикети",
|
||||
"tagRulesPlaceholder": "prod-web, ръб",
|
||||
"tagRulesHint": "Хостовете с някой от тези етикети се включват автоматично, в допълнение към хостовете, добавени ръчно.",
|
||||
"fleetCreated": "Създаден флот",
|
||||
"fleetUpdated": "Актуализиран автопарк",
|
||||
"fleetDeleted": "Флотът е изтрит",
|
||||
"saveFailed": "Запазването на флота не бе успешно",
|
||||
"deleteFailed": "Изтриването на автопарка не бе успешно",
|
||||
"loadFailed": "Зареждането на автопарковете не бе успешно",
|
||||
"deleteFleetTitle": "Изтриване на флота",
|
||||
"deleteFleetDescription": "Сигурни ли сте, че искате да изтриете „{{name}}“? Това не изтрива самите хостове-членове.",
|
||||
"searchFleets": "Търсене на автопаркове...",
|
||||
"noFleets": "Все още няма автопаркове. Създайте такъв, за да започнете.",
|
||||
"memberCount": "{{count}} хост",
|
||||
"memberCount_other": "{{count}} хостове",
|
||||
"manageMembers": "Управление на членовете",
|
||||
"manageMembersTitle": "Управление на членовете на автопарка",
|
||||
"manageMembersDescription": "Включване/изключване на хостове от статичното членство на този флот. Хостовете, съответстващи на правилата за тагове, винаги са включени.",
|
||||
"searchHosts": "Търсене на хостове...",
|
||||
"noHostsFound": "Не са намерени хостове",
|
||||
"noMembers": "Тази флотилия все още няма членове. Добавете хостове или задайте правило за етикетиране.",
|
||||
"membersLoadFailed": "Зареждането на членовете на автопарка не бе успешно",
|
||||
"memberUpdateFailed": "Актуализирането на членството в автопарка не бе успешно",
|
||||
"tabRun": "Изпълнете командата",
|
||||
"tabTransfer": "Прехвърляне на файлове",
|
||||
"tabInventory": "Инвентар",
|
||||
"openInventoryTab": "Отвори в цял раздел",
|
||||
"tabPackages": "Пакети",
|
||||
"runOnFleet": "Работи на флота",
|
||||
"commandPlaceholder": "време на работа && df -h",
|
||||
"commandRequired": "Изисква се команда",
|
||||
"commandInputsLabel": "Входни команди",
|
||||
"commandSucceeded": "Командата е успешна на всички хостове",
|
||||
"commandPartialFailure": "{{failed}} от {{total}} хостове неуспешно",
|
||||
"commandFailed": "Неуспешно изпълнение на командата",
|
||||
"resultSuccess": "Успех",
|
||||
"resultFailed": "Неуспешно",
|
||||
"push": "Натиснете",
|
||||
"pull": "Дръпнете",
|
||||
"remotePathLabel": "Отдалечен път",
|
||||
"remotePathRequired": "Изисква се отдалечен път",
|
||||
"fileLabel": "Файл",
|
||||
"fileRequired": "Изисква се файл",
|
||||
"pushHint": "Избраният файл се записва точно по този път на всеки хост във флота.",
|
||||
"pullHint": "Файлът по този път се чете от всеки хост и се изтегля като един zip архив, по една папка на хост.",
|
||||
"transferComplete": "Прехвърлянето е завършено",
|
||||
"transferFailed": "Прехвърлянето не бе успешно",
|
||||
"refreshInventory": "Обновяване на инвентара",
|
||||
"inventoryLoadFailed": "Зареждането на инвентара не бе успешно",
|
||||
"inventoryRefreshed": "Инвентаризацията е обновена",
|
||||
"inventoryRefreshFailed": "Неуспешно обновяване на инвентара",
|
||||
"inventoryNoData": "Все още няма данни за инвентара - обновете страницата, за да ги съберете.",
|
||||
"inventoryHost": "Домакин",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} събрани",
|
||||
"inventoryOs": "ОС",
|
||||
"inventoryKernel": "Ядро",
|
||||
"inventoryArch": "Арка",
|
||||
"inventoryUptime": "Време на работа",
|
||||
"inventoryPackageManager": "Мениджър на пакети",
|
||||
"inventoryCollectedAt": "Събрани",
|
||||
"packageActionLabel": "Действие",
|
||||
"packageInstall": "Инсталиране",
|
||||
"packageRemove": "Премахване",
|
||||
"packageUpgradeAll": "Надстройте всички пакети",
|
||||
"packageNameLabel": "Име на пакета",
|
||||
"packageNameRequired": "Изисква се име на пакета",
|
||||
"packageHint": "Изисква достъп на ниво управление за всеки хост и повишава правата, използвайки съхранената парола за sudo на хоста."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Флотили"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "ফ্লিট",
|
||||
"createFleet": "ফ্লিট তৈরি করুন",
|
||||
"createFleetTitle": "ফ্লিট তৈরি করুন",
|
||||
"editFleetTitle": "ফ্লিট সম্পাদনা করুন",
|
||||
"createFleetDescription": "ফ্লিট হলো নামযুক্ত হোস্টদের একটি দল, যাদের বিরুদ্ধে আপনি একটি ইউনিট হিসেবে বিভিন্ন অ্যাকশন চালাতে পারেন।",
|
||||
"nameLabel": "নাম",
|
||||
"namePlaceholder": "যেমন, ওয়েব সার্ভার",
|
||||
"nameRequired": "ফ্লিটের নাম প্রয়োজন",
|
||||
"descriptionLabel": "বর্ণনা",
|
||||
"descriptionPlaceholder": "ঐচ্ছিক বিবরণ",
|
||||
"colorLabel": "রঙ",
|
||||
"tagRulesLabel": "ট্যাগ নিয়ম",
|
||||
"tagRulesPlaceholder": "প্রোড-ওয়েব, এজ",
|
||||
"tagRulesHint": "ম্যানুয়ালি যোগ করা হোস্টগুলোর পাশাপাশি, এই ট্যাগগুলোর যেকোনো একটি থাকা হোস্টগুলো স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত হয়ে যায়।",
|
||||
"fleetCreated": "ফ্লিট তৈরি করা হয়েছে",
|
||||
"fleetUpdated": "ফ্লিট আপডেট করা হয়েছে",
|
||||
"fleetDeleted": "ফ্লিট মুছে ফেলা হয়েছে",
|
||||
"saveFailed": "বহর সংরক্ষণ করতে ব্যর্থ হয়েছে",
|
||||
"deleteFailed": "ফ্লিট মুছে ফেলতে ব্যর্থ হয়েছে",
|
||||
"loadFailed": "ফ্লিট লোড করতে ব্যর্থ হয়েছে",
|
||||
"deleteFleetTitle": "ফ্লিট মুছুন",
|
||||
"deleteFleetDescription": "আপনি কি \"{{name}}\" মুছে ফেলতে নিশ্চিত? এটি সদস্য হোস্টদেরকে মুছে ফেলে না।",
|
||||
"searchFleets": "নৌবহর অনুসন্ধান করুন...",
|
||||
"noFleets": "এখনো কোনো ফ্লিট নেই। শুরু করার জন্য একটি তৈরি করুন।",
|
||||
"memberCount": "{{count}} হোস্ট",
|
||||
"memberCount_other": "{{count}} হোস্ট",
|
||||
"manageMembers": "সদস্যদের পরিচালনা করুন",
|
||||
"manageMembersTitle": "ফ্লিট সদস্যদের পরিচালনা করুন",
|
||||
"manageMembersDescription": "এই ফ্লিটের স্ট্যাটিক সদস্যপদে হোস্টদের অন্তর্ভুক্ত বা বহির্ভূত করুন। ট্যাগ নিয়ম দ্বারা মেলানো হোস্টরা সর্বদা অন্তর্ভুক্ত থাকে।",
|
||||
"searchHosts": "হোস্ট অনুসন্ধান করুন...",
|
||||
"noHostsFound": "কোন হোস্ট খুঁজে পাওয়া যায়নি",
|
||||
"noMembers": "এই ফ্লিটে এখনও কোনো সদস্য নেই। হোস্ট যোগ করুন অথবা একটি ট্যাগ নিয়ম সেট করুন।",
|
||||
"membersLoadFailed": "ফ্লিট সদস্যদের লোড করতে ব্যর্থ হয়েছে",
|
||||
"memberUpdateFailed": "ফ্লিট সদস্যপদ আপডেট করতে ব্যর্থ হয়েছে",
|
||||
"tabRun": "রান কমান্ড",
|
||||
"tabTransfer": "ফাইল স্থানান্তর করুন",
|
||||
"tabInventory": "ইনভেন্টরি",
|
||||
"openInventoryTab": "সম্পূর্ণ ট্যাবে খুলুন",
|
||||
"tabPackages": "প্যাকেজ",
|
||||
"runOnFleet": "ফ্লিটে চালান",
|
||||
"commandPlaceholder": "আপটাইম && df -h",
|
||||
"commandRequired": "একটি কমান্ড প্রয়োজন",
|
||||
"commandInputsLabel": "কমান্ড ইনপুট",
|
||||
"commandSucceeded": "সকল হোস্টে কমান্ড সফল হয়েছে।",
|
||||
"commandPartialFailure": "{{failed}} এর {{total}} হোস্ট ব্যর্থ হয়েছে",
|
||||
"commandFailed": "কমান্ড চালাতে ব্যর্থ হয়েছে",
|
||||
"resultSuccess": "সাফল্য",
|
||||
"resultFailed": "ব্যর্থ",
|
||||
"push": "ধাক্কা দিন",
|
||||
"pull": "টান",
|
||||
"remotePathLabel": "দূরবর্তী পথ",
|
||||
"remotePathRequired": "একটি দূরবর্তী পথের প্রয়োজন",
|
||||
"fileLabel": "ফাইল",
|
||||
"fileRequired": "একটি ফাইল প্রয়োজন",
|
||||
"pushHint": "নির্বাচিত ফাইলটি ফ্লিটের প্রতিটি হোস্টের এই নির্দিষ্ট পাথে লেখা হয়।",
|
||||
"pullHint": "এই পাথের ফাইলটি প্রতিটি হোস্ট থেকে পড়া হয় এবং একটি একক জিপ ফাইল হিসেবে ডাউনলোড করা হয়, যা প্রতি হোস্টে একটি করে ফোল্ডারে বিভক্ত থাকে।",
|
||||
"transferComplete": "স্থানান্তর সম্পন্ন হয়েছে",
|
||||
"transferFailed": "স্থানান্তর ব্যর্থ হয়েছে",
|
||||
"refreshInventory": "ইনভেন্টরি রিফ্রেশ করুন",
|
||||
"inventoryLoadFailed": "ইনভেন্টরি লোড করতে ব্যর্থ হয়েছে",
|
||||
"inventoryRefreshed": "ইনভেন্টরি রিফ্রেশ করা হয়েছে",
|
||||
"inventoryRefreshFailed": "ইনভেন্টরি রিফ্রেশ করতে ব্যর্থ হয়েছে",
|
||||
"inventoryNoData": "এখনও কোনো ইনভেন্টরি ডেটা নেই - এটি সংগ্রহ করতে রিফ্রেশ করুন।",
|
||||
"inventoryHost": "হোস্ট",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} সংগৃহীত",
|
||||
"inventoryOs": "ওএস",
|
||||
"inventoryKernel": "কার্নেল",
|
||||
"inventoryArch": "খিলান",
|
||||
"inventoryUptime": "আপটাইম",
|
||||
"inventoryPackageManager": "প্যাকেজ ম্যানেজার",
|
||||
"inventoryCollectedAt": "সংগৃহীত",
|
||||
"packageActionLabel": "পদক্ষেপ",
|
||||
"packageInstall": "ইনস্টল করুন",
|
||||
"packageRemove": "অপসারণ করুন",
|
||||
"packageUpgradeAll": "সমস্ত প্যাকেজ আপগ্রেড করুন",
|
||||
"packageNameLabel": "প্যাকেজের নাম",
|
||||
"packageNameRequired": "একটি প্যাকেজের নাম প্রয়োজন",
|
||||
"packageHint": "প্রতিটি হোস্টের জন্য ম্যানেজ-লেভেল অ্যাক্সেস প্রয়োজন এবং হোস্টের সংরক্ষিত sudo পাসওয়ার্ড ব্যবহার করে অ্যাক্সেস উন্নত করা হয়।"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "ফ্লিট"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flotes",
|
||||
"createFleet": "Crear flota",
|
||||
"createFleetTitle": "Crear flota",
|
||||
"editFleetTitle": "Edita la flota",
|
||||
"createFleetDescription": "Una flota és un grup d'amfitrions amb nom contra els quals podeu executar accions com una unitat.",
|
||||
"nameLabel": "Nom",
|
||||
"namePlaceholder": "p. ex., servidors web",
|
||||
"nameRequired": "El nom de la flota és obligatori",
|
||||
"descriptionLabel": "Descripció",
|
||||
"descriptionPlaceholder": "Descripció opcional",
|
||||
"colorLabel": "Color",
|
||||
"tagRulesLabel": "Regles d'etiquetes",
|
||||
"tagRulesPlaceholder": "prod-web, vora",
|
||||
"tagRulesHint": "Els amfitrions amb qualsevol d'aquestes etiquetes s'inclouen automàticament, a més dels amfitrions afegits manualment.",
|
||||
"fleetCreated": "Flota creada",
|
||||
"fleetUpdated": "Flota actualitzada",
|
||||
"fleetDeleted": "Flota suprimida",
|
||||
"saveFailed": "No s'ha pogut desar la flota",
|
||||
"deleteFailed": "No s'ha pogut suprimir la flota",
|
||||
"loadFailed": "No s'han pogut carregar les flotes",
|
||||
"deleteFleetTitle": "Suprimeix la flota",
|
||||
"deleteFleetDescription": "Esteu segur que voleu suprimir \"{{name}}\"? Això no suprimeix els amfitrions membres en si.",
|
||||
"searchFleets": "Cerca flotes...",
|
||||
"noFleets": "Encara no hi ha cap flota. Crea'n una per començar.",
|
||||
"memberCount": "amfitrió {{count}}",
|
||||
"memberCount_other": "amfitrions {{count}}",
|
||||
"manageMembers": "Gestiona els membres",
|
||||
"manageMembersTitle": "Gestionar els membres de la flota",
|
||||
"manageMembersDescription": "Activa o desactiva la pertinença estàtica dels hosts a aquesta flota. Els hosts que coincideixen amb les regles d'etiqueta sempre s'hi inclouen.",
|
||||
"searchHosts": "Cerca amfitrions...",
|
||||
"noHostsFound": "No s'han trobat amfitrions",
|
||||
"noMembers": "Aquesta flota encara no té membres. Afegeix amfitrions o defineix una regla d'etiqueta.",
|
||||
"membersLoadFailed": "No s'han pogut carregar els membres de la flota",
|
||||
"memberUpdateFailed": "No s'ha pogut actualitzar la pertinença a la flota",
|
||||
"tabRun": "Executa l'ordre",
|
||||
"tabTransfer": "Transferir fitxers",
|
||||
"tabInventory": "Inventari",
|
||||
"openInventoryTab": "Obre en una pestanya completa",
|
||||
"tabPackages": "Paquets",
|
||||
"runOnFleet": "Funciona amb Flota",
|
||||
"commandPlaceholder": "temps de funcionament && df -h",
|
||||
"commandRequired": "Cal una comanda",
|
||||
"commandInputsLabel": "Entrades de comandament",
|
||||
"commandSucceeded": "L'ordre ha tingut èxit en tots els hosts",
|
||||
"commandPartialFailure": "Els hosts han fallat {{failed}} de {{total}}",
|
||||
"commandFailed": "No s'ha pogut executar l'ordre",
|
||||
"resultSuccess": "Èxit",
|
||||
"resultFailed": "Fallat",
|
||||
"push": "Empènyer",
|
||||
"pull": "Estirar",
|
||||
"remotePathLabel": "Camí remot",
|
||||
"remotePathRequired": "Cal una ruta remota",
|
||||
"fileLabel": "Fitxer",
|
||||
"fileRequired": "Es requereix un fitxer",
|
||||
"pushHint": "El fitxer seleccionat s'escriu a aquesta ruta exacta a tots els hosts de la flota.",
|
||||
"pullHint": "El fitxer d'aquesta ruta es llegeix des de tots els hosts i es descarrega com un únic zip, una carpeta per host.",
|
||||
"transferComplete": "Transferència completada",
|
||||
"transferFailed": "La transferència ha fallat",
|
||||
"refreshInventory": "Actualitza l'inventari",
|
||||
"inventoryLoadFailed": "No s'ha pogut carregar l'inventari",
|
||||
"inventoryRefreshed": "Inventari actualitzat",
|
||||
"inventoryRefreshFailed": "No s'ha pogut actualitzar l'inventari",
|
||||
"inventoryNoData": "Encara no hi ha dades d'inventari; actualitza la pàgina per recopilar-les.",
|
||||
"inventoryHost": "Amfitrió",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} recollit",
|
||||
"inventoryOs": "Sistema operatiu",
|
||||
"inventoryKernel": "Nucli",
|
||||
"inventoryArch": "Arc",
|
||||
"inventoryUptime": "Temps de funcionament",
|
||||
"inventoryPackageManager": "Gestor de paquets",
|
||||
"inventoryCollectedAt": "Recollit",
|
||||
"packageActionLabel": "Acció",
|
||||
"packageInstall": "Instal·la",
|
||||
"packageRemove": "Elimina",
|
||||
"packageUpgradeAll": "Actualitza tots els paquets",
|
||||
"packageNameLabel": "Nom del paquet",
|
||||
"packageNameRequired": "Cal un nom de paquet",
|
||||
"packageHint": "Requereix accés de nivell d'administració per host i eleva els privilegis mitjançant la contrasenya sudo emmagatzemada per l'host."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flotes"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flotily",
|
||||
"createFleet": "Vytvořit flotilu",
|
||||
"createFleetTitle": "Vytvořit flotilu",
|
||||
"editFleetTitle": "Upravit flotilu",
|
||||
"createFleetDescription": "Flotila je pojmenovaná skupina hostitelů, proti kterým můžete jako jednotce spouštět akce.",
|
||||
"nameLabel": "Jméno",
|
||||
"namePlaceholder": "např. webové servery",
|
||||
"nameRequired": "Název flotily je povinný",
|
||||
"descriptionLabel": "Popis",
|
||||
"descriptionPlaceholder": "Volitelný popis",
|
||||
"colorLabel": "Barva",
|
||||
"tagRulesLabel": "Pravidla pro tagy",
|
||||
"tagRulesPlaceholder": "prod-web, okraj",
|
||||
"tagRulesHint": "Hostitelé s některým z těchto tagů jsou zahrnuti automaticky, kromě hostitelů přidaných ručně.",
|
||||
"fleetCreated": "Vytvořená flotila",
|
||||
"fleetUpdated": "Aktualizace vozového parku",
|
||||
"fleetDeleted": "Flotila smazána",
|
||||
"saveFailed": "Uložení flotily se nezdařilo",
|
||||
"deleteFailed": "Nepodařilo se smazat flotilu",
|
||||
"loadFailed": "Načtení flotil se nezdařilo",
|
||||
"deleteFleetTitle": "Smazat flotilu",
|
||||
"deleteFleetDescription": "Opravdu chcete smazat „{{name}}“? Tímto se neodstraní samotní hostitelé členů.",
|
||||
"searchFleets": "Hledat flotily...",
|
||||
"noFleets": "Zatím žádné flotily. Vytvořte si jednu a začněte.",
|
||||
"memberCount": "{{count}} hostitel",
|
||||
"memberCount_other": "{{count}} hostitelé",
|
||||
"manageMembers": "Spravovat členy",
|
||||
"manageMembersTitle": "Správa členů vozového parku",
|
||||
"manageMembersDescription": "Přepíná hostitele do statického členství této flotily nebo z něj. Hostitelé odpovídající pravidlům tagů jsou vždy zahrnuti.",
|
||||
"searchHosts": "Hledat hostitele...",
|
||||
"noHostsFound": "Nenalezeny žádné hostitele",
|
||||
"noMembers": "Tato flotila zatím nemá žádné členy. Přidejte hostitele nebo nastavte pravidlo pro tagy.",
|
||||
"membersLoadFailed": "Nepodařilo se načíst členy flotily",
|
||||
"memberUpdateFailed": "Nepodařilo se aktualizovat členství ve flotile",
|
||||
"tabRun": "Spustit příkaz",
|
||||
"tabTransfer": "Přenos souborů",
|
||||
"tabInventory": "Inventář",
|
||||
"openInventoryTab": "Otevřít na celou kartu",
|
||||
"tabPackages": "Balíčky",
|
||||
"runOnFleet": "Běh na flotile",
|
||||
"commandPlaceholder": "doba provozuschopnosti && df -h",
|
||||
"commandRequired": "Je vyžadován příkaz",
|
||||
"commandInputsLabel": "Vstupy příkazů",
|
||||
"commandSucceeded": "Příkaz byl úspěšný na všech hostitelích",
|
||||
"commandPartialFailure": "{{failed}} z {{total}} hostitelů selhalo",
|
||||
"commandFailed": "Nepodařilo se spustit příkaz",
|
||||
"resultSuccess": "Úspěch",
|
||||
"resultFailed": "Selhalo",
|
||||
"push": "TAM",
|
||||
"pull": "SEM",
|
||||
"remotePathLabel": "Vzdálená cesta",
|
||||
"remotePathRequired": "Je vyžadována vzdálená cesta.",
|
||||
"fileLabel": "Soubor",
|
||||
"fileRequired": "Je vyžadován soubor",
|
||||
"pushHint": "Vybraný soubor se zapíše do této přesné cesty na každém hostiteli ve flotile.",
|
||||
"pullHint": "Soubor v této cestě je načten z každého hostitele a stažen jako jeden zip soubor, jedna složka na hostitele.",
|
||||
"transferComplete": "Převod dokončen",
|
||||
"transferFailed": "Přenos se nezdařil",
|
||||
"refreshInventory": "Obnovit inventář",
|
||||
"inventoryLoadFailed": "Nepodařilo se načíst inventář",
|
||||
"inventoryRefreshed": "Obnovení zásob",
|
||||
"inventoryRefreshFailed": "Nepodařilo se aktualizovat inventář",
|
||||
"inventoryNoData": "Zatím nejsou k dispozici žádná data o zásobách – obnovte stránku pro jejich shromažďování.",
|
||||
"inventoryHost": "Hostitel",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} shromážděno",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "Jádro",
|
||||
"inventoryArch": "Oblouk",
|
||||
"inventoryUptime": "Doba provozuschopnosti",
|
||||
"inventoryPackageManager": "Správce balíčků",
|
||||
"inventoryCollectedAt": "Sebrané",
|
||||
"packageActionLabel": "Akce",
|
||||
"packageInstall": "Instalovat",
|
||||
"packageRemove": "Odstranit",
|
||||
"packageUpgradeAll": "Aktualizujte všechny balíčky",
|
||||
"packageNameLabel": "Název balíčku",
|
||||
"packageNameRequired": "Je vyžadován název balíčku.",
|
||||
"packageHint": "Vyžaduje přístup na úrovni správy pro každého hostitele a zvyšuje oprávnění pomocí uloženého hesla sudo hostitele."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flotily"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flåder",
|
||||
"createFleet": "Opret flåde",
|
||||
"createFleetTitle": "Opret flåde",
|
||||
"editFleetTitle": "Rediger flåde",
|
||||
"createFleetDescription": "En flåde er en navngiven gruppe af værter, som du kan udføre handlinger mod som en enhed.",
|
||||
"nameLabel": "Navn",
|
||||
"namePlaceholder": "f.eks. webservere",
|
||||
"nameRequired": "Flådenavn er påkrævet",
|
||||
"descriptionLabel": "Beskrivelse",
|
||||
"descriptionPlaceholder": "Valgfri beskrivelse",
|
||||
"colorLabel": "Farve",
|
||||
"tagRulesLabel": "Tagregler",
|
||||
"tagRulesPlaceholder": "prod-web, kant",
|
||||
"tagRulesHint": "Værter med et af disse tags inkluderes automatisk, udover værter, der tilføjes manuelt.",
|
||||
"fleetCreated": "Flåde oprettet",
|
||||
"fleetUpdated": "Flåden er opdateret",
|
||||
"fleetDeleted": "Flåden slettet",
|
||||
"saveFailed": "Kunne ikke redde flåden",
|
||||
"deleteFailed": "Kunne ikke slette flåden",
|
||||
"loadFailed": "Kunne ikke indlæse flåder",
|
||||
"deleteFleetTitle": "Slet flåde",
|
||||
"deleteFleetDescription": "Er du sikker på, at du vil slette \"{{name}}\"? Dette sletter ikke selve medlemsværterne.",
|
||||
"searchFleets": "Søg efter flåder...",
|
||||
"noFleets": "Ingen flåder endnu. Opret en for at komme i gang.",
|
||||
"memberCount": "{{count}} vært",
|
||||
"memberCount_other": "{{count}} værter",
|
||||
"manageMembers": "Administrer medlemmer",
|
||||
"manageMembersTitle": "Administrer flådemedlemmer",
|
||||
"manageMembersDescription": "Slå værter til eller fra af denne flådes statiske medlemskab. Værter, der matches af tagregler, er altid inkluderet.",
|
||||
"searchHosts": "Søg efter værter...",
|
||||
"noHostsFound": "Ingen værter fundet",
|
||||
"noMembers": "Denne flåde har endnu ingen medlemmer. Tilføj værter eller angiv en tagregel.",
|
||||
"membersLoadFailed": "Kunne ikke indlæse flådemedlemmer",
|
||||
"memberUpdateFailed": "Kunne ikke opdatere flådemedlemskab",
|
||||
"tabRun": "Kør kommando",
|
||||
"tabTransfer": "Overfør filer",
|
||||
"tabInventory": "Inventar",
|
||||
"openInventoryTab": "Åbn i fuld fane",
|
||||
"tabPackages": "Pakker",
|
||||
"runOnFleet": "Kør på flåden",
|
||||
"commandPlaceholder": "oppetid && df -h",
|
||||
"commandRequired": "En kommando er påkrævet",
|
||||
"commandInputsLabel": "Kommandoindgange",
|
||||
"commandSucceeded": "Kommandoen lykkedes på alle værter",
|
||||
"commandPartialFailure": "{{failed}} af {{total}} værter mislykkedes",
|
||||
"commandFailed": "Kunne ikke køre kommandoen",
|
||||
"resultSuccess": "Succes",
|
||||
"resultFailed": "Mislykkedes",
|
||||
"push": "Skubbe",
|
||||
"pull": "Træk",
|
||||
"remotePathLabel": "Fjernsti",
|
||||
"remotePathRequired": "En fjernsti er påkrævet",
|
||||
"fileLabel": "Fil",
|
||||
"fileRequired": "En fil er påkrævet",
|
||||
"pushHint": "Den valgte fil skrives til præcis denne sti på alle værter i flåden.",
|
||||
"pullHint": "Filen på denne sti læses fra hver vært og downloades som en enkelt zip-fil, én mappe pr. vært.",
|
||||
"transferComplete": "Overførsel fuldført",
|
||||
"transferFailed": "Overførslen mislykkedes",
|
||||
"refreshInventory": "Opdater lagerbeholdning",
|
||||
"inventoryLoadFailed": "Kunne ikke indlæse lagerbeholdningen",
|
||||
"inventoryRefreshed": "Opdateret lagerbeholdning",
|
||||
"inventoryRefreshFailed": "Kunne ikke opdatere lagerbeholdningen",
|
||||
"inventoryNoData": "Ingen lagerdata endnu - opdater for at indsamle dem.",
|
||||
"inventoryHost": "Vært",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} indsamlet",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "Kernen",
|
||||
"inventoryArch": "Buen",
|
||||
"inventoryUptime": "Oppetid",
|
||||
"inventoryPackageManager": "Pakkehåndtering",
|
||||
"inventoryCollectedAt": "Indsamlet",
|
||||
"packageActionLabel": "Handling",
|
||||
"packageInstall": "Installere",
|
||||
"packageRemove": "Fjerne",
|
||||
"packageUpgradeAll": "Opgrader alle pakker",
|
||||
"packageNameLabel": "Pakkenavn",
|
||||
"packageNameRequired": "Et pakkenavn er påkrævet",
|
||||
"packageHint": "Kræver adgang på administratorniveau pr. vært og hæver ved hjælp af værtens gemte sudo-adgangskode."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flåder"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flotten",
|
||||
"createFleet": "Flotte erstellen",
|
||||
"createFleetTitle": "Flotte erstellen",
|
||||
"editFleetTitle": "Flotte bearbeiten",
|
||||
"createFleetDescription": "Eine Flotte ist eine benannte Gruppe von Hosts, gegen die Sie als Einheit Aktionen ausführen können.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "z.B. Webserver",
|
||||
"nameRequired": "Flottenname erforderlich",
|
||||
"descriptionLabel": "Beschreibung",
|
||||
"descriptionPlaceholder": "Optionale Beschreibung",
|
||||
"colorLabel": "Farbe",
|
||||
"tagRulesLabel": "Tag-Regeln",
|
||||
"tagRulesPlaceholder": "Produktweb, Rand",
|
||||
"tagRulesHint": "Hosts, die über eines dieser Tags verfügen, werden automatisch mit einbezogen, ebenso wie manuell hinzugefügte Hosts.",
|
||||
"fleetCreated": "Flotte erstellt",
|
||||
"fleetUpdated": "Flotte aktualisiert",
|
||||
"fleetDeleted": "Flotte gelöscht",
|
||||
"saveFailed": "Es gelang nicht, die Flotte zu retten.",
|
||||
"deleteFailed": "Flotte konnte nicht gelöscht werden",
|
||||
"loadFailed": "Flotten konnten nicht geladen werden",
|
||||
"deleteFleetTitle": "Flotte löschen",
|
||||
"deleteFleetDescription": "Möchten Sie wirklich \"{{name}}\" löschen? Dadurch werden die Mitgliedshosts selbst nicht gelöscht.",
|
||||
"searchFleets": "Flotten durchsuchen...",
|
||||
"noFleets": "Noch keine Flotten vorhanden. Erstellen Sie eine, um loszulegen.",
|
||||
"memberCount": "{{count}} Host",
|
||||
"memberCount_other": "{{count}} Hosts",
|
||||
"manageMembers": "Mitglieder verwalten",
|
||||
"manageMembersTitle": "Flottenmitglieder verwalten",
|
||||
"manageMembersDescription": "Hosts können der statischen Mitgliedschaft dieser Flotte hinzugefügt oder daraus entfernt werden. Hosts, die den Tag-Regeln entsprechen, sind immer enthalten.",
|
||||
"searchHosts": "Hosts suchen...",
|
||||
"noHostsFound": "Keine Hosts gefunden",
|
||||
"noMembers": "Diese Flotte hat noch keine Mitglieder. Füge Hosts hinzu oder lege eine Tag-Regel fest.",
|
||||
"membersLoadFailed": "Flottenmitglieder konnten nicht geladen werden",
|
||||
"memberUpdateFailed": "Aktualisierung der Flottenmitgliedschaft fehlgeschlagen",
|
||||
"tabRun": "Befehl ausführen",
|
||||
"tabTransfer": "Dateien übertragen",
|
||||
"tabInventory": "Inventar",
|
||||
"openInventoryTab": "Im vollständigen Tab öffnen",
|
||||
"tabPackages": "Pakete",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "Ein Befehl ist erforderlich",
|
||||
"commandInputsLabel": "Befehlseingaben",
|
||||
"commandSucceeded": "Der Befehl wurde auf allen Hosts erfolgreich ausgeführt.",
|
||||
"commandPartialFailure": "{{failed}} von {{total}} Hosts fehlgeschlagen",
|
||||
"commandFailed": "Befehl konnte nicht ausgeführt werden",
|
||||
"resultSuccess": "Erfolg",
|
||||
"resultFailed": "Fehlgeschlagen",
|
||||
"push": "Drücken",
|
||||
"pull": "Ziehen",
|
||||
"remotePathLabel": "Remote-Pfad",
|
||||
"remotePathRequired": "Ein Remote-Pfad ist erforderlich",
|
||||
"fileLabel": "Datei",
|
||||
"fileRequired": "Eine Datei wird benötigt",
|
||||
"pushHint": "Die ausgewählte Datei wird auf jedem Host der Flotte unter genau diesem Pfad gespeichert.",
|
||||
"pullHint": "Die Datei unter diesem Pfad wird von jedem Host gelesen und als einzelne ZIP-Datei heruntergeladen, ein Ordner pro Host.",
|
||||
"transferComplete": "Übertragung abgeschlossen",
|
||||
"transferFailed": "Übertragung fehlgeschlagen",
|
||||
"refreshInventory": "Inventar aktualisieren",
|
||||
"inventoryLoadFailed": "Fehler beim Laden des Inventars",
|
||||
"inventoryRefreshed": "Bestand aktualisiert",
|
||||
"inventoryRefreshFailed": "Fehler beim Aktualisieren des Inventars",
|
||||
"inventoryNoData": "Noch keine Bestandsdaten vorhanden – aktualisieren Sie die Seite, um sie abzurufen.",
|
||||
"inventoryHost": "Gastgeber",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} gesammelt",
|
||||
"inventoryOs": "Betriebssystem",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Bogen",
|
||||
"inventoryUptime": "Betriebszeit",
|
||||
"inventoryPackageManager": "Paketmanager",
|
||||
"inventoryCollectedAt": "Gesammelt",
|
||||
"packageActionLabel": "Aktion",
|
||||
"packageInstall": "Installieren",
|
||||
"packageRemove": "Entfernen",
|
||||
"packageUpgradeAll": "Alle Pakete aktualisieren",
|
||||
"packageNameLabel": "Paketname",
|
||||
"packageNameRequired": "Ein Paketname ist erforderlich.",
|
||||
"packageHint": "Erfordert Administratorrechte pro Host und verwendet das gespeicherte sudo-Passwort des Hosts für die Rechteerweiterung."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flotten"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Στόλοι",
|
||||
"createFleet": "Δημιουργία στόλου",
|
||||
"createFleetTitle": "Δημιουργία στόλου",
|
||||
"editFleetTitle": "Επεξεργασία στόλου",
|
||||
"createFleetDescription": "Ένας στόλος είναι μια ονομαστική ομάδα οικοδεσποτών εναντίον των οποίων μπορείτε να εκτελέσετε ενέργειες ως μονάδα.",
|
||||
"nameLabel": "Ονομα",
|
||||
"namePlaceholder": "π.χ., Διακομιστές Ιστού",
|
||||
"nameRequired": "Απαιτείται το όνομα του στόλου",
|
||||
"descriptionLabel": "Περιγραφή",
|
||||
"descriptionPlaceholder": "Προαιρετική περιγραφή",
|
||||
"colorLabel": "Χρώμα",
|
||||
"tagRulesLabel": "Κανόνες ετικετών",
|
||||
"tagRulesPlaceholder": "product-web, edge",
|
||||
"tagRulesHint": "Οι κεντρικοί υπολογιστές με οποιαδήποτε από αυτές τις ετικέτες περιλαμβάνονται αυτόματα, εκτός από τους κεντρικούς υπολογιστές που προστίθενται χειροκίνητα.",
|
||||
"fleetCreated": "Στόλος δημιουργήθηκε",
|
||||
"fleetUpdated": "Ενημερώθηκε ο στόλος",
|
||||
"fleetDeleted": "Ο στόλος διαγράφηκε",
|
||||
"saveFailed": "Αποτυχία αποθήκευσης στόλου",
|
||||
"deleteFailed": "Η διαγραφή του στόλου απέτυχε",
|
||||
"loadFailed": "Αποτυχία φόρτωσης στόλων",
|
||||
"deleteFleetTitle": "Διαγραφή στόλου",
|
||||
"deleteFleetDescription": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το \"{{name}}\"; Αυτό δεν διαγράφει τους ίδιους τους κεντρικούς υπολογιστές-μέλη.",
|
||||
"searchFleets": "Αναζήτηση στόλων...",
|
||||
"noFleets": "Δεν υπάρχουν ακόμη στόλοι. Δημιουργήστε έναν για να ξεκινήσετε.",
|
||||
"memberCount": "{{count}} κεντρικός υπολογιστής",
|
||||
"memberCount_other": "{{count}} κεντρικοί υπολογιστές",
|
||||
"manageMembers": "Διαχείριση μελών",
|
||||
"manageMembersTitle": "Διαχείριση Μελών Στόλου",
|
||||
"manageMembersDescription": "Εναλλαγή ή διακοπή της στατικής ιδιότητας μέλους αυτού του στόλου. Οι κεντρικοί υπολογιστές που αντιστοιχούν σε κανόνες ετικέτας περιλαμβάνονται πάντα.",
|
||||
"searchHosts": "Αναζήτηση κεντρικών υπολογιστών...",
|
||||
"noHostsFound": "Δεν βρέθηκαν κεντρικοί υπολογιστές",
|
||||
"noMembers": "Αυτός ο στόλος δεν έχει ακόμη μέλη. Προσθέστε κεντρικούς υπολογιστές ή ορίστε έναν κανόνα ετικέτας.",
|
||||
"membersLoadFailed": "Αποτυχία φόρτωσης μελών στόλου",
|
||||
"memberUpdateFailed": "Η ενημέρωση της ιδιότητας μέλους του στόλου απέτυχε",
|
||||
"tabRun": "Εκτέλεση εντολής",
|
||||
"tabTransfer": "Μεταφορά αρχείων",
|
||||
"tabInventory": "Καταγραφή εμπορευμάτων",
|
||||
"openInventoryTab": "Άνοιγμα σε πλήρη καρτέλα",
|
||||
"tabPackages": "Πακέτα",
|
||||
"runOnFleet": "Εκτέλεση σε στόλο",
|
||||
"commandPlaceholder": "χρόνος λειτουργίας && df -h",
|
||||
"commandRequired": "Απαιτείται εντολή",
|
||||
"commandInputsLabel": "Είσοδοι εντολών",
|
||||
"commandSucceeded": "Η εντολή ήταν επιτυχής σε όλους τους κεντρικούς υπολογιστές",
|
||||
"commandPartialFailure": "{{failed}} από {{total}} κεντρικούς υπολογιστές απέτυχαν",
|
||||
"commandFailed": "Αποτυχία εκτέλεσης εντολής",
|
||||
"resultSuccess": "Επιτυχία",
|
||||
"resultFailed": "Αποτυχημένος",
|
||||
"push": "Σπρώξτε",
|
||||
"pull": "Τραβήξτε",
|
||||
"remotePathLabel": "Απομακρυσμένη διαδρομή",
|
||||
"remotePathRequired": "Απαιτείται μια απομακρυσμένη διαδρομή",
|
||||
"fileLabel": "Αρχείο",
|
||||
"fileRequired": "Απαιτείται ένα αρχείο",
|
||||
"pushHint": "Το επιλεγμένο αρχείο εγγράφεται σε αυτήν ακριβώς τη διαδρομή σε κάθε κεντρικό υπολογιστή του στόλου.",
|
||||
"pullHint": "Το αρχείο σε αυτήν τη διαδρομή διαβάζεται από κάθε κεντρικό υπολογιστή και λαμβάνεται ως ενιαίο αρχείο zip, ένας φάκελος ανά κεντρικό υπολογιστή.",
|
||||
"transferComplete": "Η μεταφορά ολοκληρώθηκε",
|
||||
"transferFailed": "Η μεταφορά απέτυχε",
|
||||
"refreshInventory": "Ανανέωση Αποθέματος",
|
||||
"inventoryLoadFailed": "Αποτυχία φόρτωσης αποθέματος",
|
||||
"inventoryRefreshed": "Το απόθεμα ανανεώθηκε",
|
||||
"inventoryRefreshFailed": "Η ανανέωση του αποθέματος απέτυχε",
|
||||
"inventoryNoData": "Δεν υπάρχουν ακόμη δεδομένα αποθέματος - κάντε ανανέωση για να τα συλλέξετε.",
|
||||
"inventoryHost": "Πλήθος",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} συλλέχθηκαν",
|
||||
"inventoryOs": "Λειτουργικό σύστημα",
|
||||
"inventoryKernel": "Πυρήνας",
|
||||
"inventoryArch": "Αψίδα",
|
||||
"inventoryUptime": "Χρόνος λειτουργίας",
|
||||
"inventoryPackageManager": "Διαχειριστής πακέτων",
|
||||
"inventoryCollectedAt": "Συγκεντρωμένος",
|
||||
"packageActionLabel": "Δράση",
|
||||
"packageInstall": "Εγκαθιστώ",
|
||||
"packageRemove": "Αφαιρώ",
|
||||
"packageUpgradeAll": "Αναβάθμιση όλων των πακέτων",
|
||||
"packageNameLabel": "Όνομα πακέτου",
|
||||
"packageNameRequired": "Απαιτείται όνομα πακέτου",
|
||||
"packageHint": "Απαιτείται πρόσβαση σε επίπεδο διαχείρισης ανά κεντρικό υπολογιστή και αναβαθμίζεται χρησιμοποιώντας τον αποθηκευμένο κωδικό πρόσβασης sudo του κεντρικού υπολογιστή."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Στόλοι"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flotas",
|
||||
"createFleet": "Crear flota",
|
||||
"createFleetTitle": "Crear flota",
|
||||
"editFleetTitle": "Editar flota",
|
||||
"createFleetDescription": "Una flota es un grupo con nombre de anfitriones contra los que puedes ejecutar acciones como una unidad.",
|
||||
"nameLabel": "Nombre",
|
||||
"namePlaceholder": "p. ej., servidores web",
|
||||
"nameRequired": "Se requiere el nombre de la flota.",
|
||||
"descriptionLabel": "Descripción",
|
||||
"descriptionPlaceholder": "Descripción opcional",
|
||||
"colorLabel": "Color",
|
||||
"tagRulesLabel": "Reglas de etiquetas",
|
||||
"tagRulesPlaceholder": "web de producción, borde",
|
||||
"tagRulesHint": "Los hosts que tengan cualquiera de estas etiquetas se incluyen automáticamente, además de los hosts añadidos manualmente.",
|
||||
"fleetCreated": "Flota creada",
|
||||
"fleetUpdated": "Flota actualizada",
|
||||
"fleetDeleted": "Flota eliminada",
|
||||
"saveFailed": "No se logró salvar la flota.",
|
||||
"deleteFailed": "No se pudo eliminar la flota",
|
||||
"loadFailed": "No se pudieron cargar las flotas.",
|
||||
"deleteFleetTitle": "Eliminar flota",
|
||||
"deleteFleetDescription": "¿Estás seguro de que quieres eliminar \"{{name}}\"? Esto no elimina los hosts miembros en sí.",
|
||||
"searchFleets": "Buscar flotas...",
|
||||
"noFleets": "Aún no hay flotas. Crea una para empezar.",
|
||||
"memberCount": "{{count}} anfitrión",
|
||||
"memberCount_other": "{{count}} anfitriones",
|
||||
"manageMembers": "Gestionar miembros",
|
||||
"manageMembersTitle": "Gestionar los miembros de la flota",
|
||||
"manageMembersDescription": "Activa o desactiva la pertenencia estática de esta flota a hosts. Los hosts que coincidan con las reglas de etiquetas siempre se incluirán.",
|
||||
"searchHosts": "Buscar hosts...",
|
||||
"noHostsFound": "No se encontraron hosts",
|
||||
"noMembers": "Esta flota aún no tiene miembros. Añade anfitriones o establece una regla de etiquetas.",
|
||||
"membersLoadFailed": "No se pudo cargar a los miembros de la flota.",
|
||||
"memberUpdateFailed": "No se pudo actualizar la membresía de la flota.",
|
||||
"tabRun": "Ejecutar comando",
|
||||
"tabTransfer": "Transferir archivos",
|
||||
"tabInventory": "Inventario",
|
||||
"openInventoryTab": "Abrir en pestaña completa",
|
||||
"tabPackages": "Paquetes",
|
||||
"runOnFleet": "Operar en Fleet",
|
||||
"commandPlaceholder": "tiempo de actividad && df -h",
|
||||
"commandRequired": "Se requiere un comando",
|
||||
"commandInputsLabel": "Entradas de comandos",
|
||||
"commandSucceeded": "El comando se ejecutó correctamente en todos los hosts.",
|
||||
"commandPartialFailure": "{{failed}} de {{total}} hosts fallaron",
|
||||
"commandFailed": "Error al ejecutar el comando",
|
||||
"resultSuccess": "Éxito",
|
||||
"resultFailed": "Fallido",
|
||||
"push": "Empujar",
|
||||
"pull": "Jalar",
|
||||
"remotePathLabel": "Ruta remota",
|
||||
"remotePathRequired": "Se requiere una ruta remota",
|
||||
"fileLabel": "Archivo",
|
||||
"fileRequired": "Se requiere un archivo",
|
||||
"pushHint": "El archivo seleccionado se escribe en esta ruta exacta en cada host de la flota.",
|
||||
"pullHint": "El archivo ubicado en esta ruta se lee desde cada host y se descarga como un único archivo zip, una carpeta por host.",
|
||||
"transferComplete": "Transferencia completada",
|
||||
"transferFailed": "La transferencia falló.",
|
||||
"refreshInventory": "Actualizar inventario",
|
||||
"inventoryLoadFailed": "No se pudo cargar el inventario.",
|
||||
"inventoryRefreshed": "Inventario actualizado",
|
||||
"inventoryRefreshFailed": "No se pudo actualizar el inventario.",
|
||||
"inventoryNoData": "Aún no hay datos de inventario; actualice la página para recopilarlos.",
|
||||
"inventoryHost": "Anfitrión",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} recopilado",
|
||||
"inventoryOs": "Sistema operativo",
|
||||
"inventoryKernel": "Núcleo",
|
||||
"inventoryArch": "Arco",
|
||||
"inventoryUptime": "Tiempo de actividad",
|
||||
"inventoryPackageManager": "gestor de paquetes",
|
||||
"inventoryCollectedAt": "Coleccionado",
|
||||
"packageActionLabel": "Acción",
|
||||
"packageInstall": "Instalar",
|
||||
"packageRemove": "Eliminar",
|
||||
"packageUpgradeAll": "Actualizar todos los paquetes",
|
||||
"packageNameLabel": "Nombre del paquete",
|
||||
"packageNameRequired": "Se requiere un nombre de paquete.",
|
||||
"packageHint": "Requiere acceso de nivel de administrador por host y eleva los privilegios utilizando la contraseña sudo almacenada en el host."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flotas"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Laivastot",
|
||||
"createFleet": "Luo laivasto",
|
||||
"createFleetTitle": "Luo laivasto",
|
||||
"editFleetTitle": "Muokkaa kalustoa",
|
||||
"createFleetDescription": "Laivasto on nimetty joukko isäntäjoukkoja, joita vastaan voit suorittaa toimintoja yksikkönä.",
|
||||
"nameLabel": "Nimi",
|
||||
"namePlaceholder": "esim. web-palvelimet",
|
||||
"nameRequired": "Laivaston nimi on pakollinen",
|
||||
"descriptionLabel": "Kuvaus",
|
||||
"descriptionPlaceholder": "Valinnainen kuvaus",
|
||||
"colorLabel": "Väri",
|
||||
"tagRulesLabel": "Tagisäännöt",
|
||||
"tagRulesPlaceholder": "prod-web, reuna",
|
||||
"tagRulesHint": "Näillä tunnisteilla varustetut isännät sisällytetään automaattisesti manuaalisesti lisättyjen isäntien lisäksi.",
|
||||
"fleetCreated": "Laivasto luotu",
|
||||
"fleetUpdated": "Kalustoa päivitetty",
|
||||
"fleetDeleted": "Kalusto poistettu",
|
||||
"saveFailed": "Laivaston tallentaminen epäonnistui",
|
||||
"deleteFailed": "Kaluston poistaminen epäonnistui",
|
||||
"loadFailed": "Kalustojen lataus epäonnistui",
|
||||
"deleteFleetTitle": "Poista kalusto",
|
||||
"deleteFleetDescription": "Oletko varma, että haluat poistaa \"{{name}}\"? Tämä ei poista itse jäsenpalvelimia.",
|
||||
"searchFleets": "Hae laivastoja...",
|
||||
"noFleets": "Ei vielä laivastoja. Luo yksi aloittaaksesi.",
|
||||
"memberCount": "{{count}} isäntä",
|
||||
"memberCount_other": "{{count}} isännät",
|
||||
"manageMembers": "Hallinnoi jäseniä",
|
||||
"manageMembersTitle": "Hallinnoi laivaston jäseniä",
|
||||
"manageMembersDescription": "Lisää isännät tämän laivaston staattiseen jäsenyyteen tai poista ne siitä. Tunnistesääntöjen mukaiset isännät sisällytetään aina.",
|
||||
"searchHosts": "Hae isäntiä...",
|
||||
"noHostsFound": "Ei isäntiä",
|
||||
"noMembers": "Tässä laivastossa ei ole vielä jäseniä. Lisää isäntiä tai aseta tunnistesääntö.",
|
||||
"membersLoadFailed": "Laivaston jäsenten lataaminen epäonnistui",
|
||||
"memberUpdateFailed": "Laivaston jäsenyyden päivittäminen epäonnistui",
|
||||
"tabRun": "Suorita komento",
|
||||
"tabTransfer": "Tiedostojen siirto",
|
||||
"tabInventory": "Varasto",
|
||||
"openInventoryTab": "Avaa koko välilehdessä",
|
||||
"tabPackages": "Paketit",
|
||||
"runOnFleet": "Suorita laivastolla",
|
||||
"commandPlaceholder": "käyttöaika && df -h",
|
||||
"commandRequired": "Komento vaaditaan",
|
||||
"commandInputsLabel": "Komentotulot",
|
||||
"commandSucceeded": "Komento onnistui kaikissa isännissä",
|
||||
"commandPartialFailure": "{{failed}} / {{total}} isäntäkoneesta epäonnistui",
|
||||
"commandFailed": "Komennon suorittaminen epäonnistui",
|
||||
"resultSuccess": "Menestys",
|
||||
"resultFailed": "Epäonnistui",
|
||||
"push": "Työnnä",
|
||||
"pull": "Vedä",
|
||||
"remotePathLabel": "Etäpolku",
|
||||
"remotePathRequired": "Etäpolku vaaditaan",
|
||||
"fileLabel": "Tiedosto",
|
||||
"fileRequired": "Tiedosto vaaditaan",
|
||||
"pushHint": "Valittu tiedosto kirjoitetaan täsmälleen tälle polulle jokaisella laivaston isännällä.",
|
||||
"pullHint": "Tämän polun tiedosto luetaan jokaiselta isännältä ja ladataan yhtenä zip-tiedostona, yksi kansio isäntää kohden.",
|
||||
"transferComplete": "Siirto valmis",
|
||||
"transferFailed": "Siirto epäonnistui",
|
||||
"refreshInventory": "Päivitä varasto",
|
||||
"inventoryLoadFailed": "Varaston lataaminen epäonnistui",
|
||||
"inventoryRefreshed": "Varasto päivitetty",
|
||||
"inventoryRefreshFailed": "Varaston päivittäminen epäonnistui",
|
||||
"inventoryNoData": "Ei vielä varastotietoja – päivitä kerätäksesi ne.",
|
||||
"inventoryHost": "Isäntä",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} kerätty",
|
||||
"inventoryOs": "Käyttöjärjestelmä",
|
||||
"inventoryKernel": "Ydin",
|
||||
"inventoryArch": "Kaari",
|
||||
"inventoryUptime": "Käyttöaika",
|
||||
"inventoryPackageManager": "Pakettien hallinta",
|
||||
"inventoryCollectedAt": "Kerätty",
|
||||
"packageActionLabel": "Toiminta",
|
||||
"packageInstall": "Asentaa",
|
||||
"packageRemove": "Poistaa",
|
||||
"packageUpgradeAll": "Päivitä kaikki paketit",
|
||||
"packageNameLabel": "Paketin nimi",
|
||||
"packageNameRequired": "Paketin nimi on pakollinen",
|
||||
"packageHint": "Vaatii hallintatason käyttöoikeudet isäntäkohtaisesti ja nostaa käyttöoikeuksia isännän tallennetulla sudo-salasanalla."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Laivastot"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flottes",
|
||||
"createFleet": "Créer une flotte",
|
||||
"createFleetTitle": "Créer une flotte",
|
||||
"editFleetTitle": "Modifier la flotte",
|
||||
"createFleetDescription": "Une flotte est un groupe nommé d'hôtes contre lesquels vous pouvez mener des actions en tant qu'unité.",
|
||||
"nameLabel": "Nom",
|
||||
"namePlaceholder": "par exemple, les serveurs Web",
|
||||
"nameRequired": "Le nom de la flotte est requis.",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Description facultative",
|
||||
"colorLabel": "Couleur",
|
||||
"tagRulesLabel": "Règles de balisage",
|
||||
"tagRulesPlaceholder": "prod-web, bord",
|
||||
"tagRulesHint": "Les hôtes possédant l'une de ces étiquettes sont automatiquement inclus, en plus des hôtes ajoutés manuellement.",
|
||||
"fleetCreated": "Flotte créée",
|
||||
"fleetUpdated": "Flotte mise à jour",
|
||||
"fleetDeleted": "Flotte supprimée",
|
||||
"saveFailed": "Échec de la sauvegarde de la flotte",
|
||||
"deleteFailed": "Échec de la suppression de la flotte",
|
||||
"loadFailed": "Échec du chargement des flottes",
|
||||
"deleteFleetTitle": "Supprimer la flotte",
|
||||
"deleteFleetDescription": "Êtes-vous sûr de vouloir supprimer «{{name}}» ? Cela ne supprime pas les hôtes membres eux-mêmes.",
|
||||
"searchFleets": "Rechercher des flottes...",
|
||||
"noFleets": "Aucune flotte pour le moment. Créez-en une pour commencer.",
|
||||
"memberCount": "{{count}} hôte",
|
||||
"memberCount_other": "{{count}} hôtes",
|
||||
"manageMembers": "Gérer les membres",
|
||||
"manageMembersTitle": "Gérer les membres de la flotte",
|
||||
"manageMembersDescription": "Activez ou désactivez l'appartenance statique des hôtes à cette flotte. Les hôtes correspondant aux règles de balisage sont toujours inclus.",
|
||||
"searchHosts": "Rechercher des hôtes...",
|
||||
"noHostsFound": "Aucun hôte trouvé",
|
||||
"noMembers": "Cette flotte est vide pour le moment. Ajoutez des hôtes ou définissez une règle de balisage.",
|
||||
"membersLoadFailed": "Échec du chargement des membres de la flotte",
|
||||
"memberUpdateFailed": "Échec de la mise à jour de l'adhésion à la flotte",
|
||||
"tabRun": "Exécuter la commande",
|
||||
"tabTransfer": "Transférer des fichiers",
|
||||
"tabInventory": "Inventaire",
|
||||
"openInventoryTab": "Ouvrir dans l'onglet complet",
|
||||
"tabPackages": "Colis",
|
||||
"runOnFleet": "Exécuter sur la flotte",
|
||||
"commandPlaceholder": "disponibilité && df -h",
|
||||
"commandRequired": "Une commande est requise",
|
||||
"commandInputsLabel": "Entrées de commande",
|
||||
"commandSucceeded": "La commande a réussi sur tous les hôtes.",
|
||||
"commandPartialFailure": "{{failed}} des hôtes {{total}} ont échoué",
|
||||
"commandFailed": "Échec de l'exécution de la commande",
|
||||
"resultSuccess": "Succès",
|
||||
"resultFailed": "Échoué",
|
||||
"push": "Pousser",
|
||||
"pull": "Tirer",
|
||||
"remotePathLabel": "Chemin distant",
|
||||
"remotePathRequired": "Un chemin distant est nécessaire",
|
||||
"fileLabel": "Déposer",
|
||||
"fileRequired": "Un fichier est requis",
|
||||
"pushHint": "Le fichier sélectionné est enregistré à cet emplacement précis sur chaque hôte du parc.",
|
||||
"pullHint": "Le fichier situé à cet emplacement est lu depuis chaque hôte et téléchargé sous forme d'un seul fichier zip, un dossier par hôte.",
|
||||
"transferComplete": "Transfert terminé",
|
||||
"transferFailed": "Échec du transfert",
|
||||
"refreshInventory": "Actualiser l'inventaire",
|
||||
"inventoryLoadFailed": "Échec du chargement de l'inventaire",
|
||||
"inventoryRefreshed": "Inventaire mis à jour",
|
||||
"inventoryRefreshFailed": "Échec de la mise à jour de l'inventaire",
|
||||
"inventoryNoData": "Aucune donnée d'inventaire pour le moment - actualisez la page pour la récupérer.",
|
||||
"inventoryHost": "Hôte",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} collecté",
|
||||
"inventoryOs": "Système d'exploitation",
|
||||
"inventoryKernel": "Noyau",
|
||||
"inventoryArch": "Cambre",
|
||||
"inventoryUptime": "Disponibilité",
|
||||
"inventoryPackageManager": "Gestionnaire de paquets",
|
||||
"inventoryCollectedAt": "Collecté",
|
||||
"packageActionLabel": "Action",
|
||||
"packageInstall": "Installer",
|
||||
"packageRemove": "Retirer",
|
||||
"packageUpgradeAll": "Mettez à niveau tous les forfaits",
|
||||
"packageNameLabel": "Nom du paquet",
|
||||
"packageNameRequired": "Un nom de paquet est requis.",
|
||||
"packageHint": "Nécessite un accès de niveau administrateur par hôte et élève les privilèges à l'aide du mot de passe sudo stocké sur l'hôte."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flottes"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "ציי רכב",
|
||||
"createFleet": "צור צי",
|
||||
"createFleetTitle": "צור צי",
|
||||
"editFleetTitle": "עריכת צי",
|
||||
"createFleetDescription": "צי הוא קבוצה בעלת שם של מארחים שניתן להפעיל פעולות נגדם כיחידה.",
|
||||
"nameLabel": "שֵׁם",
|
||||
"namePlaceholder": "לדוגמה, שרתי אינטרנט",
|
||||
"nameRequired": "נדרש שם צי",
|
||||
"descriptionLabel": "תֵאוּר",
|
||||
"descriptionPlaceholder": "תיאור אופציונלי",
|
||||
"colorLabel": "צֶבַע",
|
||||
"tagRulesLabel": "כללי תגיות",
|
||||
"tagRulesPlaceholder": "רשת דחיפה, קצה",
|
||||
"tagRulesHint": "מארחים עם אחד מהתגים הללו נכללים אוטומטית, בנוסף למארחים שנוספו ידנית.",
|
||||
"fleetCreated": "צי נוצר",
|
||||
"fleetUpdated": "הצי עודכן",
|
||||
"fleetDeleted": "הצי נמחק",
|
||||
"saveFailed": "נכשלה הצלת הצי",
|
||||
"deleteFailed": "מחיקת הצי נכשלה",
|
||||
"loadFailed": "טעינת ציי רכב נכשלה",
|
||||
"deleteFleetTitle": "מחיקת צי",
|
||||
"deleteFleetDescription": "האם אתה בטוח שברצונך למחוק את \"{{name}}\"? פעולה זו אינה מוחקת את המארחים החברים עצמם.",
|
||||
"searchFleets": "חיפוש ציי רכב...",
|
||||
"noFleets": "אין עדיין ציי רכב. צור אחד כדי להתחיל.",
|
||||
"memberCount": "מארח {{count}}",
|
||||
"memberCount_other": "{{count}} hosts",
|
||||
"manageMembers": "ניהול חברים",
|
||||
"manageMembersTitle": "ניהול חברי צי",
|
||||
"manageMembersDescription": "פתח או הסר מארחים מהחברות הסטטית של צי זה. מארחים שתואמים לפי כללי תג תמיד כלולים.",
|
||||
"searchHosts": "חיפוש מארחים...",
|
||||
"noHostsFound": "לא נמצאו מארחים",
|
||||
"noMembers": "לצי הזה עדיין אין חברים. הוסף מארחים או הגדר כלל תגיות.",
|
||||
"membersLoadFailed": "טעינת חברי הצי נכשלה",
|
||||
"memberUpdateFailed": "נכשל עדכון חברות הצי",
|
||||
"tabRun": "הפעל את הפקודה",
|
||||
"tabTransfer": "העברת קבצים",
|
||||
"tabInventory": "מְלַאי",
|
||||
"openInventoryTab": "פתח בכרטיסייה המלאה",
|
||||
"tabPackages": "חבילות",
|
||||
"runOnFleet": "רוץ על הצי",
|
||||
"commandPlaceholder": "זמן פעולה ו-df -h",
|
||||
"commandRequired": "נדרשת פקודה",
|
||||
"commandInputsLabel": "קלטי פקודה",
|
||||
"commandSucceeded": "הפקודה הצליחה בכל המארחים",
|
||||
"commandPartialFailure": "{{failed}} מתוך {{total}} מארחים נכשלו",
|
||||
"commandFailed": "נכשל בהפעלת הפקודה",
|
||||
"resultSuccess": "הַצלָחָה",
|
||||
"resultFailed": "נִכשָׁל",
|
||||
"push": "לִדחוֹף",
|
||||
"pull": "מְשׁוֹך",
|
||||
"remotePathLabel": "נתיב מרוחק",
|
||||
"remotePathRequired": "נדרש נתיב מרוחק",
|
||||
"fileLabel": "קוֹבֶץ",
|
||||
"fileRequired": "נדרש קובץ",
|
||||
"pushHint": "הקובץ שנבחר נכתב בדיוק לנתיב הזה בכל מחשב מארח בצי.",
|
||||
"pullHint": "הקובץ בנתיב זה נקרא מכל מארח ומורד כקובץ zip יחיד, תיקייה אחת לכל מארח.",
|
||||
"transferComplete": "ההעברה הושלמה",
|
||||
"transferFailed": "ההעברה נכשלה",
|
||||
"refreshInventory": "רענון המלאי",
|
||||
"inventoryLoadFailed": "טעינת המלאי נכשלה",
|
||||
"inventoryRefreshed": "רענון המלאי",
|
||||
"inventoryRefreshFailed": "רענון המלאי נכשל",
|
||||
"inventoryNoData": "אין עדיין נתוני מלאי - רענן כדי לאסוף אותם.",
|
||||
"inventoryHost": "מְאָרֵחַ",
|
||||
"inventoryCollectedCount": "נאסף {{count}}/{{total}}",
|
||||
"inventoryOs": "מערכת הפעלה",
|
||||
"inventoryKernel": "גַרעִין",
|
||||
"inventoryArch": "קֶשֶׁת",
|
||||
"inventoryUptime": "זמן פעולה",
|
||||
"inventoryPackageManager": "מנהל החבילות",
|
||||
"inventoryCollectedAt": "נאסף",
|
||||
"packageActionLabel": "פְּעוּלָה",
|
||||
"packageInstall": "לְהַתְקִין",
|
||||
"packageRemove": "לְהַסִיר",
|
||||
"packageUpgradeAll": "שדרגו את כל החבילות",
|
||||
"packageNameLabel": "שם החבילה",
|
||||
"packageNameRequired": "נדרש שם חבילה",
|
||||
"packageHint": "דורש גישת ניהול לכל מחשב מארח ועולה באמצעות סיסמת ה-sudo המאוחסנת של המארח."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "ציי רכב"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "बेड़े",
|
||||
"createFleet": "बेड़ा बनाएं",
|
||||
"createFleetTitle": "बेड़ा बनाएं",
|
||||
"editFleetTitle": "बेड़े को संपादित करें",
|
||||
"createFleetDescription": "फ्लीट होस्ट का एक नामित समूह है जिसके विरुद्ध आप एक इकाई के रूप में कार्रवाई कर सकते हैं।",
|
||||
"nameLabel": "नाम",
|
||||
"namePlaceholder": "उदाहरण के लिए, वेब सर्वर",
|
||||
"nameRequired": "बेड़े का नाम आवश्यक है",
|
||||
"descriptionLabel": "विवरण",
|
||||
"descriptionPlaceholder": "वैकल्पिक विवरण",
|
||||
"colorLabel": "रंग",
|
||||
"tagRulesLabel": "टैग नियम",
|
||||
"tagRulesPlaceholder": "प्रोड-वेब, एज",
|
||||
"tagRulesHint": "मैन्युअल रूप से जोड़े गए होस्ट के अतिरिक्त, इनमें से किसी भी टैग वाले होस्ट स्वचालित रूप से शामिल हो जाते हैं।",
|
||||
"fleetCreated": "बेड़ा बनाया गया",
|
||||
"fleetUpdated": "बेड़े को अपडेट किया गया",
|
||||
"fleetDeleted": "बेड़ा हटा दिया गया",
|
||||
"saveFailed": "बेड़े को बचाने में विफल",
|
||||
"deleteFailed": "बेड़ा हटाने में विफल",
|
||||
"loadFailed": "फ्लीट लोड करने में विफल",
|
||||
"deleteFleetTitle": "बेड़ा हटाएं",
|
||||
"deleteFleetDescription": "क्या आप वाकई \"{{name}}\" को हटाना चाहते हैं? इससे सदस्य होस्ट स्वयं नहीं हटेंगे।",
|
||||
"searchFleets": "खोज बेड़े...",
|
||||
"noFleets": "अभी तक कोई बेड़ा नहीं है। शुरुआत करने के लिए एक बेड़ा बनाएं।",
|
||||
"memberCount": "{{count}} होस्ट",
|
||||
"memberCount_other": "{{count}} मेजबान",
|
||||
"manageMembers": "सदस्यों का प्रबंधन करें",
|
||||
"manageMembersTitle": "बेड़े के सदस्यों का प्रबंधन करें",
|
||||
"manageMembersDescription": "इस फ्लीट की स्थायी सदस्यता में होस्ट को शामिल या बाहर करें। टैग नियमों द्वारा मेल खाने वाले होस्ट हमेशा शामिल होते हैं।",
|
||||
"searchHosts": "होस्ट खोजें...",
|
||||
"noHostsFound": "कोई होस्ट नहीं मिला",
|
||||
"noMembers": "इस फ्लीट में अभी कोई सदस्य नहीं है। होस्ट जोड़ें या टैग नियम सेट करें।",
|
||||
"membersLoadFailed": "फ्लीट सदस्यों को लोड करने में विफल",
|
||||
"memberUpdateFailed": "फ्लीट सदस्यता को अपडेट करने में विफल",
|
||||
"tabRun": "कमांड चलाएँ",
|
||||
"tabTransfer": "फ़ाइलें स्थानांतरित करें",
|
||||
"tabInventory": "भंडार",
|
||||
"openInventoryTab": "पूरे टैब में खोलें",
|
||||
"tabPackages": "संकुल",
|
||||
"runOnFleet": "फ्लीट पर चलाएँ",
|
||||
"commandPlaceholder": "अपटाइम && df -h",
|
||||
"commandRequired": "एक आदेश आवश्यक है",
|
||||
"commandInputsLabel": "कमांड इनपुट",
|
||||
"commandSucceeded": "सभी होस्ट पर कमांड सफलतापूर्वक संचालित हुई।",
|
||||
"commandPartialFailure": "{{failed}} में से {{total}} होस्ट विफल हो गए",
|
||||
"commandFailed": "कमांड चलाने में विफल",
|
||||
"resultSuccess": "सफलता",
|
||||
"resultFailed": "असफल",
|
||||
"push": "धकेलना",
|
||||
"pull": "खींचो",
|
||||
"remotePathLabel": "दूरस्थ पथ",
|
||||
"remotePathRequired": "एक दूरस्थ मार्ग आवश्यक है",
|
||||
"fileLabel": "फ़ाइल",
|
||||
"fileRequired": "एक फ़ाइल आवश्यक है",
|
||||
"pushHint": "चयनित फ़ाइल को फ्लीट में मौजूद प्रत्येक होस्ट पर ठीक इसी पथ पर लिखा जाता है।",
|
||||
"pullHint": "इस पथ पर स्थित फ़ाइल को प्रत्येक होस्ट से पढ़ा जाता है और एक ही ज़िप फ़ाइल के रूप में डाउनलोड किया जाता है, जिसमें प्रत्येक होस्ट के लिए एक फ़ोल्डर होता है।",
|
||||
"transferComplete": "स्थानांतरण पूरा हुआ",
|
||||
"transferFailed": "स्थानांतरण विफल",
|
||||
"refreshInventory": "इन्वेंट्री रीफ़्रेश करें",
|
||||
"inventoryLoadFailed": "इन्वेंट्री लोड करने में विफल",
|
||||
"inventoryRefreshed": "इन्वेंट्री अपडेट हो गई",
|
||||
"inventoryRefreshFailed": "इन्वेंट्री को रीफ़्रेश करने में विफल",
|
||||
"inventoryNoData": "अभी तक कोई इन्वेंट्री डेटा उपलब्ध नहीं है - इसे प्राप्त करने के लिए पेज को रिफ्रेश करें।",
|
||||
"inventoryHost": "मेज़बान",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} एकत्रित",
|
||||
"inventoryOs": "ओएस",
|
||||
"inventoryKernel": "गुठली",
|
||||
"inventoryArch": "मेहराब",
|
||||
"inventoryUptime": "अपटाइम",
|
||||
"inventoryPackageManager": "पैकेज प्रबंधक",
|
||||
"inventoryCollectedAt": "एकत्र किया हुआ",
|
||||
"packageActionLabel": "कार्रवाई",
|
||||
"packageInstall": "स्थापित करना",
|
||||
"packageRemove": "निकालना",
|
||||
"packageUpgradeAll": "सभी पैकेजों को अपग्रेड करें",
|
||||
"packageNameLabel": "पैकेज का नाम",
|
||||
"packageNameRequired": "पैकेज का नाम आवश्यक है",
|
||||
"packageHint": "प्रत्येक होस्ट के लिए प्रबंधन-स्तर की पहुँच आवश्यक है और होस्ट के संग्रहीत सूडो पासवर्ड का उपयोग करके पहुँच को बढ़ाया जा सकता है।"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "बेड़े"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flották",
|
||||
"createFleet": "Flotta létrehozása",
|
||||
"createFleetTitle": "Flotta létrehozása",
|
||||
"editFleetTitle": "Flotta szerkesztése",
|
||||
"createFleetDescription": "A flotta egy elnevezett hosztcsoport, amely ellen egységként műveleteket lehet végrehajtani.",
|
||||
"nameLabel": "Név",
|
||||
"namePlaceholder": "pl. webszerverek",
|
||||
"nameRequired": "A flotta nevének megadása kötelező",
|
||||
"descriptionLabel": "Leírás",
|
||||
"descriptionPlaceholder": "Opcionális leírás",
|
||||
"colorLabel": "Szín",
|
||||
"tagRulesLabel": "Címkeszabályok",
|
||||
"tagRulesPlaceholder": "prod-web, él",
|
||||
"tagRulesHint": "Az ezen címkék bármelyikével rendelkező hosztok automatikusan bele lesznek foglalva, a manuálisan hozzáadott hosztok mellett.",
|
||||
"fleetCreated": "Flotta létrehozva",
|
||||
"fleetUpdated": "Flotta frissítve",
|
||||
"fleetDeleted": "Flotta törölve",
|
||||
"saveFailed": "Nem sikerült menteni a flottát",
|
||||
"deleteFailed": "Nem sikerült törölni a flottát",
|
||||
"loadFailed": "Nem sikerült betölteni a flottákat",
|
||||
"deleteFleetTitle": "Flotta törlése",
|
||||
"deleteFleetDescription": "Biztosan törölni szeretnéd a(z) \"{{name}}\" fájlt? Ez nem törli a taghosztokat.",
|
||||
"searchFleets": "Flották keresése...",
|
||||
"noFleets": "Még nincsenek flották. Hozz létre egyet a kezdéshez.",
|
||||
"memberCount": "{{count}} gazdagép",
|
||||
"memberCount_other": "{{count}} gazdagépek",
|
||||
"manageMembers": "Tagok kezelése",
|
||||
"manageMembersTitle": "Flottatagok kezelése",
|
||||
"manageMembersDescription": "Hosztok be- és kikapcsolása a flotta statikus tagságába. A címkeszabályoknak megfelelő hosztok mindig szerepelnek.",
|
||||
"searchHosts": "Gazdagépek keresése...",
|
||||
"noHostsFound": "Nem találhatók hostok",
|
||||
"noMembers": "Ennek a flottának még nincsenek tagjai. Adjon hozzá hosztokat, vagy állítson be címkézési szabályt.",
|
||||
"membersLoadFailed": "Nem sikerült betölteni a flotta tagjait",
|
||||
"memberUpdateFailed": "Nem sikerült frissíteni a flottatagságot",
|
||||
"tabRun": "Parancs futtatása",
|
||||
"tabTransfer": "Fájlok átvitele",
|
||||
"tabInventory": "Leltár",
|
||||
"openInventoryTab": "Megnyitás teljes lapon",
|
||||
"tabPackages": "Csomagok",
|
||||
"runOnFleet": "Fleet Run",
|
||||
"commandPlaceholder": "üzemidő && df -h",
|
||||
"commandRequired": "Parancsra van szükség",
|
||||
"commandInputsLabel": "Parancsbemenetek",
|
||||
"commandSucceeded": "A parancs minden gépen sikeresen lefutott",
|
||||
"commandPartialFailure": "{{failed}} / {{total}} gazdagépből {{total}} hibát jelzett",
|
||||
"commandFailed": "Nem sikerült futtatni a parancsot",
|
||||
"resultSuccess": "Siker",
|
||||
"resultFailed": "Sikertelen",
|
||||
"push": "Nyomás",
|
||||
"pull": "Húzni",
|
||||
"remotePathLabel": "Távoli útvonal",
|
||||
"remotePathRequired": "Távoli elérési út szükséges",
|
||||
"fileLabel": "Fájl",
|
||||
"fileRequired": "Fájl megadása szükséges",
|
||||
"pushHint": "A kiválasztott fájl pontosan erre az elérési útra kerül a flotta minden egyes gépén.",
|
||||
"pullHint": "Az ezen az elérési úton található fájlt minden hosztról beolvassa a rendszer, és egyetlen zip fájlként tölti le, hosztonként egy mappában.",
|
||||
"transferComplete": "Átvitel befejezve",
|
||||
"transferFailed": "Átvitel sikertelen",
|
||||
"refreshInventory": "Készlet frissítése",
|
||||
"inventoryLoadFailed": "Nem sikerült betölteni a készletet",
|
||||
"inventoryRefreshed": "Készlet frissítve",
|
||||
"inventoryRefreshFailed": "Nem sikerült frissíteni a készletet",
|
||||
"inventoryNoData": "Még nincsenek készletadatok – frissítse az oldalt az összegyűjtéséhez.",
|
||||
"inventoryHost": "Házigazda",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} begyűjtött",
|
||||
"inventoryOs": "Operációs rendszer",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Boltív",
|
||||
"inventoryUptime": "Üzemidő",
|
||||
"inventoryPackageManager": "Csomagkezelő",
|
||||
"inventoryCollectedAt": "Összegyűjtött",
|
||||
"packageActionLabel": "Akció",
|
||||
"packageInstall": "Telepítés",
|
||||
"packageRemove": "Eltávolítás",
|
||||
"packageUpgradeAll": "Az összes csomag frissítése",
|
||||
"packageNameLabel": "Csomag neve",
|
||||
"packageNameRequired": "Csomagnév megadása kötelező",
|
||||
"packageHint": "Gazdagépenként felügyeleti szintű hozzáférést igényel, és a gazdagép tárolt sudo jelszavával emeli ki a jogosultságokat."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flották"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Armada",
|
||||
"createFleet": "Buat Armada",
|
||||
"createFleetTitle": "Buat Armada",
|
||||
"editFleetTitle": "Edit Armada",
|
||||
"createFleetDescription": "Armada adalah kelompok host bernama yang dapat Anda serang sebagai satu unit.",
|
||||
"nameLabel": "Nama",
|
||||
"namePlaceholder": "misalnya, Server Web",
|
||||
"nameRequired": "Nama armada wajib diisi.",
|
||||
"descriptionLabel": "Keterangan",
|
||||
"descriptionPlaceholder": "Deskripsi opsional",
|
||||
"colorLabel": "Warna",
|
||||
"tagRulesLabel": "Aturan tag",
|
||||
"tagRulesPlaceholder": "prod-web, tepi",
|
||||
"tagRulesHint": "Host yang memiliki salah satu tag ini akan disertakan secara otomatis, di samping host yang ditambahkan secara manual.",
|
||||
"fleetCreated": "Armada yang dibuat",
|
||||
"fleetUpdated": "Armada diperbarui",
|
||||
"fleetDeleted": "Armada dihapus",
|
||||
"saveFailed": "Gagal menyelamatkan armada.",
|
||||
"deleteFailed": "Gagal menghapus armada",
|
||||
"loadFailed": "Gagal memuat armada",
|
||||
"deleteFleetTitle": "Hapus Armada",
|
||||
"deleteFleetDescription": "Apakah Anda yakin ingin menghapus \"{{name}}\"? Ini tidak menghapus host anggota itu sendiri.",
|
||||
"searchFleets": "Armada pencarian...",
|
||||
"noFleets": "Belum ada armada. Buat satu untuk memulai.",
|
||||
"memberCount": "{{count}} tuan rumah",
|
||||
"memberCount_other": "{{count}} tuan rumah",
|
||||
"manageMembers": "Kelola Anggota",
|
||||
"manageMembersTitle": "Mengelola Anggota Armada",
|
||||
"manageMembersDescription": "Aktifkan atau nonaktifkan keanggotaan statis host dalam armada ini. Host yang cocok dengan aturan tag akan selalu disertakan.",
|
||||
"searchHosts": "Cari host...",
|
||||
"noHostsFound": "Tidak ada host yang ditemukan.",
|
||||
"noMembers": "Armada ini belum memiliki anggota. Tambahkan host atau tetapkan aturan tag.",
|
||||
"membersLoadFailed": "Gagal memuat anggota armada",
|
||||
"memberUpdateFailed": "Gagal memperbarui keanggotaan armada.",
|
||||
"tabRun": "Jalankan Perintah",
|
||||
"tabTransfer": "Transfer File",
|
||||
"tabInventory": "Inventaris",
|
||||
"openInventoryTab": "Buka di tab penuh",
|
||||
"tabPackages": "Paket",
|
||||
"runOnFleet": "Lari di Armada",
|
||||
"commandPlaceholder": "waktu aktif && df -h",
|
||||
"commandRequired": "Diperlukan sebuah perintah.",
|
||||
"commandInputsLabel": "Masukan perintah",
|
||||
"commandSucceeded": "Perintah berhasil dijalankan di semua host.",
|
||||
"commandPartialFailure": "{{failed}} dari {{total}} host gagal",
|
||||
"commandFailed": "Perintah gagal dijalankan.",
|
||||
"resultSuccess": "Kesuksesan",
|
||||
"resultFailed": "Gagal",
|
||||
"push": "Dorongan",
|
||||
"pull": "Menarik",
|
||||
"remotePathLabel": "Jalur jarak jauh",
|
||||
"remotePathRequired": "Diperlukan jalur jarak jauh.",
|
||||
"fileLabel": "Mengajukan",
|
||||
"fileRequired": "Diperlukan sebuah berkas.",
|
||||
"pushHint": "File yang dipilih akan ditulis ke jalur persis ini di setiap host dalam armada.",
|
||||
"pullHint": "Berkas di jalur ini dibaca dari setiap host dan diunduh sebagai satu file zip, satu folder per host.",
|
||||
"transferComplete": "Transfer selesai",
|
||||
"transferFailed": "Transfer gagal",
|
||||
"refreshInventory": "Perbarui Inventaris",
|
||||
"inventoryLoadFailed": "Gagal memuat inventaris",
|
||||
"inventoryRefreshed": "Persediaan diperbarui",
|
||||
"inventoryRefreshFailed": "Gagal memperbarui inventaris",
|
||||
"inventoryNoData": "Belum ada data inventaris - segarkan halaman untuk mengumpulkannya.",
|
||||
"inventoryHost": "Tuan rumah",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} dikumpulkan",
|
||||
"inventoryOs": "Sistem Operasi",
|
||||
"inventoryKernel": "Inti",
|
||||
"inventoryArch": "Lengkungan",
|
||||
"inventoryUptime": "Waktu aktif",
|
||||
"inventoryPackageManager": "Pengelola paket",
|
||||
"inventoryCollectedAt": "Dikumpulkan",
|
||||
"packageActionLabel": "Tindakan",
|
||||
"packageInstall": "Memasang",
|
||||
"packageRemove": "Menghapus",
|
||||
"packageUpgradeAll": "Tingkatkan semua paket",
|
||||
"packageNameLabel": "Nama paket",
|
||||
"packageNameRequired": "Nama paket wajib diisi.",
|
||||
"packageHint": "Membutuhkan akses tingkat pengelola per host dan ditingkatkan menggunakan kata sandi sudo yang tersimpan di host tersebut."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Armada"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flotte",
|
||||
"createFleet": "Crea flotta",
|
||||
"createFleetTitle": "Crea flotta",
|
||||
"editFleetTitle": "Modifica flotta",
|
||||
"createFleetDescription": "Una flotta è un gruppo denominato di host su cui è possibile eseguire azioni come un'unica unità.",
|
||||
"nameLabel": "Nome",
|
||||
"namePlaceholder": "ad esempio, server web",
|
||||
"nameRequired": "Il nome della flotta è obbligatorio",
|
||||
"descriptionLabel": "Descrizione",
|
||||
"descriptionPlaceholder": "Descrizione facoltativa",
|
||||
"colorLabel": "Colore",
|
||||
"tagRulesLabel": "Regole dei tag",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Oltre agli host aggiunti manualmente, vengono inclusi automaticamente anche quelli che presentano uno qualsiasi di questi tag.",
|
||||
"fleetCreated": "Flotta creata",
|
||||
"fleetUpdated": "Flotta aggiornata",
|
||||
"fleetDeleted": "Flotta eliminata",
|
||||
"saveFailed": "Impossibile salvare la flotta",
|
||||
"deleteFailed": "Impossibile eliminare la flotta",
|
||||
"loadFailed": "Impossibile caricare le flotte",
|
||||
"deleteFleetTitle": "Elimina flotta",
|
||||
"deleteFleetDescription": "Sei sicuro di voler eliminare \"{{name}}\"? Questa operazione non elimina gli host membri stessi.",
|
||||
"searchFleets": "Cerca flotte...",
|
||||
"noFleets": "Nessuna flotta ancora. Creane una per iniziare.",
|
||||
"memberCount": "{{count}} host",
|
||||
"memberCount_other": "{{count}} host",
|
||||
"manageMembers": "Gestisci i membri",
|
||||
"manageMembersTitle": "Gestisci i membri della flotta",
|
||||
"manageMembersDescription": "Attiva o disattiva l'inclusione degli host nell'elenco statico di questa flotta. Gli host corrispondenti alle regole dei tag sono sempre inclusi.",
|
||||
"searchHosts": "Cerca host...",
|
||||
"noHostsFound": "Nessun host trovato",
|
||||
"noMembers": "Questa flotta non ha ancora membri. Aggiungi host o imposta una regola di tag.",
|
||||
"membersLoadFailed": "Impossibile caricare i membri della flotta",
|
||||
"memberUpdateFailed": "Impossibile aggiornare l'appartenenza alla flotta",
|
||||
"tabRun": "Comando di esecuzione",
|
||||
"tabTransfer": "Trasferimento file",
|
||||
"tabInventory": "Inventario",
|
||||
"openInventoryTab": "Apri in una scheda completa",
|
||||
"tabPackages": "Pacchetti",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "È richiesto un comando",
|
||||
"commandInputsLabel": "Input di comando",
|
||||
"commandSucceeded": "Comando eseguito correttamente su tutti gli host",
|
||||
"commandPartialFailure": "{{failed}} di {{total}} host non sono riusciti",
|
||||
"commandFailed": "Impossibile eseguire il comando",
|
||||
"resultSuccess": "Successo",
|
||||
"resultFailed": "Fallito",
|
||||
"push": "Spingere",
|
||||
"pull": "Tiro",
|
||||
"remotePathLabel": "Percorso remoto",
|
||||
"remotePathRequired": "È necessario un percorso remoto",
|
||||
"fileLabel": "File",
|
||||
"fileRequired": "È necessario un file",
|
||||
"pushHint": "Il file selezionato viene scritto esattamente in questo percorso su ogni host della flotta.",
|
||||
"pullHint": "Il file presente in questo percorso viene letto da ogni host e scaricato come un singolo file zip, una cartella per ogni host.",
|
||||
"transferComplete": "Trasferimento completato",
|
||||
"transferFailed": "Trasferimento non riuscito",
|
||||
"refreshInventory": "Aggiorna l'inventario",
|
||||
"inventoryLoadFailed": "Impossibile caricare l'inventario",
|
||||
"inventoryRefreshed": "Inventario aggiornato",
|
||||
"inventoryRefreshFailed": "Impossibile aggiornare l'inventario",
|
||||
"inventoryNoData": "Nessun dato di inventario disponibile al momento: aggiorna la pagina per visualizzarlo.",
|
||||
"inventoryHost": "Ospite",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} raccolto",
|
||||
"inventoryOs": "Sistema operativo",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Arco",
|
||||
"inventoryUptime": "Tempo di attività",
|
||||
"inventoryPackageManager": "Responsabile del pacchetto",
|
||||
"inventoryCollectedAt": "Raccolto",
|
||||
"packageActionLabel": "Azione",
|
||||
"packageInstall": "Installare",
|
||||
"packageRemove": "Rimuovere",
|
||||
"packageUpgradeAll": "Aggiorna tutti i pacchetti",
|
||||
"packageNameLabel": "Nome del pacchetto",
|
||||
"packageNameRequired": "È richiesto un nome per il pacchetto",
|
||||
"packageHint": "Richiede l'accesso a livello di gestione per host ed eleva i privilegi utilizzando la password sudo memorizzata sull'host."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flotte"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "艦隊",
|
||||
"createFleet": "艦隊を作成する",
|
||||
"createFleetTitle": "艦隊を作成する",
|
||||
"editFleetTitle": "艦隊を編集",
|
||||
"createFleetDescription": "フリートとは、複数のホストをまとめてグループ化し、それらを一つの単位としてアクションを実行できるグループです。",
|
||||
"nameLabel": "名前",
|
||||
"namePlaceholder": "例:Webサーバー",
|
||||
"nameRequired": "艦隊名は必須です",
|
||||
"descriptionLabel": "説明",
|
||||
"descriptionPlaceholder": "オプションの説明",
|
||||
"colorLabel": "色",
|
||||
"tagRulesLabel": "タグルール",
|
||||
"tagRulesPlaceholder": "プロダクションウェブ、エッジ",
|
||||
"tagRulesHint": "これらのタグのいずれかが付いているホストは、手動で追加されたホストに加えて、自動的に含まれます。",
|
||||
"fleetCreated": "艦隊が創設されました",
|
||||
"fleetUpdated": "艦隊情報更新",
|
||||
"fleetDeleted": "艦隊削除",
|
||||
"saveFailed": "艦隊の救出に失敗しました",
|
||||
"deleteFailed": "艦隊の削除に失敗しました",
|
||||
"loadFailed": "艦隊の読み込みに失敗しました",
|
||||
"deleteFleetTitle": "艦隊を削除",
|
||||
"deleteFleetDescription": "「{{name}}」を削除してもよろしいですか?これはメンバーホスト自体を削除するものではありません。",
|
||||
"searchFleets": "艦隊を検索...",
|
||||
"noFleets": "まだ艦隊がありません。まずは艦隊を作成してください。",
|
||||
"memberCount": "{{count}} ホスト",
|
||||
"memberCount_other": "{{count}} ホスト",
|
||||
"manageMembers": "メンバーの管理",
|
||||
"manageMembersTitle": "フリートメンバーの管理",
|
||||
"manageMembersDescription": "このフリートの静的メンバーシップにホストを追加または削除する切り替えを行います。タグルールに一致するホストは常に含まれます。",
|
||||
"searchHosts": "ホストを検索...",
|
||||
"noHostsFound": "ホストが見つかりませんでした",
|
||||
"noMembers": "この艦隊にはまだメンバーがいません。ホストを追加するか、タグルールを設定してください。",
|
||||
"membersLoadFailed": "艦隊メンバーの読み込みに失敗しました",
|
||||
"memberUpdateFailed": "艦隊メンバーシップの更新に失敗しました",
|
||||
"tabRun": "コマンドを実行する",
|
||||
"tabTransfer": "ファイルの転送",
|
||||
"tabInventory": "在庫",
|
||||
"openInventoryTab": "全画面表示",
|
||||
"tabPackages": "パッケージ",
|
||||
"runOnFleet": "ラン・オン・フリート",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "コマンドが必要です",
|
||||
"commandInputsLabel": "コマンド入力",
|
||||
"commandSucceeded": "コマンドはすべてのホストで正常に実行されました。",
|
||||
"commandPartialFailure": "{{failed}} の {{total}} ホストが失敗しました",
|
||||
"commandFailed": "コマンドの実行に失敗しました",
|
||||
"resultSuccess": "成功",
|
||||
"resultFailed": "失敗した",
|
||||
"push": "押す",
|
||||
"pull": "引く",
|
||||
"remotePathLabel": "リモートパス",
|
||||
"remotePathRequired": "遠隔経路が必要です",
|
||||
"fileLabel": "ファイル",
|
||||
"fileRequired": "ファイルが必要です",
|
||||
"pushHint": "選択されたファイルは、艦隊内のすべてのホスト上のこの正確なパスに書き込まれます。",
|
||||
"pullHint": "このパスにあるファイルは、すべてのホストから読み込まれ、ホストごとに1つのフォルダ、つまり単一のzipファイルとしてダウンロードされます。",
|
||||
"transferComplete": "転送完了",
|
||||
"transferFailed": "転送に失敗しました",
|
||||
"refreshInventory": "在庫を更新",
|
||||
"inventoryLoadFailed": "在庫の読み込みに失敗しました",
|
||||
"inventoryRefreshed": "在庫が更新されました",
|
||||
"inventoryRefreshFailed": "在庫の更新に失敗しました",
|
||||
"inventoryNoData": "在庫データがまだありません。更新して取得してください。",
|
||||
"inventoryHost": "ホスト",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} が収集されました",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "カーネル",
|
||||
"inventoryArch": "アーチ",
|
||||
"inventoryUptime": "稼働時間",
|
||||
"inventoryPackageManager": "パッケージマネージャー",
|
||||
"inventoryCollectedAt": "収集済み",
|
||||
"packageActionLabel": "アクション",
|
||||
"packageInstall": "インストール",
|
||||
"packageRemove": "取り除く",
|
||||
"packageUpgradeAll": "すべてのパッケージをアップグレードする",
|
||||
"packageNameLabel": "パッケージ名",
|
||||
"packageNameRequired": "パッケージ名は必須です。",
|
||||
"packageHint": "ホストごとに管理者レベルのアクセス権限が必要で、ホストに保存されているsudoパスワードを使用して権限を昇格します。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "艦隊"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "함대",
|
||||
"createFleet": "함대 생성",
|
||||
"createFleetTitle": "함대 생성",
|
||||
"editFleetTitle": "함대 편집",
|
||||
"createFleetDescription": "함대는 여러 호스트를 하나의 그룹으로 묶어 작업을 수행할 수 있도록 명명된 그룹입니다.",
|
||||
"nameLabel": "이름",
|
||||
"namePlaceholder": "예: 웹 서버",
|
||||
"nameRequired": "함대 이름은 필수 입력 사항입니다.",
|
||||
"descriptionLabel": "설명",
|
||||
"descriptionPlaceholder": "선택적 설명",
|
||||
"colorLabel": "색상",
|
||||
"tagRulesLabel": "태그 규칙",
|
||||
"tagRulesPlaceholder": "프로드웹, 엣지",
|
||||
"tagRulesHint": "이러한 태그 중 하나라도 있는 호스트는 수동으로 추가된 호스트 외에도 자동으로 포함됩니다.",
|
||||
"fleetCreated": "함대 생성됨",
|
||||
"fleetUpdated": "함대 업데이트됨",
|
||||
"fleetDeleted": "함대 삭제됨",
|
||||
"saveFailed": "함대를 구하는 데 실패했습니다",
|
||||
"deleteFailed": "함대 삭제에 실패했습니다",
|
||||
"loadFailed": "함대를 로드하는 데 실패했습니다.",
|
||||
"deleteFleetTitle": "함대 삭제",
|
||||
"deleteFleetDescription": "\"{{name}}\"을 삭제하시겠습니까? 삭제해도 멤버 호스트 자체는 삭제되지 않습니다.",
|
||||
"searchFleets": "함대를 검색하세요...",
|
||||
"noFleets": "아직 함대가 없습니다. 시작하려면 함대를 생성하세요.",
|
||||
"memberCount": "{{count}} 호스트",
|
||||
"memberCount_other": "{{count}} 호스트",
|
||||
"manageMembers": "회원 관리",
|
||||
"manageMembersTitle": "함대 구성원 관리",
|
||||
"manageMembersDescription": "호스트를 이 함대의 고정 멤버십에 추가하거나 제외할 수 있습니다. 태그 규칙에 따라 일치하는 호스트는 항상 포함됩니다.",
|
||||
"searchHosts": "호스트를 검색하세요...",
|
||||
"noHostsFound": "호스트를 찾을 수 없습니다.",
|
||||
"noMembers": "이 함대에는 아직 멤버가 없습니다. 호스트를 추가하거나 태그 규칙을 설정하세요.",
|
||||
"membersLoadFailed": "함대 구성원을 불러오는 데 실패했습니다.",
|
||||
"memberUpdateFailed": "함대 구성원 정보 업데이트에 실패했습니다.",
|
||||
"tabRun": "명령 실행",
|
||||
"tabTransfer": "파일 전송",
|
||||
"tabInventory": "목록",
|
||||
"openInventoryTab": "전체 화면에서 열기",
|
||||
"tabPackages": "패키지",
|
||||
"runOnFleet": "Fleet에서 실행",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "명령어가 필요합니다",
|
||||
"commandInputsLabel": "명령 입력",
|
||||
"commandSucceeded": "모든 호스트에서 명령이 성공했습니다.",
|
||||
"commandPartialFailure": "{{failed}} 의 {{total}} 호스트가 실패했습니다.",
|
||||
"commandFailed": "명령 실행에 실패했습니다.",
|
||||
"resultSuccess": "성공",
|
||||
"resultFailed": "실패한",
|
||||
"push": "푸시",
|
||||
"pull": "당기다",
|
||||
"remotePathLabel": "원격 경로",
|
||||
"remotePathRequired": "원격 경로가 필요합니다",
|
||||
"fileLabel": "파일",
|
||||
"fileRequired": "파일이 필요합니다",
|
||||
"pushHint": "선택한 파일은 전체 호스트의 정확히 이 경로에 기록됩니다.",
|
||||
"pullHint": "이 경로에 있는 파일은 모든 호스트에서 읽어와 호스트당 하나의 폴더로 구성된 단일 zip 파일로 다운로드됩니다.",
|
||||
"transferComplete": "이체 완료",
|
||||
"transferFailed": "전송 실패",
|
||||
"refreshInventory": "재고 새로 고침",
|
||||
"inventoryLoadFailed": "재고 불러오기에 실패했습니다",
|
||||
"inventoryRefreshed": "재고가 갱신되었습니다",
|
||||
"inventoryRefreshFailed": "재고 새로 고침에 실패했습니다.",
|
||||
"inventoryNoData": "아직 재고 데이터가 없습니다. 새로 고침하여 데이터를 수집하세요.",
|
||||
"inventoryHost": "주인",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} 수집됨",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "핵심",
|
||||
"inventoryArch": "아치",
|
||||
"inventoryUptime": "가동 시간",
|
||||
"inventoryPackageManager": "패키지 관리자",
|
||||
"inventoryCollectedAt": "모은",
|
||||
"packageActionLabel": "행동",
|
||||
"packageInstall": "설치하다",
|
||||
"packageRemove": "제거하다",
|
||||
"packageUpgradeAll": "모든 패키지 업그레이드",
|
||||
"packageNameLabel": "패키지 이름",
|
||||
"packageNameRequired": "패키지 이름은 필수 입력 사항입니다.",
|
||||
"packageHint": "호스트별 관리자 권한 접근이 필요하며, 호스트에 저장된 sudo 암호를 사용하여 권한을 상승시킵니다."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "함대"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Vloten",
|
||||
"createFleet": "Vloot creëren",
|
||||
"createFleetTitle": "Vloot creëren",
|
||||
"editFleetTitle": "Vloot bewerken",
|
||||
"createFleetDescription": "Een vloot is een benoemde groep hosts waartegen je als eenheid acties kunt uitvoeren.",
|
||||
"nameLabel": "Naam",
|
||||
"namePlaceholder": "bijvoorbeeld webservers",
|
||||
"nameRequired": "Vlootnaam is verplicht",
|
||||
"descriptionLabel": "Beschrijving",
|
||||
"descriptionPlaceholder": "Optionele beschrijving",
|
||||
"colorLabel": "Kleur",
|
||||
"tagRulesLabel": "Tagregels",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosts met een van deze tags worden automatisch opgenomen, naast hosts die handmatig zijn toegevoegd.",
|
||||
"fleetCreated": "Vloot gecreëerd",
|
||||
"fleetUpdated": "Vloot bijgewerkt",
|
||||
"fleetDeleted": "Vloot verwijderd",
|
||||
"saveFailed": "Vloot kon niet worden gered",
|
||||
"deleteFailed": "Het verwijderen van de vloot is mislukt.",
|
||||
"loadFailed": "Het laden van de vloot is mislukt.",
|
||||
"deleteFleetTitle": "Vloot verwijderen",
|
||||
"deleteFleetDescription": "Weet je zeker dat je \"{{name}}\" wilt verwijderen? Hiermee worden de lidhosts zelf niet verwijderd.",
|
||||
"searchFleets": "Zoekvloten...",
|
||||
"noFleets": "Nog geen vloten. Maak er een aan om te beginnen.",
|
||||
"memberCount": "{{count}} host",
|
||||
"memberCount_other": "{{count}} hosts",
|
||||
"manageMembers": "Leden beheren",
|
||||
"manageMembersTitle": "Vlootleden beheren",
|
||||
"manageMembersDescription": "Voeg hosts toe aan of verwijder ze uit het statische lidmaatschap van deze vloot. Hosts die overeenkomen met tagregels zijn altijd inbegrepen.",
|
||||
"searchHosts": "Zoek hosts...",
|
||||
"noHostsFound": "Geen hosts gevonden",
|
||||
"noMembers": "Deze vloot heeft nog geen leden. Voeg hosts toe of stel een tagregel in.",
|
||||
"membersLoadFailed": "Het laden van de vlootleden is mislukt.",
|
||||
"memberUpdateFailed": "Het bijwerken van het vlootlidmaatschap is mislukt.",
|
||||
"tabRun": "Voer het commando uit",
|
||||
"tabTransfer": "Bestanden overdragen",
|
||||
"tabInventory": "Inventaris",
|
||||
"openInventoryTab": "Openen in een volledig tabblad",
|
||||
"tabPackages": "Pakketten",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "Een opdracht is vereist.",
|
||||
"commandInputsLabel": "Commando-invoer",
|
||||
"commandSucceeded": "De opdracht is op alle hosts succesvol uitgevoerd.",
|
||||
"commandPartialFailure": "{{failed}} van {{total}} hosts mislukt",
|
||||
"commandFailed": "Het uitvoeren van de opdracht is mislukt.",
|
||||
"resultSuccess": "Succes",
|
||||
"resultFailed": "Mislukt",
|
||||
"push": "Duw",
|
||||
"pull": "Trekken",
|
||||
"remotePathLabel": "Externe route",
|
||||
"remotePathRequired": "Een externe verbinding is vereist.",
|
||||
"fileLabel": "Bestand",
|
||||
"fileRequired": "Een bestand is vereist.",
|
||||
"pushHint": "Het geselecteerde bestand wordt op elke host in de vloot naar precies dit pad geschreven.",
|
||||
"pullHint": "Het bestand op dit pad wordt van elke host gelezen en gedownload als één zip-bestand, één map per host.",
|
||||
"transferComplete": "Overdracht voltooid",
|
||||
"transferFailed": "Overdracht mislukt",
|
||||
"refreshInventory": "Voorraad vernieuwen",
|
||||
"inventoryLoadFailed": "Het laden van de inventaris is mislukt.",
|
||||
"inventoryRefreshed": "Voorraad bijgewerkt",
|
||||
"inventoryRefreshFailed": "Het vernieuwen van de inventaris is mislukt.",
|
||||
"inventoryNoData": "Er zijn nog geen voorraadgegevens beschikbaar - vernieuw de pagina om ze te verzamelen.",
|
||||
"inventoryHost": "Gastheer",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} verzameld",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Boog",
|
||||
"inventoryUptime": "Beschikbaarheid",
|
||||
"inventoryPackageManager": "Pakketbeheerder",
|
||||
"inventoryCollectedAt": "Verzameld",
|
||||
"packageActionLabel": "Actie",
|
||||
"packageInstall": "Installeren",
|
||||
"packageRemove": "Verwijderen",
|
||||
"packageUpgradeAll": "Upgrade alle pakketten",
|
||||
"packageNameLabel": "Pakketnaam",
|
||||
"packageNameRequired": "Een pakketnaam is vereist.",
|
||||
"packageHint": "Vereist beheerrechten per host en verhoogt deze rechten met behulp van het opgeslagen sudo-wachtwoord van de host."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Vloten"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flåter",
|
||||
"createFleet": "Opprett flåte",
|
||||
"createFleetTitle": "Opprett flåte",
|
||||
"editFleetTitle": "Rediger flåte",
|
||||
"createFleetDescription": "En flåte er en navngitt gruppe verter du kan kjøre handlinger mot som en enhet.",
|
||||
"nameLabel": "Navn",
|
||||
"namePlaceholder": "f.eks. webservere",
|
||||
"nameRequired": "Flåtenavn er obligatorisk",
|
||||
"descriptionLabel": "Beskrivelse",
|
||||
"descriptionPlaceholder": "Valgfri beskrivelse",
|
||||
"colorLabel": "Farge",
|
||||
"tagRulesLabel": "Taggregler",
|
||||
"tagRulesPlaceholder": "prod-web, kant",
|
||||
"tagRulesHint": "Verter med noen av disse taggene inkluderes automatisk, i tillegg til verter som legges til manuelt.",
|
||||
"fleetCreated": "Flåte opprettet",
|
||||
"fleetUpdated": "Flåten er oppdatert",
|
||||
"fleetDeleted": "Flåten er slettet",
|
||||
"saveFailed": "Kunne ikke lagre flåten",
|
||||
"deleteFailed": "Kunne ikke slette flåten",
|
||||
"loadFailed": "Kunne ikke laste inn flåter",
|
||||
"deleteFleetTitle": "Slett flåte",
|
||||
"deleteFleetDescription": "Er du sikker på at du vil slette «{{name}}»? Dette sletter ikke selve medlemsvertene.",
|
||||
"searchFleets": "Søk etter flåter...",
|
||||
"noFleets": "Ingen flåter ennå. Opprett en for å komme i gang.",
|
||||
"memberCount": "{{count}} vert",
|
||||
"memberCount_other": "{{count}} verter",
|
||||
"manageMembers": "Administrer medlemmer",
|
||||
"manageMembersTitle": "Administrer flåtemedlemmer",
|
||||
"manageMembersDescription": "Veksle verter inn eller ut av denne flåtens statiske medlemskap. Verter som samsvarer med tagregler er alltid inkludert.",
|
||||
"searchHosts": "Søk etter verter...",
|
||||
"noHostsFound": "Ingen verter funnet",
|
||||
"noMembers": "Denne flåten har ingen medlemmer ennå. Legg til verter eller angi en tagregel.",
|
||||
"membersLoadFailed": "Kunne ikke laste inn flåtemedlemmer",
|
||||
"memberUpdateFailed": "Kunne ikke oppdatere flåtemedlemskapet",
|
||||
"tabRun": "Kjør kommando",
|
||||
"tabTransfer": "Overfør filer",
|
||||
"tabInventory": "Inventar",
|
||||
"openInventoryTab": "Åpne i full fane",
|
||||
"tabPackages": "Pakker",
|
||||
"runOnFleet": "Kjør på flåten",
|
||||
"commandPlaceholder": "oppetid og df -h",
|
||||
"commandRequired": "En kommando er nødvendig",
|
||||
"commandInputsLabel": "Kommandoinnganger",
|
||||
"commandSucceeded": "Kommandoen lyktes på alle verter",
|
||||
"commandPartialFailure": "{{failed}} av {{total}} verter mislyktes",
|
||||
"commandFailed": "Kunne ikke kjøre kommandoen",
|
||||
"resultSuccess": "Suksess",
|
||||
"resultFailed": "Mislyktes",
|
||||
"push": "Trykk",
|
||||
"pull": "Dra",
|
||||
"remotePathLabel": "Fjernbane",
|
||||
"remotePathRequired": "En ekstern sti er nødvendig",
|
||||
"fileLabel": "Fil",
|
||||
"fileRequired": "En fil er nødvendig",
|
||||
"pushHint": "Den valgte filen skrives til denne nøyaktige banen på alle verter i flåten.",
|
||||
"pullHint": "Filen på denne banen leses fra hver vert og lastes ned som en enkelt zip-fil, én mappe per vert.",
|
||||
"transferComplete": "Overføringen er fullført",
|
||||
"transferFailed": "Overføringen mislyktes",
|
||||
"refreshInventory": "Oppdater beholdningen",
|
||||
"inventoryLoadFailed": "Kunne ikke laste inn beholdningen",
|
||||
"inventoryRefreshed": "Lagerbeholdningen er oppdatert",
|
||||
"inventoryRefreshFailed": "Kunne ikke oppdatere beholdningen",
|
||||
"inventoryNoData": "Ingen lagerdata ennå – oppdater for å samle dem inn.",
|
||||
"inventoryHost": "Vert",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} samlet",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "Kjerne",
|
||||
"inventoryArch": "Buen",
|
||||
"inventoryUptime": "Oppetid",
|
||||
"inventoryPackageManager": "Pakkebehandler",
|
||||
"inventoryCollectedAt": "Samlet",
|
||||
"packageActionLabel": "Handling",
|
||||
"packageInstall": "Installer",
|
||||
"packageRemove": "Fjerne",
|
||||
"packageUpgradeAll": "Oppgrader alle pakker",
|
||||
"packageNameLabel": "Pakkenavn",
|
||||
"packageNameRequired": "Et pakkenavn er obligatorisk",
|
||||
"packageHint": "Krever tilgang på administratornivå per vert og heves ved hjelp av vertens lagrede sudo-passord."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flåter"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Floty",
|
||||
"createFleet": "Utwórz flotę",
|
||||
"createFleetTitle": "Utwórz flotę",
|
||||
"editFleetTitle": "Edytuj flotę",
|
||||
"createFleetDescription": "Flota to nazwana grupa hostów, na której możesz wykonywać akcje jak na jednym obiekcie.",
|
||||
"nameLabel": "Nazwa",
|
||||
"namePlaceholder": "np. Serwery WWW",
|
||||
"nameRequired": "Nazwa floty jest wymagana",
|
||||
"descriptionLabel": "Opis",
|
||||
"descriptionPlaceholder": "Opis opcjonalny",
|
||||
"colorLabel": "Kolor",
|
||||
"tagRulesLabel": "Reguły tagów",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosty z dowolnym z tych tagów są dołączane automatycznie, obok hostów dodanych ręcznie.",
|
||||
"fleetCreated": "Utworzono flotę",
|
||||
"fleetUpdated": "Zaktualizowano flotę",
|
||||
"fleetDeleted": "Usunięto flotę",
|
||||
"saveFailed": "Nie udało się zapisać floty",
|
||||
"deleteFailed": "Nie udało się usunąć floty",
|
||||
"loadFailed": "Nie udało się załadować flot",
|
||||
"deleteFleetTitle": "Usuń flotę",
|
||||
"deleteFleetDescription": "Czy na pewno chcesz usunąć „{{name}}”? Nie spowoduje to usunięcia samych hostów należących do floty.",
|
||||
"searchFleets": "Przeszukaj floty...",
|
||||
"noFleets": "Brak flot. Utwórz pierwszą, aby zacząć.",
|
||||
"memberCount": "{{count}} host",
|
||||
"memberCount_other": "{{count}} hostów",
|
||||
"manageMembers": "Zarządzaj członkami",
|
||||
"manageMembersTitle": "Zarządzaj członkami floty",
|
||||
"manageMembersDescription": "Przełączaj hosty do lub z członkostwa statycznego tej floty. Hosty dopasowane według reguł tagów są zawsze uwzględniane.",
|
||||
"searchHosts": "Wyszukaj hosty...",
|
||||
"noHostsFound": "Nie znaleziono żadnych hostów",
|
||||
"noMembers": "Ta flota nie ma jeszcze członków. Dodaj hosty lub ustaw regułę tagów.",
|
||||
"membersLoadFailed": "Nie udało się załadować członków floty",
|
||||
"memberUpdateFailed": "Nie udało się zaktualizować członkostwa we flocie",
|
||||
"tabRun": "Uruchom polecenie",
|
||||
"tabTransfer": "Przesyłanie plików",
|
||||
"tabInventory": "Inwentarz",
|
||||
"openInventoryTab": "Otwórz w pełnej karcie",
|
||||
"tabPackages": "Pakiety",
|
||||
"runOnFleet": "Uruchom na flocie",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "Wymagane jest polecenie",
|
||||
"commandInputsLabel": "Dane wejściowe polecenia",
|
||||
"commandSucceeded": "Polecenie powiodło się na wszystkich hostach",
|
||||
"commandPartialFailure": "Na {{failed}} z {{total}} hostów wystąpił błąd",
|
||||
"commandFailed": "Nie udało się uruchomić polecenia",
|
||||
"resultSuccess": "Powodzenie",
|
||||
"resultFailed": "Niepowodzenie",
|
||||
"push": "Wyślij",
|
||||
"pull": "Pobierz",
|
||||
"remotePathLabel": "Ścieżka zdalna",
|
||||
"remotePathRequired": "Wymagana jest ścieżka zdalna",
|
||||
"fileLabel": "Plik",
|
||||
"fileRequired": "Wymagany jest plik",
|
||||
"pushHint": "Wybrany plik zostanie zapisany dokładnie pod tą ścieżką na każdym hoście we flocie.",
|
||||
"pullHint": "Plik znajdujący się pod tą ścieżką jest odczytywany z każdego hosta i pobierany jako pojedynczy plik zip, jeden folder na hosta.",
|
||||
"transferComplete": "Transfer zakończony",
|
||||
"transferFailed": "Transfer nie powiódł się",
|
||||
"refreshInventory": "Odśwież inwentarz",
|
||||
"inventoryLoadFailed": "Nie udało się załadować inwentarza",
|
||||
"inventoryRefreshed": "Odświeżono inwentarz",
|
||||
"inventoryRefreshFailed": "Nie udało się odświeżyć inwentarza",
|
||||
"inventoryNoData": "Brak danych inwentarza. Odśwież, aby je zebrać.",
|
||||
"inventoryHost": "Host",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} zebrano",
|
||||
"inventoryOs": "System operacyjny",
|
||||
"inventoryKernel": "Jądro",
|
||||
"inventoryArch": "Architektura",
|
||||
"inventoryUptime": "Czas działania",
|
||||
"inventoryPackageManager": "Menedżer pakietów",
|
||||
"inventoryCollectedAt": "Zebrano",
|
||||
"packageActionLabel": "Akcja",
|
||||
"packageInstall": "Zainstaluj",
|
||||
"packageRemove": "Usuń",
|
||||
"packageUpgradeAll": "Uaktualnij wszystkie pakiety",
|
||||
"packageNameLabel": "Nazwa pakietu",
|
||||
"packageNameRequired": "Wymagana jest nazwa pakietu",
|
||||
"packageHint": "Wymaga dostępu na poziomie zarządzania na każdym hoście i podnosi uprawnienia zapisanym hasłem sudo hosta."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Floty"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Frotas",
|
||||
"createFleet": "Criar Frota",
|
||||
"createFleetTitle": "Criar Frota",
|
||||
"editFleetTitle": "Editar frota",
|
||||
"createFleetDescription": "Uma frota é um grupo nomeado de hosts contra os quais você pode executar ações como uma unidade.",
|
||||
"nameLabel": "Nome",
|
||||
"namePlaceholder": "Por exemplo, servidores web",
|
||||
"nameRequired": "É necessário nomear a frota.",
|
||||
"descriptionLabel": "Descrição",
|
||||
"descriptionPlaceholder": "Descrição opcional",
|
||||
"colorLabel": "Cor",
|
||||
"tagRulesLabel": "Regras de etiqueta",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Os hosts com qualquer uma dessas tags são incluídos automaticamente, além dos hosts adicionados manualmente.",
|
||||
"fleetCreated": "Frota criada",
|
||||
"fleetUpdated": "Frota atualizada",
|
||||
"fleetDeleted": "Frota excluída",
|
||||
"saveFailed": "Não conseguiram salvar a frota.",
|
||||
"deleteFailed": "Falha ao excluir a frota",
|
||||
"loadFailed": "Falha ao carregar as frotas",
|
||||
"deleteFleetTitle": "Excluir frota",
|
||||
"deleteFleetDescription": "Tem certeza de que deseja excluir \"{{name}}\"? Isso não exclui os próprios hosts membros.",
|
||||
"searchFleets": "Pesquisar frotas...",
|
||||
"noFleets": "Ainda não há frotas. Crie uma para começar.",
|
||||
"memberCount": "{{count}} anfitrião",
|
||||
"memberCount_other": "{{count}} anfitriões",
|
||||
"manageMembers": "Gerenciar membros",
|
||||
"manageMembersTitle": "Gerenciar membros da frota",
|
||||
"manageMembersDescription": "Ative ou desative a inclusão de hosts nesta frota estática. Os hosts que corresponderem às regras de tags serão sempre incluídos.",
|
||||
"searchHosts": "Pesquisar hosts...",
|
||||
"noHostsFound": "Nenhum host encontrado",
|
||||
"noMembers": "Esta frota ainda não tem membros. Adicione anfitriões ou defina uma regra de etiqueta.",
|
||||
"membersLoadFailed": "Falha ao carregar membros da frota",
|
||||
"memberUpdateFailed": "Falha na atualização da associação à frota",
|
||||
"tabRun": "Executar comando",
|
||||
"tabTransfer": "Transferir arquivos",
|
||||
"tabInventory": "Inventário",
|
||||
"openInventoryTab": "Abrir em aba inteira",
|
||||
"tabPackages": "Pacotes",
|
||||
"runOnFleet": "Executar na frota",
|
||||
"commandPlaceholder": "tempo de atividade e df -h",
|
||||
"commandRequired": "É necessário um comando.",
|
||||
"commandInputsLabel": "Entradas de comando",
|
||||
"commandSucceeded": "O comando foi executado com sucesso em todos os hosts.",
|
||||
"commandPartialFailure": "{{failed}} de {{total}} hosts falharam",
|
||||
"commandFailed": "Falha ao executar o comando",
|
||||
"resultSuccess": "Sucesso",
|
||||
"resultFailed": "Fracassado",
|
||||
"push": "Empurrar",
|
||||
"pull": "Puxar",
|
||||
"remotePathLabel": "Caminho remoto",
|
||||
"remotePathRequired": "É necessário um caminho remoto.",
|
||||
"fileLabel": "Arquivo",
|
||||
"fileRequired": "É necessário um arquivo.",
|
||||
"pushHint": "O arquivo selecionado é gravado exatamente nesse caminho em todos os hosts da frota.",
|
||||
"pullHint": "O arquivo neste caminho é lido de cada host e baixado como um único arquivo zip, uma pasta por host.",
|
||||
"transferComplete": "Transferência concluída",
|
||||
"transferFailed": "A transferência falhou",
|
||||
"refreshInventory": "Atualizar inventário",
|
||||
"inventoryLoadFailed": "Falha ao carregar o inventário",
|
||||
"inventoryRefreshed": "Inventário atualizado",
|
||||
"inventoryRefreshFailed": "Falha ao atualizar o inventário",
|
||||
"inventoryNoData": "Ainda não há dados de estoque - atualize a página para coletá-los.",
|
||||
"inventoryHost": "Hospedar",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} coletado",
|
||||
"inventoryOs": "SO",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Arco",
|
||||
"inventoryUptime": "Tempo de atividade",
|
||||
"inventoryPackageManager": "Gerenciador de pacotes",
|
||||
"inventoryCollectedAt": "Coletado",
|
||||
"packageActionLabel": "Ação",
|
||||
"packageInstall": "Instalar",
|
||||
"packageRemove": "Remover",
|
||||
"packageUpgradeAll": "Atualize todos os pacotes",
|
||||
"packageNameLabel": "Nome do pacote",
|
||||
"packageNameRequired": "É necessário informar o nome do pacote.",
|
||||
"packageHint": "Requer acesso de nível de gerenciamento por host e eleva os privilégios usando a senha sudo armazenada no host."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Frotas"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Frotas",
|
||||
"createFleet": "Criar Frota",
|
||||
"createFleetTitle": "Criar Frota",
|
||||
"editFleetTitle": "Editar frota",
|
||||
"createFleetDescription": "Uma frota é um grupo nomeado de hosts contra os quais pode executar ações como uma unidade.",
|
||||
"nameLabel": "Nome",
|
||||
"namePlaceholder": "Por exemplo, os servidores web",
|
||||
"nameRequired": "É necessário dar um nome à frota.",
|
||||
"descriptionLabel": "Descrição",
|
||||
"descriptionPlaceholder": "Descrição opcional",
|
||||
"colorLabel": "Cor",
|
||||
"tagRulesLabel": "Regras de etiqueta",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Os hosts com qualquer uma destas etiquetas são incluídos automaticamente, para além dos hosts adicionados manualmente.",
|
||||
"fleetCreated": "Frota criada",
|
||||
"fleetUpdated": "Frota atualizada",
|
||||
"fleetDeleted": "Frota excluída",
|
||||
"saveFailed": "Não conseguiram salvar a frota.",
|
||||
"deleteFailed": "Falha ao eliminar a frota",
|
||||
"loadFailed": "Falha ao carregar as frotas",
|
||||
"deleteFleetTitle": "Excluir frota",
|
||||
"deleteFleetDescription": "Tem a certeza que pretende eliminar \"{{name}}\"? Isto não exclui os próprios hosts membros.",
|
||||
"searchFleets": "Pesquisar frotas...",
|
||||
"noFleets": "Ainda não há frotas. Crie uma para começar.",
|
||||
"memberCount": "{{count}} anfitrião",
|
||||
"memberCount_other": "{{count}} anfitriões",
|
||||
"manageMembers": "Gerir membros",
|
||||
"manageMembersTitle": "Gerir membros da frota",
|
||||
"manageMembersDescription": "Ative ou desative a inclusão de hosts nesta frota estática. Os hosts que corresponderem às regras das tags serão sempre incluídos.",
|
||||
"searchHosts": "Pesquisar hosts...",
|
||||
"noHostsFound": "Nenhum host encontrado",
|
||||
"noMembers": "Esta frota ainda não tem membros. Adicione anfitriões ou defina uma regra de etiqueta.",
|
||||
"membersLoadFailed": "Falha ao carregar membros da frota",
|
||||
"memberUpdateFailed": "Falha na atualização da adesão à frota",
|
||||
"tabRun": "Executar comando",
|
||||
"tabTransfer": "Transferir ficheiros",
|
||||
"tabInventory": "Inventário",
|
||||
"openInventoryTab": "Abrir em separador inteiro",
|
||||
"tabPackages": "Pacotes",
|
||||
"runOnFleet": "Executar na frota",
|
||||
"commandPlaceholder": "tempo de atividade e df -h",
|
||||
"commandRequired": "É necessário um comando.",
|
||||
"commandInputsLabel": "Entradas de comando",
|
||||
"commandSucceeded": "O comando foi executado com sucesso em todos os hosts.",
|
||||
"commandPartialFailure": "{{failed}} de {{total}} os hosts falharam",
|
||||
"commandFailed": "Falha ao executar o comando",
|
||||
"resultSuccess": "Sucesso",
|
||||
"resultFailed": "Falhou",
|
||||
"push": "Pressionar",
|
||||
"pull": "Puxar",
|
||||
"remotePathLabel": "Caminho remoto",
|
||||
"remotePathRequired": "É necessário um caminho remoto.",
|
||||
"fileLabel": "Ficheiro",
|
||||
"fileRequired": "É necessário um ficheiro.",
|
||||
"pushHint": "O ficheiro selecionado é gravado exatamente nesse caminho em todos os hosts da frota.",
|
||||
"pullHint": "O ficheiro neste caminho é lido de cada host e descarregado como um único ficheiro zip, uma pasta por host.",
|
||||
"transferComplete": "Transferência concluída",
|
||||
"transferFailed": "A transferência falhou",
|
||||
"refreshInventory": "Atualizar inventário",
|
||||
"inventoryLoadFailed": "Falha ao carregar o inventário",
|
||||
"inventoryRefreshed": "Inventário atualizado",
|
||||
"inventoryRefreshFailed": "Falha ao atualizar o inventário",
|
||||
"inventoryNoData": "Ainda não há dados de stock - atualize a página para os recolher.",
|
||||
"inventoryHost": "Anfitrião",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} recolhido",
|
||||
"inventoryOs": "SO",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Arco",
|
||||
"inventoryUptime": "Tempo de atividade",
|
||||
"inventoryPackageManager": "Gestor de pacotes",
|
||||
"inventoryCollectedAt": "Coletado",
|
||||
"packageActionLabel": "Ação",
|
||||
"packageInstall": "Instalar",
|
||||
"packageRemove": "Remover",
|
||||
"packageUpgradeAll": "Atualize todos os pacotes",
|
||||
"packageNameLabel": "Nome do pacote",
|
||||
"packageNameRequired": "É necessário informar o nome do pacote.",
|
||||
"packageHint": "Requer acesso de nível de gestão por host e eleva os privilégios utilizando a palavra-passe sudo armazenada no host."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Frotas"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flote",
|
||||
"createFleet": "Creați o flotă",
|
||||
"createFleetTitle": "Creați o flotă",
|
||||
"editFleetTitle": "Editare flotă",
|
||||
"createFleetDescription": "O flotă este un grup denumit de gazde împotriva cărora puteți rula acțiuni ca o unitate.",
|
||||
"nameLabel": "Nume",
|
||||
"namePlaceholder": "de exemplu, servere web",
|
||||
"nameRequired": "Numele flotei este obligatoriu",
|
||||
"descriptionLabel": "Descriere",
|
||||
"descriptionPlaceholder": "Descriere opțională",
|
||||
"colorLabel": "Culoare",
|
||||
"tagRulesLabel": "Reguli de etichetare",
|
||||
"tagRulesPlaceholder": "prod-web, margine",
|
||||
"tagRulesHint": "Gazdele cu oricare dintre aceste etichete sunt incluse automat, pe lângă gazdele adăugate manual.",
|
||||
"fleetCreated": "Flotă creată",
|
||||
"fleetUpdated": "Flota actualizată",
|
||||
"fleetDeleted": "Flota a fost ștearsă",
|
||||
"saveFailed": "Nu s-a putut salva flota",
|
||||
"deleteFailed": "Nu s-a putut șterge flota",
|
||||
"loadFailed": "Nu s-au putut încărca flotele",
|
||||
"deleteFleetTitle": "Ștergeți flota",
|
||||
"deleteFleetDescription": "Sigur vrei să ștergi „{{name}}”? Această acțiune nu șterge gazdele membre în sine.",
|
||||
"searchFleets": "Căutați flote...",
|
||||
"noFleets": "Încă nu există flote. Creați una pentru a începe.",
|
||||
"memberCount": "gazdă {{count}}",
|
||||
"memberCount_other": "gazde {{count}}",
|
||||
"manageMembers": "Gestionați membrii",
|
||||
"manageMembersTitle": "Gestionați membrii flotei",
|
||||
"manageMembersDescription": "Activează sau dezactivează includerea sau dezactivarea gazdelor în calitate de membru static al acestei flote. Gazdele care corespund regulilor de etichetare sunt întotdeauna incluse.",
|
||||
"searchHosts": "Căutați gazde...",
|
||||
"noHostsFound": "Nu s-au găsit gazde",
|
||||
"noMembers": "Această flotă nu are încă membri. Adăugați gazde sau setați o regulă de etichetare.",
|
||||
"membersLoadFailed": "Nu s-au putut încărca membrii flotei",
|
||||
"memberUpdateFailed": "Nu s-a putut actualiza calitatea de membru al flotei",
|
||||
"tabRun": "Comandă de rulare",
|
||||
"tabTransfer": "Transfer fișiere",
|
||||
"tabInventory": "Inventar",
|
||||
"openInventoryTab": "Deschideți în fila completă",
|
||||
"tabPackages": "Pachete",
|
||||
"runOnFleet": "Rulați pe flotă",
|
||||
"commandPlaceholder": "timp de funcționare && df -h",
|
||||
"commandRequired": "Este necesară o comandă",
|
||||
"commandInputsLabel": "Intrări de comandă",
|
||||
"commandSucceeded": "Comanda a reușit pe toate gazdele",
|
||||
"commandPartialFailure": "{{failed}} din {{total}} gazde au eșuat",
|
||||
"commandFailed": "Comanda nu a putut fi executată",
|
||||
"resultSuccess": "Succes",
|
||||
"resultFailed": "Eșuat",
|
||||
"push": "Apăsaţi",
|
||||
"pull": "Trage",
|
||||
"remotePathLabel": "Cale la distanță",
|
||||
"remotePathRequired": "Este necesară o cale la distanță",
|
||||
"fileLabel": "Fişier",
|
||||
"fileRequired": "Este necesar un fișier",
|
||||
"pushHint": "Fișierul selectat este scris exact pe această cale pe fiecare gazdă din flotă.",
|
||||
"pullHint": "Fișierul de pe această cale este citit de pe fiecare gazdă și descărcat ca un singur fișier zip, câte un folder per gazdă.",
|
||||
"transferComplete": "Transfer finalizat",
|
||||
"transferFailed": "Transferul a eșuat",
|
||||
"refreshInventory": "Reîmprospătați inventarul",
|
||||
"inventoryLoadFailed": "Nu s-a putut încărca inventarul",
|
||||
"inventoryRefreshed": "Inventarul a fost actualizat",
|
||||
"inventoryRefreshFailed": "Nu s-a putut actualiza inventarul",
|
||||
"inventoryNoData": "Nu există încă date despre inventar - actualizați pagina pentru a le colecta.",
|
||||
"inventoryHost": "Gazdă",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} colectate",
|
||||
"inventoryOs": "Sistem de operare",
|
||||
"inventoryKernel": "Nucleu",
|
||||
"inventoryArch": "Arc",
|
||||
"inventoryUptime": "Timp de funcționare",
|
||||
"inventoryPackageManager": "Manager de pachete",
|
||||
"inventoryCollectedAt": "Colectate",
|
||||
"packageActionLabel": "Acţiune",
|
||||
"packageInstall": "Instala",
|
||||
"packageRemove": "Elimina",
|
||||
"packageUpgradeAll": "Actualizați toate pachetele",
|
||||
"packageNameLabel": "Numele pachetului",
|
||||
"packageNameRequired": "Este necesar un nume de pachet",
|
||||
"packageHint": "Necesită acces la nivel de administrare per gazdă și ridică privilegiile folosind parola sudo stocată a gazdei."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flote"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Флоты",
|
||||
"createFleet": "Создать флот",
|
||||
"createFleetTitle": "Создать флот",
|
||||
"editFleetTitle": "Редактировать флот",
|
||||
"createFleetDescription": "Флот — это именованная группа хостов, против которых можно выполнять действия как единое целое.",
|
||||
"nameLabel": "Имя",
|
||||
"namePlaceholder": "например, веб-серверы",
|
||||
"nameRequired": "Название флота обязательно.",
|
||||
"descriptionLabel": "Описание",
|
||||
"descriptionPlaceholder": "Дополнительное описание",
|
||||
"colorLabel": "Цвет",
|
||||
"tagRulesLabel": "Правила тегирования",
|
||||
"tagRulesPlaceholder": "прод-веб, граничный",
|
||||
"tagRulesHint": "В дополнение к хостам, добавленным вручную, автоматически включаются хосты, имеющие любой из этих тегов.",
|
||||
"fleetCreated": "Создан флот",
|
||||
"fleetUpdated": "Обновление флота",
|
||||
"fleetDeleted": "Флот уничтожен",
|
||||
"saveFailed": "Не удалось спасти флот",
|
||||
"deleteFailed": "Не удалось удалить флот",
|
||||
"loadFailed": "Не удалось загрузить флот.",
|
||||
"deleteFleetTitle": "Удалить флот",
|
||||
"deleteFleetDescription": "Вы уверены, что хотите удалить \"{{name}}\"? Это не удалит сами хосты-участники.",
|
||||
"searchFleets": "Поиск флотов...",
|
||||
"noFleets": "Пока нет флотов. Создайте свой, чтобы начать.",
|
||||
"memberCount": "{{count}} хост",
|
||||
"memberCount_other": "{{count}} хосты",
|
||||
"manageMembers": "Управление участниками",
|
||||
"manageMembersTitle": "Управление членами автопарка",
|
||||
"manageMembersDescription": "Добавляйте или исключайте хосты из статического членства в этом флоте. Хосты, соответствующие правилам тегов, всегда включаются.",
|
||||
"searchHosts": "Поиск хостов...",
|
||||
"noHostsFound": "Хосты не найдены",
|
||||
"noMembers": "В этом флоте пока нет участников. Добавьте хостов или установите правило тегов.",
|
||||
"membersLoadFailed": "Не удалось загрузить членов флота.",
|
||||
"memberUpdateFailed": "Не удалось обновить данные о членстве в автопарке.",
|
||||
"tabRun": "Выполнить команду",
|
||||
"tabTransfer": "Передача файлов",
|
||||
"tabInventory": "Инвентаризация",
|
||||
"openInventoryTab": "Открыть в полноэкранном режиме",
|
||||
"tabPackages": "Пакеты",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "Требуется команда",
|
||||
"commandInputsLabel": "Ввод команд",
|
||||
"commandSucceeded": "Команда успешно выполнена на всех хостах.",
|
||||
"commandPartialFailure": "{{failed}} из {{total}} хостов не удалось",
|
||||
"commandFailed": "Не удалось выполнить команду.",
|
||||
"resultSuccess": "Успех",
|
||||
"resultFailed": "Неуспешный",
|
||||
"push": "Толкать",
|
||||
"pull": "Тянуть",
|
||||
"remotePathLabel": "Удаленный путь",
|
||||
"remotePathRequired": "Требуется удаленный путь",
|
||||
"fileLabel": "Файл",
|
||||
"fileRequired": "Требуется файл",
|
||||
"pushHint": "Выбранный файл записывается точно по этому пути на каждом хосте в сети.",
|
||||
"pullHint": "Файл по этому пути считывается с каждого хоста и загружается в виде единого ZIP-архива, по одной папке на каждый хост.",
|
||||
"transferComplete": "Передача завершена",
|
||||
"transferFailed": "Перевод не удался",
|
||||
"refreshInventory": "Обновить инвентарь",
|
||||
"inventoryLoadFailed": "Не удалось загрузить товарные запасы.",
|
||||
"inventoryRefreshed": "Инвентарь обновлен",
|
||||
"inventoryRefreshFailed": "Не удалось обновить данные об остатках на складе.",
|
||||
"inventoryNoData": "Данные об остатках товара пока отсутствуют — обновите страницу, чтобы получить их.",
|
||||
"inventoryHost": "Хозяин",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} собрано",
|
||||
"inventoryOs": "ОС",
|
||||
"inventoryKernel": "Ядро",
|
||||
"inventoryArch": "Арка",
|
||||
"inventoryUptime": "Время безотказной работы",
|
||||
"inventoryPackageManager": "Менеджер пакетов",
|
||||
"inventoryCollectedAt": "Собрано",
|
||||
"packageActionLabel": "Действие",
|
||||
"packageInstall": "Установить",
|
||||
"packageRemove": "Удалять",
|
||||
"packageUpgradeAll": "Обновить все пакеты",
|
||||
"packageNameLabel": "Название пакета",
|
||||
"packageNameRequired": "Требуется указать имя пакета.",
|
||||
"packageHint": "Для работы требуется доступ уровня администратора для каждого хоста, повышение прав осуществляется с помощью сохраненного пароля sudo для данного хоста."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Флоты"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Флоте",
|
||||
"createFleet": "Креирај флоту",
|
||||
"createFleetTitle": "Креирај флоту",
|
||||
"editFleetTitle": "Уреди флоту",
|
||||
"createFleetDescription": "Флота је именована група хостова против којих можете извршавати акције као јединицу.",
|
||||
"nameLabel": "Име",
|
||||
"namePlaceholder": "нпр. веб сервери",
|
||||
"nameRequired": "Назив флоте је обавезан",
|
||||
"descriptionLabel": "Опис",
|
||||
"descriptionPlaceholder": "Опциони опис",
|
||||
"colorLabel": "Боја",
|
||||
"tagRulesLabel": "Правила за ознаке",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Домаћини са било којом од ових ознака се аутоматски укључују, поред домаћина додатих ручно.",
|
||||
"fleetCreated": "Флота је створена",
|
||||
"fleetUpdated": "Ажурирана флота",
|
||||
"fleetDeleted": "Флота је обрисана",
|
||||
"saveFailed": "Чување флоте није успело",
|
||||
"deleteFailed": "Брисање флоте није успело",
|
||||
"loadFailed": "Учитавање возних паркова није успело",
|
||||
"deleteFleetTitle": "Обриши флоту",
|
||||
"deleteFleetDescription": "Да ли сте сигурни да желите да обришете „{{name}}“? Овим се не бришу сами чланови хостови.",
|
||||
"searchFleets": "Претражи флоте...",
|
||||
"noFleets": "Још нема флота. Направите једну да бисте започели.",
|
||||
"memberCount": "{{count}} домаћин",
|
||||
"memberCount_other": "{{count}} домаћини",
|
||||
"manageMembers": "Управљање члановима",
|
||||
"manageMembersTitle": "Управљајте члановима флоте",
|
||||
"manageMembersDescription": "Укључите или искључите хостове из статичког чланства ове флоте. Хостови који се подударају са правилима ознака су увек укључени.",
|
||||
"searchHosts": "Претражи хостове...",
|
||||
"noHostsFound": "Нису пронађени хостови",
|
||||
"noMembers": "Ова флота још нема чланова. Додајте хостове или поставите правило за ознаке.",
|
||||
"membersLoadFailed": "Учитавање чланова флоте није успело",
|
||||
"memberUpdateFailed": "Ажурирање чланства у флоти није успело",
|
||||
"tabRun": "Покрени команду",
|
||||
"tabTransfer": "Пренос датотека",
|
||||
"tabInventory": "Инвентар",
|
||||
"openInventoryTab": "Отвори у целој картици",
|
||||
"tabPackages": "Пакети",
|
||||
"runOnFleet": "Трчи на флоти",
|
||||
"commandPlaceholder": "време непрекидног рада && df -h",
|
||||
"commandRequired": "Потребна је команда",
|
||||
"commandInputsLabel": "Уноси команди",
|
||||
"commandSucceeded": "Команда је успела на свим хостовима",
|
||||
"commandPartialFailure": "{{failed}} од {{total}} хостова није успело",
|
||||
"commandFailed": "Није успело покретање команде",
|
||||
"resultSuccess": "Успех",
|
||||
"resultFailed": "Неуспешно",
|
||||
"push": "Гурај",
|
||||
"pull": "Повуци",
|
||||
"remotePathLabel": "Удаљена путања",
|
||||
"remotePathRequired": "Потребна је удаљена путања",
|
||||
"fileLabel": "Датотека",
|
||||
"fileRequired": "Потребна је датотека",
|
||||
"pushHint": "Изабрана датотека се уписује на ову тачну путању на сваком хосту у флоти.",
|
||||
"pullHint": "Датотека на овој путањи се чита са сваког хоста и преузима као један zip фасцикла, једна фасцикла по хосту.",
|
||||
"transferComplete": "Пренос завршен",
|
||||
"transferFailed": "Пренос није успео",
|
||||
"refreshInventory": "Освежи инвентар",
|
||||
"inventoryLoadFailed": "Учитавање инвентара није успело",
|
||||
"inventoryRefreshed": "Инвентар освежен",
|
||||
"inventoryRefreshFailed": "Освежавање инвентара није успело",
|
||||
"inventoryNoData": "Још нема података о залихама - освежите да бисте их прикупили.",
|
||||
"inventoryHost": "Домаћин",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} сакупљено",
|
||||
"inventoryOs": "ОС",
|
||||
"inventoryKernel": "Језгро",
|
||||
"inventoryArch": "Лук",
|
||||
"inventoryUptime": "Време непрекидног рада",
|
||||
"inventoryPackageManager": "Менаџер пакета",
|
||||
"inventoryCollectedAt": "Сакупљено",
|
||||
"packageActionLabel": "Акција",
|
||||
"packageInstall": "Инсталирај",
|
||||
"packageRemove": "Уклони",
|
||||
"packageUpgradeAll": "Надоградите све пакете",
|
||||
"packageNameLabel": "Назив пакета",
|
||||
"packageNameRequired": "Потребно је име пакета",
|
||||
"packageHint": "Захтева приступ на нивоу управљања по хосту и подиже привилегије користећи сачувану sudo лозинку хоста."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Флоте"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Flottor",
|
||||
"createFleet": "Skapa flotta",
|
||||
"createFleetTitle": "Skapa flotta",
|
||||
"editFleetTitle": "Redigera flotta",
|
||||
"createFleetDescription": "En flotta är en namngiven grupp av värdar som du kan köra åtgärder mot som en enhet.",
|
||||
"nameLabel": "Namn",
|
||||
"namePlaceholder": "t.ex. webbservrar",
|
||||
"nameRequired": "Flottans namn krävs",
|
||||
"descriptionLabel": "Beskrivning",
|
||||
"descriptionPlaceholder": "Valfri beskrivning",
|
||||
"colorLabel": "Färg",
|
||||
"tagRulesLabel": "Taggregler",
|
||||
"tagRulesPlaceholder": "prod-web, kant",
|
||||
"tagRulesHint": "Värdar med någon av dessa taggar inkluderas automatiskt, utöver värdar som läggs till manuellt.",
|
||||
"fleetCreated": "Flotta skapad",
|
||||
"fleetUpdated": "Flottan uppdaterad",
|
||||
"fleetDeleted": "Flottan raderad",
|
||||
"saveFailed": "Misslyckades med att spara flottan",
|
||||
"deleteFailed": "Misslyckades med att ta bort flottan",
|
||||
"loadFailed": "Misslyckades med att ladda flottor",
|
||||
"deleteFleetTitle": "Ta bort flotta",
|
||||
"deleteFleetDescription": "Är du säker på att du vill ta bort \"{{name}}\"? Detta tar inte bort själva medlemsvärdarna.",
|
||||
"searchFleets": "Sök flottor...",
|
||||
"noFleets": "Inga flottor ännu. Skapa en för att komma igång.",
|
||||
"memberCount": "{{count}} värd",
|
||||
"memberCount_other": "{{count}} värdar",
|
||||
"manageMembers": "Hantera medlemmar",
|
||||
"manageMembersTitle": "Hantera flottmedlemmar",
|
||||
"manageMembersDescription": "Växla mellan att visa eller avaktivera värdar i flottans statiska medlemskap. Värdar som matchas av taggregler inkluderas alltid.",
|
||||
"searchHosts": "Sök värdar...",
|
||||
"noHostsFound": "Inga värdar hittades",
|
||||
"noMembers": "Den här flottan har inga medlemmar ännu. Lägg till värdar eller ange en taggregel.",
|
||||
"membersLoadFailed": "Misslyckades med att ladda flottmedlemmar",
|
||||
"memberUpdateFailed": "Misslyckades med att uppdatera flottmedlemskapet",
|
||||
"tabRun": "Kör kommando",
|
||||
"tabTransfer": "Överför filer",
|
||||
"tabInventory": "Lager",
|
||||
"openInventoryTab": "Öppna i hela fliken",
|
||||
"tabPackages": "Paket",
|
||||
"runOnFleet": "Kör på flottan",
|
||||
"commandPlaceholder": "drifttid && df -h",
|
||||
"commandRequired": "Ett kommando krävs",
|
||||
"commandInputsLabel": "Kommandoingångar",
|
||||
"commandSucceeded": "Kommandot lyckades på alla värdar",
|
||||
"commandPartialFailure": "{{failed}} av {{total}} värdar misslyckades",
|
||||
"commandFailed": "Misslyckades med att köra kommandot",
|
||||
"resultSuccess": "Framgång",
|
||||
"resultFailed": "Misslyckades",
|
||||
"push": "Tryck",
|
||||
"pull": "Dra",
|
||||
"remotePathLabel": "Fjärrväg",
|
||||
"remotePathRequired": "En fjärrsökväg krävs",
|
||||
"fileLabel": "Fil",
|
||||
"fileRequired": "En fil krävs",
|
||||
"pushHint": "Den valda filen skrivs till exakt denna sökväg på varje värd i flottan.",
|
||||
"pullHint": "Filen på den här sökvägen läses från varje värd och laddas ner som en enda zip-fil, en mapp per värd.",
|
||||
"transferComplete": "Överföringen är klar",
|
||||
"transferFailed": "Överföringen misslyckades",
|
||||
"refreshInventory": "Uppdatera lagret",
|
||||
"inventoryLoadFailed": "Misslyckades med att ladda lagret",
|
||||
"inventoryRefreshed": "Inventariet uppdaterat",
|
||||
"inventoryRefreshFailed": "Misslyckades med att uppdatera lagret",
|
||||
"inventoryNoData": "Ingen lagerdata ännu – uppdatera för att samla in den.",
|
||||
"inventoryHost": "Värd",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} samlade",
|
||||
"inventoryOs": "operativsystem",
|
||||
"inventoryKernel": "Kärna",
|
||||
"inventoryArch": "Båge",
|
||||
"inventoryUptime": "Drifttid",
|
||||
"inventoryPackageManager": "Pakethanterare",
|
||||
"inventoryCollectedAt": "Insamlad",
|
||||
"packageActionLabel": "Handling",
|
||||
"packageInstall": "Installera",
|
||||
"packageRemove": "Ta bort",
|
||||
"packageUpgradeAll": "Uppgradera alla paket",
|
||||
"packageNameLabel": "Paketnamn",
|
||||
"packageNameRequired": "Ett paketnamn krävs",
|
||||
"packageHint": "Kräver åtkomst på hanteringsnivå per värd och höjs med hjälp av värdens lagrade sudo-lösenord."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Flottor"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "กองเรือ",
|
||||
"createFleet": "สร้างกลุ่มยานพาหนะ",
|
||||
"createFleetTitle": "สร้างกลุ่มยานพาหนะ",
|
||||
"editFleetTitle": "แก้ไขข้อมูลกองเรือ",
|
||||
"createFleetDescription": "กลุ่มโฮสต์ (Fleet) คือกลุ่มของโฮสต์ที่มีชื่อ ซึ่งคุณสามารถเรียกใช้คำสั่งต่างๆ กับกลุ่มนั้นได้ในฐานะหน่วยเดียวกัน",
|
||||
"nameLabel": "ชื่อ",
|
||||
"namePlaceholder": "เช่น เว็บเซิร์ฟเวอร์",
|
||||
"nameRequired": "ต้องระบุชื่อกองเรือ",
|
||||
"descriptionLabel": "คำอธิบาย",
|
||||
"descriptionPlaceholder": "คำอธิบายเพิ่มเติม (ไม่บังคับ)",
|
||||
"colorLabel": "สี",
|
||||
"tagRulesLabel": "กฎการติดแท็ก",
|
||||
"tagRulesPlaceholder": "โปรด-เว็บ, เอดจ์",
|
||||
"tagRulesHint": "โฮสต์ที่มีแท็กใดแท็กหนึ่งเหล่านี้จะถูกรวมไว้โดยอัตโนมัติ นอกเหนือจากโฮสต์ที่เพิ่มเข้ามาด้วยตนเอง",
|
||||
"fleetCreated": "กองเรือสร้าง",
|
||||
"fleetUpdated": "อัปเดตฝูงบินแล้ว",
|
||||
"fleetDeleted": "กองเรือถูกลบ",
|
||||
"saveFailed": "ไม่สามารถช่วยกองเรือได้",
|
||||
"deleteFailed": "ไม่สามารถลบกลุ่มยานพาหนะได้",
|
||||
"loadFailed": "ไม่สามารถโหลดข้อมูลยานพาหนะได้",
|
||||
"deleteFleetTitle": "ลบกลุ่มยานพาหนะ",
|
||||
"deleteFleetDescription": "คุณแน่ใจหรือไม่ว่าต้องการลบ \"{{name}}\"? การดำเนินการนี้ไม่ได้ลบโฮสต์สมาชิกเอง",
|
||||
"searchFleets": "ค้นหากองเรือ...",
|
||||
"noFleets": "ยังไม่มีกลุ่มเรือ สร้างกลุ่มเรือเพื่อเริ่มต้นใช้งานได้เลย",
|
||||
"memberCount": "{{count}} โฮสต์",
|
||||
"memberCount_other": "{{count}} โฮสต์",
|
||||
"manageMembers": "จัดการสมาชิก",
|
||||
"manageMembersTitle": "จัดการสมาชิกกลุ่มยานพาหนะ",
|
||||
"manageMembersDescription": "สลับการเพิ่มหรือลบโฮสต์ออกจากการเป็นสมาชิกแบบคงที่ของกลุ่มโฮสต์นี้ โฮสต์ที่ตรงกับกฎแท็กจะถูกรวมอยู่เสมอ",
|
||||
"searchHosts": "ค้นหาโฮสต์...",
|
||||
"noHostsFound": "ไม่พบโฮสต์",
|
||||
"noMembers": "กลุ่มเรือนี้ยังไม่มีสมาชิก เพิ่มโฮสต์หรือตั้งค่ากฎแท็ก",
|
||||
"membersLoadFailed": "ไม่สามารถโหลดสมาชิกกองเรือได้",
|
||||
"memberUpdateFailed": "ไม่สามารถอัปเดตข้อมูลสมาชิกกลุ่มยานพาหนะได้",
|
||||
"tabRun": "เรียกใช้คำสั่ง",
|
||||
"tabTransfer": "โอนไฟล์",
|
||||
"tabInventory": "รายการสิ่งของ",
|
||||
"openInventoryTab": "เปิดในแท็บเต็ม",
|
||||
"tabPackages": "แพ็คเกจ",
|
||||
"runOnFleet": "วิ่งบนกองเรือ",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "จำเป็นต้องมีคำสั่ง",
|
||||
"commandInputsLabel": "อินพุตคำสั่ง",
|
||||
"commandSucceeded": "คำสั่งทำงานสำเร็จบนโฮสต์ทั้งหมด",
|
||||
"commandPartialFailure": "โฮสต์ {{failed}} ล้มเหลว {{total}}",
|
||||
"commandFailed": "ไม่สามารถเรียกใช้คำสั่งได้",
|
||||
"resultSuccess": "ความสำเร็จ",
|
||||
"resultFailed": "ล้มเหลว",
|
||||
"push": "ดัน",
|
||||
"pull": "ดึง",
|
||||
"remotePathLabel": "เส้นทางระยะไกล",
|
||||
"remotePathRequired": "จำเป็นต้องใช้เส้นทางระยะไกล",
|
||||
"fileLabel": "ไฟล์",
|
||||
"fileRequired": "จำเป็นต้องมีไฟล์",
|
||||
"pushHint": "ไฟล์ที่เลือกจะถูกเขียนไปยังพาธที่ระบุไว้นี้บนทุกเครื่องในระบบเครือข่าย",
|
||||
"pullHint": "ไฟล์ที่อยู่ในพาธนี้จะถูกอ่านจากทุกโฮสต์และดาวน์โหลดเป็นไฟล์ซิปเดียว โดยมีหนึ่งโฟลเดอร์ต่อหนึ่งโฮสต์",
|
||||
"transferComplete": "การโอนเสร็จสมบูรณ์",
|
||||
"transferFailed": "การโอนล้มเหลว",
|
||||
"refreshInventory": "รีเฟรชสินค้าคงคลัง",
|
||||
"inventoryLoadFailed": "ไม่สามารถโหลดสินค้าคงคลังได้",
|
||||
"inventoryRefreshed": "อัปเดตสินค้าคงคลังแล้ว",
|
||||
"inventoryRefreshFailed": "ไม่สามารถรีเฟรชสินค้าคงคลังได้",
|
||||
"inventoryNoData": "ยังไม่มีข้อมูลสินค้าคงคลัง โปรดรีเฟรชหน้าเว็บเพื่อดูข้อมูล",
|
||||
"inventoryHost": "เจ้าภาพ",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} รวบรวมแล้ว",
|
||||
"inventoryOs": "โอเอส",
|
||||
"inventoryKernel": "เคอร์เนล",
|
||||
"inventoryArch": "โค้ง",
|
||||
"inventoryUptime": "เวลาใช้งาน",
|
||||
"inventoryPackageManager": "ตัวจัดการแพ็กเกจ",
|
||||
"inventoryCollectedAt": "รวบรวม",
|
||||
"packageActionLabel": "การกระทำ",
|
||||
"packageInstall": "ติดตั้ง",
|
||||
"packageRemove": "ลบ",
|
||||
"packageUpgradeAll": "อัปเกรดแพ็กเกจทั้งหมด",
|
||||
"packageNameLabel": "ชื่อแพ็คเกจ",
|
||||
"packageNameRequired": "จำเป็นต้องระบุชื่อแพ็กเกจ",
|
||||
"packageHint": "ต้องมีสิทธิ์การเข้าถึงระดับจัดการต่อโฮสต์ และยกระดับสิทธิ์โดยใช้รหัสผ่าน sudo ที่บันทึกไว้ของโฮสต์"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "กองเรือ"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Filolar",
|
||||
"createFleet": "Filo Oluştur",
|
||||
"createFleetTitle": "Filo Oluştur",
|
||||
"editFleetTitle": "Filoyu Düzenle",
|
||||
"createFleetDescription": "Filo, birim olarak eylemler gerçekleştirebileceğiniz, adlandırılmış bir sunucu grubudur.",
|
||||
"nameLabel": "İsim",
|
||||
"namePlaceholder": "Örneğin, Web Sunucuları",
|
||||
"nameRequired": "Filo adı zorunludur.",
|
||||
"descriptionLabel": "Tanım",
|
||||
"descriptionPlaceholder": "İsteğe bağlı açıklama",
|
||||
"colorLabel": "Renk",
|
||||
"tagRulesLabel": "Etiket kuralları",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Bu etiketlerden herhangi birine sahip sunucular, manuel olarak eklenen sunuculara ek olarak otomatik olarak dahil edilir.",
|
||||
"fleetCreated": "Filo oluşturuldu",
|
||||
"fleetUpdated": "Filo güncellendi",
|
||||
"fleetDeleted": "Filo silindi",
|
||||
"saveFailed": "Filoyu kurtaramadık",
|
||||
"deleteFailed": "Filoyu silme işlemi başarısız oldu.",
|
||||
"loadFailed": "Filoların yüklenmesi başarısız oldu.",
|
||||
"deleteFleetTitle": "Filoyu Sil",
|
||||
"deleteFleetDescription": "\"{{name}}\" öğesini silmek istediğinizden emin misiniz? Bu işlem üye sunucuların kendilerini silmez.",
|
||||
"searchFleets": "Filoları arayın...",
|
||||
"noFleets": "Henüz filo yok. Başlamak için bir tane oluşturun.",
|
||||
"memberCount": "{{count}} sunucu",
|
||||
"memberCount_other": "{{count}} sunucular",
|
||||
"manageMembers": "Üyeleri Yönet",
|
||||
"manageMembersTitle": "Filo Üyelerini Yönetin",
|
||||
"manageMembersDescription": "Sunucuları bu filonun statik üyeliğine dahil edin veya çıkarın. Etiket kurallarına göre eşleşen sunucular her zaman dahil edilir.",
|
||||
"searchHosts": "Sunucu ara...",
|
||||
"noHostsFound": "Hiçbir sunucu bulunamadı.",
|
||||
"noMembers": "Bu filonun henüz üyesi yok. Sunucu ekleyin veya etiket kuralı belirleyin.",
|
||||
"membersLoadFailed": "Filo üyeleri yüklenemedi.",
|
||||
"memberUpdateFailed": "Filo üyeliği güncellenemedi.",
|
||||
"tabRun": "Komutu Çalıştır",
|
||||
"tabTransfer": "Dosya Aktarımı",
|
||||
"tabInventory": "Envanter",
|
||||
"openInventoryTab": "Tam sekmede aç",
|
||||
"tabPackages": "Paketler",
|
||||
"runOnFleet": "Filoda Çalıştır",
|
||||
"commandPlaceholder": "çalışma süresi && df -h",
|
||||
"commandRequired": "Bir komut gereklidir.",
|
||||
"commandInputsLabel": "Komut girişleri",
|
||||
"commandSucceeded": "Komut tüm sunucularda başarıyla tamamlandı.",
|
||||
"commandPartialFailure": "{{failed}} / {{total}} sunucu başarısız oldu",
|
||||
"commandFailed": "Komut çalıştırma başarısız oldu.",
|
||||
"resultSuccess": "Başarı",
|
||||
"resultFailed": "Arızalı",
|
||||
"push": "İtmek",
|
||||
"pull": "Çekmek",
|
||||
"remotePathLabel": "Uzak yol",
|
||||
"remotePathRequired": "Uzak bir yol gereklidir.",
|
||||
"fileLabel": "Dosya",
|
||||
"fileRequired": "Bir dosya gereklidir.",
|
||||
"pushHint": "Seçilen dosya, filodaki her sunucuda tam olarak bu yola yazılır.",
|
||||
"pullHint": "Bu yoldaki dosya her sunucudan okunur ve her sunucu için bir klasör olmak üzere tek bir zip dosyası olarak indirilir.",
|
||||
"transferComplete": "Transfer tamamlandı",
|
||||
"transferFailed": "Aktarım başarısız oldu",
|
||||
"refreshInventory": "Envanteri Yenile",
|
||||
"inventoryLoadFailed": "Envanter yüklenemedi.",
|
||||
"inventoryRefreshed": "Stok güncellendi",
|
||||
"inventoryRefreshFailed": "Envanter yenileme işlemi başarısız oldu.",
|
||||
"inventoryNoData": "Henüz envanter verisi yok - verileri toplamak için sayfayı yenileyin.",
|
||||
"inventoryHost": "Ev sahibi",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} toplandı",
|
||||
"inventoryOs": "İşletim sistemi",
|
||||
"inventoryKernel": "Çekirdek",
|
||||
"inventoryArch": "Kemer",
|
||||
"inventoryUptime": "Çalışma süresi",
|
||||
"inventoryPackageManager": "Paket yöneticisi",
|
||||
"inventoryCollectedAt": "Toplandı",
|
||||
"packageActionLabel": "Aksiyon",
|
||||
"packageInstall": "Düzenlemek",
|
||||
"packageRemove": "Kaldırmak",
|
||||
"packageUpgradeAll": "Tüm paketleri yükseltin",
|
||||
"packageNameLabel": "Paket adı",
|
||||
"packageNameRequired": "Paket adı gereklidir.",
|
||||
"packageHint": "Her sunucu için yönetim düzeyinde erişim gerektirir ve sunucunun kayıtlı sudo şifresi kullanılarak yetki yükseltilir."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Filolar"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Флоти",
|
||||
"createFleet": "Створити флот",
|
||||
"createFleetTitle": "Створити флот",
|
||||
"editFleetTitle": "Редагувати флот",
|
||||
"createFleetDescription": "Флот — це іменована група хостів, проти яких можна виконувати дії як проти єдиного цілого.",
|
||||
"nameLabel": "Ім'я",
|
||||
"namePlaceholder": "наприклад, веб-сервери",
|
||||
"nameRequired": "Потрібно вказати назву флоту",
|
||||
"descriptionLabel": "Опис",
|
||||
"descriptionPlaceholder": "Додатковий опис",
|
||||
"colorLabel": "Колір",
|
||||
"tagRulesLabel": "Правила тегів",
|
||||
"tagRulesPlaceholder": "prod-web, край",
|
||||
"tagRulesHint": "Хости з будь-яким із цих тегів додаються автоматично, окрім хостів, доданих вручну.",
|
||||
"fleetCreated": "Створено флот",
|
||||
"fleetUpdated": "Оновлено автопарк",
|
||||
"fleetDeleted": "Флот видалено",
|
||||
"saveFailed": "Не вдалося зберегти флот",
|
||||
"deleteFailed": "Не вдалося видалити автопарк",
|
||||
"loadFailed": "Не вдалося завантажити автопарки",
|
||||
"deleteFleetTitle": "Видалити автопарк",
|
||||
"deleteFleetDescription": "Ви впевнені, що хочете видалити \"{{name}}\"? Це не видаляє самі хости-учасники.",
|
||||
"searchFleets": "Пошук автопарків...",
|
||||
"noFleets": "Поки що немає автопарків. Створіть його, щоб розпочати.",
|
||||
"memberCount": "{{count}} хост",
|
||||
"memberCount_other": "{{count}} хости",
|
||||
"manageMembers": "Керування учасниками",
|
||||
"manageMembersTitle": "Керування членами автопарку",
|
||||
"manageMembersDescription": "Вмикати або вимикати хости зі списку статичного членства цього флоту. Хости, що відповідають правилам тегів, завжди враховуються.",
|
||||
"searchHosts": "Пошук хостів...",
|
||||
"noHostsFound": "Хости не знайдено",
|
||||
"noMembers": "Цей флот ще не має учасників. Додайте хостів або встановіть правило тегу.",
|
||||
"membersLoadFailed": "Не вдалося завантажити учасників автопарку",
|
||||
"memberUpdateFailed": "Не вдалося оновити членство в автопарку",
|
||||
"tabRun": "Виконати команду",
|
||||
"tabTransfer": "Передача файлів",
|
||||
"tabInventory": "Інвентаризація",
|
||||
"openInventoryTab": "Відкрити у повній вкладці",
|
||||
"tabPackages": "Пакети",
|
||||
"runOnFleet": "Запустити флот",
|
||||
"commandPlaceholder": "час безперебійної роботи && df -h",
|
||||
"commandRequired": "Потрібна команда",
|
||||
"commandInputsLabel": "Вхідні команди",
|
||||
"commandSucceeded": "Команда успішно виконана на всіх хостах",
|
||||
"commandPartialFailure": "{{failed}} з {{total}} хостів не вдалося",
|
||||
"commandFailed": "Не вдалося виконати команду",
|
||||
"resultSuccess": "Успіх",
|
||||
"resultFailed": "Не вдалося",
|
||||
"push": "Натисніть",
|
||||
"pull": "Тягнути",
|
||||
"remotePathLabel": "Віддалений шлях",
|
||||
"remotePathRequired": "Потрібен віддалений шлях",
|
||||
"fileLabel": "Файл",
|
||||
"fileRequired": "Потрібен файл",
|
||||
"pushHint": "Вибраний файл записується саме за цим шляхом на кожному хості парку.",
|
||||
"pullHint": "Файл за цим шляхом зчитується з кожного хоста та завантажується як один zip-архів, одна папка на хост.",
|
||||
"transferComplete": "Перенесення завершено",
|
||||
"transferFailed": "Передача не вдалася",
|
||||
"refreshInventory": "Оновити інвентар",
|
||||
"inventoryLoadFailed": "Не вдалося завантажити інвентар",
|
||||
"inventoryRefreshed": "Інвентар оновлено",
|
||||
"inventoryRefreshFailed": "Не вдалося оновити інвентар",
|
||||
"inventoryNoData": "Даних про інвентаризацію ще немає – оновіть сторінку, щоб зібрати їх.",
|
||||
"inventoryHost": "Хост",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} зібрано",
|
||||
"inventoryOs": "ОС",
|
||||
"inventoryKernel": "Ядро",
|
||||
"inventoryArch": "Арка",
|
||||
"inventoryUptime": "Час безперебійної роботи",
|
||||
"inventoryPackageManager": "Менеджер пакетів",
|
||||
"inventoryCollectedAt": "Зібрано",
|
||||
"packageActionLabel": "Дія",
|
||||
"packageInstall": "Встановити",
|
||||
"packageRemove": "Видалити",
|
||||
"packageUpgradeAll": "Оновіть усі пакети",
|
||||
"packageNameLabel": "Назва пакета",
|
||||
"packageNameRequired": "Потрібна назва пакета",
|
||||
"packageHint": "Потрібен доступ на рівні керування для кожного хоста та підвищення прав за допомогою збереженого пароля sudo хоста."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Флоти"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Hạm đội",
|
||||
"createFleet": "Tạo đội tàu",
|
||||
"createFleetTitle": "Tạo đội tàu",
|
||||
"editFleetTitle": "Chỉnh sửa đội xe",
|
||||
"createFleetDescription": "Hạm đội là một nhóm máy chủ được đặt tên mà bạn có thể thực hiện các hành động chống lại chúng như một đơn vị.",
|
||||
"nameLabel": "Tên",
|
||||
"namePlaceholder": "Ví dụ: Máy chủ web",
|
||||
"nameRequired": "Tên đội xe là bắt buộc",
|
||||
"descriptionLabel": "Sự miêu tả",
|
||||
"descriptionPlaceholder": "Mô tả tùy chọn",
|
||||
"colorLabel": "Màu sắc",
|
||||
"tagRulesLabel": "Quy tắc gắn thẻ",
|
||||
"tagRulesPlaceholder": "web sản xuất, cạnh",
|
||||
"tagRulesHint": "Các máy chủ có bất kỳ thẻ nào trong số này sẽ tự động được thêm vào, bên cạnh các máy chủ được thêm thủ công.",
|
||||
"fleetCreated": "Hạm đội đã tạo ra",
|
||||
"fleetUpdated": "Đội tàu được cập nhật",
|
||||
"fleetDeleted": "Hạm đội đã bị xóa",
|
||||
"saveFailed": "Không thể cứu hạm đội.",
|
||||
"deleteFailed": "Không thể xóa đội tàu",
|
||||
"loadFailed": "Không thể tải đội xe",
|
||||
"deleteFleetTitle": "Xóa hạm đội",
|
||||
"deleteFleetDescription": "Bạn có chắc chắn muốn xóa \"{{name}}\" không? Thao tác này không xóa các máy chủ thành viên.",
|
||||
"searchFleets": "Các hạm đội tìm kiếm...",
|
||||
"noFleets": "Chưa có hạm đội nào. Hãy tạo một hạm đội để bắt đầu.",
|
||||
"memberCount": "{{count}} máy chủ",
|
||||
"memberCount_other": "{{count}} máy chủ",
|
||||
"manageMembers": "Quản lý thành viên",
|
||||
"manageMembersTitle": "Quản lý thành viên đội xe",
|
||||
"manageMembersDescription": "Cho phép thêm hoặc xóa các máy chủ khỏi tư cách thành viên cố định của nhóm này. Các máy chủ phù hợp với quy tắc gắn thẻ luôn được bao gồm.",
|
||||
"searchHosts": "Tìm kiếm máy chủ...",
|
||||
"noHostsFound": "Không tìm thấy máy chủ nào",
|
||||
"noMembers": "Hạm đội này chưa có thành viên nào. Thêm máy chủ hoặc thiết lập quy tắc gắn thẻ.",
|
||||
"membersLoadFailed": "Không thể tải thông tin thành viên đội xe",
|
||||
"memberUpdateFailed": "Không thể cập nhật thông tin thành viên đội tàu",
|
||||
"tabRun": "Chạy lệnh",
|
||||
"tabTransfer": "Chuyển tập tin",
|
||||
"tabInventory": "Hàng tồn kho",
|
||||
"openInventoryTab": "Mở ở chế độ toàn màn hình",
|
||||
"tabPackages": "Gói hàng",
|
||||
"runOnFleet": "Chạy trên Fleet",
|
||||
"commandPlaceholder": "thời gian hoạt động && df -h",
|
||||
"commandRequired": "Cần có lệnh",
|
||||
"commandInputsLabel": "Đầu vào lệnh",
|
||||
"commandSucceeded": "Lệnh đã được thực thi thành công trên tất cả các máy chủ.",
|
||||
"commandPartialFailure": "{{failed}} trong số {{total}} máy chủ đã bị lỗi",
|
||||
"commandFailed": "Không thể chạy lệnh.",
|
||||
"resultSuccess": "Thành công",
|
||||
"resultFailed": "Thất bại",
|
||||
"push": "Xô",
|
||||
"pull": "Sự lôi kéo",
|
||||
"remotePathLabel": "Đường dẫn từ xa",
|
||||
"remotePathRequired": "Cần có một đường dẫn từ xa.",
|
||||
"fileLabel": "Tài liệu",
|
||||
"fileRequired": "Cần có một tập tin.",
|
||||
"pushHint": "Tệp đã chọn sẽ được ghi vào đúng đường dẫn này trên mọi máy chủ trong hệ thống.",
|
||||
"pullHint": "Tệp tại đường dẫn này được đọc từ mọi máy chủ và tải xuống dưới dạng một tệp zip duy nhất, mỗi máy chủ một thư mục.",
|
||||
"transferComplete": "Giao dịch hoàn tất",
|
||||
"transferFailed": "Giao dịch chuyển khoản thất bại",
|
||||
"refreshInventory": "Làm mới kho hàng",
|
||||
"inventoryLoadFailed": "Không thể tải kho hàng",
|
||||
"inventoryRefreshed": "Hàng tồn kho được cập nhật",
|
||||
"inventoryRefreshFailed": "Không thể làm mới kho hàng",
|
||||
"inventoryNoData": "Chưa có dữ liệu tồn kho - hãy làm mới trang để thu thập dữ liệu.",
|
||||
"inventoryHost": "Chủ nhà",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} đã thu thập",
|
||||
"inventoryOs": "Hệ điều hành",
|
||||
"inventoryKernel": "Hạt nhân",
|
||||
"inventoryArch": "Vòm",
|
||||
"inventoryUptime": "Thời gian hoạt động",
|
||||
"inventoryPackageManager": "Trình quản lý gói",
|
||||
"inventoryCollectedAt": "Đã thu thập",
|
||||
"packageActionLabel": "Hoạt động",
|
||||
"packageInstall": "Cài đặt",
|
||||
"packageRemove": "Di dời",
|
||||
"packageUpgradeAll": "Nâng cấp tất cả các gói",
|
||||
"packageNameLabel": "Tên gói",
|
||||
"packageNameRequired": "Cần phải có tên gói.",
|
||||
"packageHint": "Yêu cầu quyền truy cập cấp quản trị cho mỗi máy chủ và nâng quyền bằng mật khẩu sudo được lưu trữ trên máy chủ đó."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Hạm đội"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "舰队",
|
||||
"createFleet": "创建舰队",
|
||||
"createFleetTitle": "创建舰队",
|
||||
"editFleetTitle": "编辑舰队",
|
||||
"createFleetDescription": "舰队是一个命名的主机组,你可以将其作为一个整体来执行操作。",
|
||||
"nameLabel": "名称",
|
||||
"namePlaceholder": "例如:Web 服务器",
|
||||
"nameRequired": "需要填写舰队名称。",
|
||||
"descriptionLabel": "描述",
|
||||
"descriptionPlaceholder": "可选描述",
|
||||
"colorLabel": "颜色",
|
||||
"tagRulesLabel": "标签规则",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "带有这些标签的主机将自动包含在内,此外还可以手动添加主机。",
|
||||
"fleetCreated": "舰队已创建",
|
||||
"fleetUpdated": "舰队已更新",
|
||||
"fleetDeleted": "舰队已删除",
|
||||
"saveFailed": "保存舰队失败",
|
||||
"deleteFailed": "删除舰队失败",
|
||||
"loadFailed": "舰队加载失败",
|
||||
"deleteFleetTitle": "删除舰队",
|
||||
"deleteFleetDescription": "您确定要删除“{{name}}”吗?此操作不会删除成员主机本身。",
|
||||
"searchFleets": "搜索舰队……",
|
||||
"noFleets": "暂无舰队。创建舰队即可开始。",
|
||||
"memberCount": "{{count}} 台主机",
|
||||
"memberCount_other": "{{count}} 台主机",
|
||||
"manageMembers": "管理成员",
|
||||
"manageMembersTitle": "管理舰队成员",
|
||||
"manageMembersDescription": "切换主机是否加入此舰队的静态成员列表。符合标签规则的主机始终包含在内。",
|
||||
"searchHosts": "搜索主机...",
|
||||
"noHostsFound": "未找到主机",
|
||||
"noMembers": "此舰队目前尚无成员。请添加主机或设置标签规则。",
|
||||
"membersLoadFailed": "加载舰队成员失败",
|
||||
"memberUpdateFailed": "舰队成员信息更新失败",
|
||||
"tabRun": "运行命令",
|
||||
"tabTransfer": "传输文件",
|
||||
"tabInventory": "清单",
|
||||
"openInventoryTab": "在新标签页中打开",
|
||||
"tabPackages": "软件包",
|
||||
"runOnFleet": "在舰队上运行",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "需要一条命令",
|
||||
"commandInputsLabel": "命令输入",
|
||||
"commandSucceeded": "命令在所有主机上均已成功执行。",
|
||||
"commandPartialFailure": "{{total}} 台主机中有 {{failed}} 台失败",
|
||||
"commandFailed": "命令运行失败",
|
||||
"resultSuccess": "成功",
|
||||
"resultFailed": "失败的",
|
||||
"push": "推送",
|
||||
"pull": "拉取",
|
||||
"remotePathLabel": "远程路径",
|
||||
"remotePathRequired": "需要远程路径",
|
||||
"fileLabel": "文件",
|
||||
"fileRequired": "需要选择文件",
|
||||
"pushHint": "选定的文件将被写入舰队中每台主机上的指定路径。",
|
||||
"pullHint": "从每个主机读取此路径下的文件,并将其下载为单个 zip 文件,每个主机一个文件夹。",
|
||||
"transferComplete": "传输完成",
|
||||
"transferFailed": "传输失败",
|
||||
"refreshInventory": "刷新清单",
|
||||
"inventoryLoadFailed": "加载清单失败",
|
||||
"inventoryRefreshed": "清单已刷新",
|
||||
"inventoryRefreshFailed": "刷新清单失败",
|
||||
"inventoryNoData": "暂无清单数据 - 请刷新页面以获取数据。",
|
||||
"inventoryHost": "主机",
|
||||
"inventoryCollectedCount": "已收集 {{count}}/{{total}}",
|
||||
"inventoryOs": "操作系统",
|
||||
"inventoryKernel": "内核",
|
||||
"inventoryArch": "架构",
|
||||
"inventoryUptime": "运行时间",
|
||||
"inventoryPackageManager": "软件包管理器",
|
||||
"inventoryCollectedAt": "集",
|
||||
"packageActionLabel": "行动",
|
||||
"packageInstall": "安装",
|
||||
"packageRemove": "移除",
|
||||
"packageUpgradeAll": "升级所有软件包",
|
||||
"packageNameLabel": "软件包名称",
|
||||
"packageNameRequired": "必须提供软件包名称。",
|
||||
"packageHint": "需要对每台主机具有管理级别的访问权限,并使用主机存储的 sudo 密码提升权限。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "舰队"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "艦隊",
|
||||
"createFleet": "創建艦隊",
|
||||
"createFleetTitle": "創建艦隊",
|
||||
"editFleetTitle": "編輯艦隊",
|
||||
"createFleetDescription": "艦隊是指你可以作為一個整體對一組主機執行操作的指定名稱的主機群組。",
|
||||
"nameLabel": "姓名",
|
||||
"namePlaceholder": "例如,Web伺服器",
|
||||
"nameRequired": "必須填寫艦隊名稱。",
|
||||
"descriptionLabel": "描述",
|
||||
"descriptionPlaceholder": "選用描述",
|
||||
"colorLabel": "顏色",
|
||||
"tagRulesLabel": "標籤規則",
|
||||
"tagRulesPlaceholder": "生產網絡,邊緣",
|
||||
"tagRulesHint": "帶有這些標籤的主機將自動包含在內,此外還可以手動新增主機。",
|
||||
"fleetCreated": "艦隊創建",
|
||||
"fleetUpdated": "艦隊更新",
|
||||
"fleetDeleted": "艦隊已刪除",
|
||||
"saveFailed": "未能拯救艦隊",
|
||||
"deleteFailed": "刪除艦隊失敗",
|
||||
"loadFailed": "艦隊載入失敗",
|
||||
"deleteFleetTitle": "刪除艦隊",
|
||||
"deleteFleetDescription": "您確定要刪除“{{name}}”嗎?此操作不會刪除成員主機本身。",
|
||||
"searchFleets": "搜索艦隊…",
|
||||
"noFleets": "暫無艦隊。創建艦隊即可開始。",
|
||||
"memberCount": "{{count}} 主機",
|
||||
"memberCount_other": "{{count}} 主機",
|
||||
"manageMembers": "管理成員",
|
||||
"manageMembersTitle": "管理車隊成員",
|
||||
"manageMembersDescription": "切換主機是否加入此艦隊的靜態成員清單。符合標籤規則的主機始終包含在內。",
|
||||
"searchHosts": "搜尋主機...",
|
||||
"noHostsFound": "未找到主機",
|
||||
"noMembers": "此艦隊目前尚無成員。請新增主機或設定標籤規則。",
|
||||
"membersLoadFailed": "載入艦隊成員失敗",
|
||||
"memberUpdateFailed": "艦隊成員資訊更新失敗",
|
||||
"tabRun": "運行命令",
|
||||
"tabTransfer": "傳輸檔案",
|
||||
"tabInventory": "存貨",
|
||||
"openInventoryTab": "在新分頁中開啟",
|
||||
"tabPackages": "包裹",
|
||||
"runOnFleet": "艦隊運行",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "需要一條命令",
|
||||
"commandInputsLabel": "命令輸入",
|
||||
"commandSucceeded": "指令在所有主機上均已成功執行。",
|
||||
"commandPartialFailure": "{{failed}} 中的 {{total}} 台主機失敗",
|
||||
"commandFailed": "命令運行失敗",
|
||||
"resultSuccess": "成功",
|
||||
"resultFailed": "失敗的",
|
||||
"push": "推",
|
||||
"pull": "拉",
|
||||
"remotePathLabel": "遠端路徑",
|
||||
"remotePathRequired": "需要遠端路徑",
|
||||
"fileLabel": "文件",
|
||||
"fileRequired": "需要提交文件",
|
||||
"pushHint": "選定的檔案將被寫入叢集中每台主機上的指定路徑。",
|
||||
"pullHint": "從每個主機讀取此路徑下的文件,並將其下載為單一 zip 文件,每個主機一個資料夾。",
|
||||
"transferComplete": "轉帳完成",
|
||||
"transferFailed": "轉帳失敗",
|
||||
"refreshInventory": "刷新庫存",
|
||||
"inventoryLoadFailed": "庫存載入失敗",
|
||||
"inventoryRefreshed": "庫存已刷新",
|
||||
"inventoryRefreshFailed": "刷新庫存失敗",
|
||||
"inventoryNoData": "暫無庫存資料 - 請重新整理頁面以取得資料。",
|
||||
"inventoryHost": "主持人",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} 收集",
|
||||
"inventoryOs": "作業系統",
|
||||
"inventoryKernel": "核心",
|
||||
"inventoryArch": "拱",
|
||||
"inventoryUptime": "正常運作時間",
|
||||
"inventoryPackageManager": "軟體套件管理器",
|
||||
"inventoryCollectedAt": "集",
|
||||
"packageActionLabel": "行動",
|
||||
"packageInstall": "安裝",
|
||||
"packageRemove": "消除",
|
||||
"packageUpgradeAll": "升級所有套餐",
|
||||
"packageNameLabel": "軟體包名稱",
|
||||
"packageNameRequired": "必須提供軟體包名稱。",
|
||||
"packageHint": "需要對每台主機具有管理層級的存取權限,並使用主機儲存的 sudo 密碼提升權限。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "艦隊"
|
||||
}
|
||||
}
|
||||
@@ -23,5 +23,22 @@
|
||||
"ui:surface"
|
||||
],
|
||||
"locales": "locales",
|
||||
"platforms": ["linux", "win32", "darwin"]
|
||||
"platforms": ["linux", "win32", "darwin"],
|
||||
"contributes": {
|
||||
"tabs": [
|
||||
{
|
||||
"id": "fleet-inventory",
|
||||
"titleKey": "nav.fleets",
|
||||
"icon": "Boxes",
|
||||
"openFrom": ["rail"]
|
||||
}
|
||||
],
|
||||
"panels": [
|
||||
{
|
||||
"id": "fleets",
|
||||
"titleKey": "nav.fleets",
|
||||
"icon": "Boxes"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import { getErrorMessage } from "@/lib/error-message.js";
|
||||
import { useEffect, useMemo, useState, useCallback } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useTranslation } from "@termix/plugin-sdk/frontend";
|
||||
import { toast } from "sonner";
|
||||
import {
|
||||
ArrowDown,
|
||||
@@ -20,7 +20,7 @@ import {
|
||||
refreshFleetInventory,
|
||||
type FleetRow,
|
||||
type FleetInventoryEntry,
|
||||
} from "@/api/fleets-api";
|
||||
} from "./fleets-api";
|
||||
|
||||
type SortKey =
|
||||
| "hostName"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { getErrorMessage } from "@/lib/error-message.js";
|
||||
import { useState, useEffect, useCallback, useMemo, useRef } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useTranslation } from "@termix/plugin-sdk/frontend";
|
||||
import { toast } from "sonner";
|
||||
import {
|
||||
Boxes,
|
||||
@@ -76,7 +76,7 @@ import {
|
||||
type FleetInventoryEntry,
|
||||
type FleetPackageAction,
|
||||
type FleetShareHostResult,
|
||||
} from "@/api/fleets-api";
|
||||
} from "./fleets-api";
|
||||
import type { SSHHost } from "@/types/index";
|
||||
|
||||
const SHARE_PERMISSION_LEVELS: SharePermissionLevel[] = [
|
||||
|
||||
@@ -0,0 +1,300 @@
|
||||
import {
|
||||
authApi,
|
||||
handleApiError,
|
||||
type SharePermissionLevel,
|
||||
type ShareTarget,
|
||||
} from "@/main-axios";
|
||||
|
||||
export interface FleetRow {
|
||||
id: number;
|
||||
userId: string;
|
||||
name: string;
|
||||
description: string | null;
|
||||
color: string | null;
|
||||
icon: string | null;
|
||||
tagRules: string[];
|
||||
syncId: string | null;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
memberCount: number;
|
||||
}
|
||||
|
||||
export interface FleetMemberRow {
|
||||
id: number;
|
||||
name: string;
|
||||
ip: string;
|
||||
tags: string[];
|
||||
static: boolean;
|
||||
permissionLevel: "connect" | "view" | "edit" | "manage" | null;
|
||||
}
|
||||
|
||||
export interface FleetHostResult {
|
||||
hostId: number;
|
||||
hostName: string;
|
||||
success: boolean;
|
||||
output?: string;
|
||||
error?: string;
|
||||
}
|
||||
|
||||
export interface FleetInventoryRecord {
|
||||
id: number;
|
||||
hostId: number;
|
||||
userId: string;
|
||||
osPrettyName: string | null;
|
||||
kernel: string | null;
|
||||
architecture: string | null;
|
||||
hostname: string | null;
|
||||
uptimeSeconds: number | null;
|
||||
ip: string | null;
|
||||
packageManager: string | null;
|
||||
collectedAt: string;
|
||||
}
|
||||
|
||||
export interface FleetInventoryEntry {
|
||||
hostId: number;
|
||||
hostName: string;
|
||||
inventory: FleetInventoryRecord | null;
|
||||
}
|
||||
|
||||
export type FleetPackageAction = "install" | "remove" | "upgrade-all";
|
||||
|
||||
export async function listFleets(): Promise<FleetRow[]> {
|
||||
try {
|
||||
const response = await authApi.get("/plugin-api/fleets");
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "fetch fleets");
|
||||
}
|
||||
}
|
||||
|
||||
export async function createFleet(fleetData: {
|
||||
name: string;
|
||||
description?: string | null;
|
||||
color?: string | null;
|
||||
icon?: string | null;
|
||||
tagRules?: string[];
|
||||
}): Promise<FleetRow> {
|
||||
try {
|
||||
const response = await authApi.post("/plugin-api/fleets", fleetData);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "create fleet");
|
||||
}
|
||||
}
|
||||
|
||||
export async function updateFleet(
|
||||
fleetId: number,
|
||||
fleetData: {
|
||||
name?: string;
|
||||
description?: string | null;
|
||||
color?: string | null;
|
||||
icon?: string | null;
|
||||
tagRules?: string[];
|
||||
},
|
||||
): Promise<FleetRow> {
|
||||
try {
|
||||
const response = await authApi.patch(
|
||||
`/plugin-api/fleets/${fleetId}`,
|
||||
fleetData,
|
||||
);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "update fleet");
|
||||
}
|
||||
}
|
||||
|
||||
export async function deleteFleet(
|
||||
fleetId: number,
|
||||
): Promise<{ success: boolean }> {
|
||||
try {
|
||||
const response = await authApi.delete(`/plugin-api/fleets/${fleetId}`);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "delete fleet");
|
||||
}
|
||||
}
|
||||
|
||||
export async function getFleetMembers(
|
||||
fleetId: number,
|
||||
): Promise<FleetMemberRow[]> {
|
||||
try {
|
||||
const response = await authApi.get(`/plugin-api/fleets/${fleetId}/members`);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "fetch fleet members");
|
||||
}
|
||||
}
|
||||
|
||||
export async function addFleetMember(
|
||||
fleetId: number,
|
||||
hostId: number,
|
||||
): Promise<{ success: boolean }> {
|
||||
try {
|
||||
const response = await authApi.post(
|
||||
`/plugin-api/fleets/${fleetId}/members`,
|
||||
{
|
||||
hostId,
|
||||
},
|
||||
);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "add fleet member");
|
||||
}
|
||||
}
|
||||
|
||||
export async function removeFleetMember(
|
||||
fleetId: number,
|
||||
hostId: number,
|
||||
): Promise<{ success: boolean }> {
|
||||
try {
|
||||
const response = await authApi.delete(
|
||||
`/plugin-api/fleets/${fleetId}/members/${hostId}`,
|
||||
);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "remove fleet member");
|
||||
}
|
||||
}
|
||||
|
||||
export async function runFleetCommand(
|
||||
fleetId: number,
|
||||
command: string,
|
||||
inputValues?: Record<string, string>,
|
||||
): Promise<{ results: FleetHostResult[] }> {
|
||||
try {
|
||||
const response = await authApi.post(
|
||||
`/plugin-api/fleets/${fleetId}/execute`,
|
||||
{
|
||||
command,
|
||||
...(inputValues ? { inputValues } : {}),
|
||||
},
|
||||
);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "run fleet command");
|
||||
}
|
||||
}
|
||||
|
||||
export async function pushFleetFile(
|
||||
fleetId: number,
|
||||
file: File,
|
||||
remotePath: string,
|
||||
): Promise<{ results: FleetHostResult[] }> {
|
||||
try {
|
||||
const form = new FormData();
|
||||
form.append("file", file);
|
||||
form.append("remotePath", remotePath);
|
||||
const response = await authApi.post(
|
||||
`/plugin-api/fleets/${fleetId}/transfer/push`,
|
||||
form,
|
||||
{ headers: { "Content-Type": "multipart/form-data" } },
|
||||
);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "push file to fleet");
|
||||
}
|
||||
}
|
||||
|
||||
export async function pullFleetFile(
|
||||
fleetId: number,
|
||||
remotePath: string,
|
||||
): Promise<{ results: FleetHostResult[]; blob: Blob; fileName: string }> {
|
||||
try {
|
||||
const response = await authApi.post(
|
||||
`/plugin-api/fleets/${fleetId}/transfer/pull`,
|
||||
{ remotePath },
|
||||
{ responseType: "blob" },
|
||||
);
|
||||
|
||||
const resultsHeader = response.headers["x-fleet-transfer-results"];
|
||||
const results: FleetHostResult[] = resultsHeader
|
||||
? JSON.parse(atob(resultsHeader))
|
||||
: [];
|
||||
|
||||
const disposition = response.headers["content-disposition"] as
|
||||
string | undefined;
|
||||
const match = disposition?.match(/filename="([^"]+)"/);
|
||||
const fileName = match?.[1] ?? "fleet-transfer.zip";
|
||||
|
||||
return { results, blob: response.data, fileName };
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "pull file from fleet");
|
||||
}
|
||||
}
|
||||
|
||||
export async function getFleetInventory(
|
||||
fleetId: number,
|
||||
): Promise<FleetInventoryEntry[]> {
|
||||
try {
|
||||
const response = await authApi.get(
|
||||
`/plugin-api/fleets/${fleetId}/inventory`,
|
||||
);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "fetch fleet inventory");
|
||||
}
|
||||
}
|
||||
|
||||
export async function refreshFleetInventory(
|
||||
fleetId: number,
|
||||
): Promise<{ results: FleetHostResult[] }> {
|
||||
try {
|
||||
const response = await authApi.post(
|
||||
`/plugin-api/fleets/${fleetId}/inventory`,
|
||||
);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "refresh fleet inventory");
|
||||
}
|
||||
}
|
||||
|
||||
export async function runFleetPackageAction(
|
||||
fleetId: number,
|
||||
action: FleetPackageAction,
|
||||
packageName?: string,
|
||||
): Promise<{ results: FleetHostResult[] }> {
|
||||
try {
|
||||
const response = await authApi.post(
|
||||
`/plugin-api/fleets/${fleetId}/packages`,
|
||||
{
|
||||
action,
|
||||
...(packageName ? { package: packageName } : {}),
|
||||
},
|
||||
);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "run fleet package action");
|
||||
}
|
||||
}
|
||||
|
||||
export interface FleetShareHostResult {
|
||||
hostId: number;
|
||||
shared: boolean;
|
||||
reason?: string;
|
||||
}
|
||||
|
||||
export async function shareFleet(
|
||||
fleetId: number,
|
||||
shareData: {
|
||||
targets: ShareTarget[];
|
||||
permissionLevel: SharePermissionLevel;
|
||||
durationHours?: number;
|
||||
},
|
||||
): Promise<{
|
||||
success: boolean;
|
||||
permissionLevel: SharePermissionLevel;
|
||||
expiresAt: string | null;
|
||||
hostsShared: number;
|
||||
hostsTotal: number;
|
||||
hostResults: FleetShareHostResult[];
|
||||
}> {
|
||||
try {
|
||||
const response = await authApi.post(
|
||||
`/plugin-api/fleets/${fleetId}/share`,
|
||||
shareData,
|
||||
);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
throw handleApiError(error, "share fleet");
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
/**
|
||||
* Frontend half of the fleets plugin.
|
||||
*
|
||||
* FleetsPanel is a left-sidebar railView panel (opened from the rail, not a
|
||||
* Tab), the same shape as HostsPanel/CredentialsPanel/AiPanel. None of those
|
||||
* go through registerRailItem/registerTabComponent either -- per
|
||||
* src/ui/shell/pluginLoader.ts's own comment, a rail-view panel like this is
|
||||
* rendered directly by AppShell.tsx rather than registered at runtime, the
|
||||
* same way ai's AiPanel is. FleetsPanel is reached today through a direct
|
||||
* relative import in AppShell.tsx (../../plugins/fleets/frontend/FleetsPanel),
|
||||
* not through register() below.
|
||||
*
|
||||
* register()/unregister() still follow the same shape every other plugin's
|
||||
* frontend entry does, so this is ready the moment a real frontend plugin
|
||||
* loader exists -- see plugins/ssh-terminal/frontend/index.mjs and
|
||||
* src/ui/tests/sidebar/plugin-extension-seam.test.tsx, which says outright
|
||||
* "there is no plugin loader yet".
|
||||
*
|
||||
* The fleet-inventory tab (opened from within FleetsPanel) is wired
|
||||
* separately in src/ui/shell/tabUtils.tsx, the same way docker/host-metrics
|
||||
* tabs are -- a plugin tab id that already exists in the built-in TabType
|
||||
* union goes through the ordinary tabSurfaceLoaders/switch wiring there, not
|
||||
* through registerTabComponent (which is for tab ids outside that union).
|
||||
*/
|
||||
|
||||
export const id = "fleets";
|
||||
export const railViewId = "fleets";
|
||||
|
||||
export async function register({ registerRailItem, icons }) {
|
||||
registerRailItem?.({
|
||||
id: railViewId,
|
||||
icon: icons.Boxes,
|
||||
labelKey: "nav.fleets",
|
||||
separatorAfter: true,
|
||||
});
|
||||
}
|
||||
|
||||
export async function unregister({ unregisterRailItem }) {
|
||||
unregisterRailItem?.(railViewId);
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
import { Boxes } from "lucide-react";
|
||||
import type {
|
||||
PanelProps,
|
||||
TabProps,
|
||||
TermixApp,
|
||||
} from "@termix/plugin-sdk/frontend";
|
||||
import { FleetsPanel } from "./FleetsPanel";
|
||||
import { FleetInventoryTab } from "./FleetInventoryTab";
|
||||
import { listFleets } from "./fleets-api";
|
||||
|
||||
const INVENTORY_TAB = "fleet-inventory";
|
||||
|
||||
function Panel({ active, shell }: PanelProps) {
|
||||
return (
|
||||
<FleetsPanel
|
||||
active={active}
|
||||
onOpenFleetInventory={(fleetId) =>
|
||||
shell.openSingletonTab(INVENTORY_TAB, { data: { fleetId } })
|
||||
}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
function InventoryTab({ tab, isVisible }: TabProps) {
|
||||
const fleetId = tab.data?.fleetId;
|
||||
return (
|
||||
<FleetInventoryTab
|
||||
fleetId={typeof fleetId === "number" ? fleetId : undefined}
|
||||
isVisible={isVisible}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
export function activate(app: TermixApp): void {
|
||||
app.registerRailItem({
|
||||
id: "fleets",
|
||||
icon: Boxes,
|
||||
titleKey: "nav.fleets",
|
||||
after: "macros",
|
||||
order: 10,
|
||||
});
|
||||
|
||||
// Kept mounted so a fleet being edited survives switching panels.
|
||||
app.registerPanel("fleets", Panel, { keepMounted: true });
|
||||
|
||||
app.registerTab(INVENTORY_TAB, InventoryTab, {
|
||||
icon: Boxes,
|
||||
titleKey: "nav.fleets",
|
||||
singleton: true,
|
||||
hostless: true,
|
||||
});
|
||||
|
||||
// Other plugins (automations' host picker) list fleets through this.
|
||||
app.registerAction("fleets.list", () => listFleets());
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
import {
|
||||
renderWithApp,
|
||||
type RenderedPluginApp,
|
||||
} from "@termix/plugin-sdk/testing";
|
||||
import type { PluginManifest } from "@termix/plugin-sdk/manifest";
|
||||
import * as plugin from "../../src/frontend/index";
|
||||
import manifestJson from "../../manifest.json";
|
||||
import locales from "../../locales/en.json";
|
||||
|
||||
const manifest = manifestJson as unknown as PluginManifest;
|
||||
|
||||
const declared = (views?: Array<{ id: string }>) =>
|
||||
(views ?? []).map((view) => view.id).sort();
|
||||
|
||||
let rendered: RenderedPluginApp | null = null;
|
||||
|
||||
afterEach(async () => {
|
||||
await rendered?.deactivate();
|
||||
rendered = null;
|
||||
});
|
||||
|
||||
describe(`${manifest.id} activate`, () => {
|
||||
it("activates and registers only views its manifest declares", async () => {
|
||||
rendered = await renderWithApp(plugin, { manifest, locales });
|
||||
const contributes = manifest.contributes as unknown as Record<
|
||||
string,
|
||||
Array<{ id: string }> | undefined
|
||||
>;
|
||||
const tabs = declared(contributes.tabs);
|
||||
// A rail panel may reuse one of the plugin's tab ids.
|
||||
const panels = [...declared(contributes.panels), ...tabs];
|
||||
const cards = declared(contributes.dashboardCards);
|
||||
for (const id of rendered.registered.tabs()) expect(tabs).toContain(id);
|
||||
for (const id of rendered.registered.panels()) expect(panels).toContain(id);
|
||||
for (const id of rendered.registered.dashboardCards()) {
|
||||
expect(cards).toContain(id);
|
||||
}
|
||||
});
|
||||
|
||||
it("removes everything it registered on deactivate", async () => {
|
||||
const app = await renderWithApp(plugin, { manifest, locales });
|
||||
await app.deactivate();
|
||||
expect(app.registered.tabs()).toEqual([]);
|
||||
expect(app.registered.panels()).toEqual([]);
|
||||
expect(app.registered.railItems()).toEqual([]);
|
||||
expect(app.registered.hostActions()).toEqual([]);
|
||||
expect(app.registered.hostEditorSections()).toEqual([]);
|
||||
expect(app.registered.dashboardCards()).toEqual([]);
|
||||
expect(app.registered.settingsComponents()).toEqual([]);
|
||||
expect(app.registered.actions()).toEqual([]);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user