mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-28 14:15: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,52 @@
|
||||
{}
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "No host selected",
|
||||
"notFound": "This endpoint no longer exists.",
|
||||
"tunnelUnreachableFromBrowser": "This endpoint tunnels to 127.0.0.1 on the machine running Termix, which your browser cannot reach. Set the endpoint's Bind Host to an address that machine answers on, such as 0.0.0.0, and give it a fixed Local Port.",
|
||||
"tunnelSharesSessionCookie": "Opening this tunnel would send your Termix session to the tunnelled service, because your browser would reach it at the same hostname Termix is served from. Cookies ignore the port, so the two cannot be told apart. Use the Termix desktop app, or open Termix at localhost.",
|
||||
"directSharesSessionCookie": "Opening this endpoint would send your Termix session to it, because your browser reaches it at the same site Termix is served from. Cookies ignore the port, so a different port is not a different identity. Use the Termix desktop app, or serve this web UI from a different hostname.",
|
||||
"retry": "Retry",
|
||||
"reload": "Reload",
|
||||
"copyUrl": "Copy URL",
|
||||
"urlCopied": "URL copied",
|
||||
"copyFailed": "Failed to copy URL",
|
||||
"openExternally": "Open externally",
|
||||
"isolationUnavailable": "This browser cannot isolate web endpoints from your Termix session. Use a browser with credentialless iframe support.",
|
||||
"isolationNotice": "Embedded pages use an isolated session. For pages requiring storage or popup sign-in, use an isolated window in the desktop app.",
|
||||
"openIsolatedWindow": "Open isolated window"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Web UI",
|
||||
"webUiEndpointLabel": "Endpoint {{number}}",
|
||||
"webUiIntegration": "Web UI",
|
||||
"webUiEndpointsSection": "Endpoints",
|
||||
"webUiRequirementsText": "A direct endpoint is opened by your browser, so its port must be reachable from here. An SSH tunnel is opened by Termix over this host's SSH connection instead, so the port only has to be reachable from the host.",
|
||||
"enableWebUi": "Enable web endpoints",
|
||||
"enableWebUiDesc": "Open this host's web interfaces from the sidebar.",
|
||||
"webUiAddEndpoint": "Add endpoint",
|
||||
"webUiAddress": "Address",
|
||||
"webUiOpening": "Opening",
|
||||
"webUiBindHostDesc": "Where the backend binds the forward. Leave blank for 127.0.0.1, which only the machine running Termix can reach.",
|
||||
"webUiBindHostExposed": "This address is reachable beyond the Termix machine, so anyone who can reach the port gets this web UI with no login.",
|
||||
"webUiLocalPort": "Local Port",
|
||||
"webUiLocalPortAuto": "Automatic",
|
||||
"webUiLocalPortDesc": "Which port the forward listens on. Leave blank to let the system pick, or set one when the port has to be known in advance, such as a container that publishes it.",
|
||||
"webUiNewEndpointLabel": "New endpoint",
|
||||
"webUiLabel": "Label",
|
||||
"webUiScheme": "Scheme",
|
||||
"webUiPort": "Port",
|
||||
"webUiPath": "Path",
|
||||
"webUiAccess": "Access",
|
||||
"webUiAccessDirect": "Direct",
|
||||
"webUiAccessTunnel": "SSH tunnel",
|
||||
"webUiAccessTunnelUnavailable": "An SSH tunnel needs SSH enabled on this host and a connection origin of this device.",
|
||||
"webUiRender": "Open in",
|
||||
"webUiRenderExternal": "Isolated desktop window",
|
||||
"webUiRenderEmbedded": "Termix tab",
|
||||
"webUiRenderEmbeddedDesc": "Embedding is best effort: some web interfaces refuse to load in a frame, and a login that relies on same-site cookies may loop. The external browser always works.",
|
||||
"webUiIgnoreCert": "Allow invalid certificate",
|
||||
"webUiIgnoreCertDesc": "Direct endpoints only. Loopback is already exempt, so this has no effect on tunnel endpoints.",
|
||||
"webUiRemoveEndpoint": "Remove endpoint",
|
||||
"webUiOpenFailed": "Failed to open the web endpoint"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Geen gasheer gekies nie",
|
||||
"notFound": "Hierdie eindpunt bestaan nie meer nie.",
|
||||
"tunnelUnreachableFromBrowser": "Hierdie eindpunt tonnel na 127.0.0.1 op die masjien wat Termix gebruik, wat jou blaaier nie kan bereik nie. Stel die eindpunt se Bind Host na 'n adres waarop die masjien antwoord, soos 0.0.0.0, en gee dit 'n vaste Lokale Poort.",
|
||||
"tunnelSharesSessionCookie": "As jy hierdie tonnel oopmaak, sal jou Termix-sessie na die getunnelde diens gestuur word, want jou blaaier sal dit bereik by dieselfde gasheernaam waarvandaan Termix bedien word. Koekies ignoreer die poort, dus kan die twee nie van mekaar onderskei word nie. Gebruik die Termix-lessenaar-app, of maak Termix oop by localhost.",
|
||||
"directSharesSessionCookie": "As jy hierdie eindpunt oopmaak, sal jou Termix-sessie daarnatoe gestuur word, want jou blaaier bereik dit op dieselfde webwerf waarvandaan Termix bedien word. Koekies ignoreer die poort, dus is 'n ander poort nie 'n ander identiteit nie. Gebruik die Termix-lessenaartoepassing of bedien hierdie web-UI vanaf 'n ander gasheernaam.",
|
||||
"retry": "Probeer weer",
|
||||
"reload": "Herlaai",
|
||||
"copyUrl": "Kopieer URL",
|
||||
"urlCopied": "URL gekopieer",
|
||||
"copyFailed": "Kon nie URL kopieer nie",
|
||||
"openExternally": "Maak ekstern oop",
|
||||
"isolationUnavailable": "Hierdie blaaier kan nie web-eindpunte van jou Termix-sessie isoleer nie. Gebruik 'n blaaier met ondersteuning vir iframes sonder geloofsbriewe.",
|
||||
"isolationNotice": "Ingeslote bladsye gebruik 'n geïsoleerde sessie. Vir bladsye wat berging of opspring-aanmelding benodig, gebruik 'n geïsoleerde venster in die rekenaarprogram.",
|
||||
"openIsolatedWindow": "Maak geïsoleerde venster oop"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Web-UI",
|
||||
"webUiEndpointLabel": "Eindpunt {{number}}",
|
||||
"webUiIntegration": "Web-UI",
|
||||
"webUiEndpointsSection": "Eindpunte",
|
||||
"webUiRequirementsText": "'n Direkte eindpunt word deur jou blaaier oopgemaak, dus moet die poort daarvan van hier af bereikbaar wees. 'n SSH-tonnel word eerder deur Termix oor hierdie gasheer se SSH-verbinding oopgemaak, dus hoef die poort slegs vanaf die gasheer bereikbaar te wees.",
|
||||
"enableWebUi": "Aktiveer web-eindpunte",
|
||||
"enableWebUiDesc": "Maak hierdie gasheer se webkoppelvlakke vanaf die sybalk oop.",
|
||||
"webUiAddEndpoint": "Voeg eindpunt by",
|
||||
"webUiAddress": "Adres",
|
||||
"webUiOpening": "Opening",
|
||||
"webUiBindHostDesc": "Waar die agterkant die voorwaartse kant bind. Los leeg vir 127.0.0.1, wat slegs die masjien wat Termix gebruik, kan bereik.",
|
||||
"webUiBindHostExposed": "Hierdie adres is bereikbaar buite die Termix-masjien, so enigiemand wat die poort kan bereik, kry hierdie web-UI sonder om aan te meld.",
|
||||
"webUiLocalPort": "Plaaslike Hawe",
|
||||
"webUiLocalPortAuto": "Outomaties",
|
||||
"webUiLocalPortDesc": "Na watter poort die aanstuurder luister. Los leeg om die stelsel toe te laat om te kies, of stel een wanneer die poort vooraf bekend moet wees, soos 'n houer wat dit publiseer.",
|
||||
"webUiNewEndpointLabel": "Nuwe eindpunt",
|
||||
"webUiLabel": "Etiket",
|
||||
"webUiScheme": "Skema",
|
||||
"webUiPort": "Hawe",
|
||||
"webUiPath": "Pad",
|
||||
"webUiAccess": "Toegang",
|
||||
"webUiAccessDirect": "Direkte",
|
||||
"webUiAccessTunnel": "SSH-tonnel",
|
||||
"webUiAccessTunnelUnavailable": "'n SSH-tonnel benodig SSH geaktiveer op hierdie gasheer en 'n verbindingsoorsprong van hierdie toestel.",
|
||||
"webUiRender": "Maak oop in",
|
||||
"webUiRenderExternal": "Geïsoleerde lessenaarvenster",
|
||||
"webUiRenderEmbedded": "Termix-oortjie",
|
||||
"webUiRenderEmbeddedDesc": "Inbedding is die beste poging: sommige webkoppelvlakke weier om in 'n raam te laai, en 'n aanmelding wat op dieselfde-webwerf-koekies staatmaak, kan 'n lus vorm. Die eksterne blaaier werk altyd.",
|
||||
"webUiIgnoreCert": "Laat ongeldige sertifikaat toe",
|
||||
"webUiIgnoreCertDesc": "Slegs direkte eindpunte. Teruglus is reeds vrygestel, dus het dit geen effek op tonneleindpunte nie.",
|
||||
"webUiRemoveEndpoint": "Verwyder eindpunt",
|
||||
"webUiOpenFailed": "Kon nie die web-eindpunt oopmaak nie"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "لم يتم تحديد أي مضيف",
|
||||
"notFound": "لم تعد هذه النقطة النهائية موجودة.",
|
||||
"tunnelUnreachableFromBrowser": "تتصل هذه النقطة الطرفية بالعنوان 127.0.0.1 على الجهاز الذي يُشغّل Termix، وهو عنوان لا يمكن لمتصفحك الوصول إليه. عيّن عنوان \"Bind Host\" لهذه النقطة الطرفية إلى عنوان يستجيب له الجهاز، مثل 0.0.0.0، وحدّد لها منفذًا محليًا ثابتًا.",
|
||||
"tunnelSharesSessionCookie": "سيؤدي فتح هذا النفق إلى توجيه جلسة Termix الخاصة بك إلى الخدمة المُمرَّرة عبر النفق، لأن متصفحك سيصل إليها عبر نفس اسم المضيف الذي يُقدَّم منه Termix. تتجاهل ملفات تعريف الارتباط رقم المنفذ، لذا لا يمكن التمييز بينهما. استخدم تطبيق Termix لسطح المكتب، أو افتح Termix على localhost.",
|
||||
"directSharesSessionCookie": "سيؤدي فتح هذه النقطة النهائية إلى توجيه جلسة Termix الخاصة بك إليها، لأن متصفحك يصل إليها من نفس الموقع الذي يُقدّم منه Termix. تتجاهل ملفات تعريف الارتباط رقم المنفذ، لذا فإن استخدام منفذ مختلف لا يعني تغيير الهوية. استخدم تطبيق Termix لسطح المكتب، أو قم بتشغيل واجهة المستخدم الرسومية هذه من اسم مضيف مختلف.",
|
||||
"retry": "إعادة المحاولة",
|
||||
"reload": "أعد تحميل الصفحة",
|
||||
"copyUrl": "انسخ الرابط",
|
||||
"urlCopied": "تم نسخ الرابط",
|
||||
"copyFailed": "فشل نسخ عنوان URL",
|
||||
"openExternally": "افتح خارجياً",
|
||||
"isolationUnavailable": "لا يستطيع هذا المتصفح عزل نقاط نهاية الويب عن جلسة Termix الخاصة بك. استخدم متصفحًا يدعم الإطارات المضمنة بدون بيانات اعتماد.",
|
||||
"isolationNotice": "تستخدم الصفحات المضمنة جلسة معزولة. أما بالنسبة للصفحات التي تتطلب تخزينًا أو تسجيل دخول منبثق، فاستخدم نافذة معزولة في تطبيق سطح المكتب.",
|
||||
"openIsolatedWindow": "نافذة مفتوحة معزولة"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "واجهة المستخدم على الويب",
|
||||
"webUiEndpointLabel": "نقطة النهاية {{number}}",
|
||||
"webUiIntegration": "واجهة المستخدم على الويب",
|
||||
"webUiEndpointsSection": "نقاط النهاية",
|
||||
"webUiRequirementsText": "يفتح متصفحك نقطة نهاية مباشرة، لذا يجب أن يكون منفذها قابلاً للوصول من هنا. أما Termix فيفتح نفق SSH عبر اتصال SSH الخاص بهذا المضيف، لذا يكفي أن يكون المنفذ قابلاً للوصول من المضيف نفسه.",
|
||||
"enableWebUi": "تفعيل نقاط نهاية الويب",
|
||||
"enableWebUiDesc": "افتح واجهات الويب الخاصة بهذا المضيف من الشريط الجانبي.",
|
||||
"webUiAddEndpoint": "إضافة نقطة نهاية",
|
||||
"webUiAddress": "عنوان",
|
||||
"webUiOpening": "افتتاح",
|
||||
"webUiBindHostDesc": "حيث يقوم الخادم الخلفي بربط التوجيه الأمامي. اترك هذا الحقل فارغًا للعنوان 127.0.0.1، والذي لا يمكن الوصول إليه إلا من خلال الجهاز الذي يُشغّل برنامج Termix.",
|
||||
"webUiBindHostExposed": "يمكن الوصول إلى هذا العنوان من خارج جهاز Termix، لذا فإن أي شخص يمكنه الوصول إلى المنفذ سيحصل على واجهة المستخدم هذه عبر الويب دون الحاجة إلى تسجيل الدخول.",
|
||||
"webUiLocalPort": "الميناء المحلي",
|
||||
"webUiLocalPortAuto": "معادلة",
|
||||
"webUiLocalPortDesc": "ما هو المنفذ الذي يستمع إليه التوجيه؟ اتركه فارغًا ليختاره النظام، أو حدد واحدًا عندما يكون من الضروري معرفة المنفذ مسبقًا، كما هو الحال في حاوية تنشره.",
|
||||
"webUiNewEndpointLabel": "نقطة نهاية جديدة",
|
||||
"webUiLabel": "ملصق",
|
||||
"webUiScheme": "مخطط",
|
||||
"webUiPort": "ميناء",
|
||||
"webUiPath": "طريق",
|
||||
"webUiAccess": "وصول",
|
||||
"webUiAccessDirect": "مباشر",
|
||||
"webUiAccessTunnel": "نفق SSH",
|
||||
"webUiAccessTunnelUnavailable": "يتطلب نفق SSH تمكين SSH على هذا المضيف ومصدر اتصال من هذا الجهاز.",
|
||||
"webUiRender": "افتح في",
|
||||
"webUiRenderExternal": "نافذة سطح المكتب المعزولة",
|
||||
"webUiRenderEmbedded": "علامة تبويب Termix",
|
||||
"webUiRenderEmbeddedDesc": "يُعدّ تضمين المحتوى أفضل محاولة ممكنة: فبعض واجهات الويب ترفض التحميل داخل إطار، وقد تتكرر عملية تسجيل الدخول التي تعتمد على ملفات تعريف الارتباط الخاصة بالموقع نفسه. أما المتصفح الخارجي فيعمل دائمًا.",
|
||||
"webUiIgnoreCert": "السماح بشهادة غير صالحة",
|
||||
"webUiIgnoreCertDesc": "نقاط النهاية المباشرة فقط. تم إعفاء نقاط نهاية Loopback بالفعل، لذا لن يكون لهذا أي تأثير على نقاط نهاية النفق.",
|
||||
"webUiRemoveEndpoint": "إزالة نقطة النهاية",
|
||||
"webUiOpenFailed": "فشل فتح نقطة نهاية الويب"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Няма избран хост",
|
||||
"notFound": "Тази крайна точка вече не съществува.",
|
||||
"tunnelUnreachableFromBrowser": "Тази крайна точка се свързва с 127.0.0.1 на машината, на която работи Termix, до която вашият браузър не може да достигне. Задайте Bind Host на крайната точка на адрес, на който машината отговаря, например 0.0.0.0, и му дайте фиксиран локален порт.",
|
||||
"tunnelSharesSessionCookie": "Отварянето на този тунел ще изпрати вашата Termix сесия към тунелираната услуга, защото вашият браузър ще я достигне на същото име на хост, от което се обслужва Termix. „Бисквитките“ игнорират порта, така че двете не могат да бъдат разграничени. Използвайте настолното приложение Termix или отворете Termix на localhost.",
|
||||
"directSharesSessionCookie": "Отварянето на тази крайна точка ще изпрати вашата Termix сесия към нея, защото вашият браузър достига до нея на същия сайт, от който се обслужва Termix. „Бисквитките“ игнорират порта, така че различен порт не е различна идентичност. Използвайте настолното приложение Termix или обслужвайте този уеб потребителски интерфейс от различно име на хост.",
|
||||
"retry": "Опитай отново",
|
||||
"reload": "Презареждане",
|
||||
"copyUrl": "Копиране на URL адрес",
|
||||
"urlCopied": "URL адресът е копиран",
|
||||
"copyFailed": "Копирането на URL адреса не бе успешно",
|
||||
"openExternally": "Отворено външно",
|
||||
"isolationUnavailable": "Този браузър не може да изолира уеб крайни точки от вашата Termix сесия. Използвайте браузър с поддръжка на iframe без идентификационни данни.",
|
||||
"isolationNotice": "Вградените страници използват изолирана сесия. За страници, изискващи място за съхранение или изскачащ вход, използвайте изолиран прозорец в настолното приложение.",
|
||||
"openIsolatedWindow": "Отворен изолиран прозорец"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Уеб потребителски интерфейс",
|
||||
"webUiEndpointLabel": "Крайна точка {{number}}",
|
||||
"webUiIntegration": "Уеб потребителски интерфейс",
|
||||
"webUiEndpointsSection": "Крайни точки",
|
||||
"webUiRequirementsText": "Директна крайна точка се отваря от вашия браузър, така че портът ѝ трябва да е достъпен оттук. Вместо това Termix отваря SSH тунел през SSH връзката на този хост, така че портът трябва да е достъпен само от хоста.",
|
||||
"enableWebUi": "Активиране на уеб крайни точки",
|
||||
"enableWebUiDesc": "Отворете уеб интерфейсите на този хост от страничната лента.",
|
||||
"webUiAddEndpoint": "Добавяне на крайна точка",
|
||||
"webUiAddress": "Адрес",
|
||||
"webUiOpening": "Откриване",
|
||||
"webUiBindHostDesc": "Където бекендът свързва пренасочващия сървър. Оставете празно за 127.0.0.1, до който може да достигне само машината, на която работи Termix.",
|
||||
"webUiBindHostExposed": "Този адрес е достъпен отвъд машината Termix, така че всеки, който може да достигне порта, получава този уеб интерфейс без вход.",
|
||||
"webUiLocalPort": "Локален порт",
|
||||
"webUiLocalPortAuto": "Автоматично",
|
||||
"webUiLocalPortDesc": "На кой порт слуша пренасочването. Оставете празно, за да позволите на системата да избере, или задайте порт, когато портът трябва да бъде известен предварително, например контейнер, който го публикува.",
|
||||
"webUiNewEndpointLabel": "Нова крайна точка",
|
||||
"webUiLabel": "Етикет",
|
||||
"webUiScheme": "Схема",
|
||||
"webUiPort": "Порт",
|
||||
"webUiPath": "Път",
|
||||
"webUiAccess": "Достъп",
|
||||
"webUiAccessDirect": "Директно",
|
||||
"webUiAccessTunnel": "SSH тунел",
|
||||
"webUiAccessTunnelUnavailable": "SSH тунелът изисква SSH да е активиран на този хост и произход на връзката на това устройство.",
|
||||
"webUiRender": "Отвори в",
|
||||
"webUiRenderExternal": "Изолиран прозорец на работния плот",
|
||||
"webUiRenderEmbedded": "раздел Термикс",
|
||||
"webUiRenderEmbeddedDesc": "Вграждането е най-добрият начин: някои уеб интерфейси отказват да се заредят в кадър и влизане, което разчита на „бисквитки“ на същия сайт, може да се зацикли. Външният браузър винаги работи.",
|
||||
"webUiIgnoreCert": "Разрешаване на невалиден сертификат",
|
||||
"webUiIgnoreCertDesc": "Само директни крайни точки. Loopback вече е изключен, така че това няма ефект върху крайните точки на тунела.",
|
||||
"webUiRemoveEndpoint": "Премахване на крайната точка",
|
||||
"webUiOpenFailed": "Неуспешно отваряне на уеб крайната точка"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "কোন হোস্ট নির্বাচন করা হয়নি",
|
||||
"notFound": "এই এন্ডপয়েন্টটি আর বিদ্যমান নেই।",
|
||||
"tunnelUnreachableFromBrowser": "এই এন্ডপয়েন্টটি Termix চালিত মেশিনের 127.0.0.1-এ টানেল করে, যেখানে আপনার ব্রাউজার পৌঁছাতে পারে না। এন্ডপয়েন্টটির বাইন্ড হোস্ট এমন একটি অ্যাড্রেসে সেট করুন যেখান থেকে ওই মেশিনটি সাড়া দেয়, যেমন 0.0.0.0, এবং এটিকে একটি নির্দিষ্ট লোকাল পোর্ট দিন।",
|
||||
"tunnelSharesSessionCookie": "এই টানেলটি খুললে আপনার টার্মিক্স সেশনটি টানেল করা পরিষেবাতে চলে যাবে, কারণ আপনার ব্রাউজারটি সেই একই হোস্টনেমে পরিষেবাটি পাবে যেখান থেকে টার্মিক্স পরিবেশিত হয়। কুকি পোর্টকে উপেক্ষা করে, তাই এই দুটিকে আলাদা করা যায় না। টার্মিক্স ডেস্কটপ অ্যাপ ব্যবহার করুন, অথবা লোকালহোস্টে টার্মিক্স খুলুন।",
|
||||
"directSharesSessionCookie": "এই এন্ডপয়েন্টটি খুললে আপনার টার্মিক্স সেশনটি সেখানে চলে যাবে, কারণ আপনার ব্রাউজারটি সেই একই সাইট থেকে এটিতে পৌঁছায় যেখান থেকে টার্মিক্স পরিবেশিত হয়। কুকি পোর্টকে উপেক্ষা করে, তাই একটি ভিন্ন পোর্ট কোনো ভিন্ন পরিচয় নয়। টার্মিক্স ডেস্কটপ অ্যাপ ব্যবহার করুন, অথবা এই ওয়েব ইউআইটি একটি ভিন্ন হোস্টনেম থেকে পরিবেশন করুন।",
|
||||
"retry": "পুনরায় চেষ্টা করুন",
|
||||
"reload": "পুনরায় লোড করুন",
|
||||
"copyUrl": "ইউআরএল কপি করুন",
|
||||
"urlCopied": "URL কপি করা হয়েছে",
|
||||
"copyFailed": "URL কপি করতে ব্যর্থ হয়েছে",
|
||||
"openExternally": "বাইরে খুলুন",
|
||||
"isolationUnavailable": "এই ব্রাউজারটি আপনার টারমিক্স সেশন থেকে ওয়েব এন্ডপয়েন্টগুলোকে আলাদা করতে পারে না। ক্রেডেনশিয়ালবিহীন আইফ্রেম সমর্থন করে এমন একটি ব্রাউজার ব্যবহার করুন।",
|
||||
"isolationNotice": "এমবেডেড পেজগুলো একটি আইসোলেটেড সেশন ব্যবহার করে। যেসব পেজের জন্য স্টোরেজ বা পপ-আপ সাইন-ইন প্রয়োজন, সেগুলোর জন্য ডেস্কটপ অ্যাপে একটি আইসোলেটেড উইন্ডো ব্যবহার করুন।",
|
||||
"openIsolatedWindow": "বিচ্ছিন্ন জানালা খুলুন"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "ওয়েব UI",
|
||||
"webUiEndpointLabel": "শেষবিন্দু {{number}}",
|
||||
"webUiIntegration": "ওয়েব UI",
|
||||
"webUiEndpointsSection": "এন্ডপয়েন্ট",
|
||||
"webUiRequirementsText": "আপনার ব্রাউজার একটি সরাসরি এন্ডপয়েন্ট খোলে, তাই এর পোর্টটি এখান থেকে অ্যাক্সেসযোগ্য হতে হবে। এর পরিবর্তে, Termix এই হোস্টের SSH সংযোগের মাধ্যমে একটি SSH টানেল খোলে, তাই পোর্টটি শুধুমাত্র হোস্ট থেকে অ্যাক্সেসযোগ্য হলেই চলে।",
|
||||
"enableWebUi": "ওয়েব এন্ডপয়েন্টগুলি সক্ষম করুন",
|
||||
"enableWebUiDesc": "সাইডবার থেকে এই হোস্টের ওয়েব ইন্টারফেসগুলো খুলুন।",
|
||||
"webUiAddEndpoint": "এন্ডপয়েন্ট যোগ করুন",
|
||||
"webUiAddress": "ঠিকানা",
|
||||
"webUiOpening": "উদ্বোধন",
|
||||
"webUiBindHostDesc": "যেখানে ব্যাকএন্ড ফরওয়ার্ডটি বাইন্ড করে। 127.0.0.1-এর জন্য এই স্থানটি খালি রাখুন, কারণ শুধুমাত্র Termix চালিত মেশিনটিই এখানে পৌঁছাতে পারে।",
|
||||
"webUiBindHostExposed": "এই অ্যাড্রেসটি টারমিক্স মেশিনের বাইরেও অ্যাক্সেসযোগ্য, তাই যে কেউ পোর্টটিতে অ্যাক্সেস করতে পারলেই কোনো লগইন ছাড়াই এই ওয়েব UI-টি ব্যবহার করতে পারবে।",
|
||||
"webUiLocalPort": "স্থানীয় বন্দর",
|
||||
"webUiLocalPortAuto": "স্বয়ংক্রিয়",
|
||||
"webUiLocalPortDesc": "ফরওয়ার্ডটি কোন পোর্টে শুনবে। সিস্টেমকে বেছে নিতে দেওয়ার জন্য এটি খালি রাখুন, অথবা যখন পোর্টটি আগে থেকে জানা প্রয়োজন, যেমন কোনো কন্টেইনার যা এটি প্রকাশ করে, তখন একটি সেট করুন।",
|
||||
"webUiNewEndpointLabel": "নতুন এন্ডপয়েন্ট",
|
||||
"webUiLabel": "লেবেল",
|
||||
"webUiScheme": "পরিকল্পনা",
|
||||
"webUiPort": "বন্দর",
|
||||
"webUiPath": "পথ",
|
||||
"webUiAccess": "অ্যাক্সেস",
|
||||
"webUiAccessDirect": "সরাসরি",
|
||||
"webUiAccessTunnel": "এসএসএইচ টানেল",
|
||||
"webUiAccessTunnelUnavailable": "একটি SSH টানেলের জন্য এই হোস্টে SSH সক্রিয় থাকতে হবে এবং সংযোগের উৎস হিসেবে এই ডিভাইসটি প্রয়োজন।",
|
||||
"webUiRender": "খুলুন",
|
||||
"webUiRenderExternal": "বিচ্ছিন্ন ডেস্কটপ উইন্ডো",
|
||||
"webUiRenderEmbedded": "টার্মিক্স ট্যাব",
|
||||
"webUiRenderEmbeddedDesc": "এমবেডিং-এর ক্ষেত্রে সর্বোচ্চ চেষ্টা করা হয়: কিছু ওয়েব ইন্টারফেস ফ্রেমে লোড হতে চায় না, এবং একই-সাইট কুকির উপর নির্ভরশীল লগইন একটি লুপে আটকে যেতে পারে। বাহ্যিক ব্রাউজারটি সবসময় কাজ করে।",
|
||||
"webUiIgnoreCert": "অবৈধ সার্টিফিকেট অনুমোদন করুন",
|
||||
"webUiIgnoreCertDesc": "শুধুমাত্র ডাইরেক্ট এন্ডপয়েন্টগুলোর জন্য প্রযোজ্য। লুপব্যাক ইতিমধ্যে অব্যাহতিপ্রাপ্ত, তাই টানেল এন্ডপয়েন্টগুলোর উপর এর কোনো প্রভাব নেই।",
|
||||
"webUiRemoveEndpoint": "এন্ডপয়েন্ট সরান",
|
||||
"webUiOpenFailed": "ওয়েব এন্ডপয়েন্ট খুলতে ব্যর্থ হয়েছে"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "No s'ha seleccionat cap amfitrió",
|
||||
"notFound": "Aquest punt final ja no existeix.",
|
||||
"tunnelUnreachableFromBrowser": "Aquest punt final connecta a 127.0.0.1 a la màquina que executa Termix, a la qual el navegador no pot arribar. Establiu l'amfitrió d'enllaç del punt final a una adreça a la qual la màquina respongui, com ara 0.0.0.0, i doneu-li un port local fix.",
|
||||
"tunnelSharesSessionCookie": "Si obriu aquest túnel, la vostra sessió de Termix s'enviaria al servei tunelitzat, perquè el vostre navegador hi arribaria amb el mateix nom d'amfitrió des del qual es serveix Termix. Les galetes ignoren el port, de manera que no es poden distingir. Feu servir l'aplicació d'escriptori de Termix o obriu Termix a localhost.",
|
||||
"directSharesSessionCookie": "Si obriu aquest punt final, la vostra sessió de Termix s'hi enviaria, perquè el vostre navegador hi arriba al mateix lloc des d'on es serveix Termix. Les galetes ignoren el port, de manera que un port diferent no és una identitat diferent. Feu servir l'aplicació d'escriptori de Termix o serviu aquesta interfície d'usuari web des d'un nom d'amfitrió diferent.",
|
||||
"retry": "Torna-ho a intentar",
|
||||
"reload": "Torna a carregar",
|
||||
"copyUrl": "Copia l'URL",
|
||||
"urlCopied": "URL copiada",
|
||||
"copyFailed": "No s'ha pogut copiar l'URL",
|
||||
"openExternally": "Obre externament",
|
||||
"isolationUnavailable": "Aquest navegador no pot aïllar els punts finals web de la vostra sessió de Termix. Feu servir un navegador que admeti iframes sense credencials.",
|
||||
"isolationNotice": "Les pàgines incrustades utilitzen una sessió aïllada. Per a les pàgines que requereixen emmagatzematge o inici de sessió emergent, utilitzeu una finestra aïllada a l'aplicació d'escriptori.",
|
||||
"openIsolatedWindow": "Finestra aïllada oberta"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Interfície d'usuari web",
|
||||
"webUiEndpointLabel": "Punt final {{number}}",
|
||||
"webUiIntegration": "Interfície d'usuari web",
|
||||
"webUiEndpointsSection": "Punts finals",
|
||||
"webUiRequirementsText": "El navegador obre un punt final directe, de manera que el seu port ha de ser accessible des d'aquí. Termix obre un túnel SSH a través de la connexió SSH d'aquest host, de manera que el port només ha de ser accessible des de l'host.",
|
||||
"enableWebUi": "Habilita els punts finals web",
|
||||
"enableWebUiDesc": "Obriu les interfícies web d'aquest amfitrió des de la barra lateral.",
|
||||
"webUiAddEndpoint": "Afegeix un punt final",
|
||||
"webUiAddress": "Adreça",
|
||||
"webUiOpening": "Obertura",
|
||||
"webUiBindHostDesc": "On el backend enllaça amb el forward. Deixeu en blanc per a 127.0.0.1, que només pot assolir la màquina que executa Termix.",
|
||||
"webUiBindHostExposed": "Aquesta adreça és accessible més enllà de la màquina Termix, de manera que qualsevol persona que pugui accedir al port obté aquesta interfície web sense necessitat d'iniciar sessió.",
|
||||
"webUiLocalPort": "Port local",
|
||||
"webUiLocalPortAuto": "Automàtic",
|
||||
"webUiLocalPortDesc": "Port on escolta el reenviament. Deixeu-ho en blanc perquè el sistema el seleccioni o definiu-ne un quan el port s'hagi de conèixer per endavant, com ara un contenidor que el publica.",
|
||||
"webUiNewEndpointLabel": "Nou punt final",
|
||||
"webUiLabel": "Etiqueta",
|
||||
"webUiScheme": "Esquema",
|
||||
"webUiPort": "Port",
|
||||
"webUiPath": "Camí",
|
||||
"webUiAccess": "Accés",
|
||||
"webUiAccessDirect": "Directe",
|
||||
"webUiAccessTunnel": "Túnel SSH",
|
||||
"webUiAccessTunnelUnavailable": "Un túnel SSH necessita SSH habilitat en aquest host i un origen de connexió d'aquest dispositiu.",
|
||||
"webUiRender": "Obre en",
|
||||
"webUiRenderExternal": "Finestra d'escriptori aïllada",
|
||||
"webUiRenderEmbedded": "Pestanya Termix",
|
||||
"webUiRenderEmbeddedDesc": "La incrustació és el millor esforç: algunes interfícies web es neguen a carregar-se en un marc i un inici de sessió que depèn de les galetes del mateix lloc pot repetir-se. El navegador extern sempre funciona.",
|
||||
"webUiIgnoreCert": "Permetre certificat no vàlid",
|
||||
"webUiIgnoreCertDesc": "Només punts finals directes. El bucle ja està exempt, per tant, això no té cap efecte sobre els punts finals del túnel.",
|
||||
"webUiRemoveEndpoint": "Elimina el punt final",
|
||||
"webUiOpenFailed": "No s'ha pogut obrir el punt final web."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Nebyl vybrán žádný hostitel",
|
||||
"notFound": "Tento koncový bod již neexistuje.",
|
||||
"tunnelUnreachableFromBrowser": "Tento koncový bod se tunelově připojuje k adrese 127.0.0.1 na počítači se spuštěným programem Termix, ke které se váš prohlížeč nemůže dostat. Nastavte Bind Host koncového bodu na adresu, na které počítač odpovídá, například 0.0.0.0, a přidělte mu pevný lokální port.",
|
||||
"tunnelSharesSessionCookie": "Otevřením tohoto tunelu by se vaše relace Termixu odeslala na tunelovanou službu, protože by se k ní váš prohlížeč dostal na stejném hostitelském názvu, ze kterého je Termix obsluhován. Soubory cookie ignorují port, takže tyto dva servery nelze od sebe rozlišit. Použijte desktopovou aplikaci Termix nebo otevřete Termix na localhostu.",
|
||||
"directSharesSessionCookie": "Otevřením tohoto koncového bodu by se vaše relace Termixu odeslala na něj, protože váš prohlížeč se k němu připojuje na stejném webu, ze kterého je Termix obsluhován. Soubory cookie port ignorují, takže jiný port nepředstavuje jinou identitu. Použijte desktopovou aplikaci Termix nebo toto webové uživatelské rozhraní obsluhujte z jiného názvu hostitele.",
|
||||
"retry": "Zkusit znovu",
|
||||
"reload": "Znovu načíst",
|
||||
"copyUrl": "Kopírovat URL",
|
||||
"urlCopied": "URL zkopírována",
|
||||
"copyFailed": "Kopírování adresy URL se nezdařilo",
|
||||
"openExternally": "Otevřít externě",
|
||||
"isolationUnavailable": "Tento prohlížeč nedokáže izolovat webové koncové body od vaší relace Termix. Použijte prohlížeč s podporou iframe bez přihlašovacích údajů.",
|
||||
"isolationNotice": "Vložené stránky používají izolovanou relaci. Pro stránky vyžadující úložiště nebo vyskakovací přihlášení použijte v desktopové aplikaci izolované okno.",
|
||||
"openIsolatedWindow": "Otevřené izolované okno"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Webové uživatelské rozhraní",
|
||||
"webUiEndpointLabel": "Koncový bod {{number}}",
|
||||
"webUiIntegration": "Webové uživatelské rozhraní",
|
||||
"webUiEndpointsSection": "Koncové body",
|
||||
"webUiRequirementsText": "Prohlížeč otevírá přímý koncový bod, takže jeho port musí být odtud dosažitelný. Termix místo toho otevírá SSH tunel přes SSH připojení tohoto hostitele, takže port musí být dostupný pouze z hostitele.",
|
||||
"enableWebUi": "Povolit webové koncové body",
|
||||
"enableWebUiDesc": "Otevřete webová rozhraní tohoto hostitele z postranního panelu.",
|
||||
"webUiAddEndpoint": "Přidat koncový bod",
|
||||
"webUiAddress": "Adresa",
|
||||
"webUiOpening": "Otevírací",
|
||||
"webUiBindHostDesc": "Kam se backend váže s forwardem. Pro 127.0.0.1, ke které má přístup pouze počítač se systémem Termix, nechte prázdné.",
|
||||
"webUiBindHostExposed": "Tato adresa je dosažitelná i mimo počítač Termix, takže kdokoli, kdo má přístup k portu, získá toto webové rozhraní bez nutnosti přihlášení.",
|
||||
"webUiLocalPort": "Místní port",
|
||||
"webUiLocalPortAuto": "Automatický",
|
||||
"webUiLocalPortDesc": "Na kterém portu naslouchá forwarding. Ponechte prázdné, pokud chcete, aby si systém vybral, nebo nastavte port, pokud musí být port znám předem, například v případě kontejneru, který jej publikuje.",
|
||||
"webUiNewEndpointLabel": "Nový koncový bod",
|
||||
"webUiLabel": "Označení",
|
||||
"webUiScheme": "Systém",
|
||||
"webUiPort": "Přístav",
|
||||
"webUiPath": "Cesta",
|
||||
"webUiAccess": "Přístup",
|
||||
"webUiAccessDirect": "Řídit",
|
||||
"webUiAccessTunnel": "SSH tunel",
|
||||
"webUiAccessTunnelUnavailable": "SSH tunel vyžaduje povolené SSH na tomto hostiteli a původ připojení na tomto zařízení.",
|
||||
"webUiRender": "Otevřít v",
|
||||
"webUiRenderExternal": "Izolované okno plochy",
|
||||
"webUiRenderEmbedded": "Záložka Termix",
|
||||
"webUiRenderEmbeddedDesc": "Vkládání je nejlepším řešením: některá webová rozhraní se odmítají načíst v rámci a přihlášení, které se spoléhá na soubory cookie stejného webu, se může zacyklit. Externí prohlížeč funguje vždy.",
|
||||
"webUiIgnoreCert": "Povolit neplatný certifikát",
|
||||
"webUiIgnoreCertDesc": "Pouze přímé koncové body. Zpětná smyčka je již vyňata, takže to nemá žádný vliv na koncové body tunelu.",
|
||||
"webUiRemoveEndpoint": "Odebrat koncový bod",
|
||||
"webUiOpenFailed": "Nepodařilo se otevřít webový koncový bod"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Ingen vært valgt",
|
||||
"notFound": "Dette slutpunkt findes ikke længere.",
|
||||
"tunnelUnreachableFromBrowser": "Dette endpoint tunnelerer til 127.0.0.1 på den maskine, der kører Termix, som din browser ikke kan nå. Indstil endpointens Bind Host til en adresse, som maskinen svarer på, f.eks. 0.0.0.0, og giv den en fast lokal port.",
|
||||
"tunnelSharesSessionCookie": "Åbning af denne tunnel ville sende din Termix-session til den tunnelerede tjeneste, fordi din browser ville nå den på det samme værtsnavn, som Termix serveres fra. Cookies ignorerer porten, så de to kan ikke skelnes fra hinanden. Brug Termix-desktopappen, eller åbn Termix på localhost.",
|
||||
"directSharesSessionCookie": "Åbning af dette slutpunkt ville sende din Termix-session til det, fordi din browser når det på det samme sted, som Termix serveres fra. Cookies ignorerer porten, så en anden port er ikke en anden identitet. Brug Termix-desktopappen, eller server denne webgrænseflade fra et andet værtsnavn.",
|
||||
"retry": "Prøv igen",
|
||||
"reload": "Genindlæs",
|
||||
"copyUrl": "Kopiér URL",
|
||||
"urlCopied": "URL kopieret",
|
||||
"copyFailed": "Kunne ikke kopiere URL'en",
|
||||
"openExternally": "Åbn eksternt",
|
||||
"isolationUnavailable": "Denne browser kan ikke isolere web-slutpunkter fra din Termix-session. Brug en browser med understøttelse af iframes uden legitimationsoplysninger.",
|
||||
"isolationNotice": "Integrerede sider bruger en isoleret session. For sider, der kræver lagerplads eller pop op-login, skal du bruge et isoleret vindue i desktop-appen.",
|
||||
"openIsolatedWindow": "Åbn isoleret vindue"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Webgrænseflade",
|
||||
"webUiEndpointLabel": "Endepunkt {{number}}",
|
||||
"webUiIntegration": "Webgrænseflade",
|
||||
"webUiEndpointsSection": "Endepunkter",
|
||||
"webUiRequirementsText": "Et direkte slutpunkt åbnes af din browser, så dens port skal kunne nås herfra. En SSH-tunnel åbnes i stedet af Termix over denne værts SSH-forbindelse, så porten skal kun kunne nås fra værten.",
|
||||
"enableWebUi": "Aktivér webslutpunkter",
|
||||
"enableWebUiDesc": "Åbn denne værts webgrænseflader fra sidebjælken.",
|
||||
"webUiAddEndpoint": "Tilføj slutpunkt",
|
||||
"webUiAddress": "Adresse",
|
||||
"webUiOpening": "Åbning",
|
||||
"webUiBindHostDesc": "Hvor backend binder forward. Lad feltet 127.0.0.1 stå tomt, som kun den maskine, der kører Termix, kan nå.",
|
||||
"webUiBindHostExposed": "Denne adresse kan nås ud over Termix-maskinen, så alle, der kan nå porten, får denne webgrænseflade uden login.",
|
||||
"webUiLocalPort": "Lokal havn",
|
||||
"webUiLocalPortAuto": "Automatisk",
|
||||
"webUiLocalPortDesc": "Hvilken port videresendelsen lytter på. Lad feltet stå tomt for at lade systemet vælge, eller angiv en port, når porten skal være kendt på forhånd, f.eks. en container, der udgiver den.",
|
||||
"webUiNewEndpointLabel": "Nyt slutpunkt",
|
||||
"webUiLabel": "Mærke",
|
||||
"webUiScheme": "Ordning",
|
||||
"webUiPort": "Havn",
|
||||
"webUiPath": "Sti",
|
||||
"webUiAccess": "Adgang",
|
||||
"webUiAccessDirect": "Direkte",
|
||||
"webUiAccessTunnel": "SSH-tunnel",
|
||||
"webUiAccessTunnelUnavailable": "En SSH-tunnel kræver, at SSH er aktiveret på denne vært, og at denne enhed har en forbindelsesoprindelse.",
|
||||
"webUiRender": "Åbn om",
|
||||
"webUiRenderExternal": "Isoleret skrivebordsvindue",
|
||||
"webUiRenderEmbedded": "Termix-fanen",
|
||||
"webUiRenderEmbeddedDesc": "Indlejring er den bedste løsning: nogle webgrænseflader nægter at indlæse i en frame, og et login, der er afhængig af cookies fra samme websted, kan gå i løkke. Den eksterne browser fungerer altid.",
|
||||
"webUiIgnoreCert": "Tillad ugyldigt certifikat",
|
||||
"webUiIgnoreCertDesc": "Kun direkte slutpunkter. Loopback er allerede undtaget, så dette har ingen effekt på tunnelslutpunkter.",
|
||||
"webUiRemoveEndpoint": "Fjern slutpunkt",
|
||||
"webUiOpenFailed": "Kunne ikke åbne web-slutpunktet"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Kein Host ausgewählt",
|
||||
"notFound": "Dieser Endpunkt existiert nicht mehr.",
|
||||
"tunnelUnreachableFromBrowser": "Dieser Endpunkt leitet eine Verbindung zu 127.0.0.1 auf dem Rechner weiter, auf dem Termix ausgeführt wird. Ihr Browser kann diese Adresse nicht erreichen. Legen Sie für den Endpunkt als Bind-Host eine Adresse fest, unter der dieser Rechner antwortet, z. B. 0.0.0.0, und weisen Sie ihm einen festen lokalen Port zu.",
|
||||
"tunnelSharesSessionCookie": "Durch das Öffnen dieses Tunnels wird Ihre Termix-Sitzung an den getunnelten Dienst weitergeleitet, da Ihr Browser diesen unter demselben Hostnamen erreicht, unter dem Termix bereitgestellt wird. Cookies ignorieren den Port, daher können die beiden nicht unterschieden werden. Verwenden Sie die Termix-Desktop-App oder öffnen Sie Termix auf localhost.",
|
||||
"directSharesSessionCookie": "Wenn Sie diesen Endpunkt öffnen, wird Ihre Termix-Sitzung dorthin gesendet, da Ihr Browser ihn über dieselbe Website erreicht, von der auch Termix bereitgestellt wird. Cookies ignorieren den Port, daher bedeutet ein anderer Port keine andere Identität. Verwenden Sie die Termix-Desktop-App oder stellen Sie diese Web-Oberfläche über einen anderen Hostnamen bereit.",
|
||||
"retry": "Wiederholen",
|
||||
"reload": "Neu laden",
|
||||
"copyUrl": "URL kopieren",
|
||||
"urlCopied": "URL kopiert",
|
||||
"copyFailed": "URL konnte nicht kopiert werden",
|
||||
"openExternally": "Von außen öffnen",
|
||||
"isolationUnavailable": "Dieser Browser kann Web-Endpunkte nicht von Ihrer Termix-Sitzung isolieren. Verwenden Sie einen Browser, der iFrames ohne Anmeldeinformationen unterstützt.",
|
||||
"isolationNotice": "Eingebettete Seiten verwenden eine separate Sitzung. Für Seiten, die Speicherplatz benötigen oder eine Popup-Anmeldung erfordern, verwenden Sie ein separates Fenster in der Desktop-App.",
|
||||
"openIsolatedWindow": "Isoliertes Fenster öffnen"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Web-Benutzeroberfläche",
|
||||
"webUiEndpointLabel": "Endpunkt {{number}}",
|
||||
"webUiIntegration": "Web-Benutzeroberfläche",
|
||||
"webUiEndpointsSection": "Endpunkte",
|
||||
"webUiRequirementsText": "Ihr Browser öffnet einen direkten Endpunkt, daher muss dessen Port von hier aus erreichbar sein. Termix öffnet stattdessen einen SSH-Tunnel über die SSH-Verbindung dieses Hosts, sodass der Port nur vom Host aus erreichbar sein muss.",
|
||||
"enableWebUi": "Web-Endpunkte aktivieren",
|
||||
"enableWebUiDesc": "Öffnen Sie die Web-Oberflächen dieses Hosts über die Seitenleiste.",
|
||||
"webUiAddEndpoint": "Endpunkt hinzufügen",
|
||||
"webUiAddress": "Adresse",
|
||||
"webUiOpening": "Öffnung",
|
||||
"webUiBindHostDesc": "Hier bindet das Backend das Forwarding. Lassen Sie das Feld für 127.0.0.1 leer, da diese Adresse nur von dem Rechner aus erreichbar ist, auf dem Termix läuft.",
|
||||
"webUiBindHostExposed": "Diese Adresse ist auch außerhalb des Termix-Rechners erreichbar, sodass jeder, der den Port erreichen kann, diese Web-Oberfläche ohne Anmeldung aufrufen kann.",
|
||||
"webUiLocalPort": "Lokaler Hafen",
|
||||
"webUiLocalPortAuto": "Automatisch",
|
||||
"webUiLocalPortDesc": "Auf welchem Port der Forwarder lauscht. Lassen Sie das Feld leer, damit das System einen Port auswählt, oder geben Sie einen Port an, wenn dieser im Voraus bekannt sein muss, z. B. von einem Container, der ihn veröffentlicht.",
|
||||
"webUiNewEndpointLabel": "Neuer Endpunkt",
|
||||
"webUiLabel": "Etikett",
|
||||
"webUiScheme": "Schema",
|
||||
"webUiPort": "Hafen",
|
||||
"webUiPath": "Weg",
|
||||
"webUiAccess": "Zugang",
|
||||
"webUiAccessDirect": "Direkt",
|
||||
"webUiAccessTunnel": "SSH-Tunnel",
|
||||
"webUiAccessTunnelUnavailable": "Für einen SSH-Tunnel muss SSH auf diesem Host aktiviert sein und dieses Gerät als Verbindungsursprung verwendet werden.",
|
||||
"webUiRender": "Öffnen in",
|
||||
"webUiRenderExternal": "Isoliertes Desktop-Fenster",
|
||||
"webUiRenderEmbedded": "Termix-Registerkarte",
|
||||
"webUiRenderEmbeddedDesc": "Die Einbettung funktioniert nach bestem Bemühen: Manche Web-Oberflächen lassen sich nicht in einem Frame laden, und ein Login, der auf Same-Site-Cookies basiert, kann in einer Endlosschleife hängen bleiben. Der externe Browser funktioniert immer.",
|
||||
"webUiIgnoreCert": "Ungültiges Zertifikat zulassen",
|
||||
"webUiIgnoreCertDesc": "Nur direkte Endpunkte. Loopback ist bereits ausgenommen, daher hat dies keine Auswirkungen auf Tunnelendpunkte.",
|
||||
"webUiRemoveEndpoint": "Endpunkt entfernen",
|
||||
"webUiOpenFailed": "Der Web-Endpunkt konnte nicht geöffnet werden."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Δεν έχει επιλεγεί κεντρικός υπολογιστής",
|
||||
"notFound": "Αυτό το τελικό σημείο δεν υπάρχει πλέον.",
|
||||
"tunnelUnreachableFromBrowser": "Αυτό το τελικό σημείο συνδέεται με την διεύθυνση 127.0.0.1 στον υπολογιστή που εκτελεί το Termix, στην οποία δεν μπορεί να φτάσει το πρόγραμμα περιήγησής σας. Ορίστε τον Bind Host του τελικού σημείου σε μια διεύθυνση στην οποία απαντά ο υπολογιστής, όπως 0.0.0.0, και δώστε του μια σταθερή τοπική θύρα.",
|
||||
"tunnelSharesSessionCookie": "Το άνοιγμα αυτής της σήραγγας θα στείλει την συνεδρία σας στο Termix στην υπηρεσία που βρίσκεται σε σήραγγα, επειδή το πρόγραμμα περιήγησής σας θα φτάσει σε αυτήν με το ίδιο όνομα κεντρικού υπολογιστή από το οποίο εξυπηρετείται το Termix. Τα cookies αγνοούν τη θύρα, επομένως δεν είναι δυνατή η διάκριση μεταξύ των δύο. Χρησιμοποιήστε την εφαρμογή Termix για υπολογιστές ή ανοίξτε το Termix στο localhost.",
|
||||
"directSharesSessionCookie": "Το άνοιγμα αυτού του τελικού σημείου θα στείλει την περίοδο λειτουργίας του Termix σε αυτό, επειδή το πρόγραμμα περιήγησής σας φτάνει σε αυτό από τον ίδιο ιστότοπο από τον οποίο παρέχεται το Termix. Τα cookies αγνοούν τη θύρα, επομένως μια διαφορετική θύρα δεν αποτελεί διαφορετική ταυτότητα. Χρησιμοποιήστε την εφαρμογή Termix για υπολογιστές ή εκτελέστε αυτό το περιβάλλον χρήστη ιστού από διαφορετικό όνομα κεντρικού υπολογιστή.",
|
||||
"retry": "Δοκιμάζω πάλι",
|
||||
"reload": "Γεμίζω πάλι",
|
||||
"copyUrl": "Αντιγραφή URL",
|
||||
"urlCopied": "Η διεύθυνση URL αντιγράφηκε",
|
||||
"copyFailed": "Η αντιγραφή της διεύθυνσης URL απέτυχε",
|
||||
"openExternally": "Άνοιγμα εξωτερικά",
|
||||
"isolationUnavailable": "Αυτό το πρόγραμμα περιήγησης δεν μπορεί να απομονώσει τα τελικά σημεία ιστού από την περίοδο λειτουργίας Termix. Χρησιμοποιήστε ένα πρόγραμμα περιήγησης με υποστήριξη iframe χωρίς διαπιστευτήρια.",
|
||||
"isolationNotice": "Οι ενσωματωμένες σελίδες χρησιμοποιούν μια απομονωμένη περίοδο σύνδεσης. Για σελίδες που απαιτούν χώρο αποθήκευσης ή σύνδεση σε αναδυόμενο παράθυρο, χρησιμοποιήστε ένα απομονωμένο παράθυρο στην εφαρμογή για υπολογιστές.",
|
||||
"openIsolatedWindow": "Άνοιγμα απομονωμένου παραθύρου"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Διεπαφή χρήστη ιστού",
|
||||
"webUiEndpointLabel": "Τελικό σημείο {{number}}",
|
||||
"webUiIntegration": "Διεπαφή χρήστη ιστού",
|
||||
"webUiEndpointsSection": "Τελικά σημεία",
|
||||
"webUiRequirementsText": "Ένα άμεσο τελικό σημείο ανοίγει από το πρόγραμμα περιήγησής σας, επομένως η θύρα του πρέπει να είναι προσβάσιμη από εδώ. Μια σήραγγα SSH ανοίγει από το Termix μέσω της σύνδεσης SSH αυτού του κεντρικού υπολογιστή, επομένως η θύρα πρέπει να είναι προσβάσιμη μόνο από τον κεντρικό υπολογιστή.",
|
||||
"enableWebUi": "Ενεργοποίηση τελικών σημείων ιστού",
|
||||
"enableWebUiDesc": "Ανοίξτε τις διεπαφές ιστού αυτού του κεντρικού υπολογιστή από την πλαϊνή γραμμή.",
|
||||
"webUiAddEndpoint": "Προσθήκη τελικού σημείου",
|
||||
"webUiAddress": "Διεύθυνση",
|
||||
"webUiOpening": "Ανοιγμα",
|
||||
"webUiBindHostDesc": "Όπου το backend συνδέει το forward. Αφήστε κενό για το 127.0.0.1, το οποίο μπορεί να φτάσει μόνο το μηχάνημα που εκτελεί το Termix.",
|
||||
"webUiBindHostExposed": "Αυτή η διεύθυνση είναι προσβάσιμη πέρα από το μηχάνημα Termix, επομένως όποιος μπορεί να φτάσει στη θύρα λαμβάνει αυτό το περιβάλλον χρήστη ιστού χωρίς σύνδεση.",
|
||||
"webUiLocalPort": "Τοπικό Λιμάνι",
|
||||
"webUiLocalPortAuto": "Αυτόματο",
|
||||
"webUiLocalPortDesc": "Σε ποια θύρα ακούει η προώθηση. Αφήστε το κενό για να επιλέξει το σύστημα ή ορίστε μία όταν η θύρα πρέπει να είναι γνωστή εκ των προτέρων, όπως ένα κοντέινερ που τη δημοσιεύει.",
|
||||
"webUiNewEndpointLabel": "Νέο τελικό σημείο",
|
||||
"webUiLabel": "Επιγραφή",
|
||||
"webUiScheme": "Σχέδιο",
|
||||
"webUiPort": "Λιμάνι",
|
||||
"webUiPath": "Μονοπάτι",
|
||||
"webUiAccess": "Πρόσβαση",
|
||||
"webUiAccessDirect": "Απευθείας",
|
||||
"webUiAccessTunnel": "Σήραγγα SSH",
|
||||
"webUiAccessTunnelUnavailable": "Μια σήραγγα SSH απαιτεί ενεργοποιημένο SSH σε αυτόν τον κεντρικό υπολογιστή και μια προέλευση σύνδεσης αυτής της συσκευής.",
|
||||
"webUiRender": "Άνοιγμα σε",
|
||||
"webUiRenderExternal": "Απομονωμένο παράθυρο επιφάνειας εργασίας",
|
||||
"webUiRenderEmbedded": "Καρτέλα Termix",
|
||||
"webUiRenderEmbeddedDesc": "Η ενσωμάτωση είναι η καλύτερη δυνατή προσπάθεια: ορισμένες διεπαφές ιστού αρνούνται να φορτώσουν σε ένα πλαίσιο και μια σύνδεση που βασίζεται σε cookies του ίδιου ιστότοπου ενδέχεται να επαναλαμβάνεται. Το εξωτερικό πρόγραμμα περιήγησης λειτουργεί πάντα.",
|
||||
"webUiIgnoreCert": "Να επιτρέπεται το μη έγκυρο πιστοποιητικό",
|
||||
"webUiIgnoreCertDesc": "Μόνο άμεσα τελικά σημεία. Η επαναφορά μέσω βρόχου εξαιρείται ήδη, επομένως αυτό δεν έχει καμία επίδραση στα τελικά σημεία σήραγγας.",
|
||||
"webUiRemoveEndpoint": "Αφαίρεση τελικού σημείου",
|
||||
"webUiOpenFailed": "Αποτυχία ανοίγματος του τελικού σημείου ιστού"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "No se ha seleccionado ningún host.",
|
||||
"notFound": "Este punto final ya no existe.",
|
||||
"tunnelUnreachableFromBrowser": "Este punto final se conecta mediante túnel a la dirección IP 127.0.0.1 de la máquina que ejecuta Termix, a la que su navegador no puede acceder. Configure el host de enlace del punto final con una dirección a la que la máquina responda, como 0.0.0.0, y asígnele un puerto local fijo.",
|
||||
"tunnelSharesSessionCookie": "Al abrir este túnel, tu sesión de Termix se conectará al servicio tunelizado, ya que tu navegador accederá a él a través del mismo nombre de host desde el que se sirve Termix. Las cookies no tienen en cuenta el puerto, por lo que no se puede distinguir entre ambos. Usa la aplicación de escritorio de Termix o abre Termix en localhost.",
|
||||
"directSharesSessionCookie": "Al abrir este punto final, tu sesión de Termix se redirigirá a él, ya que tu navegador lo alcanza desde el mismo sitio donde se sirve Termix. Las cookies ignoran el puerto, por lo que un puerto diferente no implica una identidad diferente. Usa la aplicación de escritorio de Termix o accede a esta interfaz web desde un nombre de host diferente.",
|
||||
"retry": "Rever",
|
||||
"reload": "Recargar",
|
||||
"copyUrl": "Copiar URL",
|
||||
"urlCopied": "URL copiada",
|
||||
"copyFailed": "Error al copiar la URL",
|
||||
"openExternally": "Abrir externamente",
|
||||
"isolationUnavailable": "Este navegador no puede aislar los puntos finales web de su sesión de Termix. Utilice un navegador compatible con iframes sin credenciales.",
|
||||
"isolationNotice": "Las páginas integradas utilizan una sesión aislada. Para las páginas que requieren almacenamiento o inicio de sesión emergente, utilice una ventana aislada en la aplicación de escritorio.",
|
||||
"openIsolatedWindow": "Abrir ventana aislada"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Interfaz de usuario web",
|
||||
"webUiEndpointLabel": "Punto final {{number}}",
|
||||
"webUiIntegration": "Interfaz de usuario web",
|
||||
"webUiEndpointsSection": "Puntos finales",
|
||||
"webUiRequirementsText": "Tu navegador abre un punto final directo, por lo que su puerto debe ser accesible desde aquí. En cambio, Termix abre un túnel SSH a través de la conexión SSH de este host, por lo que el puerto solo tiene que ser accesible desde el host.",
|
||||
"enableWebUi": "Habilitar puntos finales web",
|
||||
"enableWebUiDesc": "Abra las interfaces web de este host desde la barra lateral.",
|
||||
"webUiAddEndpoint": "Agregar punto final",
|
||||
"webUiAddress": "DIRECCIÓN",
|
||||
"webUiOpening": "Apertura",
|
||||
"webUiBindHostDesc": "Donde el backend enlaza el forward. Deje en blanco para 127.0.0.1, al que solo puede acceder la máquina que ejecuta Termix.",
|
||||
"webUiBindHostExposed": "Esta dirección es accesible desde fuera de la máquina Termix, por lo que cualquiera que pueda acceder al puerto obtiene esta interfaz web sin necesidad de iniciar sesión.",
|
||||
"webUiLocalPort": "Puerto local",
|
||||
"webUiLocalPortAuto": "Automático",
|
||||
"webUiLocalPortDesc": "En qué puerto escucha el reenvío. Déjelo en blanco para que el sistema lo seleccione automáticamente, o establezca uno cuando sea necesario conocer el puerto de antemano, como en el caso de un contenedor que lo publica.",
|
||||
"webUiNewEndpointLabel": "Nuevo punto final",
|
||||
"webUiLabel": "Etiqueta",
|
||||
"webUiScheme": "Esquema",
|
||||
"webUiPort": "Puerto",
|
||||
"webUiPath": "Camino",
|
||||
"webUiAccess": "Acceso",
|
||||
"webUiAccessDirect": "Directo",
|
||||
"webUiAccessTunnel": "Túnel SSH",
|
||||
"webUiAccessTunnelUnavailable": "Para que exista un túnel SSH, es necesario que SSH esté habilitado en este host y que el origen de la conexión sea este dispositivo.",
|
||||
"webUiRender": "Abrir en",
|
||||
"webUiRenderExternal": "Ventana de escritorio aislada",
|
||||
"webUiRenderEmbedded": "pestaña Termix",
|
||||
"webUiRenderEmbeddedDesc": "La incrustación es un intento desesperado: algunas interfaces web se niegan a cargarse dentro de un marco, y un inicio de sesión que dependa de cookies del mismo sitio puede entrar en un bucle. El navegador externo siempre funciona.",
|
||||
"webUiIgnoreCert": "Permitir certificado no válido",
|
||||
"webUiIgnoreCertDesc": "Solo se aplican puntos finales directos. Loopback ya está exento, por lo que esto no afecta a los puntos finales de túnel.",
|
||||
"webUiRemoveEndpoint": "Eliminar punto final",
|
||||
"webUiOpenFailed": "No se pudo abrir el punto final web."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Ei valittua isäntää",
|
||||
"notFound": "Tätä päätepistettä ei ole enää olemassa.",
|
||||
"tunnelUnreachableFromBrowser": "Tämä päätepiste muodostaa tunnelin Termixiä käyttävän koneen osoitteeseen 127.0.0.1, johon selaimesi ei pääse. Aseta päätepisteen Bind Host -arvoksi osoitteen, jolla kone vastaa, kuten 0.0.0.0, ja anna sille kiinteä paikallinen portti.",
|
||||
"tunnelSharesSessionCookie": "Tämän tunnelin avaaminen lähettäisi Termix-istuntosi tunneloituun palveluun, koska selaimesi päätyisi siihen samalla isäntänimellä, josta Termixiä palvellaan. Evästeet jättävät portin huomiotta, joten niitä ei voida erottaa toisistaan. Käytä Termix-työpöytäsovellusta tai avaa Termix paikallisessa koneessa.",
|
||||
"directSharesSessionCookie": "Tämän päätepisteen avaaminen lähettäisi Termix-istuntosi siihen, koska selaimesi käyttää sitä samalla sivustolla, josta Termixiä käytetään. Evästeet eivät huomioi porttia, joten eri portti ei ole eri identiteetti. Käytä Termix-työpöytäsovellusta tai käytä tätä verkkokäyttöliittymää eri isäntänimellä.",
|
||||
"retry": "Yritä uudelleen",
|
||||
"reload": "Lataa uudelleen",
|
||||
"copyUrl": "Kopioi URL-osoite",
|
||||
"urlCopied": "URL-osoite kopioitu",
|
||||
"copyFailed": "URL-osoitteen kopiointi epäonnistui",
|
||||
"openExternally": "Avaa ulkopuolelta",
|
||||
"isolationUnavailable": "Tämä selain ei voi eristää verkkopäätepisteitä Termix-istunnostasi. Käytä selainta, joka tukee tunnistetiedotonta iframe-kehystä.",
|
||||
"isolationNotice": "Upotetut sivut käyttävät eristettyä istuntoa. Sivuille, jotka vaativat tallennustilaa tai ponnahdusikkunakirjautumista, käytä eristettyä ikkunaa työpöytäsovelluksessa.",
|
||||
"openIsolatedWindow": "Avaa eristetty ikkuna"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Verkkokäyttöliittymä",
|
||||
"webUiEndpointLabel": "Päätepiste {{number}}",
|
||||
"webUiIntegration": "Verkkokäyttöliittymä",
|
||||
"webUiEndpointsSection": "Päätepisteet",
|
||||
"webUiRequirementsText": "Selaimesi avaa suoran päätepisteen, joten sen portin on oltava tavoitettavissa täältä. Termix avaa SSH-tunnelin tämän isännän SSH-yhteyden kautta, joten portin on oltava tavoitettavissa vain isännästä.",
|
||||
"enableWebUi": "Ota käyttöön verkkopäätepisteet",
|
||||
"enableWebUiDesc": "Avaa tämän isännän web-käyttöliittymät sivupalkista.",
|
||||
"webUiAddEndpoint": "Lisää päätepiste",
|
||||
"webUiAddress": "Osoite",
|
||||
"webUiOpening": "Avaaminen",
|
||||
"webUiBindHostDesc": "Mihin taustajärjestelmä sitoo eteenpäin suuntautuvan järjestelmän. Jätä tyhjäksi 127.0.0.1, johon vain Termixiä suorittava kone pääsee käsiksi.",
|
||||
"webUiBindHostExposed": "Tämä osoite on saavutettavissa Termix-koneen ulkopuolelta, joten kuka tahansa, joka pääsee portin kautta, saa tämän web-käyttöliittymän ilman kirjautumista.",
|
||||
"webUiLocalPort": "Paikallinen satama",
|
||||
"webUiLocalPortAuto": "Automaattinen",
|
||||
"webUiLocalPortDesc": "Mitä porttia edelleenlähetys kuuntelee. Jätä tyhjäksi, jos haluat järjestelmän valitsevan portin, tai aseta portti etukäteen, kuten esimerkiksi säilö, joka julkaisee sen.",
|
||||
"webUiNewEndpointLabel": "Uusi päätepiste",
|
||||
"webUiLabel": "Tarra",
|
||||
"webUiScheme": "Järjestelmä",
|
||||
"webUiPort": "Portti",
|
||||
"webUiPath": "Polku",
|
||||
"webUiAccess": "Pääsy",
|
||||
"webUiAccessDirect": "Suoraan",
|
||||
"webUiAccessTunnel": "SSH-tunneli",
|
||||
"webUiAccessTunnelUnavailable": "SSH-tunneli vaatii SSH:n käyttöönoton tällä isännöintikoneella ja yhteyden alkuperän tällä laitteella.",
|
||||
"webUiRender": "Avaa",
|
||||
"webUiRenderExternal": "Eristetty työpöytäikkuna",
|
||||
"webUiRenderEmbedded": "Termix-välilehti",
|
||||
"webUiRenderEmbeddedDesc": "Upottaminen on parasta: jotkin verkkoliittymät kieltäytyvät latautumasta kehykseen, ja saman sivuston evästeisiin perustuva kirjautuminen voi tapahtua silmukassa. Ulkoinen selain toimii aina.",
|
||||
"webUiIgnoreCert": "Salli virheellinen varmenne",
|
||||
"webUiIgnoreCertDesc": "Vain suorat päätepisteet. Loopback on jo vapautettu, joten tällä ei ole vaikutusta tunnelin päätepisteisiin.",
|
||||
"webUiRemoveEndpoint": "Poista päätepiste",
|
||||
"webUiOpenFailed": "Verkkopäätepisteen avaaminen epäonnistui"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Aucun hôte sélectionné",
|
||||
"notFound": "Ce point de terminaison n'existe plus.",
|
||||
"tunnelUnreachableFromBrowser": "Ce point de terminaison établit un tunnel vers l'adresse 127.0.0.1 sur la machine exécutant Termix, adresse inaccessible à votre navigateur. Configurez l'hôte de liaison du point de terminaison sur une adresse à laquelle la machine répond, par exemple 0.0.0.0, et attribuez-lui un port local fixe.",
|
||||
"tunnelSharesSessionCookie": "L'ouverture de ce tunnel redirigerait votre session Termix vers le service tunnelisé, car votre navigateur y accéderait via le même nom d'hôte que celui utilisé par Termix. Les cookies ignorent le port, il est donc impossible de les distinguer. Utilisez l'application de bureau Termix ou ouvrez Termix en local.",
|
||||
"directSharesSessionCookie": "Ouvrir ce point de terminaison redirigerait votre session Termix vers celui-ci, car votre navigateur y accède depuis le même site que celui où Termix est hébergé. Les cookies ignorent le port ; un port différent ne constitue donc pas une identité différente. Utilisez l’application de bureau Termix ou hébergez cette interface web depuis un autre nom d’hôte.",
|
||||
"retry": "Réessayer",
|
||||
"reload": "Recharger",
|
||||
"copyUrl": "Copier l'URL",
|
||||
"urlCopied": "URL copiée",
|
||||
"copyFailed": "Impossible de copier l'URL",
|
||||
"openExternally": "Ouvrir en externe",
|
||||
"isolationUnavailable": "Ce navigateur ne permet pas d'isoler les points de terminaison Web de votre session Termix. Veuillez utiliser un navigateur compatible avec les iframes sans authentification.",
|
||||
"isolationNotice": "Les pages intégrées utilisent une session isolée. Pour les pages nécessitant un stockage ou une connexion via une fenêtre contextuelle, utilisez une fenêtre isolée dans l'application de bureau.",
|
||||
"openIsolatedWindow": "Ouvrir une fenêtre isolée"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Interface utilisateur Web",
|
||||
"webUiEndpointLabel": "Point de terminaison {{number}}",
|
||||
"webUiIntegration": "Interface utilisateur Web",
|
||||
"webUiEndpointsSection": "Points d'extrémité",
|
||||
"webUiRequirementsText": "Votre navigateur ouvre un point de terminaison direct ; son port doit donc être accessible depuis ici. Termix, quant à lui, ouvre un tunnel SSH via la connexion SSH de cet hôte ; le port doit donc seulement être accessible depuis l'hôte.",
|
||||
"enableWebUi": "Activer les points de terminaison Web",
|
||||
"enableWebUiDesc": "Ouvrez les interfaces web de cet hébergeur depuis la barre latérale.",
|
||||
"webUiAddEndpoint": "Ajouter un point de terminaison",
|
||||
"webUiAddress": "Adresse",
|
||||
"webUiOpening": "Ouverture",
|
||||
"webUiBindHostDesc": "Où le serveur d'arrière-plan lie le serveur de transfert. Laissez vide pour 127.0.0.1, adresse accessible uniquement par la machine exécutant Termix.",
|
||||
"webUiBindHostExposed": "Cette adresse est accessible au-delà de la machine Termix, donc toute personne pouvant accéder au port obtient cette interface web sans avoir à se connecter.",
|
||||
"webUiLocalPort": "Port local",
|
||||
"webUiLocalPortAuto": "Automatique",
|
||||
"webUiLocalPortDesc": "Port d'écoute du serveur de redirection. Laissez ce champ vide pour laisser le système choisir le port, ou spécifiez-en un si celui-ci doit être connu à l'avance, par exemple pour un conteneur qui le publie.",
|
||||
"webUiNewEndpointLabel": "Nouveau point de terminaison",
|
||||
"webUiLabel": "Étiquette",
|
||||
"webUiScheme": "Schème",
|
||||
"webUiPort": "Port",
|
||||
"webUiPath": "Chemin",
|
||||
"webUiAccess": "Accéder",
|
||||
"webUiAccessDirect": "Direct",
|
||||
"webUiAccessTunnel": "Tunnel SSH",
|
||||
"webUiAccessTunnelUnavailable": "Un tunnel SSH nécessite que SSH soit activé sur cet hôte et que la connexion provienne de cet appareil.",
|
||||
"webUiRender": "Ouvrir dans",
|
||||
"webUiRenderExternal": "Fenêtre de bureau isolée",
|
||||
"webUiRenderEmbedded": "Onglet Termix",
|
||||
"webUiRenderEmbeddedDesc": "L'intégration est possible dans les meilleures conditions : certaines interfaces web refusent de se charger dans un cadre, et une connexion reposant sur les cookies du même site peut générer une boucle. Le navigateur externe fonctionne toujours.",
|
||||
"webUiIgnoreCert": "Autoriser un certificat invalide",
|
||||
"webUiIgnoreCertDesc": "Seuls les points de terminaison directs sont concernés. Les points de terminaison de bouclage sont déjà exemptés ; cette mesure n’a donc aucun impact sur les points de terminaison de tunnel.",
|
||||
"webUiRemoveEndpoint": "Supprimer le point de terminaison",
|
||||
"webUiOpenFailed": "Impossible d'ouvrir le point de terminaison Web"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "לא נבחר מארח",
|
||||
"notFound": "נקודת קצה זו אינה קיימת עוד.",
|
||||
"tunnelUnreachableFromBrowser": "נקודת קצה זו עוברת ל-127.0.0.1 במחשב בו פועל Termix, שאליה הדפדפן שלך אינו יכול להגיע. הגדר את Bind Host של נקודת הקצה לכתובת שעליה המכונה עונה, כגון 0.0.0.0, ותן לה יציאה מקומית קבועה.",
|
||||
"tunnelSharesSessionCookie": "פתיחת מנהרה זו תשלח את סשן Termix שלך לשירות המנהר, מכיוון שהדפדפן שלך יגיע אליו באותו שם מארח שממנו Termix מוגש. קובצי Cookie מתעלמים מהפורט, כך שלא ניתן להבחין ביניהם. השתמש באפליקציית שולחן העבודה של Termix, או פתח את Termix ב-localhost.",
|
||||
"directSharesSessionCookie": "פתיחת נקודת קצה זו תשלח אליה את סשן Termix שלך, מכיוון שהדפדפן שלך מגיע אליה באותו אתר שממנו Termix מוגש. קובצי Cookie מתעלמים מהפורט, כך שפורט שונה אינו זהות שונה. השתמש באפליקציית שולחן העבודה של Termix, או שרת ממשק משתמש אינטרנט זה משם מארח אחר.",
|
||||
"retry": "נסה שוב",
|
||||
"reload": "לִטעוֹן מִחָדָשׁ",
|
||||
"copyUrl": "העתקת כתובת URL",
|
||||
"urlCopied": "כתובת האתר הועתקה",
|
||||
"copyFailed": "נכשלה העתקת כתובת ה-URL",
|
||||
"openExternally": "פתוח חיצונית",
|
||||
"isolationUnavailable": "דפדפן זה אינו יכול לבודד נקודות קצה של אינטרנט מהפעלת Termix שלך. השתמש בדפדפן עם תמיכה ב-iframe ללא אישורים.",
|
||||
"isolationNotice": "דפים מוטמעים משתמשים בהפעלה מבודדת. עבור דפים הדורשים אחסון או כניסה קופצת, השתמשו בחלון מבודד באפליקציית שולחן העבודה.",
|
||||
"openIsolatedWindow": "פתח חלון מבודד"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "ממשק משתמש אינטרנטי",
|
||||
"webUiEndpointLabel": "נקודת קצה {{number}}",
|
||||
"webUiIntegration": "ממשק משתמש אינטרנטי",
|
||||
"webUiEndpointsSection": "נקודות קצה",
|
||||
"webUiRequirementsText": "נקודת קצה ישירה נפתחת על ידי הדפדפן שלך, כך שהפורט שלה חייב להיות נגיש מכאן. מנהרת SSH נפתחת על ידי Termix דרך חיבור ה-SSH של מחשב מארח זה, כך שהפורט צריך להיות נגיש רק מהמארח.",
|
||||
"enableWebUi": "הפעלת נקודות קצה של האינטרנט",
|
||||
"enableWebUiDesc": "פתח את ממשקי האינטרנט של מארח זה מסרגל הצד.",
|
||||
"webUiAddEndpoint": "הוסף נקודת קצה",
|
||||
"webUiAddress": "כְּתוֹבֶת",
|
||||
"webUiOpening": "פְּתִיחָה",
|
||||
"webUiBindHostDesc": "היכן שה-backend קושר את forward. השאר ריק עבור 127.0.0.1, שאליו רק מכונה שמריץ את Termix יכולה להגיע.",
|
||||
"webUiBindHostExposed": "כתובת זו נגישה מעבר למכונת ה-Termix, כך שכל מי שיכול להגיע לפורט מקבל ממשק משתמש אינטרנטי זה ללא צורך בכניסה.",
|
||||
"webUiLocalPort": "נמל מקומי",
|
||||
"webUiLocalPortAuto": "אוֹטוֹמָטִי",
|
||||
"webUiLocalPortDesc": "באיזה פורט ההעברה מאזינה. השאר ריק כדי לאפשר למערכת לבחור, או הגדר פורט כאשר יש לדעת מראש את הפורט, כגון קונטיינר שמפרסם אותו.",
|
||||
"webUiNewEndpointLabel": "נקודת קצה חדשה",
|
||||
"webUiLabel": "מַדבֵּקָה",
|
||||
"webUiScheme": "תָכְנִית",
|
||||
"webUiPort": "נָמָל",
|
||||
"webUiPath": "נָתִיב",
|
||||
"webUiAccess": "גִישָׁה",
|
||||
"webUiAccessDirect": "יָשִׁיר",
|
||||
"webUiAccessTunnel": "מנהרת SSH",
|
||||
"webUiAccessTunnelUnavailable": "מנהרת SSH דורשת הפעלת SSH במארח זה ומקור חיבור של מכשיר זה.",
|
||||
"webUiRender": "פתח ב",
|
||||
"webUiRenderExternal": "חלון שולחן עבודה מבודד",
|
||||
"webUiRenderEmbedded": "לשונית טרמיקס",
|
||||
"webUiRenderEmbeddedDesc": "הטמעה היא המאמץ הטוב ביותר: חלק ממשקי האינטרנט מסרבים להיטען בתוך מסגרת, וכניסה שמסתמכת על קובצי Cookie של אותו אתר עלולה לבצע לולאה. הדפדפן החיצוני תמיד עובד.",
|
||||
"webUiIgnoreCert": "אפשר אישור לא חוקי",
|
||||
"webUiIgnoreCertDesc": "נקודות קצה ישירות בלבד. לולאה חוזרת כבר פטורה, כך שאין לכך השפעה על נקודות קצה של המנהרה.",
|
||||
"webUiRemoveEndpoint": "הסר את נקודת הקצה",
|
||||
"webUiOpenFailed": "נכשלה פתיחת נקודת הקצה של האינטרנט"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "कोई होस्ट चयनित नहीं है",
|
||||
"notFound": "यह एंडपॉइंट अब मौजूद नहीं है।",
|
||||
"tunnelUnreachableFromBrowser": "यह एंडपॉइंट टर्मिक्स चलाने वाली मशीन पर 127.0.0.1 पोर्ट से टनल करता है, जिस तक आपका ब्राउज़र नहीं पहुँच सकता। एंडपॉइंट के बाइंड होस्ट को उस मशीन के किसी ऐसे पते पर सेट करें जिस पर वह प्रतिक्रिया देती हो, जैसे कि 0.0.0.0, और इसे एक निश्चित लोकल पोर्ट दें।",
|
||||
"tunnelSharesSessionCookie": "इस टनल को खोलने से आपका टर्मिक्स सेशन टनल की गई सेवा पर चला जाएगा, क्योंकि आपका ब्राउज़र उसी होस्टनेम से सेवा प्राप्त करेगा जिससे टर्मिक्स संचालित होता है। कुकीज़ पोर्ट को अनदेखा करती हैं, इसलिए दोनों में अंतर नहीं किया जा सकता। टर्मिक्स डेस्कटॉप ऐप का उपयोग करें, या टर्मिक्स को लोकलहोस्ट पर खोलें।",
|
||||
"directSharesSessionCookie": "इस एंडपॉइंट को खोलने से आपका टर्मिक्स सेशन इस पर चला जाएगा, क्योंकि आपका ब्राउज़र उसी साइट से इस तक पहुंचता है जहां से टर्मिक्स संचालित होता है। कुकीज़ पोर्ट को अनदेखा करती हैं, इसलिए अलग पोर्ट का मतलब अलग पहचान नहीं है। टर्मिक्स डेस्कटॉप ऐप का उपयोग करें, या इस वेब यूआई को किसी अन्य होस्टनेम से संचालित करें।",
|
||||
"retry": "पुन: प्रयास करें",
|
||||
"reload": "पुनः लोड करें",
|
||||
"copyUrl": "यूआरएल कॉपी करें",
|
||||
"urlCopied": "यूआरएल कॉपी हो गया",
|
||||
"copyFailed": "यूआरएल कॉपी करने में विफल",
|
||||
"openExternally": "बाहरी रूप से खोलें",
|
||||
"isolationUnavailable": "यह ब्राउज़र आपके टर्मिक्स सेशन से वेब एंडपॉइंट्स को अलग नहीं कर सकता। क्रेडेंशियललेस आईफ्रेम सपोर्ट वाले ब्राउज़र का उपयोग करें।",
|
||||
"isolationNotice": "एम्बेडेड पेज एक अलग सेशन का उपयोग करते हैं। स्टोरेज या पॉपअप साइन-इन की आवश्यकता वाले पेजों के लिए, डेस्कटॉप ऐप में एक अलग विंडो का उपयोग करें।",
|
||||
"openIsolatedWindow": "पृथक विंडो खोलें"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "वेब यूआई",
|
||||
"webUiEndpointLabel": "एंडपॉइंट {{number}}",
|
||||
"webUiIntegration": "वेब यूआई",
|
||||
"webUiEndpointsSection": "अंतिमबिंदुओं",
|
||||
"webUiRequirementsText": "आपके ब्राउज़र द्वारा एक डायरेक्ट एंडपॉइंट खोला जाता है, इसलिए इसका पोर्ट यहाँ से पहुँच योग्य होना चाहिए। इसके विपरीत, टर्मिक्स द्वारा इस होस्ट के SSH कनेक्शन पर एक SSH टनल खोला जाता है, इसलिए पोर्ट का होस्ट से पहुँच योग्य होना ही आवश्यक है।",
|
||||
"enableWebUi": "वेब एंडपॉइंट्स को सक्षम करें",
|
||||
"enableWebUiDesc": "साइडबार से इस होस्ट के वेब इंटरफेस खोलें।",
|
||||
"webUiAddEndpoint": "एंडपॉइंट जोड़ें",
|
||||
"webUiAddress": "पता",
|
||||
"webUiOpening": "प्रारंभिक",
|
||||
"webUiBindHostDesc": "जहां बैकएंड फॉरवर्ड को बाइंड करता है। 127.0.0.1 के लिए इसे खाली छोड़ दें, क्योंकि केवल टर्मिक्स चलाने वाली मशीन ही इस तक पहुंच सकती है।",
|
||||
"webUiBindHostExposed": "यह पता टर्मिक्स मशीन से परे भी पहुंच योग्य है, इसलिए जो कोई भी पोर्ट तक पहुंच सकता है, उसे बिना लॉगिन किए यह वेब यूआई मिल जाता है।",
|
||||
"webUiLocalPort": "स्थानीय बंदरगाह",
|
||||
"webUiLocalPortAuto": "स्वचालित",
|
||||
"webUiLocalPortDesc": "यह फ़ॉरवर्ड किस पोर्ट पर सुनता है। सिस्टम को चुनने देने के लिए इसे खाली छोड़ दें, या यदि पोर्ट पहले से ज्ञात होना आवश्यक हो, जैसे कि इसे प्रकाशित करने वाला कोई कंटेनर, तो एक पोर्ट सेट करें।",
|
||||
"webUiNewEndpointLabel": "नया एंडपॉइंट",
|
||||
"webUiLabel": "लेबल",
|
||||
"webUiScheme": "योजना",
|
||||
"webUiPort": "पत्तन",
|
||||
"webUiPath": "पथ",
|
||||
"webUiAccess": "पहुँच",
|
||||
"webUiAccessDirect": "प्रत्यक्ष",
|
||||
"webUiAccessTunnel": "एसएसएच सुरंग",
|
||||
"webUiAccessTunnelUnavailable": "एसएसएच टनल के लिए इस होस्ट पर एसएसएच सक्षम होना और इस डिवाइस का कनेक्शन स्रोत होना आवश्यक है।",
|
||||
"webUiRender": "में खोलें",
|
||||
"webUiRenderExternal": "पृथक डेस्कटॉप विंडो",
|
||||
"webUiRenderEmbedded": "टर्मिक्स टैब",
|
||||
"webUiRenderEmbeddedDesc": "एम्बेडिंग एक सर्वोत्तम प्रयास है: कुछ वेब इंटरफेस फ्रेम में लोड होने से इनकार कर देते हैं, और समान साइट कुकीज़ पर निर्भर लॉगिन लूप में फंस सकता है। बाहरी ब्राउज़र हमेशा काम करता है।",
|
||||
"webUiIgnoreCert": "अमान्य प्रमाणपत्र की अनुमति दें",
|
||||
"webUiIgnoreCertDesc": "केवल डायरेक्ट एंडपॉइंट्स के लिए। लूपबैक पहले से ही छूट प्राप्त है, इसलिए इसका टनल एंडपॉइंट्स पर कोई प्रभाव नहीं पड़ता।",
|
||||
"webUiRemoveEndpoint": "एंडपॉइंट हटाएँ",
|
||||
"webUiOpenFailed": "वेब एंडपॉइंट खोलने में विफल।"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Nincs kiválasztva gazdagép",
|
||||
"notFound": "Ez a végpont már nem létezik.",
|
||||
"tunnelUnreachableFromBrowser": "Ez a végpont a Termixet futtató gépen található 127.0.0.1 címre csatlakozik, amelyet a böngésződ nem tud elérni. Állítsd be a végpont Bind Host értékét egy olyan címre, amelyen a gép válaszol, például 0.0.0.0, és adj meg neki egy fix Local Port értéket.",
|
||||
"tunnelSharesSessionCookie": "Ennek az alagútnak a megnyitása a Termix munkamenetet a bújtatott szolgáltatáshoz küldené, mivel a böngésződ ugyanazon a hosztnéven érné el, amelyről a Termix is kiszolgálja. A sütik figyelmen kívül hagyják a portot, így a kettőt nem lehet megkülönböztetni. Használd a Termix asztali alkalmazást, vagy nyisd meg a Termixet a localhost címen.",
|
||||
"directSharesSessionCookie": "Ennek a végpontnak a megnyitása a Termix munkamenetet ide küldené, mivel a böngésződ ugyanazon a helyen éri el, ahonnan a Termix is kiszolgálható. A sütik figyelmen kívül hagyják a portot, így egy másik port nem jelent másik identitást. Használd a Termix asztali alkalmazást, vagy szolgáltasd ki ezt a webes felhasználói felületet egy másik hostname-ről.",
|
||||
"retry": "Újrapróbálkozás",
|
||||
"reload": "Újratöltés",
|
||||
"copyUrl": "URL másolása",
|
||||
"urlCopied": "URL másolva",
|
||||
"copyFailed": "Nem sikerült másolni az URL-t",
|
||||
"openExternally": "Külsőleg nyitott",
|
||||
"isolationUnavailable": "Ez a böngésző nem tudja elkülöníteni a webes végpontokat a Termix-munkamenettől. Használjon hitelesítő adatok nélküli iframe-támogatással rendelkező böngészőt.",
|
||||
"isolationNotice": "A beágyazott oldalak elszigetelt munkamenetet használnak. A tárhelyet vagy felugró bejelentkezést igénylő oldalakhoz használjon egy elszigetelt ablakot az asztali alkalmazásban.",
|
||||
"openIsolatedWindow": "Nyitott elszigetelt ablak"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Webes felhasználói felület",
|
||||
"webUiEndpointLabel": "Végpont {{number}}",
|
||||
"webUiIntegration": "Webes felhasználói felület",
|
||||
"webUiEndpointsSection": "Végpontok",
|
||||
"webUiRequirementsText": "A böngésződ egy közvetlen végpontot nyit meg, így annak portjának elérhetőnek kell lennie innen. Ehelyett a Termix egy SSH alagutat nyit meg a gazdagép SSH kapcsolatán keresztül, így a portnak csak a gazdagépről kell elérhetőnek lennie.",
|
||||
"enableWebUi": "Webes végpontok engedélyezése",
|
||||
"enableWebUiDesc": "Nyissa meg a gazdagép webes felületeit az oldalsávból.",
|
||||
"webUiAddEndpoint": "Végpont hozzáadása",
|
||||
"webUiAddress": "Cím",
|
||||
"webUiOpening": "Nyílás",
|
||||
"webUiBindHostDesc": "Ahol a háttérrendszer a továbbító rendszert köti. Hagyja üresen a 127.0.0.1 mezőt, amelyet csak a Termixet futtató gép tud elérni.",
|
||||
"webUiBindHostExposed": "Ez a cím elérhető a Termix gépen kívül is, így bárki, aki el tudja érni a portot, bejelentkezés nélkül megkapja ezt a webes felhasználói felületet.",
|
||||
"webUiLocalPort": "Helyi kikötő",
|
||||
"webUiLocalPortAuto": "Automatikus",
|
||||
"webUiLocalPortDesc": "Melyik porton figyel a továbbító. Hagyja üresen, ha a rendszer szeretné kiválasztani, vagy állítson be egyet, ha a portot előre ismerni kell, például egy konténer esetében, amely közzéteszi azt.",
|
||||
"webUiNewEndpointLabel": "Új végpont",
|
||||
"webUiLabel": "Címke",
|
||||
"webUiScheme": "Rendszer",
|
||||
"webUiPort": "Kikötő",
|
||||
"webUiPath": "Útvonal",
|
||||
"webUiAccess": "Hozzáférés",
|
||||
"webUiAccessDirect": "Közvetlen",
|
||||
"webUiAccessTunnel": "SSH alagút",
|
||||
"webUiAccessTunnelUnavailable": "Egy SSH-alagúthoz engedélyezni kell az SSH-t ezen a gazdagépen, és ennek az eszköznek a kapcsolatának forrását kell tartalmaznia.",
|
||||
"webUiRender": "Nyitva tartás",
|
||||
"webUiRenderExternal": "Elszigetelt asztali ablak",
|
||||
"webUiRenderEmbedded": "Termix fül",
|
||||
"webUiRenderEmbeddedDesc": "A beágyazás a legjobb megoldás: egyes webes felületek nem töltődnek be keretben, és az azonos webhelyen található sütikre támaszkodó bejelentkezés ciklusba kerülhet. A külső böngésző mindig működik.",
|
||||
"webUiIgnoreCert": "Érvénytelen tanúsítvány engedélyezése",
|
||||
"webUiIgnoreCertDesc": "Csak közvetlen végpontok. A visszacsatolás már mentesül ez alól, így ennek nincs hatása az alagút végpontjaira.",
|
||||
"webUiRemoveEndpoint": "Végpont eltávolítása",
|
||||
"webUiOpenFailed": "Nem sikerült megnyitni a webes végpontot"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Tidak ada pembawa acara yang dipilih.",
|
||||
"notFound": "Endpoint ini sudah tidak ada lagi.",
|
||||
"tunnelUnreachableFromBrowser": "Endpoint ini membuat terowongan ke 127.0.0.1 pada mesin yang menjalankan Termix, yang tidak dapat dijangkau oleh browser Anda. Atur Bind Host endpoint ke alamat yang dapat diakses oleh mesin tersebut, misalnya 0.0.0.0, dan berikan Local Port tetap.",
|
||||
"tunnelSharesSessionCookie": "Membuka terowongan ini akan mengirim sesi Termix Anda ke layanan yang di-tunnel, karena browser Anda akan mengaksesnya di hostname yang sama dengan tempat Termix disajikan. Cookie mengabaikan port, sehingga keduanya tidak dapat dibedakan. Gunakan aplikasi desktop Termix, atau buka Termix di localhost.",
|
||||
"directSharesSessionCookie": "Membuka endpoint ini akan mengirim sesi Termix Anda ke sana, karena browser Anda mengaksesnya di situs yang sama tempat Termix disajikan. Cookie mengabaikan port, jadi port yang berbeda bukan berarti identitas yang berbeda. Gunakan aplikasi desktop Termix, atau sajikan UI web ini dari hostname yang berbeda.",
|
||||
"retry": "Mencoba kembali",
|
||||
"reload": "Muat ulang",
|
||||
"copyUrl": "Salin URL",
|
||||
"urlCopied": "URL disalin",
|
||||
"copyFailed": "Gagal menyalin URL",
|
||||
"openExternally": "Buka secara eksternal",
|
||||
"isolationUnavailable": "Browser ini tidak dapat mengisolasi endpoint web dari sesi Termix Anda. Gunakan browser yang mendukung iframe tanpa kredensial.",
|
||||
"isolationNotice": "Halaman yang disematkan menggunakan sesi terisolasi. Untuk halaman yang memerlukan penyimpanan atau masuk melalui jendela pop-up, gunakan jendela terisolasi di aplikasi desktop.",
|
||||
"openIsolatedWindow": "Buka jendela terisolasi"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Antarmuka pengguna web",
|
||||
"webUiEndpointLabel": "Titik akhir {{number}}",
|
||||
"webUiIntegration": "Antarmuka pengguna web",
|
||||
"webUiEndpointsSection": "Titik akhir",
|
||||
"webUiRequirementsText": "Titik akhir langsung dibuka oleh browser Anda, jadi port-nya harus dapat dijangkau dari sini. Sebaliknya, terowongan SSH dibuka oleh Termix melalui koneksi SSH host ini, sehingga port tersebut hanya perlu dapat dijangkau dari host.",
|
||||
"enableWebUi": "Aktifkan titik akhir web",
|
||||
"enableWebUiDesc": "Buka antarmuka web host ini dari bilah sisi.",
|
||||
"webUiAddEndpoint": "Tambahkan titik akhir",
|
||||
"webUiAddress": "Alamat",
|
||||
"webUiOpening": "Pembukaan",
|
||||
"webUiBindHostDesc": "Di sinilah backend mengikat forward. Biarkan kosong untuk 127.0.0.1, yang hanya dapat diakses oleh mesin yang menjalankan Termix.",
|
||||
"webUiBindHostExposed": "Alamat ini dapat diakses di luar mesin Termix, sehingga siapa pun yang dapat mengakses port tersebut akan mendapatkan antarmuka web ini tanpa perlu login.",
|
||||
"webUiLocalPort": "Pelabuhan Lokal",
|
||||
"webUiLocalPortAuto": "Otomatis",
|
||||
"webUiLocalPortDesc": "Port mana yang digunakan oleh penerusan untuk mendengarkan. Biarkan kosong agar sistem memilih, atau atur satu jika port harus diketahui sebelumnya, seperti kontainer yang mempublikasikannya.",
|
||||
"webUiNewEndpointLabel": "Titik akhir baru",
|
||||
"webUiLabel": "Label",
|
||||
"webUiScheme": "Skema",
|
||||
"webUiPort": "Pelabuhan",
|
||||
"webUiPath": "Jalur",
|
||||
"webUiAccess": "Mengakses",
|
||||
"webUiAccessDirect": "Langsung",
|
||||
"webUiAccessTunnel": "Terowongan SSH",
|
||||
"webUiAccessTunnelUnavailable": "Terowongan SSH membutuhkan SSH yang diaktifkan pada host ini dan asal koneksi dari perangkat ini.",
|
||||
"webUiRender": "Buka di",
|
||||
"webUiRenderExternal": "Jendela desktop terisolasi",
|
||||
"webUiRenderEmbedded": "Tab Termix",
|
||||
"webUiRenderEmbeddedDesc": "Penyematan dilakukan dengan upaya terbaik: beberapa antarmuka web menolak untuk dimuat dalam bingkai, dan login yang bergantung pada cookie situs yang sama mungkin berulang. Browser eksternal selalu berfungsi.",
|
||||
"webUiIgnoreCert": "Izinkan sertifikat tidak valid",
|
||||
"webUiIgnoreCertDesc": "Hanya untuk endpoint langsung. Loopback sudah dikecualikan, jadi ini tidak berpengaruh pada endpoint tunnel.",
|
||||
"webUiRemoveEndpoint": "Hapus titik akhir",
|
||||
"webUiOpenFailed": "Gagal membuka titik akhir web."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Nessun host selezionato",
|
||||
"notFound": "Questo endpoint non esiste più.",
|
||||
"tunnelUnreachableFromBrowser": "Questo endpoint crea un tunnel verso 127.0.0.1 sulla macchina su cui è in esecuzione Termix, indirizzo che il tuo browser non può raggiungere. Imposta il Bind Host dell'endpoint su un indirizzo a cui la macchina risponde, ad esempio 0.0.0.0, e assegnagli una porta locale fissa.",
|
||||
"tunnelSharesSessionCookie": "L'apertura di questo tunnel indirizzerebbe la tua sessione Termix al servizio tunnelizzato, poiché il tuo browser lo raggiungerebbe tramite lo stesso hostname da cui viene erogato il servizio Termix. I cookie ignorano la porta, quindi i due non possono essere distinti. Utilizza l'applicazione desktop di Termix oppure apri Termix all'indirizzo localhost.",
|
||||
"directSharesSessionCookie": "L'apertura di questo endpoint invierebbe la tua sessione Termix ad esso, poiché il tuo browser lo raggiunge dallo stesso sito da cui viene erogato il servizio Termix. I cookie ignorano la porta, quindi una porta diversa non corrisponde a un'identità diversa. Utilizza l'applicazione desktop di Termix oppure esegui questa interfaccia web da un hostname diverso.",
|
||||
"retry": "Riprova",
|
||||
"reload": "Ricaricare",
|
||||
"copyUrl": "Copia URL",
|
||||
"urlCopied": "URL copiato",
|
||||
"copyFailed": "Impossibile copiare l'URL",
|
||||
"openExternally": "Apri esternamente",
|
||||
"isolationUnavailable": "Questo browser non è in grado di isolare gli endpoint web dalla sessione Termix. Utilizza un browser che supporti gli iframe senza credenziali.",
|
||||
"isolationNotice": "Le pagine incorporate utilizzano una sessione isolata. Per le pagine che richiedono l'archiviazione dei dati o l'accesso tramite popup, utilizzare una finestra isolata nell'applicazione desktop.",
|
||||
"openIsolatedWindow": "Apri finestra isolata"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Interfaccia utente web",
|
||||
"webUiEndpointLabel": "Punto finale {{number}}",
|
||||
"webUiIntegration": "Interfaccia utente web",
|
||||
"webUiEndpointsSection": "Punti terminali",
|
||||
"webUiRequirementsText": "Un endpoint diretto viene aperto dal tuo browser, quindi la sua porta deve essere raggiungibile da qui. Termix, invece, apre un tunnel SSH sulla connessione SSH di questo host, quindi la porta deve essere raggiungibile solo dall'host.",
|
||||
"enableWebUi": "Endpoint web abilitati",
|
||||
"enableWebUiDesc": "Apri le interfacce web di questo host dalla barra laterale.",
|
||||
"webUiAddEndpoint": "Aggiungi endpoint",
|
||||
"webUiAddress": "Indirizzo",
|
||||
"webUiOpening": "Apertura",
|
||||
"webUiBindHostDesc": "Dove il backend si collega al forward. Lascia vuoto il campo 127.0.0.1, a cui può accedere solo la macchina su cui è in esecuzione Termix.",
|
||||
"webUiBindHostExposed": "Questo indirizzo è raggiungibile anche al di fuori del server Termix, quindi chiunque riesca ad accedere alla porta può utilizzare questa interfaccia web senza bisogno di effettuare il login.",
|
||||
"webUiLocalPort": "Porto locale",
|
||||
"webUiLocalPortAuto": "Automatico",
|
||||
"webUiLocalPortDesc": "Quale porta deve rimanere in ascolto il server di inoltro. Lasciare vuoto per consentire al sistema di sceglierla automaticamente, oppure specificarne una quando la porta deve essere nota in anticipo, ad esempio per un container che la pubblica.",
|
||||
"webUiNewEndpointLabel": "Nuovo endpoint",
|
||||
"webUiLabel": "Etichetta",
|
||||
"webUiScheme": "Schema",
|
||||
"webUiPort": "Porta",
|
||||
"webUiPath": "Sentiero",
|
||||
"webUiAccess": "Accesso",
|
||||
"webUiAccessDirect": "Diretto",
|
||||
"webUiAccessTunnel": "Tunnel SSH",
|
||||
"webUiAccessTunnelUnavailable": "Per creare un tunnel SSH è necessario che SSH sia abilitato su questo host e che l'origine della connessione sia questo dispositivo.",
|
||||
"webUiRender": "Apri in",
|
||||
"webUiRenderExternal": "Finestra del desktop isolata",
|
||||
"webUiRenderEmbedded": "scheda Termix",
|
||||
"webUiRenderEmbeddedDesc": "L'incorporamento è un tentativo quantomeno efficace: alcune interfacce web si rifiutano di caricarsi in un frame e un login che si basa sui cookie dello stesso sito potrebbe generare un loop. Il browser esterno funziona sempre.",
|
||||
"webUiIgnoreCert": "Consenti certificato non valido",
|
||||
"webUiIgnoreCertDesc": "Solo endpoint diretti. Il loopback è già escluso, quindi ciò non ha alcun effetto sugli endpoint del tunnel.",
|
||||
"webUiRemoveEndpoint": "Rimuovi endpoint",
|
||||
"webUiOpenFailed": "Impossibile aprire l'endpoint web"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "ホストが選択されていません",
|
||||
"notFound": "このエンドポイントは既に存在しません。",
|
||||
"tunnelUnreachableFromBrowser": "このエンドポイントは、Termixを実行しているマシン上の127.0.0.1にトンネル接続しますが、このアドレスにはブラウザからアクセスできません。エンドポイントのバインドホストを、そのマシンが応答するアドレス(例:0.0.0.0)に設定し、固定のローカルポートを指定してください。",
|
||||
"tunnelSharesSessionCookie": "このトンネルを開くと、ブラウザがTermixと同じホスト名でアクセスするため、Termixセッションはトンネル化されたサービスに送信されます。Cookieはポート番号を無視するため、両者を区別することはできません。Termixデスクトップアプリを使用するか、localhostでTermixを開いてください。",
|
||||
"directSharesSessionCookie": "このエンドポイントを開くと、ブラウザがTermixと同じサイトからアクセスするため、Termixセッションがそこに送信されます。Cookieはポート番号を無視するため、ポート番号が異なっても別のIDとはみなされません。Termixデスクトップアプリを使用するか、別のホスト名からこのWeb UIを提供してください。",
|
||||
"retry": "リトライ",
|
||||
"reload": "リロード",
|
||||
"copyUrl": "URLをコピー",
|
||||
"urlCopied": "URLがコピーされました",
|
||||
"copyFailed": "URLのコピーに失敗しました",
|
||||
"openExternally": "外部に開く",
|
||||
"isolationUnavailable": "このブラウザでは、WebエンドポイントをTermixセッションから分離できません。認証情報不要のiframeをサポートするブラウザを使用してください。",
|
||||
"isolationNotice": "埋め込みページは独立したセッションを使用します。ストレージが必要なページやポップアップによるサインインが必要な場合は、デスクトップアプリで独立したウィンドウを使用してください。",
|
||||
"openIsolatedWindow": "隔離されたウィンドウを開く"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Web UI",
|
||||
"webUiEndpointLabel": "エンドポイント {{number}}",
|
||||
"webUiIntegration": "Web UI",
|
||||
"webUiEndpointsSection": "エンドポイント",
|
||||
"webUiRequirementsText": "ブラウザによって直接エンドポイントが開かれるため、そのポートはブラウザからアクセス可能である必要があります。一方、TermixはこのホストのSSH接続を介してSSHトンネルを開くため、ポートはホストからのみアクセス可能であればよいのです。",
|
||||
"enableWebUi": "Webエンドポイントを有効にする",
|
||||
"enableWebUiDesc": "サイドバーからこのホストのウェブインターフェースを開いてください。",
|
||||
"webUiAddEndpoint": "エンドポイントを追加する",
|
||||
"webUiAddress": "住所",
|
||||
"webUiOpening": "オープニング",
|
||||
"webUiBindHostDesc": "バックエンドがフォワードをバインドする場所です。Termixを実行しているマシンのみがアクセスできる127.0.0.1の場合は空白のままにしてください。",
|
||||
"webUiBindHostExposed": "このアドレスはTermixマシン以外からもアクセスできるため、このポートにアクセスできる人であれば誰でもログインなしでこのWeb UIにアクセスできます。",
|
||||
"webUiLocalPort": "地元の港",
|
||||
"webUiLocalPortAuto": "自動",
|
||||
"webUiLocalPortDesc": "フォワーディングがリッスンするポートを指定します。システムに選択させる場合は空欄のままにし、ポートを事前に知っておく必要がある場合(例えば、ポートを公開するコンテナなど)はポート番号を指定してください。",
|
||||
"webUiNewEndpointLabel": "新しいエンドポイント",
|
||||
"webUiLabel": "ラベル",
|
||||
"webUiScheme": "スキーム",
|
||||
"webUiPort": "ポート",
|
||||
"webUiPath": "パス",
|
||||
"webUiAccess": "アクセス",
|
||||
"webUiAccessDirect": "直接",
|
||||
"webUiAccessTunnel": "SSHトンネル",
|
||||
"webUiAccessTunnelUnavailable": "SSHトンネルには、このホストでSSHが有効になっており、接続元がこのデバイスである必要があります。",
|
||||
"webUiRender": "開く",
|
||||
"webUiRenderExternal": "分離されたデスクトップウィンドウ",
|
||||
"webUiRenderEmbedded": "テルミックス錠",
|
||||
"webUiRenderEmbeddedDesc": "埋め込みはベストエフォート型です。一部のWebインターフェースはフレーム内での読み込みを拒否し、同一サイトCookieに依存するログイン処理はループする可能性があります。外部ブラウザは常に正常に動作します。",
|
||||
"webUiIgnoreCert": "無効な証明書を許可する",
|
||||
"webUiIgnoreCertDesc": "直接エンドポイントのみが対象です。ループバックは既に対象外となっているため、トンネルエンドポイントには影響しません。",
|
||||
"webUiRemoveEndpoint": "エンドポイントを削除",
|
||||
"webUiOpenFailed": "ウェブエンドポイントを開くのに失敗しました"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "호스트가 선택되지 않았습니다.",
|
||||
"notFound": "이 엔드포인트는 더 이상 존재하지 않습니다.",
|
||||
"tunnelUnreachableFromBrowser": "이 엔드포인트는 브라우저에서 접근할 수 없는 Termix 실행 머신의 127.0.0.1 주소로 터널링합니다. 엔드포인트의 바인드 호스트를 해당 머신이 응답하는 주소(예: 0.0.0.0)로 설정하고 고정된 로컬 포트를 지정하십시오.",
|
||||
"tunnelSharesSessionCookie": "이 터널을 열면 브라우저가 Termix가 제공되는 호스트 이름과 동일한 호스트 이름으로 접속하게 되므로 Termix 세션이 터널링된 서비스로 전송됩니다. 쿠키는 포트 번호를 무시하므로 둘을 구분할 수 없습니다. Termix 데스크톱 앱을 사용하거나 localhost에서 Termix를 실행하세요.",
|
||||
"directSharesSessionCookie": "이 엔드포인트를 열면 브라우저가 Termix가 제공되는 동일한 사이트에서 해당 엔드포인트에 접속하기 때문에 Termix 세션이 해당 엔드포인트로 전송됩니다. 쿠키는 포트 번호를 무시하므로 다른 포트 번호를 사용한다고 해서 다른 ID를 의미하는 것은 아닙니다. Termix 데스크톱 앱을 사용하거나 다른 호스트 이름에서 이 웹 UI를 제공하십시오.",
|
||||
"retry": "다시 해 보다",
|
||||
"reload": "재장전",
|
||||
"copyUrl": "URL 복사",
|
||||
"urlCopied": "URL이 복사되었습니다",
|
||||
"copyFailed": "URL 복사에 실패했습니다",
|
||||
"openExternally": "외부에서 열기",
|
||||
"isolationUnavailable": "이 브라우저는 웹 엔드포인트를 Termix 세션에서 분리할 수 없습니다. 자격 증명 없이 iframe을 지원하는 브라우저를 사용하십시오.",
|
||||
"isolationNotice": "내장 페이지는 격리된 세션을 사용합니다. 저장 공간이나 팝업 로그인이 필요한 페이지의 경우 데스크톱 앱에서 격리된 창을 사용하십시오.",
|
||||
"openIsolatedWindow": "격리된 창을 엽니다"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "웹 UI",
|
||||
"webUiEndpointLabel": "엔드포인트 {{number}}",
|
||||
"webUiIntegration": "웹 UI",
|
||||
"webUiEndpointsSection": "엔드포인트",
|
||||
"webUiRequirementsText": "브라우저에서 직접 엔드포인트가 열리므로 해당 포트에 브라우저에서 접근할 수 있어야 합니다. Termix는 이 호스트의 SSH 연결을 통해 SSH 터널을 열므로 해당 포트는 호스트에서만 접근할 수 있으면 됩니다.",
|
||||
"enableWebUi": "웹 엔드포인트를 활성화합니다.",
|
||||
"enableWebUiDesc": "사이드바에서 이 호스트의 웹 인터페이스를 엽니다.",
|
||||
"webUiAddEndpoint": "엔드포인트 추가",
|
||||
"webUiAddress": "주소",
|
||||
"webUiOpening": "열기",
|
||||
"webUiBindHostDesc": "백엔드가 포워드를 바인딩하는 위치입니다. 127.0.0.1은 Termix가 실행되는 머신만 접근할 수 있으므로 비워 두십시오.",
|
||||
"webUiBindHostExposed": "이 주소는 Termix 장비 외에서도 접근 가능하므로, 해당 포트에 접속할 수 있는 사람은 누구나 로그인 없이 이 웹 UI에 접속할 수 있습니다.",
|
||||
"webUiLocalPort": "현지 항구",
|
||||
"webUiLocalPortAuto": "오토매틱",
|
||||
"webUiLocalPortDesc": "포트 포워딩이 수신 대기할 포트를 지정합니다. 시스템에서 자동으로 선택하도록 하려면 비워 두거나, 포트를 미리 알아야 하는 컨테이너(예: 포트를 공개하는 컨테이너)의 경우 포트를 설정하십시오.",
|
||||
"webUiNewEndpointLabel": "새로운 엔드포인트",
|
||||
"webUiLabel": "상표",
|
||||
"webUiScheme": "계획",
|
||||
"webUiPort": "포트",
|
||||
"webUiPath": "길",
|
||||
"webUiAccess": "입장",
|
||||
"webUiAccessDirect": "직접",
|
||||
"webUiAccessTunnel": "SSH 터널",
|
||||
"webUiAccessTunnelUnavailable": "SSH 터널을 사용하려면 해당 호스트에서 SSH가 활성화되어 있어야 하고 연결 시작 장치가 이 장치여야 합니다.",
|
||||
"webUiRender": "열기",
|
||||
"webUiRenderExternal": "격리된 데스크톱 창",
|
||||
"webUiRenderEmbedded": "터믹스 탭",
|
||||
"webUiRenderEmbeddedDesc": "임베딩은 최선을 다하는 방식입니다. 일부 웹 인터페이스는 프레임 내에서 로드되지 않을 수 있으며, 동일 사이트 쿠키에 의존하는 로그인은 무한 루프에 빠질 수 있습니다. 외부 브라우저는 항상 정상적으로 작동합니다.",
|
||||
"webUiIgnoreCert": "유효하지 않은 인증서를 허용합니다",
|
||||
"webUiIgnoreCertDesc": "직접 연결 엔드포인트에만 적용됩니다. 루프백은 이미 제외되어 있으므로 터널 엔드포인트에는 영향을 미치지 않습니다.",
|
||||
"webUiRemoveEndpoint": "엔드포인트를 제거합니다.",
|
||||
"webUiOpenFailed": "웹 엔드포인트를 열 수 없습니다."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Geen host geselecteerd",
|
||||
"notFound": "Dit eindpunt bestaat niet meer.",
|
||||
"tunnelUnreachableFromBrowser": "Dit eindpunt tunnelt naar 127.0.0.1 op de machine waarop Termix draait, een adres dat uw browser niet kan bereiken. Stel de Bind Host van het eindpunt in op een adres waarop die machine reageert, bijvoorbeeld 0.0.0.0, en geef het een vaste lokale poort.",
|
||||
"tunnelSharesSessionCookie": "Door deze tunnel te openen, wordt uw Termix-sessie naar de getunnelde service gestuurd, omdat uw browser deze via dezelfde hostnaam bereikt als waar Termix wordt aangeboden. Cookies negeren de poort, dus de twee zijn niet van elkaar te onderscheiden. Gebruik de Termix-desktopapp of open Termix op localhost.",
|
||||
"directSharesSessionCookie": "Het openen van dit eindpunt stuurt uw Termix-sessie ernaartoe, omdat uw browser het benadert via dezelfde site waar Termix wordt aangeboden. Cookies negeren de poort, dus een andere poort betekent niet dat er een andere identiteit is. Gebruik de Termix-desktopapp of bied deze webinterface aan via een andere hostnaam.",
|
||||
"retry": "Opnieuw proberen",
|
||||
"reload": "Herladen",
|
||||
"copyUrl": "URL kopiëren",
|
||||
"urlCopied": "URL gekopieerd",
|
||||
"copyFailed": "Het kopiëren van de URL is mislukt.",
|
||||
"openExternally": "Extern openen",
|
||||
"isolationUnavailable": "Deze browser kan web-endpoints niet isoleren van uw Termix-sessie. Gebruik een browser met ondersteuning voor iframes zonder inloggegevens.",
|
||||
"isolationNotice": "Ingesloten pagina's gebruiken een geïsoleerde sessie. Voor pagina's die opslag of een pop-upaanmelding vereisen, gebruikt u een geïsoleerd venster in de desktop-app.",
|
||||
"openIsolatedWindow": "Een geïsoleerd venster openen"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Web-UI",
|
||||
"webUiEndpointLabel": "Eindpunt {{number}}",
|
||||
"webUiIntegration": "Web-UI",
|
||||
"webUiEndpointsSection": "Eindpunten",
|
||||
"webUiRequirementsText": "Uw browser opent een rechtstreeks eindpunt, dus de poort moet vanaf hier bereikbaar zijn. Termix opent in plaats daarvan een SSH-tunnel via de SSH-verbinding van deze host, dus de poort hoeft alleen vanaf de host bereikbaar te zijn.",
|
||||
"enableWebUi": "Web-eindpunten inschakelen",
|
||||
"enableWebUiDesc": "Open de webinterfaces van deze host via de zijbalk.",
|
||||
"webUiAddEndpoint": "Eindpunt toevoegen",
|
||||
"webUiAddress": "Adres",
|
||||
"webUiOpening": "Opening",
|
||||
"webUiBindHostDesc": "Waar de backend de forward verbindt. Laat dit veld leeg voor 127.0.0.1, dat alleen bereikbaar is vanaf de machine waarop Termix draait.",
|
||||
"webUiBindHostExposed": "Dit adres is bereikbaar vanaf elke locatie buiten de Termix-machine, dus iedereen die de poort kan bereiken, krijgt toegang tot deze webinterface zonder in te loggen.",
|
||||
"webUiLocalPort": "Lokale haven",
|
||||
"webUiLocalPortAuto": "Automatisch",
|
||||
"webUiLocalPortDesc": "Op welke poort luistert de forwarder? Laat dit veld leeg om het systeem zelf een poort te laten kiezen, of stel er een in als de poort van tevoren bekend moet zijn, bijvoorbeeld omdat een container deze publiceert.",
|
||||
"webUiNewEndpointLabel": "Nieuw eindpunt",
|
||||
"webUiLabel": "Label",
|
||||
"webUiScheme": "Schema",
|
||||
"webUiPort": "Haven",
|
||||
"webUiPath": "Pad",
|
||||
"webUiAccess": "Toegang",
|
||||
"webUiAccessDirect": "Direct",
|
||||
"webUiAccessTunnel": "SSH-tunnel",
|
||||
"webUiAccessTunnelUnavailable": "Voor een SSH-tunnel is het nodig dat SSH op deze host is ingeschakeld en dat de verbinding afkomstig is van dit apparaat.",
|
||||
"webUiRender": "Openen in",
|
||||
"webUiRenderExternal": "Geïsoleerd bureaubladvenster",
|
||||
"webUiRenderEmbedded": "Termix-tabblad",
|
||||
"webUiRenderEmbeddedDesc": "Het inbedden is een poging naar beste vermogen: sommige webinterfaces weigeren te laden in een frame, en een inlogproces dat afhankelijk is van cookies van dezelfde website kan in een oneindige lus terechtkomen. De externe browser werkt altijd.",
|
||||
"webUiIgnoreCert": "Ongeldig certificaat toestaan",
|
||||
"webUiIgnoreCertDesc": "Alleen directe eindpunten. Loopback is al uitgezonderd, dus dit heeft geen effect op tunnel-eindpunten.",
|
||||
"webUiRemoveEndpoint": "Eindpunt verwijderen",
|
||||
"webUiOpenFailed": "Het openen van het web-eindpunt is mislukt."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Ingen vert valgt",
|
||||
"notFound": "Dette endepunktet finnes ikke lenger.",
|
||||
"tunnelUnreachableFromBrowser": "Dette endepunktet tunnelerer til 127.0.0.1 på maskinen som kjører Termix, som nettleseren din ikke kan nå. Sett endepunktets Bind Host til en adresse som maskinen svarer på, for eksempel 0.0.0.0, og gi det en fast lokal port.",
|
||||
"tunnelSharesSessionCookie": "Å åpne denne tunnelen vil sende Termix-økten din til den tunnelerte tjenesten, fordi nettleseren din vil nå den på samme vertsnavn som Termix betjenes fra. Informasjonskapsler ignorerer porten, så de to kan ikke skilles fra hverandre. Bruk Termix-skrivebordsappen, eller åpne Termix på localhost.",
|
||||
"directSharesSessionCookie": "Å åpne dette endepunktet vil sende Termix-økten din til det, fordi nettleseren din når det på samme sted som Termix serveres fra. Informasjonskapsler ignorerer porten, så en annen port er ikke en annen identitet. Bruk Termix-skrivebordsappen, eller server dette nettgrensesnittet fra et annet vertsnavn.",
|
||||
"retry": "Prøv på nytt",
|
||||
"reload": "Last inn på nytt",
|
||||
"copyUrl": "Kopier URL",
|
||||
"urlCopied": "URL-en er kopiert",
|
||||
"copyFailed": "Kunne ikke kopiere URL-en",
|
||||
"openExternally": "Åpne eksternt",
|
||||
"isolationUnavailable": "Denne nettleseren kan ikke isolere nettendepunkter fra Termix-økten din. Bruk en nettleser med støtte for iframe uten legitimasjon.",
|
||||
"isolationNotice": "Innebygde sider bruker en isolert økt. For sider som krever lagring eller popup-pålogging, bruk et isolert vindu i skrivebordsappen.",
|
||||
"openIsolatedWindow": "Åpne isolert vindu"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Nettgrensesnitt",
|
||||
"webUiEndpointLabel": "Endepunkt {{number}}",
|
||||
"webUiIntegration": "Nettgrensesnitt",
|
||||
"webUiEndpointsSection": "Endepunkter",
|
||||
"webUiRequirementsText": "Et direkte endepunkt åpnes av nettleseren din, så porten må kunne nås herfra. En SSH-tunnel åpnes i stedet av Termix over denne vertens SSH-tilkobling, så porten trenger bare å kunne nås fra verten.",
|
||||
"enableWebUi": "Aktiver nettendepunkter",
|
||||
"enableWebUiDesc": "Åpne denne vertens nettgrensesnitt fra sidefeltet.",
|
||||
"webUiAddEndpoint": "Legg til endepunkt",
|
||||
"webUiAddress": "Adresse",
|
||||
"webUiOpening": "Åpning",
|
||||
"webUiBindHostDesc": "Der backend binder forward. La stå tomt for 127.0.0.1, som bare maskinen som kjører Termix kan nå.",
|
||||
"webUiBindHostExposed": "Denne adressen er tilgjengelig utenfor Termix-maskinen, så alle som kan nå porten får dette nettgrensesnittet uten innlogging.",
|
||||
"webUiLocalPort": "Lokal havn",
|
||||
"webUiLocalPortAuto": "Automatisk",
|
||||
"webUiLocalPortDesc": "Hvilken port videresendingen lytter på. La stå tomt for å la systemet velge, eller angi en når porten må være kjent på forhånd, for eksempel en container som publiserer den.",
|
||||
"webUiNewEndpointLabel": "Nytt endepunkt",
|
||||
"webUiLabel": "Merkelapp",
|
||||
"webUiScheme": "Ordning",
|
||||
"webUiPort": "Havn",
|
||||
"webUiPath": "Sti",
|
||||
"webUiAccess": "Adgang",
|
||||
"webUiAccessDirect": "Direkte",
|
||||
"webUiAccessTunnel": "SSH-tunnel",
|
||||
"webUiAccessTunnelUnavailable": "En SSH-tunnel krever at SSH er aktivert på denne verten og at denne enheten har en tilkoblingsopprinnelse.",
|
||||
"webUiRender": "Åpne om",
|
||||
"webUiRenderExternal": "Isolert skrivebordsvindu",
|
||||
"webUiRenderEmbedded": "Termix-fanen",
|
||||
"webUiRenderEmbeddedDesc": "Innbygging er det beste alternativet: noen nettgrensesnitt nekter å laste inn i en ramme, og en pålogging som er avhengig av informasjonskapsler fra samme nettsted kan gå i løkker. Den eksterne nettleseren fungerer alltid.",
|
||||
"webUiIgnoreCert": "Tillat ugyldig sertifikat",
|
||||
"webUiIgnoreCertDesc": "Kun direkte endepunkter. Loopback er allerede unntatt, så dette har ingen effekt på tunnelendepunkter.",
|
||||
"webUiRemoveEndpoint": "Fjern endepunkt",
|
||||
"webUiOpenFailed": "Kunne ikke åpne nettendepunktet"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Nie wybrano hosta",
|
||||
"notFound": "Ten punkt końcowy już nie istnieje.",
|
||||
"tunnelUnreachableFromBrowser": "Ten punkt końcowy tuneluje do adresu 127.0.0.1 na komputerze z uruchomionym programem Termix, do którego Twoja przeglądarka nie może się dodzwonić. Ustaw hosta powiązania punktu końcowego na adres, pod którym odpowiada komputer, na przykład 0.0.0.0, i nadaj mu stały port lokalny.",
|
||||
"tunnelSharesSessionCookie": "Otwarcie tego tunelu spowoduje wysłanie sesji Termix do usługi tunelowanej, ponieważ przeglądarka połączy się z nią pod tą samą nazwą hosta, z której obsługiwany jest Termix. Pliki cookie ignorują port, więc nie da się ich rozróżnić. Użyj aplikacji desktopowej Termix lub otwórz Termix na komputerze lokalnym.",
|
||||
"directSharesSessionCookie": "Otwarcie tego punktu końcowego spowoduje wysłanie do niego sesji Termix, ponieważ przeglądarka dociera do niego z tej samej witryny, z której obsługiwany jest Termix. Pliki cookie ignorują port, więc inny port nie oznacza innej tożsamości. Użyj aplikacji desktopowej Termix lub obsługuj ten interfejs użytkownika z innej nazwy hosta.",
|
||||
"retry": "Spróbować ponownie",
|
||||
"reload": "Przeładować",
|
||||
"copyUrl": "Kopiuj adres URL",
|
||||
"urlCopied": "Skopiowano adres URL",
|
||||
"copyFailed": "Nie udało się skopiować adresu URL",
|
||||
"openExternally": "Otwórz zewnętrznie",
|
||||
"isolationUnavailable": "Ta przeglądarka nie może odizolować punktów końcowych od sesji Termix. Użyj przeglądarki obsługującej ramki iframe bez uwierzytelniania.",
|
||||
"isolationNotice": "Strony osadzone korzystają z odizolowanej sesji. W przypadku stron wymagających pamięci masowej lub logowania przez wyskakujące okienko, należy użyć odizolowanego okna w aplikacji na komputerze.",
|
||||
"openIsolatedWindow": "Otwórz odizolowane okno"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Interfejs użytkownika sieci Web",
|
||||
"webUiEndpointLabel": "Punkt końcowy {{number}}",
|
||||
"webUiIntegration": "Interfejs użytkownika sieci Web",
|
||||
"webUiEndpointsSection": "Punkty końcowe",
|
||||
"webUiRequirementsText": "Przeglądarka otwiera bezpośredni punkt końcowy, więc jego port musi być dostępny z tego miejsca. Zamiast tego, Termix otwiera tunel SSH przez połączenie SSH tego hosta, więc port musi być dostępny tylko z hosta.",
|
||||
"enableWebUi": "Włącz punkty końcowe sieci Web",
|
||||
"enableWebUiDesc": "Otwórz interfejsy sieciowe tego hosta z paska bocznego.",
|
||||
"webUiAddEndpoint": "Dodaj punkt końcowy",
|
||||
"webUiAddress": "Adres",
|
||||
"webUiOpening": "Otwór",
|
||||
"webUiBindHostDesc": "Gdzie backend łączy forward. Pozostaw puste pole dla adresu 127.0.0.1, do którego dostęp ma tylko komputer z uruchomionym Termixem.",
|
||||
"webUiBindHostExposed": "Do tego adresu można dotrzeć z poziomu maszyny Termix, więc każdy, kto ma dostęp do portu, otrzymuje ten internetowy interfejs użytkownika bez konieczności logowania.",
|
||||
"webUiLocalPort": "Port lokalny",
|
||||
"webUiLocalPortAuto": "Automatyczny",
|
||||
"webUiLocalPortDesc": "Na którym porcie nasłuchuje przekierowanie. Pozostaw puste, aby system sam wybrał port, lub wpisz go, jeśli port musi być znany z wyprzedzeniem, np. w przypadku kontenera, który go publikuje.",
|
||||
"webUiNewEndpointLabel": "Nowy punkt końcowy",
|
||||
"webUiLabel": "Etykieta",
|
||||
"webUiScheme": "Schemat",
|
||||
"webUiPort": "Port",
|
||||
"webUiPath": "Ścieżka",
|
||||
"webUiAccess": "Dostęp",
|
||||
"webUiAccessDirect": "Bezpośredni",
|
||||
"webUiAccessTunnel": "Tunel SSH",
|
||||
"webUiAccessTunnelUnavailable": "Tunel SSH wymaga włączonego protokołu SSH na tym hoście i źródła połączenia tego urządzenia.",
|
||||
"webUiRender": "Otwórz w",
|
||||
"webUiRenderExternal": "Odizolowane okno pulpitu",
|
||||
"webUiRenderEmbedded": "Karta Termix",
|
||||
"webUiRenderEmbeddedDesc": "Osadzanie jest zalecane z najwyższą starannością: niektóre interfejsy internetowe odmawiają załadowania w ramce, a logowanie oparte na plikach cookie tej samej witryny może się zapętlić. Zewnętrzna przeglądarka zawsze działa.",
|
||||
"webUiIgnoreCert": "Zezwól na nieprawidłowy certyfikat",
|
||||
"webUiIgnoreCertDesc": "Tylko bezpośrednie punkty końcowe. Pętla zwrotna jest już wyłączona, więc nie ma to wpływu na punkty końcowe tunelu.",
|
||||
"webUiRemoveEndpoint": "Usuń punkt końcowy",
|
||||
"webUiOpenFailed": "Nie udało się otworzyć punktu końcowego sieci Web"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Nenhum host selecionado",
|
||||
"notFound": "Este endpoint não existe mais.",
|
||||
"tunnelUnreachableFromBrowser": "Este endpoint estabelece um túnel para 127.0.0.1 na máquina que executa o Termix, endereço que seu navegador não consegue acessar. Defina o Host de Vinculação do endpoint para um endereço que a máquina responda, como 0.0.0.0, e atribua a ele uma Porta Local fixa.",
|
||||
"tunnelSharesSessionCookie": "Abrir este túnel enviará sua sessão do Termix para o serviço tunelado, pois seu navegador o acessará pelo mesmo nome de host de onde o Termix é servido. Os cookies ignoram a porta, portanto, os dois não podem ser diferenciados. Use o aplicativo Termix para desktop ou abra o Termix em localhost.",
|
||||
"directSharesSessionCookie": "Abrir este endpoint enviará sua sessão do Termix para ele, pois seu navegador o acessa no mesmo site que serve o Termix. Os cookies ignoram a porta, portanto, uma porta diferente não representa uma identidade diferente. Use o aplicativo Termix para desktop ou acesse esta interface web a partir de um nome de host diferente.",
|
||||
"retry": "Tentar novamente",
|
||||
"reload": "Recarregar",
|
||||
"copyUrl": "Copiar URL",
|
||||
"urlCopied": "URL copiada",
|
||||
"copyFailed": "Falha ao copiar o URL",
|
||||
"openExternally": "Abrir externamente",
|
||||
"isolationUnavailable": "Este navegador não consegue isolar os endpoints da web da sua sessão do Termix. Use um navegador com suporte a iframes sem credenciais.",
|
||||
"isolationNotice": "As páginas incorporadas usam uma sessão isolada. Para páginas que exigem armazenamento ou login em janela pop-up, use uma janela isolada no aplicativo para desktop.",
|
||||
"openIsolatedWindow": "Janela isolada aberta"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Interface de usuário web",
|
||||
"webUiEndpointLabel": "Ponto final {{number}}",
|
||||
"webUiIntegration": "Interface de usuário web",
|
||||
"webUiEndpointsSection": "Pontos finais",
|
||||
"webUiRequirementsText": "Um endpoint direto é aberto pelo seu navegador, portanto, a porta dele precisa estar acessível a partir daqui. Em vez disso, o Termix abre um túnel SSH sobre a conexão SSH deste host, então a porta só precisa estar acessível a partir do host.",
|
||||
"enableWebUi": "Habilitar endpoints da web",
|
||||
"enableWebUiDesc": "Abra as interfaces web deste host a partir da barra lateral.",
|
||||
"webUiAddEndpoint": "Adicionar ponto final",
|
||||
"webUiAddress": "Endereço",
|
||||
"webUiOpening": "Abertura",
|
||||
"webUiBindHostDesc": "Onde o servidor de backend vincula o encaminhamento. Deixe em branco para 127.0.0.1, que somente a máquina que executa o Termix pode acessar.",
|
||||
"webUiBindHostExposed": "Este endereço é acessível além da máquina Termix, portanto, qualquer pessoa que consiga acessar a porta obtém esta interface web sem necessidade de login.",
|
||||
"webUiLocalPort": "Porto local",
|
||||
"webUiLocalPortAuto": "Automático",
|
||||
"webUiLocalPortDesc": "Em qual porta o encaminhamento escuta. Deixe em branco para que o sistema escolha, ou defina uma quando a porta precisar ser conhecida antecipadamente, como no caso de um contêiner que a publica.",
|
||||
"webUiNewEndpointLabel": "Novo ponto final",
|
||||
"webUiLabel": "Rótulo",
|
||||
"webUiScheme": "Plano",
|
||||
"webUiPort": "Porta",
|
||||
"webUiPath": "Caminho",
|
||||
"webUiAccess": "Acesso",
|
||||
"webUiAccessDirect": "Direto",
|
||||
"webUiAccessTunnel": "túnel SSH",
|
||||
"webUiAccessTunnelUnavailable": "Um túnel SSH requer que o SSH esteja habilitado neste host e que a origem da conexão seja este dispositivo.",
|
||||
"webUiRender": "Abrir em",
|
||||
"webUiRenderExternal": "janela de área de trabalho isolada",
|
||||
"webUiRenderEmbedded": "guia Termix",
|
||||
"webUiRenderEmbeddedDesc": "A incorporação é feita da melhor maneira possível: algumas interfaces web se recusam a carregar em um frame, e um login que depende de cookies do mesmo site pode entrar em loop. O navegador externo sempre funciona.",
|
||||
"webUiIgnoreCert": "Permitir certificado inválido",
|
||||
"webUiIgnoreCertDesc": "Apenas endpoints diretos. O loopback já está isento, portanto, isso não afeta os endpoints do túnel.",
|
||||
"webUiRemoveEndpoint": "Remover ponto final",
|
||||
"webUiOpenFailed": "Falha ao abrir o endpoint da web"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Nenhum host selecionado",
|
||||
"notFound": "Este endpoint já não existe.",
|
||||
"tunnelUnreachableFromBrowser": "Este endpoint estabelece um túnel para 127.0.0.1 na máquina que executa o Termix, endereço que o seu browser não consegue aceder. Defina o Host de Ligação do endpoint para um endereço que a máquina responda, como por exemplo 0.0.0.0, e atribua-lhe uma Porta Local fixa.",
|
||||
"tunnelSharesSessionCookie": "A abertura deste túnel enviará a sua sessão do Termix para o serviço tunelado, uma vez que o seu browser irá aceder-lhe pelo mesmo nome de host a partir do qual o Termix é servido. Os cookies ignoram a porta, pelo que os dois não podem ser diferenciados. Utilize a aplicação Termix para desktop ou abra o Termix em localhost.",
|
||||
"directSharesSessionCookie": "Abrir este endpoint irá enviar a sua sessão do Termix para o mesmo, uma vez que o seu browser acede ao mesmo no mesmo site que serve o Termix. Os cookies ignoram a porta, pelo que uma porta diferente não representa uma identidade diferente. Utilize a aplicação Termix para desktop ou aceda a esta interface web a partir de um nome de host diferente.",
|
||||
"retry": "Tentar novamente",
|
||||
"reload": "Recarregar",
|
||||
"copyUrl": "Copiar URL",
|
||||
"urlCopied": "URL copiado",
|
||||
"copyFailed": "Falha ao copiar o URL",
|
||||
"openExternally": "Abrir externamente",
|
||||
"isolationUnavailable": "Este browser não consegue isolar os endpoints web da sua sessão Termix. Utilize um browser com suporte para iframes sem credenciais.",
|
||||
"isolationNotice": "As páginas incorporadas utilizam uma sessão isolada. Para páginas que exijam armazenamento ou login em janela pop-up, utilize uma janela isolada na aplicação para desktop.",
|
||||
"openIsolatedWindow": "Janela isolada aberta"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Interface de utilizador web",
|
||||
"webUiEndpointLabel": "Ponto final {{number}}",
|
||||
"webUiIntegration": "Interface de utilizador web",
|
||||
"webUiEndpointsSection": "Pontos finais",
|
||||
"webUiRequirementsText": "Um endpoint direto é aberto pelo seu browser, pelo que a porta do mesmo precisa de estar acessível a partir daqui. Em vez disso, o Termix abre um túnel SSH sobre a ligação SSH deste host, pelo que a porta só precisa de estar acessível a partir do host.",
|
||||
"enableWebUi": "Ativar endpoints da web",
|
||||
"enableWebUiDesc": "Abra as interfaces web deste host a partir da barra lateral.",
|
||||
"webUiAddEndpoint": "Adicionar ponto final",
|
||||
"webUiAddress": "Morada",
|
||||
"webUiOpening": "Abertura",
|
||||
"webUiBindHostDesc": "Onde o servidor de backend liga o encaminhamento. Deixe em branco para 127.0.0.1, que apenas a máquina que executa o Termix pode aceder.",
|
||||
"webUiBindHostExposed": "Este endereço é acessível para além da máquina Termix, pelo que qualquer pessoa que consiga aceder à porta obtém esta interface web sem necessidade de login.",
|
||||
"webUiLocalPort": "Porto local",
|
||||
"webUiLocalPortAuto": "Automático",
|
||||
"webUiLocalPortDesc": "Em que porta o encaminhamento escuta. Deixe em branco para que o sistema escolha, ou defina uma porta quando é necessário saber a porta antecipadamente, como no caso de um contentor que a publica.",
|
||||
"webUiNewEndpointLabel": "Novo ponto final",
|
||||
"webUiLabel": "Etiqueta",
|
||||
"webUiScheme": "Plano",
|
||||
"webUiPort": "Porto",
|
||||
"webUiPath": "Percurso",
|
||||
"webUiAccess": "Acesso",
|
||||
"webUiAccessDirect": "Direto",
|
||||
"webUiAccessTunnel": "túnel SSH",
|
||||
"webUiAccessTunnelUnavailable": "Um túnel SSH requer que o SSH esteja activado neste host e que a origem da ligação seja este dispositivo.",
|
||||
"webUiRender": "Abrir em",
|
||||
"webUiRenderExternal": "janela de área de trabalho isolada",
|
||||
"webUiRenderEmbedded": "guia Termix",
|
||||
"webUiRenderEmbeddedDesc": "A incorporação é feita da melhor forma possível: algumas interfaces web recusam-se a carregar num frame, e um login que dependa de cookies do mesmo site pode entrar em loop. O browser externo funciona sempre.",
|
||||
"webUiIgnoreCert": "Permitir certificado inválido",
|
||||
"webUiIgnoreCertDesc": "Apenas endpoints diretos. O loopback já está isento, pelo que isto não afeta os endpoints do túnel.",
|
||||
"webUiRemoveEndpoint": "Remover ponto final",
|
||||
"webUiOpenFailed": "Falha ao abrir o endpoint web"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Nicio gazdă selectată",
|
||||
"notFound": "Acest punct final nu mai există.",
|
||||
"tunnelUnreachableFromBrowser": "Acest punct final face tunel către 127.0.0.1 pe mașina care rulează Termix, pe care browserul dvs. nu o poate accesa. Setați Bind Host-ul punctului final la o adresă la care mașina răspunde, cum ar fi 0.0.0.0, și atribuiți-i un Port Local fix.",
|
||||
"tunnelSharesSessionCookie": "Deschiderea acestui tunel ar trimite sesiunea Termix către serviciul tunelat, deoarece browserul dvs. l-ar accesa la același nume de gazdă de pe care este servit Termix. Cookie-urile ignoră portul, deci cele două nu pot fi diferențiate. Folosește aplicația desktop Termix sau deschide Termix la localhost.",
|
||||
"directSharesSessionCookie": "Deschiderea acestui endpoint ar trimite sesiunea Termix către acesta, deoarece browserul dvs. îl accesează pe același site de pe care este servit Termix. Cookie-urile ignoră portul, deci un port diferit nu reprezintă o identitate diferită. Folosiți aplicația desktop Termix sau serviți această interfață web de pe un nume de gazdă diferit.",
|
||||
"retry": "Reîncercați",
|
||||
"reload": "Reîncărcare",
|
||||
"copyUrl": "Copiați adresa URL",
|
||||
"urlCopied": "Adresa URL copiată",
|
||||
"copyFailed": "Nu s-a putut copia adresa URL",
|
||||
"openExternally": "Deschis la exterior",
|
||||
"isolationUnavailable": "Acest browser nu poate izola endpoint-urile web de sesiunea ta Termix. Folosește un browser cu suport iframe fără credențiale.",
|
||||
"isolationNotice": "Paginile încorporate utilizează o sesiune izolată. Pentru paginile care necesită spațiu de stocare sau conectare pop-up, utilizați o fereastră izolată în aplicația desktop.",
|
||||
"openIsolatedWindow": "Deschideți o fereastră izolată"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Interfață web",
|
||||
"webUiEndpointLabel": "Punct final {{number}}",
|
||||
"webUiIntegration": "Interfață web",
|
||||
"webUiEndpointsSection": "Puncte finale",
|
||||
"webUiRequirementsText": "Un punct final direct este deschis de browserul dvs., deci portul său trebuie să fie accesibil de aici. Un tunel SSH este deschis de Termix prin conexiunea SSH a acestei gazde, deci portul trebuie să fie accesibil doar de la gazdă.",
|
||||
"enableWebUi": "Activează punctele de terminare web",
|
||||
"enableWebUiDesc": "Deschideți interfețele web ale acestei gazde din bara laterală.",
|
||||
"webUiAddEndpoint": "Adăugați un punct final",
|
||||
"webUiAddress": "Adresa",
|
||||
"webUiOpening": "Deschidere",
|
||||
"webUiBindHostDesc": "Unde backend-ul leagă forward-ul. Lăsați necompletat pentru 127.0.0.1, pe care doar mașina care rulează Termix îl poate accesa.",
|
||||
"webUiBindHostExposed": "Această adresă este accesibilă dincolo de mașina Termix, așa că oricine poate accesa portul primește această interfață web fără a fi nevoie de autentificare.",
|
||||
"webUiLocalPort": "Port local",
|
||||
"webUiLocalPortAuto": "Automat",
|
||||
"webUiLocalPortDesc": "Portul pe care ascultă redirecționarea. Lăsați necompletat pentru a permite sistemului să aleagă sau setați unul atunci când portul trebuie cunoscut în avans, cum ar fi un container care îl publică.",
|
||||
"webUiNewEndpointLabel": "Punct final nou",
|
||||
"webUiLabel": "Eticheta",
|
||||
"webUiScheme": "Sistem",
|
||||
"webUiPort": "Port",
|
||||
"webUiPath": "Cale",
|
||||
"webUiAccess": "Acces",
|
||||
"webUiAccessDirect": "Direct",
|
||||
"webUiAccessTunnel": "Tunel SSH",
|
||||
"webUiAccessTunnelUnavailable": "Un tunel SSH necesită SSH activat pe această gazdă și o origine a conexiunii pentru acest dispozitiv.",
|
||||
"webUiRender": "Deschide în",
|
||||
"webUiRenderExternal": "Fereastră izolată a desktopului",
|
||||
"webUiRenderEmbedded": "Tabulă Termix",
|
||||
"webUiRenderEmbeddedDesc": "Integrarea este cea mai bună metodă: unele interfețe web refuză să se încarce într-un cadru, iar o conectare care se bazează pe cookie-uri de pe același site se poate repeta. Browserul extern funcționează întotdeauna.",
|
||||
"webUiIgnoreCert": "Permiteți certificatul nevalid",
|
||||
"webUiIgnoreCertDesc": "Numai puncte finale directe. Loopback-ul este deja exceptat, deci acest lucru nu are efect asupra punctelor finale ale tunelului.",
|
||||
"webUiRemoveEndpoint": "Eliminați punctul final",
|
||||
"webUiOpenFailed": "Nu s-a putut deschide endpoint-ul web"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Хост не выбран",
|
||||
"notFound": "Данная конечная точка больше не существует.",
|
||||
"tunnelUnreachableFromBrowser": "Эта конечная точка туннелирует на 127.0.0.1 на машине, где запущен Termix, но ваш браузер к ней не имеет доступа. Установите в качестве параметра Bind Host адрес, на который машина отвечает, например, 0.0.0.0, и укажите фиксированный локальный порт.",
|
||||
"tunnelSharesSessionCookie": "Открытие этого туннеля направит вашу сессию Termix к туннелированному сервису, поскольку ваш браузер будет обращаться к нему по тому же имени хоста, с которого обслуживается Termix. Файлы cookie игнорируют порт, поэтому их невозможно различить. Используйте настольное приложение Termix или откройте Termix по адресу localhost.",
|
||||
"directSharesSessionCookie": "Открытие этой конечной точки перенаправит вашу сессию Termix на неё, поскольку ваш браузер обращается к ней через тот же сайт, с которого обслуживается Termix. Файлы cookie игнорируют порт, поэтому другой порт не означает другой идентификатор. Используйте настольное приложение Termix или разместите этот веб-интерфейс с другого имени хоста.",
|
||||
"retry": "Повторить попытку",
|
||||
"reload": "Перезагрузка",
|
||||
"copyUrl": "Скопировать URL",
|
||||
"urlCopied": "URL скопирован",
|
||||
"copyFailed": "Не удалось скопировать URL.",
|
||||
"openExternally": "Открыть извне",
|
||||
"isolationUnavailable": "Этот браузер не может изолировать веб-интерфейсы от вашей сессии Termix. Используйте браузер с поддержкой iframe без учетных данных.",
|
||||
"isolationNotice": "Встроенные страницы используют изолированную сессию. Для страниц, требующих хранения данных или всплывающего окна авторизации, используйте изолированное окно в настольном приложении.",
|
||||
"openIsolatedWindow": "Открытое изолированное окно"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Веб-интерфейс",
|
||||
"webUiEndpointLabel": "Конечная точка {{number}}",
|
||||
"webUiIntegration": "Веб-интерфейс",
|
||||
"webUiEndpointsSection": "Конечные точки",
|
||||
"webUiRequirementsText": "Ваш браузер открывает прямую конечную точку, поэтому её порт должен быть доступен отсюда. Termix же открывает SSH-туннель через SSH-соединение этого хоста, поэтому порт должен быть доступен только с этого хоста.",
|
||||
"enableWebUi": "Включить веб-конечные точки",
|
||||
"enableWebUiDesc": "Откройте веб-интерфейс этого хостинг-провайдера из боковой панели.",
|
||||
"webUiAddEndpoint": "Добавить конечную точку",
|
||||
"webUiAddress": "Адрес",
|
||||
"webUiOpening": "Открытие",
|
||||
"webUiBindHostDesc": "Где бэкэнд привязывает переадресацию. Оставьте поле пустым для IP-адреса 127.0.0.1, к которому может получить доступ только компьютер, на котором запущен Termix.",
|
||||
"webUiBindHostExposed": "Этот адрес доступен за пределами машины Termix, поэтому любой, кто может получить доступ к этому порту, получает доступ к веб-интерфейсу без авторизации.",
|
||||
"webUiLocalPort": "Местный порт",
|
||||
"webUiLocalPortAuto": "Автоматический",
|
||||
"webUiLocalPortDesc": "На каком порту будет прослушивать переадресация? Оставьте поле пустым, чтобы система выбрала его сама, или задайте порт заранее, например, если он должен быть известен контейнеру, который его публикует.",
|
||||
"webUiNewEndpointLabel": "Новая конечная точка",
|
||||
"webUiLabel": "Этикетка",
|
||||
"webUiScheme": "Схема",
|
||||
"webUiPort": "Порт",
|
||||
"webUiPath": "Путь",
|
||||
"webUiAccess": "Доступ",
|
||||
"webUiAccessDirect": "Прямой",
|
||||
"webUiAccessTunnel": "SSH-туннель",
|
||||
"webUiAccessTunnelUnavailable": "Для создания SSH-туннеля необходимо включить SSH на этом хосте и указать источник соединения на этом устройстве.",
|
||||
"webUiRender": "Открыть в",
|
||||
"webUiRenderExternal": "Изолированное окно рабочего стола",
|
||||
"webUiRenderEmbedded": "Термикс вкладка",
|
||||
"webUiRenderEmbeddedDesc": "Встраивание осуществляется по принципу «максимальной эффективности»: некоторые веб-интерфейсы отказываются загружаться во фрейме, а вход в систему, использующий файлы cookie того же сайта, может зацикливаться. Внешний браузер всегда работает.",
|
||||
"webUiIgnoreCert": "Разрешить использование недействительного сертификата",
|
||||
"webUiIgnoreCertDesc": "Только прямые конечные точки. Замыкания (loopback) уже исключены, поэтому это не влияет на туннельные конечные точки.",
|
||||
"webUiRemoveEndpoint": "Удалить конечную точку",
|
||||
"webUiOpenFailed": "Не удалось открыть веб-интерфейс."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Није изабран домаћин",
|
||||
"notFound": "Ова крајња тачка више не постоји.",
|
||||
"tunnelUnreachableFromBrowser": "Ова крајња тачка се повезује са адресом 127.0.0.1 на машини на којој је покренут Termix, коју ваш прегледач не може да досегне. Поставите Bind Host крајње тачке на адресу на коју машина одговара, као што је 0.0.0.0, и доделите јој фиксни локални порт.",
|
||||
"tunnelSharesSessionCookie": "Отварањем овог тунела ваша Termix сесија би се послала тунелираном сервису, јер би је ваш прегледач дохватио на истом имену хоста са ког се Termix служи. Колачићи игноришу порт, тако да се та два не могу разликовати. Користите Termix десктоп апликацију или отворите Termix на localhost.",
|
||||
"directSharesSessionCookie": "Отварањем ове крајње тачке би се ваша Termix сесија послала на њу, јер ваш прегледач до ње долази на истој локацији са које се Termix служи. Колачићи игноришу порт, тако да други порт није други идентитет. Користите Termix десктоп апликацију или служите овом веб корисничком интерфејсу са другог имена хоста.",
|
||||
"retry": "Покушај поново",
|
||||
"reload": "Поново учитај",
|
||||
"copyUrl": "Копирај УРЛ",
|
||||
"urlCopied": "URL је копиран",
|
||||
"copyFailed": "Копирање URL-а није успело",
|
||||
"openExternally": "Отвори споља",
|
||||
"isolationUnavailable": "Овај прегледач не може да изолује веб крајње тачке од ваше Termix сесије. Користите прегледач са подршком за iframe без акредитива.",
|
||||
"isolationNotice": "Уграђене странице користе изоловану сесију. За странице које захтевају складиштење или искачуће пријављивање, користите изоловани прозор у апликацији за рачунаре.",
|
||||
"openIsolatedWindow": "Отвори изоловани прозор"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Веб кориснички интерфејс",
|
||||
"webUiEndpointLabel": "Крајња тачка {{number}}",
|
||||
"webUiIntegration": "Веб кориснички интерфејс",
|
||||
"webUiEndpointsSection": "Крајње тачке",
|
||||
"webUiRequirementsText": "Директну крајњу тачку отвара ваш прегледач, тако да њен порт мора бити доступан одавде. Уместо тога, Termix отвара SSH тунел преко SSH везе овог хоста, тако да порт мора бити доступан само са хоста.",
|
||||
"enableWebUi": "Омогући веб крајње тачке",
|
||||
"enableWebUiDesc": "Отворите веб интерфејсе овог хоста са бочне траке.",
|
||||
"webUiAddEndpoint": "Додај крајњу тачку",
|
||||
"webUiAddress": "Адреса",
|
||||
"webUiOpening": "Отварање",
|
||||
"webUiBindHostDesc": "Где се бекенд повезује са преусмеравањем. Оставите празно за 127.0.0.1, до којег може да дође само машина на којој је покренут Termix.",
|
||||
"webUiBindHostExposed": "Ова адреса је доступна изван Termix машине, тако да свако ко може да дође до порта добија овај веб интерфејс без пријављивања.",
|
||||
"webUiLocalPort": "Локални порт",
|
||||
"webUiLocalPortAuto": "Аутоматски",
|
||||
"webUiLocalPortDesc": "На ком порту преусмеравање слуша. Оставите празно да би систем изабрао или подесите порт када порт мора бити познат унапред, као што је контејнер који га објављује.",
|
||||
"webUiNewEndpointLabel": "Нова крајња тачка",
|
||||
"webUiLabel": "Ознака",
|
||||
"webUiScheme": "Шема",
|
||||
"webUiPort": "Лука",
|
||||
"webUiPath": "Путања",
|
||||
"webUiAccess": "Приступ",
|
||||
"webUiAccessDirect": "Директно",
|
||||
"webUiAccessTunnel": "SSH тунел",
|
||||
"webUiAccessTunnelUnavailable": "SSH тунел захтева омогућен SSH на овом хосту и порекло везе са овог уређаја.",
|
||||
"webUiRender": "Отвори у",
|
||||
"webUiRenderExternal": "Изоловани прозор радне површине",
|
||||
"webUiRenderEmbedded": "Термикс картица",
|
||||
"webUiRenderEmbeddedDesc": "Уграђивање је најбољи начин: неки веб интерфејси одбијају да се учитају у оквиру, а пријава која се ослања на колачиће истог сајта може да се понови у петљи. Спољни прегледач увек ради.",
|
||||
"webUiIgnoreCert": "Дозволи неважећи сертификат",
|
||||
"webUiIgnoreCertDesc": "Само директне крајње тачке. Повратна петља је већ изузета, тако да ово нема утицаја на крајње тачке тунела.",
|
||||
"webUiRemoveEndpoint": "Уклони крајњу тачку",
|
||||
"webUiOpenFailed": "Отварање веб крајње тачке није успело"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Ingen värd vald",
|
||||
"notFound": "Denna slutpunkt finns inte längre.",
|
||||
"tunnelUnreachableFromBrowser": "Denna slutpunkt tunnlar till 127.0.0.1 på maskinen som kör Termix, vilket din webbläsare inte kan nå. Ställ in slutpunktens Bind Host till en adress som maskinen svarar på, till exempel 0.0.0.0, och ge den en fast lokal port.",
|
||||
"tunnelSharesSessionCookie": "Om du öppnar den här tunneln skickas din Termix-session till den tunnelerade tjänsten, eftersom din webbläsare skulle nå den på samma värdnamn som Termix serveras från. Cookies ignorerar porten, så de två kan inte skiljas åt. Använd Termix-skrivbordsappen eller öppna Termix på localhost.",
|
||||
"directSharesSessionCookie": "Att öppna den här slutpunkten skulle skicka din Termix-session till den, eftersom din webbläsare når den på samma plats som Termix serveras från. Cookies ignorerar porten, så en annan port är inte en annan identitet. Använd Termix-skrivbordsappen eller servera detta webbgränssnitt från ett annat värdnamn.",
|
||||
"retry": "Försöka igen",
|
||||
"reload": "Ladda om",
|
||||
"copyUrl": "Kopiera URL",
|
||||
"urlCopied": "URL kopierad",
|
||||
"copyFailed": "Misslyckades med att kopiera URL:en",
|
||||
"openExternally": "Öppna externt",
|
||||
"isolationUnavailable": "Den här webbläsaren kan inte isolera webbslutpunkter från din Termix-session. Använd en webbläsare med stöd för iframe utan autentiseringsuppgifter.",
|
||||
"isolationNotice": "Inbäddade sidor använder en isolerad session. För sidor som kräver lagring eller popup-inloggning, använd ett isolerat fönster i skrivbordsappen.",
|
||||
"openIsolatedWindow": "Öppna isolerade fönster"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Webbgränssnitt",
|
||||
"webUiEndpointLabel": "Slutpunkt {{number}}",
|
||||
"webUiIntegration": "Webbgränssnitt",
|
||||
"webUiEndpointsSection": "Slutpunkter",
|
||||
"webUiRequirementsText": "En direkt slutpunkt öppnas av din webbläsare, så dess port måste kunna nås härifrån. En SSH-tunnel öppnas istället av Termix över den här värdens SSH-anslutning, så porten behöver bara kunna nås från värden.",
|
||||
"enableWebUi": "Aktivera webbslutpunkter",
|
||||
"enableWebUiDesc": "Öppna den här värdens webbgränssnitt från sidofältet.",
|
||||
"webUiAddEndpoint": "Lägg till slutpunkt",
|
||||
"webUiAddress": "Adress",
|
||||
"webUiOpening": "Öppning",
|
||||
"webUiBindHostDesc": "Där backend binder forwarden. Lämna tomt för 127.0.0.1, som endast maskinen som kör Termix kan nå.",
|
||||
"webUiBindHostExposed": "Den här adressen är nåbar bortom Termix-maskinen, så alla som kan nå porten får detta webbgränssnitt utan inloggning.",
|
||||
"webUiLocalPort": "Lokal hamn",
|
||||
"webUiLocalPortAuto": "Automatisk",
|
||||
"webUiLocalPortDesc": "Vilken port vidarebefordran lyssnar på. Lämna tomt för att låta systemet välja, eller ange en port när porten måste vara känd i förväg, till exempel en container som publicerar den.",
|
||||
"webUiNewEndpointLabel": "Ny slutpunkt",
|
||||
"webUiLabel": "Märka",
|
||||
"webUiScheme": "Schema",
|
||||
"webUiPort": "Hamn",
|
||||
"webUiPath": "Väg",
|
||||
"webUiAccess": "Tillträde",
|
||||
"webUiAccessDirect": "Direkt",
|
||||
"webUiAccessTunnel": "SSH-tunnel",
|
||||
"webUiAccessTunnelUnavailable": "En SSH-tunnel kräver att SSH är aktiverat på den här värden och att den här enheten har ett anslutningsursprung.",
|
||||
"webUiRender": "Öppna om",
|
||||
"webUiRenderExternal": "Isolerat skrivbordsfönster",
|
||||
"webUiRenderEmbedded": "Termix-fliken",
|
||||
"webUiRenderEmbeddedDesc": "Inbäddning är det bästa alternativet: vissa webbgränssnitt vägrar att laddas i en ram, och en inloggning som förlitar sig på cookies från samma webbplats kan loopa. Den externa webbläsaren fungerar alltid.",
|
||||
"webUiIgnoreCert": "Tillåt ogiltigt certifikat",
|
||||
"webUiIgnoreCertDesc": "Endast direkta slutpunkter. Loopback är redan undantaget, så detta har ingen effekt på tunnelslutpunkter.",
|
||||
"webUiRemoveEndpoint": "Ta bort slutpunkten",
|
||||
"webUiOpenFailed": "Misslyckades med att öppna webbslutpunkten"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "ไม่ได้เลือกโฮสต์",
|
||||
"notFound": "ปลายทางนี้ไม่มีอยู่อีกต่อไปแล้ว",
|
||||
"tunnelUnreachableFromBrowser": "ปลายทางนี้จะเชื่อมต่อผ่านอุโมงค์ไปยัง 127.0.0.1 บนเครื่องที่ใช้งาน Termix ซึ่งเบราว์เซอร์ของคุณไม่สามารถเข้าถึงได้ ตั้งค่า Bind Host ของปลายทางนี้เป็นที่อยู่ IP ที่เครื่องจะตอบสนอง เช่น 0.0.0.0 และกำหนด Local Port ให้คงที่",
|
||||
"tunnelSharesSessionCookie": "การเปิดอุโมงค์นี้จะส่งเซสชัน Termix ของคุณไปยังบริการผ่านอุโมงค์ เนื่องจากเบราว์เซอร์ของคุณจะเข้าถึงบริการนั้นด้วยชื่อโฮสต์เดียวกับที่ Termix ให้บริการ คุกกี้จะไม่สนใจพอร์ต ดังนั้นจึงไม่สามารถแยกแยะความแตกต่างระหว่างทั้งสองได้ ใช้แอป Termix บนเดสก์ท็อป หรือเปิด Termix ที่ localhost",
|
||||
"directSharesSessionCookie": "การเปิดเอนด์พอยต์นี้จะส่งเซสชัน Termix ของคุณไปยังเอนด์พอยต์นี้ เนื่องจากเบราว์เซอร์ของคุณเข้าถึงเอนด์พอยต์นี้จากเว็บไซต์เดียวกับที่ Termix ให้บริการ คุกกี้จะไม่สนใจพอร์ต ดังนั้นพอร์ตที่ต่างกันจึงไม่ได้หมายถึงตัวตนที่ต่างกัน ใช้แอปพลิเคชัน Termix บนเดสก์ท็อป หรือให้บริการเว็บ UI นี้จากชื่อโฮสต์อื่น",
|
||||
"retry": "ลองใหม่อีกครั้ง",
|
||||
"reload": "โหลดซ้ำ",
|
||||
"copyUrl": "คัดลอก URL",
|
||||
"urlCopied": "คัดลอก URL แล้ว",
|
||||
"copyFailed": "ไม่สามารถคัดลอก URL ได้",
|
||||
"openExternally": "เปิดจากภายนอก",
|
||||
"isolationUnavailable": "เบราว์เซอร์นี้ไม่สามารถแยกเว็บเอนด์พอยต์ออกจากเซสชัน Termix ของคุณได้ โปรดใช้เบราว์เซอร์ที่รองรับ iframe แบบไม่ต้องใส่ข้อมูลรับรอง",
|
||||
"isolationNotice": "หน้าเว็บที่ฝังอยู่จะใช้เซสชันแยกต่างหาก สำหรับหน้าเว็บที่ต้องการพื้นที่จัดเก็บข้อมูลหรือการลงชื่อเข้าใช้แบบป๊อปอัพ ให้ใช้หน้าต่างแยกต่างหากในแอปพลิเคชันบนเดสก์ท็อป",
|
||||
"openIsolatedWindow": "เปิดหน้าต่างแยกต่างหาก"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "ส่วนติดต่อผู้ใช้บนเว็บ",
|
||||
"webUiEndpointLabel": "จุดสิ้นสุด {{number}}",
|
||||
"webUiIntegration": "ส่วนติดต่อผู้ใช้บนเว็บ",
|
||||
"webUiEndpointsSection": "จุดสิ้นสุด",
|
||||
"webUiRequirementsText": "เบราว์เซอร์ของคุณจะเปิดปลายทางโดยตรง ดังนั้นพอร์ตจะต้องสามารถเข้าถึงได้จากที่นี่ แต่หากใช้ Termix จะเปิดอุโมงค์ SSH ผ่านการเชื่อมต่อ SSH ของโฮสต์นี้แทน ดังนั้นพอร์ตจึงไม่จำเป็นต้องสามารถเข้าถึงได้จากโฮสต์เพียงอย่างเดียว",
|
||||
"enableWebUi": "เปิดใช้งานเอนด์พอยต์เว็บ",
|
||||
"enableWebUiDesc": "เปิดหน้าเว็บของโฮสต์นี้จากแถบด้านข้าง",
|
||||
"webUiAddEndpoint": "เพิ่มเอนด์พอยต์",
|
||||
"webUiAddress": "ที่อยู่",
|
||||
"webUiOpening": "เปิด",
|
||||
"webUiBindHostDesc": "ตรงส่วนที่แบ็กเอนด์เชื่อมต่อกับส่วนหน้า เว้นว่างไว้สำหรับ 127.0.0.1 ซึ่งมีเพียงเครื่องที่ใช้งาน Termix เท่านั้นที่สามารถเข้าถึงได้",
|
||||
"webUiBindHostExposed": "ที่อยู่เว็บนี้สามารถเข้าถึงได้จากภายนอกเครื่อง Termix ดังนั้นใครก็ตามที่สามารถเข้าถึงพอร์ตนี้จะสามารถเข้าถึงเว็บ UI นี้ได้โดยไม่ต้องล็อกอิน",
|
||||
"webUiLocalPort": "ท่าเรือท้องถิ่น",
|
||||
"webUiLocalPortAuto": "อัตโนมัติ",
|
||||
"webUiLocalPortDesc": "พอร์ตที่ตัวส่งต่อรับฟังอยู่ เว้นว่างไว้เพื่อให้ระบบเลือก หรือระบุพอร์ตเมื่อจำเป็นต้องทราบพอร์ตล่วงหน้า เช่น คอนเทนเนอร์ที่เผยแพร่พอร์ตนั้น",
|
||||
"webUiNewEndpointLabel": "จุดเชื่อมต่อใหม่",
|
||||
"webUiLabel": "ฉลาก",
|
||||
"webUiScheme": "โครงการ",
|
||||
"webUiPort": "ท่าเรือ",
|
||||
"webUiPath": "เส้นทาง",
|
||||
"webUiAccess": "เข้าถึง",
|
||||
"webUiAccessDirect": "โดยตรง",
|
||||
"webUiAccessTunnel": "อุโมงค์ SSH",
|
||||
"webUiAccessTunnelUnavailable": "การสร้างอุโมงค์ SSH จำเป็นต้องเปิดใช้งาน SSH บนโฮสต์นี้ และต้องมีอุปกรณ์นี้เป็นแหล่งกำเนิดการเชื่อมต่อ",
|
||||
"webUiRender": "เปิดใน",
|
||||
"webUiRenderExternal": "หน้าต่างเดสก์ท็อปแบบแยกเดี่ยว",
|
||||
"webUiRenderEmbedded": "แท็บเทอร์มิกซ์",
|
||||
"webUiRenderEmbeddedDesc": "การฝังเนื้อหาทำได้ดีที่สุดเท่าที่จะทำได้: อินเทอร์เฟซเว็บบางอย่างอาจไม่สามารถโหลดในเฟรมได้ และการเข้าสู่ระบบที่อาศัยคุกกี้ในเว็บไซต์เดียวกันอาจวนลูป แต่เบราว์เซอร์ภายนอกใช้งานได้เสมอ",
|
||||
"webUiIgnoreCert": "อนุญาตให้ใช้ใบรับรองที่ไม่ถูกต้อง",
|
||||
"webUiIgnoreCertDesc": "เฉพาะปลายทางที่เชื่อมต่อโดยตรงเท่านั้น การเชื่อมต่อแบบ Loopback ได้รับการยกเว้นอยู่แล้ว ดังนั้นจึงไม่มีผลกระทบต่อปลายทางแบบ Tunnel",
|
||||
"webUiRemoveEndpoint": "ลบจุดสิ้นสุด",
|
||||
"webUiOpenFailed": "ไม่สามารถเปิดเว็บเอนด์พอยต์ได้"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Sunucu seçilmedi.",
|
||||
"notFound": "Bu uç nokta artık mevcut değil.",
|
||||
"tunnelUnreachableFromBrowser": "Bu uç nokta, tarayıcınızın erişemediği Termix'i çalıştıran makinedeki 127.0.0.1 adresine tünel oluşturur. Uç noktanın Bağlantı Ana Bilgisayarını, bu makinenin yanıt verdiği bir adrese (örneğin 0.0.0.0) ayarlayın ve sabit bir Yerel Bağlantı Noktası verin.",
|
||||
"tunnelSharesSessionCookie": "Bu tüneli açmak, Termix oturumunuzu tünellenmiş servise yönlendirecektir, çünkü tarayıcınız Termix'in sunulduğu aynı ana bilgisayar adından ona ulaşacaktır. Çerezler bağlantı noktasını dikkate almaz, bu nedenle ikisi birbirinden ayırt edilemez. Termix masaüstü uygulamasını kullanın veya Termix'i localhost'ta açın.",
|
||||
"directSharesSessionCookie": "Bu uç noktayı açmak, Termix oturumunuzu ona yönlendirecektir, çünkü tarayıcınız Termix'in sunulduğu aynı siteden ona ulaşır. Çerezler bağlantı noktasını dikkate almaz, bu nedenle farklı bir bağlantı noktası farklı bir kimlik anlamına gelmez. Termix masaüstü uygulamasını kullanın veya bu web arayüzünü farklı bir ana bilgisayar adından sunun.",
|
||||
"retry": "Tekrar dene",
|
||||
"reload": "Yeniden yükle",
|
||||
"copyUrl": "URL'yi kopyala",
|
||||
"urlCopied": "URL kopyalandı",
|
||||
"copyFailed": "URL kopyalama başarısız oldu.",
|
||||
"openExternally": "Harici olarak açın",
|
||||
"isolationUnavailable": "Bu tarayıcı, web uç noktalarını Termix oturumunuzdan izole edemez. Kimlik bilgisi gerektirmeyen iframe desteği olan bir tarayıcı kullanın.",
|
||||
"isolationNotice": "Gömülü sayfalar ayrı bir oturum kullanır. Depolama gerektiren veya açılır pencereyle oturum açma işlemi gerektiren sayfalar için masaüstü uygulamasında ayrı bir pencere kullanın.",
|
||||
"openIsolatedWindow": "İzole edilmiş pencereyi açın"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Web arayüzü",
|
||||
"webUiEndpointLabel": "Uç nokta {{number}}",
|
||||
"webUiIntegration": "Web arayüzü",
|
||||
"webUiEndpointsSection": "Uç noktalar",
|
||||
"webUiRequirementsText": "Tarayıcınız tarafından doğrudan bir uç nokta açılır, bu nedenle bağlantı noktasının buradan erişilebilir olması gerekir. Bunun yerine Termix, bu sunucunun SSH bağlantısı üzerinden bir SSH tüneli açar, bu nedenle bağlantı noktasının yalnızca sunucudan erişilebilir olması yeterlidir.",
|
||||
"enableWebUi": "Web uç noktalarını etkinleştirin",
|
||||
"enableWebUiDesc": "Bu sunucunun web arayüzlerini yan menüden açın.",
|
||||
"webUiAddEndpoint": "Uç nokta ekle",
|
||||
"webUiAddress": "Adres",
|
||||
"webUiOpening": "Açılış",
|
||||
"webUiBindHostDesc": "Arka uç, ön ucu birbirine bağlar. Sadece Termix'i çalıştıran makinenin erişebileceği 127.0.0.1 için boş bırakın.",
|
||||
"webUiBindHostExposed": "Bu adrese Termix makinesinin ötesinden de erişilebildiği için, porta erişebilen herkes giriş yapmadan bu web arayüzüne ulaşabilir.",
|
||||
"webUiLocalPort": "Yerel Liman",
|
||||
"webUiLocalPortAuto": "Otomatik",
|
||||
"webUiLocalPortDesc": "Yönlendiricinin hangi porttan dinleyeceğini belirtin. Sistemin seçmesine izin vermek için boş bırakın veya portun önceden bilinmesi gerektiğinde (örneğin, portun yayınlandığı bir konteyner gibi) bir port belirleyin.",
|
||||
"webUiNewEndpointLabel": "Yeni uç nokta",
|
||||
"webUiLabel": "Etiket",
|
||||
"webUiScheme": "Plan",
|
||||
"webUiPort": "Liman",
|
||||
"webUiPath": "Yol",
|
||||
"webUiAccess": "Erişim",
|
||||
"webUiAccessDirect": "Doğrudan",
|
||||
"webUiAccessTunnel": "SSH tüneli",
|
||||
"webUiAccessTunnelUnavailable": "SSH tüneli için bu sunucuda SSH'nin etkinleştirilmiş olması ve bağlantı kaynağının bu cihaz olması gerekmektedir.",
|
||||
"webUiRender": "Şurada aç",
|
||||
"webUiRenderExternal": "Yalıtılmış masaüstü penceresi",
|
||||
"webUiRenderEmbedded": "Termix tableti",
|
||||
"webUiRenderEmbeddedDesc": "Gömme işlemi en iyi çaba prensibine dayanır: bazı web arayüzleri bir çerçeve içinde yüklenmeyi reddeder ve aynı site çerezlerine dayanan bir oturum açma işlemi döngüye girebilir. Harici tarayıcı her zaman çalışır.",
|
||||
"webUiIgnoreCert": "Geçersiz sertifikaya izin ver",
|
||||
"webUiIgnoreCertDesc": "Yalnızca doğrudan uç noktalar için geçerlidir. Loopback zaten muaf tutulmuştur, bu nedenle tünel uç noktalarını etkilemez.",
|
||||
"webUiRemoveEndpoint": "Uç noktayı kaldır",
|
||||
"webUiOpenFailed": "Web uç noktası açılamadı."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Хост не вибрано",
|
||||
"notFound": "Цієї кінцевої точки більше не існує.",
|
||||
"tunnelUnreachableFromBrowser": "Ця кінцева точка тунелює до 127.0.0.1 на машині з Termix, до якої ваш браузер не може дістатися. Встановіть для хоста прив'язки кінцевої точки адресу, на яку відповідає машина, наприклад, 0.0.0.0, і надайте їй фіксований локальний порт.",
|
||||
"tunnelSharesSessionCookie": "Відкриття цього тунелю перенаправить ваш сеанс Termix до тунельованого сервісу, оскільки ваш браузер досягне його на тому ж імені хоста, з якого обслуговується Termix. Файли cookie ігнорують порт, тому їх не можна розрізнити. Скористайтеся десктопним застосунком Termix або відкрийте Termix на localhost.",
|
||||
"directSharesSessionCookie": "Відкриття цієї кінцевої точки призведе до перенаправлення вашого сеансу Termix на неї, оскільки ваш браузер звертається до нього на тому ж сайті, з якого обслуговується Termix. Файли cookie ігнорують порт, тому інший порт не є іншою ідентифікатором. Використовуйте настільний додаток Termix або обслуговуйте цей веб-інтерфейс з іншого імені хоста.",
|
||||
"retry": "Повторити спробу",
|
||||
"reload": "Перезавантажити",
|
||||
"copyUrl": "Копіювати URL-адресу",
|
||||
"urlCopied": "URL-адресу скопійовано",
|
||||
"copyFailed": "Не вдалося скопіювати URL-адресу",
|
||||
"openExternally": "Відкрити зовні",
|
||||
"isolationUnavailable": "Цей браузер не може ізолювати кінцеві точки веб-сайту від вашого сеансу Termix. Використовуйте браузер із підтримкою iframe без облікових даних.",
|
||||
"isolationNotice": "Вбудовані сторінки використовують ізольований сеанс. Для сторінок, що потребують сховища або спливаючого входу, використовуйте ізольоване вікно в настільному додатку.",
|
||||
"openIsolatedWindow": "Відкрите ізольоване вікно"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Веб-інтерфейс",
|
||||
"webUiEndpointLabel": "Кінцева точка {{number}}",
|
||||
"webUiIntegration": "Веб-інтерфейс",
|
||||
"webUiEndpointsSection": "Кінцеві точки",
|
||||
"webUiRequirementsText": "Ваш браузер відкривається прямою кінцевою точкою, тому її порт має бути доступним звідси. Натомість Termix відкриває SSH-тунель через SSH-з'єднання цього хоста, тому порт має бути доступним лише з хоста.",
|
||||
"enableWebUi": "Увімкнути веб-кінцеві точки",
|
||||
"enableWebUiDesc": "Відкрийте веб-інтерфейси цього хоста з бічної панелі.",
|
||||
"webUiAddEndpoint": "Додати кінцеву точку",
|
||||
"webUiAddress": "Адреса",
|
||||
"webUiOpening": "Відкриття",
|
||||
"webUiBindHostDesc": "Де серверна частина зв'язується з пересиланням. Залиште поле порожнім для 127.0.0.1, до якого може отримати доступ лише машина з Termix.",
|
||||
"webUiBindHostExposed": "Ця адреса доступна за межами машини Termix, тому кожен, хто може отримати доступ до порту, отримає цей веб-інтерфейс без входу в систему.",
|
||||
"webUiLocalPort": "Локальний порт",
|
||||
"webUiLocalPortAuto": "Автоматичний",
|
||||
"webUiLocalPortDesc": "На якому порту прослуховується переадресація. Залиште поле порожнім, щоб дозволити системі вибрати, або встановіть порт, якщо порт має бути відомий заздалегідь, наприклад, контейнер, який його публікує.",
|
||||
"webUiNewEndpointLabel": "Нова кінцева точка",
|
||||
"webUiLabel": "Мітка",
|
||||
"webUiScheme": "Схема",
|
||||
"webUiPort": "Порт",
|
||||
"webUiPath": "Шлях",
|
||||
"webUiAccess": "Доступ",
|
||||
"webUiAccessDirect": "Прямий",
|
||||
"webUiAccessTunnel": "SSH-тунель",
|
||||
"webUiAccessTunnelUnavailable": "Для SSH-тунелю потрібно ввімкнути SSH на цьому хості та встановити джерело з'єднання на цьому пристрої.",
|
||||
"webUiRender": "Відкрити в",
|
||||
"webUiRenderExternal": "Ізольоване вікно робочого столу",
|
||||
"webUiRenderEmbedded": "Вкладка Termix",
|
||||
"webUiRenderEmbeddedDesc": "Вбудовування – найкращий спосіб: деякі веб-інтерфейси відмовляються завантажуватися у фреймі, а вхід, який залежить від файлів cookie того ж сайту, може зациклюватися. Зовнішній браузер завжди працює.",
|
||||
"webUiIgnoreCert": "Дозволити недійсний сертифікат",
|
||||
"webUiIgnoreCertDesc": "Тільки прямі кінцеві точки. Зациклення вже виключено, тому це не впливає на кінцеві точки тунелю.",
|
||||
"webUiRemoveEndpoint": "Видалити кінцеву точку",
|
||||
"webUiOpenFailed": "Не вдалося відкрити кінцеву точку веб-сайту"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "Chưa chọn máy chủ nào",
|
||||
"notFound": "Điểm cuối này không còn tồn tại nữa.",
|
||||
"tunnelUnreachableFromBrowser": "Điểm cuối này tạo đường hầm đến 127.0.0.1 trên máy đang chạy Termix, mà trình duyệt của bạn không thể truy cập được. Hãy đặt Bind Host của điểm cuối thành một địa chỉ mà máy đó phản hồi, chẳng hạn như 0.0.0.0, và gán cho nó một Cổng cục bộ cố định.",
|
||||
"tunnelSharesSessionCookie": "Việc mở đường hầm này sẽ chuyển phiên Termix của bạn đến dịch vụ được tạo đường hầm, vì trình duyệt của bạn sẽ truy cập dịch vụ đó bằng cùng tên máy chủ mà Termix được phục vụ. Cookie bỏ qua cổng, vì vậy không thể phân biệt được hai dịch vụ này. Hãy sử dụng ứng dụng Termix dành cho máy tính để bàn hoặc mở Termix tại localhost.",
|
||||
"directSharesSessionCookie": "Việc mở điểm cuối này sẽ gửi phiên Termix của bạn đến đó, vì trình duyệt của bạn truy cập nó từ cùng một trang web mà Termix được cung cấp. Cookie bỏ qua cổng, vì vậy một cổng khác không có nghĩa là một danh tính khác. Hãy sử dụng ứng dụng Termix dành cho máy tính để bàn, hoặc cung cấp giao diện người dùng web này từ một tên máy chủ khác.",
|
||||
"retry": "Thử lại",
|
||||
"reload": "Tải lại",
|
||||
"copyUrl": "Sao chép URL",
|
||||
"urlCopied": "URL đã được sao chép",
|
||||
"copyFailed": "Không thể sao chép URL",
|
||||
"openExternally": "Mở từ bên ngoài",
|
||||
"isolationUnavailable": "Trình duyệt này không thể tách biệt các điểm cuối web khỏi phiên Termix của bạn. Hãy sử dụng trình duyệt hỗ trợ iframe không cần thông tin đăng nhập.",
|
||||
"isolationNotice": "Các trang nhúng sử dụng một phiên riêng biệt. Đối với các trang yêu cầu lưu trữ hoặc đăng nhập bằng cửa sổ bật lên, hãy sử dụng một cửa sổ riêng biệt trong ứng dụng dành cho máy tính để bàn.",
|
||||
"openIsolatedWindow": "Cửa sổ riêng biệt đang mở"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Giao diện người dùng web",
|
||||
"webUiEndpointLabel": "Điểm cuối {{number}}",
|
||||
"webUiIntegration": "Giao diện người dùng web",
|
||||
"webUiEndpointsSection": "Điểm cuối",
|
||||
"webUiRequirementsText": "Trình duyệt của bạn sẽ mở một điểm cuối trực tiếp, vì vậy cổng của nó phải có thể truy cập được từ đây. Thay vào đó, Termix sẽ mở một đường hầm SSH thông qua kết nối SSH của máy chủ này, vì vậy cổng chỉ cần có thể truy cập được từ máy chủ đó.",
|
||||
"enableWebUi": "Kích hoạt các điểm cuối web",
|
||||
"enableWebUiDesc": "Mở giao diện web của máy chủ này từ thanh bên.",
|
||||
"webUiAddEndpoint": "Thêm điểm cuối",
|
||||
"webUiAddress": "Địa chỉ",
|
||||
"webUiOpening": "Khai mạc",
|
||||
"webUiBindHostDesc": "Đây là nơi phần máy chủ liên kết với phần máy khách. Để trống trường 127.0.0.1, chỉ máy chạy Termix mới có thể truy cập được.",
|
||||
"webUiBindHostExposed": "Địa chỉ này có thể truy cập được từ bên ngoài máy Termix, vì vậy bất kỳ ai có thể truy cập được cổng này đều có thể sử dụng giao diện web này mà không cần đăng nhập.",
|
||||
"webUiLocalPort": "Cảng địa phương",
|
||||
"webUiLocalPortAuto": "Tự động",
|
||||
"webUiLocalPortDesc": "Chọn cổng mà bản ghi chuyển tiếp lắng nghe. Để trống để hệ thống tự chọn, hoặc đặt một cổng khi cần biết trước cổng, ví dụ như một container công bố cổng đó.",
|
||||
"webUiNewEndpointLabel": "Điểm cuối mới",
|
||||
"webUiLabel": "Nhãn",
|
||||
"webUiScheme": "Cơ chế",
|
||||
"webUiPort": "Cảng",
|
||||
"webUiPath": "Con đường",
|
||||
"webUiAccess": "Truy cập",
|
||||
"webUiAccessDirect": "Trực tiếp",
|
||||
"webUiAccessTunnel": "Đường hầm SSH",
|
||||
"webUiAccessTunnelUnavailable": "Đường hầm SSH cần có SSH được bật trên máy chủ này và nguồn kết nối là thiết bị này.",
|
||||
"webUiRender": "Mở trong",
|
||||
"webUiRenderExternal": "Cửa sổ màn hình nền riêng biệt",
|
||||
"webUiRenderEmbedded": "Viên nén Termix",
|
||||
"webUiRenderEmbeddedDesc": "Việc nhúng trang web chỉ mang tính chất tham khảo: một số giao diện web từ chối tải trong khung, và quá trình đăng nhập dựa vào cookie cùng trang có thể bị lặp lại. Trình duyệt bên ngoài luôn hoạt động bình thường.",
|
||||
"webUiIgnoreCert": "Cho phép chứng chỉ không hợp lệ",
|
||||
"webUiIgnoreCertDesc": "Chỉ áp dụng cho các điểm cuối trực tiếp. Giao diện vòng lặp đã được miễn trừ, vì vậy điều này không ảnh hưởng đến các điểm cuối đường hầm.",
|
||||
"webUiRemoveEndpoint": "Xóa điểm cuối",
|
||||
"webUiOpenFailed": "Không thể mở điểm cuối web"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "未选择主机",
|
||||
"notFound": "此端点已不存在。",
|
||||
"tunnelUnreachableFromBrowser": "此端点通过隧道连接到运行 Termix 的机器上的 127.0.0.1,您的浏览器无法直接访问该地址。请将此端点的绑定主机设置为该机器可以响应的地址,例如 0.0.0.0,并为其指定一个固定的本地端口。",
|
||||
"tunnelSharesSessionCookie": "打开此隧道会将您的 Termix 会话发送到隧道服务,因为您的浏览器将通过与 Termix 服务相同的主机名访问该服务。Cookie 会忽略端口号,因此无法区分两者。请使用 Termix 桌面应用程序,或在本地主机上打开 Termix。",
|
||||
"directSharesSessionCookie": "打开此端点会将您的 Termix 会话发送到该端点,因为您的浏览器访问的是 Termix 所在的同一站点。Cookie 会忽略端口号,因此不同的端口号并不代表不同的身份。请使用 Termix 桌面应用程序,或使用不同的主机名访问此 Web UI。",
|
||||
"retry": "重试",
|
||||
"reload": "重新加载",
|
||||
"copyUrl": "复制链接",
|
||||
"urlCopied": "复制的网址",
|
||||
"copyFailed": "复制 URL 失败",
|
||||
"openExternally": "向外开放",
|
||||
"isolationUnavailable": "此浏览器无法将 Web 端点与您的 Termix 会话隔离。请使用支持无需凭据即可访问 iframe 的浏览器。",
|
||||
"isolationNotice": "嵌入式页面使用独立的会话。对于需要存储数据或弹出式登录的页面,请在桌面应用程序中使用独立的窗口。",
|
||||
"openIsolatedWindow": "打开隔离窗口"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Web 用户界面",
|
||||
"webUiEndpointLabel": "端点 {{number}}",
|
||||
"webUiIntegration": "Web 用户界面",
|
||||
"webUiEndpointsSection": "终点",
|
||||
"webUiRequirementsText": "浏览器会打开一个直接端点,因此其端口必须可从此处访问。而 Termix 则会通过此主机的 SSH 连接打开一个 SSH 隧道,因此该端口只需可从主机访问即可。",
|
||||
"enableWebUi": "启用 Web 端点",
|
||||
"enableWebUiDesc": "从侧边栏打开此主机的网页界面。",
|
||||
"webUiAddEndpoint": "添加端点",
|
||||
"webUiAddress": "地址",
|
||||
"webUiOpening": "开场",
|
||||
"webUiBindHostDesc": "后端绑定到前向路由的位置。如果是 127.0.0.1,则留空,因为只有运行 Termix 的机器才能访问该地址。",
|
||||
"webUiBindHostExposed": "该地址在 Termix 机器之外也是可访问的,因此任何能够访问该端口的人都可以无需登录即可使用此 Web UI。",
|
||||
"webUiLocalPort": "本地港口",
|
||||
"webUiLocalPortAuto": "自动的",
|
||||
"webUiLocalPortDesc": "转发监听哪个端口。留空让系统自动选择,或者在需要预先知道端口的情况下(例如容器发布端口时)设置一个端口。",
|
||||
"webUiNewEndpointLabel": "新端点",
|
||||
"webUiLabel": "标签",
|
||||
"webUiScheme": "方案",
|
||||
"webUiPort": "港口",
|
||||
"webUiPath": "小路",
|
||||
"webUiAccess": "使用权",
|
||||
"webUiAccessDirect": "直接的",
|
||||
"webUiAccessTunnel": "SSH隧道",
|
||||
"webUiAccessTunnelUnavailable": "SSH隧道需要在此主机上启用SSH,并且连接源必须为该设备。",
|
||||
"webUiRender": "打开",
|
||||
"webUiRenderExternal": "隔离的桌面窗口",
|
||||
"webUiRenderEmbedded": "Termix 选项卡",
|
||||
"webUiRenderEmbeddedDesc": "嵌入功能只能尽力而为:某些网页界面无法在框架中加载,依赖同站点 Cookie 的登录可能会陷入循环。外部浏览器始终有效。",
|
||||
"webUiIgnoreCert": "允许无效证书",
|
||||
"webUiIgnoreCertDesc": "仅限直接端点。环回接口已获豁免,因此对隧道端点没有影响。",
|
||||
"webUiRemoveEndpoint": "移除端点",
|
||||
"webUiOpenFailed": "打开 Web 端点失败"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"webEndpoint": {
|
||||
"noHostSelected": "未選擇主機",
|
||||
"notFound": "此端點已不存在。",
|
||||
"tunnelUnreachableFromBrowser": "此端點透過隧道連接到執行 Termix 的機器上的 127.0.0.1,您的瀏覽器無法直接存取該位址。請將此端點的綁定主機設定為該機器可以回應的位址,例如 0.0.0.0,並為其指定一個固定的本機連接埠。",
|
||||
"tunnelSharesSessionCookie": "開啟此隧道會將您的 Termix 工作階段傳送至隧道服務,因為您的瀏覽器將透過與 Termix 服務相同的主機名稱存取該服務。 Cookie 會忽略連接埠號,因此無法區分兩者。請使用 Termix 桌面應用程序,或在本機上開啟 Termix。",
|
||||
"directSharesSessionCookie": "開啟此端點會將您的 Termix 會話傳送到該端點,因為您的瀏覽器造訪的是 Termix 所在的相同網站。 Cookie 會忽略連接埠號,因此不同的連接埠號碼並不代表不同的身分。請使用 Termix 桌面應用程序,或使用不同的主機名稱存取此 Web UI。",
|
||||
"retry": "重試",
|
||||
"reload": "重新載入",
|
||||
"copyUrl": "複製連結",
|
||||
"urlCopied": "複製的網址",
|
||||
"copyFailed": "複製 URL 失敗",
|
||||
"openExternally": "向外開放",
|
||||
"isolationUnavailable": "此瀏覽器無法將 Web 端點與您的 Termix 工作階段隔離。請使用支援無需憑證的 iframe 的瀏覽器。",
|
||||
"isolationNotice": "嵌入式頁面使用獨立的會話。對於需要儲存資料或彈出式登入的頁面,請在桌面應用程式中使用獨立的視窗。",
|
||||
"openIsolatedWindow": "打開隔離視窗"
|
||||
},
|
||||
"hosts": {
|
||||
"tabWebUi": "Web 使用者介面",
|
||||
"webUiEndpointLabel": "端點 {{number}}",
|
||||
"webUiIntegration": "Web 使用者介面",
|
||||
"webUiEndpointsSection": "終點",
|
||||
"webUiRequirementsText": "瀏覽器會開啟直接端點,因此其連接埠必須可從此處存取。而 Termix 則會透過此主機的 SSH 連線開啟一個 SSH 隧道,因此該連接埠只需可從主機存取即可。",
|
||||
"enableWebUi": "啟用 Web 端點",
|
||||
"enableWebUiDesc": "從側邊欄開啟此主機的網頁介面。",
|
||||
"webUiAddEndpoint": "新增端點",
|
||||
"webUiAddress": "地址",
|
||||
"webUiOpening": "開場",
|
||||
"webUiBindHostDesc": "後端綁定到前向路由的位置。如果是 127.0.0.1,則留空,因為只有執行 Termix 的機器才能存取該位址。",
|
||||
"webUiBindHostExposed": "該位址在 Termix 機器之外也是可存取的,因此任何能夠存取該連接埠的人都可以無需登入即可使用此 Web UI。",
|
||||
"webUiLocalPort": "本地港口",
|
||||
"webUiLocalPortAuto": "自動的",
|
||||
"webUiLocalPortDesc": "轉送監聽哪個連接埠。留空讓系統自動選擇,或在需要預先知道連接埠的情況下(例如容器發佈連接埠時)設定一個連接埠。",
|
||||
"webUiNewEndpointLabel": "新端點",
|
||||
"webUiLabel": "標籤",
|
||||
"webUiScheme": "方案",
|
||||
"webUiPort": "港口",
|
||||
"webUiPath": "小路",
|
||||
"webUiAccess": "使用權",
|
||||
"webUiAccessDirect": "直接的",
|
||||
"webUiAccessTunnel": "SSH隧道",
|
||||
"webUiAccessTunnelUnavailable": "SSH隧道需要在此主機上啟用SSH,且連線來源必須為該裝置。",
|
||||
"webUiRender": "打開",
|
||||
"webUiRenderExternal": "隔離的桌面視窗",
|
||||
"webUiRenderEmbedded": "Termix 選項卡",
|
||||
"webUiRenderEmbeddedDesc": "嵌入功能只能盡力而為:某些網頁介面無法在框架中加載,依賴同網站 Cookie 的登入可能會陷入循環。外部瀏覽器始終有效。",
|
||||
"webUiIgnoreCert": "允許無效證書",
|
||||
"webUiIgnoreCertDesc": "僅限直接端點。環回介面已獲豁免,因此對隧道端點沒有影響。",
|
||||
"webUiRemoveEndpoint": "移除端點",
|
||||
"webUiOpenFailed": "開啟 Web 端點失敗"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,457 @@
|
||||
import { Globe } from "lucide-react";
|
||||
import { useTranslation } from "@termix/plugin-sdk/frontend";
|
||||
import { isElectron } from "@/lib/electron";
|
||||
import {
|
||||
webEndpointRefusalReason,
|
||||
type WebEndpointRefusalReason,
|
||||
} from "./web-endpoint-url";
|
||||
import { Button } from "@/components/button";
|
||||
import { Input } from "@/components/input";
|
||||
import { Checkbox } from "@/components/checkbox";
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
SelectItem,
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
} from "@/components/select";
|
||||
import { SectionCard, SettingRow, FakeSwitch } from "@/components/section-card";
|
||||
import {
|
||||
MAX_WEB_ENDPOINTS,
|
||||
MAX_WEB_ENDPOINT_LABEL_LENGTH,
|
||||
type WebEndpoint,
|
||||
type WebUiConfig,
|
||||
} from "@/types/index";
|
||||
import {
|
||||
MAX_WEB_ENDPOINT_PORT,
|
||||
MIN_WEB_ENDPOINT_PORT,
|
||||
isWebEndpointPortValid,
|
||||
webEndpointErrorKey,
|
||||
webEndpointRowError,
|
||||
} from "./web-endpoint-validation";
|
||||
|
||||
/**
|
||||
* crypto.randomUUID is undefined outside a secure context, so a plain-http web
|
||||
* deployment -- a first-class target for the direct+external path -- would
|
||||
* throw on "Add endpoint". Matches the guarded form already used in
|
||||
* MacrosPanel, PanePreview, KeybindingsDialog and AppShell.
|
||||
*/
|
||||
function endpointId(): string {
|
||||
return typeof crypto.randomUUID === "function"
|
||||
? crypto.randomUUID()
|
||||
: `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
|
||||
}
|
||||
|
||||
// Only the tunnel-bind reasons render here; this preview sits inside the
|
||||
// tunnel-access block. The direct cookie refusal is enforced at open time in
|
||||
// WebEndpointTab / openWebEndpointExternally, where the target host is known.
|
||||
const BIND_HOST_REFUSAL_MESSAGES: Record<
|
||||
Exclude<WebEndpointRefusalReason, "direct-shares-session-cookie">,
|
||||
string
|
||||
> = {
|
||||
"loopback-bind-on-remote-backend": "hosts.webUiBindHostUnreachable",
|
||||
"shares-session-cookie-with-termix": "hosts.webUiBindHostSharesSessionCookie",
|
||||
};
|
||||
|
||||
/**
|
||||
* True when the bind address reaches beyond the machine running the backend. A
|
||||
* forward bound there serves the target's web UI to anyone who can reach the
|
||||
* port, with no authentication in front of it, so the editor says so plainly
|
||||
* rather than leaving it to be discovered.
|
||||
*/
|
||||
function isExposedBindHost(bindHost: string | undefined): boolean {
|
||||
const value = (bindHost ?? "").trim();
|
||||
if (!value) return false;
|
||||
return !["127.0.0.1", "localhost", "::1", "[::1]"].includes(
|
||||
value.toLowerCase(),
|
||||
);
|
||||
}
|
||||
|
||||
function newEndpoint(label: string): WebEndpoint {
|
||||
return {
|
||||
id: endpointId(),
|
||||
label,
|
||||
scheme: "https",
|
||||
port: 443,
|
||||
path: "/",
|
||||
access: "direct",
|
||||
render: "embedded",
|
||||
};
|
||||
}
|
||||
|
||||
export function HostEditorWebUiSection({
|
||||
enableWebUi,
|
||||
webUiConfig,
|
||||
tunnelAvailable,
|
||||
setField,
|
||||
}: {
|
||||
enableWebUi: boolean;
|
||||
webUiConfig: WebUiConfig;
|
||||
tunnelAvailable: boolean;
|
||||
setField: (field: string, value: unknown) => void;
|
||||
}) {
|
||||
const { t } = useTranslation();
|
||||
const endpoints = webUiConfig?.endpoints ?? [];
|
||||
|
||||
const commit = (next: WebEndpoint[]) =>
|
||||
setField("webUiConfig", { endpoints: next });
|
||||
|
||||
const update = (index: number, patch: Partial<WebEndpoint>) =>
|
||||
commit(
|
||||
endpoints.map((endpoint, i) =>
|
||||
i === index ? { ...endpoint, ...patch } : endpoint,
|
||||
),
|
||||
);
|
||||
|
||||
// Labels identify an endpoint in the sidebar picker, so a fresh row must not
|
||||
// silently collide with one already there.
|
||||
const uniqueLabel = (base: string) => {
|
||||
const taken = new Set(endpoints.map((e) => e.label.trim()));
|
||||
if (!taken.has(base)) return base;
|
||||
for (let n = 2; ; n += 1) {
|
||||
const candidate = `${base} ${n}`;
|
||||
if (!taken.has(candidate)) return candidate;
|
||||
}
|
||||
};
|
||||
|
||||
const addEndpoint = () =>
|
||||
commit([
|
||||
...endpoints,
|
||||
newEndpoint(uniqueLabel(t("hosts.webUiNewEndpointLabel"))),
|
||||
]);
|
||||
|
||||
return (
|
||||
// Two cards, as the tunnels tab does: settings first, then the list it
|
||||
// governs, each with its own header.
|
||||
<>
|
||||
<SectionCard
|
||||
title={t("hosts.webUiIntegration")}
|
||||
icon={<Globe className="size-3.5" />}
|
||||
>
|
||||
<div className="flex flex-col gap-4 py-3">
|
||||
<SettingRow
|
||||
label={t("hosts.enableWebUi")}
|
||||
description={t("hosts.enableWebUiDesc")}
|
||||
>
|
||||
<FakeSwitch
|
||||
checked={enableWebUi}
|
||||
onChange={(v: boolean) => setField("enableWebUi", v)}
|
||||
/>
|
||||
</SettingRow>
|
||||
<div className="text-xs text-muted-foreground p-3 bg-muted/30 border border-border space-y-1">
|
||||
<p>{t("hosts.webUiRequirementsText")}</p>
|
||||
</div>
|
||||
</div>
|
||||
</SectionCard>
|
||||
|
||||
<SectionCard
|
||||
title={t("hosts.webUiEndpointsSection")}
|
||||
icon={<Globe className="size-3.5" />}
|
||||
action={
|
||||
enableWebUi ? (
|
||||
// Same header control, and the same classes, as the tunnels list.
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
className="h-6 text-[10px] px-2 border-accent-brand/40 text-accent-brand"
|
||||
disabled={endpoints.length >= MAX_WEB_ENDPOINTS}
|
||||
onClick={addEndpoint}
|
||||
>
|
||||
{t("hosts.webUiAddEndpoint")}
|
||||
</Button>
|
||||
) : undefined
|
||||
}
|
||||
>
|
||||
<div className="flex flex-col gap-4 py-3">
|
||||
{enableWebUi && (
|
||||
<div className="flex flex-col gap-3">
|
||||
{endpoints.map((endpoint, index) => {
|
||||
const rowError = webEndpointRowError(endpoint);
|
||||
return (
|
||||
<div
|
||||
key={endpoint.id}
|
||||
className="flex flex-col gap-3 p-3 border border-border bg-muted/20 relative group"
|
||||
>
|
||||
<div className="flex items-center justify-between mb-1">
|
||||
<span className="text-xs font-bold text-muted-foreground">
|
||||
{t("hosts.webUiEndpointLabel", { number: index + 1 })}
|
||||
</span>
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="sm"
|
||||
aria-label={t("hosts.webUiRemoveEndpoint")}
|
||||
className="h-6 text-[10px] px-2 text-destructive"
|
||||
onClick={() =>
|
||||
commit(endpoints.filter((_, i) => i !== index))
|
||||
}
|
||||
>
|
||||
{t("common.delete")}
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col gap-1.5">
|
||||
<label className="text-[10px] font-bold text-muted-foreground">
|
||||
{t("hosts.webUiLabel")}
|
||||
</label>
|
||||
<Input
|
||||
aria-label={t("hosts.webUiLabel")}
|
||||
value={endpoint.label}
|
||||
onChange={(e) =>
|
||||
update(index, { label: e.target.value })
|
||||
}
|
||||
maxLength={MAX_WEB_ENDPOINT_LABEL_LENGTH}
|
||||
className="h-7 text-xs"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{rowError && (
|
||||
<p className="text-[11px] text-destructive">
|
||||
{t(webEndpointErrorKey(rowError), { row: index + 1 })}
|
||||
</p>
|
||||
)}
|
||||
|
||||
<div className="flex flex-col gap-1.5">
|
||||
<label className="text-[10px] font-bold text-muted-foreground">
|
||||
{t("hosts.webUiAddress")}
|
||||
</label>
|
||||
<div className="flex items-center gap-2">
|
||||
<Select
|
||||
value={endpoint.scheme}
|
||||
onValueChange={(value) =>
|
||||
update(index, {
|
||||
scheme: value as WebEndpoint["scheme"],
|
||||
})
|
||||
}
|
||||
>
|
||||
<SelectTrigger
|
||||
aria-label={t("hosts.webUiScheme")}
|
||||
size="sm"
|
||||
className="h-7 w-24 text-xs"
|
||||
>
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="https" className="text-xs">
|
||||
https
|
||||
</SelectItem>
|
||||
<SelectItem value="http" className="text-xs">
|
||||
http
|
||||
</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<Input
|
||||
aria-label={t("hosts.webUiPort")}
|
||||
type="number"
|
||||
min={MIN_WEB_ENDPOINT_PORT}
|
||||
max={MAX_WEB_ENDPOINT_PORT}
|
||||
value={endpoint.port}
|
||||
onChange={(e) => {
|
||||
// Number("") is 0, which the normalizer rejects --
|
||||
// so clearing the field would otherwise write an
|
||||
// endpoint that is silently dropped on save.
|
||||
// Commit only a value the normalizer would keep;
|
||||
// anything else leaves the last good port.
|
||||
const parsed = Number(e.target.value);
|
||||
if (isWebEndpointPortValid(parsed)) {
|
||||
update(index, { port: parsed });
|
||||
}
|
||||
}}
|
||||
className="h-7 w-20 text-xs"
|
||||
/>
|
||||
<Input
|
||||
aria-label={t("hosts.webUiPath")}
|
||||
value={endpoint.path ?? "/"}
|
||||
onChange={(e) =>
|
||||
update(index, { path: e.target.value })
|
||||
}
|
||||
className="h-7 flex-1 text-xs"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col gap-1.5">
|
||||
<label className="text-[10px] font-bold text-muted-foreground">
|
||||
{t("hosts.webUiOpening")}
|
||||
</label>
|
||||
<div className="flex items-center gap-2">
|
||||
<Select
|
||||
value={endpoint.access}
|
||||
onValueChange={(value) =>
|
||||
update(index, {
|
||||
access: value as WebEndpoint["access"],
|
||||
// Meaningless for a tunnel, whose host component
|
||||
// is loopback and already exempt.
|
||||
ignoreCert:
|
||||
value === "direct"
|
||||
? endpoint.ignoreCert
|
||||
: false,
|
||||
})
|
||||
}
|
||||
>
|
||||
<SelectTrigger
|
||||
aria-label={t("hosts.webUiAccess")}
|
||||
size="sm"
|
||||
className="h-7 flex-1 text-xs"
|
||||
>
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="direct" className="text-xs">
|
||||
{t("hosts.webUiAccessDirect")}
|
||||
</SelectItem>
|
||||
<SelectItem
|
||||
value="tunnel"
|
||||
disabled={!tunnelAvailable}
|
||||
>
|
||||
{t("hosts.webUiAccessTunnel")}
|
||||
</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<Select
|
||||
value={endpoint.render}
|
||||
onValueChange={(value) =>
|
||||
update(index, {
|
||||
render: value as WebEndpoint["render"],
|
||||
})
|
||||
}
|
||||
>
|
||||
<SelectTrigger
|
||||
aria-label={t("hosts.webUiRender")}
|
||||
size="sm"
|
||||
className="h-7 flex-1 text-xs"
|
||||
>
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem
|
||||
value="external"
|
||||
className="text-xs"
|
||||
disabled={!isElectron()}
|
||||
>
|
||||
{t("hosts.webUiRenderExternal")}
|
||||
</SelectItem>
|
||||
<SelectItem value="embedded" className="text-xs">
|
||||
{t("hosts.webUiRenderEmbedded")}
|
||||
</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{endpoint.access === "tunnel" && (
|
||||
<div className="flex flex-col gap-1.5">
|
||||
<label className="text-[10px] font-bold text-muted-foreground">
|
||||
{t("hosts.bindHost")}
|
||||
</label>
|
||||
<Input
|
||||
aria-label={t("hosts.bindHost")}
|
||||
placeholder="127.0.0.1"
|
||||
value={endpoint.bindHost ?? ""}
|
||||
onChange={(e) =>
|
||||
update(index, { bindHost: e.target.value })
|
||||
}
|
||||
className="h-7 text-xs"
|
||||
/>
|
||||
<p className="text-[11px] opacity-70">
|
||||
{t("hosts.webUiBindHostDesc")}
|
||||
</p>
|
||||
<label className="text-[10px] font-bold text-muted-foreground">
|
||||
{t("hosts.webUiLocalPort")}
|
||||
</label>
|
||||
<Input
|
||||
aria-label={t("hosts.webUiLocalPort")}
|
||||
type="number"
|
||||
min={MIN_WEB_ENDPOINT_PORT}
|
||||
max={MAX_WEB_ENDPOINT_PORT}
|
||||
placeholder={t("hosts.webUiLocalPortAuto")}
|
||||
value={endpoint.localPort ?? ""}
|
||||
onChange={(e) => {
|
||||
const raw = e.target.value;
|
||||
if (raw === "") {
|
||||
update(index, { localPort: undefined });
|
||||
return;
|
||||
}
|
||||
const parsed = Number(raw);
|
||||
if (isWebEndpointPortValid(parsed)) {
|
||||
update(index, { localPort: parsed });
|
||||
}
|
||||
}}
|
||||
className="h-7 text-xs"
|
||||
/>
|
||||
<p className="text-[11px] opacity-70">
|
||||
{t("hosts.webUiLocalPortDesc")}
|
||||
</p>
|
||||
{isExposedBindHost(endpoint.bindHost) && (
|
||||
<p className="text-[11px] text-destructive">
|
||||
{t("hosts.webUiBindHostExposed")}
|
||||
</p>
|
||||
)}
|
||||
{(() => {
|
||||
// Said while configuring, not only when the tab fails
|
||||
// to load: a loopback bind on a backend that is not
|
||||
// this machine opens fine and then leaves the browser
|
||||
// with nothing to connect to, and a tunnel reached at
|
||||
// Termix's own hostname would hand the tunnelled
|
||||
// service this session.
|
||||
const refusal = webEndpointRefusalReason(
|
||||
endpoint,
|
||||
isElectron(),
|
||||
undefined,
|
||||
);
|
||||
if (!refusal) return null;
|
||||
// Unreachable from this tunnel-only block; narrows
|
||||
// the union to the reasons this preview renders.
|
||||
if (refusal === "direct-shares-session-cookie") {
|
||||
return null;
|
||||
}
|
||||
return (
|
||||
<p className="text-[11px] text-destructive">
|
||||
{t(BIND_HOST_REFUSAL_MESSAGES[refusal])}
|
||||
</p>
|
||||
);
|
||||
})()}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{endpoint.render === "embedded" && (
|
||||
<p className="text-[11px] opacity-70">
|
||||
{t("hosts.webUiRenderEmbeddedDesc")}
|
||||
</p>
|
||||
)}
|
||||
|
||||
{endpoint.access === "direct" && (
|
||||
<div className="flex flex-col gap-1">
|
||||
<label className="flex items-center gap-2 text-xs">
|
||||
<Checkbox
|
||||
checked={endpoint.ignoreCert === true}
|
||||
onCheckedChange={(value) =>
|
||||
update(index, { ignoreCert: value === true })
|
||||
}
|
||||
/>
|
||||
{t("hosts.webUiIgnoreCert")}
|
||||
</label>
|
||||
<p className="text-[11px] opacity-70">
|
||||
{t("hosts.webUiIgnoreCertDesc")}
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
|
||||
{!tunnelAvailable && endpoints.length > 0 && (
|
||||
// Shown whenever tunnelling is unavailable, not only once a row
|
||||
// already asks for it: the Tunnel option renders disabled, and
|
||||
// a disabled control with no stated reason reads as the
|
||||
// dropdown being broken.
|
||||
<p className="text-[11px] opacity-70">
|
||||
{t("hosts.webUiAccessTunnelUnavailable")}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</SectionCard>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
import { useEffect, useState } from "react";
|
||||
import { resolveConnectionOrigin } from "@/lib/connection-origin";
|
||||
import type { HostEditorForm, HostProtocols } from "@/sidebar/HostEditorData";
|
||||
import { HostEditorWebUiSection } from "./HostEditorWebUiSection";
|
||||
|
||||
type SetHostField = <K extends keyof HostEditorForm>(
|
||||
key: K,
|
||||
value: HostEditorForm[K],
|
||||
) => void;
|
||||
|
||||
/**
|
||||
* Owns the async connection-origin resolution for the Web UI tab's tunnel
|
||||
* gate, then hands the resolved boolean to the presentational section.
|
||||
*
|
||||
* tunnelAvailable = enableSsh && originIsLocal. Deliberately NOT gated on
|
||||
* isElectron(): the forward binds wherever the backend runs, exactly as the
|
||||
* server tunnels feature does, and a web deployment reaches it at the host
|
||||
* serving Termix provided the endpoint opted out of a loopback bind. Gating
|
||||
* this on the desktop would be stricter than the tunnels feature it mirrors.
|
||||
*
|
||||
* connectionType is passed as "ssh" deliberately: a tunnel endpoint always
|
||||
* rides an SSH connection, and "ssh" keeps resolveConnectionOrigin out of its
|
||||
* RDP/VNC/Telnet guacamole special case, which always resolves to "remote".
|
||||
*
|
||||
* The origin state lives here rather than in HostEditor.tsx, which is already
|
||||
* very long; this follows HostEditorGeneralTab's precedent of taking
|
||||
* `protocols` as a prop and gating its own connection-origin control.
|
||||
*
|
||||
* Note the deliberate asymmetry with the sidebar: the sidebar entry appears on
|
||||
* enableWebUi alone, because a direct endpoint needs no SSH -- but Web UI is
|
||||
* an SSH sub-tab, so a host with SSH disabled cannot configure endpoints at
|
||||
* all. That is the accepted behaviour, not an oversight.
|
||||
*/
|
||||
export function HostWebUiTab({
|
||||
form,
|
||||
setField,
|
||||
protocols,
|
||||
}: {
|
||||
form: HostEditorForm;
|
||||
setField: SetHostField;
|
||||
protocols: HostProtocols;
|
||||
}) {
|
||||
const [originIsLocal, setOriginIsLocal] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
let cancelled = false;
|
||||
void resolveConnectionOrigin({
|
||||
connectionType: "ssh",
|
||||
connectionOrigin: form.connectionOrigin,
|
||||
}).then((origin) => {
|
||||
if (!cancelled) setOriginIsLocal(origin === "local");
|
||||
});
|
||||
return () => {
|
||||
cancelled = true;
|
||||
};
|
||||
}, [form.connectionOrigin]);
|
||||
|
||||
return (
|
||||
<HostEditorWebUiSection
|
||||
enableWebUi={form.enableWebUi}
|
||||
webUiConfig={form.webUiConfig}
|
||||
tunnelAvailable={protocols.enableSsh && originIsLocal}
|
||||
setField={setField as (field: string, value: unknown) => void}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useCallback, useEffect, useRef, useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useTranslation } from "@termix/plugin-sdk/frontend";
|
||||
import { Globe, RotateCw } from "lucide-react";
|
||||
import { toast } from "sonner";
|
||||
import {
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
/**
|
||||
* Frontend half of the web-endpoint plugin.
|
||||
*
|
||||
* Registers the endpoint viewer tab through the existing registerTabComponent
|
||||
* seam the same way network-topology's frontend does.
|
||||
*
|
||||
* HostEditorWebUiSection stays in src/ui/sidebar/ rather than moving here, and
|
||||
* is not registered through registerHostEditorTab: it is a section inside the
|
||||
* host editor's existing General tab, not a tab of its own, and it takes the
|
||||
* same {form, setField} pair every other host editor field does -- those types
|
||||
* (HostEditorForm, the setField signature) are core types HostEditor.tsx owns,
|
||||
* the same reason docker leaves HostDockerTab in core rather than copying it
|
||||
* into plugins/docker.
|
||||
*
|
||||
* register() is called when the plugin is enabled, unregister() when it is
|
||||
* disabled. As of this change neither is actually invoked anywhere yet -- see
|
||||
* src/ui/shell/pluginLoader.ts and
|
||||
* src/ui/tests/sidebar/plugin-extension-seam.test.tsx, which says outright
|
||||
* "there is no plugin loader yet" for the frontend half. Until one exists the
|
||||
* tab is rendered directly by tabUtils.tsx and merely gated on the plugin's
|
||||
* enabled state through BUILT_IN_TABS_BY_PLUGIN. This file follows the same
|
||||
* shape every other plugin's frontend entry does so it is ready the moment a
|
||||
* real loader lands.
|
||||
*/
|
||||
|
||||
export const id = "web-endpoint";
|
||||
export const tabId = "web-endpoint";
|
||||
|
||||
export async function register({ registerTabComponent }) {
|
||||
registerTabComponent?.(tabId, () =>
|
||||
import("./WebEndpointTab.tsx").then((m) => ({
|
||||
default: m.WebEndpointTab,
|
||||
})),
|
||||
);
|
||||
}
|
||||
|
||||
export async function unregister({ unregisterTabComponent }) {
|
||||
unregisterTabComponent?.(tabId);
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
import { Globe } from "lucide-react";
|
||||
import i18next from "i18next";
|
||||
import { toast } from "sonner";
|
||||
import type {
|
||||
HostEditorSectionProps,
|
||||
PluginHostRecord,
|
||||
ShellApi,
|
||||
TabProps,
|
||||
TermixApp,
|
||||
} from "@termix/plugin-sdk/frontend";
|
||||
import type { Host } from "@/types/ui-types";
|
||||
import type { WebEndpoint } from "@/types";
|
||||
import { WebEndpointTab } from "./WebEndpointTab";
|
||||
import { HostWebUiTab } from "./HostWebUiTab";
|
||||
import { openWebEndpointExternally } from "./web-endpoint-api";
|
||||
|
||||
const TAB_TYPE = "web-endpoint";
|
||||
|
||||
function endpointsOf(host: PluginHostRecord): WebEndpoint[] {
|
||||
if (!host.enableWebUi) return [];
|
||||
const config = host.webUiConfig as { endpoints?: WebEndpoint[] } | undefined;
|
||||
return config?.endpoints ?? [];
|
||||
}
|
||||
|
||||
function openEndpoint(
|
||||
host: PluginHostRecord,
|
||||
endpoint: WebEndpoint,
|
||||
shell: ShellApi,
|
||||
): void {
|
||||
if (endpoint.render === "external") {
|
||||
// No tab at all: the real browser opens it. On the desktop the main
|
||||
// process routes it to shell.openExternal.
|
||||
openWebEndpointExternally(
|
||||
host as unknown as { id: string; ip: string },
|
||||
endpoint,
|
||||
).catch((error: unknown) => {
|
||||
toast.error(
|
||||
error instanceof Error
|
||||
? error.message
|
||||
: i18next.t("web-endpoint:hosts.webUiOpenFailed"),
|
||||
);
|
||||
});
|
||||
return;
|
||||
}
|
||||
shell.openTab(host, TAB_TYPE, {
|
||||
label: endpoint.label,
|
||||
data: { endpointId: endpoint.id },
|
||||
});
|
||||
}
|
||||
|
||||
function EndpointTab({ host, tab }: TabProps) {
|
||||
// Resolved against the host on every render, so an endpoint deleted while
|
||||
// its tab is open shows a plain message instead of throwing.
|
||||
const endpointId = tab.data?.endpointId;
|
||||
return (
|
||||
<WebEndpointTab
|
||||
host={host as unknown as Host}
|
||||
endpointId={typeof endpointId === "string" ? endpointId : undefined}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
function WebUiSection({ form, setField, protocols }: HostEditorSectionProps) {
|
||||
return (
|
||||
<HostWebUiTab
|
||||
form={form}
|
||||
setField={setField as Parameters<typeof HostWebUiTab>[0]["setField"]}
|
||||
protocols={
|
||||
protocols as unknown as Parameters<typeof HostWebUiTab>[0]["protocols"]
|
||||
}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
export function activate(app: TermixApp): void {
|
||||
app.registerTab(TAB_TYPE, EndpointTab, {
|
||||
icon: Globe,
|
||||
titleKey: "hosts.tabWebUi",
|
||||
requiresHost: true,
|
||||
noHostMessageKey: "webEndpoint.noHostSelected",
|
||||
// A restored tab could never hold a valid URL: the backend closes an idle
|
||||
// tunnel after ten minutes and binds a fresh port on the next open. So
|
||||
// these tabs are session-only and never saved.
|
||||
persistent: false,
|
||||
inLayouts: false,
|
||||
});
|
||||
|
||||
// One entry per host, not one per endpoint: with several it opens a picker.
|
||||
// Gated on enableWebUi alone, since a direct endpoint needs no SSH.
|
||||
app.registerHostAction({
|
||||
id: TAB_TYPE,
|
||||
titleKey: "hosts.tabWebUi",
|
||||
icon: Globe,
|
||||
kind: "open",
|
||||
order: 80,
|
||||
when: (host) => endpointsOf(host).length > 0,
|
||||
label: (host) => {
|
||||
const endpoints = endpointsOf(host);
|
||||
return endpoints.length === 1 ? endpoints[0].label : undefined;
|
||||
},
|
||||
items: (host) =>
|
||||
endpointsOf(host).map((endpoint) => ({
|
||||
id: endpoint.id,
|
||||
label: endpoint.label,
|
||||
run: (target, shell) => openEndpoint(target, endpoint, shell),
|
||||
})),
|
||||
});
|
||||
|
||||
app.registerHostEditorSection({
|
||||
id: "web-ui",
|
||||
group: "ssh",
|
||||
titleKey: "hosts.tabWebUi",
|
||||
icon: Globe,
|
||||
order: 40,
|
||||
component: WebUiSection,
|
||||
});
|
||||
}
|
||||
@@ -39,7 +39,7 @@ const ENUMERATION_POINTS = [
|
||||
"src/ui/sidebar/host-export-payload.ts",
|
||||
"src/ui/sidebar/HostManagerData.ts",
|
||||
"src/ui/sidebar/HostEditorData.ts",
|
||||
"src/ui/shell/tabUtils.tsx",
|
||||
"src/ui/lib/host-to-ssh-host.ts",
|
||||
];
|
||||
|
||||
describe("web endpoint column enumeration", () => {
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
import "@testing-library/jest-dom/vitest";
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import { cleanup, fireEvent, render, screen } from "@testing-library/react";
|
||||
import type { WebEndpoint, WebUiConfig } from "@/types/index";
|
||||
|
||||
const isElectron = vi.hoisted(() => vi.fn(() => true));
|
||||
vi.mock("@/lib/electron", () => ({ isElectron }));
|
||||
|
||||
vi.mock("react-i18next", () => ({
|
||||
useTranslation: () => ({
|
||||
t: (key: string, vars?: Record<string, unknown>) =>
|
||||
vars ? `${key}:${JSON.stringify(vars)}` : key,
|
||||
}),
|
||||
}));
|
||||
|
||||
import { HostEditorWebUiSection } from "../../src/frontend/HostEditorWebUiSection";
|
||||
|
||||
function endpoint(overrides: Partial<WebEndpoint> = {}): WebEndpoint {
|
||||
return {
|
||||
id: "e1",
|
||||
label: "Proxmox",
|
||||
scheme: "https",
|
||||
port: 8006,
|
||||
path: "/",
|
||||
access: "direct",
|
||||
render: "external",
|
||||
...overrides,
|
||||
};
|
||||
}
|
||||
|
||||
function setup(
|
||||
config: WebUiConfig = { endpoints: [] },
|
||||
{
|
||||
enableWebUi = true,
|
||||
tunnelAvailable = true,
|
||||
}: { enableWebUi?: boolean; tunnelAvailable?: boolean } = {},
|
||||
) {
|
||||
const setField = vi.fn();
|
||||
render(
|
||||
<HostEditorWebUiSection
|
||||
enableWebUi={enableWebUi}
|
||||
webUiConfig={config}
|
||||
tunnelAvailable={tunnelAvailable}
|
||||
setField={setField}
|
||||
/>,
|
||||
);
|
||||
return setField;
|
||||
}
|
||||
|
||||
beforeEach(() => {
|
||||
isElectron.mockReturnValue(true);
|
||||
});
|
||||
|
||||
afterEach(cleanup);
|
||||
|
||||
describe("HostEditorWebUiSection", () => {
|
||||
it("hides the endpoint list until the feature is enabled", () => {
|
||||
setup({ endpoints: [endpoint()] }, { enableWebUi: false });
|
||||
expect(screen.queryByLabelText("hosts.webUiLabel")).not.toBeInTheDocument();
|
||||
expect(
|
||||
screen.queryByText("hosts.webUiAddEndpoint"),
|
||||
).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("adds an endpoint with a non-colliding label", () => {
|
||||
const setField = setup({
|
||||
endpoints: [endpoint({ label: "hosts.webUiNewEndpointLabel" })],
|
||||
});
|
||||
fireEvent.click(screen.getByText("hosts.webUiAddEndpoint"));
|
||||
|
||||
const [, value] = setField.mock.calls[0];
|
||||
const added = (value as WebUiConfig).endpoints[1];
|
||||
// Labels identify an endpoint in the sidebar picker, so a fresh row must
|
||||
// not silently duplicate one already there.
|
||||
expect(added.label).toBe("hosts.webUiNewEndpointLabel 2");
|
||||
expect(added.id).toBeTruthy();
|
||||
});
|
||||
|
||||
it("stops adding at the cap", () => {
|
||||
const many = Array.from({ length: 16 }, (_, i) =>
|
||||
endpoint({ id: `e${i}`, label: `E${i}` }),
|
||||
);
|
||||
setup({ endpoints: many });
|
||||
expect(screen.getByText("hosts.webUiAddEndpoint")).toBeDisabled();
|
||||
});
|
||||
|
||||
it("refuses to commit a port the normalizer would drop", () => {
|
||||
// Number("") is 0, which the normalizer rejects -- committing it would
|
||||
// silently discard the endpoint on save with no error shown.
|
||||
const setField = setup({ endpoints: [endpoint()] });
|
||||
fireEvent.change(screen.getByLabelText("hosts.webUiPort"), {
|
||||
target: { value: "" },
|
||||
});
|
||||
expect(setField).not.toHaveBeenCalled();
|
||||
|
||||
fireEvent.change(screen.getByLabelText("hosts.webUiPort"), {
|
||||
target: { value: "9000" },
|
||||
});
|
||||
expect((setField.mock.calls[0][1] as WebUiConfig).endpoints[0].port).toBe(
|
||||
9000,
|
||||
);
|
||||
});
|
||||
|
||||
it("shows the bind-host fields only for a tunnel endpoint", () => {
|
||||
setup({ endpoints: [endpoint({ access: "direct" })] });
|
||||
expect(screen.queryByLabelText("hosts.bindHost")).not.toBeInTheDocument();
|
||||
|
||||
cleanup();
|
||||
setup({ endpoints: [endpoint({ access: "tunnel" })] });
|
||||
expect(screen.getByLabelText("hosts.bindHost")).toBeInTheDocument();
|
||||
expect(screen.getByLabelText("hosts.webUiLocalPort")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("warns that a non-loopback bind is unauthenticated exposure", () => {
|
||||
setup({ endpoints: [endpoint({ access: "tunnel", bindHost: "0.0.0.0" })] });
|
||||
expect(screen.getByText("hosts.webUiBindHostExposed")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("does not warn about exposure for a loopback bind", () => {
|
||||
setup({
|
||||
endpoints: [endpoint({ access: "tunnel", bindHost: "127.0.0.1" })],
|
||||
});
|
||||
expect(
|
||||
screen.queryByText("hosts.webUiBindHostExposed"),
|
||||
).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("warns at config time that a loopback bind is unreachable from a browser", () => {
|
||||
isElectron.mockReturnValue(false);
|
||||
setup({ endpoints: [endpoint({ access: "tunnel" })] });
|
||||
// Said while configuring, not only when the tab fails to load.
|
||||
expect(
|
||||
screen.getByText("hosts.webUiBindHostUnreachable"),
|
||||
).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("warns at config time about the session-cookie collision", () => {
|
||||
// The page host in jsdom is "localhost", which HAS a loopback alias, so
|
||||
// force a host that does not to reach the second refusal.
|
||||
isElectron.mockReturnValue(false);
|
||||
const realLocation = window.location;
|
||||
Object.defineProperty(window, "location", {
|
||||
configurable: true,
|
||||
get: () => ({ ...realLocation, hostname: "termix.example.com" }),
|
||||
});
|
||||
|
||||
setup({ endpoints: [endpoint({ access: "tunnel", bindHost: "0.0.0.0" })] });
|
||||
expect(
|
||||
screen.getByText("hosts.webUiBindHostSharesSessionCookie"),
|
||||
).toBeInTheDocument();
|
||||
|
||||
Object.defineProperty(window, "location", {
|
||||
configurable: true,
|
||||
value: realLocation,
|
||||
});
|
||||
});
|
||||
|
||||
it("explains why tunnelling is unavailable rather than leaving a dead option", () => {
|
||||
// A disabled control with no stated reason reads as the dropdown being
|
||||
// broken.
|
||||
setup({ endpoints: [endpoint()] }, { tunnelAvailable: false });
|
||||
expect(
|
||||
screen.getByText("hosts.webUiAccessTunnelUnavailable"),
|
||||
).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("reports a row the normalizer would drop", () => {
|
||||
setup({ endpoints: [endpoint({ label: " " })] });
|
||||
expect(
|
||||
screen.getByText(/hosts.webUiErrorLabelRequired/),
|
||||
).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("removes an endpoint", () => {
|
||||
const setField = setup({
|
||||
endpoints: [endpoint(), endpoint({ id: "e2", label: "NAS" })],
|
||||
});
|
||||
fireEvent.click(screen.getAllByLabelText("hosts.webUiRemoveEndpoint")[0]);
|
||||
expect((setField.mock.calls[0][1] as WebUiConfig).endpoints).toHaveLength(
|
||||
1,
|
||||
);
|
||||
expect((setField.mock.calls[0][1] as WebUiConfig).endpoints[0].id).toBe(
|
||||
"e2",
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,126 @@
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
import {
|
||||
renderWithApp,
|
||||
type RenderedPluginApp,
|
||||
} from "@termix/plugin-sdk/testing";
|
||||
import { hostActionsFor, listHostActions } from "@/sidebar/host-contributions";
|
||||
import type { Host } from "@/types/ui-types";
|
||||
import type { WebEndpoint } from "@/types";
|
||||
import type { PluginManifest } from "@termix/plugin-sdk/manifest";
|
||||
import * as plugin from "../../src/frontend/index";
|
||||
import manifestJson from "../../manifest.json";
|
||||
|
||||
const manifest = manifestJson as unknown as PluginManifest;
|
||||
|
||||
function endpoint(overrides: Partial<WebEndpoint> = {}): WebEndpoint {
|
||||
return {
|
||||
id: "e1",
|
||||
label: "Proxmox",
|
||||
scheme: "https",
|
||||
port: 8006,
|
||||
path: "/",
|
||||
access: "direct",
|
||||
render: "embedded",
|
||||
...overrides,
|
||||
};
|
||||
}
|
||||
|
||||
function host(overrides: Partial<Host> = {}): Host {
|
||||
return {
|
||||
id: "7",
|
||||
ip: "10.0.0.5",
|
||||
name: "nas",
|
||||
enableSsh: false,
|
||||
enableWebUi: false,
|
||||
...overrides,
|
||||
} as unknown as Host;
|
||||
}
|
||||
|
||||
let rendered: RenderedPluginApp | null = null;
|
||||
|
||||
async function webAction(target: Host) {
|
||||
rendered ??= await renderWithApp(plugin, { manifest });
|
||||
return hostActionsFor(listHostActions(), target).find(
|
||||
(action) => action.id === "web-endpoint",
|
||||
);
|
||||
}
|
||||
|
||||
afterEach(async () => {
|
||||
await rendered?.deactivate();
|
||||
rendered = null;
|
||||
});
|
||||
|
||||
describe("web-endpoint activate", () => {
|
||||
it("registers its tab, host action and editor section", async () => {
|
||||
rendered = await renderWithApp(plugin, { manifest });
|
||||
expect(rendered.registered.tabs()).toEqual(["web-endpoint"]);
|
||||
expect(rendered.registered.hostEditorSections()).toEqual(["web-ui"]);
|
||||
});
|
||||
|
||||
it("offers no Web UI entry when the feature is off, even with endpoints", async () => {
|
||||
expect(
|
||||
await webAction(
|
||||
host({ enableWebUi: false, webUiConfig: { endpoints: [endpoint()] } }),
|
||||
),
|
||||
).toBeUndefined();
|
||||
});
|
||||
|
||||
it("offers no entry when enabled but no endpoints exist", async () => {
|
||||
expect(
|
||||
await webAction(
|
||||
host({ enableWebUi: true, webUiConfig: { endpoints: [] } }),
|
||||
),
|
||||
).toBeUndefined();
|
||||
});
|
||||
|
||||
it("appears without SSH", async () => {
|
||||
const action = await webAction(
|
||||
host({
|
||||
enableSsh: false,
|
||||
enableWebUi: true,
|
||||
webUiConfig: { endpoints: [endpoint()] },
|
||||
}),
|
||||
);
|
||||
expect(action).toBeDefined();
|
||||
});
|
||||
|
||||
it("labels the entry with the endpoint when there is only one", async () => {
|
||||
const target = host({
|
||||
enableWebUi: true,
|
||||
webUiConfig: { endpoints: [endpoint({ label: "Proxmox" })] },
|
||||
});
|
||||
const action = await webAction(target);
|
||||
expect(action?.label?.(target)).toBe("Proxmox");
|
||||
expect(action?.items?.(target).map((item) => item.id)).toEqual(["e1"]);
|
||||
});
|
||||
|
||||
it("stays one entry with a picker when there are several", async () => {
|
||||
const endpoints = Array.from({ length: 16 }, (_, i) =>
|
||||
endpoint({ id: `e${i}`, label: `Endpoint ${i}` }),
|
||||
);
|
||||
const target = host({ enableWebUi: true, webUiConfig: { endpoints } });
|
||||
const action = await webAction(target);
|
||||
expect(action?.label?.(target)).toBeUndefined();
|
||||
expect(action?.items?.(target)).toHaveLength(16);
|
||||
});
|
||||
|
||||
it("opens an embedded endpoint as a tab carrying its id", async () => {
|
||||
const target = host({
|
||||
enableWebUi: true,
|
||||
webUiConfig: { endpoints: [endpoint()] },
|
||||
});
|
||||
const action = await webAction(target);
|
||||
const calls: unknown[][] = [];
|
||||
const shell = {
|
||||
openTab: (...args: unknown[]) => calls.push(args),
|
||||
} as never;
|
||||
action!.items!(target)[0].run(target, shell);
|
||||
expect(calls).toEqual([
|
||||
[
|
||||
target,
|
||||
"web-endpoint",
|
||||
{ label: "Proxmox", data: { endpointId: "e1" } },
|
||||
],
|
||||
]);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user