mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-28 06:05:24 +00:00
Merge remote-tracking branch 'origin/main' into dev-2.9.1
This commit is contained in:
commit
dd66aa57e4
530 files changed
+44705
-44705
No files matched your search
@@ -1,58 +1,58 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "ACME সার্টিফিকেটগুলি পরিচালনা করুন",
|
||||
"description": "সার্টিফিকেটের অবস্থা দেখুন এবং এখনই একটি নতুন সার্টিফিকেটের জন্য অনুরোধ করুন।"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "স্বয়ংক্রিয়ভাবে নবায়ন করুন",
|
||||
"description": "দিনে দুইবার পরীক্ষা করুন এবং যখন কোনো সার্টিফিকেট থাকবে না, সেটি ডোমেইনকে কভার করবে না, অথবা ৩০ দিনের মধ্যে এর মেয়াদ শেষ হয়ে যাবে, তখন একটি নতুন সার্টিফিকেট সংগ্রহ করুন।"
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domain",
|
||||
"description": "The public domain name for the certificate.",
|
||||
"label": "ডোমেইন",
|
||||
"description": "সার্টিফিকেটটির পাবলিক ডোমেইন নাম।",
|
||||
"placeholder": "termix.example.com"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"label": "ইমেল",
|
||||
"description": "ACME অ্যাকাউন্ট এবং মেয়াদ শেষ হওয়ার বিজ্ঞপ্তির জন্য যোগাযোগের ইমেল।",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Certificate authority",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"label": "শংসাপত্র কর্তৃপক্ষ",
|
||||
"description": "সার্টিফিকেটটি কোথা থেকে পাবেন। Let's Encrypt-এর রেট লিমিট অতিক্রম না করে পরীক্ষা করার জন্য স্টেজিং ব্যবহার করুন।",
|
||||
"letsencrypt": "আসুন এনক্রিপ্ট করি",
|
||||
"letsencryptStaging": "লেটস এনক্রিপ্ট (স্টেজিং)",
|
||||
"custom": "কাস্টম ACME ডিরেক্টরি"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "ACME ডিরেক্টরি URL",
|
||||
"description": "শুধুমাত্র কাস্টম সার্টিফিকেট অথরিটির জন্য। অবশ্যই একটি https URL হতে হবে।"
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "চ্যালেঞ্জের ধরণ",
|
||||
"description": "ডোমেইনটির মালিকানা কীভাবে প্রমাণ করবেন।",
|
||||
"http": "HTTP - এর জন্য ইন্টারনেট থেকে পোর্ট ৮০ অ্যাক্সেসযোগ্য হতে হবে।",
|
||||
"cloudflare": "ডিএনএস (ক্লাউডফ্লেয়ার) - একটি ক্লাউডফ্লেয়ার এপিআই টোকেন প্রয়োজন"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"description": "Scoped token with Zone:DNS:Edit permission for your domain."
|
||||
"label": "ক্লাউডফ্লেয়ার এপিআই টোকেন",
|
||||
"description": "আপনার ডোমেনের জন্য Zone:DNS:Edit অনুমতিসহ স্কোপড টোকেন।"
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"none": "No certificate",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"expires": "Expires {{date}}",
|
||||
"lastIssued": "Last issued {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"requesting": "Requesting certificate...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"title": "সার্টিফিকেটের অবস্থা",
|
||||
"none": "কোন সার্টিফিকেট নেই",
|
||||
"names": "{{names}} কভার করে",
|
||||
"issuer": "{{issuer}} দ্বারা জারি করা হয়েছে",
|
||||
"expires": "মেয়াদ শেষ হবে {{date}}",
|
||||
"lastIssued": "সর্বশেষ প্রকাশিত {{date}}",
|
||||
"lastError": "শেষ চেষ্টা ব্যর্থ: {{error}}",
|
||||
"missing": "সার্টিফিকেটের জন্য অনুরোধ করার আগে, ডোমেইন, ইমেল এবং আপনার চ্যালেঞ্জ টাইপের জন্য প্রয়োজনীয় ফিল্ডগুলো সেট করুন, তারপর সেভ করুন।",
|
||||
"request": "এখনই সার্টিফিকেটের জন্য অনুরোধ করুন",
|
||||
"requesting": "সার্টিফিকেটের জন্য অনুরোধ...",
|
||||
"issued": "সার্টিফিকেট ইস্যু এবং ইনস্টল করা হয়েছে"
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "ACME प्रमाणपत्रों का प्रबंधन करें",
|
||||
"description": "प्रमाणपत्र की स्थिति देखें और अभी नए प्रमाणपत्र के लिए अनुरोध करें।"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "स्वचालित रूप से नवीनीकरण करें",
|
||||
"description": "दिन में दो बार जांच करें और यदि कोई प्रमाणपत्र मौजूद नहीं है, या वह डोमेन को कवर नहीं करता है, या 30 दिनों के भीतर समाप्त हो रहा है, तो नया प्रमाणपत्र प्राप्त करें।"
|
||||
},
|
||||
"domain": {
|
||||
"label": "डोमेन",
|
||||
@@ -17,42 +17,42 @@
|
||||
},
|
||||
"email": {
|
||||
"label": "ईमेल",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"description": "ACME खाते और समाप्ति सूचनाओं के लिए संपर्क ईमेल पता।",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "प्रमाणपत्र प्राधिकरण",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"description": "सर्टिफिकेट कहां से प्राप्त करें। Let's Encrypt की दर सीमा का उल्लंघन किए बिना परीक्षण के लिए स्टेजिंग का उपयोग करें।",
|
||||
"letsencrypt": "आइए एन्क्रिप्ट करें",
|
||||
"letsencryptStaging": "लेट्स एनक्रिप्ट (चरणबद्ध)",
|
||||
"custom": "कस्टम एसीएमई निर्देशिका"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "ACME निर्देशिका URL",
|
||||
"description": "केवल कस्टम सर्टिफिकेट अथॉरिटी के लिए। यूआरएल HTTPS होना चाहिए।"
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "चुनौती का प्रकार",
|
||||
"description": "आप डोमेन के मालिक होने का प्रमाण कैसे दे सकते हैं?",
|
||||
"http": "HTTP - इसके लिए इंटरनेट से पोर्ट 80 तक पहुंच आवश्यक है।",
|
||||
"cloudflare": "DNS (Cloudflare) - इसके लिए Cloudflare API टोकन की आवश्यकता होती है।"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"label": "क्लाउडफ्लेयर एपीआई टोकन",
|
||||
"description": "आपके डोमेन के लिए Zone:DNS:Edit अनुमति वाला स्कोप्ड टोकन।"
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"title": "प्रमाणपत्र की स्थिति",
|
||||
"none": "कोई प्रमाणपत्र नहीं",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"names": "कवर {{names}}",
|
||||
"issuer": "{{issuer}} द्वारा जारी किया गया",
|
||||
"expires": "{{date}} को समाप्त होगा",
|
||||
"lastIssued": "अंतिम जारी: {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"lastError": "अंतिम प्रयास विफल रहा: {{error}}",
|
||||
"missing": "डोमेन, ईमेल और आपके चैलेंज टाइप के लिए आवश्यक फ़ील्ड सेट करें, फिर प्रमाणपत्र का अनुरोध करने से पहले सेव करें।",
|
||||
"request": "अभी प्रमाणपत्र का अनुरोध करें",
|
||||
"requesting": "प्रमाणपत्र अनुरोध किया जा रहा है...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"issued": "प्रमाणपत्र जारी और स्थापित किया गया"
|
||||
}
|
||||
}
|
||||
@@ -1,58 +1,58 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "Kelola sertifikat ACME",
|
||||
"description": "Lihat status sertifikat dan ajukan permohonan sertifikat baru sekarang."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Perpanjang secara otomatis",
|
||||
"description": "Periksa dua kali sehari dan dapatkan sertifikat baru jika tidak ada, tidak mencakup domain, atau akan kedaluwarsa dalam 30 hari."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domain",
|
||||
"description": "The public domain name for the certificate.",
|
||||
"description": "Nama domain publik untuk sertifikat tersebut.",
|
||||
"placeholder": "termix.example.com"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"label": "E-mail",
|
||||
"description": "Alamat email kontak untuk akun ACME dan pemberitahuan masa berlaku.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Certificate authority",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"label": "Lembaga sertifikasi",
|
||||
"description": "Di mana mendapatkan sertifikat? Gunakan staging untuk pengujian tanpa melampaui batas kuota Let's Encrypt.",
|
||||
"letsencrypt": "Mari Enkripsi",
|
||||
"letsencryptStaging": "Let's Encrypt (pementasan)",
|
||||
"custom": "Direktori ACME khusus"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "URL direktori ACME",
|
||||
"description": "Hanya untuk otoritas sertifikat khusus. Harus berupa URL https."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Jenis tantangan",
|
||||
"description": "Bagaimana cara membuktikan bahwa Anda pemilik domain tersebut.",
|
||||
"http": "HTTP - memerlukan port 80 yang dapat diakses dari internet.",
|
||||
"cloudflare": "DNS (Cloudflare) - memerlukan token API Cloudflare"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"description": "Scoped token with Zone:DNS:Edit permission for your domain."
|
||||
"label": "Token API Cloudflare",
|
||||
"description": "Token terlingkup dengan izin Zone:DNS:Edit untuk domain Anda."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"none": "No certificate",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"expires": "Expires {{date}}",
|
||||
"lastIssued": "Last issued {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"requesting": "Requesting certificate...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"title": "Status sertifikat",
|
||||
"none": "Tidak ada sertifikat",
|
||||
"names": "Sampul {{names}}",
|
||||
"issuer": "Dikeluarkan oleh {{issuer}}",
|
||||
"expires": "Berakhir {{date}}",
|
||||
"lastIssued": "Terakhir diterbitkan {{date}}",
|
||||
"lastError": "Upaya terakhir gagal: {{error}}",
|
||||
"missing": "Atur domain, email, dan kolom yang dibutuhkan oleh tipe tantangan Anda, lalu simpan, sebelum meminta sertifikat.",
|
||||
"request": "Ajukan sertifikat sekarang",
|
||||
"requesting": "Meminta sertifikat...",
|
||||
"issued": "Sertifikat telah diterbitkan dan dipasang."
|
||||
}
|
||||
}
|
||||
@@ -1,58 +1,58 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "Administrer ACME-sertifikater",
|
||||
"description": "Se sertifikatstatusen og be om et nytt sertifikat nå."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Forny automatisk",
|
||||
"description": "Sjekk to ganger om dagen og få et nytt sertifikat når det ikke finnes noe, det ikke dekker domenet, eller det utløper innen 30 dager."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domain",
|
||||
"description": "The public domain name for the certificate.",
|
||||
"label": "Domene",
|
||||
"description": "Det offentlige domenenavnet for sertifikatet.",
|
||||
"placeholder": "termix.example.com"
|
||||
},
|
||||
"email": {
|
||||
"label": "E-post",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"description": "Kontakt-e-postadresse for ACME-kontoen og utløpsvarsler.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Certificate authority",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"label": "Sertifikatmyndighet",
|
||||
"description": "Hvor får man tak i sertifikatet? Bruk staging for å teste uten å nå hastighetsgrensene til Let's Encrypt.",
|
||||
"letsencrypt": "La oss kryptere",
|
||||
"letsencryptStaging": "La oss kryptere (staging)",
|
||||
"custom": "Tilpasset ACME-katalog"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "URL-adressen til ACME-katalogen",
|
||||
"description": "Kun for en tilpasset sertifiseringsinstans. Må være en https-URL."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Utfordringstype",
|
||||
"description": "Hvordan bevise at du eier domenet.",
|
||||
"http": "HTTP - trenger port 80 som kan nås fra internett",
|
||||
"cloudflare": "DNS (Cloudflare) – trenger et Cloudflare API-token"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"description": "Scoped token with Zone:DNS:Edit permission for your domain."
|
||||
"label": "Cloudflare API-token",
|
||||
"description": "Scope-token med Zone:DNS:Rediger-tillatelse for domenet ditt."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"none": "No certificate",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"expires": "Expires {{date}}",
|
||||
"lastIssued": "Last issued {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"requesting": "Requesting certificate...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"title": "Sertifikatstatus",
|
||||
"none": "Ingen sertifikat",
|
||||
"names": "Omslag {{names}}",
|
||||
"issuer": "Utstedt av {{issuer}}",
|
||||
"expires": "Utløper {{date}}",
|
||||
"lastIssued": "Sist utstedt {{date}}",
|
||||
"lastError": "Siste forsøk mislyktes: {{error}}",
|
||||
"missing": "Angi domenet, e-postadressen og feltene utfordringstypen din trenger, og lagre deretter før du ber om et sertifikat.",
|
||||
"request": "Be om sertifikat nå",
|
||||
"requesting": "Ber om sertifikat...",
|
||||
"issued": "Sertifikat utstedt og installert"
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "Zarządzaj certyfikatami ACME",
|
||||
"description": "Sprawdź status certyfikatu i poproś o nowy certyfikat już teraz."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Odnów automatycznie",
|
||||
"description": "Sprawdzaj dwa razy dziennie i wykup nowy certyfikat, jeśli go nie masz, nie obejmuje on tej domeny lub wygasa w ciągu 30 dni."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domena",
|
||||
@@ -17,42 +17,42 @@
|
||||
},
|
||||
"email": {
|
||||
"label": "E-mail",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"description": "Adres e-mail kontaktowy do konta ACME i powiadomień o wygaśnięciu.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Urząd certyfikacji (CA)",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"description": "Gdzie uzyskać certyfikat? Użyj środowiska testowego do testowania bez przekraczania limitów przepustowości Let's Encrypt.",
|
||||
"letsencrypt": "Szyfrujmy",
|
||||
"letsencryptStaging": "Let's Encrypt (etap przygotowawczy)",
|
||||
"custom": "Niestandardowy katalog ACME"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "Adres URL katalogu ACME",
|
||||
"description": "Tylko dla niestandardowego urzędu certyfikacji. Adres URL musi być w formacie https."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Typ wyzwania",
|
||||
"description": "Jak udowodnić, że jesteś właścicielem domeny.",
|
||||
"http": "HTTP - wymaga dostępu do portu 80 z Internetu",
|
||||
"cloudflare": "DNS (Cloudflare) – wymaga tokenu API Cloudflare"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"label": "Token API Cloudflare",
|
||||
"description": "Token zakresowy z uprawnieniem Zone:DNS:Edit dla Twojej domeny."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"title": "Status certyfikatu",
|
||||
"none": "Brak certyfikatu",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"names": "Obejmuje {{names}}",
|
||||
"issuer": "Wydane przez {{issuer}}",
|
||||
"expires": "Wygasa {{date}}",
|
||||
"lastIssued": "Ostatnio wystawiono {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"lastError": "Ostatnia próba nieudana: {{error}}",
|
||||
"missing": "Ustaw domenę, adres e-mail i pola, których wymaga Twój typ wyzwania, a następnie zapisz, zanim poprosisz o certyfikat.",
|
||||
"request": "Złóż wniosek o certyfikat już teraz",
|
||||
"requesting": "Żądanie certyfikatu...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"issued": "Certyfikat wydany i zainstalowany"
|
||||
}
|
||||
}
|
||||
@@ -1,58 +1,58 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "Gerenciar certificados ACME",
|
||||
"description": "Veja o status do certificado e solicite um novo agora mesmo."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Renovar automaticamente",
|
||||
"description": "Verifique duas vezes ao dia e obtenha um novo certificado quando não houver nenhum, se ele não cobrir o domínio ou se expirar em 30 dias."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domain",
|
||||
"description": "The public domain name for the certificate.",
|
||||
"label": "Domínio",
|
||||
"description": "O nome de domínio público do certificado.",
|
||||
"placeholder": "termix.example.com"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"label": "E-mail",
|
||||
"description": "E-mail de contato para a conta ACME e avisos de vencimento.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Certificate authority",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"label": "Autoridade certificadora",
|
||||
"description": "Onde obter o certificado. Use o ambiente de teste para realizar os testes sem atingir os limites de requisição do Let's Encrypt.",
|
||||
"letsencrypt": "Vamos criptografar",
|
||||
"letsencryptStaging": "Let's Encrypt (em fase de testes)",
|
||||
"custom": "Diretório ACME personalizado"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "URL do diretório ACME",
|
||||
"description": "Somente para uma autoridade de certificação personalizada. Deve ser um URL https."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Tipo de desafio",
|
||||
"description": "Como comprovar que você é o proprietário do domínio.",
|
||||
"http": "HTTP - requer que a porta 80 esteja acessível pela internet.",
|
||||
"cloudflare": "DNS (Cloudflare) - requer um token de API do Cloudflare"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"description": "Scoped token with Zone:DNS:Edit permission for your domain."
|
||||
"label": "Token da API Cloudflare",
|
||||
"description": "Token com escopo definido e permissão Zone:DNS:Edit para o seu domínio."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"none": "No certificate",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"expires": "Expires {{date}}",
|
||||
"lastIssued": "Last issued {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"requesting": "Requesting certificate...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"title": "Status do certificado",
|
||||
"none": "Sem certificado",
|
||||
"names": "Capas {{names}}",
|
||||
"issuer": "Emitido por {{issuer}}",
|
||||
"expires": "Expira em {{date}}",
|
||||
"lastIssued": "Última edição {{date}}",
|
||||
"lastError": "Última tentativa falhou: {{error}}",
|
||||
"missing": "Defina o domínio, o e-mail e os campos necessários para o seu tipo de desafio e salve as alterações antes de solicitar um certificado.",
|
||||
"request": "Solicite o certificado agora",
|
||||
"requesting": "Solicitar certificado...",
|
||||
"issued": "Certificado emitido e instalado."
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "Gerir certificados ACME",
|
||||
"description": "Veja o estado do certificado e solicite um novo agora mesmo."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Renovar automaticamente",
|
||||
"description": "Verifique duas vezes por dia e obtenha um novo certificado quando não houver nenhum, se não cobrir o domínio ou se expirar dentro de 30 dias."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domínio",
|
||||
@@ -17,42 +17,42 @@
|
||||
},
|
||||
"email": {
|
||||
"label": "E-mail",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"description": "E-mail de contacto para a conta ACME e avisos de vencimento.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Autoridade de certificação",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"description": "Onde obter o certificado. Utilize o ambiente de teste para realizar os testes sem atingir os limites de requisição do Let's Encrypt.",
|
||||
"letsencrypt": "Vamos encriptar",
|
||||
"letsencryptStaging": "Let's Encrypt (em fase de testes)",
|
||||
"custom": "Diretório ACME personalizado"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "URL do diretório ACME",
|
||||
"description": "Apenas para uma autoridade de certificação personalizada. Deve ser um URL https."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Tipo de desafio",
|
||||
"description": "Como comprovar que é o proprietário do domínio.",
|
||||
"http": "HTTP - requer que a porta 80 esteja acessível através da internet.",
|
||||
"cloudflare": "DNS (Cloudflare) - requer um token API do Cloudflare"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"label": "Token da API Cloudflare",
|
||||
"description": "Token com âmbito e permissão Zone:DNS:Edit para o seu domínio."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"title": "Estado do certificado",
|
||||
"none": "Sem certificado",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"names": "Capas {{names}}",
|
||||
"issuer": "Emitido por {{issuer}}",
|
||||
"expires": "Expira a {{date}}",
|
||||
"lastIssued": "Última emissão a {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"lastError": "Última tentativa falhada: {{error}}",
|
||||
"missing": "Defina o domínio, o e-mail e os campos necessários para o seu tipo de desafio e guarde as alterações antes de solicitar um certificado.",
|
||||
"request": "Solicite já o certificado",
|
||||
"requesting": "A solicitar certificado...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"issued": "Certificado emitido e instalado."
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "Управление сертификатами ACME",
|
||||
"description": "Проверьте статус сертификата и запросите новый сертификат прямо сейчас."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Автоматическое продление",
|
||||
"description": "Проверяйте дважды в день и получайте новый сертификат, если его нет, если он не покрывает домен или если срок действия старого истекает в течение 30 дней."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Домен",
|
||||
@@ -17,42 +17,42 @@
|
||||
},
|
||||
"email": {
|
||||
"label": "Email",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"description": "Адрес электронной почты, указанный в учетной записи ACME, для получения уведомлений об истечении срока действия.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Центр сертификации",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"description": "Где получить сертификат. Используйте тестовую среду (staging) для проверки без превышения лимитов запросов Let's Encrypt.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"letsencryptStaging": "Let's Encrypt (тестовая версия)",
|
||||
"custom": "Пользовательский каталог ACME"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "URL-адрес каталога ACME",
|
||||
"description": "Только для пользовательского центра сертификации. URL-адрес должен быть HTTPS."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Тип задачи",
|
||||
"description": "Как доказать, что вы являетесь владельцем домена.",
|
||||
"http": "HTTP — требуется доступ к порту 80 из интернета.",
|
||||
"cloudflare": "DNS (Cloudflare) — требуется токен API Cloudflare."
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"label": "API-токен Cloudflare",
|
||||
"description": "Токен с ограниченной областью действия и разрешением Zone:DNS:Edit для вашего домена."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"title": "Статус сертификата",
|
||||
"none": "Сертификат отсутствует",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"names": "Обложки {{names}}",
|
||||
"issuer": "Выпущено {{issuer}}",
|
||||
"expires": "Истекает {{date}}",
|
||||
"lastIssued": "Последний выпуск {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"lastError": "Последняя попытка не удалась: {{error}}",
|
||||
"missing": "Укажите домен, адрес электронной почты и поля, необходимые для типа проверки подлинности, затем сохраните изменения, прежде чем запрашивать сертификат.",
|
||||
"request": "Запросить сертификат сейчас",
|
||||
"requesting": "Запрос сертификата...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"issued": "Сертификат выдан и установлен."
|
||||
}
|
||||
}
|
||||
@@ -1,58 +1,58 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "Управљање ACME сертификатима",
|
||||
"description": "Погледајте статус сертификата и одмах затражите нови сертификат."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Аутоматски обнови",
|
||||
"description": "Проверавајте два пута дневно и набавите нови сертификат када га нема, када не покрива домен или када истиче у року од 30 дана."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domain",
|
||||
"description": "The public domain name for the certificate.",
|
||||
"label": "Домен",
|
||||
"description": "Јавно име домена за сертификат.",
|
||||
"placeholder": "termix.example.com"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"label": "Е-пошта",
|
||||
"description": "Контакт имејл за ACME налог и обавештења о истеку.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Certificate authority",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"label": "Сертификатски ауторитет",
|
||||
"description": "Где добити сертификат. Користите припрему за тестирање без достизања ограничења брзине Let's Encrypt-а.",
|
||||
"letsencrypt": "Хајде да шифрујемо",
|
||||
"letsencryptStaging": "Хајде да шифрујемо (припрема)",
|
||||
"custom": "Прилагођени ACME директоријум"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "URL ACME директоријума",
|
||||
"description": "Само за прилагођени ауторитет за сертификате. Мора бити https URL."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Тип изазова",
|
||||
"description": "Како доказати да сте власник домена.",
|
||||
"http": "HTTP - потребан је порт 80 доступан са интернета",
|
||||
"cloudflare": "DNS (Cloudflare) - потребан је Cloudflare API токен"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"description": "Scoped token with Zone:DNS:Edit permission for your domain."
|
||||
"label": "Клаудфлејр АПИ токен",
|
||||
"description": "Ограничени токен са дозволом Zone:DNS:Edit за ваш домен."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"none": "No certificate",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"expires": "Expires {{date}}",
|
||||
"lastIssued": "Last issued {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"requesting": "Requesting certificate...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"title": "Статус сертификата",
|
||||
"none": "Без сертификата",
|
||||
"names": "Навлаке {{names}}",
|
||||
"issuer": "Издао/ла {{issuer}}",
|
||||
"expires": "Истиче {{date}}",
|
||||
"lastIssued": "Последње издање {{date}}",
|
||||
"lastError": "Последњи покушај није успео: {{error}}",
|
||||
"missing": "Подесите домен, имејл адресу и поља која су потребна вашем типу изазова, а затим сачувајте подешавања пре него што затражите сертификат.",
|
||||
"request": "Затражите сертификат сада",
|
||||
"requesting": "Захтева се сертификат...",
|
||||
"issued": "Сертификат издат и инсталиран"
|
||||
}
|
||||
}
|
||||
@@ -1,58 +1,58 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "Hantera ACME-certifikat",
|
||||
"description": "Se certifikatets status och begär ett nytt certifikat nu."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Förnya automatiskt",
|
||||
"description": "Kontrollera två gånger om dagen och skaffa ett nytt certifikat om det inte finns något, om det inte täcker domänen eller om det löper ut inom 30 dagar."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domain",
|
||||
"description": "The public domain name for the certificate.",
|
||||
"label": "Domän",
|
||||
"description": "Det offentliga domännamnet för certifikatet.",
|
||||
"placeholder": "termix.example.com"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"label": "E-post",
|
||||
"description": "Kontakta e-postadressen för ACME-kontot och meddelanden om utgångsdatum.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Certificate authority",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"label": "Certifikatutfärdare",
|
||||
"description": "Var man kan hämta certifikatet. Använd staging för att testa utan att nå hastighetsgränserna för Let's Encrypt.",
|
||||
"letsencrypt": "Låt oss kryptera",
|
||||
"letsencryptStaging": "Låt oss kryptera (staging)",
|
||||
"custom": "Anpassad ACME-katalog"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "ACME-katalogens URL",
|
||||
"description": "Endast för en anpassad certifikatutfärdare. Måste vara en https-URL."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Utmaningstyp",
|
||||
"description": "Hur man bevisar att man äger domänen.",
|
||||
"http": "HTTP - behöver port 80 som kan nås från internet",
|
||||
"cloudflare": "DNS (Cloudflare) - behöver en Cloudflare API-token"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"description": "Scoped token with Zone:DNS:Edit permission for your domain."
|
||||
"label": "Cloudflare API-token",
|
||||
"description": "Scoped-token med Zone:DNS:Edit-behörighet för din domän."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"none": "No certificate",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"expires": "Expires {{date}}",
|
||||
"lastIssued": "Last issued {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"requesting": "Requesting certificate...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"title": "Certifikatstatus",
|
||||
"none": "Inget certifikat",
|
||||
"names": "Omslag {{names}}",
|
||||
"issuer": "Utfärdad av {{issuer}}",
|
||||
"expires": "Utgångsdatum {{date}}",
|
||||
"lastIssued": "Senast utfärdad {{date}}",
|
||||
"lastError": "Senaste försöket misslyckades: {{error}}",
|
||||
"missing": "Ange domän, e-postadress och de fält som din utmaningstyp behöver, spara sedan innan du begär ett certifikat.",
|
||||
"request": "Begär certifikat nu",
|
||||
"requesting": "Begär certifikat...",
|
||||
"issued": "Certifikat utfärdat och installerat"
|
||||
}
|
||||
}
|
||||
@@ -1,58 +1,58 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "จัดการใบรับรอง ACME",
|
||||
"description": "ตรวจสอบสถานะใบรับรองและขอใบรับรองใหม่ได้เลยตอนนี้"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "ต่ออายุอัตโนมัติ",
|
||||
"description": "ตรวจสอบวันละสองครั้ง และขอใบรับรองใหม่เมื่อไม่มีใบรับรอง หากใบรับรองไม่ครอบคลุมโดเมน หรือหากใบรับรองหมดอายุภายใน 30 วัน"
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domain",
|
||||
"description": "The public domain name for the certificate.",
|
||||
"placeholder": "termix.example.com"
|
||||
"label": "โดเมน",
|
||||
"description": "ชื่อโดเมนสาธารณะสำหรับใบรับรอง",
|
||||
"placeholder": "เทอร์มิกซ์.ตัวอย่าง.com"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"label": "อีเมล",
|
||||
"description": "อีเมลสำหรับติดต่อเพื่อรับข้อมูลเกี่ยวกับบัญชี ACME และประกาศแจ้งเตือนวันหมดอายุ",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Certificate authority",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"label": "หน่วยงานออกใบรับรอง",
|
||||
"description": "จะขอรับใบรับรองได้จากที่ไหน ใช้ระบบทดสอบ (staging) เพื่อทดสอบโดยไม่ให้เกินขีดจำกัดการใช้งานของ Let's Encrypt",
|
||||
"letsencrypt": "เลทส์ เอนคริปท์",
|
||||
"letsencryptStaging": "Let's Encrypt (รุ่นทดสอบ)",
|
||||
"custom": "ไดเร็กทอรี ACME แบบกำหนดเอง"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "URL ของไดเร็กทอรี ACME",
|
||||
"description": "ใช้ได้เฉพาะกับหน่วยงานออกใบรับรองที่กำหนดเองเท่านั้น ต้องเป็น URL ที่ใช้ HTTPS"
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "ประเภทความท้าทาย",
|
||||
"description": "วิธีพิสูจน์ว่าคุณเป็นเจ้าของโดเมน",
|
||||
"http": "HTTP - ต้องมีพอร์ต 80 ที่สามารถเข้าถึงได้จากอินเทอร์เน็ต",
|
||||
"cloudflare": "DNS (Cloudflare) - ต้องใช้โทเค็น API ของ Cloudflare"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"description": "Scoped token with Zone:DNS:Edit permission for your domain."
|
||||
"label": "โทเค็น API ของ Cloudflare",
|
||||
"description": "โทเค็นแบบจำกัดขอบเขตพร้อมสิทธิ์ Zone:DNS:Edit สำหรับโดเมนของคุณ"
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"none": "No certificate",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"expires": "Expires {{date}}",
|
||||
"lastIssued": "Last issued {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"requesting": "Requesting certificate...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"title": "สถานะใบรับรอง",
|
||||
"none": "ไม่มีใบรับรอง",
|
||||
"names": "ปก {{names}}",
|
||||
"issuer": "ออกโดย {{issuer}}",
|
||||
"expires": "หมดอายุ {{date}}",
|
||||
"lastIssued": "ออกครั้งล่าสุด {{date}}",
|
||||
"lastError": "ความพยายามครั้งล่าสุดล้มเหลว: {{error}}",
|
||||
"missing": "ตั้งค่าโดเมน อีเมล และข้อมูลที่จำเป็นสำหรับประเภทการตรวจสอบสิทธิ์ของคุณ จากนั้นบันทึกก่อนที่จะขอใบรับรอง",
|
||||
"request": "ขอใบรับรองตอนนี้",
|
||||
"requesting": "ขอใบรับรอง...",
|
||||
"issued": "ออกและติดตั้งใบรับรองแล้ว"
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "ACME sertifikalarını yönetin",
|
||||
"description": "Sertifika durumunu kontrol edin ve şimdi yeni bir sertifika talep edin."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Otomatik olarak yenile",
|
||||
"description": "Sertifikayı günde iki kez kontrol edin ve yoksa, alan adını kapsamıyorsa veya 30 gün içinde süresi dolacaksa yenisini alın."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Alan Adı",
|
||||
@@ -17,42 +17,42 @@
|
||||
},
|
||||
"email": {
|
||||
"label": "E-posta",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"description": "ACME hesabı ve sona erme bildirimleri için iletişim e-posta adresi.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Sertifika yetkilisi",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"description": "Sertifikayı nereden alabilirsiniz? Let's Encrypt'in hız sınırlamalarına takılmadan test etmek için hazırlık ortamını kullanın.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"letsencryptStaging": "Let's Encrypt (test aşaması)",
|
||||
"custom": "Özel ACME dizini"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "ACME dizin URL'si",
|
||||
"description": "Yalnızca özel sertifika yetkilisi için geçerlidir. HTTPS URL'si olmalıdır."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Meydan okuma türü",
|
||||
"description": "Alan adının size ait olduğunu nasıl kanıtlayabilirsiniz?",
|
||||
"http": "HTTP - internetten erişilebilir 80 numaralı porta ihtiyaç duyar.",
|
||||
"cloudflare": "DNS (Cloudflare) - Cloudflare API belirteci gerektirir."
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"label": "Cloudflare API belirteci",
|
||||
"description": "Alan adınız için Zone:DNS:Edit iznine sahip kapsamlı belirteç."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"title": "Sertifika durumu",
|
||||
"none": "Sertifika yok",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"names": "Kapaklar {{names}}",
|
||||
"issuer": "{{issuer}} tarafından yayınlandı",
|
||||
"expires": "Son kullanma: {{date}}",
|
||||
"lastIssued": "Son veriliş: {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"lastError": "Son deneme başarısız oldu: {{error}}",
|
||||
"missing": "Sertifika talebinde bulunmadan önce etki alanını, e-postayı ve doğrulama türünüzün gerektirdiği alanları ayarlayın, ardından kaydedin.",
|
||||
"request": "Şimdi sertifika talep edin",
|
||||
"requesting": "Sertifika isteniyor...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"issued": "Sertifika düzenlendi ve kuruldu."
|
||||
}
|
||||
}
|
||||
@@ -1,58 +1,58 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "Керування сертифікатами ACME",
|
||||
"description": "Перегляньте статус сертифіката та запросіть новий сертифікат зараз."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Автоматичне поновлення",
|
||||
"description": "Перевіряйте двічі на день та отримуйте новий сертифікат, коли його немає, він не поширюється на домен або термін його дії закінчується протягом 30 днів."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domain",
|
||||
"description": "The public domain name for the certificate.",
|
||||
"label": "Домен",
|
||||
"description": "Ім'я публічного домену для сертифіката.",
|
||||
"placeholder": "termix.example.com"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"label": "Електронна пошта",
|
||||
"description": "Контактна електронна адреса для облікового запису ACME та повідомлень про закінчення терміну дії.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Certificate authority",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"label": "Центр сертифікації",
|
||||
"description": "Де отримати сертифікат. Використовуйте проміжну версію для тестування без перевищення обмежень швидкості Let's Encrypt.",
|
||||
"letsencrypt": "Давайте зашифруємо",
|
||||
"letsencryptStaging": "Давайте зашифруємо (підготовка)",
|
||||
"custom": "Користувацький каталог ACME"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "URL-адреса каталогу ACME",
|
||||
"description": "Тільки для власного центру сертифікації. Має бути URL-адреса https."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Тип виклику",
|
||||
"description": "Як довести, що ви є власником домену.",
|
||||
"http": "HTTP – потрібен порт 80, доступний з Інтернету",
|
||||
"cloudflare": "DNS (Cloudflare) – потрібен токен API Cloudflare"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"description": "Scoped token with Zone:DNS:Edit permission for your domain."
|
||||
"label": "Токен API Cloudflare",
|
||||
"description": "Токен з обмеженою областю дії та дозволом Zone:DNS:Edit для вашого домену."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"none": "No certificate",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"expires": "Expires {{date}}",
|
||||
"lastIssued": "Last issued {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"requesting": "Requesting certificate...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"title": "Статус сертифіката",
|
||||
"none": "Без сертифіката",
|
||||
"names": "Обкладинки {{names}}",
|
||||
"issuer": "Видано {{issuer}}",
|
||||
"expires": "Термін дії закінчується {{date}}",
|
||||
"lastIssued": "Останній виданий {{date}}",
|
||||
"lastError": "Остання спроба не вдалася: {{error}}",
|
||||
"missing": "Вкажіть домен, електронну пошту та поля, необхідні для вашого типу завдання, а потім збережіть зміни, перш ніж запитувати сертифікат.",
|
||||
"request": "Замовити сертифікат зараз",
|
||||
"requesting": "Запит сертифіката...",
|
||||
"issued": "Сертифікат видано та встановлено"
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "Quản lý chứng chỉ ACME",
|
||||
"description": "Xem trạng thái chứng chỉ và yêu cầu chứng chỉ mới ngay bây giờ."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "Tự động gia hạn",
|
||||
"description": "Hãy kiểm tra hai lần một ngày và lấy chứng chỉ mới nếu chứng chỉ hiện không có, không bao phủ tên miền hoặc hết hạn trong vòng 30 ngày."
|
||||
},
|
||||
"domain": {
|
||||
"label": "Tên miền",
|
||||
@@ -17,42 +17,42 @@
|
||||
},
|
||||
"email": {
|
||||
"label": "Email",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"description": "Địa chỉ email liên hệ cho tài khoản ACME và thông báo hết hạn.",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "Cơ quan chứng thực",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"description": "Lấy chứng chỉ ở đâu? Sử dụng môi trường thử nghiệm để kiểm tra mà không vượt quá giới hạn số lượng yêu cầu của Let's Encrypt.",
|
||||
"letsencrypt": "Hãy mã hóa",
|
||||
"letsencryptStaging": "Let's Encrypt (phiên bản thử nghiệm)",
|
||||
"custom": "Danh mục ACME tùy chỉnh"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "URL thư mục ACME",
|
||||
"description": "Chỉ dành cho cơ quan cấp chứng chỉ tùy chỉnh. Phải là URL HTTPS."
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "Loại thử thách",
|
||||
"description": "Cách chứng minh bạn sở hữu tên miền.",
|
||||
"http": "HTTP - cần cổng 80 có thể truy cập được từ internet",
|
||||
"cloudflare": "DNS (Cloudflare) - cần mã thông báo API của Cloudflare."
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"label": "Mã thông báo API Cloudflare",
|
||||
"description": "Token có phạm vi với quyền Zone:DNS:Edit cho tên miền của bạn."
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"title": "Trạng thái chứng chỉ",
|
||||
"none": "Không có chứng chỉ",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"names": "Ảnh bìa {{names}}",
|
||||
"issuer": "Được phát hành bởi {{issuer}}",
|
||||
"expires": "Hết hạn {{date}}",
|
||||
"lastIssued": "Cấp lần cuối {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"lastError": "Lần thử cuối cùng thất bại: {{error}}",
|
||||
"missing": "Hãy thiết lập tên miền, email và các trường thông tin mà loại thử thách của bạn yêu cầu, sau đó lưu lại trước khi yêu cầu chứng chỉ.",
|
||||
"request": "Yêu cầu chứng chỉ ngay bây giờ",
|
||||
"requesting": "Đang yêu cầu chứng chỉ...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"issued": "Giấy chứng nhận đã được cấp và cài đặt"
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"permissions": {
|
||||
"manage": {
|
||||
"title": "Manage ACME certificates",
|
||||
"description": "See the certificate status and request a new certificate now."
|
||||
"title": "管理 ACME 證書",
|
||||
"description": "查看證書狀態並立即申請新證書。"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"autoRenew": {
|
||||
"label": "Renew automatically",
|
||||
"description": "Check twice a day and get a new certificate when there is none, it does not cover the domain, or it expires within 30 days."
|
||||
"label": "自動續訂",
|
||||
"description": "每天檢查兩次,如果沒有證書、證書不涵蓋該網域或證書將在 30 天內過期,則取得新證書。"
|
||||
},
|
||||
"domain": {
|
||||
"label": "網域",
|
||||
@@ -17,42 +17,42 @@
|
||||
},
|
||||
"email": {
|
||||
"label": "電子郵件",
|
||||
"description": "Contact email for the ACME account and expiry notices.",
|
||||
"description": "ACME帳戶及到期通知的聯絡信箱。",
|
||||
"placeholder": "admin@example.com"
|
||||
},
|
||||
"provider": {
|
||||
"label": "憑證授權中心",
|
||||
"description": "Where to get the certificate. Use staging to test without hitting Let's Encrypt rate limits.",
|
||||
"description": "證書取得途徑。使用測試環境進行測試,避免超出 Let's Encrypt 的速率限制。",
|
||||
"letsencrypt": "Let's Encrypt",
|
||||
"letsencryptStaging": "Let's Encrypt (staging)",
|
||||
"custom": "Custom ACME directory"
|
||||
"letsencryptStaging": "Let's Encrypt(測試版)",
|
||||
"custom": "自訂 ACME 目錄"
|
||||
},
|
||||
"directoryUrl": {
|
||||
"label": "ACME directory URL",
|
||||
"description": "Only for a custom certificate authority. Must be an https URL."
|
||||
"label": "ACME目錄URL",
|
||||
"description": "僅適用於自訂憑證授權單位。必須是 https URL。"
|
||||
},
|
||||
"challengeType": {
|
||||
"label": "Challenge type",
|
||||
"description": "How to prove you own the domain.",
|
||||
"http": "HTTP - needs port 80 reachable from the internet",
|
||||
"cloudflare": "DNS (Cloudflare) - needs a Cloudflare API token"
|
||||
"label": "挑戰類型",
|
||||
"description": "如何證明您擁有該網域。",
|
||||
"http": "HTTP協定需要80個可透過網際網路存取的連接埠。",
|
||||
"cloudflare": "DNS(Cloudflare)-需要 Cloudflare API 令牌"
|
||||
},
|
||||
"cloudflareToken": {
|
||||
"label": "Cloudflare API token",
|
||||
"label": "Cloudflare API 令牌",
|
||||
"description": "具有您網域 Zone:DNS:Edit 權限的限定範圍權杖。"
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"title": "Certificate status",
|
||||
"title": "證書狀態",
|
||||
"none": "無憑證",
|
||||
"names": "Covers {{names}}",
|
||||
"issuer": "Issued by {{issuer}}",
|
||||
"names": "封面 {{names}}",
|
||||
"issuer": "由 {{issuer}} 發行",
|
||||
"expires": "到期日 {{date}}",
|
||||
"lastIssued": "上次簽發日期 {{date}}",
|
||||
"lastError": "Last attempt failed: {{error}}",
|
||||
"missing": "Set the domain, email and the fields your challenge type needs, then save, before requesting a certificate.",
|
||||
"request": "Request certificate now",
|
||||
"lastError": "最後嘗試失敗: {{error}}",
|
||||
"missing": "設定網域名稱、電子郵件和您的質詢類型所需的字段,然後儲存,再申請憑證。",
|
||||
"request": "立即申請證書",
|
||||
"requesting": "請求憑證中...",
|
||||
"issued": "Certificate issued and installed"
|
||||
"issued": "證書已頒發並安裝"
|
||||
}
|
||||
}
|
||||
@@ -1,119 +1,119 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "সহকারী ব্যবহার করুন",
|
||||
"description": "অ্যাসিস্ট্যান্টটি খুলুন এবং এটিকে বিভিন্ন জিনিস জিজ্ঞাসা করুন।"
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "সরবরাহকারীদের পরিচালনা করুন",
|
||||
"description": "এআই প্রোভাইডার এবং তাদের এপিআই কীগুলো যোগ, সম্পাদনা ও অপসারণ করুন।"
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "প্রস্তাবগুলি প্রয়োগ করুন",
|
||||
"description": "সহকারীকে তার প্রস্তাবিত পরিবর্তনগুলো কার্যকর করতে দিন।"
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "অন্যান্য বৈশিষ্ট্য থেকে এআই ব্যবহার করুন",
|
||||
"description": "অন্যান্য বৈশিষ্ট্য আপনার পক্ষ থেকে সহকারীকে ডাকতে পারে।"
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "এপিআই কী শেয়ার করুন",
|
||||
"description": "অন্যান্য ফিচারগুলো সংরক্ষিত এআই এপিআই কী-টি না দেখেই ব্যবহার করতে পারে।"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "এই সার্ভারে এআই অ্যাসিস্ট্যান্ট বন্ধ করা আছে।",
|
||||
"providersNeedOptIn": "প্রোভাইডার যোগ করতে উপরের এআই অ্যাসিস্ট্যান্টটি চালু করুন।",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "এআই সহকারী",
|
||||
"description": "ব্যবহারকারীদের এআই অ্যাসিস্ট্যান্ট চালু করার সুযোগ দিন। এটি বন্ধ থাকা অবস্থায়, অ্যাসিস্ট্যান্টটি সকলের জন্য লুকানো এবং ব্লক করা থাকবে।"
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "ব্যক্তিগত এআই হোস্ট অনুমোদিত",
|
||||
"description": "আপনার প্রাইভেট নেটওয়ার্কে এমন হোস্ট রাখুন, যেগুলোকে ব্যবহারকারীরা কোনো প্রোভাইডারের দিকে নির্দেশ করতে পারে, যেমন একটি সেলফ-হোস্টেড ওলামা। প্রতিটি লাইনে একটি করে হোস্ট রাখুন।"
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "এআই অ্যাসিস্ট্যান্ট সক্রিয় করুন",
|
||||
"description": "এই হোস্টের টার্মিনালে সাহায্য করার জন্য এআই অ্যাসিস্ট্যান্টকে অনুমতি দিন। এটি ডিফল্টরূপে বন্ধ থাকে এবং আপনার অ্যাকাউন্টের জন্য এআই চালু করা প্রয়োজন।"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"stop": "Stop",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"running": "running",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"providerLabel": "Name",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"toolArguments": "Input",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"runInTerminal": "Run",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"title": "সহকারী",
|
||||
"send": "পাঠান",
|
||||
"stop": "থামুন",
|
||||
"save": "সংরক্ষণ করুন",
|
||||
"cancel": "বাতিল করুন",
|
||||
"running": "দৌড়ানো",
|
||||
"approve": "অনুমোদন করুন",
|
||||
"reject": "প্রত্যাখ্যান করুন",
|
||||
"inputPlaceholder": "আপনার সার্ভারগুলো সম্পর্কে জিজ্ঞাসা করুন, অথবা কোনো পরিবর্তনের প্রস্তাব বর্ণনা করুন।",
|
||||
"selectProvider": "একজন সরবরাহকারী নির্বাচন করুন",
|
||||
"providerSettings": "প্রদানকারীর সেটিংস",
|
||||
"addProvider": "প্রদানকারী যোগ করুন",
|
||||
"editProvider": "সম্পাদনা প্রদানকারী",
|
||||
"removeProvider": "প্রদানকারীকে অপসারণ করুন",
|
||||
"providerType": "সরবরাহকারী",
|
||||
"providerLabel": "নাম",
|
||||
"providerLabelPlaceholder": "উদাহরণস্বরূপ: স্থানীয় ওলামা",
|
||||
"baseUrl": "সার্ভারের ঠিকানা",
|
||||
"apiKey": "এপিআই কী",
|
||||
"defaultModel": "ডিফল্ট মডেল",
|
||||
"defaultModelPlaceholder": "উদাহরণস্বরূপ: llama3.1 অথবা claude-opus-5",
|
||||
"labelRequired": "এই সরবরাহকারীকে একটি নাম দিন",
|
||||
"providerSaveFailed": "প্রদানকারীকে সংরক্ষণ করা যায়নি",
|
||||
"providerUpdated": "প্রদানকারী আপডেট করেছেন",
|
||||
"providerDeleteFailed": "প্রদানকারীকে সরানো যায়নি",
|
||||
"privateEndpointHint": "আপনার ব্যক্তিগত নেটওয়ার্কের অ্যাড্রেসগুলো ব্যবহার করার জন্য প্রথমে একজন অ্যাডমিনিস্ট্রেটরের কাছ থেকে হোস্টটিকে অনুমতি নিতে হয়।",
|
||||
"providerOllama": "ওল্লামা",
|
||||
"providerAnthropic": "অ্যানথ্রোপিক",
|
||||
"providerOpenai": "ওপেনএআই",
|
||||
"providerGemini": "গুগল জেমিনি",
|
||||
"providerOpenaiCompatible": "ওপেনএআই সামঞ্জস্যপূর্ণ",
|
||||
"toolArguments": "ইনপুট",
|
||||
"toolResult": "ফলাফল",
|
||||
"statusApplied": "প্রয়োগ করা হয়েছে",
|
||||
"statusRejected": "প্রত্যাখ্যাত",
|
||||
"proposalApplied": "পরিবর্তন প্রয়োগ করা হয়েছে",
|
||||
"proposalApplyFailed": "পরিবর্তনটি প্রয়োগ করা যায়নি।",
|
||||
"proposalRejectFailed": "পরিবর্তনটি প্রত্যাখ্যান করা যায়নি",
|
||||
"enableTitle": "এআই অ্যাসিস্ট্যান্ট সক্রিয় করুন",
|
||||
"enableDescription": "সহকারীকে আপনার সেটআপটি পড়তে দিন এবং আপনার অনুমোদনের জন্য পরিবর্তনের পরামর্শ দিতে দিন।",
|
||||
"readOnlyCommands": "শুধুমাত্র পঠনযোগ্য ডায়াগনস্টিক কমান্ডের অনুমতি দিন",
|
||||
"readOnlyCommandsDescription": "সহকারী প্রতিবার অনুমতি না নিয়েই df এবং uptime-এর মতো কয়েকটি নিরাপদ কমান্ড চালাতে পারে। সার্ভার পরিবর্তন করে এমন যেকোনো কিছু সর্বদা প্রথমে প্রস্তাব করা হয়।",
|
||||
"modelDetectFailed": "সরবরাহকারীর সাথে যোগাযোগ করা সম্ভব হয়নি, তাই এটি একটি সাধারণ তালিকা। আপনি যেকোনো মডেলের নাম টাইপ করতে পারেন।",
|
||||
"modelCustom": "একটি মডেলের নাম লিখুন",
|
||||
"modelRefresh": "তালিকা রিফ্রেশ করুন",
|
||||
"modelPlaceholder": "একটি মডেল বেছে নিন বা টাইপ করুন",
|
||||
"attachHint": "কোনো হোস্ট, স্নিপেট বা অটোমেশন উল্লেখ করতে @ টাইপ করুন। আপনার অনুমোদনের জন্য পরিবর্তনগুলো প্রস্তাব করা হবে।",
|
||||
"runCommandTitle": "রান কমান্ড",
|
||||
"assistant": "এআই সহকারী",
|
||||
"terminalPanelEmpty": "এই হোস্ট সম্পর্কে অ্যাসিস্ট্যান্টকে জিজ্ঞাসা করুন। অবস্থা পরিবর্তনের জন্য প্রথমে আপনার অনুমোদন প্রয়োজন।",
|
||||
"terminalPanelPlaceholder": "এই হোস্ট সম্পর্কে জিজ্ঞাসা করুন...",
|
||||
"noProvidersConfigured": "এখনো কোনো এআই প্রোভাইডার কনফিগার করা হয়নি। এআই অ্যাসিস্ট্যান্ট ট্যাবে একটি যোগ করুন।",
|
||||
"runsInOpenTerminal": "আপনার খোলা টার্মিনাল সেশনে চলে।",
|
||||
"runInTerminal": "দৌড়",
|
||||
"terminalContextPrefill": "আমার টার্মিনাল আউটপুট নিচে দেওয়া হলো:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "অন্যান্য ফিচারগুলোকে তাদের নিজস্ব অনুরোধের জন্য আপনার এআই প্রোভাইডার এপিআই কী ব্যবহার করতে দিন। কী-টি কখনোই কপি করা হয় না এবং আপনি যেকোনো সময় এটি প্রত্যাহার করতে পারেন।"
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
"ai": "এআই"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "এআই সহকারী",
|
||||
"aiIntro": "টারমিক্সে একটি ঐচ্ছিক এআই অ্যাসিস্ট্যান্ট অন্তর্ভুক্ত থাকতে পারে। আপনি পরবর্তীতে আপনার সেটিংসে এটি পরিবর্তন করতে পারবেন।",
|
||||
"aiSkipTitle": "এটা ছেড়ে দাও",
|
||||
"aiSkipDesc": "টারমিক্স এখন যেমন কাজ করে, তেমনই কাজ করে। অ্যাসিস্ট্যান্টটি লুকানো থাকে।",
|
||||
"aiEnableTitle": "এটা চালু করুন",
|
||||
"aiEnableDesc": "একজন সহকারী যোগ করে যে আপনার সেটআপ পড়ে এবং আপনার অনুমোদিত পরিবর্তনের পরামর্শ দেয়। এর জন্য আপনার সরবরাহ করা একজন প্রদানকারীর প্রয়োজন, যেমন একজন স্থানীয় ওলামা।",
|
||||
"aiNote": "আপনি একজন প্রোভাইডার যোগ করে মেসেজ না পাঠানো পর্যন্ত কোথাও কিছু পাঠানো হয় না।"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs"
|
||||
"docsLink": "নথি দেখুন"
|
||||
}
|
||||
}
|
||||
@@ -1,117 +1,117 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "सहायक का उपयोग करें",
|
||||
"description": "असिस्टेंट खोलें और उससे सवाल पूछें।"
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "प्रदाताओं का प्रबंधन करें",
|
||||
"description": "एआई प्रदाताओं और उनकी एपीआई कुंजियों को जोड़ें, संपादित करें और हटाएं।"
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "प्रस्ताव लागू करें",
|
||||
"description": "सहायक को उसके द्वारा सुझाए गए बदलावों को लागू करने दें।"
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "अन्य सुविधाओं से एआई का उपयोग करें",
|
||||
"description": "अन्य सुविधाएं आपकी ओर से असिस्टेंट को कॉल कर सकती हैं।"
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "एपीआई कुंजी साझा करें",
|
||||
"description": "अन्य सुविधाएं संग्रहीत एआई एपीआई कुंजी का उपयोग उसे देखे बिना भी कर सकती हैं।"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "इस सर्वर पर एआई असिस्टेंट बंद है।",
|
||||
"providersNeedOptIn": "प्रदाताओं को जोड़ने के लिए ऊपर दिए गए एआई सहायक को चालू करें।",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "एआई सहायक",
|
||||
"description": "उपयोगकर्ताओं को एआई सहायक चालू करने की अनुमति दें। जब यह बंद होगा, तो सहायक सभी के लिए छिपा हुआ और अवरुद्ध रहेगा।"
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "निजी एआई होस्ट की अनुमति दी गई",
|
||||
"description": "आपके निजी नेटवर्क पर मौजूद होस्ट, जिन्हें उपयोगकर्ता किसी प्रदाता से जोड़ सकते हैं, जैसे कि स्व-होस्टेड ओलामा। प्रत्येक पंक्ति में एक होस्ट रखें।"
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "एआई असिस्टेंट को सक्षम करें",
|
||||
"description": "इस होस्ट के टर्मिनल में एआई सहायक को मदद करने की अनुमति दें। यह डिफ़ॉल्ट रूप से बंद है, लेकिन आपके खाते के लिए एआई को सक्षम करना आवश्यक है।"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"title": "सहायक",
|
||||
"send": "भेजना",
|
||||
"stop": "स्टॉप",
|
||||
"save": "सहेजें",
|
||||
"cancel": "रद्द करें",
|
||||
"running": "चल रहे",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"approve": "मंज़ूरी देना",
|
||||
"reject": "अस्वीकार करना",
|
||||
"inputPlaceholder": "अपने सर्वरों के बारे में पूछें, या प्रस्तावित परिवर्तन का वर्णन करें।",
|
||||
"selectProvider": "एक प्रदाता का चयन करें",
|
||||
"providerSettings": "प्रदाता सेटिंग्स",
|
||||
"addProvider": "प्रदाता जोड़ें",
|
||||
"editProvider": "प्रदाता संपादित करें",
|
||||
"removeProvider": "प्रदाता को हटाएँ",
|
||||
"providerType": "प्रदाता",
|
||||
"providerLabel": "नाम",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"providerLabelPlaceholder": "उदाहरण के लिए: स्थानीय ओलामा",
|
||||
"baseUrl": "सर्वर पता",
|
||||
"apiKey": "एपीआई कुंजी",
|
||||
"defaultModel": "डिफ़ॉल्ट मॉडल",
|
||||
"defaultModelPlaceholder": "उदाहरण के लिए: llama3.1 या claude-opus-5",
|
||||
"labelRequired": "इस प्रदाता को एक नाम दें",
|
||||
"providerSaveFailed": "प्रदाता को बचाया नहीं जा सका",
|
||||
"providerUpdated": "प्रदाता ने अपडेट किया",
|
||||
"providerDeleteFailed": "प्रदाता को हटाया नहीं जा सका",
|
||||
"privateEndpointHint": "आपके निजी नेटवर्क पर मौजूद पतों के लिए पहले एक प्रशासक द्वारा होस्ट को अनुमति देना आवश्यक है।",
|
||||
"providerOllama": "ओलामा",
|
||||
"providerAnthropic": "anthropic",
|
||||
"providerOpenai": "ओपनएआई",
|
||||
"providerGemini": "गूगल जेमिनी",
|
||||
"providerOpenaiCompatible": "OpenAI संगत",
|
||||
"toolArguments": "इनपुट",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"toolResult": "परिणाम",
|
||||
"statusApplied": "लागू किया गया",
|
||||
"statusRejected": "अस्वीकार कर दिया",
|
||||
"proposalApplied": "परिवर्तन लागू हो गया",
|
||||
"proposalApplyFailed": "परिवर्तन लागू नहीं हो सका",
|
||||
"proposalRejectFailed": "परिवर्तन को अस्वीकार नहीं किया जा सका",
|
||||
"enableTitle": "एआई सहायक को सक्रिय करें",
|
||||
"enableDescription": "सहायक को आपकी सेटअप प्रक्रिया पढ़ने दें और वह आपके अनुमोदन के लिए परिवर्तन सुझाएगा।",
|
||||
"readOnlyCommands": "केवल पढ़ने योग्य डायग्नोस्टिक कमांड की अनुमति दें",
|
||||
"readOnlyCommandsDescription": "सहायक बिना पूछे ही df और uptime जैसे कुछ सुरक्षित कमांड चला सकता है। सर्वर में कोई भी बदलाव करने का प्रस्ताव हमेशा पहले दिया जाता है।",
|
||||
"modelDetectFailed": "प्रदाता से संपर्क नहीं हो सका, इसलिए यह एक सामान्य सूची है। आप किसी भी मॉडल का नाम टाइप कर सकते हैं।",
|
||||
"modelCustom": "मॉडल का नाम दर्ज करें",
|
||||
"modelRefresh": "सूची रीफ़्रेश करें",
|
||||
"modelPlaceholder": "कोई मॉडल चुनें या टाइप करें",
|
||||
"attachHint": "किसी होस्ट, स्निपेट या ऑटोमेशन को संदर्भित करने के लिए @ टाइप करें। आपके अनुमोदन के लिए परिवर्तन प्रस्तावित किए जा रहे हैं।",
|
||||
"runCommandTitle": "कमांड चलाएँ",
|
||||
"assistant": "एआई सहायक",
|
||||
"terminalPanelEmpty": "इस होस्ट के बारे में असिस्टेंट से पूछें। किसी भी स्थिति में बदलाव के लिए पहले आपकी स्वीकृति आवश्यक है।",
|
||||
"terminalPanelPlaceholder": "इस होस्ट के बारे में पूछें...",
|
||||
"noProvidersConfigured": "अभी तक कोई एआई प्रदाता कॉन्फ़िगर नहीं किया गया है। एआई सहायक टैब में एक जोड़ें।",
|
||||
"runsInOpenTerminal": "यह आपके खुले टर्मिनल सत्र में चलता है।",
|
||||
"runInTerminal": "चलाएं",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"terminalContextPrefill": "यह मेरे टर्मिनल का आउटपुट है:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "अन्य सुविधाओं को अपने अनुरोधों के लिए आपके एआई प्रदाता एपीआई कुंजी का उपयोग करने दें। कुंजी की कभी प्रतिलिपि नहीं बनाई जाती है, और आप इसे किसी भी समय रद्द कर सकते हैं।"
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
"ai": "ऐ"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "एआई सहायक",
|
||||
"aiIntro": "टर्मिक्स में एक वैकल्पिक एआई सहायक शामिल हो सकता है। आप इसे बाद में अपनी सेटिंग्स में बदल सकते हैं।",
|
||||
"aiSkipTitle": "इसे बंद कर दो",
|
||||
"aiSkipDesc": "टर्मिक्स अभी की तरह ही काम करता है। असिस्टेंट छिपा रहता है।",
|
||||
"aiEnableTitle": "इसे चालू करें",
|
||||
"aiEnableDesc": "यह एक सहायक सुविधा जोड़ता है जो आपके सेटअप को पढ़ता है और आपके द्वारा स्वीकृत किए जाने वाले परिवर्तनों का सुझाव देता है। इसके लिए आपको एक प्रदाता उपलब्ध कराना होगा, जैसे कि स्थानीय ओलामा।",
|
||||
"aiNote": "जब तक आप कोई प्रदाता नहीं जोड़ते और संदेश नहीं भेजते, तब तक कुछ भी कहीं नहीं भेजा जाता।"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "दस्तावेज़ देखें"
|
||||
|
||||
@@ -1,119 +1,119 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Gunakan asisten",
|
||||
"description": "Buka asisten dan ajukan pertanyaan kepadanya."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Mengelola penyedia",
|
||||
"description": "Tambahkan, edit, dan hapus penyedia AI dan kunci API mereka."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Ajukan proposal",
|
||||
"description": "Biarkan asisten tersebut menjalankan perubahan yang disarankannya."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Gunakan AI dari fitur lain.",
|
||||
"description": "Fitur lainnya mungkin akan memanggil asisten atas nama Anda."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "Bagikan kunci API",
|
||||
"description": "Fitur lain mungkin menggunakan kunci API AI yang tersimpan tanpa mengetahuinya."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "Asisten AI dinonaktifkan di server ini.",
|
||||
"providersNeedOptIn": "Aktifkan asisten AI di atas untuk menambahkan penyedia.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "Asisten AI",
|
||||
"description": "Izinkan pengguna untuk mengaktifkan asisten AI. Saat dinonaktifkan, asisten akan disembunyikan dan diblokir untuk semua orang."
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "Host AI pribadi yang diizinkan",
|
||||
"description": "Host di jaringan pribadi Anda yang dapat diarahkan pengguna ke penyedia layanan, seperti Ollama yang dihosting sendiri. Letakkan satu host di setiap baris."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Aktifkan Asisten AI",
|
||||
"description": "Izinkan asisten AI untuk membantu di terminal host ini. Secara default dinonaktifkan, dan AI tetap perlu diaktifkan untuk akun Anda."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"stop": "Stop",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"running": "running",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"providerLabel": "Name",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"title": "Asisten",
|
||||
"send": "Mengirim",
|
||||
"stop": "Berhenti",
|
||||
"save": "Menyimpan",
|
||||
"cancel": "Membatalkan",
|
||||
"running": "berlari",
|
||||
"approve": "Menyetujui",
|
||||
"reject": "Menolak",
|
||||
"inputPlaceholder": "Tanyakan tentang server Anda, atau jelaskan perubahan yang ingin Anda usulkan.",
|
||||
"selectProvider": "Pilih penyedia",
|
||||
"providerSettings": "Pengaturan penyedia",
|
||||
"addProvider": "Tambahkan penyedia",
|
||||
"editProvider": "Penyedia pengeditan",
|
||||
"removeProvider": "Hapus penyedia",
|
||||
"providerType": "Penyedia",
|
||||
"providerLabel": "Nama",
|
||||
"providerLabelPlaceholder": "Contohnya: Ollama setempat",
|
||||
"baseUrl": "Alamat server",
|
||||
"apiKey": "Kunci API",
|
||||
"defaultModel": "Model default",
|
||||
"defaultModelPlaceholder": "Misalnya: llama3.1 atau claude-opus-5",
|
||||
"labelRequired": "Beri nama penyedia ini",
|
||||
"providerSaveFailed": "Penyedia layanan tidak dapat disimpan.",
|
||||
"providerUpdated": "Penyedia diperbarui",
|
||||
"providerDeleteFailed": "Penyedia layanan tidak dapat dihapus.",
|
||||
"privateEndpointHint": "Alamat-alamat di jaringan pribadi Anda memerlukan izin administrator terlebih dahulu untuk host tersebut.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerAnthropic": "Antropis",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"toolArguments": "Input",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"runInTerminal": "Run",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"providerOpenaiCompatible": "Kompatibel dengan OpenAI",
|
||||
"toolArguments": "Masukan",
|
||||
"toolResult": "Hasil",
|
||||
"statusApplied": "Terapan",
|
||||
"statusRejected": "Ditolak",
|
||||
"proposalApplied": "Perubahan diterapkan",
|
||||
"proposalApplyFailed": "Perubahan tidak dapat diterapkan.",
|
||||
"proposalRejectFailed": "Tidak bisa menolak perubahan tersebut",
|
||||
"enableTitle": "Aktifkan asisten AI",
|
||||
"enableDescription": "Biarkan asisten membaca pengaturan Anda dan menyarankan perubahan yang perlu Anda setujui.",
|
||||
"readOnlyCommands": "Izinkan perintah diagnostik hanya baca.",
|
||||
"readOnlyCommandsDescription": "Asisten dapat menjalankan daftar singkat perintah aman seperti df dan uptime tanpa bertanya setiap kali. Apa pun yang mengubah server selalu diusulkan terlebih dahulu.",
|
||||
"modelDetectFailed": "Tidak dapat menghubungi penyedia, jadi ini adalah daftar umum. Anda dapat mengetikkan nama model apa pun.",
|
||||
"modelCustom": "Masukkan nama model",
|
||||
"modelRefresh": "Perbarui daftar",
|
||||
"modelPlaceholder": "Pilih atau ketik model",
|
||||
"attachHint": "Ketik @ untuk merujuk ke host, cuplikan kode, atau otomatisasi. Perubahan diajukan untuk Anda setujui.",
|
||||
"runCommandTitle": "Jalankan perintah",
|
||||
"assistant": "Asisten AI",
|
||||
"terminalPanelEmpty": "Tanyakan kepada asisten tentang tuan rumah ini. Segala sesuatu yang berubah status memerlukan persetujuan Anda terlebih dahulu.",
|
||||
"terminalPanelPlaceholder": "Tanyakan tentang tuan rumah ini...",
|
||||
"noProvidersConfigured": "Belum ada penyedia AI yang dikonfigurasi. Tambahkan satu di tab asisten AI.",
|
||||
"runsInOpenTerminal": "Berjalan di sesi terminal Anda yang sedang terbuka.",
|
||||
"runInTerminal": "Berlari",
|
||||
"terminalContextPrefill": "Berikut adalah output terminal saya:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "Izinkan fitur lain menggunakan kunci API penyedia AI Anda untuk permintaan mereka sendiri. Kunci tersebut tidak pernah disalin, dan Anda dapat mencabutnya kapan saja."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "Asisten AI",
|
||||
"aiIntro": "Termix dapat menyertakan asisten AI opsional. Anda dapat mengubahnya nanti di pengaturan Anda.",
|
||||
"aiSkipTitle": "Biarkan saja",
|
||||
"aiSkipDesc": "Termix berfungsi seperti sekarang. Asisten tetap tersembunyi.",
|
||||
"aiEnableTitle": "Nyalakan",
|
||||
"aiEnableDesc": "Menambahkan asisten yang membaca pengaturan Anda dan menyarankan perubahan yang Anda setujui. Membutuhkan penyedia yang Anda berikan, seperti Ollama lokal.",
|
||||
"aiNote": "Tidak ada data yang dikirim ke mana pun sampai Anda menambahkan penyedia dan mengirim pesan."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs"
|
||||
"docsLink": "Lihat dokumen"
|
||||
}
|
||||
}
|
||||
@@ -1,119 +1,119 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Bruk assistenten",
|
||||
"description": "Åpne assistenten og spør den om ting."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Administrer leverandører",
|
||||
"description": "Legg til, rediger og fjern AI-leverandørene og API-nøklene deres."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Bruk forslag",
|
||||
"description": "La assistenten utføre endringene den foreslår."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Bruk AI fra andre funksjoner",
|
||||
"description": "Andre funksjoner kan ringe assistenten på dine vegne."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "Del API-nøkkelen",
|
||||
"description": "Andre funksjoner kan bruke den lagrede AI API-nøkkelen uten å se den."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "AI-assistenten er slått av på denne serveren.",
|
||||
"providersNeedOptIn": "Slå på AI-assistenten ovenfor for å legge til leverandører.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "AI-assistent",
|
||||
"description": "La brukere slå på AI-assistenten. Mens dette er av, er assistenten skjult og blokkert for alle."
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "Tillatte private AI-verter",
|
||||
"description": "Verter på ditt private nettverk som brukere kan peke en leverandør til, for eksempel en selvhostet Ollama. Plasser én vert på hver linje."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Aktiver AI-assistent",
|
||||
"description": "Tillat at AI-assistenten hjelper til i denne vertens terminal. Av som standard, og krever fortsatt at AI er aktivert for kontoen din."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"title": "Assistent",
|
||||
"send": "Sende",
|
||||
"stop": "Stopp",
|
||||
"save": "Lagre",
|
||||
"cancel": "Avbryt",
|
||||
"running": "kjører",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"approve": "Vedta",
|
||||
"reject": "Avvis",
|
||||
"inputPlaceholder": "Spør om servitørene dine, eller beskriv en endring du vil foreslå",
|
||||
"selectProvider": "Velg en leverandør",
|
||||
"providerSettings": "Leverandørinnstillinger",
|
||||
"addProvider": "Legg til leverandør",
|
||||
"editProvider": "Rediger leverandør",
|
||||
"removeProvider": "Fjern leverandør",
|
||||
"providerType": "Leverandør",
|
||||
"providerLabel": "Navn",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerLabelPlaceholder": "For eksempel: Lokal Ollama",
|
||||
"baseUrl": "Serveradresse",
|
||||
"apiKey": "API-nøkkel",
|
||||
"defaultModel": "Standardmodell",
|
||||
"defaultModelPlaceholder": "For eksempel: llama3.1 eller claude-opus-5",
|
||||
"labelRequired": "Gi denne leverandøren et navn",
|
||||
"providerSaveFailed": "Kunne ikke lagre leverandøren",
|
||||
"providerUpdated": "Leverandøren er oppdatert",
|
||||
"providerDeleteFailed": "Kunne ikke fjerne leverandøren",
|
||||
"privateEndpointHint": "Adresser på ditt private nettverk krever at en administrator tillater verten først.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerAnthropic": "Antropisk",
|
||||
"providerOpenai": "Åpen kunstig intelligens",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"toolArguments": "Input",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"providerOpenaiCompatible": "OpenAI-kompatibel",
|
||||
"toolArguments": "Inndata",
|
||||
"toolResult": "Resultat",
|
||||
"statusApplied": "Anvendt",
|
||||
"statusRejected": "Avvist",
|
||||
"proposalApplied": "Endringen er brukt",
|
||||
"proposalApplyFailed": "Kunne ikke bruke endringen",
|
||||
"proposalRejectFailed": "Kunne ikke avvise endringen",
|
||||
"enableTitle": "Aktiver AI-assistenten",
|
||||
"enableDescription": "La assistenten lese oppsettet ditt og foreslå endringer du kan godkjenne.",
|
||||
"readOnlyCommands": "Tillat skrivebeskyttede diagnostiske kommandoer",
|
||||
"readOnlyCommandsDescription": "Assistenten kan kjøre en kort liste med sikre kommandoer som df og uptime uten å spørre hver gang. Alt som endrer en server blir alltid foreslått først.",
|
||||
"modelDetectFailed": "Kunne ikke nå leverandøren, så dette er en generell liste. Du kan skrive inn et hvilket som helst modellnavn.",
|
||||
"modelCustom": "Skriv inn et modellnavn",
|
||||
"modelRefresh": "Oppdater listen",
|
||||
"modelPlaceholder": "Velg eller skriv inn en modell",
|
||||
"attachHint": "Skriv inn @ for å referere til en vert, et kodeutdrag eller en automatisering. Endringer foreslås som du kan godkjenne.",
|
||||
"runCommandTitle": "Kjør kommandoen",
|
||||
"assistant": "AI-assistent",
|
||||
"terminalPanelEmpty": "Spør assistenten om denne verten. Alt som endrer status trenger din godkjenning først.",
|
||||
"terminalPanelPlaceholder": "Spør om denne verten...",
|
||||
"noProvidersConfigured": "Ingen AI-leverandør er konfigurert ennå. Legg til en i AI-assistent-fanen.",
|
||||
"runsInOpenTerminal": "Kjører i din åpne terminaløkt.",
|
||||
"runInTerminal": "Kjør",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"terminalContextPrefill": "Her er terminalutgangen min:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "La andre funksjoner bruke API-nøkkelen til AI-leverandøren din for sine egne forespørsler. Nøkkelen kopieres aldri, og du kan tilbakekalle den når som helst."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "AI-assistent",
|
||||
"aiIntro": "Termix kan inkludere en valgfri AI-assistent. Du kan endre dette senere i innstillingene dine.",
|
||||
"aiSkipTitle": "La det være av",
|
||||
"aiSkipDesc": "Termix fungerer som den gjør nå. Assistenten forblir skjult.",
|
||||
"aiEnableTitle": "Slå den på",
|
||||
"aiEnableDesc": "Legger til en assistent som leser oppsettet ditt og foreslår endringer du godkjenner. Krever en leverandør du oppgir, for eksempel en lokal Ollama.",
|
||||
"aiNote": "Ingenting sendes noe sted før du legger til en leverandør og sender en melding."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs"
|
||||
"docsLink": "Vis dokumenter"
|
||||
}
|
||||
}
|
||||
@@ -1,29 +1,29 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Użyj asystenta",
|
||||
"description": "Otwórz asystenta i zadaj mu pytania."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Zarządzaj dostawcami",
|
||||
"description": "Dodawaj, edytuj i usuwaj dostawców sztucznej inteligencji oraz ich klucze API."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Zastosuj propozycje",
|
||||
"description": "Pozwól asystentowi wprowadzić sugerowane zmiany."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Użyj sztucznej inteligencji z innych funkcji",
|
||||
"description": "Inne funkcje mogą umożliwiać wywoływanie asystenta w Twoim imieniu."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "Udostępnij klucz API",
|
||||
"description": "Inne funkcje mogą wykorzystywać zapisany klucz API AI, nawet go nie widząc."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "Asystent AI jest wyłączony na tym serwerze.",
|
||||
"providersNeedOptIn": "Włącz asystenta AI powyżej, aby dodać dostawców.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "Asystent AI",
|
||||
@@ -31,13 +31,13 @@
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Dozwolone prywatne hosty AI",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"description": "Hosty w Twojej sieci prywatnej, na które użytkownicy mogą wskazać dostawcę, na przykład samodzielnie hostowany Ollama. Umieść jednego hosta na każdej linii."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Włącz asystenta AI",
|
||||
"description": "Zezwól asystentowi AI na pomoc w terminalu tego hosta. Domyślnie wyłączone, ale nadal wymaga włączenia AI na Twoim koncie."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -90,15 +90,15 @@
|
||||
"modelPlaceholder": "Wybierz lub wpisz model",
|
||||
"attachHint": "Wpisz @, aby odwołać się do hosta, snippetu lub automatyzacji. Zmiany są proponowane do Twojego zatwierdzenia.",
|
||||
"runCommandTitle": "Uruchom polecenie",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"assistant": "Asystent AI",
|
||||
"terminalPanelEmpty": "Zapytaj asystenta o tego hosta. Każda zmiana stanu wymaga Twojej zgody.",
|
||||
"terminalPanelPlaceholder": "Zapytaj o tego gospodarza...",
|
||||
"noProvidersConfigured": "Nie skonfigurowano jeszcze żadnego dostawcy AI. Dodaj go w zakładce Asystent AI.",
|
||||
"runsInOpenTerminal": "Działa w otwartej sesji terminalowej.",
|
||||
"runInTerminal": "Uruchom",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"terminalContextPrefill": "Oto wynik mojego terminala:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "Pozwól innym funkcjom używać klucza API dostawcy sztucznej inteligencji do własnych żądań. Klucz nigdy nie jest kopiowany i możesz go w dowolnym momencie cofnąć."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
|
||||
@@ -1,117 +1,117 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Use o assistente",
|
||||
"description": "Abra o assistente e faça perguntas."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Gerenciar fornecedores",
|
||||
"description": "Adicione, edite e remova os fornecedores de IA e suas chaves de API."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Apresentar propostas",
|
||||
"description": "Deixe que o assistente execute as alterações que sugerir."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Utilizar IA de outras funcionalidades",
|
||||
"description": "Outras funcionalidades podem chamar o assistente em seu nome."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "Compartilhe a chave da API",
|
||||
"description": "Outras funcionalidades podem usar a chave da API de IA armazenada sem visualizá-la."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "O assistente de IA está desativado neste servidor.",
|
||||
"providersNeedOptIn": "Ative o assistente de IA acima para adicionar fornecedores.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "assistente de IA",
|
||||
"description": "Permita que os usuários ativem o assistente de IA. Quando estiver desativado, o assistente ficará oculto e bloqueado para todos."
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "Hosts de IA privados permitidos",
|
||||
"description": "Servidores na sua rede privada que os usuários podem usar como provedores, como um Ollama auto-hospedado. Coloque um servidor em cada linha."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Ativar o assistente de IA",
|
||||
"description": "Permita que o assistente de IA ajude no terminal deste host. Desativado por padrão, mas ainda precisa que a IA esteja ativada para sua conta."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"stop": "Stop",
|
||||
"title": "Assistente",
|
||||
"send": "Enviar",
|
||||
"stop": "Parar",
|
||||
"save": "Salvar",
|
||||
"cancel": "Cancelar",
|
||||
"running": "running",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"providerLabel": "Name",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"running": "correndo",
|
||||
"approve": "Aprovar",
|
||||
"reject": "Rejeitar",
|
||||
"inputPlaceholder": "Pergunte sobre seus servidores ou descreva uma alteração que você gostaria de propor.",
|
||||
"selectProvider": "Selecione um fornecedor",
|
||||
"providerSettings": "Configurações do provedor",
|
||||
"addProvider": "Adicionar provedor",
|
||||
"editProvider": "Editar provedor",
|
||||
"removeProvider": "Remover provedor",
|
||||
"providerType": "Fornecedor",
|
||||
"providerLabel": "Nome",
|
||||
"providerLabelPlaceholder": "Por exemplo: Ollama local",
|
||||
"baseUrl": "Endereço do servidor",
|
||||
"apiKey": "Chave de API",
|
||||
"defaultModel": "Modelo padrão",
|
||||
"defaultModelPlaceholder": "Por exemplo: llama3.1 ou claude-opus-5",
|
||||
"labelRequired": "Dê um nome a este fornecedor.",
|
||||
"providerSaveFailed": "Não foi possível salvar o provedor.",
|
||||
"providerUpdated": "Fornecedor atualizado",
|
||||
"providerDeleteFailed": "Não foi possível remover o provedor.",
|
||||
"privateEndpointHint": "Os endereços na sua rede privada precisam que um administrador autorize o host primeiro.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerAnthropic": "Antrópico",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"providerOpenaiCompatible": "Compatível com OpenAI",
|
||||
"toolArguments": "Entrada",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"runInTerminal": "Run",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"toolResult": "Resultado",
|
||||
"statusApplied": "Aplicado",
|
||||
"statusRejected": "Rejeitado",
|
||||
"proposalApplied": "Alteração aplicada",
|
||||
"proposalApplyFailed": "Não foi possível aplicar a alteração.",
|
||||
"proposalRejectFailed": "Não foi possível rejeitar a alteração.",
|
||||
"enableTitle": "Ative o assistente de IA",
|
||||
"enableDescription": "Deixe o assistente ler sua configuração e sugerir alterações para você aprovar.",
|
||||
"readOnlyCommands": "Permitir comandos de diagnóstico somente leitura",
|
||||
"readOnlyCommandsDescription": "O assistente pode executar uma pequena lista de comandos seguros, como `df` e `uptime`, sem perguntar a cada vez. Qualquer alteração que faça no servidor será sempre sugerida primeiro.",
|
||||
"modelDetectFailed": "Não foi possível contatar o fornecedor, portanto esta é uma lista genérica. Você pode digitar o nome de qualquer modelo.",
|
||||
"modelCustom": "Insira o nome do modelo",
|
||||
"modelRefresh": "Atualizar lista",
|
||||
"modelPlaceholder": "Selecione ou digite um modelo",
|
||||
"attachHint": "Digite @ para fazer referência a um host, snippet ou automação. As alterações são propostas para sua aprovação.",
|
||||
"runCommandTitle": "Executar comando",
|
||||
"assistant": "Assistente de IA",
|
||||
"terminalPanelEmpty": "Pergunte ao assistente sobre este anfitrião. Qualquer alteração de estado precisa da sua aprovação prévia.",
|
||||
"terminalPanelPlaceholder": "Pergunte sobre este anfitrião...",
|
||||
"noProvidersConfigured": "Nenhum provedor de IA está configurado ainda. Adicione um na aba do assistente de IA.",
|
||||
"runsInOpenTerminal": "Executa na sua sessão de terminal aberta.",
|
||||
"runInTerminal": "Correr",
|
||||
"terminalContextPrefill": "Aqui está a saída do meu terminal:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "Permita que outros recursos usem sua chave de API do provedor de IA para suas próprias solicitações. A chave nunca é copiada e você pode revogá-la a qualquer momento."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
"ai": "IA"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "assistente de IA",
|
||||
"aiIntro": "O Termix pode incluir um assistente de IA opcional. Você pode alterar isso posteriormente nas suas configurações.",
|
||||
"aiSkipTitle": "Deixe desligado",
|
||||
"aiSkipDesc": "O Termix funciona como está agora. O assistente permanece oculto.",
|
||||
"aiEnableTitle": "Ligue-o",
|
||||
"aiEnableDesc": "Adiciona um assistente que lê sua configuração e sugere alterações que você aprova. Requer um provedor fornecido por você, como um Ollama local.",
|
||||
"aiNote": "Nada será enviado até que você adicione um provedor e envie uma mensagem."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Documentação"
|
||||
|
||||
@@ -1,117 +1,117 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Utilize o assistente",
|
||||
"description": "Abra o assistente e coloque questões."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Gerir fornecedores",
|
||||
"description": "Adicione, edite e remova os fornecedores de IA e as suas chaves API."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Apresentar propostas",
|
||||
"description": "Deixe que o assistente execute as alterações que sugerir."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Utilizar IA de outras funcionalidades",
|
||||
"description": "Outras funcionalidades podem chamar o assistente em seu nome."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "Partilhar a chave da API",
|
||||
"description": "Outras funcionalidades podem utilizar a chave da API de IA armazenada sem a visualizar."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "O assistente de IA está desativado neste servidor.",
|
||||
"providersNeedOptIn": "Ative o assistente de IA acima para adicionar fornecedores.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "assistente de IA",
|
||||
"description": "Permita que os utilizadores ativem o assistente de IA. Quando estiver desativado, o assistente ficará oculto e bloqueado para todos."
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "Hosts de IA privados permitidos",
|
||||
"description": "Servidores na sua rede privada que os utilizadores podem utilizar como fornecedores, como um Ollama auto-hospedado. Coloque um servidor em cada linha."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Ativar o assistente de IA",
|
||||
"description": "Permita que o assistente de IA ajude no terminal deste host. Desativado por defeito, mas ainda precisa que a IA esteja ativada para a sua conta."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"title": "Assistente",
|
||||
"send": "Enviar",
|
||||
"stop": "Stop",
|
||||
"save": "Guardar",
|
||||
"cancel": "Cancelar",
|
||||
"running": "em execução",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"approve": "Aprovar",
|
||||
"reject": "Rejeitar",
|
||||
"inputPlaceholder": "Pergunte pelos seus servidores ou descreva uma alteração que gostaria de propor.",
|
||||
"selectProvider": "Selecione um fornecedor",
|
||||
"providerSettings": "Configurações do fornecedor",
|
||||
"addProvider": "Adicionar provedor",
|
||||
"editProvider": "Editar provedor",
|
||||
"removeProvider": "Remover fornecedor",
|
||||
"providerType": "Fornecedor",
|
||||
"providerLabel": "Nome",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerLabelPlaceholder": "Por exemplo: Ollama local",
|
||||
"baseUrl": "Endereço do servidor",
|
||||
"apiKey": "Chave API",
|
||||
"defaultModel": "Modelo padrão",
|
||||
"defaultModelPlaceholder": "Por exemplo: llama3.1 ou claude-opus-5",
|
||||
"labelRequired": "Dê um nome a este fornecedor.",
|
||||
"providerSaveFailed": "Não foi possível guardar o fornecedor.",
|
||||
"providerUpdated": "Fornecedor atualizado",
|
||||
"providerDeleteFailed": "Não foi possível remover o fornecedor.",
|
||||
"privateEndpointHint": "Os endereços na sua rede privada necessitam que um administrador autorize primeiro o host.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerAnthropic": "Antrópico",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"providerOpenaiCompatible": "Compatível com OpenAI",
|
||||
"toolArguments": "Entrada",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"toolResult": "Resultado",
|
||||
"statusApplied": "Aplicado",
|
||||
"statusRejected": "Rejeitado",
|
||||
"proposalApplied": "Alteração aplicada",
|
||||
"proposalApplyFailed": "Não foi possível aplicar a alteração.",
|
||||
"proposalRejectFailed": "Não foi possível rejeitar a alteração.",
|
||||
"enableTitle": "Ative o assistente de IA",
|
||||
"enableDescription": "Deixe o assistente ler a sua configuração e sugerir alterações para que a aprove.",
|
||||
"readOnlyCommands": "Permitir comandos de diagnóstico de leitura apenas",
|
||||
"readOnlyCommandsDescription": "O assistente pode executar uma pequena lista de comandos seguros, como `df` e `uptime`, sem perguntar de cada vez. Qualquer alteração que faça no servidor será sempre sugerida em primeiro lugar.",
|
||||
"modelDetectFailed": "Não foi possível contactar o fornecedor, pelo que esta é uma lista genérica. Pode digitar o nome de qualquer modelo.",
|
||||
"modelCustom": "Introduza o nome do modelo",
|
||||
"modelRefresh": "Atualizar lista",
|
||||
"modelPlaceholder": "Selecione ou introduza um modelo",
|
||||
"attachHint": "Digite @ para fazer referência a um host, snippet ou automação. As alterações são propostas para a sua aprovação.",
|
||||
"runCommandTitle": "Executar comando",
|
||||
"assistant": "Assistente de IA",
|
||||
"terminalPanelEmpty": "Pergunte ao assistente sobre este anfitrião. Qualquer alteração de estado necessita da sua aprovação prévia.",
|
||||
"terminalPanelPlaceholder": "Pergunte sobre este anfitrião...",
|
||||
"noProvidersConfigured": "Nenhum fornecedor de IA está configurado ainda. Adicione um no separador do assistente de IA.",
|
||||
"runsInOpenTerminal": "Executa na sua sessão de terminal aberta.",
|
||||
"runInTerminal": "Executar",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"terminalContextPrefill": "Eis a saída do meu terminal:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "Permita que outros recursos utilizem a sua chave API do fornecedor de IA para os seus próprios pedidos. A chave nunca é copiada e pode revogá-la a qualquer momento."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
"ai": "IA"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "assistente de IA",
|
||||
"aiIntro": "O Termix pode incluir um assistente de IA opcional. Pode alterar isso posteriormente nas suas definições.",
|
||||
"aiSkipTitle": "Deixe desligado",
|
||||
"aiSkipDesc": "O Termix funciona como está agora. O assistente permanece oculto.",
|
||||
"aiEnableTitle": "Ligue-o",
|
||||
"aiEnableDesc": "Adiciona um assistente que lê a sua configuração e sugere alterações que aprova. Requer um fornecedor fornecido por si, como um Ollama local.",
|
||||
"aiNote": "Nada será enviado até que adicione um fornecedor e envie uma mensagem."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Ver documentação"
|
||||
|
||||
@@ -1,117 +1,117 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Воспользуйтесь помощником",
|
||||
"description": "Откройте ассистента и задайте ему вопросы."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Управление поставщиками",
|
||||
"description": "Добавляйте, редактируйте и удаляйте поставщиков ИИ и их API-ключи."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Подайте заявки на участие в тендере.",
|
||||
"description": "Пусть ассистент внесет предложенные им изменения."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Используйте ИИ из других функций.",
|
||||
"description": "Другие функции могут вызывать голосового помощника от вашего имени."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "Поделитесь ключом API",
|
||||
"description": "Другие функции могут использовать сохраненный ключ API ИИ, даже не видя его."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "На этом сервере ИИ-помощник отключен.",
|
||||
"providersNeedOptIn": "Включите ИИ-помощника выше, чтобы добавить поставщиков услуг.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "ИИ-помощник",
|
||||
"description": "Разрешите пользователям включить голосового помощника. Если он выключен, помощник скрыт и заблокирован для всех."
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "Разрешены частные хосты ИИ",
|
||||
"description": "Разместите на каждой линии по одному хосту в вашей частной сети, на которые пользователи могут направлять запросы провайдера, например, самостоятельно размещенный Ollama."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Включить ИИ-помощника",
|
||||
"description": "Разрешите помощнику с искусственным интеллектом помогать на терминале этого хоста. По умолчанию отключено, но для вашей учетной записи ИИ все равно должен быть включен."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"title": "Помощник",
|
||||
"send": "Отправлять",
|
||||
"stop": "Остановить",
|
||||
"save": "Сохранить",
|
||||
"cancel": "Отмена",
|
||||
"running": "выполняется",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"approve": "Утвердить",
|
||||
"reject": "Отклонять",
|
||||
"inputPlaceholder": "Поинтересуйтесь состоянием ваших серверов или предложите внести изменения.",
|
||||
"selectProvider": "Выберите поставщика",
|
||||
"providerSettings": "Настройки поставщика",
|
||||
"addProvider": "Добавить поставщика",
|
||||
"editProvider": "Поставщик редактирования",
|
||||
"removeProvider": "Удалить поставщика",
|
||||
"providerType": "Поставщик",
|
||||
"providerLabel": "Название",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerLabelPlaceholder": "Например: Местная лама",
|
||||
"baseUrl": "Адрес сервера",
|
||||
"apiKey": "ключ API",
|
||||
"defaultModel": "Модель по умолчанию",
|
||||
"defaultModelPlaceholder": "Например: llama3.1 или claude-opus-5",
|
||||
"labelRequired": "Укажите имя этого поставщика услуг.",
|
||||
"providerSaveFailed": "Не удалось сохранить поставщика услуг.",
|
||||
"providerUpdated": "Поставщик обновлен",
|
||||
"providerDeleteFailed": "Не удалось удалить поставщика услуг.",
|
||||
"privateEndpointHint": "Для доступа к адресам в вашей частной сети необходимо предварительное разрешение администратора.",
|
||||
"providerOllama": "оллама",
|
||||
"providerAnthropic": "Антропический",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"providerOpenaiCompatible": "Совместимость с OpenAI",
|
||||
"toolArguments": "Ввод",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"toolResult": "Результат",
|
||||
"statusApplied": "Применяемый",
|
||||
"statusRejected": "Отклоненный",
|
||||
"proposalApplied": "Внесены изменения.",
|
||||
"proposalApplyFailed": "Не удалось применить изменения.",
|
||||
"proposalRejectFailed": "Не мог отклонить изменение.",
|
||||
"enableTitle": "Включите ИИ-помощника",
|
||||
"enableDescription": "Позвольте ассистенту ознакомиться с вашими настройками и предложить изменения для утверждения.",
|
||||
"readOnlyCommands": "Разрешить диагностические команды только для чтения",
|
||||
"readOnlyCommandsDescription": "Ассистент может выполнить короткий список безопасных команд, таких как df и uptime, не запрашивая подтверждения каждый раз. Любая команда, изменяющая состояние сервера, всегда предлагается в первую очередь.",
|
||||
"modelDetectFailed": "Не удалось связаться с поставщиком, поэтому это общий список. Вы можете ввести любое название модели.",
|
||||
"modelCustom": "Введите название модели",
|
||||
"modelRefresh": "Обновить список",
|
||||
"modelPlaceholder": "Выберите или введите модель",
|
||||
"attachHint": "Введите @ для ссылки на хост, фрагмент кода или автоматизацию. Предлагаются изменения для вашего утверждения.",
|
||||
"runCommandTitle": "Выполните команду",
|
||||
"assistant": "ИИ-помощник",
|
||||
"terminalPanelEmpty": "Спросите помощника об этом хосте. Любое изменение состояния требует вашего предварительного одобрения.",
|
||||
"terminalPanelPlaceholder": "Спросите об этом хостинге...",
|
||||
"noProvidersConfigured": "Поставщик ИИ пока не настроен. Добавьте его на вкладке «Помощник ИИ».",
|
||||
"runsInOpenTerminal": "Запускается в открытой терминальной сессии.",
|
||||
"runInTerminal": "Запустить",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"terminalContextPrefill": "Вот вывод моего терминала:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "Разрешите другим функциям использовать ваш API-ключ поставщика ИИ для своих запросов. Ключ никогда не копируется, и вы можете отозвать его в любое время."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
"ai": "ИИ"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "ИИ-помощник",
|
||||
"aiIntro": "В Termix можно добавить опционального ИИ-помощника. Это можно изменить позже в настройках.",
|
||||
"aiSkipTitle": "Оставьте это выключенным.",
|
||||
"aiSkipDesc": "Termix работает так, как сейчас. Ассистент остается скрытым.",
|
||||
"aiEnableTitle": "Включите его",
|
||||
"aiEnableDesc": "Добавляет помощника, который анализирует ваши настройки и предлагает изменения, которые вы одобряете. Требуется поставщик, которого вы предоставляете, например, местный Ollama.",
|
||||
"aiNote": "Ничего никуда не отправляется, пока вы не добавите поставщика услуг и не отправите сообщение."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Документация"
|
||||
|
||||
@@ -1,119 +1,119 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Користите помоћника",
|
||||
"description": "Отворите асистента и питајте га."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Управљајте добављачима",
|
||||
"description": "Додајте, уредите и уклоните добављаче вештачке интелигенције и њихове АПИ кључеве."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Примени предлоге",
|
||||
"description": "Нека асистент изврши измене које предложи."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Користите вештачку интелигенцију из других функција",
|
||||
"description": "Друге функције могу позвати асистента у ваше име."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "Поделите API кључ",
|
||||
"description": "Друге функције могу користити сачувани AI API кључ, а да га не виде."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "АИ асистент је искључен на овом серверу.",
|
||||
"providersNeedOptIn": "Укључите AI асистента изнад да бисте додали добављаче.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "Асистент за вештачку интелигенцију",
|
||||
"description": "Дозволите корисницима да укључе вештачку интелигенцију асистента. Док је ово искључено, асистент је скривен и блокиран за све."
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "Дозвољени приватни AI хостови",
|
||||
"description": "Домаћини на вашој приватној мрежи на које корисници могу усмерити провајдера, као што је самостално хостовани Ollama. Ставите по један хост у сваки ред."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Омогући AI асистент",
|
||||
"description": "Дозволите вештачкој интелигенцији да помогне у терминалу овог хоста. Искључено је подразумевано, а и даље је потребно да вештачка интелигенција буде омогућена за ваш налог."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"stop": "Stop",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"running": "running",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"providerLabel": "Name",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"title": "Асистент",
|
||||
"send": "Пошаљи",
|
||||
"stop": "Заустави",
|
||||
"save": "Сачувај",
|
||||
"cancel": "Откажи",
|
||||
"running": "трчање",
|
||||
"approve": "Одобри",
|
||||
"reject": "Одбиј",
|
||||
"inputPlaceholder": "Питајте о својим серверима или опишите промену коју желите да предложите",
|
||||
"selectProvider": "Изаберите добављача",
|
||||
"providerSettings": "Подешавања добављача",
|
||||
"addProvider": "Додај добављача",
|
||||
"editProvider": "Измени добављача",
|
||||
"removeProvider": "Уклони добављача",
|
||||
"providerType": "Провајдер",
|
||||
"providerLabel": "Име",
|
||||
"providerLabelPlaceholder": "На пример: Локална Олама",
|
||||
"baseUrl": "Адреса сервера",
|
||||
"apiKey": "API кључ",
|
||||
"defaultModel": "Подразумевани модел",
|
||||
"defaultModelPlaceholder": "На пример: llama3.1 или claude-opus-5",
|
||||
"labelRequired": "Дајте име овом добављачу",
|
||||
"providerSaveFailed": "Није могуће сачувати добављача",
|
||||
"providerUpdated": "Провајдер је ажуриран",
|
||||
"providerDeleteFailed": "Није могуће уклонити добављача",
|
||||
"privateEndpointHint": "Адресе на вашој приватној мрежи прво треба да дозволе администратору хоста.",
|
||||
"providerOllama": "Олама",
|
||||
"providerAnthropic": "Антропски",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"toolArguments": "Input",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"runInTerminal": "Run",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"providerGemini": "Гугл Џемини",
|
||||
"providerOpenaiCompatible": "Компатибилно са OpenAI-ом",
|
||||
"toolArguments": "Унос",
|
||||
"toolResult": "Резултат",
|
||||
"statusApplied": "Примењено",
|
||||
"statusRejected": "Одбијено",
|
||||
"proposalApplied": "Промена је примењена",
|
||||
"proposalApplyFailed": "Није могуће применити промену",
|
||||
"proposalRejectFailed": "Није могуће одбити промену",
|
||||
"enableTitle": "Омогућите вештачку интелигенцију (AI) асистента",
|
||||
"enableDescription": "Нека асистент прочита ваша подешавања и предложи измене које ћете одобрити.",
|
||||
"readOnlyCommands": "Дозволи дијагностичке команде само за читање",
|
||||
"readOnlyCommandsDescription": "Асистент може да покрене кратку листу безбедних команди као што су df и uptime без сваког питања. Све што мења сервер се увек прво предлаже.",
|
||||
"modelDetectFailed": "Нисмо могли да контактирамо добављача, тако да је ово општа листа. Можете да унесете било који назив модела.",
|
||||
"modelCustom": "Унесите назив модела",
|
||||
"modelRefresh": "Освежи листу",
|
||||
"modelPlaceholder": "Изаберите или унесите модел",
|
||||
"attachHint": "Унесите @ да бисте референцирали хост, исечак кода или аутоматизацију. Промене се предлажу да бисте их одобрили.",
|
||||
"runCommandTitle": "Покрени команду",
|
||||
"assistant": "АИ асистент",
|
||||
"terminalPanelEmpty": "Питајте асистента о овом домаћину. Све што мења стање прво захтева ваше одобрење.",
|
||||
"terminalPanelPlaceholder": "Питајте о овом домаћину...",
|
||||
"noProvidersConfigured": "Још увек није конфигурисан ниједан добављач вештачке интелигенције. Додајте га на картици помоћника за вештачку интелигенцију.",
|
||||
"runsInOpenTerminal": "Покреће се у вашој отвореној терминалној сесији.",
|
||||
"runInTerminal": "Трчи",
|
||||
"terminalContextPrefill": "Ево мог терминалног излаза:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "Дозволите другим функцијама да користе ваш API кључ добављача вештачке интелигенције за сопствене захтеве. Кључ се никада не копира и можете га опозвати у било ком тренутку."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
"ai": "Вештачка интелигенција"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "Асистент за вештачку интелигенцију",
|
||||
"aiIntro": "Termix може да укључи опционог AI асистента. Ово можете касније променити у подешавањима.",
|
||||
"aiSkipTitle": "Остави то искључено",
|
||||
"aiSkipDesc": "Термикс ради као и сада. Асистент остаје скривен.",
|
||||
"aiEnableTitle": "Укључи га",
|
||||
"aiEnableDesc": "Додаје асистента који чита ваша подешавања и предлаже измене које одобравате. Потребан је добављач кога ви обезбедите, као што је локални Олама.",
|
||||
"aiNote": "Ништа се не шаље нигде док не додате провајдера и не пошаљете поруку."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs"
|
||||
"docsLink": "Прикажи документе"
|
||||
}
|
||||
}
|
||||
@@ -1,119 +1,119 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Använd assistenten",
|
||||
"description": "Öppna assistenten och fråga den saker."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Hantera leverantörer",
|
||||
"description": "Lägg till, redigera och ta bort AI-leverantörerna och deras API-nycklar."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Tillämpa förslag",
|
||||
"description": "Låt assistenten utföra de ändringar den föreslår."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Använd AI från andra funktioner",
|
||||
"description": "Andra funktioner kan ringa assistenten åt dig."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "Dela API-nyckeln",
|
||||
"description": "Andra funktioner kan använda den lagrade AI API-nyckeln utan att se den."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "AI-assistenten är avstängd på den här servern.",
|
||||
"providersNeedOptIn": "Aktivera AI-assistenten ovan för att lägga till leverantörer.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "AI-assistent",
|
||||
"description": "Låt användare aktivera AI-assistenten. Medan detta är avstängt är assistenten dold och blockerad för alla."
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "Tillåtna privata AI-värdar",
|
||||
"description": "Värdar på ditt privata nätverk som användare kan hänvisa en leverantör till, till exempel en självhostad Ollama. Lägg en värd på varje rad."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Aktivera AI-assistenten",
|
||||
"description": "Tillåt AI-assistenten att hjälpa till i den här värdens terminal. Av som standard och kräver fortfarande att AI är aktiverat för ditt konto."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"stop": "Stop",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"running": "running",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"providerLabel": "Name",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"title": "Assistent",
|
||||
"send": "Skicka",
|
||||
"stop": "Stopp",
|
||||
"save": "Spara",
|
||||
"cancel": "Avboka",
|
||||
"running": "spring",
|
||||
"approve": "Godkänna",
|
||||
"reject": "Avvisa",
|
||||
"inputPlaceholder": "Fråga om era servrar, eller beskriv en förändring att föreslå",
|
||||
"selectProvider": "Välj en leverantör",
|
||||
"providerSettings": "Leverantörsinställningar",
|
||||
"addProvider": "Lägg till leverantör",
|
||||
"editProvider": "Redigera leverantör",
|
||||
"removeProvider": "Ta bort leverantör",
|
||||
"providerType": "Leverantör",
|
||||
"providerLabel": "Namn",
|
||||
"providerLabelPlaceholder": "Till exempel: Lokal Ollama",
|
||||
"baseUrl": "Serveradress",
|
||||
"apiKey": "API-nyckel",
|
||||
"defaultModel": "Standardmodell",
|
||||
"defaultModelPlaceholder": "Till exempel: llama3.1 eller claude-opus-5",
|
||||
"labelRequired": "Ge den här leverantören ett namn",
|
||||
"providerSaveFailed": "Kunde inte spara leverantören",
|
||||
"providerUpdated": "Leverantören uppdaterad",
|
||||
"providerDeleteFailed": "Kunde inte ta bort leverantören",
|
||||
"privateEndpointHint": "Adresser i ditt privata nätverk behöver en administratör som först tillåter värden.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerAnthropic": "Antropisk",
|
||||
"providerOpenai": "Öppen AI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"providerOpenaiCompatible": "OpenAI-kompatibel",
|
||||
"toolArguments": "Input",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"runInTerminal": "Run",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"toolResult": "Resultat",
|
||||
"statusApplied": "Tillämpad",
|
||||
"statusRejected": "Avvisad",
|
||||
"proposalApplied": "Ändring tillämpad",
|
||||
"proposalApplyFailed": "Kunde inte tillämpa ändringen",
|
||||
"proposalRejectFailed": "Kunde inte avvisa ändringen",
|
||||
"enableTitle": "Aktivera AI-assistenten",
|
||||
"enableDescription": "Låt assistenten läsa dina inställningar och föreslå ändringar som du kan godkänna.",
|
||||
"readOnlyCommands": "Tillåt skrivskyddade diagnostikkommandon",
|
||||
"readOnlyCommandsDescription": "Assistenten kan köra en kort lista med säkra kommandon som df och uptime utan att fråga varje gång. Allt som ändrar en server föreslås alltid först.",
|
||||
"modelDetectFailed": "Kunde inte nå leverantören, så detta är en allmän lista. Du kan skriva in vilket modellnamn som helst.",
|
||||
"modelCustom": "Ange ett modellnamn",
|
||||
"modelRefresh": "Uppdatera listan",
|
||||
"modelPlaceholder": "Välj eller skriv en modell",
|
||||
"attachHint": "Skriv @ för att referera till en värd, ett kodavsnitt eller en automatisering. Ändringar föreslås för dig att godkänna.",
|
||||
"runCommandTitle": "Kör kommando",
|
||||
"assistant": "AI-assistent",
|
||||
"terminalPanelEmpty": "Fråga assistenten om den här värden. Allt som ändras kräver ditt godkännande först.",
|
||||
"terminalPanelPlaceholder": "Fråga om den här värden...",
|
||||
"noProvidersConfigured": "Ingen AI-leverantör är konfigurerad ännu. Lägg till en på fliken AI-assistent.",
|
||||
"runsInOpenTerminal": "Körs i din öppna terminalsession.",
|
||||
"runInTerminal": "Sikt",
|
||||
"terminalContextPrefill": "Här är min terminalutgång:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "Låt andra funktioner använda din AI-leverantörs API-nyckel för sina egna förfrågningar. Nyckeln kopieras aldrig och du kan återkalla den när som helst."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "AI-assistent",
|
||||
"aiIntro": "Termix kan inkludera en valfri AI-assistent. Du kan ändra detta senare i dina inställningar.",
|
||||
"aiSkipTitle": "Lämna den av",
|
||||
"aiSkipDesc": "Termix fungerar som den gör nu. Assistenten förblir dold.",
|
||||
"aiEnableTitle": "Slå på den",
|
||||
"aiEnableDesc": "Lägger till en assistent som läser din installation och föreslår ändringar som du godkänner. Kräver en leverantör som du tillhandahåller, till exempel en lokal Ollama.",
|
||||
"aiNote": "Ingenting skickas någonstans förrän du lägger till en leverantör och skickar ett meddelande."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs"
|
||||
"docsLink": "Visa dokument"
|
||||
}
|
||||
}
|
||||
@@ -1,119 +1,119 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "ใช้ตัวช่วย",
|
||||
"description": "เปิดผู้ช่วยเสมือนจริงแล้วถามคำถามได้เลย"
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "จัดการผู้ให้บริการ",
|
||||
"description": "เพิ่ม แก้ไข และลบผู้ให้บริการ AI และคีย์ API ของพวกเขา"
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "ยื่นข้อเสนอ",
|
||||
"description": "ให้ผู้ช่วยดำเนินการเปลี่ยนแปลงตามที่ระบบแนะนำ"
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "ใช้ AI จากฟีเจอร์อื่นๆ",
|
||||
"description": "ฟังก์ชันอื่นๆ อาจโทรติดต่อผู้ช่วยในนามของคุณ"
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "แชร์คีย์ API",
|
||||
"description": "ฟังก์ชันอื่นๆ อาจใช้คีย์ API ของ AI ที่บันทึกไว้โดยไม่เห็นคีย์นั้น"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "ระบบผู้ช่วย AI ถูกปิดใช้งานบนเซิร์ฟเวอร์นี้",
|
||||
"providersNeedOptIn": "เปิดใช้งานผู้ช่วย AI ด้านบนเพื่อเพิ่มผู้ให้บริการ",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "ผู้ช่วย AI",
|
||||
"description": "อนุญาตให้ผู้ใช้เปิดใช้งานผู้ช่วย AI ได้ เมื่อปิดใช้งานอยู่ ผู้ช่วยจะถูกซ่อนและบล็อกไม่ให้ใครเห็น"
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "อนุญาตให้โฮสต์ AI ส่วนตัว",
|
||||
"description": "โฮสต์บนเครือข่ายส่วนตัวของคุณที่ผู้ใช้สามารถชี้ไปยังผู้ให้บริการได้ เช่น Ollama ที่ติดตั้งเอง ให้ใส่โฮสต์หนึ่งตัวต่อหนึ่งบรรทัด"
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "เปิดใช้งานผู้ช่วย AI",
|
||||
"description": "อนุญาตให้ผู้ช่วย AI ช่วยเหลือในเทอร์มินัลของโฮสต์นี้ โดยค่าเริ่มต้นจะปิดอยู่ และยังคงต้องเปิดใช้งาน AI สำหรับบัญชีของคุณก่อน"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"stop": "Stop",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"running": "running",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"providerLabel": "Name",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"toolArguments": "Input",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"runInTerminal": "Run",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"title": "ผู้ช่วย",
|
||||
"send": "ส่ง",
|
||||
"stop": "หยุด",
|
||||
"save": "บันทึก",
|
||||
"cancel": "ยกเลิก",
|
||||
"running": "วิ่ง",
|
||||
"approve": "อนุมัติ",
|
||||
"reject": "ปฏิเสธ",
|
||||
"inputPlaceholder": "สอบถามเกี่ยวกับเซิร์ฟเวอร์ของคุณ หรืออธิบายการเปลี่ยนแปลงที่คุณต้องการเสนอแนะ",
|
||||
"selectProvider": "เลือกผู้ให้บริการ",
|
||||
"providerSettings": "การตั้งค่าผู้ให้บริการ",
|
||||
"addProvider": "เพิ่มผู้ให้บริการ",
|
||||
"editProvider": "แก้ไขผู้ให้บริการ",
|
||||
"removeProvider": "ลบผู้ให้บริการ",
|
||||
"providerType": "ผู้ให้บริการ",
|
||||
"providerLabel": "ชื่อ",
|
||||
"providerLabelPlaceholder": "ตัวอย่างเช่น: Ollama ท้องถิ่น",
|
||||
"baseUrl": "ที่อยู่เซิร์ฟเวอร์",
|
||||
"apiKey": "คีย์ API",
|
||||
"defaultModel": "โมเดลเริ่มต้น",
|
||||
"defaultModelPlaceholder": "ตัวอย่างเช่น: llama3.1 หรือ claude-opus-5",
|
||||
"labelRequired": "ตั้งชื่อให้ผู้ให้บริการรายนี้",
|
||||
"providerSaveFailed": "ไม่สามารถบันทึกผู้ให้บริการได้",
|
||||
"providerUpdated": "ผู้ให้บริการได้รับการอัปเดตแล้ว",
|
||||
"providerDeleteFailed": "ไม่สามารถลบผู้ให้บริการได้",
|
||||
"privateEndpointHint": "การเข้าถึงที่อยู่บนเครือข่ายส่วนตัวของคุณนั้น จำเป็นต้องให้ผู้ดูแลระบบอนุญาตก่อน",
|
||||
"providerOllama": "โอลาม่า",
|
||||
"providerAnthropic": "แอนโทรปิก",
|
||||
"providerOpenai": "โอเพ่นไอ",
|
||||
"providerGemini": "กูเกิล เจมินี",
|
||||
"providerOpenaiCompatible": "เข้ากันได้กับ OpenAI",
|
||||
"toolArguments": "ป้อนข้อมูล",
|
||||
"toolResult": "ผลลัพธ์",
|
||||
"statusApplied": "สมัครแล้ว",
|
||||
"statusRejected": "ถูกปฏิเสธ",
|
||||
"proposalApplied": "มีการเปลี่ยนแปลงเกิดขึ้น",
|
||||
"proposalApplyFailed": "ไม่สามารถทำการเปลี่ยนแปลงได้",
|
||||
"proposalRejectFailed": "ไม่สามารถปฏิเสธการเปลี่ยนแปลงได้",
|
||||
"enableTitle": "เปิดใช้งานผู้ช่วย AI",
|
||||
"enableDescription": "ให้ผู้ช่วยอ่านการตั้งค่าของคุณและแนะนำการเปลี่ยนแปลงเพื่อให้คุณอนุมัติ",
|
||||
"readOnlyCommands": "อนุญาตคำสั่งวินิจฉัยแบบอ่านอย่างเดียว",
|
||||
"readOnlyCommandsDescription": "ผู้ช่วยอาจเรียกใช้คำสั่งที่ปลอดภัยเพียงไม่กี่คำสั่ง เช่น df และ uptime โดยไม่ต้องถามทุกครั้ง คำสั่งใดๆ ที่เปลี่ยนแปลงสถานะของเซิร์ฟเวอร์จะถูกเสนอให้ดำเนินการก่อนเสมอ",
|
||||
"modelDetectFailed": "ไม่สามารถติดต่อผู้ให้บริการได้ ดังนั้นนี่จึงเป็นรายการทั่วไป คุณสามารถพิมพ์ชื่อรุ่นใดก็ได้",
|
||||
"modelCustom": "ป้อนชื่อรุ่น",
|
||||
"modelRefresh": "รีเฟรชรายการ",
|
||||
"modelPlaceholder": "เลือกหรือพิมพ์แบบจำลอง",
|
||||
"attachHint": "พิมพ์ @ เพื่ออ้างอิงถึงโฮสต์ สนิปเป็ต หรือระบบอัตโนมัติ การเปลี่ยนแปลงที่เสนอจะถูกนำมาให้คุณอนุมัติ",
|
||||
"runCommandTitle": "เรียกใช้คำสั่ง",
|
||||
"assistant": "ผู้ช่วย AI",
|
||||
"terminalPanelEmpty": "สอบถามผู้ช่วยเกี่ยวกับโฮสต์นี้ การเปลี่ยนแปลงสถานะใดๆ ต้องได้รับการอนุมัติจากคุณก่อน",
|
||||
"terminalPanelPlaceholder": "สอบถามเกี่ยวกับโฮสต์รายนี้...",
|
||||
"noProvidersConfigured": "ยังไม่ได้ตั้งค่าผู้ให้บริการ AI เพิ่มผู้ให้บริการในแท็บผู้ช่วย AI",
|
||||
"runsInOpenTerminal": "ทำงานในเซสชันเทอร์มินัลที่เปิดอยู่ของคุณ",
|
||||
"runInTerminal": "วิ่ง",
|
||||
"terminalContextPrefill": "นี่คือผลลัพธ์จากเทอร์มินัลของฉัน:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "อนุญาตให้ฟีเจอร์อื่นๆ ใช้คีย์ API ของผู้ให้บริการ AI ของคุณสำหรับการร้องขอของตนเอง คีย์นี้จะไม่ถูกคัดลอก และคุณสามารถยกเลิกได้ทุกเมื่อ"
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "ผู้ช่วย AI",
|
||||
"aiIntro": "Termix อาจมีผู้ช่วย AI เสริม คุณสามารถเปลี่ยนการตั้งค่าได้ในภายหลัง",
|
||||
"aiSkipTitle": "ปิดมันไว้",
|
||||
"aiSkipDesc": "Termix ทำงานเหมือนเดิมทุกประการ ตัวช่วยยังคงซ่อนอยู่",
|
||||
"aiEnableTitle": "เปิดใช้งาน",
|
||||
"aiEnableDesc": "เพิ่มผู้ช่วยที่จะอ่านการตั้งค่าของคุณและแนะนำการเปลี่ยนแปลงที่คุณต้องอนุมัติ จำเป็นต้องมีผู้ให้บริการที่คุณจัดหาให้ เช่น Ollama ในพื้นที่ของคุณ",
|
||||
"aiNote": "จะไม่มีการส่งข้อมูลใดๆ จนกว่าคุณจะเพิ่มผู้ให้บริการและส่งข้อความ"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs"
|
||||
"docsLink": "ดูเอกสาร"
|
||||
}
|
||||
}
|
||||
@@ -1,117 +1,117 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Yardımcıyı kullanın",
|
||||
"description": "Asistanı açın ve ona sorular sorun."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Sağlayıcıları yönetin",
|
||||
"description": "Yapay zeka sağlayıcılarını ve API anahtarlarını ekleyin, düzenleyin ve kaldırın."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Tekliflerinizi sunun.",
|
||||
"description": "Yardımcının önerdiği değişiklikleri uygulamasına izin verin."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Diğer özelliklerden yapay zeka kullanın.",
|
||||
"description": "Diğer özellikler sizin adınıza asistanı arayabilir."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "API anahtarını paylaşın",
|
||||
"description": "Diğer özellikler, kaydedilmiş yapay zeka API anahtarını görmeden kullanabilir."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "Bu sunucuda yapay zeka asistanı devre dışı bırakılmıştır.",
|
||||
"providersNeedOptIn": "Sağlayıcı eklemek için yukarıdaki yapay zeka asistanını açın.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "Yapay zeka asistanı",
|
||||
"description": "Kullanıcıların yapay zeka asistanını açmasına izin verin. Bu özellik kapalıyken, asistan gizlenir ve herkes için engellenir."
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "Özel yapay zeka sunucularına izin verildi.",
|
||||
"description": "Kullanıcıların bir sağlayıcıya yönlendirebileceği özel ağınızdaki sunucular (örneğin, kendi sunucunuzda barındırdığınız Ollama). Her satıra bir sunucu yazın."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Yapay Zeka Asistanını Etkinleştir",
|
||||
"description": "Bu sunucunun terminalinde yapay zeka asistanının yardımcı olmasına izin verin. Varsayılan olarak kapalıdır ve hesabınız için yapay zekanın etkinleştirilmiş olması gerekir."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"title": "Asistan",
|
||||
"send": "Göndermek",
|
||||
"stop": "Durdurma",
|
||||
"save": "Kaydet",
|
||||
"cancel": "İptal",
|
||||
"running": "çalışan",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"approve": "Onaylamak",
|
||||
"reject": "Reddetmek",
|
||||
"inputPlaceholder": "Sunucularınız hakkında bilgi isteyin veya önereceğiniz bir değişikliği açıklayın.",
|
||||
"selectProvider": "Bir sağlayıcı seçin",
|
||||
"providerSettings": "Sağlayıcı ayarları",
|
||||
"addProvider": "Sağlayıcı ekle",
|
||||
"editProvider": "Sağlayıcıyı düzenle",
|
||||
"removeProvider": "Sağlayıcıyı kaldır",
|
||||
"providerType": "Sağlayıcı",
|
||||
"providerLabel": "Ad",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerLabelPlaceholder": "Örneğin: Yerel Ollama",
|
||||
"baseUrl": "Sunucu adresi",
|
||||
"apiKey": "API anahtarı",
|
||||
"defaultModel": "Varsayılan model",
|
||||
"defaultModelPlaceholder": "Örneğin: llama3.1 veya claude-opus-5",
|
||||
"labelRequired": "Bu sağlayıcıya bir isim verin.",
|
||||
"providerSaveFailed": "Sağlayıcı kaydedilemedi.",
|
||||
"providerUpdated": "Sağlayıcı güncellendi.",
|
||||
"providerDeleteFailed": "Sağlayıcı kaldırılamadı.",
|
||||
"privateEndpointHint": "Özel ağınızdaki adreslerin kullanılabilmesi için öncelikle yöneticinin sunucuya izin vermesi gerekmektedir.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerAnthropic": "Antropik",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"providerOpenaiCompatible": "OpenAI uyumlu",
|
||||
"toolArguments": "Giriş",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"toolResult": "Sonuç",
|
||||
"statusApplied": "Uygulandı",
|
||||
"statusRejected": "Reddedilmiş",
|
||||
"proposalApplied": "Değişiklik uygulandı.",
|
||||
"proposalApplyFailed": "Değişiklik uygulanamadı.",
|
||||
"proposalRejectFailed": "Değişikliği reddedemedim.",
|
||||
"enableTitle": "Yapay zekâ asistanını etkinleştirin",
|
||||
"enableDescription": "Asistanın ayarlarınızı okumasını ve onaylamanız için değişiklik önerileri sunmasını sağlayın.",
|
||||
"readOnlyCommands": "Yalnızca okuma amaçlı tanı komutlarına izin ver",
|
||||
"readOnlyCommandsDescription": "Yardımcı program, her seferinde sormadan df ve uptime gibi kısa bir güvenli komut listesini çalıştırabilir. Sunucuda değişiklik yapan her şey her zaman önce önerilir.",
|
||||
"modelDetectFailed": "Sağlayıcıya ulaşılamadı, bu nedenle bu genel bir listedir. İstediğiniz model adını yazabilirsiniz.",
|
||||
"modelCustom": "Bir model adı girin",
|
||||
"modelRefresh": "Listeyi yenile",
|
||||
"modelPlaceholder": "Bir model seçin veya yazın.",
|
||||
"attachHint": "Bir sunucuya, kod parçasına veya otomasyona referans vermek için @ işaretini kullanın. Onaylamanız için değişiklikler öneriliyor.",
|
||||
"runCommandTitle": "Çalıştır komutu",
|
||||
"assistant": "Yapay Zeka Asistanı",
|
||||
"terminalPanelEmpty": "Bu ev sahibi hakkında asistana danışın. Durum değişikliği gerektiren her şey önce sizin onayınızı gerektirir.",
|
||||
"terminalPanelPlaceholder": "Bu ev sahibi hakkında bilgi isteyin...",
|
||||
"noProvidersConfigured": "Henüz hiçbir yapay zeka sağlayıcısı yapılandırılmadı. Yapay zeka asistanı sekmesinden bir tane ekleyin.",
|
||||
"runsInOpenTerminal": "Açık terminal oturumunuzda çalışır.",
|
||||
"runInTerminal": "Çalıştır",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"terminalContextPrefill": "İşte terminal çıktım:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "Diğer özelliklerin kendi istekleri için yapay zeka sağlayıcınızın API anahtarını kullanmasına izin verin. Anahtar asla kopyalanmaz ve bunu istediğiniz zaman iptal edebilirsiniz."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
"ai": "Yapay zeka"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "Yapay zeka asistanı",
|
||||
"aiIntro": "Termix isteğe bağlı bir yapay zeka asistanı içerebilir. Bunu daha sonra ayarlarınızdan değiştirebilirsiniz.",
|
||||
"aiSkipTitle": "Kapalı bırakın",
|
||||
"aiSkipDesc": "Termix şu anki haliyle çalışıyor. Asistan gizli kalıyor.",
|
||||
"aiEnableTitle": "Açın",
|
||||
"aiEnableDesc": "Ayarlarınızı okuyan ve onaylamanız halinde değişiklikler öneren bir asistan ekler. Yerel bir Ollama gibi, sizin sağladığınız bir sağlayıcıya ihtiyaç duyar.",
|
||||
"aiNote": "Bir sağlayıcı ekleyip mesaj gönderene kadar hiçbir şey hiçbir yere gönderilmez."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Dokümanları görüntüle"
|
||||
|
||||
@@ -1,119 +1,119 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Використовуйте помічника",
|
||||
"description": "Відкрийте помічника та запитайте його."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Керування постачальниками",
|
||||
"description": "Додавайте, редагуйте та видаляйте постачальників штучного інтелекту та їхні ключі API."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Застосувати пропозиції",
|
||||
"description": "Нехай помічник внесе запропоновані ним зміни."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Використання ШІ з інших функцій",
|
||||
"description": "Інші функції можуть викликати помічника від вашого імені."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "Поділитися ключем API",
|
||||
"description": "Інші функції можуть використовувати збережений ключ API штучного інтелекту, не бачачи його."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "Помічник зі штучним інтелектом вимкнено на цьому сервері.",
|
||||
"providersNeedOptIn": "Увімкніть помічника зі штучним інтелектом вище, щоб додати постачальників.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "Асистент зі штучним інтелектом",
|
||||
"description": "Дозвольте користувачам увімкнути помічника зі штучним інтелектом. Коли це вимкнено, помічник прихований і заблокований для всіх."
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "Дозволені приватні хости ШІ",
|
||||
"description": "Хости у вашій приватній мережі, на які користувачі можуть вказувати провайдера, наприклад, Ollama з власним хостингом. Розмістіть по одному хосту в кожному рядку."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Увімкнути помічника зі штучним інтелектом",
|
||||
"description": "Дозволити помічнику зі штучним інтелектом допомагати в терміналі цього хоста. Вимкнено за замовчуванням, але все одно потребує ввімкнення штучного інтелекту для вашого облікового запису."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"stop": "Stop",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"running": "running",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"providerLabel": "Name",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"title": "Помічник",
|
||||
"send": "Надіслати",
|
||||
"stop": "СТІЙ",
|
||||
"save": "Зберегти",
|
||||
"cancel": "Скасувати",
|
||||
"running": "біг",
|
||||
"approve": "Схвалити",
|
||||
"reject": "Відхилити",
|
||||
"inputPlaceholder": "Запитайте про ваші сервери або опишіть зміну, яку ви хочете запропонувати",
|
||||
"selectProvider": "Виберіть постачальника",
|
||||
"providerSettings": "Налаштування постачальника",
|
||||
"addProvider": "Додати постачальника",
|
||||
"editProvider": "Редагувати постачальника",
|
||||
"removeProvider": "Видалити постачальника",
|
||||
"providerType": "Постачальник",
|
||||
"providerLabel": "Ім'я",
|
||||
"providerLabelPlaceholder": "Наприклад: Місцевий Оллама",
|
||||
"baseUrl": "Адреса сервера",
|
||||
"apiKey": "Ключ API",
|
||||
"defaultModel": "Модель за замовчуванням",
|
||||
"defaultModelPlaceholder": "Наприклад: llama3.1 або claude-opus-5",
|
||||
"labelRequired": "Дайте назву цьому постачальнику",
|
||||
"providerSaveFailed": "Не вдалося зберегти постачальника",
|
||||
"providerUpdated": "Постачальника оновлено",
|
||||
"providerDeleteFailed": "Не вдалося видалити постачальника",
|
||||
"privateEndpointHint": "Адреси у вашій приватній мережі спочатку потребують дозволу адміністратора хоста.",
|
||||
"providerOllama": "Оллама",
|
||||
"providerAnthropic": "Антропний",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"toolArguments": "Input",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"runInTerminal": "Run",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"providerGemini": "Google Близнюки",
|
||||
"providerOpenaiCompatible": "Сумісний з OpenAI",
|
||||
"toolArguments": "Вхід",
|
||||
"toolResult": "Результат",
|
||||
"statusApplied": "Застосовано",
|
||||
"statusRejected": "Відхилено",
|
||||
"proposalApplied": "Зміну застосовано",
|
||||
"proposalApplyFailed": "Не вдалося застосувати зміну",
|
||||
"proposalRejectFailed": "Не вдалося відхилити зміну",
|
||||
"enableTitle": "Увімкнути помічника зі штучним інтелектом",
|
||||
"enableDescription": "Дозвольте асистенту прочитати ваші налаштування та запропонувати зміни для вашого схвалення.",
|
||||
"readOnlyCommands": "Дозволити діагностичні команди лише для читання",
|
||||
"readOnlyCommandsDescription": "Помічник може виконувати короткий список безпечних команд, таких як df та uptime, не запитуючи щоразу. Будь-які зміни на сервері завжди пропонуються першими.",
|
||||
"modelDetectFailed": "Не вдалося зв’язатися з постачальником, тому це загальний список. Ви можете ввести будь-яку назву моделі.",
|
||||
"modelCustom": "Введіть назву моделі",
|
||||
"modelRefresh": "Оновити список",
|
||||
"modelPlaceholder": "Виберіть або введіть модель",
|
||||
"attachHint": "Введіть @, щоб посилатися на хост, фрагмент або автоматизацію. Зміни пропонуються для вашого схвалення.",
|
||||
"runCommandTitle": "Виконати команду",
|
||||
"assistant": "Помічник зі штучним інтелектом",
|
||||
"terminalPanelEmpty": "Запитайте асистента про цього хоста. Будь-яка зміна стану потребує вашого попереднього схвалення.",
|
||||
"terminalPanelPlaceholder": "Запитайте про цього хоста...",
|
||||
"noProvidersConfigured": "Постачальника штучного інтелекту ще не налаштовано. Додайте його на вкладці помічника штучного інтелекту.",
|
||||
"runsInOpenTerminal": "Працює у вашому відкритому термінальному сеансі.",
|
||||
"runInTerminal": "Бігти",
|
||||
"terminalContextPrefill": "Ось мій вивід з терміналу:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "Дозвольте іншим функціям використовувати ваш ключ API постачальника штучного інтелекту для власних запитів. Ключ ніколи не копіюється, і ви можете скасувати його будь-коли."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
"ai": "Штучний інтелект"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "Асистент зі штучним інтелектом",
|
||||
"aiIntro": "Termix може включати додатковий помічник зі штучним інтелектом. Ви можете змінити це пізніше в налаштуваннях.",
|
||||
"aiSkipTitle": "Залиште це вимкненим",
|
||||
"aiSkipDesc": "Termix працює як і зараз. Помічник залишається прихованим.",
|
||||
"aiEnableTitle": "Увімкніть це",
|
||||
"aiEnableDesc": "Додає помічника, який читає ваші налаштування та пропонує зміни, які ви схвалюєте. Потрібен постачальник, якого ви надаєте, наприклад, місцевий Ollama.",
|
||||
"aiNote": "Нічого нікуди не надсилається, доки ви не додасте постачальника та не надішлете повідомлення."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs"
|
||||
"docsLink": "Переглянути документи"
|
||||
}
|
||||
}
|
||||
@@ -1,117 +1,117 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "Sử dụng trợ lý",
|
||||
"description": "Mở trợ lý ảo và hỏi nó những câu hỏi."
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "Quản lý nhà cung cấp",
|
||||
"description": "Thêm, chỉnh sửa và xóa các nhà cung cấp AI và khóa API của họ."
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "Áp dụng các đề xuất",
|
||||
"description": "Hãy để trợ lý thực hiện những thay đổi mà nó đề xuất."
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "Sử dụng trí tuệ nhân tạo từ các tính năng khác",
|
||||
"description": "Các tính năng khác có thể gọi trợ lý ảo thay mặt bạn."
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "Chia sẻ khóa API",
|
||||
"description": "Các tính năng khác có thể sử dụng khóa API AI đã lưu trữ mà không cần nhìn thấy khóa đó."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "Trợ lý AI đã bị tắt trên máy chủ này.",
|
||||
"providersNeedOptIn": "Hãy bật trợ lý AI ở trên để thêm nhà cung cấp.",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "Trợ lý AI",
|
||||
"description": "Cho phép người dùng bật trợ lý AI. Khi chức năng này tắt, trợ lý sẽ bị ẩn và chặn đối với tất cả mọi người."
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "Cho phép máy chủ AI riêng",
|
||||
"description": "Các máy chủ trên mạng riêng của bạn mà người dùng có thể trỏ đến nhà cung cấp, chẳng hạn như Ollama tự lưu trữ. Đặt một máy chủ trên mỗi dòng."
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "Kích hoạt Trợ lý AI",
|
||||
"description": "Cho phép trợ lý AI hỗ trợ trong thiết bị đầu cuối của máy chủ này. Mặc định là tắt, nhưng bạn vẫn cần bật AI cho tài khoản của mình."
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"title": "Trợ lý",
|
||||
"send": "Gửi",
|
||||
"stop": "Bit dừng",
|
||||
"save": "Lưu",
|
||||
"cancel": "Hủy",
|
||||
"running": "đang chạy",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"approve": "Chấp thuận",
|
||||
"reject": "Từ chối",
|
||||
"inputPlaceholder": "Hãy hỏi về máy chủ của bạn, hoặc mô tả một thay đổi mà bạn muốn đề xuất.",
|
||||
"selectProvider": "Chọn nhà cung cấp",
|
||||
"providerSettings": "Cài đặt nhà cung cấp",
|
||||
"addProvider": "Thêm nhà cung cấp",
|
||||
"editProvider": "Chỉnh sửa nhà cung cấp",
|
||||
"removeProvider": "Xóa nhà cung cấp",
|
||||
"providerType": "Nhà cung cấp",
|
||||
"providerLabel": "Tên",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerLabelPlaceholder": "Ví dụ: Ollama địa phương",
|
||||
"baseUrl": "Địa chỉ máy chủ",
|
||||
"apiKey": "Khóa API",
|
||||
"defaultModel": "Mô hình mặc định",
|
||||
"defaultModelPlaceholder": "Ví dụ: llama3.1 hoặc claude-opus-5",
|
||||
"labelRequired": "Đặt tên cho nhà cung cấp này",
|
||||
"providerSaveFailed": "Không thể lưu nhà cung cấp",
|
||||
"providerUpdated": "Nhà cung cấp đã cập nhật",
|
||||
"providerDeleteFailed": "Không thể xóa nhà cung cấp",
|
||||
"privateEndpointHint": "Các địa chỉ trên mạng riêng của bạn cần được quản trị viên cho phép truy cập trước.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerAnthropic": "Nhân loại",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"providerOpenaiCompatible": "Tương thích với OpenAI",
|
||||
"toolArguments": "Nhập",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"toolResult": "Kết quả",
|
||||
"statusApplied": "Đã áp dụng",
|
||||
"statusRejected": "Vật bị loại bỏ",
|
||||
"proposalApplied": "Thay đổi đã được áp dụng",
|
||||
"proposalApplyFailed": "Không thể áp dụng thay đổi",
|
||||
"proposalRejectFailed": "Không thể từ chối thay đổi",
|
||||
"enableTitle": "Kích hoạt trợ lý AI",
|
||||
"enableDescription": "Hãy để trợ lý đọc cấu hình của bạn và đề xuất các thay đổi để bạn phê duyệt.",
|
||||
"readOnlyCommands": "Cho phép các lệnh chẩn đoán chỉ đọc",
|
||||
"readOnlyCommandsDescription": "Trợ lý có thể chạy một danh sách ngắn các lệnh an toàn như df và uptime mà không cần hỏi mỗi lần. Bất kỳ lệnh nào thay đổi máy chủ đều được đề xuất trước tiên.",
|
||||
"modelDetectFailed": "Không thể liên lạc được với nhà cung cấp, vì vậy đây là danh sách chung. Bạn có thể nhập bất kỳ tên mẫu nào.",
|
||||
"modelCustom": "Nhập tên mẫu",
|
||||
"modelRefresh": "Làm mới danh sách",
|
||||
"modelPlaceholder": "Chọn hoặc nhập mô hình",
|
||||
"attachHint": "Nhập @ để tham chiếu đến máy chủ, đoạn mã hoặc quy trình tự động hóa. Các thay đổi được đề xuất để bạn phê duyệt.",
|
||||
"runCommandTitle": "Chạy lệnh",
|
||||
"assistant": "Trợ lý AI",
|
||||
"terminalPanelEmpty": "Hãy hỏi trợ lý về máy chủ này. Bất cứ thay đổi nào về trạng thái đều cần sự chấp thuận của bạn trước.",
|
||||
"terminalPanelPlaceholder": "Hãy hỏi về chủ nhà này...",
|
||||
"noProvidersConfigured": "Chưa có nhà cung cấp AI nào được cấu hình. Hãy thêm một nhà cung cấp trong tab trợ lý AI.",
|
||||
"runsInOpenTerminal": "Chương trình này chạy trong cửa sổ dòng lệnh đang mở của bạn.",
|
||||
"runInTerminal": "Chạy",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"terminalContextPrefill": "Đây là kết quả hiển thị trên terminal của tôi:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "Cho phép các tính năng khác sử dụng khóa API của nhà cung cấp AI của bạn cho các yêu cầu riêng của chúng. Khóa này không bao giờ được sao chép và bạn có thể thu hồi nó bất cứ lúc nào."
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
"ai": "Trí tuệ nhân tạo"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "Trợ lý AI",
|
||||
"aiIntro": "Termix có thể bao gồm trợ lý AI tùy chọn. Bạn có thể thay đổi điều này sau trong phần cài đặt.",
|
||||
"aiSkipTitle": "Đừng làm vậy",
|
||||
"aiSkipDesc": "Termix vẫn hoạt động như hiện tại. Trợ lý ảo vẫn ẩn mình.",
|
||||
"aiEnableTitle": "Bật nó lên",
|
||||
"aiEnableDesc": "Thêm một trợ lý đọc cấu hình của bạn và đề xuất các thay đổi mà bạn chấp thuận. Cần có nhà cung cấp do bạn chỉ định, chẳng hạn như Ollama địa phương.",
|
||||
"aiNote": "Không có dữ liệu nào được gửi đi cho đến khi bạn thêm nhà cung cấp và gửi tin nhắn."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Xem tài liệu"
|
||||
|
||||
@@ -1,117 +1,117 @@
|
||||
{
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use the assistant",
|
||||
"description": "Open the assistant and ask it things."
|
||||
"title": "使用助手",
|
||||
"description": "打開助手並向它提問。"
|
||||
},
|
||||
"manage_providers": {
|
||||
"title": "Manage providers",
|
||||
"description": "Add, edit and remove the AI providers and their API keys."
|
||||
"title": "管理供應商",
|
||||
"description": "新增、編輯和刪除人工智慧提供者及其 API 金鑰。"
|
||||
},
|
||||
"apply_proposals": {
|
||||
"title": "Apply proposals",
|
||||
"description": "Let the assistant carry out the changes it suggests."
|
||||
"title": "提交提案",
|
||||
"description": "讓助手執行它建議的更改。"
|
||||
},
|
||||
"services.use": {
|
||||
"title": "Use AI from other features",
|
||||
"description": "Other features may call the assistant on your behalf."
|
||||
"title": "利用其他功能中的人工智慧",
|
||||
"description": "其他功能可能會代表您呼叫語音助理。"
|
||||
},
|
||||
"secrets.share": {
|
||||
"title": "Share the API key",
|
||||
"description": "Other features may use the stored AI API key without seeing it."
|
||||
"title": "分享 API 金鑰",
|
||||
"description": "其他功能可能會在不查看金鑰的情況下使用已儲存的 AI API 金鑰。"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"assistantUnavailable": "The AI assistant is turned off on this server.",
|
||||
"providersNeedOptIn": "Turn on the AI assistant above to add providers.",
|
||||
"assistantUnavailable": "此伺服器上的AI助理已關閉。",
|
||||
"providersNeedOptIn": "開啟上方的AI助手,即可新增服務提供者。",
|
||||
"admin": {
|
||||
"globallyEnabled": {
|
||||
"label": "AI assistant",
|
||||
"description": "Let users turn on the AI assistant. While this is off, the assistant is hidden and blocked for everyone."
|
||||
"label": "人工智慧助手",
|
||||
"description": "允許用戶開啟AI助理。關閉此功能後,助手將被隱藏,所有用戶均無法存取。"
|
||||
},
|
||||
"privateEndpoints": {
|
||||
"label": "Allowed private AI hosts",
|
||||
"description": "Hosts on your private network that users may point a provider at, such as a self-hosted Ollama. Put one host on each line."
|
||||
"label": "允許的私有人工智慧主機",
|
||||
"description": "使用者可將服務提供者指向的私有網路上的主機,例如自架的 Ollama。每行填寫一個主機。"
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"enableAiAssistant": {
|
||||
"label": "Enable AI Assistant",
|
||||
"description": "Allow the AI assistant to help in this host's terminal. Off by default, and still needs AI enabled for your account."
|
||||
"label": "啟用人工智慧助手",
|
||||
"description": "允許 AI 助理在此主機的終端機上提供協助。預設為關閉狀態,但仍需在您的帳戶中啟用 AI 功能。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"title": "Assistant",
|
||||
"send": "Send",
|
||||
"title": "助理",
|
||||
"send": "傳送",
|
||||
"stop": "停止位元",
|
||||
"save": "儲存",
|
||||
"cancel": "取消",
|
||||
"running": "執行中",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"inputPlaceholder": "Ask about your servers, or describe a change to propose",
|
||||
"selectProvider": "Select a provider",
|
||||
"providerSettings": "Provider settings",
|
||||
"addProvider": "Add provider",
|
||||
"editProvider": "Edit provider",
|
||||
"removeProvider": "Remove provider",
|
||||
"providerType": "Provider",
|
||||
"approve": "核准",
|
||||
"reject": "拒絕",
|
||||
"inputPlaceholder": "詢問伺服器相關情況,或描述要提出的變更建議",
|
||||
"selectProvider": "選擇服務提供者",
|
||||
"providerSettings": "提供者設定",
|
||||
"addProvider": "新增提供者",
|
||||
"editProvider": "編輯提供者",
|
||||
"removeProvider": "移除提供者",
|
||||
"providerType": "提供者",
|
||||
"providerLabel": "名稱",
|
||||
"providerLabelPlaceholder": "For example: Local Ollama",
|
||||
"baseUrl": "Server address",
|
||||
"apiKey": "API key",
|
||||
"defaultModel": "Default model",
|
||||
"defaultModelPlaceholder": "For example: llama3.1 or claude-opus-5",
|
||||
"labelRequired": "Give this provider a name",
|
||||
"providerSaveFailed": "Could not save the provider",
|
||||
"providerUpdated": "Provider updated",
|
||||
"providerDeleteFailed": "Could not remove the provider",
|
||||
"privateEndpointHint": "Addresses on your private network need an administrator to allow the host first.",
|
||||
"providerOllama": "Ollama",
|
||||
"providerAnthropic": "Anthropic",
|
||||
"providerLabelPlaceholder": "例如:本地奧拉馬",
|
||||
"baseUrl": "伺服器位址",
|
||||
"apiKey": "API金鑰",
|
||||
"defaultModel": "預設模型",
|
||||
"defaultModelPlaceholder": "例如:llama3.1 或 claude-opus-5",
|
||||
"labelRequired": "給這家服務提供者取個名字",
|
||||
"providerSaveFailed": "無法儲存提供者",
|
||||
"providerUpdated": "提供者已更新",
|
||||
"providerDeleteFailed": "無法移除提供者",
|
||||
"privateEndpointHint": "您私有網路上的位址需要管理員先允許主機存取。",
|
||||
"providerOllama": "奧拉瑪",
|
||||
"providerAnthropic": "人類學",
|
||||
"providerOpenai": "OpenAI",
|
||||
"providerGemini": "Google Gemini",
|
||||
"providerOpenaiCompatible": "OpenAI compatible",
|
||||
"providerOpenaiCompatible": "相容 OpenAI",
|
||||
"toolArguments": "輸入",
|
||||
"toolResult": "Result",
|
||||
"statusApplied": "Applied",
|
||||
"statusRejected": "Rejected",
|
||||
"proposalApplied": "Change applied",
|
||||
"proposalApplyFailed": "Could not apply the change",
|
||||
"proposalRejectFailed": "Could not reject the change",
|
||||
"enableTitle": "Enable the AI assistant",
|
||||
"enableDescription": "Let the assistant read your setup and suggest changes for you to approve.",
|
||||
"readOnlyCommands": "Allow read-only diagnostic commands",
|
||||
"readOnlyCommandsDescription": "The assistant may run a short list of safe commands like df and uptime without asking each time. Anything that changes a server is always proposed first.",
|
||||
"modelDetectFailed": "Could not reach the provider, so this is a general list. You can type any model name.",
|
||||
"modelCustom": "Enter a model name",
|
||||
"modelRefresh": "Refresh list",
|
||||
"modelPlaceholder": "Choose or type a model",
|
||||
"attachHint": "Type @ to reference a host, snippet or automation. Changes are proposed for you to approve.",
|
||||
"runCommandTitle": "Run command",
|
||||
"assistant": "AI Assistant",
|
||||
"terminalPanelEmpty": "Ask the assistant about this host. Anything that changes state needs your approval first.",
|
||||
"terminalPanelPlaceholder": "Ask about this host...",
|
||||
"noProvidersConfigured": "No AI provider is configured yet. Add one in the AI assistant tab.",
|
||||
"runsInOpenTerminal": "Runs in your open terminal session.",
|
||||
"toolResult": "結果",
|
||||
"statusApplied": "應用",
|
||||
"statusRejected": "已拒絕",
|
||||
"proposalApplied": "變更已生效",
|
||||
"proposalApplyFailed": "無法套用變更",
|
||||
"proposalRejectFailed": "無法拒絕更改",
|
||||
"enableTitle": "啟用人工智慧助手",
|
||||
"enableDescription": "請助手讀取您的設定並提出更改建議,供您批准。",
|
||||
"readOnlyCommands": "允許只讀診斷命令",
|
||||
"readOnlyCommandsDescription": "助手可能會在不每次都詢問的情況下執行一些安全的命令,例如 `df` 和 `uptime`。任何會更改伺服器的操作都會優先被提出。",
|
||||
"modelDetectFailed": "無法聯繫到供應商,所以這裡提供的是通用清單。您可以輸入任何型號名稱。",
|
||||
"modelCustom": "請輸入型號名稱",
|
||||
"modelRefresh": "重新整理清單",
|
||||
"modelPlaceholder": "選擇或輸入型號",
|
||||
"attachHint": "輸入 @ 符號可引用主機、程式碼片段或自動化流程。系統會提出更改建議,供您批准。",
|
||||
"runCommandTitle": "運行命令",
|
||||
"assistant": "人工智慧助手",
|
||||
"terminalPanelEmpty": "向助理詢問有關此房東的資訊。任何狀態變更都需要您先批准。",
|
||||
"terminalPanelPlaceholder": "詢問一下這位房東的狀況…",
|
||||
"noProvidersConfigured": "尚未配置任何 AI 提供者。請在 AI 助理標籤中新增。",
|
||||
"runsInOpenTerminal": "在開啟的終端機會話中運行。",
|
||||
"runInTerminal": "執行",
|
||||
"terminalContextPrefill": "Here is my terminal output:\n\n{{output}}\n\n",
|
||||
"terminalContextPrefill": "以下是我的終端輸出:\n\n{{output}}\n\n",
|
||||
"secrets": {
|
||||
"shareApiKey": "Let other features use your AI provider API key for their own requests. The key is never copied, and you can revoke this at any time."
|
||||
"shareApiKey": "允許其他功能使用您的 AI 提供者 API 金鑰發出各自的請求。該密鑰絕不會被複製,您可以隨時撤銷此授權。"
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"ai": "AI"
|
||||
"ai": "人工智慧"
|
||||
},
|
||||
"onboarding": {
|
||||
"aiTitle": "AI assistant",
|
||||
"aiIntro": "Termix can include an optional AI assistant. You can change this later in your settings.",
|
||||
"aiSkipTitle": "Leave it off",
|
||||
"aiSkipDesc": "Termix works as it does now. The assistant stays hidden.",
|
||||
"aiEnableTitle": "Turn it on",
|
||||
"aiEnableDesc": "Adds an assistant that reads your setup and suggests changes you approve. Needs a provider you supply, such as a local Ollama.",
|
||||
"aiNote": "Nothing is sent anywhere until you add a provider and send a message."
|
||||
"aiTitle": "人工智慧助手",
|
||||
"aiIntro": "Termix 可以包含一個可選的 AI 助手。您可以稍後在設定中變更此選項。",
|
||||
"aiSkipTitle": "丟開",
|
||||
"aiSkipDesc": "Termix 的運作方式與現在相同。助手保持隱藏狀態。",
|
||||
"aiEnableTitle": "打開它",
|
||||
"aiEnableDesc": "添加一個助手,它可以讀取您的設定並提出您批准的更改建議。需要您提供服務提供者,例如當地的 Ollama 服務提供者。",
|
||||
"aiNote": "在您新增服務提供者並發送訊息之前,任何內容都不會發送到任何地方。"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "檢視文件"
|
||||
|
||||
@@ -1,172 +1,172 @@
|
||||
{
|
||||
"nav": {
|
||||
"alerts": "Alerts"
|
||||
"alerts": "সতর্কতা"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "সতর্কতা ব্যবহার করুন",
|
||||
"description": "ইনবক্সে অ্যালার্ট পান এবং সেগুলো আপনার নিজের চ্যানেলগুলোতে পাঠান।"
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Alerts",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"feature": "সতর্কতা",
|
||||
"featureDesc": "সব অ্যালার্ট একটি ইনবক্সেই থাকবে, যা আপনি চাইলে ডিসকর্ড, এনটিএফওয়াই, ইমেল বা ওয়েবহুকে পাঠাতে পারবেন।"
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
"general": "General",
|
||||
"email": "Email"
|
||||
"general": "সাধারণ",
|
||||
"email": "ইমেল"
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "টারমিক্স ঘোষণা",
|
||||
"description": "টারমিক্স টিমের পক্ষ থেকে নিরাপত্তা বিজ্ঞপ্তি এবং নতুন রিলিজের মতো খবরগুলো সবার ইনবক্সে দেখান।"
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "(দিন) পর্যন্ত সতর্কতা চালু রাখুন",
|
||||
"description": "প্রতিটি ইনবক্স থেকে পুরোনো অ্যালার্টগুলো মুছে ফেলা হয়।"
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "SMTP সার্ভার",
|
||||
"description": "ইমেল চ্যানেলের জন্য প্রয়োজন। ইমেল বন্ধ করতে খালি রাখুন।",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "SMTP পোর্ট",
|
||||
"description": "সাধারণত STARTTLS সহ 587 অথবা TLS সহ 465।"
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "শুরু থেকেই TLS ব্যবহার করুন",
|
||||
"description": "পোর্ট ৪৬৫-এর জন্য চালু করুন। ৫৮৭-এর জন্য বন্ধ রাখুন, যেটি নিজে থেকেই TLS-এ আপগ্রেড হয়ে যায়।"
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "SMTP ব্যবহারকারীর নাম",
|
||||
"description": "সার্ভারে লগইন করার প্রয়োজন না হলে এই স্থানটি খালি রাখুন।"
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "SMTP পাসওয়ার্ড",
|
||||
"description": "এনক্রিপ্ট করে সংরক্ষণ করা হয়েছে।"
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
"label": "ঠিকানা থেকে",
|
||||
"description": "প্রেরকের কাছ থেকে সতর্কতাগুলো আসে।",
|
||||
"placeholder": "টারমিক্স <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"off": "None"
|
||||
"label": "সতর্কতা পপআপ",
|
||||
"description": "আপনি Termix ব্যবহার করার সময় কোন নতুন অ্যালার্টগুলো আসে? সেগুলো সবসময় ইনবক্সে আসে।",
|
||||
"all": "সমস্ত সতর্কতা",
|
||||
"warning": "সতর্কতা এবং সমালোচনামূলক",
|
||||
"critical": "শুধুমাত্র সমালোচনামূলক",
|
||||
"off": "কোনোটিই না"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"channels": "Channels",
|
||||
"rules": "Delivery rules"
|
||||
"inbox": "ইনবক্স",
|
||||
"channels": "চ্যানেল",
|
||||
"rules": "ডেলিভারি নিয়মাবলী"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Info",
|
||||
"success": "Success",
|
||||
"warning": "Warning",
|
||||
"critical": "Critical"
|
||||
"info": "তথ্য",
|
||||
"success": "সাফল্য",
|
||||
"warning": "সতর্কতা",
|
||||
"critical": "সমালোচনামূলক"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Open",
|
||||
"view": "View",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"delete": "Delete",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"filterAll": "All",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"sourceTermix": "টার্মিক্স",
|
||||
"openLink": "খোলা",
|
||||
"view": "দেখুন",
|
||||
"unread": "অপঠিত",
|
||||
"deliveryFailed_one": "{{count}} চ্যানেল ব্যর্থ হয়েছে",
|
||||
"deliveryFailed_other": "{{count}} চ্যানেল ব্যর্থ হয়েছে",
|
||||
"markRead": "পঠিত হিসেবে চিহ্নিত করুন",
|
||||
"markUnread": "অপঠিত হিসাবে চিহ্নিত করুন",
|
||||
"markAllRead": "সবগুলো পঠিত হিসেবে চিহ্নিত করুন।",
|
||||
"delete": "মুছে ফেলুন",
|
||||
"clearRead": "পঠিত সতর্কতাগুলি মুছুন",
|
||||
"cleared_one": "{{count}} সতর্কতা মুছে ফেলা হয়েছে",
|
||||
"cleared_other": "মুছে ফেলা {{count}} সতর্কতা",
|
||||
"filterAll": "সব",
|
||||
"filterUnread": "অপঠিত",
|
||||
"anySeverity": "যেকোনো তীব্রতা",
|
||||
"anySource": "যেকোনো উৎস",
|
||||
"openAll": "একটি ট্যাবে খুলুন",
|
||||
"empty": "এখনো কোনো সতর্কতা আসেনি।",
|
||||
"emptyUnread": "আপনি সবকিছু জেনে গেছেন।",
|
||||
"loadMore": "আরও লোড করুন"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"enabled": "Enabled",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"type": "Type",
|
||||
"intro": "চ্যানেল হলো এমন জায়গা যেখানে অ্যালার্টগুলো টারমিক্সের বাইরে যেতে পারে। ডেলিভারি রুলগুলো নির্ধারণ করে কোন অ্যালার্টগুলো সেখানে ব্যবহৃত হবে।",
|
||||
"add": "চ্যানেল যোগ করুন",
|
||||
"edit": "চ্যানেল সম্পাদনা করুন",
|
||||
"test": "একটি পরীক্ষা পাঠান",
|
||||
"testSent": "পরীক্ষার সতর্কতা পাঠানো হয়েছে",
|
||||
"testFailed": "পরীক্ষা ব্যর্থ হয়েছে: {{error}}",
|
||||
"deleteConfirm": "\"{{name}} \" চ্যানেলটি মুছে ফেলবেন?",
|
||||
"deleted": "চ্যানেল মুছে ফেলা হয়েছে",
|
||||
"empty": "এখনো কোনো চ্যানেল নেই।",
|
||||
"enabled": "সক্ষম করা হয়েছে",
|
||||
"needsSave": "পাঠানোর আগে এই চ্যানেলটি আবার খুলতে ও সংরক্ষণ করতে হবে।",
|
||||
"name": "নাম",
|
||||
"nameRequired": "নাম আবশ্যক",
|
||||
"type": "প্রকার",
|
||||
"types": {
|
||||
"webhook": "Webhook",
|
||||
"ntfy": "ntfy",
|
||||
"discord": "Discord",
|
||||
"email": "Email"
|
||||
"webhook": "ওয়েবহুক",
|
||||
"ntfy": "এনটিএফওয়াই",
|
||||
"discord": "ডিসকর্ড",
|
||||
"email": "ইমেল"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"ntfyServer": "Server URL",
|
||||
"ntfyTopic": "Topic",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"emailUnavailable": "ইমেইলের জন্য একটি SMTP সার্ভার প্রয়োজন, যা অ্যাডমিন অ্যালার্ট সেটিংসে সেট আপ করেন।",
|
||||
"webhookUrl": "ইউআরএল",
|
||||
"webhookHint": "প্রতিটি অ্যালার্টের জন্য একটি JSON বডি পাওয়া যায়।",
|
||||
"method": "পদ্ধতি",
|
||||
"headers": "হেডার",
|
||||
"headersHint": "প্রতি লাইনে একটি করে, যেমন নাম: মান।",
|
||||
"ntfyServer": "সার্ভার ইউআরএল",
|
||||
"ntfyTopic": "বিষয়",
|
||||
"ntfyToken": "প্রবেশ টোকেন (ঐচ্ছিক)",
|
||||
"discordUrl": "ডিসকর্ড ওয়েবহুক ইউআরএল",
|
||||
"discordHint": "ডিসকর্ডে চ্যানেলের সেটিংস থেকে, ইন্টিগ্রেশনস-এর অধীনে।",
|
||||
"discordUsername": "প্রদর্শনের নাম (ঐচ্ছিক)",
|
||||
"discordAvatar": "অবতার ইউআরএল (ঐচ্ছিক)",
|
||||
"emailTo": "পাঠান",
|
||||
"emailHint": "একাধিক ঠিকানা কমা দিয়ে আলাদা করুন।",
|
||||
"privateNetwork": "একটি ব্যক্তিগত নেটওয়ার্ক ঠিকানা অনুমোদন করুন",
|
||||
"privateNetworkHint": "এটি শুধুমাত্র সেইসব হোস্টের ক্ষেত্রেই কাজ করে, যেগুলোকে অ্যাডমিন তার প্রাইভেট এন্ডপয়েন্ট তালিকায় অনুমোদন দেয়।"
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"enabled": "Enabled",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"intro": "একটি ডেলিভারি রুল আপনার চ্যানেলগুলিতে প্রাসঙ্গিক অ্যালার্ট পাঠায়। অ্যালার্টগুলো সবসময় ইনবক্সেও থেকে যায়।",
|
||||
"add": "নিয়ম যোগ করুন",
|
||||
"edit": "নিয়ম সম্পাদনা করুন",
|
||||
"empty": "এখনো কোনো নিয়ম তৈরি হয়নি, তাই অ্যালার্টগুলো শুধু ইনবক্সেই দেখা যায়।",
|
||||
"needChannel": "প্রথমে একটি চ্যানেল যোগ করুন।",
|
||||
"enabled": "সক্ষম করা হয়েছে",
|
||||
"name": "নাম",
|
||||
"nameRequired": "নাম আবশ্যক",
|
||||
"match": "পাঠানোর জন্য সতর্কতা",
|
||||
"matchHint": "সবকিছুর জন্য, অটোমেশন। অটোমেশন থেকে প্রাপ্ত সবকিছুর জন্য, অথবা ঠিক এক ধরনের।",
|
||||
"minSeverity": "অন্তত",
|
||||
"channels": "পাঠান",
|
||||
"channelRequired": "অন্তত একটি চ্যানেল বেছে নিন",
|
||||
"deleteConfirm": "\"{{name}} \" নিয়মটি মুছে ফেলুন?",
|
||||
"everything": "সবকিছু",
|
||||
"summary": "{{match}}, {{severity}} বা তার বেশি, থেকে {{channels}} পর্যন্ত"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Cancel",
|
||||
"save": "Save",
|
||||
"saving": "Saving...",
|
||||
"delete": "Delete"
|
||||
"cancel": "বাতিল করুন",
|
||||
"save": "সংরক্ষণ করুন",
|
||||
"saving": "সঞ্চয়...",
|
||||
"delete": "মুছে ফেলুন"
|
||||
},
|
||||
"widget": {
|
||||
"name": "Alert Feed",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"allClear": "All clear",
|
||||
"loading": "Loading..."
|
||||
"name": "সতর্কতা ফিড",
|
||||
"description": "আপনার সর্বশেষ অ্যালার্টগুলো, এবং সেগুলোকে পঠিত হিসেবে চিহ্নিত করার একটি দ্রুত উপায়।",
|
||||
"maxItems": "সর্বোচ্চ আইটেম",
|
||||
"showRead": "পঠিত সতর্কতা দেখান",
|
||||
"allClear": "সব পরিষ্কার",
|
||||
"loading": "লোড হচ্ছে..."
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,13 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "अलर्ट का उपयोग करें",
|
||||
"description": "इनबॉक्स में अलर्ट प्राप्त करें और उन्हें अपने चैनलों पर भेजें।"
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "अलर्ट",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"featureDesc": "सभी अलर्ट एक ही इनबॉक्स में, और यदि आप चाहें तो उन्हें डिस्कोर्ड, एनटीएफआई, ईमेल या वेबहुक पर भेजा जा सकता है।"
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
@@ -19,141 +19,141 @@
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "टर्मिक्स की घोषणाएँ",
|
||||
"description": "टर्मिक्स टीम से संबंधित समाचार, जैसे कि सुरक्षा संबंधी सूचनाएं और विज्ञप्तियां, सभी के इनबॉक्स में दिखाएं।"
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "(दिनों) के लिए अलर्ट चालू रखें",
|
||||
"description": "सभी इनबॉक्स से पुराने अलर्ट हटा दिए जाते हैं।"
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "एसएमटीपी सर्वर",
|
||||
"description": "ईमेल चैनलों के लिए आवश्यक। ईमेल बंद करने के लिए इसे खाली छोड़ दें।",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "एसएमटीपी पोर्ट",
|
||||
"description": "आमतौर पर STARTTLS के साथ 587 या TLS के साथ 465 का उपयोग किया जाता है।"
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "शुरुआत से ही TLS का उपयोग करें",
|
||||
"description": "पोर्ट 465 के लिए इसे चालू करें। पोर्ट 587 के लिए इसे बंद रखें, क्योंकि यह अपने आप TLS में अपग्रेड हो जाता है।"
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "एसएमटीपी उपयोगकर्ता नाम",
|
||||
"description": "यदि सर्वर को लॉगिन की आवश्यकता नहीं है तो इसे खाली छोड़ दें।"
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "एसएमटीपी पासवर्ड",
|
||||
"description": "एन्क्रिप्टेड रूप में संग्रहीत।"
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
"label": "इस पते से",
|
||||
"description": "प्रेषक अलर्ट कहाँ से आते हैं?",
|
||||
"placeholder": "टर्मिक्स <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"label": "अलर्ट पॉपअप",
|
||||
"description": "टर्मिक्स का उपयोग करते समय कौन-कौन से नए अलर्ट आते हैं? वे हमेशा आपके इनबॉक्स में आते हैं।",
|
||||
"all": "सभी अलर्ट",
|
||||
"warning": "चेतावनी और महत्वपूर्ण",
|
||||
"critical": "केवल महत्वपूर्ण",
|
||||
"off": "कोई नहीं"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"inbox": "इनबॉक्स",
|
||||
"channels": "चैनल",
|
||||
"rules": "Delivery rules"
|
||||
"rules": "डिलीवरी नियम"
|
||||
},
|
||||
"severity": {
|
||||
"info": "जानकारी",
|
||||
"success": "सफल",
|
||||
"warning": "चेतावनी",
|
||||
"critical": "Critical"
|
||||
"critical": "गंभीर"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "खोलें",
|
||||
"view": "देखें",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"unread": "अपठित ग",
|
||||
"deliveryFailed_one": "{{count}} चैनल विफल हो गया",
|
||||
"deliveryFailed_other": "{{count}} चैनल विफल हो गए",
|
||||
"markRead": "पढ़े हुए का चिह्न",
|
||||
"markUnread": "अपठित के रूप में चिह्नित करें",
|
||||
"markAllRead": "सभी को पढ़ा हुआ मार्क करें",
|
||||
"delete": "हटाएँ",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"clearRead": "पढ़े गए अलर्ट हटाएं",
|
||||
"cleared_one": "अलर्ट हटा दिया गया {{count}}",
|
||||
"cleared_other": "हटाए गए {{count}} अलर्ट",
|
||||
"filterAll": "सभी",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"filterUnread": "अपठित ग",
|
||||
"anySeverity": "किसी भी गंभीरता",
|
||||
"anySource": "कोई भी स्रोत",
|
||||
"openAll": "एक टैब में खोलें",
|
||||
"empty": "अभी तक कोई अलर्ट नहीं है।",
|
||||
"emptyUnread": "आप सभी अपडेट्स से अवगत हैं।",
|
||||
"loadMore": "और लोड करें"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"intro": "चैनल वो जगह हैं जहां अलर्ट टर्मिक्स से बाहर जा सकते हैं। डिलीवरी नियम तय करते हैं कि कौन से अलर्ट इनका उपयोग करेंगे।",
|
||||
"add": "चैनल जोड़ें",
|
||||
"edit": "चैनल संपादित करें",
|
||||
"test": "टेस्ट भेजें",
|
||||
"testSent": "परीक्षण अलर्ट भेजा गया",
|
||||
"testFailed": "परीक्षण विफल: {{error}}",
|
||||
"deleteConfirm": "चैनल \"{{name}} \" को हटा दें?",
|
||||
"deleted": "चैनल हटा दिया गया",
|
||||
"empty": "अभी तक कोई चैनल उपलब्ध नहीं हैं।",
|
||||
"enabled": "सक्षम",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"needsSave": "भेजने से पहले इस चैनल को दोबारा खोलकर सेव करना होगा।",
|
||||
"name": "नाम",
|
||||
"nameRequired": "नाम आवश्यक है",
|
||||
"type": "प्रकार",
|
||||
"types": {
|
||||
"webhook": "Webhook",
|
||||
"webhook": "WEbhook",
|
||||
"ntfy": "ntfy",
|
||||
"discord": "Discord",
|
||||
"email": "ईमेल"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "ईमेल के लिए एक SMTP सर्वर की आवश्यकता होती है, जिसे एडमिन अलर्ट सेटिंग्स में सेट करता है।",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"webhookHint": "प्रत्येक अलर्ट के लिए एक JSON बॉडी प्राप्त करता है।",
|
||||
"method": "तरीका",
|
||||
"headers": "हेडर",
|
||||
"headersHint": "एक पंक्ति में एक, जैसे नाम: मान।",
|
||||
"ntfyServer": "सर्वर URL",
|
||||
"ntfyTopic": "विषय",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"ntfyToken": "एक्सेस टोकन (वैकल्पिक)",
|
||||
"discordUrl": "डिस्कॉर्ड वेबहुक यूआरएल",
|
||||
"discordHint": "डिस्कोर्ड में चैनल की सेटिंग में, इंटीग्रेशन के अंतर्गत।",
|
||||
"discordUsername": "प्रदर्शन नाम (वैकल्पिक)",
|
||||
"discordAvatar": "अवतार यूआरएल (वैकल्पिक)",
|
||||
"emailTo": "भेजना",
|
||||
"emailHint": "एक से अधिक पतों को अल्पविराम से अलग करें।",
|
||||
"privateNetwork": "एक निजी नेटवर्क पते की अनुमति दें",
|
||||
"privateNetworkHint": "यह सुविधा केवल उन होस्ट्स के लिए काम करती है जिन्हें एडमिन निजी एंडपॉइंट सूची में शामिल करने की अनुमति देता है।"
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"intro": "एक डिलीवरी नियम आपके चैनलों पर मिलान करने वाले अलर्ट भेजता है। अलर्ट हमेशा आपके इनबॉक्स में भी रहते हैं।",
|
||||
"add": "नियम जोड़ें",
|
||||
"edit": "नियम संपादित करें",
|
||||
"empty": "अभी तक कोई नियम नहीं बने हैं, इसलिए अलर्ट केवल इनबॉक्स में ही दिखाई देंगे।",
|
||||
"needChannel": "पहले एक चैनल जोड़ें।",
|
||||
"enabled": "सक्षम",
|
||||
"name": "नाम",
|
||||
"nameRequired": "नाम आवश्यक है",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"match": "भेजे जाने वाले अलर्ट",
|
||||
"matchHint": "* हर चीज के लिए, स्वचालन। * स्वचालन से लेकर हर चीज के लिए, या एक सटीक प्रकार के लिए।",
|
||||
"minSeverity": "कम से कम",
|
||||
"channels": "भेजना",
|
||||
"channelRequired": "कम से कम एक चैनल चुनें",
|
||||
"deleteConfirm": "क्या नियम \"{{name}} \" को हटा दें?",
|
||||
"everything": "सब कुछ",
|
||||
"summary": "{{match}}, {{severity}} या इससे अधिक, से {{channels}} तक"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "रद्द करें",
|
||||
@@ -163,9 +163,9 @@
|
||||
},
|
||||
"widget": {
|
||||
"name": "अलर्ट फीड",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"description": "आपके नवीनतम अलर्ट, जिन्हें आप आसानी से पढ़ सकते हैं।",
|
||||
"maxItems": "अधिकतम आइटम",
|
||||
"showRead": "पढ़े जाने के अलर्ट दिखाएँ",
|
||||
"allClear": "सब ठीक है",
|
||||
"loading": "लोड हो रहा है..."
|
||||
}
|
||||
|
||||
@@ -1,172 +1,172 @@
|
||||
{
|
||||
"nav": {
|
||||
"alerts": "Alerts"
|
||||
"alerts": "Peringatan"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Gunakan peringatan",
|
||||
"description": "Dapatkan notifikasi di kotak masuk dan kirimkan ke saluran Anda sendiri."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Alerts",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"feature": "Peringatan",
|
||||
"featureDesc": "Semua notifikasi dalam satu kotak masuk, yang kemudian dikirim ke Discord, ntfy, email, atau webhook jika Anda mau."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
"general": "General",
|
||||
"email": "Email"
|
||||
"general": "Umum",
|
||||
"email": "E-mail"
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Pengumuman Termix",
|
||||
"description": "Tampilkan berita dari tim Termix, seperti pemberitahuan keamanan dan rilis, di kotak masuk setiap orang."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Aktifkan peringatan selama (hari)",
|
||||
"description": "Notifikasi lama dihapus dari setiap kotak masuk."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "Server SMTP",
|
||||
"description": "Diperlukan untuk saluran email. Biarkan kosong untuk menonaktifkan email.",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "Port SMTP",
|
||||
"description": "Biasanya 587 dengan STARTTLS atau 465 dengan TLS."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "Gunakan TLS sejak awal.",
|
||||
"description": "Aktifkan untuk port 465. Biarkan nonaktif untuk port 587, yang akan secara otomatis diupgrade ke TLS."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "Nama pengguna SMTP",
|
||||
"description": "Biarkan kosong jika server tidak memerlukan login."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "Kata sandi SMTP",
|
||||
"description": "Disimpan dalam keadaan terenkripsi."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"label": "Dari alamat",
|
||||
"description": "Peringatan pengirim berasal dari.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"off": "None"
|
||||
"label": "Popup peringatan",
|
||||
"description": "Notifikasi baru apa saja yang muncul saat Anda menggunakan Termix? Notifikasi tersebut selalu masuk ke kotak masuk Anda.",
|
||||
"all": "Semua peringatan",
|
||||
"warning": "Peringatan dan hal-hal penting",
|
||||
"critical": "Kritik saja",
|
||||
"off": "Tidak ada"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"channels": "Channels",
|
||||
"rules": "Delivery rules"
|
||||
"inbox": "Kotak Masuk",
|
||||
"channels": "Saluran",
|
||||
"rules": "Aturan pengiriman"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Info",
|
||||
"success": "Success",
|
||||
"warning": "Warning",
|
||||
"critical": "Critical"
|
||||
"info": "Informasi",
|
||||
"success": "Kesuksesan",
|
||||
"warning": "Peringatan",
|
||||
"critical": "Kritis"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Open",
|
||||
"view": "View",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"delete": "Delete",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"filterAll": "All",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"openLink": "Membuka",
|
||||
"view": "Melihat",
|
||||
"unread": "Belum dibaca",
|
||||
"deliveryFailed_one": "{{count}} saluran gagal",
|
||||
"deliveryFailed_other": "{{count}} saluran gagal",
|
||||
"markRead": "Tandai sebagai sudah dibaca",
|
||||
"markUnread": "Tandai sebagai belum dibaca",
|
||||
"markAllRead": "Tandai semua sebagai sudah dibaca",
|
||||
"delete": "Menghapus",
|
||||
"clearRead": "Hapus notifikasi baca",
|
||||
"cleared_one": "Peringatan {{count}} dihapus",
|
||||
"cleared_other": "Peringatan {{count}} dihapus",
|
||||
"filterAll": "Semua",
|
||||
"filterUnread": "Belum dibaca",
|
||||
"anySeverity": "Tingkat keparahan apa pun",
|
||||
"anySource": "Sumber apa pun",
|
||||
"openAll": "Buka di tab",
|
||||
"empty": "Belum ada peringatan.",
|
||||
"emptyUnread": "Anda sudah mengetahui semuanya.",
|
||||
"loadMore": "Muat lebih banyak"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"enabled": "Enabled",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"type": "Type",
|
||||
"intro": "Saluran adalah tempat peringatan dapat dikirim ke luar Termix. Aturan pengiriman memilih peringatan mana yang akan menggunakannya.",
|
||||
"add": "Tambahkan saluran",
|
||||
"edit": "Edit saluran",
|
||||
"test": "Kirim tes",
|
||||
"testSent": "Peringatan uji coba terkirim",
|
||||
"testFailed": "Tes gagal: {{error}}",
|
||||
"deleteConfirm": "Hapus saluran \"{{name}}\"?",
|
||||
"deleted": "Saluran dihapus",
|
||||
"empty": "Belum ada saluran.",
|
||||
"enabled": "Diaktifkan",
|
||||
"needsSave": "Saluran ini perlu dibuka dan disimpan kembali sebelum dapat mengirim data.",
|
||||
"name": "Nama",
|
||||
"nameRequired": "Nama wajib diisi.",
|
||||
"type": "Jenis",
|
||||
"types": {
|
||||
"webhook": "Webhook",
|
||||
"ntfy": "ntfy",
|
||||
"discord": "Discord",
|
||||
"email": "Email"
|
||||
"discord": "Perselisihan",
|
||||
"email": "E-mail"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "Email memerlukan server SMTP, yang diatur oleh administrator di pengaturan Notifikasi.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"ntfyServer": "Server URL",
|
||||
"ntfyTopic": "Topic",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"webhookHint": "Menerima isi JSON untuk setiap peringatan.",
|
||||
"method": "Metode",
|
||||
"headers": "Judul",
|
||||
"headersHint": "Satu per baris, seperti Nama: nilai.",
|
||||
"ntfyServer": "URL Server",
|
||||
"ntfyTopic": "Topik",
|
||||
"ntfyToken": "Token akses (opsional)",
|
||||
"discordUrl": "URL webhook Discord",
|
||||
"discordHint": "Dari pengaturan saluran di Discord, di bawah Integrasi.",
|
||||
"discordUsername": "Nama tampilan (opsional)",
|
||||
"discordAvatar": "URL Avatar (opsional)",
|
||||
"emailTo": "Kirim ke",
|
||||
"emailHint": "Pisahkan lebih dari satu alamat dengan koma.",
|
||||
"privateNetwork": "Izinkan alamat jaringan pribadi",
|
||||
"privateNetworkHint": "Hanya berfungsi untuk host yang diizinkan oleh admin dalam daftar endpoint privat."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"enabled": "Enabled",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"intro": "Aturan pengiriman mengirimkan peringatan yang sesuai ke saluran Anda. Peringatan juga selalu tetap berada di kotak masuk.",
|
||||
"add": "Tambahkan aturan",
|
||||
"edit": "Edit aturan",
|
||||
"empty": "Belum ada aturan, jadi notifikasi hanya muncul di kotak masuk.",
|
||||
"needChannel": "Tambahkan saluran terlebih dahulu.",
|
||||
"enabled": "Diaktifkan",
|
||||
"name": "Nama",
|
||||
"nameRequired": "Nama wajib diisi.",
|
||||
"match": "Peringatan untuk dikirim",
|
||||
"matchHint": "* untuk segala hal, otomatisasi.* untuk segala hal mulai dari otomatisasi, atau satu jenis tertentu.",
|
||||
"minSeverity": "Setidaknya",
|
||||
"channels": "Kirim ke",
|
||||
"channelRequired": "Pilih setidaknya satu saluran",
|
||||
"deleteConfirm": "Hapus aturan \"{{name}}\"?",
|
||||
"everything": "Semuanya",
|
||||
"summary": "{{match}}, {{severity}} atau lebih tinggi, hingga {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Cancel",
|
||||
"save": "Save",
|
||||
"saving": "Saving...",
|
||||
"delete": "Delete"
|
||||
"cancel": "Membatalkan",
|
||||
"save": "Menyimpan",
|
||||
"saving": "Penghematan...",
|
||||
"delete": "Menghapus"
|
||||
},
|
||||
"widget": {
|
||||
"name": "Alert Feed",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"allClear": "All clear",
|
||||
"loading": "Loading..."
|
||||
"name": "Umpan Peringatan",
|
||||
"description": "Notifikasi terbaru Anda, dengan cara cepat untuk menandainya sebagai sudah dibaca.",
|
||||
"maxItems": "Jumlah maksimum",
|
||||
"showRead": "Tampilkan pemberitahuan telah dibaca",
|
||||
"allClear": "Semuanya aman.",
|
||||
"loading": "Memuat..."
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
{
|
||||
"nav": {
|
||||
"alerts": "Alerts"
|
||||
"alerts": "Varsler"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Bruk varsler",
|
||||
"description": "Få varsler i innboksen og send dem til dine egne kanaler."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Alerts",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"feature": "Varsler",
|
||||
"featureDesc": "Alle varsler i én innboks, sendt videre til Discord, ntfy, e-post eller en webhook om du vil."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
@@ -19,141 +19,141 @@
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Termix-kunngjøringer",
|
||||
"description": "Vis nyheter fra Termix-teamet, som sikkerhetsvarsler og utgivelser, i alles innboks."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Behold varsler i (dager)",
|
||||
"description": "Eldre varsler fjernes fra alle innbokser."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "SMTP-server",
|
||||
"description": "Nødvendig for e-postkanaler. La stå tomt for å slå av e-post.",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "SMTP-port",
|
||||
"description": "Vanligvis 587 med STARTTLS eller 465 med TLS."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "Bruk TLS fra starten av",
|
||||
"description": "Slå på port 465. Slå av for port 587, som oppgraderer til TLS på egenhånd."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "SMTP-brukernavn",
|
||||
"description": "La feltet stå tomt hvis serveren ikke trenger pålogging."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "SMTP-passord",
|
||||
"description": "Lagret kryptert."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"label": "Fra adresse",
|
||||
"description": "Avsendervarslene kommer fra.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"label": "Varselspopup-vinduer",
|
||||
"description": "Hvilke nye varsler dukker opp mens du bruker Termix? De havner alltid i innboksen.",
|
||||
"all": "Alle varsler",
|
||||
"warning": "Advarsler og kritiske",
|
||||
"critical": "Kun kritisk",
|
||||
"off": "Ingen"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"channels": "Channels",
|
||||
"rules": "Delivery rules"
|
||||
"inbox": "Innboks",
|
||||
"channels": "Kanaler",
|
||||
"rules": "Leveringsregler"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Info",
|
||||
"success": "Suksess",
|
||||
"warning": "Advarsel",
|
||||
"critical": "Critical"
|
||||
"critical": "Kritisk"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Open",
|
||||
"view": "View",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"openLink": "Åpne",
|
||||
"view": "Utsikt",
|
||||
"unread": "Ulest",
|
||||
"deliveryFailed_one": "{{count}} kanal mislyktes",
|
||||
"deliveryFailed_other": "{{count}} kanaler mislyktes",
|
||||
"markRead": "Merk som lest",
|
||||
"markUnread": "Merk som ulest",
|
||||
"markAllRead": "Merk alle som lest",
|
||||
"delete": "Slett",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"filterAll": "All",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"clearRead": "Slett lesevarsler",
|
||||
"cleared_one": "Slettet {{count}} -varsel",
|
||||
"cleared_other": "Slettede {{count}} varsler",
|
||||
"filterAll": "Alle",
|
||||
"filterUnread": "Ulest",
|
||||
"anySeverity": "Enhver alvorlighetsgrad",
|
||||
"anySource": "Enhver kilde",
|
||||
"openAll": "Åpne i en fane",
|
||||
"empty": "Ingen varsler ennå.",
|
||||
"emptyUnread": "Dere er helt oppdatert.",
|
||||
"loadMore": "Last inn mer"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"intro": "Kanaler er der varsler kan sendes utenfor Termix. Leveringsregler velger hvilke varsler som bruker dem.",
|
||||
"add": "Legg til kanal",
|
||||
"edit": "Rediger kanal",
|
||||
"test": "Send en test",
|
||||
"testSent": "Testvarsel sendt",
|
||||
"testFailed": "Testen mislyktes: {{error}}",
|
||||
"deleteConfirm": "Slette kanalen «{{name}}»?",
|
||||
"deleted": "Kanalen slettet",
|
||||
"empty": "Ingen kanaler ennå.",
|
||||
"enabled": "Aktivert",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"needsSave": "Denne kanalen må åpnes og lagres på nytt før den kan sende.",
|
||||
"name": "Navn",
|
||||
"nameRequired": "Navn er påkrevd",
|
||||
"type": "Type",
|
||||
"types": {
|
||||
"webhook": "Webhook",
|
||||
"ntfy": "ntfy",
|
||||
"discord": "Discord",
|
||||
"discord": "Disharmoni",
|
||||
"email": "E-post"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"emailUnavailable": "E-post trenger en SMTP-server, som en administrator konfigurerer i varslingsinnstillingene.",
|
||||
"webhookUrl": "URL-adresse",
|
||||
"webhookHint": "Henter en JSON-tekst for hvert varsel.",
|
||||
"method": "Metode",
|
||||
"headers": "Overskrifter",
|
||||
"headersHint": "Én per linje, som Navn: verdi.",
|
||||
"ntfyServer": "Server-URL",
|
||||
"ntfyTopic": "Topic",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"ntfyTopic": "Emne",
|
||||
"ntfyToken": "Tilgangstoken (valgfritt)",
|
||||
"discordUrl": "Discord webhook-URL",
|
||||
"discordHint": "Fra kanalens innstillinger i Discord, under Integrasjoner.",
|
||||
"discordUsername": "Visningsnavn (valgfritt)",
|
||||
"discordAvatar": "Avatar-URL (valgfritt)",
|
||||
"emailTo": "Send til",
|
||||
"emailHint": "Skill mer enn én adresse med komma.",
|
||||
"privateNetwork": "Tillat en privat nettverksadresse",
|
||||
"privateNetworkHint": "Fungerer bare for verter som en administrator tillater i listen over private endepunkter."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"intro": "En leveringsregel sender samsvarende varsler til kanalene dine. Varsler forblir også alltid i innboksen.",
|
||||
"add": "Legg til regel",
|
||||
"edit": "Rediger regel",
|
||||
"empty": "Ingen regler ennå, så varsler vises bare i innboksen.",
|
||||
"needChannel": "Legg til en kanal først.",
|
||||
"enabled": "Aktivert",
|
||||
"name": "Navn",
|
||||
"nameRequired": "Navn er påkrevd",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"match": "Varsler som skal sendes",
|
||||
"matchHint": "* for alt, automatiseringer.* for alt fra automatiseringer, eller én eksakt type.",
|
||||
"minSeverity": "Minst",
|
||||
"channels": "Send til",
|
||||
"channelRequired": "Velg minst én kanal",
|
||||
"deleteConfirm": "Slette regelen «{{name}}»?",
|
||||
"everything": "Alt",
|
||||
"summary": "{{match}}, {{severity}} eller høyere, til {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Avbryt",
|
||||
@@ -162,11 +162,11 @@
|
||||
"delete": "Slett"
|
||||
},
|
||||
"widget": {
|
||||
"name": "Alert Feed",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"allClear": "All clear",
|
||||
"name": "Varselstrøm",
|
||||
"description": "Dine siste varsler, med en rask måte å merke dem som lest",
|
||||
"maxItems": "Maks antall varer",
|
||||
"showRead": "Vis lesevarsler",
|
||||
"allClear": "Alt klart",
|
||||
"loading": "Laster..."
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,13 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Użyj alertów",
|
||||
"description": "Otrzymuj powiadomienia do skrzynki odbiorczej i wysyłaj je na swoje kanały."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Alerty",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"featureDesc": "Każdy alert w jednej skrzynce odbiorczej, wysyłany na Discord, ntfy, e-mail lub webhook, jeśli sobie tego życzysz."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
@@ -19,97 +19,97 @@
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Ogłoszenia Termix",
|
||||
"description": "Wyświetlaj aktualności zespołu Termix, takie jak powiadomienia i komunikaty dotyczące bezpieczeństwa, w skrzynkach odbiorczych wszystkich użytkowników."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Zachowaj alerty przez (dni)",
|
||||
"description": "Starsze alerty zostaną usunięte ze wszystkich skrzynek odbiorczych."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "Serwer SMTP",
|
||||
"description": "Potrzebne dla kanałów e-mail. Pozostaw puste, aby wyłączyć pocztę e-mail.",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "Port SMTP",
|
||||
"description": "Zwykle 587 z STARTTLS lub 465 z TLS."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "Używaj protokołu TLS od samego początku",
|
||||
"description": "Włącz dla portu 465. Pozostaw wyłączone dla portu 587, który automatycznie uaktualnia się do protokołu TLS."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "Nazwa użytkownika SMTP",
|
||||
"description": "Pozostaw puste, jeśli serwer nie wymaga logowania."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "Hasło SMTP",
|
||||
"description": "Przechowywane w postaci zaszyfrowanej."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"label": "Z adresu",
|
||||
"description": "Od nadawcy pochodzą alerty.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"label": "Okienka z alertami",
|
||||
"description": "Jakie nowe alerty pojawiają się podczas korzystania z Termix. Zawsze trafiają do skrzynki odbiorczej.",
|
||||
"all": "Wszystkie alerty",
|
||||
"warning": "Ostrzeżenia i ostrzeżenia krytyczne",
|
||||
"critical": "Tylko krytyczne",
|
||||
"off": "Żaden"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"inbox": "Skrzynka odbiorcza",
|
||||
"channels": "Kanały",
|
||||
"rules": "Delivery rules"
|
||||
"rules": "Zasady dostawy"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Informacje",
|
||||
"success": "Powodzenie",
|
||||
"warning": "Ostrzeżenie",
|
||||
"critical": "Critical"
|
||||
"critical": "Krytyczny"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Otwórz",
|
||||
"view": "Podgląd",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"unread": "Niewykształcony",
|
||||
"deliveryFailed_one": "{{count}} kanał uszkodzony",
|
||||
"deliveryFailed_other": "{{count}} kanałów nie powiodło się",
|
||||
"markRead": "Oznacz jako przeczytane",
|
||||
"markUnread": "Oznacz jako nieprzeczytane",
|
||||
"markAllRead": "Oznacz wszystkie jako przeczytane",
|
||||
"delete": "Usuń",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"clearRead": "Usuń alerty odczytu",
|
||||
"cleared_one": "Usunięto alert {{count}}",
|
||||
"cleared_other": "Usunięto {{count}} alertów",
|
||||
"filterAll": "Wszystkie",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"filterUnread": "Niewykształcony",
|
||||
"anySeverity": "Jakakolwiek powaga",
|
||||
"anySource": "Jakiekolwiek źródło",
|
||||
"openAll": "Otwórz w karcie",
|
||||
"empty": "Brak alertów.",
|
||||
"emptyUnread": "Wszyscy jesteście na bieżąco.",
|
||||
"loadMore": "Załaduj więcej"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"intro": "Kanały to miejsca, do których alerty mogą trafiać poza Termix. Reguły dostarczania określają, które alerty z nich korzystają.",
|
||||
"add": "Dodaj kanał",
|
||||
"edit": "Edytuj kanał",
|
||||
"test": "Wyślij test",
|
||||
"testSent": "Wysłano alert testowy",
|
||||
"testFailed": "Test nie powiódł się: {{error}}",
|
||||
"deleteConfirm": "Usunąć kanał „{{name}}”?",
|
||||
"deleted": "Kanał usunięty",
|
||||
"empty": "No channels yet.",
|
||||
"empty": "Brak kanałów.",
|
||||
"enabled": "Włączona",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"needsSave": "Przed wysłaniem należy ponownie otworzyć i zapisać ten kanał.",
|
||||
"name": "Nazwa",
|
||||
"nameRequired": "Nazwa jest wymagana",
|
||||
"type": "Typ",
|
||||
@@ -119,41 +119,41 @@
|
||||
"discord": "Discord",
|
||||
"email": "E-mail"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "Do obsługi poczty e-mail potrzebny jest serwer SMTP, który administrator konfiguruje w ustawieniach alertów.",
|
||||
"webhookUrl": "Adres URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"webhookHint": "Pobiera treść JSON dla każdego alertu.",
|
||||
"method": "Metoda",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"headers": "Nagłówki",
|
||||
"headersHint": "Po jednym w każdym wierszu, np. Nazwa: wartość.",
|
||||
"ntfyServer": "Adres URL serwera",
|
||||
"ntfyTopic": "Temat",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"ntfyToken": "Token dostępu (opcjonalnie)",
|
||||
"discordUrl": "Adres URL webhooka Discord",
|
||||
"discordHint": "W ustawieniach kanału w Discordzie, w sekcji Integracje.",
|
||||
"discordUsername": "Nazwa wyświetlana (opcjonalnie)",
|
||||
"discordAvatar": "Adres URL awatara (opcjonalnie)",
|
||||
"emailTo": "Wyślij do",
|
||||
"emailHint": "Oddziel więcej niż jeden adres przecinkami.",
|
||||
"privateNetwork": "Zezwól na prywatny adres sieciowy",
|
||||
"privateNetworkHint": "Działa tylko w przypadku hostów dozwolonych przez administratora na liście prywatnych punktów końcowych."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"intro": "Reguła dostarczania wysyła pasujące alerty do Twoich kanałów. Alerty zawsze pozostają w skrzynce odbiorczej.",
|
||||
"add": "Dodaj regułę",
|
||||
"edit": "Edytuj regułę",
|
||||
"empty": "Nie ma jeszcze żadnych reguł, więc powiadomienia pojawiają się tylko w skrzynce odbiorczej.",
|
||||
"needChannel": "Najpierw dodaj kanał.",
|
||||
"enabled": "Włączona",
|
||||
"name": "Nazwa",
|
||||
"nameRequired": "Nazwa jest wymagana",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"match": "Alerty do wysłania",
|
||||
"matchHint": "* do wszystkiego, automatyzacje.* do wszystkiego, od automatyzacji, lub jednego konkretnego rodzaju.",
|
||||
"minSeverity": "Co najmniej",
|
||||
"channels": "Wyślij do",
|
||||
"channelRequired": "Wybierz co najmniej jeden kanał",
|
||||
"deleteConfirm": "Usunąć regułę „{{name}}”?",
|
||||
"everything": "Wszystko",
|
||||
"summary": "{{match}}, {{severity}} lub wyższy, do {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Anuluj",
|
||||
@@ -163,9 +163,9 @@
|
||||
},
|
||||
"widget": {
|
||||
"name": "Kanał alertów",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"description": "Twoje najnowsze alerty z możliwością szybkiego oznaczenia ich jako przeczytanych",
|
||||
"maxItems": "Maksymalna liczba elementów",
|
||||
"showRead": "Pokaż alerty odczytu",
|
||||
"allClear": "Bez alertów",
|
||||
"loading": "Ładowanie..."
|
||||
}
|
||||
|
||||
@@ -1,159 +1,159 @@
|
||||
{
|
||||
"nav": {
|
||||
"alerts": "Alerts"
|
||||
"alerts": "Alertas"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Usar alertas",
|
||||
"description": "Receba alertas na caixa de entrada e envie-os para seus próprios canais."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Alerts",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"feature": "Alertas",
|
||||
"featureDesc": "Todas as notificações em uma única caixa de entrada, enviadas para o Discord, NTfy, e-mail ou webhook, se desejar."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
"general": "Geral",
|
||||
"email": "Email"
|
||||
"email": "E-mail"
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Anúncios da Termix",
|
||||
"description": "Exibir notícias da equipe Termix, como avisos de segurança e comunicados, na caixa de entrada de todos."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Manter alertas por (dias)",
|
||||
"description": "Alertas antigos são removidos de todas as caixas de entrada."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "Servidor SMTP",
|
||||
"description": "Necessário para canais de e-mail. Deixe em branco para desativar o e-mail.",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "porta SMTP",
|
||||
"description": "Normalmente, usa-se a porta 587 com STARTTLS ou a porta 465 com TLS."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "Use TLS desde o início.",
|
||||
"description": "Ative para a porta 465. Deixe desativado para a porta 587, que atualiza para TLS automaticamente."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "nome de usuário SMTP",
|
||||
"description": "Deixe em branco se o servidor não exigir login."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "Senha SMTP",
|
||||
"description": "Armazenado criptografado."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"label": "Do endereço",
|
||||
"description": "Os alertas do remetente vêm de:",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"label": "Janelas de alerta",
|
||||
"description": "Quais novos alertas aparecem enquanto você usa o Termix? Eles sempre chegam na caixa de entrada.",
|
||||
"all": "Todos os alertas",
|
||||
"warning": "Avisos e alertas",
|
||||
"critical": "Somente crítico",
|
||||
"off": "Nenhum"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"channels": "Channels",
|
||||
"rules": "Delivery rules"
|
||||
"inbox": "Caixa de entrada",
|
||||
"channels": "Canais",
|
||||
"rules": "Regras de entrega"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Info",
|
||||
"success": "Success",
|
||||
"info": "Informações",
|
||||
"success": "Sucesso",
|
||||
"warning": "Atenção",
|
||||
"critical": "Critical"
|
||||
"critical": "Crítico"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Open",
|
||||
"view": "View",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"openLink": "Abrir",
|
||||
"view": "Visualizar",
|
||||
"unread": "Não lido",
|
||||
"deliveryFailed_one": "{{count}} canal falhou",
|
||||
"deliveryFailed_other": "{{count}} canais falharam",
|
||||
"markRead": "Marcar como lido",
|
||||
"markUnread": "Marcar como não lida",
|
||||
"markAllRead": "Marcar tudo como lido",
|
||||
"delete": "Apagar",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"filterAll": "All",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"clearRead": "Excluir alertas de leitura",
|
||||
"cleared_one": "Alerta excluído {{count}}",
|
||||
"cleared_other": "Alertas excluídos {{count}}",
|
||||
"filterAll": "Todos",
|
||||
"filterUnread": "Não lido",
|
||||
"anySeverity": "Qualquer gravidade",
|
||||
"anySource": "Qualquer fonte",
|
||||
"openAll": "Abrir em uma aba",
|
||||
"empty": "Ainda não há alertas.",
|
||||
"emptyUnread": "Vocês estão todos a par da situação.",
|
||||
"loadMore": "Carregar mais"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"enabled": "Enabled",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"intro": "Os canais são locais para onde os alertas podem ser enviados fora do Termix. As regras de entrega definem quais alertas os utilizarão.",
|
||||
"add": "Adicionar canal",
|
||||
"edit": "Editar canal",
|
||||
"test": "Enviar um teste",
|
||||
"testSent": "Alerta de teste enviado",
|
||||
"testFailed": "Teste falhou: {{error}}",
|
||||
"deleteConfirm": "Excluir o canal \"{{name}}\"?",
|
||||
"deleted": "Canal excluído",
|
||||
"empty": "Ainda não há canais.",
|
||||
"enabled": "Habilitado",
|
||||
"needsSave": "Este canal precisa ser aberto e salvo novamente antes de poder enviar mensagens.",
|
||||
"name": "Nome",
|
||||
"nameRequired": "O nome é obrigatório.",
|
||||
"type": "Tipo",
|
||||
"types": {
|
||||
"webhook": "Webhook",
|
||||
"ntfy": "ntfy",
|
||||
"discord": "Discord",
|
||||
"email": "Email"
|
||||
"discord": "Discórdia",
|
||||
"email": "E-mail"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "O envio de e-mails requer um servidor SMTP, que um administrador configura nas configurações de Alertas.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"webhookHint": "Obtém um corpo JSON para cada alerta.",
|
||||
"method": "Método",
|
||||
"headers": "Cabeçalhos",
|
||||
"headersHint": "Um por linha, como Nome: valor.",
|
||||
"ntfyServer": "URL do Servidor",
|
||||
"ntfyTopic": "Topic",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"ntfyTopic": "Tópico",
|
||||
"ntfyToken": "Token de acesso (opcional)",
|
||||
"discordUrl": "URL do webhook do Discord",
|
||||
"discordHint": "Nas configurações do canal no Discord, em Integrações.",
|
||||
"discordUsername": "Nome de exibição (opcional)",
|
||||
"discordAvatar": "URL do avatar (opcional)",
|
||||
"emailTo": "Enviar para",
|
||||
"emailHint": "Separe mais de um endereço com vírgulas.",
|
||||
"privateNetwork": "Permitir um endereço de rede privada",
|
||||
"privateNetworkHint": "Funciona apenas para hosts que um administrador permite na lista de endpoints privados."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"enabled": "Enabled",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"intro": "Uma regra de entrega envia alertas correspondentes aos seus canais. Os alertas também permanecem sempre na caixa de entrada.",
|
||||
"add": "Adicionar regra",
|
||||
"edit": "Editar regra",
|
||||
"empty": "Ainda não existem regras, portanto os alertas só aparecem na caixa de entrada.",
|
||||
"needChannel": "Primeiro, adicione um canal.",
|
||||
"enabled": "Habilitado",
|
||||
"name": "Nome",
|
||||
"nameRequired": "O nome é obrigatório.",
|
||||
"match": "Alertas a enviar",
|
||||
"matchHint": "* para tudo, automações.* para tudo, desde automações, até um tipo específico.",
|
||||
"minSeverity": "Pelo menos",
|
||||
"channels": "Enviar para",
|
||||
"channelRequired": "Escolha pelo menos um canal.",
|
||||
"deleteConfirm": "Apagar a regra \"{{name}}\"?",
|
||||
"everything": "Tudo",
|
||||
"summary": "{{match}}, {{severity}} ou superior, para {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Cancelar",
|
||||
@@ -162,11 +162,11 @@
|
||||
"delete": "Apagar"
|
||||
},
|
||||
"widget": {
|
||||
"name": "Alert Feed",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"allClear": "All clear",
|
||||
"name": "Feed de alertas",
|
||||
"description": "Seus alertas mais recentes, com uma maneira rápida de marcá-los como lidos.",
|
||||
"maxItems": "Itens máximos",
|
||||
"showRead": "Mostrar alertas de leitura",
|
||||
"allClear": "Tudo certo",
|
||||
"loading": "Carregando..."
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,13 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Usar alertas",
|
||||
"description": "Receba alertas na caixa de entrada e envie-os para os seus próprios canais."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Alertas",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"featureDesc": "Todas as notificações numa única caixa de entrada, enviadas para o Discord, NTfy, e-mail ou webhook, se desejar."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
@@ -19,97 +19,97 @@
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Anúncios da Termix",
|
||||
"description": "Exibir notícias da equipa Termix, como avisos de segurança e comunicados, na caixa de entrada de todos."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Manter alertas durante (dias)",
|
||||
"description": "Os alertas antigos são removidos de todas as caixas de entrada."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"placeholder": "smtp.example.com"
|
||||
"label": "Servidor SMTP",
|
||||
"description": "Necessário para canais de e-mail. Deixe em branco para desativar o e-mail.",
|
||||
"placeholder": "smtp.exemplo.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "porta SMTP",
|
||||
"description": "Normalmente, utiliza-se a porta 587 com STARTTLS ou a porta 465 com TLS."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "Utilize TLS desde o início.",
|
||||
"description": "Ative para a porta 465. Deixe desativado para a porta 587, que atualiza para TLS automaticamente."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "nome de utilizador SMTP",
|
||||
"description": "Deixe em branco se o servidor não necessitar de login."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "Palavra-passe SMTP",
|
||||
"description": "Armazenado encriptado."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"label": "Do endereço",
|
||||
"description": "Os alertas do remetente provêm de:",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"label": "Janelas de alerta",
|
||||
"description": "Que novos alertas aparecem enquanto utiliza o Termix? Chegam sempre na caixa de entrada.",
|
||||
"all": "Todos os alertas",
|
||||
"warning": "Avisos e alertas",
|
||||
"critical": "Somente crítico",
|
||||
"off": "Nenhuma"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"inbox": "Caixa de entrada",
|
||||
"channels": "Canais",
|
||||
"rules": "Delivery rules"
|
||||
"rules": "Regras de entrega"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Info",
|
||||
"success": "Sucesso",
|
||||
"warning": "Aviso",
|
||||
"critical": "Critical"
|
||||
"critical": "Crítico"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Abrir",
|
||||
"view": "Ver",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"unread": "Não lido",
|
||||
"deliveryFailed_one": "{{count}} canal falhou",
|
||||
"deliveryFailed_other": "{{count}} canais falharam",
|
||||
"markRead": "Marcar como lido",
|
||||
"markUnread": "Marcar como não lida",
|
||||
"markAllRead": "Marcar tudo como lido",
|
||||
"delete": "Eliminar",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"clearRead": "Apagar alertas de leitura",
|
||||
"cleared_one": "Alerta eliminado {{count}}",
|
||||
"cleared_other": "Alertas excluídos {{count}}",
|
||||
"filterAll": "Todas",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"filterUnread": "Não lido",
|
||||
"anySeverity": "Qualquer gravidade",
|
||||
"anySource": "Qualquer fonte",
|
||||
"openAll": "Abrir numa aba",
|
||||
"empty": "Ainda não há alertas.",
|
||||
"emptyUnread": "Estão todos a par da situação.",
|
||||
"loadMore": "Carregar mais"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"intro": "Os canais são locais para onde os alertas podem ser enviados fora do Termix. As regras de entrega definem quais os alertas que os irão utilizar.",
|
||||
"add": "Adicionar canal",
|
||||
"edit": "Editar canal",
|
||||
"test": "Enviar um teste",
|
||||
"testSent": "Alerta de teste enviado",
|
||||
"testFailed": "Teste falhou: {{error}}",
|
||||
"deleteConfirm": "Apagar o canal \"{{name}}\"?",
|
||||
"deleted": "Canal excluído",
|
||||
"empty": "Ainda não há canais.",
|
||||
"enabled": "Ativado",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"needsSave": "Este canal precisa de ser aberto e guardado novamente antes de poder enviar mensagens.",
|
||||
"name": "Nome",
|
||||
"nameRequired": "O nome é obrigatório",
|
||||
"type": "Tipo",
|
||||
@@ -119,41 +119,41 @@
|
||||
"discord": "Discord",
|
||||
"email": "E-mail"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "O envio de e-mails requer um servidor SMTP, que um administrador configura nas definições de Alertas.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"webhookHint": "Obtém um corpo JSON para cada alerta.",
|
||||
"method": "Método",
|
||||
"headers": "Cabeçalhos",
|
||||
"headersHint": "Um por linha, como por exemplo Nome: valor.",
|
||||
"ntfyServer": "URL do servidor",
|
||||
"ntfyTopic": "Tópico",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"ntfyToken": "Token de acesso (opcional)",
|
||||
"discordUrl": "URL do webhook do Discord",
|
||||
"discordHint": "Nas definições do canal no Discord, em Integrações.",
|
||||
"discordUsername": "Nome de visualização (opcional)",
|
||||
"discordAvatar": "URL do avatar (opcional)",
|
||||
"emailTo": "Enviar para",
|
||||
"emailHint": "Separe mais do que um endereço com vírgulas.",
|
||||
"privateNetwork": "Permitir um endereço de rede privada",
|
||||
"privateNetworkHint": "Funciona apenas para hosts que um administrador permite na lista de endpoints privados."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"intro": "Uma regra de entrega envia alertas correspondentes aos seus canais. Os alertas também permanecem sempre na caixa de entrada.",
|
||||
"add": "Adicionar regra",
|
||||
"edit": "Editar regra",
|
||||
"empty": "Ainda não existem regras, pelo que os alertas apenas aparecem na caixa de entrada.",
|
||||
"needChannel": "Primeiro, adicione um canal.",
|
||||
"enabled": "Ativado",
|
||||
"name": "Nome",
|
||||
"nameRequired": "O nome é obrigatório",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"match": "Alertas a enviar",
|
||||
"matchHint": "* para tudo, automações.* para tudo, desde automações, a um tipo específico.",
|
||||
"minSeverity": "Pelo menos",
|
||||
"channels": "Enviar para",
|
||||
"channelRequired": "Escolha pelo menos um canal.",
|
||||
"deleteConfirm": "Apagar a regra \"{{name}}\"?",
|
||||
"everything": "Tudo",
|
||||
"summary": "{{match}}, {{severity}} ou superior, para {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Cancelar",
|
||||
@@ -163,9 +163,9 @@
|
||||
},
|
||||
"widget": {
|
||||
"name": "Feed de alertas",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"description": "Os seus alertas mais recentes, com uma forma rápida de os marcar como lidos.",
|
||||
"maxItems": "Itens máximos",
|
||||
"showRead": "Mostrar alertas de leitura",
|
||||
"allClear": "Tudo em ordem",
|
||||
"loading": "A carregar..."
|
||||
}
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Используйте оповещения",
|
||||
"description": "Получайте уведомления на свою электронную почту и отправляйте их в свои каналы."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Оповещения",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"featureDesc": "Все оповещения в одном почтовом ящике, которые можно отправить в Discord, ntfy, на электронную почту или через веб-хук, если хотите."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
@@ -19,141 +19,141 @@
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Объявления компании Termix",
|
||||
"description": "Показывайте новости от команды Termix, такие как уведомления о безопасности и обновления, в почтовые ящики всех пользователей."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Сохранять оповещения в течение (дней)",
|
||||
"description": "Более старые уведомления удаляются из всех почтовых ящиков."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "SMTP-сервер",
|
||||
"description": "Необходимо для каналов электронной почты. Оставьте поле пустым, чтобы отключить отправку писем.",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "SMTP-порт",
|
||||
"description": "Обычно используется код 587 с STARTTLS или 465 с TLS."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "Используйте TLS с самого начала.",
|
||||
"description": "Включите порт 465. Оставьте выключенным порт 587, так как он автоматически переходит на TLS."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "Имя пользователя SMTP",
|
||||
"description": "Оставьте поле пустым, если серверу не требуется авторизация."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "SMTP-пароль",
|
||||
"description": "Сохранено в зашифрованном виде."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"label": "От адреса",
|
||||
"description": "Уведомления поступают от отправителя.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"label": "Всплывающие уведомления",
|
||||
"description": "Какие новые уведомления появляются во время использования Termix? Они всегда попадают во входящие сообщения.",
|
||||
"all": "Все оповещения",
|
||||
"warning": "Предупреждения и критические",
|
||||
"critical": "Только критически важные",
|
||||
"off": "Ни одного"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"inbox": "Входящие",
|
||||
"channels": "Каналы",
|
||||
"rules": "Delivery rules"
|
||||
"rules": "Правила доставки"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Информация",
|
||||
"success": "Успех",
|
||||
"warning": "Предупреждение",
|
||||
"critical": "Critical"
|
||||
"critical": "Критический"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Открыть",
|
||||
"view": "Просмотр",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"unread": "Непрочитано",
|
||||
"deliveryFailed_one": "{{count}} канал не работает",
|
||||
"deliveryFailed_other": "{{count}} каналы не работают",
|
||||
"markRead": "Отметить как прочитанное",
|
||||
"markUnread": "Отметить как непрочитанное",
|
||||
"markAllRead": "Отметьте все как прочитанное",
|
||||
"delete": "Удалить",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"clearRead": "Удалить оповещения о прочтении",
|
||||
"cleared_one": "Удалено {{count}} оповещение",
|
||||
"cleared_other": "Удалены {{count}} оповещения",
|
||||
"filterAll": "Все",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"filterUnread": "Непрочитано",
|
||||
"anySeverity": "Любая степень тяжести",
|
||||
"anySource": "Любой источник",
|
||||
"openAll": "Открыть во вкладке",
|
||||
"empty": "Пока нет оповещений.",
|
||||
"emptyUnread": "Вы всё успели посмотреть.",
|
||||
"loadMore": "Загрузить ещё"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"intro": "Каналы — это место, куда могут отправляться оповещения за пределы Termix. Правила доставки определяют, какие оповещения будут их использовать.",
|
||||
"add": "Добавить канал",
|
||||
"edit": "Редактировать канал",
|
||||
"test": "Отправить тест",
|
||||
"testSent": "Отправлено тестовое оповещение",
|
||||
"testFailed": "Тест не пройден: {{error}}",
|
||||
"deleteConfirm": "Удалить канал \"{{name}}\"?",
|
||||
"deleted": "Канал удален",
|
||||
"empty": "Каналов пока нет.",
|
||||
"enabled": "Включено",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"needsSave": "Перед отправкой сообщения этот канал необходимо снова открыть и сохранить.",
|
||||
"name": "Название",
|
||||
"nameRequired": "Имя обязательно",
|
||||
"type": "Тип",
|
||||
"types": {
|
||||
"webhook": "Webhook",
|
||||
"ntfy": "ntfy",
|
||||
"webhook": "Вебхук",
|
||||
"ntfy": "нтфи",
|
||||
"discord": "Discord",
|
||||
"email": "Email"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "Для работы электронной почты необходим SMTP-сервер, который администратор настраивает в параметрах оповещений.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"webhookHint": "Получает JSON-тело для каждого оповещения.",
|
||||
"method": "Метод",
|
||||
"headers": "Заголовки",
|
||||
"headersHint": "Один символ на строку, например, Имя: значение.",
|
||||
"ntfyServer": "URL сервера",
|
||||
"ntfyTopic": "Тема",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"ntfyToken": "Токен доступа (необязательно)",
|
||||
"discordUrl": "URL веб-перехватчика Discord",
|
||||
"discordHint": "В настройках канала в Discord, в разделе «Интеграции».",
|
||||
"discordUsername": "Отображаемое имя (необязательно)",
|
||||
"discordAvatar": "URL-адрес аватара (необязательно)",
|
||||
"emailTo": "Отправить",
|
||||
"emailHint": "Разделяя несколько адресов запятыми.",
|
||||
"privateNetwork": "Разрешить использование частного сетевого адреса",
|
||||
"privateNetworkHint": "Работает только для хостов, разрешенных администратором в списке частных конечных точек."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"intro": "Правило доставки отправляет соответствующие оповещения в ваши каналы. Оповещения также всегда остаются во входящих сообщениях.",
|
||||
"add": "Добавить правило",
|
||||
"edit": "Редактировать правило",
|
||||
"empty": "Правил пока нет, поэтому уведомления отображаются только во входящих сообщениях.",
|
||||
"needChannel": "Сначала добавьте канал.",
|
||||
"enabled": "Включено",
|
||||
"name": "Название",
|
||||
"nameRequired": "Имя обязательно",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"match": "Уведомления для отправки",
|
||||
"matchHint": "* для всего, что связано с автоматизацией.* для всего, что связано с автоматизацией, или для одного конкретного типа.",
|
||||
"minSeverity": "По меньшей мере",
|
||||
"channels": "Отправить",
|
||||
"channelRequired": "Выберите хотя бы один канал",
|
||||
"deleteConfirm": "Удалить правило \"{{name}}\"?",
|
||||
"everything": "Все",
|
||||
"summary": "{{match}}, {{severity}} или выше, до {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Отмена",
|
||||
@@ -163,9 +163,9 @@
|
||||
},
|
||||
"widget": {
|
||||
"name": "Лента оповещений",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"description": "Ваши последние уведомления с возможностью быстрой пометки их как прочитанных.",
|
||||
"maxItems": "Максимальное количество предметов",
|
||||
"showRead": "Показать уведомления о прочтении",
|
||||
"allClear": "Всё в порядке",
|
||||
"loading": "Загрузка..."
|
||||
}
|
||||
|
||||
@@ -1,172 +1,172 @@
|
||||
{
|
||||
"nav": {
|
||||
"alerts": "Alerts"
|
||||
"alerts": "Упозорења"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Користите упозорења",
|
||||
"description": "Добијајте обавештења у пријемно сандуче и шаљите их на своје канале."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Alerts",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"feature": "Упозорења",
|
||||
"featureDesc": "Свако упозорење у једном пријемном сандучету, послато на Discord, ntfy, имејл или вебхук ако желите."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
"general": "General",
|
||||
"email": "Email"
|
||||
"general": "Опште",
|
||||
"email": "Е-пошта"
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Termix саопштења",
|
||||
"description": "Прикажи вести од Termix тима, као што су безбедносна обавештења и издања, у пријемном сандучету свих корисника."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Задржавај упозорења (дана)",
|
||||
"description": "Старија упозорења се уклањају из сваког пријемног сандучета."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "SMTP сервер",
|
||||
"description": "Потребно за имејл канале. Оставите празно да бисте искључили имејл.",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "СМТП порт",
|
||||
"description": "Обично 587 са STARTTLS-ом или 465 са TLS-ом."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "Користите TLS од почетка",
|
||||
"description": "Укључите за порт 465. Оставите искључено за порт 587, који се сам надограђује на TLS."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "SMTP корисничко име",
|
||||
"description": "Оставите празно ако сервер не захтева пријаву."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "СМТП лозинка",
|
||||
"description": "Сачувано шифровано."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
"label": "Адреса одакле",
|
||||
"description": "Упозорења пошиљаоца долазе од.",
|
||||
"placeholder": "Термикс <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"off": "None"
|
||||
"label": "Искачући прозори са упозорењима",
|
||||
"description": "Која нова упозорења се појављују док користите Termix. Она увек стижу у пријемно сандуче.",
|
||||
"all": "Сва упозорења",
|
||||
"warning": "Упозорења и критичне информације",
|
||||
"critical": "Само критично",
|
||||
"off": "Ниједан"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"channels": "Channels",
|
||||
"rules": "Delivery rules"
|
||||
"inbox": "Пријемно сандуче",
|
||||
"channels": "Канали",
|
||||
"rules": "Правила испоруке"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Info",
|
||||
"success": "Success",
|
||||
"warning": "Warning",
|
||||
"critical": "Critical"
|
||||
"info": "Информације",
|
||||
"success": "Успех",
|
||||
"warning": "Упозорење",
|
||||
"critical": "Критично"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Open",
|
||||
"view": "View",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"delete": "Delete",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"filterAll": "All",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"sourceTermix": "Термикс",
|
||||
"openLink": "Отворено",
|
||||
"view": "Поглед",
|
||||
"unread": "Непрочитано",
|
||||
"deliveryFailed_one": "{{count}} канал није успео",
|
||||
"deliveryFailed_other": "{{count}} канала није успело",
|
||||
"markRead": "Означи као прочитано",
|
||||
"markUnread": "Означи као непрочитано",
|
||||
"markAllRead": "Означи све као прочитано",
|
||||
"delete": "Обриши",
|
||||
"clearRead": "Обриши упозорења о читању",
|
||||
"cleared_one": "Обрисано упозорење {{count}}",
|
||||
"cleared_other": "Обрисана упозорења {{count}}",
|
||||
"filterAll": "Сви",
|
||||
"filterUnread": "Непрочитано",
|
||||
"anySeverity": "Било која тежина",
|
||||
"anySource": "Било који извор",
|
||||
"openAll": "Отвори у картици",
|
||||
"empty": "Још нема упозорења.",
|
||||
"emptyUnread": "Све сте у току.",
|
||||
"loadMore": "Учитај још"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"enabled": "Enabled",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"type": "Type",
|
||||
"intro": "Канали су места где упозорења могу да се шаљу изван Termix-а. Правила испоруке бирају која упозорења их користе.",
|
||||
"add": "Додај канал",
|
||||
"edit": "Измени канал",
|
||||
"test": "Пошаљи тест",
|
||||
"testSent": "Послато је тестно упозорење",
|
||||
"testFailed": "Тест није успео: {{error}}",
|
||||
"deleteConfirm": "Обрисати канал „{{name}}“?",
|
||||
"deleted": "Канал је обрисан",
|
||||
"empty": "Још нема канала.",
|
||||
"enabled": "Омогућено",
|
||||
"needsSave": "Овај канал треба поново отворити и сачувати пре него што се може послати.",
|
||||
"name": "Име",
|
||||
"nameRequired": "Име је обавезно",
|
||||
"type": "Тип",
|
||||
"types": {
|
||||
"webhook": "Webhook",
|
||||
"ntfy": "ntfy",
|
||||
"discord": "Discord",
|
||||
"email": "Email"
|
||||
"webhook": "Вебхук",
|
||||
"ntfy": "нтфи",
|
||||
"discord": "Неслагање",
|
||||
"email": "Е-пошта"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "Е-пошти је потребан SMTP сервер, који администратор подешава у подешавањима упозорења.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"ntfyServer": "Server URL",
|
||||
"ntfyTopic": "Topic",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"webhookHint": "Добија JSON тело за свако упозорење.",
|
||||
"method": "Метод",
|
||||
"headers": "Заглавља",
|
||||
"headersHint": "Један по реду, као што је Име: вредност.",
|
||||
"ntfyServer": "URL сервера",
|
||||
"ntfyTopic": "Тема",
|
||||
"ntfyToken": "Приступни токен (опционо)",
|
||||
"discordUrl": "URL вебхука на Дискорду",
|
||||
"discordHint": "Из подешавања канала на Дискорду, под Интеграције.",
|
||||
"discordUsername": "Приказано име (опционо)",
|
||||
"discordAvatar": "URL адреса аватара (опционо)",
|
||||
"emailTo": "Пошаљи",
|
||||
"emailHint": "Одвојите више од једне адресе зарезима.",
|
||||
"privateNetwork": "Дозволи адресу приватне мреже",
|
||||
"privateNetworkHint": "Ради само за хостове које администратор дозвољава на листи приватних крајњих тачака."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"enabled": "Enabled",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"intro": "Правило испоруке шаље одговарајућа упозорења вашим каналима. Упозорења такође увек остају у пријемном сандучету.",
|
||||
"add": "Додај правило",
|
||||
"edit": "Измени правило",
|
||||
"empty": "Још нема правила, тако да се упозорења приказују само у пријемном сандучету.",
|
||||
"needChannel": "Прво додајте канал.",
|
||||
"enabled": "Омогућено",
|
||||
"name": "Име",
|
||||
"nameRequired": "Име је обавезно",
|
||||
"match": "Обавештења за слање",
|
||||
"matchHint": "* за све, аутоматизације.* за све од аутоматизација, или само једну врсту.",
|
||||
"minSeverity": "Барем",
|
||||
"channels": "Пошаљи",
|
||||
"channelRequired": "Изаберите барем један канал",
|
||||
"deleteConfirm": "Обрисати правило „{{name}}“?",
|
||||
"everything": "Све",
|
||||
"summary": "{{match}}, {{severity}} или више, до {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Cancel",
|
||||
"save": "Save",
|
||||
"saving": "Saving...",
|
||||
"delete": "Delete"
|
||||
"cancel": "Откажи",
|
||||
"save": "Сачувај",
|
||||
"saving": "Чување...",
|
||||
"delete": "Обриши"
|
||||
},
|
||||
"widget": {
|
||||
"name": "Alert Feed",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"allClear": "All clear",
|
||||
"loading": "Loading..."
|
||||
"name": "Фид обавештења",
|
||||
"description": "Ваша најновија обавештења, са брзим начином да их означите као прочитане",
|
||||
"maxItems": "Максималан број ставки",
|
||||
"showRead": "Прикажи обавештења о читању",
|
||||
"allClear": "Све је чисто",
|
||||
"loading": "Учитавање..."
|
||||
}
|
||||
}
|
||||
@@ -1,172 +1,172 @@
|
||||
{
|
||||
"nav": {
|
||||
"alerts": "Alerts"
|
||||
"alerts": "Aviseringar"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Använd varningar",
|
||||
"description": "Få aviseringar i inkorgen och skicka dem till dina egna kanaler."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Alerts",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"feature": "Aviseringar",
|
||||
"featureDesc": "Varje avisering i en inkorg, skickad vidare till Discord, ntfy, e-post eller en webhook om du vill."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
"general": "General",
|
||||
"email": "Email"
|
||||
"general": "Allmän",
|
||||
"email": "E-post"
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Termix-meddelanden",
|
||||
"description": "Visa nyheter från Termix-teamet, som säkerhetsmeddelanden och pressmeddelanden, i allas inkorg."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Behåll varningar i (dagar)",
|
||||
"description": "Äldre aviseringar tas bort från alla inkorgar."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "SMTP-server",
|
||||
"description": "Behövs för e-postkanaler. Lämna tomt för att stänga av e-post.",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "SMTP-port",
|
||||
"description": "Vanligtvis 587 med STARTTLS eller 465 med TLS."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "Använd TLS från början",
|
||||
"description": "Aktivera port 465. Avaktivera port 587, som uppgraderar till TLS på egen hand."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "SMTP-användarnamn",
|
||||
"description": "Lämna tomt om servern inte behöver inloggning."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "SMTP-lösenord",
|
||||
"description": "Lagras krypterat."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"label": "Från adress",
|
||||
"description": "Avsändaraviseringarna kommer från.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"off": "None"
|
||||
"label": "Aviseringspopup-fönster",
|
||||
"description": "Vilka nya aviseringar dyker upp när du använder Termix? De hamnar alltid i inkorgen.",
|
||||
"all": "Alla varningar",
|
||||
"warning": "Varningar och kritiska",
|
||||
"critical": "Endast kritisk",
|
||||
"off": "Ingen"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"channels": "Channels",
|
||||
"rules": "Delivery rules"
|
||||
"inbox": "Inkorg",
|
||||
"channels": "Kanaler",
|
||||
"rules": "Leveransregler"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Info",
|
||||
"success": "Success",
|
||||
"warning": "Warning",
|
||||
"critical": "Critical"
|
||||
"success": "Framgång",
|
||||
"warning": "Varning",
|
||||
"critical": "Kritisk"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Open",
|
||||
"view": "View",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"delete": "Delete",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"filterAll": "All",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"openLink": "Öppna",
|
||||
"view": "Se",
|
||||
"unread": "Oläst",
|
||||
"deliveryFailed_one": "{{count}} kanal misslyckades",
|
||||
"deliveryFailed_other": "{{count}} kanaler misslyckades",
|
||||
"markRead": "Markera som läst",
|
||||
"markUnread": "Markera som oläst",
|
||||
"markAllRead": "Markera alla som lästa",
|
||||
"delete": "Radera",
|
||||
"clearRead": "Ta bort läsaviseringar",
|
||||
"cleared_one": "Borttagen {{count}} -avisering",
|
||||
"cleared_other": "Borttagna {{count}} varningar",
|
||||
"filterAll": "Alla",
|
||||
"filterUnread": "Oläst",
|
||||
"anySeverity": "Vilken allvarlighetsgrad som helst",
|
||||
"anySource": "Vilken källa som helst",
|
||||
"openAll": "Öppna i en flik",
|
||||
"empty": "Inga varningar ännu.",
|
||||
"emptyUnread": "Ni är helt uppdaterade.",
|
||||
"loadMore": "Ladda mer"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"enabled": "Enabled",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"type": "Type",
|
||||
"intro": "Kanaler är där aviseringar kan skickas utanför Termix. Leveransregler väljer vilka aviseringar som använder dem.",
|
||||
"add": "Lägg till kanal",
|
||||
"edit": "Redigera kanal",
|
||||
"test": "Skicka ett test",
|
||||
"testSent": "Testavisering skickad",
|
||||
"testFailed": "Testet misslyckades: {{error}}",
|
||||
"deleteConfirm": "Ta bort kanalen \"{{name}}\"?",
|
||||
"deleted": "Kanal borttagen",
|
||||
"empty": "Inga kanaler än.",
|
||||
"enabled": "Aktiverad",
|
||||
"needsSave": "Den här kanalen måste öppnas och sparas igen innan den kan skicka.",
|
||||
"name": "Namn",
|
||||
"nameRequired": "Namn krävs",
|
||||
"type": "Typ",
|
||||
"types": {
|
||||
"webhook": "Webhook",
|
||||
"webhook": "Webbhook",
|
||||
"ntfy": "ntfy",
|
||||
"discord": "Discord",
|
||||
"email": "Email"
|
||||
"discord": "Disharmoni",
|
||||
"email": "E-post"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "E-post behöver en SMTP-server, vilket en administratör konfigurerar i aviseringsinställningarna.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"ntfyServer": "Server URL",
|
||||
"ntfyTopic": "Topic",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"webhookHint": "Hämtar en JSON-text för varje avisering.",
|
||||
"method": "Metod",
|
||||
"headers": "Rubriker",
|
||||
"headersHint": "En per rad, som Namn: värde.",
|
||||
"ntfyServer": "Server-URL",
|
||||
"ntfyTopic": "Ämne",
|
||||
"ntfyToken": "Åtkomsttoken (valfritt)",
|
||||
"discordUrl": "Discord webhook-URL",
|
||||
"discordHint": "Från kanalens inställningar i Discord, under Integrationer.",
|
||||
"discordUsername": "Visningsnamn (valfritt)",
|
||||
"discordAvatar": "Avatar-URL (valfritt)",
|
||||
"emailTo": "Skicka till",
|
||||
"emailHint": "Separera mer än en adress med kommatecken.",
|
||||
"privateNetwork": "Tillåt en privat nätverksadress",
|
||||
"privateNetworkHint": "Fungerar bara för värdar som en administratör tillåter i listan över privata slutpunkter."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"enabled": "Enabled",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"intro": "En leveransregel skickar matchande aviseringar till dina kanaler. Aviseringar finns alltid kvar i inkorgen också.",
|
||||
"add": "Lägg till regel",
|
||||
"edit": "Redigera regel",
|
||||
"empty": "Inga regler ännu, så aviseringar visas bara i inkorgen.",
|
||||
"needChannel": "Lägg till en kanal först.",
|
||||
"enabled": "Aktiverad",
|
||||
"name": "Namn",
|
||||
"nameRequired": "Namn krävs",
|
||||
"match": "Aviseringar att skicka",
|
||||
"matchHint": "* för allt, automatiseringar.* för allt från automatiseringar, eller en exakt sort.",
|
||||
"minSeverity": "Åtminstone",
|
||||
"channels": "Skicka till",
|
||||
"channelRequired": "Välj minst en kanal",
|
||||
"deleteConfirm": "Ta bort regeln \"{{name}}\"?",
|
||||
"everything": "Allt",
|
||||
"summary": "{{match}}, {{severity}} eller högre, till {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Cancel",
|
||||
"save": "Save",
|
||||
"saving": "Saving...",
|
||||
"delete": "Delete"
|
||||
"cancel": "Avboka",
|
||||
"save": "Spara",
|
||||
"saving": "Sparande...",
|
||||
"delete": "Radera"
|
||||
},
|
||||
"widget": {
|
||||
"name": "Alert Feed",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"allClear": "All clear",
|
||||
"loading": "Loading..."
|
||||
"name": "Aviseringsflöde",
|
||||
"description": "Dina senaste aviseringar, med ett snabbt sätt att markera dem som lästa",
|
||||
"maxItems": "Max antal artiklar",
|
||||
"showRead": "Visa läsaviseringar",
|
||||
"allClear": "Faran över",
|
||||
"loading": "Belastning..."
|
||||
}
|
||||
}
|
||||
@@ -1,172 +1,172 @@
|
||||
{
|
||||
"nav": {
|
||||
"alerts": "Alerts"
|
||||
"alerts": "การแจ้งเตือน"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "ใช้การแจ้งเตือน",
|
||||
"description": "รับการแจ้งเตือนในกล่องข้อความขาเข้า และส่งต่อไปยังช่องทางของคุณเองได้"
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Alerts",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"feature": "การแจ้งเตือน",
|
||||
"featureDesc": "การแจ้งเตือนทั้งหมดจะถูกส่งไปยังกล่องข้อความเดียว และส่งต่อไปยัง Discord, NTFI, อีเมล หรือ Webhook ตามที่คุณต้องการ"
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
"general": "General",
|
||||
"email": "Email"
|
||||
"general": "ทั่วไป",
|
||||
"email": "อีเมล"
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "ประกาศจาก Termix",
|
||||
"description": "แสดงข่าวสารจากทีม Termix เช่น ประกาศด้านความปลอดภัยและการอัปเดตต่างๆ ในกล่องจดหมายของทุกคน"
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "ตั้งค่าการแจ้งเตือนเป็นเวลา (วัน)",
|
||||
"description": "การแจ้งเตือนเก่าๆ จะถูกลบออกจากกล่องจดหมายทุกกล่อง"
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "เซิร์ฟเวอร์ SMTP",
|
||||
"description": "จำเป็นสำหรับช่องทางการส่งอีเมล เว้นว่างไว้เพื่อปิดการใช้งานอีเมล",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "พอร์ต SMTP",
|
||||
"description": "โดยทั่วไปจะใช้พอร์ต 587 สำหรับ STARTTLS หรือ 465 สำหรับ TLS"
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "ใช้ TLS ตั้งแต่เริ่มต้น",
|
||||
"description": "เปิดใช้งานสำหรับพอร์ต 465 ปิดใช้งานสำหรับพอร์ต 587 ซึ่งจะอัปเกรดเป็น TLS โดยอัตโนมัติ"
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "ชื่อผู้ใช้ SMTP",
|
||||
"description": "เว้นว่างไว้หากเซิร์ฟเวอร์ไม่ต้องการการเข้าสู่ระบบ"
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "รหัสผ่าน SMTP",
|
||||
"description": "จัดเก็บในรูปแบบเข้ารหัส"
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
"label": "จากที่อยู่",
|
||||
"description": "การแจ้งเตือนจากผู้ส่งมาจาก...",
|
||||
"placeholder": "เทอร์มิกซ์ <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"off": "None"
|
||||
"label": "ป๊อปอัปแจ้งเตือน",
|
||||
"description": "มีการแจ้งเตือนใหม่ๆ อะไรบ้างที่จะปรากฏขึ้นขณะที่คุณใช้งาน Termix การแจ้งเตือนเหล่านั้นจะถูกส่งไปยังกล่องจดหมายเข้าเสมอ",
|
||||
"all": "การแจ้งเตือนทั้งหมด",
|
||||
"warning": "คำเตือนและข้อสำคัญ",
|
||||
"critical": "เฉพาะกรณีวิกฤติเท่านั้น",
|
||||
"off": "ไม่มี"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"channels": "Channels",
|
||||
"rules": "Delivery rules"
|
||||
"inbox": "กล่องขาเข้า",
|
||||
"channels": "ช่องต่างๆ",
|
||||
"rules": "กฎการจัดส่ง"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Info",
|
||||
"success": "Success",
|
||||
"warning": "Warning",
|
||||
"critical": "Critical"
|
||||
"info": "ข้อมูล",
|
||||
"success": "ความสำเร็จ",
|
||||
"warning": "คำเตือน",
|
||||
"critical": "วิกฤต"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Open",
|
||||
"view": "View",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"delete": "Delete",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"filterAll": "All",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"sourceTermix": "เทอร์มิกซ์",
|
||||
"openLink": "เปิด",
|
||||
"view": "ดู",
|
||||
"unread": "ยังไม่ได้อ่าน",
|
||||
"deliveryFailed_one": "{{count}} ช่องทางล้มเหลว",
|
||||
"deliveryFailed_other": "{{count}} ช่องทางล้มเหลว",
|
||||
"markRead": "ทำเครื่องหมายว่าอ่านแล้ว",
|
||||
"markUnread": "ทำเครื่องหมายว่ายังไม่ได้อ่าน",
|
||||
"markAllRead": "ทำเครื่องหมายว่าอ่านแล้วทั้งหมด",
|
||||
"delete": "ลบ",
|
||||
"clearRead": "ลบการแจ้งเตือนการอ่าน",
|
||||
"cleared_one": "ลบการแจ้งเตือน {{count}} แล้ว",
|
||||
"cleared_other": "ลบการแจ้งเตือน {{count}} แล้ว",
|
||||
"filterAll": "ทั้งหมด",
|
||||
"filterUnread": "ยังไม่ได้อ่าน",
|
||||
"anySeverity": "ความรุนแรงใดๆ",
|
||||
"anySource": "แหล่งที่มาใดๆ",
|
||||
"openAll": "เปิดในแท็บใหม่",
|
||||
"empty": "ยังไม่มีการแจ้งเตือนใดๆ",
|
||||
"emptyUnread": "คุณได้รับข้อมูลครบถ้วนแล้ว",
|
||||
"loadMore": "โหลดเพิ่มเติม"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"enabled": "Enabled",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"type": "Type",
|
||||
"intro": "ช่องทางต่างๆ คือที่ที่การแจ้งเตือนสามารถส่งออกไปภายนอก Termix ได้ กฎการส่งจะเลือกว่าการแจ้งเตือนใดควรใช้ช่องทางเหล่านั้น",
|
||||
"add": "เพิ่มช่องทาง",
|
||||
"edit": "แก้ไขช่อง",
|
||||
"test": "ส่งทดสอบ",
|
||||
"testSent": "ส่งการแจ้งเตือนการทดสอบแล้ว",
|
||||
"testFailed": "การทดสอบล้มเหลว: {{error}}",
|
||||
"deleteConfirm": "ลบช่อง \"{{name}}\"?",
|
||||
"deleted": "ช่องถูกลบแล้ว",
|
||||
"empty": "ยังไม่มีช่องทางใด ๆ",
|
||||
"enabled": "เปิดใช้งาน",
|
||||
"needsSave": "ต้องเปิดและบันทึกช่องทางนี้อีกครั้งก่อนจึงจะสามารถส่งได้",
|
||||
"name": "ชื่อ",
|
||||
"nameRequired": "ต้องระบุชื่อ",
|
||||
"type": "พิมพ์",
|
||||
"types": {
|
||||
"webhook": "Webhook",
|
||||
"webhook": "เว็บฮุค",
|
||||
"ntfy": "ntfy",
|
||||
"discord": "Discord",
|
||||
"email": "Email"
|
||||
"discord": "ดิสคอร์ด",
|
||||
"email": "อีเมล"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "อีเมลจำเป็นต้องมีเซิร์ฟเวอร์ SMTP ซึ่งผู้ดูแลระบบจะตั้งค่าไว้ในการตั้งค่าการแจ้งเตือน",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"ntfyServer": "Server URL",
|
||||
"ntfyTopic": "Topic",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"webhookHint": "จะได้รับข้อมูล JSON สำหรับการแจ้งเตือนทุกครั้ง",
|
||||
"method": "วิธี",
|
||||
"headers": "ส่วนหัว",
|
||||
"headersHint": "หนึ่งรายการต่อบรรทัด เช่น ชื่อ: ค่า",
|
||||
"ntfyServer": "URL ของเซิร์ฟเวอร์",
|
||||
"ntfyTopic": "หัวข้อ",
|
||||
"ntfyToken": "โทเค็นการเข้าถึง (ไม่บังคับ)",
|
||||
"discordUrl": "URL เว็บฮุคของ Discord",
|
||||
"discordHint": "จากเมนูการตั้งค่าของช่องใน Discord ในส่วน \"การผสานรวม\"",
|
||||
"discordUsername": "ชื่อที่แสดง (ไม่บังคับ)",
|
||||
"discordAvatar": "URL รูปประจำตัว (ไม่บังคับ)",
|
||||
"emailTo": "ส่งไปยัง",
|
||||
"emailHint": "คั่นที่อยู่มากกว่าหนึ่งรายการด้วยเครื่องหมายจุลภาค",
|
||||
"privateNetwork": "อนุญาตให้ใช้ที่อยู่เครือข่ายส่วนตัว",
|
||||
"privateNetworkHint": "ใช้ได้เฉพาะกับโฮสต์ที่ผู้ดูแลระบบอนุญาตในรายการปลายทางส่วนตัวเท่านั้น"
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"enabled": "Enabled",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"intro": "กฎการส่งจะส่งการแจ้งเตือนที่ตรงกันไปยังช่องทางต่างๆ ของคุณ การแจ้งเตือนเหล่านี้จะยังคงอยู่ในกล่องจดหมายเข้าเสมอ",
|
||||
"add": "เพิ่มกฎ",
|
||||
"edit": "แก้ไขกฎ",
|
||||
"empty": "ยังไม่มีการกำหนดกฎเกณฑ์ใดๆ ดังนั้นการแจ้งเตือนจะปรากฏเฉพาะในกล่องจดหมายเข้าเท่านั้น",
|
||||
"needChannel": "เพิ่มช่องทางก่อน",
|
||||
"enabled": "เปิดใช้งาน",
|
||||
"name": "ชื่อ",
|
||||
"nameRequired": "ต้องระบุชื่อ",
|
||||
"match": "การแจ้งเตือนที่จะส่ง",
|
||||
"matchHint": "*สำหรับทุกสิ่งทุกอย่าง ระบบอัตโนมัติ* สำหรับทุกสิ่งทุกอย่างจากระบบอัตโนมัติ หรือระบบอัตโนมัติแบบใดแบบหนึ่งโดยเฉพาะ",
|
||||
"minSeverity": "อย่างน้อย",
|
||||
"channels": "ส่งไปยัง",
|
||||
"channelRequired": "เลือกอย่างน้อยหนึ่งช่อง",
|
||||
"deleteConfirm": "ลบกฎ \"{{name}} \" ออกหรือไม่?",
|
||||
"everything": "ทุกอย่าง",
|
||||
"summary": "{{match}}, {{severity}} หรือสูงกว่า ไปจนถึง {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Cancel",
|
||||
"save": "Save",
|
||||
"saving": "Saving...",
|
||||
"delete": "Delete"
|
||||
"cancel": "ยกเลิก",
|
||||
"save": "บันทึก",
|
||||
"saving": "ประหยัด...",
|
||||
"delete": "ลบ"
|
||||
},
|
||||
"widget": {
|
||||
"name": "Alert Feed",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"allClear": "All clear",
|
||||
"loading": "Loading..."
|
||||
"name": "ฟีดแจ้งเตือน",
|
||||
"description": "การแจ้งเตือนล่าสุดของคุณ พร้อมวิธีทำเครื่องหมายว่าอ่านแล้วอย่างรวดเร็ว",
|
||||
"maxItems": "ไอเทมสูงสุด",
|
||||
"showRead": "แสดงการแจ้งเตือนการอ่าน",
|
||||
"allClear": "ทุกอย่างเรียบร้อย",
|
||||
"loading": "กำลังโหลด..."
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,13 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Uyarıları kullanın",
|
||||
"description": "Gelen kutunuza bildirimler alın ve bunları kendi kanallarınıza gönderin."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Uyarılar",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"featureDesc": "Tüm uyarılar tek bir gelen kutusunda toplanır ve isterseniz Discord, NTfy, e-posta veya webhook üzerinden de gönderilebilir."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
@@ -19,97 +19,97 @@
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Termix duyuruları",
|
||||
"description": "Termix ekibinden gelen güvenlik uyarıları ve sürümler gibi haberleri herkesin e-posta kutusunda göster."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Uyarıları (gün) süreyle açık tut",
|
||||
"description": "Eski bildirimler tüm gelen kutularından silinir."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "SMTP sunucusu",
|
||||
"description": "E-posta kanalları için gereklidir. E-postayı kapatmak için boş bırakın.",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "SMTP bağlantı noktası",
|
||||
"description": "Genellikle STARTTLS ile 587 veya TLS ile 465 kullanılır."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "TLS'yi en başından itibaren kullanın.",
|
||||
"description": "465 numaralı bağlantı noktası için etkinleştirin. 587 numaralı bağlantı noktasını ise devre dışı bırakın; bu bağlantı noktası otomatik olarak TLS'ye yükseltilir."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "SMTP kullanıcı adı",
|
||||
"description": "Sunucuya giriş yapılması gerekmiyorsa boş bırakın."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "SMTP şifresi",
|
||||
"description": "Şifrelenmiş olarak saklanmaktadır."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"label": "Gönderen adresi",
|
||||
"description": "Uyarı gönderen şuradan geliyor.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"label": "Uyarı açılır pencereleri",
|
||||
"description": "Termix kullanırken hangi yeni uyarılar belirir? Bunlar her zaman gelen kutunuza düşer.",
|
||||
"all": "Tüm uyarılar",
|
||||
"warning": "Uyarılar ve kritik noktalar",
|
||||
"critical": "Sadece kritik",
|
||||
"off": "Yok"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"inbox": "Gelen Kutusu",
|
||||
"channels": "Kanallar",
|
||||
"rules": "Delivery rules"
|
||||
"rules": "Teslimat kuralları"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Bilgi",
|
||||
"success": "Başarılı",
|
||||
"warning": "Uyarı",
|
||||
"critical": "Critical"
|
||||
"critical": "Kritik"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Aç",
|
||||
"view": "Görüntüle",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"unread": "Okunmamış",
|
||||
"deliveryFailed_one": "{{count}} kanal başarısız oldu",
|
||||
"deliveryFailed_other": "{{count}} kanal başarısız oldu",
|
||||
"markRead": "Okundu olarak işaretle",
|
||||
"markUnread": "Okunmamış olarak işaretle",
|
||||
"markAllRead": "Tümünü okundu olarak işaretle",
|
||||
"delete": "Sil",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"clearRead": "Okuma uyarılarını sil",
|
||||
"cleared_one": "Silindi {{count}} uyarısı",
|
||||
"cleared_other": "Silinen {{count}} uyarıları",
|
||||
"filterAll": "Tümü",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"filterUnread": "Okunmamış",
|
||||
"anySeverity": "Herhangi bir şiddet",
|
||||
"anySource": "Herhangi bir kaynak",
|
||||
"openAll": "Yeni sekmede aç",
|
||||
"empty": "Henüz herhangi bir uyarı yok.",
|
||||
"emptyUnread": "Her şey tamamlandı.",
|
||||
"loadMore": "Daha fazla yükle"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"intro": "Kanallar, uyarıların Termix dışına gönderilebileceği yerlerdir. Teslimat kuralları, hangi uyarıların bu kanalları kullanacağını belirler.",
|
||||
"add": "Kanal ekle",
|
||||
"edit": "Kanalı düzenle",
|
||||
"test": "Bir test gönderin",
|
||||
"testSent": "Test uyarısı gönderildi",
|
||||
"testFailed": "Test başarısız oldu: {{error}}",
|
||||
"deleteConfirm": "\"{{name}} \" kanalını silmek mi istiyorsunuz?",
|
||||
"deleted": "Kanal silindi",
|
||||
"empty": "Henüz kanal yok.",
|
||||
"enabled": "Etkin",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"needsSave": "Bu kanalın gönderilebilmesi için önce açılıp tekrar kaydedilmesi gerekiyor.",
|
||||
"name": "Ad",
|
||||
"nameRequired": "Ad zorunludur",
|
||||
"type": "Tür",
|
||||
@@ -119,41 +119,41 @@
|
||||
"discord": "Discord",
|
||||
"email": "E-posta"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "E-posta göndermek için bir SMTP sunucusuna ihtiyaç vardır ve bu sunucu yönetici tarafından Uyarılar ayarlarında kurulur.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"webhookHint": "Her uyarı için JSON formatında bir veri gövdesi alır.",
|
||||
"method": "Yöntem",
|
||||
"headers": "Başlıklar",
|
||||
"headersHint": "Her satıra bir tane, örneğin İsim: değer şeklinde.",
|
||||
"ntfyServer": "Sunucu URL'si",
|
||||
"ntfyTopic": "Konu",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"ntfyToken": "Erişim belirteci (isteğe bağlı)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"discordHint": "Discord'daki kanal ayarlarından, Entegrasyonlar bölümünden.",
|
||||
"discordUsername": "Görüntülenen ad (isteğe bağlı)",
|
||||
"discordAvatar": "Avatar URL'si (isteğe bağlı)",
|
||||
"emailTo": "Gönder",
|
||||
"emailHint": "Birden fazla adresi virgülle ayırın.",
|
||||
"privateNetwork": "Özel ağ adresine izin verin",
|
||||
"privateNetworkHint": "Yalnızca yöneticinin özel uç nokta listesinde izin verdiği sunucular için çalışır."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"intro": "Bir teslimat kuralı, eşleşen uyarıları kanallarınıza gönderir. Uyarılar her zaman gelen kutunuzda da kalır.",
|
||||
"add": "Kural ekle",
|
||||
"edit": "Kuralı düzenle",
|
||||
"empty": "Henüz kurallar belirlenmedi, bu nedenle uyarılar yalnızca gelen kutusunda görünüyor.",
|
||||
"needChannel": "Önce bir kanal ekleyin.",
|
||||
"enabled": "Etkin",
|
||||
"name": "Ad",
|
||||
"nameRequired": "Ad zorunludur",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"match": "Gönderilecek uyarılar",
|
||||
"matchHint": "*Her şey için otomasyonlar.* Otomasyonlardan her şeye veya belirli bir türe kadar.",
|
||||
"minSeverity": "En azından",
|
||||
"channels": "Gönder",
|
||||
"channelRequired": "En az bir kanal seçin",
|
||||
"deleteConfirm": "\"{{name}} \" kuralını silmek mi istiyorsunuz?",
|
||||
"everything": "Her şey",
|
||||
"summary": "{{match}}, {{severity}} veya daha yüksek, {{channels}}'ye kadar"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "İptal",
|
||||
@@ -163,9 +163,9 @@
|
||||
},
|
||||
"widget": {
|
||||
"name": "Uyarı Akışı",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"description": "En son bildirimleriniz ve bunları okundu olarak işaretlemenin hızlı bir yolu.",
|
||||
"maxItems": "Maksimum öğe",
|
||||
"showRead": "Okuma uyarılarını göster",
|
||||
"allClear": "Her şey normal",
|
||||
"loading": "Yükleniyor..."
|
||||
}
|
||||
|
||||
@@ -1,172 +1,172 @@
|
||||
{
|
||||
"nav": {
|
||||
"alerts": "Alerts"
|
||||
"alerts": "Сповіщення"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Використовуйте сповіщення",
|
||||
"description": "Отримуйте сповіщення у вхідні повідомлення та надсилайте їх на власні канали."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Alerts",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"feature": "Сповіщення",
|
||||
"featureDesc": "Кожне сповіщення в одній поштовій скриньці, що надсилається на Discord, ntfy, електронну пошту або вебхук, якщо хочете."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
"general": "General",
|
||||
"email": "Email"
|
||||
"general": "Загальне",
|
||||
"email": "Електронна пошта"
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Оголошення Termix",
|
||||
"description": "Показувати новини від команди Termix, такі як повідомлення та релізи безпеки, у папці \"Вхідні\" для всіх."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Зберігати сповіщення протягом (днів)",
|
||||
"description": "Старіші сповіщення видаляються з усіх папок \"Вхідні\"."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "SMTP-сервер",
|
||||
"description": "Потрібно для каналів електронної пошти. Залиште поле порожнім, щоб вимкнути електронну пошту.",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "SMTP-порт",
|
||||
"description": "Зазвичай 587 з STARTTLS або 465 з TLS."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "Використовуйте TLS з самого початку",
|
||||
"description": "Увімкніть для порту 465. Вимкніть для порту 587, який самостійно оновлюється до TLS."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "Ім'я користувача SMTP",
|
||||
"description": "Залиште поле порожнім, якщо сервер не потребує входу."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "Пароль SMTP",
|
||||
"description": "Зберігається зашифрованим."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
"label": "З адреси",
|
||||
"description": "Сповіщення відправника надходять з.",
|
||||
"placeholder": "Термікс <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"off": "None"
|
||||
"label": "Спливаючі вікна сповіщень",
|
||||
"description": "Які нові сповіщення з’являються під час використання Termix. Вони завжди потрапляють у папку «Вхідні».",
|
||||
"all": "Усі сповіщення",
|
||||
"warning": "Попередження та критичні",
|
||||
"critical": "Тільки критично",
|
||||
"off": "Жоден"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"channels": "Channels",
|
||||
"rules": "Delivery rules"
|
||||
"inbox": "Вхідні",
|
||||
"channels": "Канали",
|
||||
"rules": "Правила доставки"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Info",
|
||||
"success": "Success",
|
||||
"warning": "Warning",
|
||||
"critical": "Critical"
|
||||
"info": "Інформація",
|
||||
"success": "Успіх",
|
||||
"warning": "УВАГА",
|
||||
"critical": "Критичний"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Open",
|
||||
"view": "View",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"delete": "Delete",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"filterAll": "All",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"sourceTermix": "Термікс",
|
||||
"openLink": "ВІДЧИНЕНО",
|
||||
"view": "Переглянути",
|
||||
"unread": "Непрочитане",
|
||||
"deliveryFailed_one": "{{count}} канал не вдався",
|
||||
"deliveryFailed_other": "{{count}} каналів не вдалося",
|
||||
"markRead": "Позначити як прочитане",
|
||||
"markUnread": "Позначити як непрочитане",
|
||||
"markAllRead": "Позначити всі як прочитані",
|
||||
"delete": "Видалити",
|
||||
"clearRead": "Видалити сповіщення про прочитання",
|
||||
"cleared_one": "Видалено сповіщення {{count}}",
|
||||
"cleared_other": "Видалено сповіщень {{count}}",
|
||||
"filterAll": "Усі",
|
||||
"filterUnread": "Непрочитане",
|
||||
"anySeverity": "Будь-якої тяжкості",
|
||||
"anySource": "Будь-яке джерело",
|
||||
"openAll": "Відкрити у вкладці",
|
||||
"empty": "Поки що немає сповіщень.",
|
||||
"emptyUnread": "Ви все в курсі.",
|
||||
"loadMore": "Завантажити більше"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"enabled": "Enabled",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"type": "Type",
|
||||
"intro": "Канали – це місця, де сповіщення можуть надходити за межі Termix. Правила доставки вибирають, які сповіщення їх використовувати.",
|
||||
"add": "Додати канал",
|
||||
"edit": "Редагувати канал",
|
||||
"test": "Надіслати тест",
|
||||
"testSent": "Тестове сповіщення надіслано",
|
||||
"testFailed": "Тест не вдався: {{error}}",
|
||||
"deleteConfirm": "Видалити канал «{{name}}»?",
|
||||
"deleted": "Канал видалено",
|
||||
"empty": "Поки що немає каналів.",
|
||||
"enabled": "Увімкнено",
|
||||
"needsSave": "Цей канал потрібно знову відкрити та зберегти, перш ніж його можна буде надіслати.",
|
||||
"name": "Ім'я",
|
||||
"nameRequired": "Ім'я обов'язкове",
|
||||
"type": "Тип",
|
||||
"types": {
|
||||
"webhook": "Webhook",
|
||||
"webhook": "Вебхук",
|
||||
"ntfy": "ntfy",
|
||||
"discord": "Discord",
|
||||
"email": "Email"
|
||||
"discord": "Дискорд",
|
||||
"email": "Електронна пошта"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"ntfyServer": "Server URL",
|
||||
"ntfyTopic": "Topic",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"emailUnavailable": "Для електронної пошти потрібен SMTP-сервер, який адміністратор налаштовує в налаштуваннях сповіщень.",
|
||||
"webhookUrl": "URL-адреса",
|
||||
"webhookHint": "Отримує тіло JSON для кожного сповіщення.",
|
||||
"method": "Метод",
|
||||
"headers": "Заголовки",
|
||||
"headersHint": "По одному на рядок, наприклад, Ім'я: значення.",
|
||||
"ntfyServer": "URL-адреса сервера",
|
||||
"ntfyTopic": "Тема",
|
||||
"ntfyToken": "Токен доступу (необов'язково)",
|
||||
"discordUrl": "URL-адреса вебхука Discord",
|
||||
"discordHint": "У налаштуваннях каналу в Discord, у розділі «Інтеграції».",
|
||||
"discordUsername": "Відображуване ім'я (необов'язково)",
|
||||
"discordAvatar": "URL-адреса аватара (необов'язково)",
|
||||
"emailTo": "Надіслати",
|
||||
"emailHint": "Розділяйте більше однієї адреси комами.",
|
||||
"privateNetwork": "Дозволити адресу приватної мережі",
|
||||
"privateNetworkHint": "Працює лише для хостів, які адміністратор дозволяє в списку приватних кінцевих точок."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"enabled": "Enabled",
|
||||
"name": "Name",
|
||||
"nameRequired": "Name is required",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"intro": "Правило доставки надсилає відповідні сповіщення до ваших каналів. Сповіщення також завжди залишаються у вхідних повідомленнях.",
|
||||
"add": "Додати правило",
|
||||
"edit": "Редагувати правило",
|
||||
"empty": "Поки що немає правил, тому сповіщення відображаються лише у вхідних повідомленнях.",
|
||||
"needChannel": "Спочатку додайте канал.",
|
||||
"enabled": "Увімкнено",
|
||||
"name": "Ім'я",
|
||||
"nameRequired": "Ім'я обов'язкове",
|
||||
"match": "Сповіщення для надсилання",
|
||||
"matchHint": "* для всього, автоматизації.* для всього, починаючи від автоматизації, або одного точного виду.",
|
||||
"minSeverity": "Принаймні",
|
||||
"channels": "Надіслати",
|
||||
"channelRequired": "Виберіть хоча б один канал",
|
||||
"deleteConfirm": "Видалити правило \"{{name}}\"?",
|
||||
"everything": "Все",
|
||||
"summary": "{{match}}, {{severity}} або вище, до {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Cancel",
|
||||
"save": "Save",
|
||||
"saving": "Saving...",
|
||||
"delete": "Delete"
|
||||
"cancel": "Скасувати",
|
||||
"save": "Зберегти",
|
||||
"saving": "Збереження...",
|
||||
"delete": "Видалити"
|
||||
},
|
||||
"widget": {
|
||||
"name": "Alert Feed",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"allClear": "All clear",
|
||||
"loading": "Loading..."
|
||||
"name": "Стрічка сповіщень",
|
||||
"description": "Ваші останні сповіщення з можливістю швидко позначити їх як прочитані",
|
||||
"maxItems": "Макс. кількість елементів",
|
||||
"showRead": "Показувати сповіщення про прочитання",
|
||||
"allClear": "Все чисто",
|
||||
"loading": "Завантаження..."
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,13 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "Sử dụng cảnh báo",
|
||||
"description": "Nhận thông báo trong hộp thư đến và chia sẻ chúng lên các kênh của riêng bạn."
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "Cảnh báo",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"featureDesc": "Tất cả thông báo đều được tập trung trong một hộp thư đến, sau đó được gửi đến Discord, NTFS, email hoặc webhook nếu bạn muốn."
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
@@ -19,97 +19,97 @@
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Thông báo của Termix",
|
||||
"description": "Hiển thị tin tức từ đội ngũ Termix, chẳng hạn như thông báo bảo mật và bản phát hành, trong hộp thư đến của mọi người."
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "Giữ cảnh báo trong (ngày)",
|
||||
"description": "Các thông báo cũ hơn sẽ bị xóa khỏi mọi hộp thư đến."
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "Máy chủ SMTP",
|
||||
"description": "Cần thiết cho các kênh email. Để trống nếu muốn tắt email.",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "Cổng SMTP",
|
||||
"description": "Thông thường là cổng 587 với STARTTLS hoặc 465 với TLS."
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "Hãy sử dụng TLS ngay từ đầu.",
|
||||
"description": "Bật tính năng này cho cổng 465. Tắt tính năng cho cổng 587, vì cổng này sẽ tự động nâng cấp lên TLS."
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "Tên người dùng SMTP",
|
||||
"description": "Để trống nếu máy chủ không cần đăng nhập."
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "Mật khẩu SMTP",
|
||||
"description": "Được lưu trữ dưới dạng mã hóa."
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"label": "Từ địa chỉ",
|
||||
"description": "Thông báo đến từ nguồn nào?",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"label": "Cửa sổ bật lên cảnh báo",
|
||||
"description": "Những thông báo mới nào xuất hiện khi bạn sử dụng Termix? Chúng luôn được gửi đến hộp thư đến.",
|
||||
"all": "Tất cả cảnh báo",
|
||||
"warning": "Cảnh báo và thông tin quan trọng",
|
||||
"critical": "Chỉ quan trọng",
|
||||
"off": "Không"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"inbox": "Hộp thư đến",
|
||||
"channels": "Kênh",
|
||||
"rules": "Delivery rules"
|
||||
"rules": "Quy tắc giao hàng"
|
||||
},
|
||||
"severity": {
|
||||
"info": "Thông tin",
|
||||
"success": "Thành công",
|
||||
"warning": "Cảnh báo",
|
||||
"critical": "Critical"
|
||||
"critical": "Phê bình"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "Mở",
|
||||
"view": "Xem",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"unread": "Chưa đọc",
|
||||
"deliveryFailed_one": "{{count}} kênh bị lỗi",
|
||||
"deliveryFailed_other": "{{count}} kênh bị lỗi",
|
||||
"markRead": "Đánh dấu là đã đọc",
|
||||
"markUnread": "Đánh dấu là chưa đọc",
|
||||
"markAllRead": "Đánh dấu tất cả là đã đọc",
|
||||
"delete": "Xóa",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"clearRead": "Xóa thông báo đã đọc",
|
||||
"cleared_one": "Đã xóa cảnh báo {{count}}",
|
||||
"cleared_other": "Đã xóa {{count}} cảnh báo",
|
||||
"filterAll": "Tất cả",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"filterUnread": "Chưa đọc",
|
||||
"anySeverity": "Bất kỳ mức độ nghiêm trọng nào",
|
||||
"anySource": "Bất kỳ nguồn nào",
|
||||
"openAll": "Mở trong một tab",
|
||||
"empty": "Chưa có thông báo nào.",
|
||||
"emptyUnread": "Bạn đã nắm bắt được hết mọi thứ rồi.",
|
||||
"loadMore": "Tải thêm"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"intro": "Các kênh là nơi các cảnh báo có thể được gửi ra ngoài Termix. Các quy tắc phân phối sẽ chọn những cảnh báo nào sử dụng các kênh đó.",
|
||||
"add": "Thêm kênh",
|
||||
"edit": "Chỉnh sửa kênh",
|
||||
"test": "Gửi một bài kiểm tra",
|
||||
"testSent": "Đã gửi cảnh báo thử nghiệm",
|
||||
"testFailed": "Kiểm tra thất bại: {{error}}",
|
||||
"deleteConfirm": "Xóa kênh \"{{name}}\"?",
|
||||
"deleted": "Kênh đã bị xóa",
|
||||
"empty": "Chưa có kênh nào.",
|
||||
"enabled": "Đã bật",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"needsSave": "Kênh này cần được mở và lưu lại một lần nữa trước khi có thể gửi.",
|
||||
"name": "Tên",
|
||||
"nameRequired": "Tên là bắt buộc",
|
||||
"type": "Loại",
|
||||
@@ -119,41 +119,41 @@
|
||||
"discord": "Discord",
|
||||
"email": "Email"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "Email cần có máy chủ SMTP, mà quản trị viên sẽ thiết lập trong phần cài đặt Thông báo.",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"webhookHint": "Lấy nội dung JSON cho mỗi thông báo.",
|
||||
"method": "Phương pháp",
|
||||
"headers": "Tiêu đề",
|
||||
"headersHint": "Mỗi mục một dòng, ví dụ: Tên: giá trị.",
|
||||
"ntfyServer": "URL máy chủ",
|
||||
"ntfyTopic": "Chủ đề",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"ntfyToken": "Mã truy cập (tùy chọn)",
|
||||
"discordUrl": "URL webhook Discord",
|
||||
"discordHint": "Bạn có thể chọn \"Integrations\" trong phần cài đặt kênh trên Discord.",
|
||||
"discordUsername": "Tên hiển thị (tùy chọn)",
|
||||
"discordAvatar": "URL ảnh đại diện (tùy chọn)",
|
||||
"emailTo": "Gửi đến",
|
||||
"emailHint": "Hãy sử dụng dấu phẩy để phân tách nhiều địa chỉ.",
|
||||
"privateNetwork": "Cho phép địa chỉ mạng riêng",
|
||||
"privateNetworkHint": "Chỉ hoạt động với các máy chủ mà quản trị viên cho phép trong danh sách điểm cuối riêng tư."
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"intro": "Quy tắc phân phối sẽ gửi các thông báo phù hợp đến các kênh của bạn. Các thông báo này cũng luôn được lưu trữ trong hộp thư đến.",
|
||||
"add": "Thêm quy tắc",
|
||||
"edit": "Chỉnh sửa quy tắc",
|
||||
"empty": "Hiện chưa có quy tắc nào, vì vậy thông báo chỉ hiển thị trong hộp thư đến.",
|
||||
"needChannel": "Trước tiên hãy thêm kênh.",
|
||||
"enabled": "Đã bật",
|
||||
"name": "Tên",
|
||||
"nameRequired": "Tên là bắt buộc",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"match": "Thông báo cần gửi",
|
||||
"matchHint": "* Cho mọi thứ, tự động hóa.* Cho mọi thứ từ tự động hóa, hoặc một loại cụ thể nào đó.",
|
||||
"minSeverity": "Ít nhất",
|
||||
"channels": "Gửi đến",
|
||||
"channelRequired": "Chọn ít nhất một kênh",
|
||||
"deleteConfirm": "Xóa quy tắc \"{{name}}\"?",
|
||||
"everything": "Mọi thứ",
|
||||
"summary": "{{match}}, {{severity}} hoặc cao hơn, đến {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "Hủy",
|
||||
@@ -163,9 +163,9 @@
|
||||
},
|
||||
"widget": {
|
||||
"name": "Luồng cảnh báo",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"description": "Thông báo mới nhất của bạn, kèm theo cách nhanh để đánh dấu đã đọc.",
|
||||
"maxItems": "Số lượng vật phẩm tối đa",
|
||||
"showRead": "Hiển thị thông báo đã đọc",
|
||||
"allClear": "Tất cả ổn",
|
||||
"loading": "Đang tải..."
|
||||
}
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use alerts",
|
||||
"description": "Get alerts in the inbox and send them to your own channels."
|
||||
"title": "使用提醒",
|
||||
"description": "在收件匣中接收提醒,並將其發送到您自己的頻道。"
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
"feature": "警示",
|
||||
"featureDesc": "Every alert in one inbox, sent on to Discord, ntfy, email or a webhook if you want."
|
||||
"featureDesc": "所有提醒都集中在一個收件匣中,您可以選擇將其發送到 Discord、ntfy、電子郵件或 webhook。"
|
||||
},
|
||||
"settings": {
|
||||
"group": {
|
||||
@@ -19,97 +19,97 @@
|
||||
},
|
||||
"admin": {
|
||||
"announcements": {
|
||||
"label": "Termix announcements",
|
||||
"description": "Show news from the Termix team, like security notices and releases, in everyone's inbox."
|
||||
"label": "Termix公告",
|
||||
"description": "將 Termix 團隊的新聞,例如安全通知和版本發布,發送到每個人的收件匣。"
|
||||
},
|
||||
"retentionDays": {
|
||||
"label": "Keep alerts for (days)",
|
||||
"description": "Older alerts are removed from every inbox."
|
||||
"label": "保持警報(天)",
|
||||
"description": "所有收件匣中都會刪除較舊的提醒郵件。"
|
||||
},
|
||||
"smtpHost": {
|
||||
"label": "SMTP server",
|
||||
"description": "Needed for email channels. Leave empty to turn email off.",
|
||||
"label": "SMTP伺服器",
|
||||
"description": "需要用於電子郵件管道。留空則關閉電子郵件功能。",
|
||||
"placeholder": "smtp.example.com"
|
||||
},
|
||||
"smtpPort": {
|
||||
"label": "SMTP port",
|
||||
"description": "Usually 587 with STARTTLS or 465 with TLS."
|
||||
"label": "SMTP連接埠",
|
||||
"description": "通常使用 STARTTLS 的 587 連接埠或使用 TLS 的 465 連接埠。"
|
||||
},
|
||||
"smtpSecure": {
|
||||
"label": "Use TLS from the start",
|
||||
"description": "Turn on for port 465. Leave off for 587, which upgrades to TLS on its own."
|
||||
"label": "從一開始就使用TLS",
|
||||
"description": "啟用 465 連接埠。保持 587 連接埠關閉,該連接埠會自動升級至 TLS。"
|
||||
},
|
||||
"smtpUser": {
|
||||
"label": "SMTP username",
|
||||
"description": "Leave empty if the server does not need a login."
|
||||
"label": "SMTP 使用者名稱",
|
||||
"description": "如果伺服器不需要登錄,請留空。"
|
||||
},
|
||||
"smtpPassword": {
|
||||
"label": "SMTP password",
|
||||
"description": "Stored encrypted."
|
||||
"label": "SMTP密碼",
|
||||
"description": "已加密儲存。"
|
||||
},
|
||||
"smtpFrom": {
|
||||
"label": "From address",
|
||||
"description": "The sender alerts come from.",
|
||||
"placeholder": "Termix <alerts@example.com>"
|
||||
"label": "來自地址",
|
||||
"description": "寄件者警報來自。",
|
||||
"placeholder": "終端 <alerts@example.com>"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"popups": {
|
||||
"label": "Alert popups",
|
||||
"description": "Which new alerts pop up while you use Termix. They always land in the inbox.",
|
||||
"all": "All alerts",
|
||||
"warning": "Warnings and critical",
|
||||
"critical": "Critical only",
|
||||
"label": "彈出式警報",
|
||||
"description": "使用Termix時會彈出哪些新提醒?它們都會發送到您的收件匣。",
|
||||
"all": "所有警報",
|
||||
"warning": "警告和關鍵訊息",
|
||||
"critical": "僅限關鍵",
|
||||
"off": "取消全選"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sections": {
|
||||
"inbox": "Inbox",
|
||||
"inbox": "收件匣",
|
||||
"channels": "通道",
|
||||
"rules": "Delivery rules"
|
||||
"rules": "配送規則"
|
||||
},
|
||||
"severity": {
|
||||
"info": "資訊",
|
||||
"success": "成功",
|
||||
"warning": "警告",
|
||||
"critical": "Critical"
|
||||
"critical": "批判的"
|
||||
},
|
||||
"inbox": {
|
||||
"sourceTermix": "Termix",
|
||||
"openLink": "開啟",
|
||||
"view": "檢視",
|
||||
"unread": "Unread",
|
||||
"deliveryFailed_one": "{{count}} channel failed",
|
||||
"deliveryFailed_other": "{{count}} channels failed",
|
||||
"markRead": "Mark as read",
|
||||
"markUnread": "Mark as unread",
|
||||
"markAllRead": "Mark all as read",
|
||||
"unread": "未讀",
|
||||
"deliveryFailed_one": "{{count}} 頻道失敗",
|
||||
"deliveryFailed_other": "{{count}} 頻道失敗",
|
||||
"markRead": "標記為已讀",
|
||||
"markUnread": "標記為未讀",
|
||||
"markAllRead": "全部標記為已讀",
|
||||
"delete": "刪除",
|
||||
"clearRead": "Delete read alerts",
|
||||
"cleared_one": "Deleted {{count}} alert",
|
||||
"cleared_other": "Deleted {{count}} alerts",
|
||||
"clearRead": "刪除已讀提醒",
|
||||
"cleared_one": "已刪除 {{count}} 警報",
|
||||
"cleared_other": "已刪除 {{count}} 警報",
|
||||
"filterAll": "全選",
|
||||
"filterUnread": "Unread",
|
||||
"anySeverity": "Any severity",
|
||||
"anySource": "Any source",
|
||||
"openAll": "Open in a tab",
|
||||
"empty": "No alerts yet.",
|
||||
"emptyUnread": "You are all caught up.",
|
||||
"loadMore": "Load more"
|
||||
"filterUnread": "未讀",
|
||||
"anySeverity": "任何嚴重程度",
|
||||
"anySource": "任何來源",
|
||||
"openAll": "在標籤頁中開啟",
|
||||
"empty": "目前尚未收到任何警報。",
|
||||
"emptyUnread": "你們都跟上了。",
|
||||
"loadMore": "加載更多"
|
||||
},
|
||||
"channels": {
|
||||
"intro": "Channels are where alerts can go outside Termix. Delivery rules pick which alerts use them.",
|
||||
"add": "Add channel",
|
||||
"edit": "Edit channel",
|
||||
"test": "Send a test",
|
||||
"testSent": "Test alert sent",
|
||||
"testFailed": "Test failed: {{error}}",
|
||||
"deleteConfirm": "Delete the channel \"{{name}}\"?",
|
||||
"deleted": "Channel deleted",
|
||||
"empty": "No channels yet.",
|
||||
"intro": "通道是警報可以發送到 Termix 外部的途徑。發送規則決定哪些警報使用哪個通道。",
|
||||
"add": "新增頻道",
|
||||
"edit": "編輯頻道",
|
||||
"test": "發送測試",
|
||||
"testSent": "已發送測試警報",
|
||||
"testFailed": "測試失敗: {{error}}",
|
||||
"deleteConfirm": "刪除頻道「{{name}}」?",
|
||||
"deleted": "頻道已刪除",
|
||||
"empty": "暫無頻道。",
|
||||
"enabled": "已啟用",
|
||||
"needsSave": "This channel needs to be opened and saved again before it can send.",
|
||||
"needsSave": "該通道需要重新打開並保存才能發送訊息。",
|
||||
"name": "名稱",
|
||||
"nameRequired": "名稱為必填",
|
||||
"type": "類型",
|
||||
@@ -119,41 +119,41 @@
|
||||
"discord": "Discord",
|
||||
"email": "電子郵件"
|
||||
},
|
||||
"emailUnavailable": "Email needs an SMTP server, which an admin sets up in the Alerts settings.",
|
||||
"emailUnavailable": "電子郵件需要 SMTP 伺服器,管理員可以在「警報」設定中進行設定。",
|
||||
"webhookUrl": "URL",
|
||||
"webhookHint": "Gets a JSON body for every alert.",
|
||||
"method": "Method",
|
||||
"headers": "Headers",
|
||||
"headersHint": "One per line, like Name: value.",
|
||||
"webhookHint": "取得每個警報的 JSON 正文。",
|
||||
"method": "方法",
|
||||
"headers": "標題",
|
||||
"headersHint": "每行一個,格式為:名稱:值。",
|
||||
"ntfyServer": "伺服器 URL",
|
||||
"ntfyTopic": "主題",
|
||||
"ntfyToken": "Access token (optional)",
|
||||
"ntfyToken": "訪問令牌(可選)",
|
||||
"discordUrl": "Discord webhook URL",
|
||||
"discordHint": "From the channel's settings in Discord, under Integrations.",
|
||||
"discordUsername": "Display name (optional)",
|
||||
"discordAvatar": "Avatar URL (optional)",
|
||||
"emailTo": "Send to",
|
||||
"emailHint": "Separate more than one address with commas.",
|
||||
"privateNetwork": "Allow a private network address",
|
||||
"privateNetworkHint": "Only works for hosts an admin allows in the private endpoint list."
|
||||
"discordHint": "在 Discord 的頻道設定中,位於「整合」下方。",
|
||||
"discordUsername": "顯示名稱(可選)",
|
||||
"discordAvatar": "頭像網址(可選)",
|
||||
"emailTo": "發送至",
|
||||
"emailHint": "多個地址之間以逗號分隔。",
|
||||
"privateNetwork": "允許使用專用網路位址",
|
||||
"privateNetworkHint": "僅適用於管理員允許新增至私有端點清單中的主機。"
|
||||
},
|
||||
"rules": {
|
||||
"intro": "A delivery rule sends matching alerts to your channels. Alerts always stay in the inbox too.",
|
||||
"add": "Add rule",
|
||||
"edit": "Edit rule",
|
||||
"empty": "No rules yet, so alerts only show up in the inbox.",
|
||||
"needChannel": "Add a channel first.",
|
||||
"intro": "發送規則會將符合的提醒傳送到您的頻道。提醒也會始終保留在收件匣中。",
|
||||
"add": "新增規則",
|
||||
"edit": "編輯規則",
|
||||
"empty": "目前還沒有規則,所以提醒只會顯示在收件匣中。",
|
||||
"needChannel": "請先新增頻道。",
|
||||
"enabled": "已啟用",
|
||||
"name": "名稱",
|
||||
"nameRequired": "名稱為必填",
|
||||
"match": "Alerts to send",
|
||||
"matchHint": "* for everything, automations.* for everything from automations, or one exact kind.",
|
||||
"minSeverity": "At least",
|
||||
"channels": "Send to",
|
||||
"channelRequired": "Pick at least one channel",
|
||||
"deleteConfirm": "Delete the rule \"{{name}}\"?",
|
||||
"everything": "Everything",
|
||||
"summary": "{{match}}, {{severity}} or higher, to {{channels}}"
|
||||
"match": "發送提醒",
|
||||
"matchHint": "*適用於所有自動化操作。 *適用於所有自動化操作,或某一特定類型。",
|
||||
"minSeverity": "至少",
|
||||
"channels": "發送至",
|
||||
"channelRequired": "至少選擇一個頻道",
|
||||
"deleteConfirm": "刪除規則“{{name}}”?",
|
||||
"everything": "一切",
|
||||
"summary": "{{match}}、 {{severity}} 或更高,至 {{channels}}"
|
||||
},
|
||||
"actions": {
|
||||
"cancel": "取消",
|
||||
@@ -163,9 +163,9 @@
|
||||
},
|
||||
"widget": {
|
||||
"name": "警報動態",
|
||||
"description": "Your latest alerts, with a quick way to mark them read",
|
||||
"maxItems": "Max items",
|
||||
"showRead": "Show read alerts",
|
||||
"description": "您最新的提醒,以及快速標記為已讀的功能。",
|
||||
"maxItems": "最大物品數",
|
||||
"showRead": "顯示已讀提醒",
|
||||
"allClear": "一切正常",
|
||||
"loading": "載入中..."
|
||||
}
|
||||
|
||||
@@ -1,211 +1,211 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "অটোমেশনগুলি দেখুন",
|
||||
"description": "স্বয়ংক্রিয় ব্যবস্থাগুলো এবং সেগুলোর ইতিহাস দেখুন।"
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "অটোমেশন তৈরি করুন",
|
||||
"description": "নতুন অটোমেশন যোগ করুন।"
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "অটোমেশন সম্পাদনা করুন",
|
||||
"description": "বিদ্যমান অটোমেশনগুলো পরিবর্তন করুন।"
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "অটোমেশনগুলি মুছুন",
|
||||
"description": "অটোমেশনগুলো সরিয়ে ফেলুন।"
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "অটোমেশন চালান",
|
||||
"description": "ম্যানুয়ালি অটোমেশনটি চালু করুন।"
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"tabChannels": "Channels",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"nameRequired": "Name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"enabledLabel": "Enabled",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"title": "অটোমেশন",
|
||||
"tabAutomations": "অটোমেশন",
|
||||
"tabRuns": "রান",
|
||||
"tabChannels": "চ্যানেল",
|
||||
"createAutomation": "নতুন অটোমেশন",
|
||||
"backToAutomations": "অটোমেশনে ফিরে যান",
|
||||
"createTitle": "নতুন অটোমেশন",
|
||||
"editTitle": "সম্পাদনা অটোমেশন",
|
||||
"empty": "এখনো কোনো অটোমেশন নেই। কোনো মেট্রিক, শিডিউল বা ইভেন্টের প্রতিক্রিয়ায় একটি তৈরি করুন।",
|
||||
"emptyRuns": "এখনো কোনো রান হয়নি।",
|
||||
"channelsHint": "অ্যালার্টে চ্যানেলগুলি সেট আপ করা আছে।",
|
||||
"noChannelsHint": "অ্যালার্টটি সবসময় আপনার ইনবক্সে আসে। এটি অন্য কোথাও পাঠানোর জন্য অ্যালার্টে চ্যানেল যোগ করুন।",
|
||||
"nameLabel": "নাম",
|
||||
"namePlaceholder": "যেমন, /data পূর্ণ হয়ে গেলে তা পরিষ্কার করুন।",
|
||||
"nameRequired": "নাম আবশ্যক",
|
||||
"descriptionLabel": "বর্ণনা",
|
||||
"descriptionPlaceholder": "ঐচ্ছিক বিবরণ",
|
||||
"enabledLabel": "সক্ষম করা হয়েছে",
|
||||
"concurrencyLabel": "যদি এটি ইতিমধ্যে চালু থাকে",
|
||||
"concurrencyHint": "শেষ রান শেষ হওয়ার আগেই এটি আবার চালু হলে কী করতে হবে।",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "নতুন রানটি এড়িয়ে যান।",
|
||||
"queue": "অপেক্ষা করো এবং পিছনে দৌড়াও",
|
||||
"allow": "একসাথে দুটোই চালান"
|
||||
},
|
||||
"save": "Save",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"trigger": "Trigger",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"copy": "Copy",
|
||||
"copied": "Copied",
|
||||
"save": "সংরক্ষণ করুন",
|
||||
"created": "অটোমেশন তৈরি করা হয়েছে",
|
||||
"updated": "অটোমেশন সংরক্ষিত",
|
||||
"deleted": "অটোমেশন মুছে ফেলা হয়েছে",
|
||||
"deleteConfirm": "এই অটোমেশনটি ডিলিট করলে, এর রান হিস্ট্রিও ডিলিট হয়ে যাবে।",
|
||||
"runNow": "এখনই দৌড়ান",
|
||||
"testRun": "পরীক্ষামূলক চালনা",
|
||||
"testRunHint": "প্রতিটি ধাপ চলে কিন্তু টার্মিক্সের বাইরের কোনো কিছু স্পর্শ করে না।",
|
||||
"runStarted": "দৌড় শুরু হলো",
|
||||
"runFinished": "দৌড় শেষ: {{status}}",
|
||||
"trigger": "ট্রিগার",
|
||||
"steps": "পদক্ষেপ",
|
||||
"addStep": "ধাপ যোগ করুন",
|
||||
"removeStep": "ধাপটি সরান",
|
||||
"moveUp": "উপরে উঠুন",
|
||||
"moveDown": "নিচে নামুন",
|
||||
"noSteps": "এখনো কোনো ধাপ যোগ করা হয়নি। কী হওয়া উচিত তা জানাতে একটি ধাপ যোগ করুন।",
|
||||
"webhookTokenTitle": "ওয়েবহুক ইউআরএল",
|
||||
"webhookTokenDescription": "এটি একবারই দেখানো হবে। এখনই সংরক্ষণ করুন, পরে আর পুনরুদ্ধার করা যাবে না।",
|
||||
"copy": "অনুলিপি",
|
||||
"copied": "অনুলিপি করা হয়েছে",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"never": "Never",
|
||||
"viewBuilder": "নির্মাতা",
|
||||
"viewGraph": "গ্রাফ",
|
||||
"lastRun": "শেষ দৌড়",
|
||||
"never": "কখনো না",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Output",
|
||||
"stepError": "Error",
|
||||
"dryRunBadge": "Test run",
|
||||
"stepOutput": "আউটপুট",
|
||||
"stepError": "ত্রুটি",
|
||||
"dryRunBadge": "পরীক্ষামূলক চালনা",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"all": "All hosts"
|
||||
"trigger": "ট্রিগারিং হোস্ট",
|
||||
"host": "নির্দিষ্ট হোস্ট",
|
||||
"fleet": "ফ্লিট",
|
||||
"all": "সকল হোস্ট"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "মেট্রিক থ্রেশহোল্ড",
|
||||
"host_status": "হোস্ট উপরে বা নিচে যায়",
|
||||
"health_check": "স্বাস্থ্য পরীক্ষার পরিবর্তন",
|
||||
"schedule": "একটি সময়সূচী অনুযায়ী",
|
||||
"docker_event": "কন্টেইনার ইভেন্ট",
|
||||
"internal_event": "টারমিক্স ইভেন্ট",
|
||||
"webhook": "ইনকামিং ওয়েবহুক"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"stop": "Stop"
|
||||
"notify": "একটি সতর্কতা পাঠান",
|
||||
"http": "একটি URL কল করুন",
|
||||
"run_snippet": "একটি স্নিপেট চালান",
|
||||
"run_command": "একটি কমান্ড চালান",
|
||||
"docker": "একটি কন্টেইনার নিয়ন্ত্রণ করুন",
|
||||
"tunnel": "একটি টানেল নিয়ন্ত্রণ করুন",
|
||||
"wol": "একজন হোস্টকে জাগান",
|
||||
"wait": "অপেক্ষা করুন",
|
||||
"set_var": "একটি ভেরিয়েবল সেট করুন",
|
||||
"if": "যদি / অন্যথায়",
|
||||
"run_automation": "আরেকটি অটোমেশন চালান",
|
||||
"stop": "থামুন"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Running",
|
||||
"success": "Success",
|
||||
"failed": "Failed",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"running": "দৌড়ানো",
|
||||
"success": "সাফল্য",
|
||||
"failed": "ব্যর্থ",
|
||||
"timeout": "সময়সীমা শেষ",
|
||||
"skipped": "বাদ দেওয়া হয়েছে",
|
||||
"cancelled": "বাতিল করা হয়েছে"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Host",
|
||||
"metric": "Metric",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"cooldown": "Cooldown (minutes)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"command": "Command",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"title": "Title",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"host": "হোস্ট",
|
||||
"metric": "মেট্রিক",
|
||||
"mount": "মাউন্ট পয়েন্ট",
|
||||
"operator": "হয়",
|
||||
"value": "মূল্য",
|
||||
"forSeconds": "(সেকেন্ড) ধরে স্থায়ী",
|
||||
"cooldown": "কুলডাউন (মিনিট)",
|
||||
"cron": "ক্রোন এক্সপ্রেশন",
|
||||
"intervalSeconds": "প্রতি (সেকেন্ডে)",
|
||||
"timezone": "সময় অঞ্চল",
|
||||
"timezoneServer": "সার্ভারের সময়",
|
||||
"timezoneHint": "এই জোনে ক্রন টাইম পড়া হয়। এটি ইন্টারভাল শিডিউলের ক্ষেত্রে প্রযোজ্য নয়।",
|
||||
"container": "কন্টেইনার",
|
||||
"command": "আদেশ",
|
||||
"url": "ইউআরএল",
|
||||
"method": "পদ্ধতি",
|
||||
"body": "শরীর",
|
||||
"channels": "এছাড়াও পাঠান",
|
||||
"title": "শিরোনাম",
|
||||
"message": "বার্তা",
|
||||
"snippet": "স্নিপেট",
|
||||
"seconds": "সেকেন্ড",
|
||||
"conditionLeftPlaceholder": "যাচাই করার মান",
|
||||
"conditionRightPlaceholder": "তুলনা করুন",
|
||||
"variableName": "ভেরিয়েবলের নাম",
|
||||
"variableValue": "মূল্য",
|
||||
"elevated": "sudo দিয়ে চালান",
|
||||
"onError": "যদি এটি ব্যর্থ হয়",
|
||||
"allowPrivateNetwork": "স্থানীয় নেটওয়ার্ক ঠিকানাগুলির অনুমতি দিন",
|
||||
"allowPrivateNetworkHint": "আপনার ল্যানে সেলফ-হোস্টেড সার্ভিসের জন্য প্রয়োজন। অভ্যন্তরীণ অ্যাড্রেসে অনুরোধ পাঠানো প্রতিরোধ করতে এটি ডিফল্টরূপে বন্ধ থাকে।"
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "দৌড় থামাও",
|
||||
"continue": "চালিয়ে যান"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"offBadge": "Off",
|
||||
"docsLink": "View docs",
|
||||
"needsPlugin": "প্রয়োজন {{plugin}}",
|
||||
"needsPluginHint": "প্রয়োজনীয় ফিচারটি পুনরায় উপলব্ধ না হওয়া পর্যন্ত এই অটোমেশনটি বাদ দেওয়া হয়।",
|
||||
"offBadge": "বন্ধ",
|
||||
"docsLink": "নথি দেখুন",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"minutes": "{{count}}m ago",
|
||||
"hours": "{{count}}h ago",
|
||||
"days": "{{count}}d ago"
|
||||
"seconds": "{{count}}সেকেন্ড আগে",
|
||||
"minutes": "{{count}}মিনিট আগে",
|
||||
"hours": "{{count}}ঘণ্টা আগে",
|
||||
"days": "{{count}}দিন আগে"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "অটোমেশন"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "অটোমেশন",
|
||||
"feature_automations_desc": "কোনো ঘটনা ঘটলে স্বয়ংক্রিয়ভাবে ধাপগুলো সম্পন্ন করুন এবং বিজ্ঞপ্তি পান।"
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Maintenance",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"cancel": "Cancel",
|
||||
"end": "End maintenance",
|
||||
"action": "Action",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"title": "রক্ষণাবেক্ষণ",
|
||||
"description": "কাজ চলাকালীন হোস্ট স্ট্যাটাস, হেলথ, মেট্রিক, কন্টেইনার এবং টানেল-ডিসকানেকশন অটোমেশনগুলো থামিয়ে রাখুন। মনিটরিং, ম্যানুয়াল রান এবং নির্ধারিত অটোমেশনগুলো চলতে থাকবে।",
|
||||
"denied": "রক্ষণাবেক্ষণ দেখার অনুমতি আপনার নেই।",
|
||||
"sharedReadOnly": "এই হোস্টটি আপনার সাথে শেয়ার করা হয়েছে। শুধুমাত্র এর মালিকই রক্ষণাবেক্ষণ পরিবর্তন করতে পারেন।",
|
||||
"failed": "রক্ষণাবেক্ষণ হালনাগাদ করা যায়নি।",
|
||||
"active": "রক্ষণাবেক্ষণ সক্রিয়",
|
||||
"estimated": "আনুমানিক সমাপ্তি",
|
||||
"noAutoEnd": "প্রাক্কলনটি রক্ষণাবেক্ষণের কাজ শেষ করে না। কাজ সম্পন্ন হলে স্পষ্টভাবে এটি শেষ করুন।",
|
||||
"endConfirm": "এই হোস্টের জন্য রক্ষণাবেক্ষণ শেষ করে ইভেন্ট-ট্রিগারড অটোমেশন পুনরায় চালু করবেন?",
|
||||
"confirmEnd": "শেষ নিশ্চিত করুন",
|
||||
"cancel": "বাতিল করুন",
|
||||
"end": "শেষ রক্ষণাবেক্ষণ",
|
||||
"action": "পদক্ষেপ",
|
||||
"startNow": "এখনই শুরু করুন",
|
||||
"schedule": "পরবর্তী সময়ের জন্য সময়সূচী",
|
||||
"reason": "কারণ",
|
||||
"startUtc": "প্রথম শুরু (ইউটিসি)",
|
||||
"repeat": "পুনরাবৃত্তি",
|
||||
"once": "একবার",
|
||||
"weekly": "সাপ্তাহিক",
|
||||
"monthly": "মাসিক",
|
||||
"utcHelp": "সারা বছর ধরে সময়সূচী UTC ব্যবহার করে। মাসিক সময়সূচীতে নির্বাচিত দিনটি ছাড়া মাসগুলো বাদ দেওয়া হয়। পরিকল্পিত কাজের সময়সীমা একে অপরের উপর পড়তে পারে না; নির্ধারিত সময়ের অতিরিক্ত রক্ষণাবেক্ষণ পরবর্তী সময়সীমাগুলোতেও চলতে থাকে।",
|
||||
"duration": "আনুমানিক সময়কাল (মিনিট)",
|
||||
"grace": "অতিরিক্ত সময় (মিনিট)",
|
||||
"notify": "আনুমানিক হিসাব এবং অতিরিক্ত সময়সীমার পরেও যদি অফলাইন থাকেন, তবে একবার জানান।",
|
||||
"addSchedule": "সময়সূচী যোগ করুন",
|
||||
"schedules": "সময়সূচী",
|
||||
"noSchedules": "কোনো রক্ষণাবেক্ষণের সময়সূচী নেই।",
|
||||
"completed": "ইতিমধ্যে শুরু হয়ে গেছে",
|
||||
"minutes_one": "{{count}} মিনিট",
|
||||
"minutes_other": "{{count}} মিনিট",
|
||||
"remove": "সময়সূচী অপসারণ করুন",
|
||||
"loadFailed": "রক্ষণাবেক্ষণের অবস্থা রিফ্রেশ করা যায়নি। লোড না হওয়া পর্যন্ত পরিবর্তনগুলি নিষ্ক্রিয় থাকবে।",
|
||||
"loading": "রক্ষণাবেক্ষণের অবস্থা লোড হচ্ছে…"
|
||||
}
|
||||
}
|
||||
@@ -1,163 +1,163 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "स्वचालित सेवाओं को देखें",
|
||||
"description": "स्वचालित प्रक्रियाओं और उनके इतिहास को देखें।"
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "स्वचालित प्रणालियाँ बनाएँ",
|
||||
"description": "नई स्वचालित प्रणालियाँ जोड़ें।"
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "स्वचालित संपादन",
|
||||
"description": "मौजूदा स्वचालित प्रक्रियाओं में बदलाव करें।"
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "स्वचालित सेवाओं को हटाएं",
|
||||
"description": "स्वचालित प्रक्रियाओं को हटा दें।"
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "स्वचालित संचालन चलाएँ",
|
||||
"description": "किसी स्वचालित प्रक्रिया को मैन्युअल रूप से शुरू करें।"
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"title": "स्वचालन",
|
||||
"tabAutomations": "स्वचालन",
|
||||
"tabRuns": "दौड़ें",
|
||||
"tabChannels": "चैनल",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"createAutomation": "नया स्वचालन",
|
||||
"backToAutomations": "स्वचालन पर वापस जाएँ",
|
||||
"createTitle": "नया स्वचालन",
|
||||
"editTitle": "संपादन स्वचालन",
|
||||
"empty": "अभी तक कोई ऑटोमेशन नहीं है। किसी मेट्रिक, शेड्यूल या इवेंट के आधार पर प्रतिक्रिया देने के लिए एक ऑटोमेशन बनाएं।",
|
||||
"emptyRuns": "अभी तक कोई रन नहीं बना है।",
|
||||
"channelsHint": "अलर्ट में चैनल सेट किए जाते हैं।",
|
||||
"noChannelsHint": "यह अलर्ट हमेशा आपके इनबॉक्स में आता है। इसे कहीं और भेजने के लिए अलर्ट में चैनल जोड़ें।",
|
||||
"nameLabel": "नाम",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"namePlaceholder": "उदाहरण के लिए, जब /data भर जाए तो उसे साफ़ कर दें।",
|
||||
"nameRequired": "नाम आवश्यक है",
|
||||
"descriptionLabel": "विवरण",
|
||||
"descriptionPlaceholder": "वैकल्पिक विवरण",
|
||||
"enabledLabel": "सक्षम",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"concurrencyLabel": "यदि यह पहले से चल रहा है",
|
||||
"concurrencyHint": "पिछली बार रन पूरा होने से पहले ही अगर यह समस्या दोबारा उत्पन्न हो जाए तो क्या करें।",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "नए रन को छोड़ दें",
|
||||
"queue": "प्रतीक्षा करो और उसके पीछे दौड़ो",
|
||||
"allow": "दोनों को एक साथ चलाएं"
|
||||
},
|
||||
"save": "सहेजें",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"created": "स्वचालन द्वारा निर्मित",
|
||||
"updated": "स्वचालन ने बचत की",
|
||||
"deleted": "स्वचालित रूप से हटा दिया गया",
|
||||
"deleteConfirm": "इस ऑटोमेशन को डिलीट करने पर, इसका रन हिस्ट्री भी डिलीट हो जाएगा।",
|
||||
"runNow": "अब दौड़े",
|
||||
"testRun": "परीक्षण के लिए चलाना",
|
||||
"testRunHint": "यह हर चरण में दौड़ता है लेकिन टर्मिक्स के बाहर किसी भी चीज को नहीं छूता है।",
|
||||
"runStarted": "दौड़ शुरू हो गई",
|
||||
"runFinished": "रन समाप्त: {{status}}",
|
||||
"trigger": "ट्रिगर",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"steps": "चरण",
|
||||
"addStep": "चरण जोड़ें",
|
||||
"removeStep": "चरण हटाएँ",
|
||||
"moveUp": "बढ़ाना",
|
||||
"moveDown": "नीचे की ओर",
|
||||
"noSteps": "अभी तक कोई चरण निर्धारित नहीं हैं। कृपया एक चरण जोड़कर बताएं कि आगे क्या होना चाहिए।",
|
||||
"webhookTokenTitle": "वेबहुक यूआरएल",
|
||||
"webhookTokenDescription": "यह केवल एक बार दिखाया जाएगा। इसे अभी सहेज लें, बाद में इसे पुनः प्राप्त नहीं किया जा सकेगा।",
|
||||
"copy": "कॉपी",
|
||||
"copied": "कॉपी किया गया",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"viewJson": "जेएन",
|
||||
"viewBuilder": "निर्माता",
|
||||
"viewGraph": "ग्राफ़",
|
||||
"lastRun": "आखरी बार",
|
||||
"never": "कभी नहीं",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "आउटपुट",
|
||||
"stepError": "त्रुटि",
|
||||
"dryRunBadge": "Test run",
|
||||
"dryRunBadge": "परीक्षण के लिए चलाना",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"trigger": "ट्रिगरिंग होस्ट",
|
||||
"host": "विशिष्ट मेज़बान",
|
||||
"fleet": "बेड़ा",
|
||||
"all": "सभी होस्ट"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "मीट्रिक सीमा",
|
||||
"host_status": "होस्ट ऊपर या नीचे जाता है",
|
||||
"health_check": "स्वास्थ्य जांच में बदलाव",
|
||||
"schedule": "एक निर्धारित कार्यक्रम के अनुसार",
|
||||
"docker_event": "कंटेनर घटना",
|
||||
"internal_event": "टर्मिक्स घटना",
|
||||
"webhook": "इनकमिंग वेबहुक"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"notify": "अलर्ट भेजें",
|
||||
"http": "किसी URL को कॉल करें",
|
||||
"run_snippet": "एक स्निपेट चलाएँ",
|
||||
"run_command": "एक कमांड चलाएँ",
|
||||
"docker": "एक कंटेनर को नियंत्रित करें",
|
||||
"tunnel": "एक सुरंग को नियंत्रित करें",
|
||||
"wol": "किसी मेजबान को जगाओ",
|
||||
"wait": "इंतज़ार",
|
||||
"set_var": "एक चर सेट करें",
|
||||
"if": "यदि / अन्यथा",
|
||||
"run_automation": "एक और ऑटोमेशन चलाएँ",
|
||||
"stop": "स्टॉप"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "चालू",
|
||||
"success": "सफल",
|
||||
"failed": "असफल",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"timeout": "समय समााप्त",
|
||||
"skipped": "छोड़ा गया",
|
||||
"cancelled": "रद्द कर दिया गया"
|
||||
},
|
||||
"fields": {
|
||||
"host": "होस्ट",
|
||||
"metric": "मीट्रिक",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"mount": "माउंट पॉइंट",
|
||||
"operator": "है",
|
||||
"value": "कीमत",
|
||||
"forSeconds": "(सेकंड) तक कायम रहा",
|
||||
"cooldown": "कूलडाउन (मिनट)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"cron": "क्रोन अभिव्यक्ति",
|
||||
"intervalSeconds": "हर (सेकंड)",
|
||||
"timezone": "समय क्षेत्र",
|
||||
"timezoneServer": "सर्वर समय",
|
||||
"timezoneHint": "इस ज़ोन में क्रॉन टाइम पढ़े जाते हैं। यह इंटरवल शेड्यूल पर लागू नहीं होता है।",
|
||||
"container": "पात्र",
|
||||
"command": "कमांड",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"method": "तरीका",
|
||||
"body": "शरीर",
|
||||
"channels": "इसे भी भेजें",
|
||||
"title": "शीर्षक",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"message": "संदेश",
|
||||
"snippet": "टुकड़ा",
|
||||
"seconds": "सेकंड",
|
||||
"conditionLeftPlaceholder": "जाँच करने के लिए मान",
|
||||
"conditionRightPlaceholder": "तुलना करें",
|
||||
"variableName": "चर का नाम",
|
||||
"variableValue": "कीमत",
|
||||
"elevated": "sudo के साथ चलाएँ",
|
||||
"onError": "यदि यह विफल हो जाता है",
|
||||
"allowPrivateNetwork": "स्थानीय नेटवर्क पतों की अनुमति दें",
|
||||
"allowPrivateNetworkHint": "आपके लोकल एरिया नेटवर्क (LAN) पर सेल्फ-होस्टेड सेवा के लिए आवश्यक। आंतरिक पतों पर अनुरोधों को रोकने के लिए डिफ़ॉल्ट रूप से बंद।"
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "दौड़ रोको",
|
||||
"continue": "जारी रखो"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"needsPlugin": "आवश्यकताएँ {{plugin}}",
|
||||
"needsPluginHint": "यह स्वचालन तब तक स्थगित रहेगा जब तक कि आवश्यक सुविधा पुनः उपलब्ध न हो जाए।",
|
||||
"offBadge": "बंद",
|
||||
"docsLink": "दस्तावेज़ देखें",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"seconds": "{{count}}सेकंड पहले",
|
||||
"minutes": "{{count}}m पहले",
|
||||
"hours": "{{count}}h पहले",
|
||||
"days": "{{count}}d पहले"
|
||||
@@ -166,46 +166,46 @@
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "स्वचालन"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "स्वचालन",
|
||||
"feature_automations_desc": "कुछ घटित होने पर चरणों को स्वचालित रूप से चलाएं और सूचना प्राप्त करें।"
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "रखरखाव",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"description": "कार्य प्रगति पर रहते हुए होस्ट की स्थिति, स्वास्थ्य, मीट्रिक, कंटेनर और टनल-डिस्कनेक्शन से संबंधित स्वचालित प्रक्रियाओं को रोकें। मॉनिटरिंग, मैन्युअल रन और निर्धारित स्वचालित प्रक्रियाएं जारी रहेंगी।",
|
||||
"denied": "आपको रखरखाव कार्य देखने की अनुमति नहीं है।",
|
||||
"sharedReadOnly": "यह होस्ट आपके साथ साझा किया गया है। केवल इसका स्वामी ही रखरखाव में बदलाव कर सकता है।",
|
||||
"failed": "रखरखाव अपडेट नहीं हो सका।",
|
||||
"active": "रखरखाव सक्रिय है",
|
||||
"estimated": "अनुमानित समापन",
|
||||
"noAutoEnd": "यह अनुमान रखरखाव कार्य की समाप्ति का संकेत नहीं है। कार्य पूर्ण होने पर इसे स्पष्ट रूप से समाप्त करें।",
|
||||
"endConfirm": "इस होस्ट के लिए रखरखाव समाप्त करें और इवेंट-ट्रिगर ऑटोमेशन को पुनः आरंभ करें?",
|
||||
"confirmEnd": "समाप्ति की पुष्टि करें",
|
||||
"cancel": "रद्द करें",
|
||||
"end": "End maintenance",
|
||||
"end": "रखरखाव समाप्त करें",
|
||||
"action": "क्रिया",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"startNow": "शुरू करें",
|
||||
"schedule": "बाद के लिए शेड्यूल करें",
|
||||
"reason": "कारण",
|
||||
"startUtc": "पहली शुरुआत (UTC)",
|
||||
"repeat": "दोहराना",
|
||||
"once": "एक बार",
|
||||
"weekly": "साप्ताहिक",
|
||||
"monthly": "महीने के",
|
||||
"utcHelp": "शेड्यूल पूरे वर्ष UTC समय का उपयोग करते हैं। मासिक शेड्यूल चयनित दिन वाले महीनों को छोड़ देते हैं। नियोजित समय सीमाएँ एक-दूसरे से ओवरलैप नहीं हो सकतीं; निर्धारित रखरखाव कार्य निर्धारित समय सीमाओं में भी जारी रहता है।",
|
||||
"duration": "अनुमानित अवधि (मिनटों में)",
|
||||
"grace": "अनुग्रह अवधि (मिनटों में)",
|
||||
"notify": "अनुमान और अनुग्रह अवधि के बाद भी ऑफ़लाइन रहने पर एक बार सूचित करें",
|
||||
"addSchedule": "अनुसूची जोड़ें",
|
||||
"schedules": "अनुसूचियों",
|
||||
"noSchedules": "कोई रखरखाव कार्यक्रम नहीं।",
|
||||
"completed": "पहले ही शुरू हो चुका है",
|
||||
"minutes_one": "{{count}} मिनट",
|
||||
"minutes_other": "{{count}} मिनट",
|
||||
"remove": "अनुसूची हटाएँ",
|
||||
"loadFailed": "रखरखाव की स्थिति को रीफ़्रेश नहीं किया जा सका। जब तक यह लोड नहीं हो जाता, तब तक परिवर्तन अक्षम रहेंगे।",
|
||||
"loading": "रखरखाव की स्थिति लोड हो रही है…"
|
||||
}
|
||||
}
|
||||
@@ -1,163 +1,163 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Lihat otomatisasi",
|
||||
"description": "Lihat otomatisasi dan riwayatnya."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Buat otomatisasi",
|
||||
"description": "Tambahkan otomatisasi baru."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Edit otomatisasi",
|
||||
"description": "Ubah otomatisasi yang ada."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Hapus otomatisasi",
|
||||
"description": "Hapus otomatisasi."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Jalankan otomatisasi",
|
||||
"description": "Memicu otomatisasi secara manual."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"tabChannels": "Channels",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"nameRequired": "Name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"enabledLabel": "Enabled",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"title": "Otomatisasi",
|
||||
"tabAutomations": "Otomatisasi",
|
||||
"tabRuns": "Lari",
|
||||
"tabChannels": "Saluran",
|
||||
"createAutomation": "Otomatisasi Baru",
|
||||
"backToAutomations": "Kembali ke Otomatisasi",
|
||||
"createTitle": "Otomatisasi Baru",
|
||||
"editTitle": "Edit Otomatisasi",
|
||||
"empty": "Belum ada otomatisasi. Buat satu untuk bereaksi terhadap metrik, jadwal, atau peristiwa.",
|
||||
"emptyRuns": "Belum ada percobaan lari.",
|
||||
"channelsHint": "Saluran diatur dalam Peringatan.",
|
||||
"noChannelsHint": "Notifikasi selalu masuk ke kotak masuk Anda. Tambahkan saluran di Notifikasi untuk mengirimkannya ke tempat lain juga.",
|
||||
"nameLabel": "Nama",
|
||||
"namePlaceholder": "misalnya, Bersihkan /data saat sudah penuh",
|
||||
"nameRequired": "Nama wajib diisi.",
|
||||
"descriptionLabel": "Keterangan",
|
||||
"descriptionPlaceholder": "Deskripsi opsional",
|
||||
"enabledLabel": "Diaktifkan",
|
||||
"concurrencyLabel": "Jika sudah berjalan",
|
||||
"concurrencyHint": "Apa yang harus dilakukan jika ini terpicu lagi sebelum proses terakhir selesai.",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "Lewati lari baru",
|
||||
"queue": "Tunggu dan lari setelahnya",
|
||||
"allow": "Jalankan keduanya sekaligus"
|
||||
},
|
||||
"save": "Save",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"trigger": "Trigger",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"copy": "Copy",
|
||||
"copied": "Copied",
|
||||
"save": "Menyimpan",
|
||||
"created": "Otomatisasi dibuat",
|
||||
"updated": "Otomatisasi tersimpan",
|
||||
"deleted": "Otomatisasi dihapus",
|
||||
"deleteConfirm": "Hapus otomatisasi ini? Riwayat eksekusinya juga akan terhapus.",
|
||||
"runNow": "Lari sekarang",
|
||||
"testRun": "Uji coba",
|
||||
"testRunHint": "Berjalan di setiap langkah tetapi tidak menyentuh apa pun di luar Termix.",
|
||||
"runStarted": "Lari dimulai",
|
||||
"runFinished": "Eksekusi selesai: {{status}}",
|
||||
"trigger": "Pemicu",
|
||||
"steps": "Tangga",
|
||||
"addStep": "Tambahkan langkah",
|
||||
"removeStep": "Hapus langkah",
|
||||
"moveUp": "Naikkan",
|
||||
"moveDown": "Turun ke bawah",
|
||||
"noSteps": "Belum ada langkah. Tambahkan satu langkah untuk menjelaskan apa yang seharusnya terjadi.",
|
||||
"webhookTokenTitle": "URL Webhook",
|
||||
"webhookTokenDescription": "Ini hanya ditampilkan sekali. Simpan sekarang, karena tidak dapat diambil kembali nanti.",
|
||||
"copy": "Menyalin",
|
||||
"copied": "Disalin",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"never": "Never",
|
||||
"viewBuilder": "Pembangun",
|
||||
"viewGraph": "Grafik",
|
||||
"lastRun": "Lari terakhir",
|
||||
"never": "Tidak pernah",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Output",
|
||||
"stepError": "Error",
|
||||
"dryRunBadge": "Test run",
|
||||
"stepOutput": "Keluaran",
|
||||
"stepError": "Kesalahan",
|
||||
"dryRunBadge": "Uji coba",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"all": "All hosts"
|
||||
"trigger": "Host pemicu",
|
||||
"host": "Host spesifik",
|
||||
"fleet": "Armada",
|
||||
"all": "Semua tuan rumah"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "Ambang batas metrik",
|
||||
"host_status": "Pembawa acara naik atau turun",
|
||||
"health_check": "Perubahan pemeriksaan kesehatan",
|
||||
"schedule": "Sesuai jadwal",
|
||||
"docker_event": "Acara kontainer",
|
||||
"internal_event": "Acara Termix",
|
||||
"webhook": "Webhook masuk"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"stop": "Stop"
|
||||
"notify": "Kirim peringatan",
|
||||
"http": "Memanggil URL",
|
||||
"run_snippet": "Jalankan cuplikan kode",
|
||||
"run_command": "Jalankan perintah",
|
||||
"docker": "Mengendalikan sebuah kontainer",
|
||||
"tunnel": "Mengendalikan terowongan",
|
||||
"wol": "Bangunkan tuan rumah",
|
||||
"wait": "Tunggu",
|
||||
"set_var": "Tetapkan sebuah variabel",
|
||||
"if": "Jika/sebaliknya",
|
||||
"run_automation": "Jalankan otomatisasi lainnya",
|
||||
"stop": "Berhenti"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Running",
|
||||
"success": "Success",
|
||||
"failed": "Failed",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"running": "Berlari",
|
||||
"success": "Kesuksesan",
|
||||
"failed": "Gagal",
|
||||
"timeout": "Waktu habis",
|
||||
"skipped": "Dilewati",
|
||||
"cancelled": "Dibatalkan"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Host",
|
||||
"metric": "Metric",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"cooldown": "Cooldown (minutes)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"command": "Command",
|
||||
"host": "Tuan rumah",
|
||||
"metric": "Metrik",
|
||||
"mount": "Titik pemasangan",
|
||||
"operator": "Adalah",
|
||||
"value": "Nilai",
|
||||
"forSeconds": "Berlangsung selama (detik)",
|
||||
"cooldown": "Waktu pendinginan (menit)",
|
||||
"cron": "Ekspresi Cron",
|
||||
"intervalSeconds": "Setiap (detik)",
|
||||
"timezone": "Zona waktu",
|
||||
"timezoneServer": "Waktu server",
|
||||
"timezoneHint": "Waktu Cron dibaca di zona ini. Tidak berlaku untuk jadwal interval.",
|
||||
"container": "Wadah",
|
||||
"command": "Memerintah",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"title": "Title",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"method": "Metode",
|
||||
"body": "Tubuh",
|
||||
"channels": "Kirim juga ke",
|
||||
"title": "Judul",
|
||||
"message": "Pesan",
|
||||
"snippet": "Potongan",
|
||||
"seconds": "Detik",
|
||||
"conditionLeftPlaceholder": "Nilai yang perlu diperiksa",
|
||||
"conditionRightPlaceholder": "Bandingkan dengan",
|
||||
"variableName": "Nama variabel",
|
||||
"variableValue": "Nilai",
|
||||
"elevated": "Jalankan dengan sudo",
|
||||
"onError": "Jika ini gagal",
|
||||
"allowPrivateNetwork": "Izinkan alamat jaringan lokal",
|
||||
"allowPrivateNetworkHint": "Diperlukan untuk layanan yang dihosting sendiri di LAN Anda. Secara default dinonaktifkan untuk mencegah permintaan ke alamat internal."
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "Hentikan larinya",
|
||||
"continue": "Melanjutkan"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"offBadge": "Off",
|
||||
"docsLink": "View docs",
|
||||
"needsPlugin": "Membutuhkan {{plugin}}",
|
||||
"needsPluginHint": "Otomatisasi ini dilewati hingga fitur yang dibutuhkan tersedia kembali.",
|
||||
"offBadge": "Mati",
|
||||
"docsLink": "Lihat dokumen",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"seconds": "{{count}}detik yang lalu",
|
||||
"minutes": "{{count}} menit lalu",
|
||||
"hours": "{{count}} jam lalu",
|
||||
"days": "{{count}} detik lalu"
|
||||
@@ -166,46 +166,46 @@
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "Otomatisasi"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "Otomatisasi",
|
||||
"feature_automations_desc": "Jalankan langkah-langkah secara otomatis saat sesuatu terjadi, dan dapatkan notifikasi."
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Maintenance",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"cancel": "Cancel",
|
||||
"end": "End maintenance",
|
||||
"action": "Action",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"title": "Pemeliharaan",
|
||||
"description": "Jeda status host, kesehatan, metrik, kontainer, dan otomatisasi pemutusan koneksi terowongan saat pekerjaan sedang berlangsung. Pemantauan, eksekusi manual, dan otomatisasi terjadwal tetap berjalan.",
|
||||
"denied": "Anda tidak memiliki izin untuk melihat pemeliharaan.",
|
||||
"sharedReadOnly": "Host ini dibagikan kepada Anda. Hanya pemiliknya yang dapat mengubah pengaturan pemeliharaan.",
|
||||
"failed": "Informasi pemeliharaan tidak dapat diperbarui.",
|
||||
"active": "Pemeliharaan aktif",
|
||||
"estimated": "Perkiraan penyelesaian",
|
||||
"noAutoEnd": "Estimasi tersebut tidak mengakhiri pemeliharaan. Akhiri secara eksplisit ketika pekerjaan selesai.",
|
||||
"endConfirm": "Akhiri pemeliharaan dan lanjutkan otomatisasi yang dipicu oleh peristiwa untuk host ini?",
|
||||
"confirmEnd": "Konfirmasi akhir",
|
||||
"cancel": "Membatalkan",
|
||||
"end": "Akhir pemeliharaan",
|
||||
"action": "Tindakan",
|
||||
"startNow": "Mulai sekarang",
|
||||
"schedule": "Jadwal untuk nanti",
|
||||
"reason": "Alasan",
|
||||
"startUtc": "Mulai pertama (UTC)",
|
||||
"repeat": "Mengulang",
|
||||
"once": "Sekali",
|
||||
"weekly": "Mingguan",
|
||||
"monthly": "Bulanan",
|
||||
"utcHelp": "Jadwal menggunakan UTC sepanjang tahun. Jadwal bulanan melewatkan bulan-bulan yang tidak memiliki hari yang dipilih. Jendela waktu yang direncanakan tidak dapat tumpang tindih; pemeliharaan yang molor berlanjut ke jendela waktu berikutnya.",
|
||||
"duration": "Perkiraan durasi (menit)",
|
||||
"grace": "Masa tenggang (menit)",
|
||||
"notify": "Beri tahu sekali jika masih offline setelah perkiraan ditambah masa tenggang.",
|
||||
"addSchedule": "Tambahkan jadwal",
|
||||
"schedules": "Jadwal",
|
||||
"noSchedules": "Tidak ada jadwal perawatan.",
|
||||
"completed": "Sudah dimulai",
|
||||
"minutes_one": "{{count}} menit",
|
||||
"minutes_other": "{{count}} menit",
|
||||
"remove": "Hapus jadwal",
|
||||
"loadFailed": "Status pemeliharaan tidak dapat diperbarui. Perubahan dinonaktifkan hingga status dapat dimuat.",
|
||||
"loading": "Memuat status pemeliharaan…"
|
||||
}
|
||||
}
|
||||
@@ -1,211 +1,211 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Se automatiseringer",
|
||||
"description": "Se automatiseringene og historikken deres."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Opprett automatiseringer",
|
||||
"description": "Legg til nye automatiseringer."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Rediger automatiseringer",
|
||||
"description": "Endre eksisterende automatiseringer."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Slett automatiseringer",
|
||||
"description": "Fjern automatiseringer."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Kjør automatiseringer",
|
||||
"description": "Utløs en automatisering manuelt."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"tabChannels": "Channels",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"title": "Automatiseringer",
|
||||
"tabAutomations": "Automatiseringer",
|
||||
"tabRuns": "Løper",
|
||||
"tabChannels": "Kanaler",
|
||||
"createAutomation": "Ny automatisering",
|
||||
"backToAutomations": "Tilbake til automatiseringer",
|
||||
"createTitle": "Ny automatisering",
|
||||
"editTitle": "Rediger automatisering",
|
||||
"empty": "Ingen automatiseringer ennå. Opprett en for å reagere på en beregning, en tidsplan eller en hendelse.",
|
||||
"emptyRuns": "Ingen løp ennå.",
|
||||
"channelsHint": "Kanaler er satt opp i varsler",
|
||||
"noChannelsHint": "Varselet går alltid til innboksen din. Legg til kanaler i varsler for å også sende det et annet sted.",
|
||||
"nameLabel": "Navn",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"namePlaceholder": "f.eks. Rydd opp i /data når den fylles",
|
||||
"nameRequired": "Navn er påkrevd",
|
||||
"descriptionLabel": "Beskrivelse",
|
||||
"descriptionPlaceholder": "Valgfri beskrivelse",
|
||||
"enabledLabel": "Aktivert",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"concurrencyLabel": "Hvis den allerede kjører",
|
||||
"concurrencyHint": "Hva skal man gjøre når dette utløses igjen før siste kjøring er ferdig?",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "Hopp over den nye kjøringen",
|
||||
"queue": "Vent og løp etter",
|
||||
"allow": "Kjør begge samtidig"
|
||||
},
|
||||
"save": "Lagre",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"trigger": "Trigger",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"created": "Automatisering opprettet",
|
||||
"updated": "Automatisering lagret",
|
||||
"deleted": "Automatisering slettet",
|
||||
"deleteConfirm": "Vil du slette denne automatiseringen? Kjørehistorikken slettes også.",
|
||||
"runNow": "Løp nå",
|
||||
"testRun": "Testkjøring",
|
||||
"testRunHint": "Kjører hvert trinn, men berører ikke noe utenfor Termix.",
|
||||
"runStarted": "Løpet startet",
|
||||
"runFinished": "Kjøring fullført: {{status}}",
|
||||
"trigger": "Avtrekker",
|
||||
"steps": "Trinn",
|
||||
"addStep": "Legg til trinn",
|
||||
"removeStep": "Fjern trinn",
|
||||
"moveUp": "Flytt opp",
|
||||
"moveDown": "Flytt ned",
|
||||
"noSteps": "Ingen trinn ennå. Legg til ett for å si hva som skal skje.",
|
||||
"webhookTokenTitle": "Webhook-URL",
|
||||
"webhookTokenDescription": "Dette vises én gang. Lagre det nå, det kan ikke hentes frem senere.",
|
||||
"copy": "Kopier",
|
||||
"copied": "Copied",
|
||||
"copied": "Kopiert",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"never": "Never",
|
||||
"viewBuilder": "Bygger",
|
||||
"viewGraph": "Kurve",
|
||||
"lastRun": "Siste løp",
|
||||
"never": "Aldri",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Output",
|
||||
"stepOutput": "Produksjon",
|
||||
"stepError": "Feil",
|
||||
"dryRunBadge": "Test run",
|
||||
"dryRunBadge": "Testkjøring",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"all": "All hosts"
|
||||
"trigger": "Utløsende vert",
|
||||
"host": "Spesifikk vert",
|
||||
"fleet": "Flåte",
|
||||
"all": "Alle verter"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "Metrisk terskel",
|
||||
"host_status": "Verten går opp eller ned",
|
||||
"health_check": "Endringer i helsesjekken",
|
||||
"schedule": "På en tidsplan",
|
||||
"docker_event": "Containerhendelse",
|
||||
"internal_event": "Termix-arrangementet",
|
||||
"webhook": "Innkommende webhook"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"notify": "Send et varsel",
|
||||
"http": "Kall en URL",
|
||||
"run_snippet": "Kjør et utdrag",
|
||||
"run_command": "Kjør en kommando",
|
||||
"docker": "Kontroller en container",
|
||||
"tunnel": "Kontroller en tunnel",
|
||||
"wol": "Vekk en vert",
|
||||
"wait": "Vente",
|
||||
"set_var": "Angi en variabel",
|
||||
"if": "Hvis / ellers",
|
||||
"run_automation": "Kjør en annen automatisering",
|
||||
"stop": "Stopp"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Kjører",
|
||||
"success": "Suksess",
|
||||
"failed": "Mislyktes",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"timeout": "Tidsavbrutt",
|
||||
"skipped": "Hoppet over",
|
||||
"cancelled": "Avlyst"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Host",
|
||||
"metric": "Metric",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"cooldown": "Cooldown (minutes)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"host": "Vert",
|
||||
"metric": "Metrisk",
|
||||
"mount": "Monteringspunkt",
|
||||
"operator": "Er",
|
||||
"value": "Verdi",
|
||||
"forSeconds": "Vedvarende i (sekunder)",
|
||||
"cooldown": "Nedkjølingstid (minutter)",
|
||||
"cron": "Cron-uttrykk",
|
||||
"intervalSeconds": "Hvert (sekund)",
|
||||
"timezone": "Tidssone",
|
||||
"timezoneServer": "Servertid",
|
||||
"timezoneHint": "Cron-tider leses i denne sonen. Gjelder ikke for intervallplaner.",
|
||||
"container": "Container",
|
||||
"command": "Kommando",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"title": "Title",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"url": "URL-adresse",
|
||||
"method": "Metode",
|
||||
"body": "Kropp",
|
||||
"channels": "Send også til",
|
||||
"title": "Tittel",
|
||||
"message": "Beskjed",
|
||||
"snippet": "Utdrag",
|
||||
"seconds": "Sekunder",
|
||||
"conditionLeftPlaceholder": "Verdi å sjekke",
|
||||
"conditionRightPlaceholder": "Sammenlign mot",
|
||||
"variableName": "Variabelnavn",
|
||||
"variableValue": "Verdi",
|
||||
"elevated": "Kjør med sudo",
|
||||
"onError": "Hvis dette mislykkes",
|
||||
"allowPrivateNetwork": "Tillat lokale nettverksadresser",
|
||||
"allowPrivateNetworkHint": "Nødvendig for en selvhostet tjeneste på LAN-et ditt. Av som standard for å forhindre forespørsler til interne adresser."
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "Stopp løpet",
|
||||
"continue": "Fortsett"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"offBadge": "Off",
|
||||
"docsLink": "View docs",
|
||||
"needsPlugin": "Trenger {{plugin}}",
|
||||
"needsPluginHint": "Denne automatiseringen hoppes over inntil funksjonen den trenger er tilgjengelig igjen.",
|
||||
"offBadge": "Av",
|
||||
"docsLink": "Vis dokumenter",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"minutes": "{{count}}m ago",
|
||||
"hours": "{{count}}h ago",
|
||||
"days": "{{count}}d ago"
|
||||
"seconds": "For {{count}}sekunder siden",
|
||||
"minutes": "For {{count}}minutter siden",
|
||||
"hours": "for {{count}}t siden",
|
||||
"days": "for {{count}}dager siden"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "Automatiseringer"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "Automatiseringer",
|
||||
"feature_automations_desc": "Kjør trinnene automatisk når noe skjer, og bli varslet."
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Vedlikehold",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"description": "Sett automatiseringer for vertsstatus, helse, målinger, containere og tunnelfrakobling på pause mens arbeidet pågår. Overvåking, manuelle kjøringer og planlagte automatiseringer fortsetter.",
|
||||
"denied": "Du har ikke tillatelse til å se vedlikehold.",
|
||||
"sharedReadOnly": "Denne verten ble delt med deg. Bare eieren kan endre vedlikeholdet.",
|
||||
"failed": "Vedlikehold kunne ikke oppdateres.",
|
||||
"active": "Vedlikehold aktivt",
|
||||
"estimated": "Forventet ferdigstillelse",
|
||||
"noAutoEnd": "Estimatet avslutter ikke vedlikeholdet. Avslutt det eksplisitt når arbeidet er fullført.",
|
||||
"endConfirm": "Vil du avslutte vedlikehold og gjenoppta hendelsesutløste automatiseringer for denne verten?",
|
||||
"confirmEnd": "Bekreft slutten",
|
||||
"cancel": "Avbryt",
|
||||
"end": "End maintenance",
|
||||
"action": "Action",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"end": "Avslutt vedlikehold",
|
||||
"action": "Handling",
|
||||
"startNow": "Start nå",
|
||||
"schedule": "Planlegg for senere",
|
||||
"reason": "Grunn",
|
||||
"startUtc": "Første start (UTC)",
|
||||
"repeat": "Gjenta",
|
||||
"once": "En gang",
|
||||
"weekly": "Ukentlig",
|
||||
"monthly": "Månedlig",
|
||||
"utcHelp": "Tidsplaner bruker UTC gjennom hele året. Månedlige tidsplaner hopper over måneder uten den valgte dagen. Planlagte vinduer kan ikke overlappe; overstyrt vedlikehold fortsetter på tvers av senere vinduer.",
|
||||
"duration": "Estimert varighet (minutter)",
|
||||
"grace": "Frist (minutter)",
|
||||
"notify": "Varsle én gang hvis du fortsatt er frakoblet etter estimatet pluss respitperioden",
|
||||
"addSchedule": "Legg til timeplan",
|
||||
"schedules": "Tidsplaner",
|
||||
"noSchedules": "Ingen vedlikeholdsplaner.",
|
||||
"completed": "Allerede startet",
|
||||
"minutes_one": "{{count}} minutt",
|
||||
"minutes_other": "{{count}} minutter",
|
||||
"remove": "Fjern tidsplan",
|
||||
"loadFailed": "Kunne ikke oppdatere vedlikeholdsstatusen. Endringer er deaktivert inntil den kan lastes inn.",
|
||||
"loading": "Laster inn vedlikeholdsstatus…"
|
||||
}
|
||||
}
|
||||
@@ -1,24 +1,24 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Wyświetl automatyzacje",
|
||||
"description": "Zobacz automatyzacje i ich historię."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Twórz automatyzacje",
|
||||
"description": "Dodaj nowe automatyzacje."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Edytuj automatyzacje",
|
||||
"description": "Zmień istniejące automatyzacje."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Usuń automatyzacje",
|
||||
"description": "Usuń automatyzacje."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Uruchom automatyzacje",
|
||||
"description": "Uruchom automatyzację ręcznie."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
@@ -34,8 +34,8 @@
|
||||
"editTitle": "Edytuj automatyzację",
|
||||
"empty": "Brak jeszcze automatyzacji. Utwórz automatyzację, która będzie reagować na metrykę, harmonogram lub zdarzenie.",
|
||||
"emptyRuns": "Brak uruchomień.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"channelsHint": "Kanały są skonfigurowane w Alertach",
|
||||
"noChannelsHint": "Alert zawsze trafia do Twojej skrzynki odbiorczej. Dodaj kanały w Alertach, aby wysłać go również gdzie indziej.",
|
||||
"nameLabel": "Nazwa",
|
||||
"namePlaceholder": "np. Wyczyść /data, gdy się zapełni",
|
||||
"nameRequired": "Nazwa jest wymagana",
|
||||
@@ -95,7 +95,7 @@
|
||||
"webhook": "Przychodzący webhook"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"notify": "Wyślij alert",
|
||||
"http": "Wywołaj adres URL",
|
||||
"run_snippet": "Uruchom snippet",
|
||||
"run_command": "Uruchom polecenie",
|
||||
@@ -134,7 +134,7 @@
|
||||
"url": "Adres URL",
|
||||
"method": "Metoda",
|
||||
"body": "Treść",
|
||||
"channels": "Also send to",
|
||||
"channels": "Wyślij również do",
|
||||
"title": "Tytuł",
|
||||
"message": "Wiadomość",
|
||||
"snippet": "Snippet",
|
||||
@@ -152,12 +152,12 @@
|
||||
"stop": "Zatrzymaj uruchomienie",
|
||||
"continue": "Kontynuuj"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"needsPlugin": "Potrzeba {{plugin}}",
|
||||
"needsPluginHint": "Ta automatyzacja jest pomijana do momentu, aż potrzebna funkcja stanie się ponownie dostępna.",
|
||||
"offBadge": "Wył.",
|
||||
"docsLink": "Zobacz dokumentację",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"seconds": "{{count}}s temu",
|
||||
"minutes": "{{count}} min temu",
|
||||
"hours": "{{count}} godz. temu",
|
||||
"days": "{{count}} dni temu"
|
||||
@@ -174,38 +174,38 @@
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Konserwacja",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"description": "Wstrzymaj automatyzację stanu hosta, kondycji, metryk, kontenerów i rozłączania tunelu na czas trwania pracy. Monitorowanie, ręczne uruchomienia i zaplanowane automatyzacje będą kontynuowane.",
|
||||
"denied": "Nie masz uprawnień do przeglądania informacji o konserwacji.",
|
||||
"sharedReadOnly": "Ten host został Ci udostępniony. Tylko jego właściciel może zmienić stan konserwacji.",
|
||||
"failed": "Nie udało się zaktualizować konserwacji.",
|
||||
"active": "Konserwacja aktywna",
|
||||
"estimated": "Szacowany termin ukończenia",
|
||||
"noAutoEnd": "Kosztorys nie kończy prac konserwacyjnych. Należy go jednoznacznie zakończyć po zakończeniu prac.",
|
||||
"endConfirm": "Zakończyć konserwację i wznowić automatyzacje wyzwalane zdarzeniami dla tego hosta?",
|
||||
"confirmEnd": "Potwierdź koniec",
|
||||
"cancel": "Anuluj",
|
||||
"end": "End maintenance",
|
||||
"end": "Zakończ konserwację",
|
||||
"action": "Akcja",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"startNow": "Zacznij teraz",
|
||||
"schedule": "Zaplanuj na później",
|
||||
"reason": "Powód",
|
||||
"startUtc": "Pierwsze uruchomienie (UTC)",
|
||||
"repeat": "Powtórz",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"once": "Raz",
|
||||
"weekly": "Tygodnik",
|
||||
"monthly": "Miesięczny",
|
||||
"utcHelp": "Harmonogramy korzystają z czasu UTC przez cały rok. Harmonogramy miesięczne pomijają miesiące bez wybranego dnia. Zaplanowane okna czasowe nie mogą się na siebie nakładać; nadwyżki konserwacyjne trwają również w kolejnych oknach czasowych.",
|
||||
"duration": "Szacowany czas trwania (minuty)",
|
||||
"grace": "Okres karencji (minuty)",
|
||||
"notify": "Powiadom raz, jeśli po upływie okresu szacunkowego i okresu karencji nadal będziesz offline",
|
||||
"addSchedule": "Dodaj harmonogram",
|
||||
"schedules": "Harmonogramy",
|
||||
"noSchedules": "Brak harmonogramów konserwacji.",
|
||||
"completed": "Już zaczęto",
|
||||
"minutes_one": "{{count}} minuta",
|
||||
"minutes_other": "{{count}} minut",
|
||||
"remove": "Usuń harmonogram",
|
||||
"loadFailed": "Nie można odświeżyć statusu konserwacji. Zmiany są zablokowane do czasu ich załadowania.",
|
||||
"loading": "Ładowanie statusu konserwacji…"
|
||||
}
|
||||
}
|
||||
@@ -1,211 +1,211 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Visualizar automações",
|
||||
"description": "Veja as automações e seu histórico."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Criar automações",
|
||||
"description": "Adicionar novas automações."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Editar automações",
|
||||
"description": "Alterar as automações existentes."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Excluir automações",
|
||||
"description": "Remover automações."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Executar automações",
|
||||
"description": "Acione uma automação manualmente."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"tabChannels": "Channels",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"nameRequired": "Name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"enabledLabel": "Enabled",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"title": "Automações",
|
||||
"tabAutomations": "Automações",
|
||||
"tabRuns": "Corridas",
|
||||
"tabChannels": "Canais",
|
||||
"createAutomation": "Nova Automação",
|
||||
"backToAutomations": "Voltar para Automações",
|
||||
"createTitle": "Nova Automação",
|
||||
"editTitle": "Editar Automação",
|
||||
"empty": "Ainda não há automações. Crie uma para reagir a uma métrica, a um agendamento ou a um evento.",
|
||||
"emptyRuns": "Ainda não houve nenhuma corrida.",
|
||||
"channelsHint": "Os canais são configurados em Alertas.",
|
||||
"noChannelsHint": "O alerta sempre será enviado para sua caixa de entrada. Adicione canais em Alertas para enviá-lo também para outros locais.",
|
||||
"nameLabel": "Nome",
|
||||
"namePlaceholder": "Por exemplo, limpe a pasta /data quando ela estiver cheia.",
|
||||
"nameRequired": "O nome é obrigatório.",
|
||||
"descriptionLabel": "Descrição",
|
||||
"descriptionPlaceholder": "Descrição opcional",
|
||||
"enabledLabel": "Habilitado",
|
||||
"concurrencyLabel": "Se já estiver em execução",
|
||||
"concurrencyHint": "O que fazer quando isso for acionado novamente antes da última execução terminar?",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "Pule a nova corrida",
|
||||
"queue": "Espere e corra atrás.",
|
||||
"allow": "Execute ambos simultaneamente"
|
||||
},
|
||||
"save": "Salvar",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"trigger": "Trigger",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"created": "Automação criada",
|
||||
"updated": "Automação economizou",
|
||||
"deleted": "Automação excluída",
|
||||
"deleteConfirm": "Excluir esta automação? O histórico de execução dela também será excluído.",
|
||||
"runNow": "Corra agora",
|
||||
"testRun": "Teste de execução",
|
||||
"testRunHint": "Executa cada etapa, mas não toca em nada fora do Termix.",
|
||||
"runStarted": "A corrida começou.",
|
||||
"runFinished": "Execução concluída: {{status}}",
|
||||
"trigger": "Acionar",
|
||||
"steps": "Passos",
|
||||
"addStep": "Adicionar etapa",
|
||||
"removeStep": "Remover etapa",
|
||||
"moveUp": "Suba",
|
||||
"moveDown": "Desça",
|
||||
"noSteps": "Ainda não há etapas. Adicione uma para descrever o que deve acontecer.",
|
||||
"webhookTokenTitle": "URL do Webhook",
|
||||
"webhookTokenDescription": "Esta mensagem será exibida apenas uma vez. Salve-a agora, pois não poderá ser recuperada posteriormente.",
|
||||
"copy": "Copiar",
|
||||
"copied": "Copiado",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"never": "Never",
|
||||
"viewBuilder": "Construtor",
|
||||
"viewGraph": "Gráfico",
|
||||
"lastRun": "Última corrida",
|
||||
"never": "Nunca",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Output",
|
||||
"stepOutput": "Saída",
|
||||
"stepError": "Erro",
|
||||
"dryRunBadge": "Test run",
|
||||
"dryRunBadge": "Teste de execução",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"all": "All hosts"
|
||||
"trigger": "Host que desencadeia o ataque",
|
||||
"host": "hospedeiro específico",
|
||||
"fleet": "Frota",
|
||||
"all": "Todos os anfitriões"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "Limiar métrico",
|
||||
"host_status": "O host sobe ou desce.",
|
||||
"health_check": "Alterações na verificação de saúde",
|
||||
"schedule": "De acordo com um cronograma",
|
||||
"docker_event": "Evento de contêiner",
|
||||
"internal_event": "Evento Termix",
|
||||
"webhook": "Webhook de entrada"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"stop": "Stop"
|
||||
"notify": "Enviar um alerta",
|
||||
"http": "Chamar um URL",
|
||||
"run_snippet": "Executar um trecho de código",
|
||||
"run_command": "Executar um comando",
|
||||
"docker": "Controle um contêiner",
|
||||
"tunnel": "Controle um túnel",
|
||||
"wol": "Acorde um anfitrião",
|
||||
"wait": "Espere",
|
||||
"set_var": "Defina uma variável",
|
||||
"if": "Se/caso contrário",
|
||||
"run_automation": "Execute outra automação",
|
||||
"stop": "Parar"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Running",
|
||||
"success": "Success",
|
||||
"failed": "Failed",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"running": "Correndo",
|
||||
"success": "Sucesso",
|
||||
"failed": "Fracassado",
|
||||
"timeout": "Tempo limite excedido",
|
||||
"skipped": "Ignorado",
|
||||
"cancelled": "Cancelado"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Host",
|
||||
"metric": "Metric",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"cooldown": "Cooldown (minutes)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"command": "Command",
|
||||
"host": "Hospedar",
|
||||
"metric": "Métrica",
|
||||
"mount": "Ponto de montagem",
|
||||
"operator": "É",
|
||||
"value": "Valor",
|
||||
"forSeconds": "Sustentado por (segundos)",
|
||||
"cooldown": "Tempo de resfriamento (minutos)",
|
||||
"cron": "Expressão de Cron",
|
||||
"intervalSeconds": "A cada (segundos)",
|
||||
"timezone": "Fuso horário",
|
||||
"timezoneServer": "Hora do servidor",
|
||||
"timezoneHint": "Os horários cron são lidos nesta zona. Não se aplica a agendamentos por intervalo.",
|
||||
"container": "Recipiente",
|
||||
"command": "Comando",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"title": "Title",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"method": "Método",
|
||||
"body": "Corpo",
|
||||
"channels": "Enviar também para",
|
||||
"title": "Título",
|
||||
"message": "Mensagem",
|
||||
"snippet": "Trecho",
|
||||
"seconds": "Segundos",
|
||||
"conditionLeftPlaceholder": "Valor a verificar",
|
||||
"conditionRightPlaceholder": "Compare com",
|
||||
"variableName": "Nome da variável",
|
||||
"variableValue": "Valor",
|
||||
"elevated": "Executar com sudo",
|
||||
"onError": "Se isso falhar",
|
||||
"allowPrivateNetwork": "Permitir endereços de rede local",
|
||||
"allowPrivateNetworkHint": "Necessário para um serviço autohospedado em sua rede local (LAN). Desativado por padrão para evitar solicitações a endereços internos."
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "Pare a corrida",
|
||||
"continue": "Continuar"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"offBadge": "Off",
|
||||
"needsPlugin": "Necessita de {{plugin}}",
|
||||
"needsPluginHint": "Essa automação será ignorada até que o recurso necessário esteja disponível novamente.",
|
||||
"offBadge": "Desligado",
|
||||
"docsLink": "Documentação",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"minutes": "{{count}}m ago",
|
||||
"hours": "{{count}}h ago",
|
||||
"days": "{{count}}d ago"
|
||||
"seconds": "{{count}}s atrás",
|
||||
"minutes": "{{count}}m atrás",
|
||||
"hours": "{{count}}h atrás",
|
||||
"days": "{{count}}há alguns dias"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "Automações"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "Automações",
|
||||
"feature_automations_desc": "Execute etapas automaticamente quando algo acontecer e receba notificações."
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Manutenção",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"description": "Pause as automações de status do host, integridade, métricas, contêiner e desconexão de túnel enquanto o trabalho estiver em andamento. O monitoramento, as execuções manuais e as automações agendadas continuam.",
|
||||
"denied": "Você não tem permissão para visualizar a manutenção.",
|
||||
"sharedReadOnly": "Este host foi compartilhado com você. Somente o proprietário pode alterar as configurações de manutenção.",
|
||||
"failed": "A atualização de manutenção não pôde ser concluída.",
|
||||
"active": "Manutenção ativa",
|
||||
"estimated": "Conclusão prevista",
|
||||
"noAutoEnd": "O orçamento não encerra a manutenção. Encerre-o explicitamente quando o trabalho estiver concluído.",
|
||||
"endConfirm": "Encerrar a manutenção e retomar as automações acionadas por eventos para este host?",
|
||||
"confirmEnd": "Confirme o fim",
|
||||
"cancel": "Cancelar",
|
||||
"end": "End maintenance",
|
||||
"action": "Action",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"end": "Manutenção final",
|
||||
"action": "Ação",
|
||||
"startNow": "Comece agora",
|
||||
"schedule": "Agendamento para mais tarde",
|
||||
"reason": "Razão",
|
||||
"startUtc": "Primeiro início (UTC)",
|
||||
"repeat": "Repita",
|
||||
"once": "Uma vez",
|
||||
"weekly": "Semanalmente",
|
||||
"monthly": "Mensal",
|
||||
"utcHelp": "Os horários utilizam o UTC durante todo o ano. Os horários mensais ignoram os meses que não correspondem ao dia selecionado. Os períodos de planejamento não podem se sobrepor; a manutenção que se estende além do previsto continua nos períodos subsequentes.",
|
||||
"duration": "Duração estimada (minutos)",
|
||||
"grace": "Período de tolerância (minutos)",
|
||||
"notify": "Notificar uma única vez se o usuário ainda estiver offline após o período estimado e de tolerância.",
|
||||
"addSchedule": "Adicionar horário",
|
||||
"schedules": "Horários",
|
||||
"noSchedules": "Sem cronograma de manutenção.",
|
||||
"completed": "Já começou",
|
||||
"minutes_one": "{{count}} minuto",
|
||||
"minutes_other": "{{count}} minutos",
|
||||
"remove": "Remover agendamento",
|
||||
"loadFailed": "Não foi possível atualizar o status de manutenção. As alterações estão desativadas até que o status seja carregado.",
|
||||
"loading": "Carregando status de manutenção…"
|
||||
}
|
||||
}
|
||||
@@ -1,163 +1,163 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Visualizar automações",
|
||||
"description": "Veja as automatizações e o seu histórico."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Criar automações",
|
||||
"description": "Adicionar novas automatizações."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Editar automações",
|
||||
"description": "Alterar as automatizações existentes."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Apagar automações",
|
||||
"description": "Remover automações."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Executar automações",
|
||||
"description": "Acione uma automatização manualmente."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"title": "Automações",
|
||||
"tabAutomations": "Automações",
|
||||
"tabRuns": "Corridas",
|
||||
"tabChannels": "Canais",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"createAutomation": "Nova Automação",
|
||||
"backToAutomations": "Voltar para Automações",
|
||||
"createTitle": "Nova Automação",
|
||||
"editTitle": "Editar Automação",
|
||||
"empty": "Ainda não há automatizações. Crie uma para reagir a uma métrica, a um agendamento ou a um evento.",
|
||||
"emptyRuns": "Ainda não houve qualquer corrida.",
|
||||
"channelsHint": "Os canais são configurados em Alertas.",
|
||||
"noChannelsHint": "O alerta será sempre enviado para a sua caixa de entrada. Adicione canais em Alertas para o enviar também para outros locais.",
|
||||
"nameLabel": "Nome",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"namePlaceholder": "Por exemplo, limpe a pasta /data quando esta estiver cheia.",
|
||||
"nameRequired": "O nome é obrigatório",
|
||||
"descriptionLabel": "Descrição",
|
||||
"descriptionPlaceholder": "Descrição opcional",
|
||||
"enabledLabel": "Ativado",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"concurrencyLabel": "Se já estiver em execução",
|
||||
"concurrencyHint": "O que fazer quando este for novamente acionado antes da última execução terminar?",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "Salte a nova corrida",
|
||||
"queue": "Espere e corra atrás.",
|
||||
"allow": "Execute ambos em simultâneo"
|
||||
},
|
||||
"save": "Guardar",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"created": "Automação criada",
|
||||
"updated": "A automação economizou",
|
||||
"deleted": "Automação excluída",
|
||||
"deleteConfirm": "Apagar esta automação? O histórico de execução da mesma também será eliminado.",
|
||||
"runNow": "Corra agora",
|
||||
"testRun": "Teste de execução",
|
||||
"testRunHint": "Executa cada passo, mas não toca em nada fora do Termix.",
|
||||
"runStarted": "A corrida começou.",
|
||||
"runFinished": "Execução concluída: {{status}}",
|
||||
"trigger": "Gatilho",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"steps": "Passos",
|
||||
"addStep": "Adicionar etapa",
|
||||
"removeStep": "Remover etapa",
|
||||
"moveUp": "Suba",
|
||||
"moveDown": "Desça",
|
||||
"noSteps": "Ainda não há etapas. Adicione uma para descrever o que deve acontecer.",
|
||||
"webhookTokenTitle": "URL do Webhook",
|
||||
"webhookTokenDescription": "Esta mensagem será apresentada apenas uma vez. Guarde-a agora, pois não poderá ser recuperada posteriormente.",
|
||||
"copy": "Copiar",
|
||||
"copied": "Copiado",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"viewBuilder": "Construtor",
|
||||
"viewGraph": "Gráfico",
|
||||
"lastRun": "Última corrida",
|
||||
"never": "Nunca",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Saída",
|
||||
"stepError": "Erro",
|
||||
"dryRunBadge": "Test run",
|
||||
"dryRunBadge": "Teste de execução",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"trigger": "Host que desencadeia o ataque",
|
||||
"host": "hospedeiro específico",
|
||||
"fleet": "Frota",
|
||||
"all": "Todos os hosts"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "Limiar métrico",
|
||||
"host_status": "O host sobe ou desce.",
|
||||
"health_check": "Alterações na verificação de saúde",
|
||||
"schedule": "De acordo com um cronograma",
|
||||
"docker_event": "Evento de contentor",
|
||||
"internal_event": "Evento Termix",
|
||||
"webhook": "Webhook de entrada"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"notify": "Enviar um alerta",
|
||||
"http": "Chamar um URL",
|
||||
"run_snippet": "Executar um excerto de código",
|
||||
"run_command": "Executar um comando",
|
||||
"docker": "Controle um contentor",
|
||||
"tunnel": "Controle um túnel",
|
||||
"wol": "Acorde um anfitrião",
|
||||
"wait": "Espera",
|
||||
"set_var": "Defina uma variável",
|
||||
"if": "Se/caso contrário",
|
||||
"run_automation": "Execute outra automatização",
|
||||
"stop": "Stop"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Em execução",
|
||||
"success": "Sucesso",
|
||||
"failed": "Falhou",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"timeout": "Tempo limite excedido",
|
||||
"skipped": "Ignorado",
|
||||
"cancelled": "Cancelado"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Servidor",
|
||||
"metric": "Métrica",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"mount": "Ponto de montagem",
|
||||
"operator": "É",
|
||||
"value": "Valor",
|
||||
"forSeconds": "Sustentado por (segundos)",
|
||||
"cooldown": "Período de arrefecimento (minutos)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"cron": "Expressão de Cron",
|
||||
"intervalSeconds": "A cada (segundos)",
|
||||
"timezone": "Fuso horário",
|
||||
"timezoneServer": "Hora do servidor",
|
||||
"timezoneHint": "Os tempos cron são lidos nesta zona. Não se aplica a agendamentos por intervalo.",
|
||||
"container": "Recipiente",
|
||||
"command": "Comando",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"method": "Método",
|
||||
"body": "Corpo",
|
||||
"channels": "Enviar também para",
|
||||
"title": "Título",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"message": "Mensagem",
|
||||
"snippet": "Trecho",
|
||||
"seconds": "Segundos",
|
||||
"conditionLeftPlaceholder": "Valor a verificar",
|
||||
"conditionRightPlaceholder": "Compare com",
|
||||
"variableName": "Nome da variável",
|
||||
"variableValue": "Valor",
|
||||
"elevated": "Executar com sudo",
|
||||
"onError": "Se isso falhar",
|
||||
"allowPrivateNetwork": "Permitir endereços de rede local",
|
||||
"allowPrivateNetworkHint": "Necessário para um serviço auto-hospedado na sua rede local (LAN). Desativado por defeito para evitar pedidos a endereços internos."
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "Pare a corrida",
|
||||
"continue": "Continuar"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"needsPlugin": "Necessita de {{plugin}}",
|
||||
"needsPluginHint": "Esta automatização será ignorada até que o recurso necessário esteja novamente disponível.",
|
||||
"offBadge": "Desativado",
|
||||
"docsLink": "Ver docs",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"seconds": "{{count}}s atrás",
|
||||
"minutes": "há {{count}} min",
|
||||
"hours": "há {{count}} h",
|
||||
"days": "há {{count}} d"
|
||||
@@ -166,46 +166,46 @@
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "Automações"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "Automações",
|
||||
"feature_automations_desc": "Execute automaticamente os passos quando algo acontece e receba notificações."
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Manutenção",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"description": "Faça uma pausa nas automatizações de estado do host, integridade, métricas, contentor e desconexão de túnel enquanto o trabalho estiver em curso. A monitorização, as execuções manuais e as automações agendadas continuam.",
|
||||
"denied": "Não tem permissão para visualizar a manutenção.",
|
||||
"sharedReadOnly": "Este host foi partilhado consigo. Apenas o proprietário pode alterar as definições de manutenção.",
|
||||
"failed": "A atualização de manutenção não pôde ser concluída.",
|
||||
"active": "Manutenção ativa",
|
||||
"estimated": "Conclusão prevista",
|
||||
"noAutoEnd": "O orçamento não encerra a manutenção. Encerre-o explicitamente quando o trabalho estiver concluído.",
|
||||
"endConfirm": "Terminar a manutenção e retomar as automatizações acionadas por eventos para este host?",
|
||||
"confirmEnd": "Confirme o fim",
|
||||
"cancel": "Cancelar",
|
||||
"end": "End maintenance",
|
||||
"end": "Manutenção final",
|
||||
"action": "Ação",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"startNow": "Comece agora",
|
||||
"schedule": "Agendamento para mais tarde",
|
||||
"reason": "Razão",
|
||||
"startUtc": "Primeiro arranque (UTC)",
|
||||
"repeat": "Repetir",
|
||||
"once": "Uma vez",
|
||||
"weekly": "Semanalmente",
|
||||
"monthly": "Mensal",
|
||||
"utcHelp": "Os horários utilizam o UTC durante todo o ano. Os horários mensais ignoram os meses que não correspondem ao dia selecionado. Os períodos de planeamento não se podem sobrepor; a manutenção que se estende para além do previsto continua nos períodos subsequentes.",
|
||||
"duration": "Duração estimada (minutos)",
|
||||
"grace": "Período de tolerância (minutos)",
|
||||
"notify": "Notificar uma única vez se o utilizador ainda estiver offline após o período estimado e de tolerância.",
|
||||
"addSchedule": "Adicionar horário",
|
||||
"schedules": "Horários",
|
||||
"noSchedules": "Sem plano de manutenção.",
|
||||
"completed": "Já começou",
|
||||
"minutes_one": "{{count}} minuto",
|
||||
"minutes_other": "{{count}} minutos",
|
||||
"remove": "Remover agendamento",
|
||||
"loadFailed": "Não foi possível atualizar o estado de manutenção. As alterações estão desativadas até que o estado seja carregado.",
|
||||
"loading": "A carregar o estado de manutenção…"
|
||||
}
|
||||
}
|
||||
@@ -1,163 +1,163 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Просмотреть автоматизации",
|
||||
"description": "Ознакомьтесь с автоматизацией и её историей."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Создавайте автоматизации",
|
||||
"description": "Добавить новые автоматизации."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Редактировать автоматизацию",
|
||||
"description": "Измените существующие автоматизации."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Удалить автоматизации",
|
||||
"description": "Удалите автоматизацию."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Запуск автоматизации",
|
||||
"description": "Запустите автоматизацию вручную."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"title": "Автоматизация",
|
||||
"tabAutomations": "Автоматизация",
|
||||
"tabRuns": "Беги",
|
||||
"tabChannels": "Каналы",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"createAutomation": "Новая автоматизация",
|
||||
"backToAutomations": "Назад к автоматизации",
|
||||
"createTitle": "Новая автоматизация",
|
||||
"editTitle": "Редактировать автоматизацию",
|
||||
"empty": "Автоматизации пока нет. Создайте автоматизацию, которая будет реагировать на показатель, расписание или событие.",
|
||||
"emptyRuns": "Пока ни одного заезда.",
|
||||
"channelsHint": "Каналы настраиваются в разделе «Оповещения».",
|
||||
"noChannelsHint": "Уведомление всегда приходит в ваш почтовый ящик. Добавьте каналы в разделе «Уведомления», чтобы оно также отправлялось в другие места.",
|
||||
"nameLabel": "Название",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"namePlaceholder": "Например, очищать каталог /data, когда он заполняется.",
|
||||
"nameRequired": "Имя обязательно",
|
||||
"descriptionLabel": "Описание",
|
||||
"descriptionPlaceholder": "Необязательное описание",
|
||||
"enabledLabel": "Включено",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"concurrencyLabel": "Если он уже запущен",
|
||||
"concurrencyHint": "Что делать, если это снова произойдет до завершения последнего запуска?",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "Пропустите новый запуск",
|
||||
"queue": "Подожди и беги после",
|
||||
"allow": "Запустите оба одновременно."
|
||||
},
|
||||
"save": "Сохранить",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"created": "Создана автоматизация",
|
||||
"updated": "Автоматизация спасла",
|
||||
"deleted": "Автоматизация удалена",
|
||||
"deleteConfirm": "Удалить эту автоматизацию? История её выполнения также будет удалена.",
|
||||
"runNow": "Запустите сейчас",
|
||||
"testRun": "Тестовый запуск",
|
||||
"testRunHint": "Программа выполняет каждый этап, но не затрагивает ничего за пределами Termix.",
|
||||
"runStarted": "Запуск начался",
|
||||
"runFinished": "Выполнение завершено: {{status}}",
|
||||
"trigger": "Триггер",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"steps": "Шаги",
|
||||
"addStep": "Добавить шаг",
|
||||
"removeStep": "Удалить шаг",
|
||||
"moveUp": "Поднимитесь выше",
|
||||
"moveDown": "Спуститесь вниз",
|
||||
"noSteps": "Шагов пока нет. Добавьте один, чтобы указать, что должно произойти.",
|
||||
"webhookTokenTitle": "URL веб-перехватчика",
|
||||
"webhookTokenDescription": "Эта информация отображается только один раз. Сохраните её сейчас, позже восстановить её будет невозможно.",
|
||||
"copy": "Копировать",
|
||||
"copied": "Скопировано",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"viewBuilder": "Строитель",
|
||||
"viewGraph": "График",
|
||||
"lastRun": "Последний забег",
|
||||
"never": "Никогда",
|
||||
"duration": "{{seconds}}s",
|
||||
"duration": "{{seconds}}с",
|
||||
"stepOutput": "Вывод",
|
||||
"stepError": "Ошибка",
|
||||
"dryRunBadge": "Test run",
|
||||
"dryRunBadge": "Тестовый запуск",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"trigger": "Запуск хоста",
|
||||
"host": "Конкретный хост",
|
||||
"fleet": "Флот",
|
||||
"all": "Все хосты"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "Пороговое значение метрики",
|
||||
"host_status": "Хост переходит в режим повышения или понижения.",
|
||||
"health_check": "Изменения в результатах медицинского осмотра",
|
||||
"schedule": "По расписанию",
|
||||
"docker_event": "Событие контейнера",
|
||||
"internal_event": "Мероприятие Termix",
|
||||
"webhook": "Входящий веб-хук"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"notify": "Отправить оповещение",
|
||||
"http": "Вызов URL-адреса",
|
||||
"run_snippet": "Запустить фрагмент кода",
|
||||
"run_command": "Выполните команду",
|
||||
"docker": "Управлять контейнером",
|
||||
"tunnel": "Контролируемый туннель",
|
||||
"wol": "Разбудить хозяина",
|
||||
"wait": "Ждать",
|
||||
"set_var": "Задайте переменную",
|
||||
"if": "Если / в противном случае",
|
||||
"run_automation": "Запустите еще одну автоматизацию",
|
||||
"stop": "Остановить"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Запущен",
|
||||
"success": "Успех",
|
||||
"failed": "Ошибка",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"timeout": "Время истекло",
|
||||
"skipped": "Пропущено",
|
||||
"cancelled": "Отменено"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Хост",
|
||||
"metric": "Метрика",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"mount": "Маунт-Пойнт",
|
||||
"operator": "Является",
|
||||
"value": "Ценить",
|
||||
"forSeconds": "Длительность (секунды)",
|
||||
"cooldown": "Задержка повторения (минут)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"cron": "Выражение Cron",
|
||||
"intervalSeconds": "Каждые (секунды)",
|
||||
"timezone": "Часовой пояс",
|
||||
"timezoneServer": "Время сервера",
|
||||
"timezoneHint": "В этой зоне считываются временные параметры Cron. Это не относится к интервальным расписаниям.",
|
||||
"container": "Контейнер",
|
||||
"command": "Команда",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"method": "Метод",
|
||||
"body": "Тело",
|
||||
"channels": "Также отправить на",
|
||||
"title": "Название",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"message": "Сообщение",
|
||||
"snippet": "Фрагмент",
|
||||
"seconds": "Секунды",
|
||||
"conditionLeftPlaceholder": "Значение для проверки",
|
||||
"conditionRightPlaceholder": "Сравните с",
|
||||
"variableName": "Имя переменной",
|
||||
"variableValue": "Ценить",
|
||||
"elevated": "Запустить с правами суперпользователя (sudo)",
|
||||
"onError": "Если это не поможет",
|
||||
"allowPrivateNetwork": "Разрешить использование локальных сетевых адресов",
|
||||
"allowPrivateNetworkHint": "Необходим для самостоятельного размещения сервиса в вашей локальной сети. По умолчанию отключен, чтобы предотвратить запросы к внутренним адресам."
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "Остановить бег",
|
||||
"continue": "Продолжать"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"needsPlugin": "Потребности {{plugin}}",
|
||||
"needsPluginHint": "Эта автоматизация пропускается до тех пор, пока необходимая функция снова не станет доступна.",
|
||||
"offBadge": "Отключено",
|
||||
"docsLink": "Документация",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"seconds": "{{count}}s назад",
|
||||
"minutes": "{{count}}м назад",
|
||||
"hours": "{{count}}ч назад",
|
||||
"days": "{{count}}д назад"
|
||||
@@ -166,46 +166,46 @@
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "Автоматизация"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "Автоматизация",
|
||||
"feature_automations_desc": "Запускайте шаги автоматически при возникновении событий и получайте уведомления."
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Обслуживание",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"description": "Приостановите автоматизацию проверки состояния хоста, работоспособности, метрик, контейнеров и разрыва туннелей на время выполнения работ. Мониторинг, ручные запуски и запланированные автоматизации продолжатся.",
|
||||
"denied": "У вас нет разрешения на просмотр информации о техническом обслуживании.",
|
||||
"sharedReadOnly": "Этот хостинг был предоставлен вам. Только его владелец может вносить изменения в настройки технического обслуживания.",
|
||||
"failed": "Обновление информации о техническом обслуживании не удалось.",
|
||||
"active": "Техническое обслуживание активно",
|
||||
"estimated": "Предполагаемая дата завершения",
|
||||
"noAutoEnd": "Смета не завершает техническое обслуживание. Завершайте его, когда работы будут полностью выполнены.",
|
||||
"endConfirm": "Завершить автоматизацию технического обслуживания и возобновить работу для этого хоста?",
|
||||
"confirmEnd": "Подтвердить конец",
|
||||
"cancel": "Отмена",
|
||||
"end": "End maintenance",
|
||||
"end": "Завершение технического обслуживания",
|
||||
"action": "Действие",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"startNow": "Начните прямо сейчас",
|
||||
"schedule": "Запланируйте на более позднее время",
|
||||
"reason": "Причина",
|
||||
"startUtc": "Первый запуск (UTC)",
|
||||
"repeat": "Повторить",
|
||||
"once": "Один раз",
|
||||
"weekly": "Еженедельно",
|
||||
"monthly": "Ежемесячно",
|
||||
"utcHelp": "В расписаниях используется UTC в течение всего года. В месячных расписаниях пропускаются месяцы, в которых отсутствует выбранный день. Запланированные временные окна не могут перекрываться; работы по техническому обслуживанию, выполняемые в течение более поздних временных окон, продолжаются и в последующие.",
|
||||
"duration": "Ориентировочная продолжительность (в минутах)",
|
||||
"grace": "Льготный период (в минутах)",
|
||||
"notify": "Если после истечения расчетного периода и льготного периода связь по-прежнему отсутствует, сообщите об этом один раз.",
|
||||
"addSchedule": "Добавить расписание",
|
||||
"schedules": "Расписания",
|
||||
"noSchedules": "График технического обслуживания отсутствует.",
|
||||
"completed": "Уже началось",
|
||||
"minutes_one": "{{count}} минут",
|
||||
"minutes_other": "{{count}} минут",
|
||||
"remove": "Удалить расписание",
|
||||
"loadFailed": "Не удалось обновить статус технического обслуживания. Изменения отключены до тех пор, пока не будет загружена соответствующая информация.",
|
||||
"loading": "Статус технического обслуживания загрузки…"
|
||||
}
|
||||
}
|
||||
@@ -1,211 +1,211 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Прикажи аутоматизације",
|
||||
"description": "Погледајте аутоматизације и њихову историју."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Креирајте аутоматизације",
|
||||
"description": "Додајте нове аутоматизације."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Уреди аутоматизације",
|
||||
"description": "Промените постојеће аутоматизације."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Обриши аутоматизације",
|
||||
"description": "Уклоните аутоматизације."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Покрени аутоматизације",
|
||||
"description": "Ручно покрените аутоматизацију."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"tabChannels": "Channels",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"nameRequired": "Name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"enabledLabel": "Enabled",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"title": "Аутоматизације",
|
||||
"tabAutomations": "Аутоматизације",
|
||||
"tabRuns": "Трчи",
|
||||
"tabChannels": "Канали",
|
||||
"createAutomation": "Нова аутоматизација",
|
||||
"backToAutomations": "Назад на аутоматизацију",
|
||||
"createTitle": "Нова аутоматизација",
|
||||
"editTitle": "Уреди аутоматизацију",
|
||||
"empty": "Још увек нема аутоматизација. Направите једну да бисте реаговали на метрику, распоред или догађај.",
|
||||
"emptyRuns": "Још нема трчања.",
|
||||
"channelsHint": "Канали се подешавају у Обавештењима",
|
||||
"noChannelsHint": "Обавештење увек иде у ваше пријемно сандуче. Додајте канале у Обавештења да бисте га послали и негде другде.",
|
||||
"nameLabel": "Име",
|
||||
"namePlaceholder": "нпр. Очисти /подаци када се попуне",
|
||||
"nameRequired": "Име је обавезно",
|
||||
"descriptionLabel": "Опис",
|
||||
"descriptionPlaceholder": "Опциони опис",
|
||||
"enabledLabel": "Омогућено",
|
||||
"concurrencyLabel": "Ако већ ради",
|
||||
"concurrencyHint": "Шта урадити када се ово поново покрене пре него што се заврши последње покретање.",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "Прескочи нову вожњу",
|
||||
"queue": "Чекај и трчи за њим",
|
||||
"allow": "Покрени оба одједном"
|
||||
},
|
||||
"save": "Save",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"trigger": "Trigger",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"copy": "Copy",
|
||||
"copied": "Copied",
|
||||
"save": "Сачувај",
|
||||
"created": "Аутоматизација је креирана",
|
||||
"updated": "Аутоматизација је сачувана",
|
||||
"deleted": "Аутоматизација је обрисана",
|
||||
"deleteConfirm": "Да ли желите да обришете ову аутоматизацију? Њена историја покретања је такође обрисана.",
|
||||
"runNow": "Трчи сада",
|
||||
"testRun": "Тестирање",
|
||||
"testRunHint": "Покреће сваки корак, али не додирује ништа изван Термикса.",
|
||||
"runStarted": "Трчање је започето",
|
||||
"runFinished": "Трка завршена: {{status}}",
|
||||
"trigger": "Окидач",
|
||||
"steps": "Кораци",
|
||||
"addStep": "Додај корак",
|
||||
"removeStep": "Уклони корак",
|
||||
"moveUp": "Помери горе",
|
||||
"moveDown": "Помери надоле",
|
||||
"noSteps": "Још нема корака. Додајте један да бисте рекли шта треба да се деси.",
|
||||
"webhookTokenTitle": "URL вебхука",
|
||||
"webhookTokenDescription": "Ово се приказује једном. Сачувајте то сада, не можете то касније преузети.",
|
||||
"copy": "Копија",
|
||||
"copied": "Копирано",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"never": "Never",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Output",
|
||||
"stepError": "Error",
|
||||
"dryRunBadge": "Test run",
|
||||
"viewBuilder": "Градитељ",
|
||||
"viewGraph": "График",
|
||||
"lastRun": "Последње трчање",
|
||||
"never": "Никад",
|
||||
"duration": "{{seconds}}с",
|
||||
"stepOutput": "Излаз",
|
||||
"stepError": "Грешка",
|
||||
"dryRunBadge": "Тестирање",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"all": "All hosts"
|
||||
"trigger": "Покретач хоста",
|
||||
"host": "Одређени домаћин",
|
||||
"fleet": "Флота",
|
||||
"all": "Сви домаћини"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "Праг метрике",
|
||||
"host_status": "Домаћин иде горе или доле",
|
||||
"health_check": "Промене у провери исправности",
|
||||
"schedule": "По распореду",
|
||||
"docker_event": "Догађај контејнера",
|
||||
"internal_event": "Термикс догађај",
|
||||
"webhook": "Долазни вебхук"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"stop": "Stop"
|
||||
"notify": "Пошаљи упозорење",
|
||||
"http": "Позовите URL",
|
||||
"run_snippet": "Покрени исечак",
|
||||
"run_command": "Покрените команду",
|
||||
"docker": "Контролишите контејнер",
|
||||
"tunnel": "Контролишите тунел",
|
||||
"wol": "Пробудите домаћина",
|
||||
"wait": "Чекај",
|
||||
"set_var": "Поставите променљиву",
|
||||
"if": "Ако / иначе",
|
||||
"run_automation": "Покрените још једну аутоматизацију",
|
||||
"stop": "Заустави"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Running",
|
||||
"success": "Success",
|
||||
"failed": "Failed",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"running": "Трчање",
|
||||
"success": "Успех",
|
||||
"failed": "Неуспешно",
|
||||
"timeout": "Временско ограничење је истекло",
|
||||
"skipped": "Прескочено",
|
||||
"cancelled": "Отказано"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Host",
|
||||
"metric": "Metric",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"cooldown": "Cooldown (minutes)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"command": "Command",
|
||||
"host": "Домаћин",
|
||||
"metric": "Метрика",
|
||||
"mount": "Тачка монтирања",
|
||||
"operator": "Је",
|
||||
"value": "Вредност",
|
||||
"forSeconds": "Задржано (секунде)",
|
||||
"cooldown": "Хлађење (минути)",
|
||||
"cron": "Cron израз",
|
||||
"intervalSeconds": "Сваких (секунде)",
|
||||
"timezone": "Временска зона",
|
||||
"timezoneServer": "Време сервера",
|
||||
"timezoneHint": "Cron времена се очитавају у овој зони. Не односи се на интервалне распореде.",
|
||||
"container": "Контејнер",
|
||||
"command": "Команда",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"title": "Title",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"method": "Метод",
|
||||
"body": "Тело",
|
||||
"channels": "Такође пошаљите на",
|
||||
"title": "Наслов",
|
||||
"message": "Порука",
|
||||
"snippet": "Исечак",
|
||||
"seconds": "Секунде",
|
||||
"conditionLeftPlaceholder": "Вредност за проверу",
|
||||
"conditionRightPlaceholder": "Упореди са",
|
||||
"variableName": "Назив променљиве",
|
||||
"variableValue": "Вредност",
|
||||
"elevated": "Покрени са sudo-ом",
|
||||
"onError": "Ако ово не успе",
|
||||
"allowPrivateNetwork": "Дозволи локалне мрежне адресе",
|
||||
"allowPrivateNetworkHint": "Потребно за самостално хостовану услугу на вашој локалној мрежи. Подразумевано искључено да би се спречили захтеви ка интерним адресама."
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "Заустави трчање",
|
||||
"continue": "Настави"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"offBadge": "Off",
|
||||
"docsLink": "View docs",
|
||||
"needsPlugin": "Потребно је {{plugin}}",
|
||||
"needsPluginHint": "Ова аутоматизација се прескаче док функција која јој је потребна поново не буде доступна.",
|
||||
"offBadge": "Искључено",
|
||||
"docsLink": "Прикажи документе",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"minutes": "{{count}}m ago",
|
||||
"hours": "{{count}}h ago",
|
||||
"days": "{{count}}d ago"
|
||||
"seconds": "Пре {{count}}сек",
|
||||
"minutes": "{{count}}пре мин",
|
||||
"hours": "{{count}}пре сати",
|
||||
"days": "{{count}}пре д"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "Аутоматизације"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "Аутоматизације",
|
||||
"feature_automations_desc": "Аутоматски покрените кораке када се нешто деси и добијте обавештења."
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Maintenance",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"cancel": "Cancel",
|
||||
"end": "End maintenance",
|
||||
"action": "Action",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"title": "Одржавање",
|
||||
"description": "Паузирајте аутоматизације статуса хоста, здравља, метрике, контејнера и тунелског искључивања док је рад у току. Праћење, ручна покретања и заказане аутоматизације се настављају.",
|
||||
"denied": "Немате дозволу за преглед одржавања.",
|
||||
"sharedReadOnly": "Овај хост је дељен са вама. Само његов власник може да промени одржавање.",
|
||||
"failed": "Ажурирање одржавања није успело.",
|
||||
"active": "Одржавање је активно",
|
||||
"estimated": "Процењени завршетак",
|
||||
"noAutoEnd": "Процена не завршава одржавање. Завршите га експлицитно када је посао завршен.",
|
||||
"endConfirm": "Да ли желите да завршите одржавање и наставите аутоматизације покренуте догађајима за овог хоста?",
|
||||
"confirmEnd": "Потврди крај",
|
||||
"cancel": "Откажи",
|
||||
"end": "Заврши одржавање",
|
||||
"action": "Акција",
|
||||
"startNow": "Почни сада",
|
||||
"schedule": "Закажите за касније",
|
||||
"reason": "Разлог",
|
||||
"startUtc": "Први почетак (UTC)",
|
||||
"repeat": "Понови",
|
||||
"once": "Једном",
|
||||
"weekly": "Недељно",
|
||||
"monthly": "Месечно",
|
||||
"utcHelp": "Распореди користе UTC време током целе године. Месечни распореди прескачу месеце без изабраног дана. Планирани прозори се не могу преклапати; преоптерећено одржавање се наставља и у каснијим прозорима.",
|
||||
"duration": "Процењено трајање (минути)",
|
||||
"grace": "Грејс период (минути)",
|
||||
"notify": "Обавести ме једном ако је и даље ван мреже након процене плус грејс период",
|
||||
"addSchedule": "Додај распоред",
|
||||
"schedules": "Распореди",
|
||||
"noSchedules": "Нема распореда одржавања.",
|
||||
"completed": "Већ је почело",
|
||||
"minutes_one": "{{count}} минут",
|
||||
"minutes_other": "{{count}} минута",
|
||||
"remove": "Уклони распоред",
|
||||
"loadFailed": "Није могуће освежити статус одржавања. Промене су онемогућене док се не учита.",
|
||||
"loading": "Учитавање статуса одржавања…"
|
||||
}
|
||||
}
|
||||
@@ -1,211 +1,211 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Visa automatiseringar",
|
||||
"description": "Se automatiseringarna och deras historik."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Skapa automatiseringar",
|
||||
"description": "Lägg till nya automatiseringar."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Redigera automatiseringar",
|
||||
"description": "Ändra befintliga automatiseringar."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Ta bort automatiseringar",
|
||||
"description": "Ta bort automatiseringar."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Kör automatiseringar",
|
||||
"description": "Utlös en automatisering manuellt."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"tabChannels": "Channels",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"nameRequired": "Name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"enabledLabel": "Enabled",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"title": "Automatiseringar",
|
||||
"tabAutomations": "Automatiseringar",
|
||||
"tabRuns": "Löpningar",
|
||||
"tabChannels": "Kanaler",
|
||||
"createAutomation": "Ny automatisering",
|
||||
"backToAutomations": "Tillbaka till Automatiseringar",
|
||||
"createTitle": "Ny automatisering",
|
||||
"editTitle": "Redigera automatisering",
|
||||
"empty": "Inga automatiseringar ännu. Skapa en för att reagera på ett mätvärde, ett schema eller en händelse.",
|
||||
"emptyRuns": "Inga löpningar än.",
|
||||
"channelsHint": "Kanaler konfigureras i aviseringar",
|
||||
"noChannelsHint": "Aviseringen skickas alltid till din inkorg. Lägg till kanaler i Aviseringar för att även skicka den någon annanstans.",
|
||||
"nameLabel": "Namn",
|
||||
"namePlaceholder": "t.ex. Rensa upp /data när den fylls",
|
||||
"nameRequired": "Namn krävs",
|
||||
"descriptionLabel": "Beskrivning",
|
||||
"descriptionPlaceholder": "Valfri beskrivning",
|
||||
"enabledLabel": "Aktiverad",
|
||||
"concurrencyLabel": "Om den redan är igång",
|
||||
"concurrencyHint": "Vad man ska göra när detta utlöses igen innan den sista körningen är klar.",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "Hoppa över den nya körningen",
|
||||
"queue": "Vänta och spring efter",
|
||||
"allow": "Kör båda samtidigt"
|
||||
},
|
||||
"save": "Save",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"trigger": "Trigger",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"copy": "Copy",
|
||||
"copied": "Copied",
|
||||
"save": "Spara",
|
||||
"created": "Automatisering skapad",
|
||||
"updated": "Automatisering sparad",
|
||||
"deleted": "Automatisering borttagen",
|
||||
"deleteConfirm": "Vill du ta bort den här automatiseringen? Dess körhistorik raderas också.",
|
||||
"runNow": "Kör nu",
|
||||
"testRun": "Testkörning",
|
||||
"testRunHint": "Kör varje steg men rör ingenting utanför Termix.",
|
||||
"runStarted": "Löpningen har startat",
|
||||
"runFinished": "Körning avslutad: {{status}}",
|
||||
"trigger": "Utlösare",
|
||||
"steps": "Steg",
|
||||
"addStep": "Lägg till steg",
|
||||
"removeStep": "Ta bort steg",
|
||||
"moveUp": "Flytta upp",
|
||||
"moveDown": "Flytta nedåt",
|
||||
"noSteps": "Inga steg ännu. Lägg till ett för att ange vad som ska hända.",
|
||||
"webhookTokenTitle": "Webhook-URL",
|
||||
"webhookTokenDescription": "Detta visas en gång. Spara det nu, det kan inte hämtas senare.",
|
||||
"copy": "Kopiera",
|
||||
"copied": "Kopierad",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"never": "Never",
|
||||
"viewBuilder": "Byggmästare",
|
||||
"viewGraph": "Graf",
|
||||
"lastRun": "Sista körningen",
|
||||
"never": "Aldrig",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Output",
|
||||
"stepError": "Error",
|
||||
"dryRunBadge": "Test run",
|
||||
"stepOutput": "Produktion",
|
||||
"stepError": "Fel",
|
||||
"dryRunBadge": "Testkörning",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"all": "All hosts"
|
||||
"trigger": "Utlösande värd",
|
||||
"host": "Specifik värd",
|
||||
"fleet": "Flotta",
|
||||
"all": "Alla värdar"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "Metrisk tröskelvärde",
|
||||
"host_status": "Värden går upp eller ner",
|
||||
"health_check": "Ändringar i hälsokontrollen",
|
||||
"schedule": "Enligt ett schema",
|
||||
"docker_event": "Containerhändelse",
|
||||
"internal_event": "Termix-evenemang",
|
||||
"webhook": "Inkommande webhook"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"stop": "Stop"
|
||||
"notify": "Skicka en avisering",
|
||||
"http": "Anropa en URL",
|
||||
"run_snippet": "Kör ett utdrag",
|
||||
"run_command": "Kör ett kommando",
|
||||
"docker": "Styr en container",
|
||||
"tunnel": "Kontrollera en tunnel",
|
||||
"wol": "Väck en värd",
|
||||
"wait": "Vänta",
|
||||
"set_var": "Ställ in en variabel",
|
||||
"if": "Om / annars",
|
||||
"run_automation": "Kör en annan automatisering",
|
||||
"stop": "Stopp"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Running",
|
||||
"success": "Success",
|
||||
"failed": "Failed",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"running": "Spring",
|
||||
"success": "Framgång",
|
||||
"failed": "Misslyckades",
|
||||
"timeout": "Timeout",
|
||||
"skipped": "Hoppade över",
|
||||
"cancelled": "Avbruten"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Host",
|
||||
"metric": "Metric",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"cooldown": "Cooldown (minutes)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"command": "Command",
|
||||
"host": "Värd",
|
||||
"metric": "Metrisk",
|
||||
"mount": "Monteringspunkt",
|
||||
"operator": "Är",
|
||||
"value": "Värde",
|
||||
"forSeconds": "Uthållen i (sekunder)",
|
||||
"cooldown": "Nedkylningstid (minuter)",
|
||||
"cron": "Cron-uttryck",
|
||||
"intervalSeconds": "Varje (sekund)",
|
||||
"timezone": "Tidszon",
|
||||
"timezoneServer": "Servertid",
|
||||
"timezoneHint": "Cron-tider läses i denna zon. Gäller inte för intervallscheman.",
|
||||
"container": "Behållare",
|
||||
"command": "Kommando",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"title": "Title",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"method": "Metod",
|
||||
"body": "Kropp",
|
||||
"channels": "Skicka även till",
|
||||
"title": "Titel",
|
||||
"message": "Meddelande",
|
||||
"snippet": "Utdrag",
|
||||
"seconds": "Sekunder",
|
||||
"conditionLeftPlaceholder": "Värde att kontrollera",
|
||||
"conditionRightPlaceholder": "Jämför mot",
|
||||
"variableName": "Variabelnamn",
|
||||
"variableValue": "Värde",
|
||||
"elevated": "Kör med sudo",
|
||||
"onError": "Om detta misslyckas",
|
||||
"allowPrivateNetwork": "Tillåt lokala nätverksadresser",
|
||||
"allowPrivateNetworkHint": "Behövs för en självhostad tjänst på ditt lokala nätverk. Avstängt som standard för att förhindra förfrågningar till interna adresser."
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "Stoppa löpningen",
|
||||
"continue": "Fortsätta"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"offBadge": "Off",
|
||||
"docsLink": "View docs",
|
||||
"needsPlugin": "Behöver {{plugin}}",
|
||||
"needsPluginHint": "Denna automatisering hoppas över tills den funktion den behöver är tillgänglig igen.",
|
||||
"offBadge": "Av",
|
||||
"docsLink": "Visa dokument",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"minutes": "{{count}}m ago",
|
||||
"hours": "{{count}}h ago",
|
||||
"days": "{{count}}d ago"
|
||||
"seconds": "{{count}}sekunder sedan",
|
||||
"minutes": "för {{count}}minuter sedan",
|
||||
"hours": "för {{count}}timmar sedan",
|
||||
"days": "för {{count}}dagar sedan"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "Automatiseringar"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "Automatiseringar",
|
||||
"feature_automations_desc": "Kör steg automatiskt när något händer och få aviseringar."
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Maintenance",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"cancel": "Cancel",
|
||||
"end": "End maintenance",
|
||||
"action": "Action",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"title": "Underhåll",
|
||||
"description": "Pausa automatiseringar för värdstatus, hälsa, mätvärden, container- och tunnelfrånkoppling medan arbetet pågår. Övervakning, manuella körningar och schemalagda automatiseringar fortsätter.",
|
||||
"denied": "Du har inte behörighet att visa underhåll.",
|
||||
"sharedReadOnly": "Denna värden delades med dig. Endast dess ägare kan ändra underhållet.",
|
||||
"failed": "Underhållet kunde inte uppdateras.",
|
||||
"active": "Underhåll aktivt",
|
||||
"estimated": "Beräknad färdigställande",
|
||||
"noAutoEnd": "Uppskattningen avslutar inte underhållet. Avsluta det uttryckligen när arbetet är slutfört.",
|
||||
"endConfirm": "Vill du avsluta underhållet och återuppta händelseutlösta automatiseringar för den här värden?",
|
||||
"confirmEnd": "Bekräfta slutet",
|
||||
"cancel": "Avboka",
|
||||
"end": "Avsluta underhåll",
|
||||
"action": "Handling",
|
||||
"startNow": "Börja nu",
|
||||
"schedule": "Schema för senare",
|
||||
"reason": "Resonera",
|
||||
"startUtc": "Första start (UTC)",
|
||||
"repeat": "Upprepa",
|
||||
"once": "En gång",
|
||||
"weekly": "Varje vecka",
|
||||
"monthly": "Månatlig",
|
||||
"utcHelp": "Scheman använder UTC under hela året. Månadsscheman hoppar över månader utan vald dag. Planerade fönster kan inte överlappa varandra; underhåll som överskrider schemat fortsätter över senare fönster.",
|
||||
"duration": "Beräknad varaktighet (minuter)",
|
||||
"grace": "Respitperiod (minuter)",
|
||||
"notify": "Meddela en gång om du fortfarande är offline efter uppskattningen plus respitperioden",
|
||||
"addSchedule": "Lägg till schema",
|
||||
"schedules": "Scheman",
|
||||
"noSchedules": "Inga underhållsscheman.",
|
||||
"completed": "Redan påbörjat",
|
||||
"minutes_one": "{{count}} minut",
|
||||
"minutes_other": "{{count}} minuter",
|
||||
"remove": "Ta bort schema",
|
||||
"loadFailed": "Kunde inte uppdatera underhållsstatusen. Ändringar är inaktiverade tills den kan läsas in.",
|
||||
"loading": "Laddar underhållsstatus…"
|
||||
}
|
||||
}
|
||||
@@ -1,211 +1,211 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "ดูระบบอัตโนมัติ",
|
||||
"description": "ดูการทำงานอัตโนมัติและประวัติการทำงาน"
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "สร้างระบบอัตโนมัติ",
|
||||
"description": "เพิ่มระบบอัตโนมัติใหม่"
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "แก้ไขระบบอัตโนมัติ",
|
||||
"description": "ปรับเปลี่ยนระบบอัตโนมัติที่มีอยู่เดิม"
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "ลบระบบอัตโนมัติ",
|
||||
"description": "ลบระบบอัตโนมัติออก"
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "เรียกใช้ระบบอัตโนมัติ",
|
||||
"description": "สั่งการให้ระบบอัตโนมัติทำงานด้วยตนเอง"
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"tabChannels": "Channels",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"nameRequired": "Name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"enabledLabel": "Enabled",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"title": "ระบบอัตโนมัติ",
|
||||
"tabAutomations": "ระบบอัตโนมัติ",
|
||||
"tabRuns": "วิ่ง",
|
||||
"tabChannels": "ช่องต่างๆ",
|
||||
"createAutomation": "ระบบอัตโนมัติใหม่",
|
||||
"backToAutomations": "กลับสู่ระบบอัตโนมัติ",
|
||||
"createTitle": "ระบบอัตโนมัติใหม่",
|
||||
"editTitle": "แก้ไขอัตโนมัติ",
|
||||
"empty": "ยังไม่มีระบบอัตโนมัติใดๆ สร้างระบบอัตโนมัติเพื่อตอบสนองต่อตัวชี้วัด กำหนดการ หรือเหตุการณ์ต่างๆ",
|
||||
"emptyRuns": "ยังไม่มีการทดลองใดๆ เกิดขึ้น",
|
||||
"channelsHint": "ช่องทางต่างๆ ถูกตั้งค่าไว้ในระบบแจ้งเตือน",
|
||||
"noChannelsHint": "การแจ้งเตือนจะส่งไปยังกล่องจดหมายเข้าของคุณเสมอ เพิ่มช่องทางการแจ้งเตือนเพื่อส่งไปยังที่อื่นเพิ่มเติมได้",
|
||||
"nameLabel": "ชื่อ",
|
||||
"namePlaceholder": "เช่น ล้างข้อมูลใน /data เมื่อเต็ม",
|
||||
"nameRequired": "ต้องระบุชื่อ",
|
||||
"descriptionLabel": "คำอธิบาย",
|
||||
"descriptionPlaceholder": "คำอธิบายเพิ่มเติม (ไม่บังคับ)",
|
||||
"enabledLabel": "เปิดใช้งาน",
|
||||
"concurrencyLabel": "หากกำลังทำงานอยู่แล้ว",
|
||||
"concurrencyHint": "ควรทำอย่างไรเมื่อเหตุการณ์นี้เกิดขึ้นอีกครั้งก่อนที่การทำงานครั้งสุดท้ายจะเสร็จสิ้น",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "ข้ามการวิ่งรอบใหม่ไป",
|
||||
"queue": "รอและวิ่งตาม",
|
||||
"allow": "เรียกใช้ทั้งสองอย่างพร้อมกัน"
|
||||
},
|
||||
"save": "Save",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"trigger": "Trigger",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"copy": "Copy",
|
||||
"copied": "Copied",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"never": "Never",
|
||||
"save": "บันทึก",
|
||||
"created": "ระบบอัตโนมัติสร้างขึ้น",
|
||||
"updated": "ระบบอัตโนมัติได้รับการบันทึกแล้ว",
|
||||
"deleted": "ระบบอัตโนมัติลบแล้ว",
|
||||
"deleteConfirm": "ลบระบบอัตโนมัตินี้แล้วใช่ไหม? ประวัติการทำงานของมันก็จะถูกลบไปด้วย",
|
||||
"runNow": "วิ่งเลยตอนนี้",
|
||||
"testRun": "การทดสอบการทำงาน",
|
||||
"testRunHint": "ทำงานทุกขั้นตอน แต่ไม่แตะต้องสิ่งใดนอกเหนือจาก Termix",
|
||||
"runStarted": "การวิ่งเริ่มต้นขึ้นแล้ว",
|
||||
"runFinished": "การทำงานเสร็จสิ้น: {{status}}",
|
||||
"trigger": "สิ่งกระตุ้น",
|
||||
"steps": "ขั้นตอน",
|
||||
"addStep": "เพิ่มขั้นตอน",
|
||||
"removeStep": "ลบขั้นตอน",
|
||||
"moveUp": "เลื่อนขึ้น",
|
||||
"moveDown": "เลื่อนลง",
|
||||
"noSteps": "ยังไม่มีขั้นตอนใดๆ เพิ่มขั้นตอนเพื่ออธิบายว่าควรเกิดอะไรขึ้น",
|
||||
"webhookTokenTitle": "URL ของเว็บฮุค",
|
||||
"webhookTokenDescription": "แสดงเพียงครั้งเดียว บันทึกตอนนี้ ไม่สามารถเรียกดูซ้ำได้ในภายหลัง",
|
||||
"copy": "สำเนา",
|
||||
"copied": "คัดลอกแล้ว",
|
||||
"viewJson": "เจซอน",
|
||||
"viewBuilder": "ผู้สร้าง",
|
||||
"viewGraph": "กราฟ",
|
||||
"lastRun": "การวิ่งครั้งสุดท้าย",
|
||||
"never": "ไม่เคย",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Output",
|
||||
"stepError": "Error",
|
||||
"dryRunBadge": "Test run",
|
||||
"stepOutput": "เอาต์พุต",
|
||||
"stepError": "ข้อผิดพลาด",
|
||||
"dryRunBadge": "การทดสอบการทำงาน",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"all": "All hosts"
|
||||
"trigger": "โฮสต์ทริกเกอร์",
|
||||
"host": "โฮสต์เฉพาะ",
|
||||
"fleet": "กองเรือ",
|
||||
"all": "โฮสต์ทั้งหมด"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "เกณฑ์เมตริก",
|
||||
"host_status": "โฮสต์ขึ้นหรือลง",
|
||||
"health_check": "การเปลี่ยนแปลงการตรวจสุขภาพ",
|
||||
"schedule": "ตามกำหนดเวลา",
|
||||
"docker_event": "เหตุการณ์คอนเทนเนอร์",
|
||||
"internal_event": "กิจกรรมเทอร์มิกซ์",
|
||||
"webhook": "เว็บฮุคขาเข้า"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"stop": "Stop"
|
||||
"notify": "ส่งการแจ้งเตือน",
|
||||
"http": "เรียกใช้ URL",
|
||||
"run_snippet": "เรียกใช้โค้ดตัวอย่าง",
|
||||
"run_command": "เรียกใช้คำสั่ง",
|
||||
"docker": "ควบคุมคอนเทนเนอร์",
|
||||
"tunnel": "ควบคุมอุโมงค์",
|
||||
"wol": "ปลุกโฮสต์",
|
||||
"wait": "รอ",
|
||||
"set_var": "ตั้งค่าตัวแปร",
|
||||
"if": "ถ้า / มิฉะนั้น",
|
||||
"run_automation": "เรียกใช้ระบบอัตโนมัติอีกครั้ง",
|
||||
"stop": "หยุด"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Running",
|
||||
"success": "Success",
|
||||
"failed": "Failed",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"running": "วิ่ง",
|
||||
"success": "ความสำเร็จ",
|
||||
"failed": "ล้มเหลว",
|
||||
"timeout": "หมดเวลา",
|
||||
"skipped": "ข้ามไป",
|
||||
"cancelled": "ยกเลิก"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Host",
|
||||
"metric": "Metric",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"cooldown": "Cooldown (minutes)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"command": "Command",
|
||||
"host": "เจ้าภาพ",
|
||||
"metric": "เมตริก",
|
||||
"mount": "จุดยึด",
|
||||
"operator": "เป็น",
|
||||
"value": "ค่า",
|
||||
"forSeconds": "ต่อเนื่องเป็นเวลา (วินาที)",
|
||||
"cooldown": "ระยะเวลาคูลดาวน์ (นาที)",
|
||||
"cron": "การแสดงออกของ Cron",
|
||||
"intervalSeconds": "ทุกๆ (วินาที)",
|
||||
"timezone": "เขตเวลา",
|
||||
"timezoneServer": "เวลาเซิร์ฟเวอร์",
|
||||
"timezoneHint": "เวลาของ Cron จะอ่านได้ในโซนนี้ ไม่สามารถใช้ได้กับตารางเวลาแบบช่วงเวลา",
|
||||
"container": "คอนเทนเนอร์",
|
||||
"command": "สั่งการ",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"title": "Title",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"method": "วิธี",
|
||||
"body": "ร่างกาย",
|
||||
"channels": "ส่งไปที่ด้วยเช่นกัน",
|
||||
"title": "ชื่อ",
|
||||
"message": "ข้อความ",
|
||||
"snippet": "ส่วนหนึ่ง",
|
||||
"seconds": "วินาที",
|
||||
"conditionLeftPlaceholder": "ค่าที่ต้องตรวจสอบ",
|
||||
"conditionRightPlaceholder": "เปรียบเทียบกับ",
|
||||
"variableName": "ชื่อตัวแปร",
|
||||
"variableValue": "ค่า",
|
||||
"elevated": "เรียกใช้ด้วยคำสั่ง sudo",
|
||||
"onError": "หากวิธีนี้ล้มเหลว",
|
||||
"allowPrivateNetwork": "อนุญาตให้ใช้ที่อยู่เครือข่ายท้องถิ่น",
|
||||
"allowPrivateNetworkHint": "จำเป็นสำหรับบริการที่โฮสต์เองบนเครือข่าย LAN ของคุณ โดยค่าเริ่มต้นจะปิดใช้งานเพื่อป้องกันการร้องขอไปยังที่อยู่ภายใน"
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "หยุดการวิ่ง",
|
||||
"continue": "ดำเนินการต่อไป"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"offBadge": "Off",
|
||||
"docsLink": "View docs",
|
||||
"needsPlugin": "ต้องการ {{plugin}}",
|
||||
"needsPluginHint": "กระบวนการอัตโนมัตินี้จะถูกข้ามไปจนกว่าฟีเจอร์ที่ต้องการจะพร้อมใช้งานอีกครั้ง",
|
||||
"offBadge": "ปิด",
|
||||
"docsLink": "ดูเอกสาร",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"minutes": "{{count}}m ago",
|
||||
"hours": "{{count}}h ago",
|
||||
"days": "{{count}}d ago"
|
||||
"seconds": "{{count}}วินาทีที่แล้ว",
|
||||
"minutes": "{{count}}นาทีที่แล้ว",
|
||||
"hours": "{{count}}ชั่วโมงที่แล้ว",
|
||||
"days": "{{count}}วันก่อน"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "ระบบอัตโนมัติ"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "ระบบอัตโนมัติ",
|
||||
"feature_automations_desc": "ดำเนินการตามขั้นตอนโดยอัตโนมัติเมื่อเกิดเหตุการณ์ใดๆ และรับการแจ้งเตือน"
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Maintenance",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"cancel": "Cancel",
|
||||
"end": "End maintenance",
|
||||
"action": "Action",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"title": "การซ่อมบำรุง",
|
||||
"description": "หยุดการตรวจสอบสถานะโฮสต์ สุขภาพ เมตริก คอนเทนเนอร์ และการตัดการเชื่อมต่ออุโมงค์โดยอัตโนมัติชั่วคราวในระหว่างการดำเนินการ การตรวจสอบ การเรียกใช้งานด้วยตนเอง และการทำงานอัตโนมัติตามกำหนดเวลายังคงดำเนินต่อไป",
|
||||
"denied": "คุณไม่มีสิทธิ์ในการดูข้อมูลการบำรุงรักษา",
|
||||
"sharedReadOnly": "โฮสต์นี้ถูกแชร์กับคุณ เจ้าของโฮสต์เท่านั้นที่สามารถเปลี่ยนแปลงการบำรุงรักษาได้",
|
||||
"failed": "ไม่สามารถอัปเดตการบำรุงรักษาได้",
|
||||
"active": "กำลังดำเนินการบำรุงรักษา",
|
||||
"estimated": "คาดว่าจะแล้วเสร็จ",
|
||||
"noAutoEnd": "การประเมินราคาไม่ได้หมายความว่าการบำรุงรักษาจะสิ้นสุดลง ให้ยุติการบำรุงรักษาอย่างชัดเจนเมื่อการทำงานเสร็จสมบูรณ์แล้ว",
|
||||
"endConfirm": "สิ้นสุดโหมดบำรุงรักษาและเริ่มการทำงานอัตโนมัติที่ทำงานเมื่อเกิดเหตุการณ์สำหรับโฮสต์นี้อีกครั้งหรือไม่?",
|
||||
"confirmEnd": "ยืนยันการสิ้นสุด",
|
||||
"cancel": "ยกเลิก",
|
||||
"end": "สิ้นสุดการบำรุงรักษา",
|
||||
"action": "การกระทำ",
|
||||
"startNow": "เริ่มเลยตอนนี้",
|
||||
"schedule": "กำหนดเวลาสำหรับภายหลัง",
|
||||
"reason": "เหตุผล",
|
||||
"startUtc": "เริ่มครั้งแรก (UTC)",
|
||||
"repeat": "ทำซ้ำ",
|
||||
"once": "ครั้งหนึ่ง",
|
||||
"weekly": "รายสัปดาห์",
|
||||
"monthly": "รายเดือน",
|
||||
"utcHelp": "ตารางงานใช้เวลา UTC ตลอดทั้งปี ตารางงานรายเดือนจะข้ามเดือนที่ไม่มีวันที่เลือกไว้ ช่วงเวลาที่วางแผนไว้ไม่สามารถทับซ้อนกันได้ การบำรุงรักษาที่ล่าช้าจะดำเนินการต่อในช่วงเวลาถัดไป",
|
||||
"duration": "ระยะเวลาโดยประมาณ (นาที)",
|
||||
"grace": "ระยะเวลาผ่อนผัน (นาที)",
|
||||
"notify": "แจ้งเตือนครั้งเดียวหากยังคงออฟไลน์หลังจากเวลาที่คาดการณ์และช่วงเวลาผ่อนผันเสร็จสิ้นแล้ว",
|
||||
"addSchedule": "เพิ่มตารางเวลา",
|
||||
"schedules": "ตารางเวลา",
|
||||
"noSchedules": "ไม่มีกำหนดการบำรุงรักษา",
|
||||
"completed": "เริ่มแล้ว",
|
||||
"minutes_one": "{{count}} นาที",
|
||||
"minutes_other": "{{count}} นาที",
|
||||
"remove": "ลบกำหนดการ",
|
||||
"loadFailed": "ไม่สามารถรีเฟรชสถานะการบำรุงรักษาได้ การเปลี่ยนแปลงจะถูกปิดใช้งานจนกว่าจะสามารถโหลดได้",
|
||||
"loading": "กำลังโหลดสถานะการบำรุงรักษา…"
|
||||
}
|
||||
}
|
||||
@@ -1,163 +1,163 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Otomasyonları görüntüle",
|
||||
"description": "Otomasyonları ve tarihçelerini inceleyin."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Otomasyonlar oluşturun",
|
||||
"description": "Yeni otomasyonlar ekleyin."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Düzenleme otomasyonları",
|
||||
"description": "Mevcut otomasyonları değiştirin."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Otomasyonları sil",
|
||||
"description": "Otomasyonları kaldırın."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Otomasyonları çalıştır",
|
||||
"description": "Otomasyonu manuel olarak tetikleyin."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"title": "Otomasyonlar",
|
||||
"tabAutomations": "Otomasyonlar",
|
||||
"tabRuns": "Koşular",
|
||||
"tabChannels": "Kanallar",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"createAutomation": "Yeni Otomasyon",
|
||||
"backToAutomations": "Otomasyonlara geri dön",
|
||||
"createTitle": "Yeni Otomasyon",
|
||||
"editTitle": "Düzenleme Otomasyonu",
|
||||
"empty": "Henüz otomasyon yok. Bir ölçüme, bir programa veya bir olaya tepki verecek bir otomasyon oluşturun.",
|
||||
"emptyRuns": "Henüz hiçbir deneme yapılmadı.",
|
||||
"channelsHint": "Uyarılar bölümünde kanallar oluşturulur.",
|
||||
"noChannelsHint": "Bildirim her zaman gelen kutunuza gönderilir. Bildirimleri başka bir yere de göndermek için Bildirimler bölümüne kanallar ekleyin.",
|
||||
"nameLabel": "Ad",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"namePlaceholder": "Örneğin, /data klasörü dolduğunda temizle.",
|
||||
"nameRequired": "Ad zorunludur",
|
||||
"descriptionLabel": "Açıklama",
|
||||
"descriptionPlaceholder": "İsteğe bağlı açıklama",
|
||||
"enabledLabel": "Etkin",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"concurrencyLabel": "Eğer zaten çalışıyorsa",
|
||||
"concurrencyHint": "Son çalıştırma tamamlanmadan önce bu durum tekrar tetiklendiğinde ne yapılmalı?",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "Yeni sürümü atla",
|
||||
"queue": "Bekle ve sonra koş",
|
||||
"allow": "İkisini birden çalıştırın"
|
||||
},
|
||||
"save": "Kaydet",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"created": "Otomasyon oluşturuldu",
|
||||
"updated": "Otomasyon kaydedildi",
|
||||
"deleted": "Otomasyon silindi",
|
||||
"deleteConfirm": "Bu otomasyonu silerseniz, çalıştırma geçmişi de silinir.",
|
||||
"runNow": "Şimdi çalıştır",
|
||||
"testRun": "Test çalıştırması",
|
||||
"testRunHint": "Her adımı çalıştırır ancak Termix dışındaki hiçbir şeye dokunmaz.",
|
||||
"runStarted": "Koşu başladı",
|
||||
"runFinished": "Çalıştırma tamamlandı: {{status}}",
|
||||
"trigger": "Tetikleyici",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"steps": "Adımlar",
|
||||
"addStep": "Adım ekle",
|
||||
"removeStep": "Adımı kaldır",
|
||||
"moveUp": "Yukarı çık",
|
||||
"moveDown": "Aşağıya doğru hareket edin",
|
||||
"noSteps": "Henüz hiçbir adım yok. Ne olması gerektiğini belirtmek için bir adım ekleyin.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"webhookTokenDescription": "Bu yalnızca bir kez gösterilecektir. Şimdi kaydedin, daha sonra geri alınamaz.",
|
||||
"copy": "Kopyala",
|
||||
"copied": "Kopyalandı",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"viewBuilder": "İnşaatçı",
|
||||
"viewGraph": "Grafik",
|
||||
"lastRun": "Son koşu",
|
||||
"never": "Hiçbir zaman",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Çıktı",
|
||||
"stepError": "Hata",
|
||||
"dryRunBadge": "Test run",
|
||||
"dryRunBadge": "Test çalıştırması",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"trigger": "Tetikleyici sunucu",
|
||||
"host": "Belirli ev sahibi",
|
||||
"fleet": "Filo",
|
||||
"all": "Tüm sunucular"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "Metrik eşik",
|
||||
"host_status": "Sunucu yukarı veya aşağı hareket eder.",
|
||||
"health_check": "Sağlık kontrolü değişiklikleri",
|
||||
"schedule": "Bir program dahilinde",
|
||||
"docker_event": "Konteyner olayı",
|
||||
"internal_event": "Termix etkinliği",
|
||||
"webhook": "Gelen web kancası"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"notify": "Uyarı gönder",
|
||||
"http": "Bir URL'yi çağırın",
|
||||
"run_snippet": "Bir kod parçası çalıştırın.",
|
||||
"run_command": "Bir komut çalıştır",
|
||||
"docker": "Bir konteyneri kontrol edin.",
|
||||
"tunnel": "Bir tüneli kontrol edin.",
|
||||
"wol": "Bir ev sahibini uyandırın",
|
||||
"wait": "Beklemek",
|
||||
"set_var": "Bir değişken tanımlayın",
|
||||
"if": "Eğer / aksi takdirde",
|
||||
"run_automation": "Başka bir otomasyon çalıştırın",
|
||||
"stop": "Durdurma"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Çalışıyor",
|
||||
"success": "Başarılı",
|
||||
"failed": "Başarısız",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"timeout": "Süre doldu",
|
||||
"skipped": "Atlandı",
|
||||
"cancelled": "İptal edildi"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Ana Bilgisayar",
|
||||
"metric": "Metrik",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"mount": "Montaj noktası",
|
||||
"operator": "O",
|
||||
"value": "Değer",
|
||||
"forSeconds": "(Saniye) süreyle sürdürüldü",
|
||||
"cooldown": "Bekleme süresi (dakika)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"cron": "Cron ifadesi",
|
||||
"intervalSeconds": "Her (saniye)",
|
||||
"timezone": "Saat dilimi",
|
||||
"timezoneServer": "Sunucu zamanı",
|
||||
"timezoneHint": "Cron zamanlama ayarları bu bölgede okunur. Aralıklı zamanlamalar için geçerli değildir.",
|
||||
"container": "Konteyner",
|
||||
"command": "Komut",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"method": "Yöntem",
|
||||
"body": "Vücut",
|
||||
"channels": "Ayrıca şuraya da gönderin:",
|
||||
"title": "Başlık",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"message": "Mesaj",
|
||||
"snippet": "Alıntı",
|
||||
"seconds": "Saniyeler",
|
||||
"conditionLeftPlaceholder": "Kontrol edilecek değer",
|
||||
"conditionRightPlaceholder": "Karşılaştırın",
|
||||
"variableName": "Değişken adı",
|
||||
"variableValue": "Değer",
|
||||
"elevated": "sudo ile çalıştır",
|
||||
"onError": "Eğer bu başarısız olursa",
|
||||
"allowPrivateNetwork": "Yerel ağ adreslerine izin verin.",
|
||||
"allowPrivateNetworkHint": "Yerel ağınızda kendi sunucunuzda barındırdığınız bir hizmet için gereklidir. Dahili adreslere yapılan istekleri engellemek için varsayılan olarak kapalıdır."
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "Koşuyu durdurun",
|
||||
"continue": "Devam edin"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"needsPlugin": "İhtiyaçlar {{plugin}}",
|
||||
"needsPluginHint": "Bu otomasyon, ihtiyaç duyulan özellik tekrar kullanılabilir hale gelene kadar atlanır.",
|
||||
"offBadge": "Kapalı",
|
||||
"docsLink": "Belgelere bak",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"seconds": "{{count}}saniye önce",
|
||||
"minutes": "{{count}} dakika önce",
|
||||
"hours": "{{count}} saat önce",
|
||||
"days": "{{count}} gün önce"
|
||||
@@ -166,46 +166,46 @@
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "Otomasyonlar"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "Otomasyonlar",
|
||||
"feature_automations_desc": "Bir şey olduğunda adımları otomatik olarak çalıştırın ve bildirim alın."
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Bakım",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"description": "Çalışma devam ederken sunucu durumu, sağlık, ölçüm, konteyner ve tünel bağlantı kesme otomasyonlarını duraklatın. İzleme, manuel çalıştırmalar ve planlanmış otomasyonlar devam eder.",
|
||||
"denied": "Bakım çalışmalarını görüntüleme izniniz yok.",
|
||||
"sharedReadOnly": "Bu sunucu sizinle paylaşıldı. Bakım değişikliklerini yalnızca sahibi yapabilir.",
|
||||
"failed": "Bakım bilgileri güncellenemedi.",
|
||||
"active": "Bakım aktif",
|
||||
"estimated": "Tahmini tamamlanma tarihi",
|
||||
"noAutoEnd": "Tahmin edilen bakım işlemi, bakımın sonunu getirmez. İş tamamlandığında bakım işlemini açıkça sonlandırın.",
|
||||
"endConfirm": "Bu sunucu için bakım işlemlerini sonlandırıp olay tetiklemeli otomasyonları yeniden başlatmak mı istiyorsunuz?",
|
||||
"confirmEnd": "Sonu onaylayın",
|
||||
"cancel": "İptal",
|
||||
"end": "End maintenance",
|
||||
"end": "Son bakım",
|
||||
"action": "İşlem",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"startNow": "Şimdi başla",
|
||||
"schedule": "Daha sonra için planla",
|
||||
"reason": "Sebep",
|
||||
"startUtc": "İlk başlangıç (UTC)",
|
||||
"repeat": "Tekrarlamak",
|
||||
"once": "Bir kere",
|
||||
"weekly": "Haftalık",
|
||||
"monthly": "Aylık",
|
||||
"utcHelp": "Planlamalar yıl boyunca UTC saat dilimini kullanır. Aylık planlamalar, seçilen günün olmadığı ayları atlar. Planlanan zaman dilimleri üst üste gelemez; uzadıkça bakım çalışmaları daha sonraki zaman dilimlerinde de devam eder.",
|
||||
"duration": "Tahmini süre (dakika)",
|
||||
"grace": "Bekleme süresi (dakika)",
|
||||
"notify": "Tahmini süre ve ek bekleme süresinden sonra hala çevrimdışıysa bir kez bildirim gönderin.",
|
||||
"addSchedule": "Program ekle",
|
||||
"schedules": "Programlar",
|
||||
"noSchedules": "Bakım programı yok.",
|
||||
"completed": "Zaten başladı",
|
||||
"minutes_one": "{{count}} dakika",
|
||||
"minutes_other": "{{count}} dakika",
|
||||
"remove": "Programı kaldır",
|
||||
"loadFailed": "Bakım durumu yenilenemedi. Yüklenene kadar değişiklikler devre dışı bırakılmıştır.",
|
||||
"loading": "Bakım durumu yükleniyor…"
|
||||
}
|
||||
}
|
||||
@@ -1,211 +1,211 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Переглянути автоматизації",
|
||||
"description": "Перегляньте автоматизації та їхню історію."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Створення автоматизацій",
|
||||
"description": "Додайте нові автоматизації."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Редагувати автоматизації",
|
||||
"description": "Змінити існуючі автоматизації."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Видалити автоматизації",
|
||||
"description": "Видаліть автоматизації."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Запуск автоматизації",
|
||||
"description": "Запустіть автоматизацію вручну."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"tabChannels": "Channels",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"nameRequired": "Name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"enabledLabel": "Enabled",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"title": "Автоматизація",
|
||||
"tabAutomations": "Автоматизація",
|
||||
"tabRuns": "Пробіжки",
|
||||
"tabChannels": "Канали",
|
||||
"createAutomation": "Нова автоматизація",
|
||||
"backToAutomations": "Назад до автоматизації",
|
||||
"createTitle": "Нова автоматизація",
|
||||
"editTitle": "Редагувати автоматизацію",
|
||||
"empty": "Автоматизації поки що немає. Створіть її, щоб реагувати на метрику, розклад або подію.",
|
||||
"emptyRuns": "Поки що жодних пробіжок.",
|
||||
"channelsHint": "Канали налаштовуються в розділі «Сповіщення»",
|
||||
"noChannelsHint": "Сповіщення завжди надходить до вашої поштової скриньки. Додайте канали в розділі \"Сповіщення\", щоб також надсилати його кудись ще.",
|
||||
"nameLabel": "Ім'я",
|
||||
"namePlaceholder": "наприклад, Очищати /дані, коли вони заповнюються",
|
||||
"nameRequired": "Ім'я обов'язкове",
|
||||
"descriptionLabel": "Опис",
|
||||
"descriptionPlaceholder": "Додатковий опис",
|
||||
"enabledLabel": "Увімкнено",
|
||||
"concurrencyLabel": "Якщо воно вже працює",
|
||||
"concurrencyHint": "Що робити, якщо це спрацьовує знову до завершення останнього запуску.",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "Пропустити новий пробіг",
|
||||
"queue": "Чекай і біжіть за ним",
|
||||
"allow": "Запустіть обидва одночасно"
|
||||
},
|
||||
"save": "Save",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"trigger": "Trigger",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"copy": "Copy",
|
||||
"copied": "Copied",
|
||||
"save": "Зберегти",
|
||||
"created": "Автоматизація створена",
|
||||
"updated": "Автоматизація збережена",
|
||||
"deleted": "Автоматизацію видалено",
|
||||
"deleteConfirm": "Видалити цю автоматизацію? Історія її запуску також видаляється.",
|
||||
"runNow": "Біжи зараз",
|
||||
"testRun": "Тестовий запуск",
|
||||
"testRunHint": "Виконує кожен крок, але не торкається нічого поза Termix.",
|
||||
"runStarted": "Біг розпочато",
|
||||
"runFinished": "Виконання завершено: {{status}}",
|
||||
"trigger": "Тригер",
|
||||
"steps": "Кроки",
|
||||
"addStep": "Додати крок",
|
||||
"removeStep": "Видалити крок",
|
||||
"moveUp": "Перемістити вгору",
|
||||
"moveDown": "Перемістити вниз",
|
||||
"noSteps": "Кроків поки що немає. Додайте один, щоб пояснити, що має статися.",
|
||||
"webhookTokenTitle": "URL-адреса вебхука",
|
||||
"webhookTokenDescription": "Це відображається один раз. Збережіть це зараз, пізніше це неможливо буде отримати.",
|
||||
"copy": "Копіювати",
|
||||
"copied": "Скопійовано",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"never": "Never",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Output",
|
||||
"stepError": "Error",
|
||||
"dryRunBadge": "Test run",
|
||||
"viewBuilder": "Будівельник",
|
||||
"viewGraph": "Графік",
|
||||
"lastRun": "Останній запуск",
|
||||
"never": "Ніколи",
|
||||
"duration": "{{seconds}}с",
|
||||
"stepOutput": "Вихід",
|
||||
"stepError": "Помилка",
|
||||
"dryRunBadge": "Тестовий запуск",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"all": "All hosts"
|
||||
"trigger": "Хост-тригер",
|
||||
"host": "Конкретний хост",
|
||||
"fleet": "Флот",
|
||||
"all": "Усі хости"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "Поріг показника",
|
||||
"host_status": "Хост піднімається або опускається",
|
||||
"health_check": "Зміни в перевірці стану здоров'я",
|
||||
"schedule": "За розкладом",
|
||||
"docker_event": "Подія контейнера",
|
||||
"internal_event": "Подія Termix",
|
||||
"webhook": "Вхідний вебхук"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"stop": "Stop"
|
||||
"notify": "Надіслати сповіщення",
|
||||
"http": "Виклик URL-адреси",
|
||||
"run_snippet": "Виконати фрагмент коду",
|
||||
"run_command": "Виконайте команду",
|
||||
"docker": "Керування контейнером",
|
||||
"tunnel": "Контролюйте тунель",
|
||||
"wol": "Розбудити господаря",
|
||||
"wait": "Зачекайте",
|
||||
"set_var": "Встановити змінну",
|
||||
"if": "Якщо / інакше",
|
||||
"run_automation": "Запустіть ще одну автоматизацію",
|
||||
"stop": "СТІЙ"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Running",
|
||||
"success": "Success",
|
||||
"failed": "Failed",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"running": "Біг",
|
||||
"success": "Успіх",
|
||||
"failed": "Не вдалося",
|
||||
"timeout": "Час очікування минув",
|
||||
"skipped": "Пропущено",
|
||||
"cancelled": "Скасовано"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Host",
|
||||
"metric": "Metric",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"cooldown": "Cooldown (minutes)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"command": "Command",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"title": "Title",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"host": "Хост",
|
||||
"metric": "Метрика",
|
||||
"mount": "Точка монтування",
|
||||
"operator": "Є",
|
||||
"value": "Значення",
|
||||
"forSeconds": "Триває протягом (секунд)",
|
||||
"cooldown": "Охолодження (хвилини)",
|
||||
"cron": "Cron-вираз",
|
||||
"intervalSeconds": "Кожні (секунди)",
|
||||
"timezone": "Часовий пояс",
|
||||
"timezoneServer": "Час сервера",
|
||||
"timezoneHint": "Час Cron зчитується в цій зоні. Не стосується інтервальних розкладів.",
|
||||
"container": "Контейнер",
|
||||
"command": "Команда",
|
||||
"url": "URL-адреса",
|
||||
"method": "Метод",
|
||||
"body": "Тіло",
|
||||
"channels": "Також надіслати до",
|
||||
"title": "Назва",
|
||||
"message": "Повідомлення",
|
||||
"snippet": "Фрагмент",
|
||||
"seconds": "Секунди",
|
||||
"conditionLeftPlaceholder": "Значення для перевірки",
|
||||
"conditionRightPlaceholder": "Порівняйте з",
|
||||
"variableName": "Ім'я змінної",
|
||||
"variableValue": "Значення",
|
||||
"elevated": "Запустити за допомогою sudo",
|
||||
"onError": "Якщо це не вдасться",
|
||||
"allowPrivateNetwork": "Дозволити адреси локальної мережі",
|
||||
"allowPrivateNetworkHint": "Потрібно для самостійно розміщеної служби у вашій локальній мережі. Вимкнено за замовчуванням, щоб запобігти запитам до внутрішніх адрес."
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "Зупинити біг",
|
||||
"continue": "Продовжуйте"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"offBadge": "Off",
|
||||
"docsLink": "View docs",
|
||||
"needsPlugin": "Потребує {{plugin}}",
|
||||
"needsPluginHint": "Ця автоматизація пропускається, доки потрібна функція знову не стане доступною.",
|
||||
"offBadge": "Вимкнено",
|
||||
"docsLink": "Переглянути документи",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"minutes": "{{count}}m ago",
|
||||
"hours": "{{count}}h ago",
|
||||
"days": "{{count}}d ago"
|
||||
"seconds": "{{count}}с тому",
|
||||
"minutes": "{{count}}хв тому",
|
||||
"hours": "{{count}}год тому",
|
||||
"days": "{{count}}днів тому"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "Автоматизація"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "Автоматизація",
|
||||
"feature_automations_desc": "Автоматично виконувати кроки, коли щось відбувається, та отримувати сповіщення."
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Maintenance",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"cancel": "Cancel",
|
||||
"end": "End maintenance",
|
||||
"action": "Action",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"title": "Технічне обслуговування",
|
||||
"description": "Призупинити автоматизацію стану хоста, справності, метрик, контейнерів та відключення тунелів під час виконання роботи. Моніторинг, ручні запуски та запланована автоматизація продовжуються.",
|
||||
"denied": "У вас немає дозволу на перегляд технічного обслуговування.",
|
||||
"sharedReadOnly": "Цей хост надано вам. Тільки його власник може змінити налаштування обслуговування.",
|
||||
"failed": "Не вдалося оновити технічне обслуговування.",
|
||||
"active": "Технічне обслуговування активне",
|
||||
"estimated": "Очікуване завершення",
|
||||
"noAutoEnd": "Кошторис не завершує технічне обслуговування. Завершіть його чітко після завершення робіт.",
|
||||
"endConfirm": "Завершити технічне обслуговування та відновити автоматизацію, що спрацьовує за подіями, для цього хоста?",
|
||||
"confirmEnd": "Підтвердити кінець",
|
||||
"cancel": "Скасувати",
|
||||
"end": "Закінчення технічного обслуговування",
|
||||
"action": "Дія",
|
||||
"startNow": "Почати зараз",
|
||||
"schedule": "Запланувати на пізніше",
|
||||
"reason": "Причина",
|
||||
"startUtc": "Перший запуск (UTC)",
|
||||
"repeat": "Повторити",
|
||||
"once": "Одного разу",
|
||||
"weekly": "Щотижнево",
|
||||
"monthly": "Щомісяця",
|
||||
"utcHelp": "Розклади використовують UTC протягом року. Щомісячні розклади пропускають місяці без вибраного дня. Заплановані вікна не можуть перетинатися; перевищення термінів технічного обслуговування продовжується в наступних вікнах.",
|
||||
"duration": "Орієнтовна тривалість (хвилини)",
|
||||
"grace": "Пільговий період (хвилини)",
|
||||
"notify": "Повідомити один раз, якщо після оцінки плюс пільговий період все ще не в мережі",
|
||||
"addSchedule": "Додати розклад",
|
||||
"schedules": "Розклади",
|
||||
"noSchedules": "Немає графіків технічного обслуговування.",
|
||||
"completed": "Вже розпочато",
|
||||
"minutes_one": "{{count}} хвилина",
|
||||
"minutes_other": "{{count}} хвилин",
|
||||
"remove": "Видалити розклад",
|
||||
"loadFailed": "Не вдалося оновити стан обслуговування. Зміни вимкнено, доки його не буде завантажено.",
|
||||
"loading": "Завантаження статусу технічного обслуговування…"
|
||||
}
|
||||
}
|
||||
@@ -1,163 +1,163 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "Xem các quy trình tự động hóa",
|
||||
"description": "Xem các quy trình tự động hóa và lịch sử của chúng."
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "Tạo các quy trình tự động hóa",
|
||||
"description": "Thêm các quy trình tự động hóa mới."
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "Chỉnh sửa tự động hóa",
|
||||
"description": "Thay đổi các quy trình tự động hóa hiện có."
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "Xóa các quy trình tự động hóa",
|
||||
"description": "Loại bỏ các quy trình tự động hóa."
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "Chạy các quy trình tự động hóa",
|
||||
"description": "Kích hoạt quy trình tự động bằng tay."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"title": "Tự động hóa",
|
||||
"tabAutomations": "Tự động hóa",
|
||||
"tabRuns": "Chạy",
|
||||
"tabChannels": "Kênh",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"createAutomation": "Tự động hóa mới",
|
||||
"backToAutomations": "Quay lại phần Tự động hóa",
|
||||
"createTitle": "Tự động hóa mới",
|
||||
"editTitle": "Tự động chỉnh sửa",
|
||||
"empty": "Hiện chưa có tính năng tự động hóa nào. Hãy tạo một tính năng để phản ứng với một chỉ số, lịch trình hoặc sự kiện nào đó.",
|
||||
"emptyRuns": "Chưa có lượt chạy nào.",
|
||||
"channelsHint": "Các kênh được thiết lập trong mục Cảnh báo.",
|
||||
"noChannelsHint": "Thông báo luôn được gửi đến hộp thư đến của bạn. Thêm kênh trong mục Thông báo để gửi thông báo đến các địa điểm khác nữa.",
|
||||
"nameLabel": "Tên",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"namePlaceholder": "Ví dụ: Dọn dẹp thư mục /data khi nó đầy.",
|
||||
"nameRequired": "Tên là bắt buộc",
|
||||
"descriptionLabel": "Mô tả",
|
||||
"descriptionPlaceholder": "Mô tả tùy chọn",
|
||||
"enabledLabel": "Đã bật",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"concurrencyLabel": "Nếu nó đang chạy",
|
||||
"concurrencyHint": "Phải làm gì khi sự cố này xảy ra lần nữa trước khi quá trình chạy cuối cùng hoàn tất?",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "Bỏ qua lần chạy mới",
|
||||
"queue": "Chờ đợi và chạy theo",
|
||||
"allow": "Chạy cả hai cùng một lúc"
|
||||
},
|
||||
"save": "Lưu",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"created": "Tự động hóa được tạo",
|
||||
"updated": "Tự động hóa đã được lưu",
|
||||
"deleted": "Tự động hóa đã bị xóa",
|
||||
"deleteConfirm": "Xóa tự động hóa này? Lịch sử chạy của nó cũng bị xóa.",
|
||||
"runNow": "Chạy ngay",
|
||||
"testRun": "Chạy thử nghiệm",
|
||||
"testRunHint": "Nó thực hiện mọi bước nhưng không chạm vào bất cứ thứ gì bên ngoài Termix.",
|
||||
"runStarted": "Chạy bắt đầu",
|
||||
"runFinished": "Quá trình chạy đã hoàn tất: {{status}}",
|
||||
"trigger": "Kích hoạt",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"steps": "Các bước",
|
||||
"addStep": "Thêm bước",
|
||||
"removeStep": "Xóa bước",
|
||||
"moveUp": "Tiến lên",
|
||||
"moveDown": "Di chuyển xuống",
|
||||
"noSteps": "Chưa có bước nào. Hãy thêm một bước để mô tả những gì cần xảy ra.",
|
||||
"webhookTokenTitle": "URL Webhook",
|
||||
"webhookTokenDescription": "Thông tin này chỉ hiển thị một lần. Hãy lưu lại ngay, bạn sẽ không thể khôi phục lại sau này.",
|
||||
"copy": "Sao chép",
|
||||
"copied": "Đã sao chép",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"viewBuilder": "Nhà xây dựng",
|
||||
"viewGraph": "Đồ thị",
|
||||
"lastRun": "Lần chạy cuối",
|
||||
"never": "Chưa bao giờ",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "Đầu ra",
|
||||
"stepError": "Lỗi",
|
||||
"dryRunBadge": "Test run",
|
||||
"dryRunBadge": "Chạy thử nghiệm",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"trigger": "Máy chủ kích hoạt",
|
||||
"host": "Máy chủ cụ thể",
|
||||
"fleet": "Hạm đội",
|
||||
"all": "Tất cả máy chủ"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "Ngưỡng số liệu",
|
||||
"host_status": "Máy chủ tăng hoặc giảm",
|
||||
"health_check": "Thay đổi trong kiểm tra sức khỏe",
|
||||
"schedule": "Theo lịch trình",
|
||||
"docker_event": "Sự kiện container",
|
||||
"internal_event": "Sự kiện Termix",
|
||||
"webhook": "Webhook đến"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"notify": "Gửi thông báo",
|
||||
"http": "Gọi một URL",
|
||||
"run_snippet": "Chạy một đoạn mã",
|
||||
"run_command": "Chạy một lệnh",
|
||||
"docker": "Kiểm soát một container",
|
||||
"tunnel": "Kiểm soát đường hầm",
|
||||
"wol": "Đánh thức một chủ nhà",
|
||||
"wait": "Chờ đợi",
|
||||
"set_var": "Đặt một biến",
|
||||
"if": "Nếu/ngược lại",
|
||||
"run_automation": "Chạy một quy trình tự động hóa khác",
|
||||
"stop": "Bit dừng"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "Đang chạy",
|
||||
"success": "Thành công",
|
||||
"failed": "Thất bại",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"timeout": "Hết thời gian",
|
||||
"skipped": "Bỏ qua",
|
||||
"cancelled": "Đã hủy"
|
||||
},
|
||||
"fields": {
|
||||
"host": "Máy chủ",
|
||||
"metric": "Chỉ số",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"mount": "Điểm gắn kết",
|
||||
"operator": "Là",
|
||||
"value": "Giá trị",
|
||||
"forSeconds": "Duy trì trong (giây)",
|
||||
"cooldown": "Thời gian chờ (phút)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"cron": "Biểu thức Cron",
|
||||
"intervalSeconds": "Mỗi (giây)",
|
||||
"timezone": "Múi giờ",
|
||||
"timezoneServer": "Thời gian máy chủ",
|
||||
"timezoneHint": "Thời gian Cron được đọc trong vùng này. Không áp dụng cho lịch trình theo khoảng thời gian.",
|
||||
"container": "Thùng chứa",
|
||||
"command": "Lệnh",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"method": "Phương pháp",
|
||||
"body": "Thân hình",
|
||||
"channels": "Cũng gửi đến",
|
||||
"title": "Tiêu đề",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"message": "Tin nhắn",
|
||||
"snippet": "Đoạn trích",
|
||||
"seconds": "Giây",
|
||||
"conditionLeftPlaceholder": "Giá trị cần kiểm tra",
|
||||
"conditionRightPlaceholder": "So sánh với",
|
||||
"variableName": "Tên biến",
|
||||
"variableValue": "Giá trị",
|
||||
"elevated": "Chạy với quyền sudo",
|
||||
"onError": "Nếu điều này thất bại",
|
||||
"allowPrivateNetwork": "Cho phép địa chỉ mạng cục bộ",
|
||||
"allowPrivateNetworkHint": "Cần thiết cho dịch vụ tự lưu trữ trên mạng LAN của bạn. Mặc định là tắt để ngăn chặn các yêu cầu đến các địa chỉ nội bộ."
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "Dừng cuộc chạy",
|
||||
"continue": "Tiếp tục"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"needsPlugin": "Nhu cầu {{plugin}}",
|
||||
"needsPluginHint": "Quá trình tự động hóa này sẽ bị bỏ qua cho đến khi tính năng cần thiết được khôi phục.",
|
||||
"offBadge": "Tắt",
|
||||
"docsLink": "Xem tài liệu",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"seconds": "{{count}}giây trước",
|
||||
"minutes": "{{count}} phút trước",
|
||||
"hours": "{{count}} giờ trước",
|
||||
"days": "{{count}} ngày trước"
|
||||
@@ -166,46 +166,46 @@
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "Tự động hóa"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "Tự động hóa",
|
||||
"feature_automations_desc": "Thực hiện các bước tự động khi có sự kiện xảy ra và nhận thông báo."
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "Bảo trì",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"description": "Tạm dừng các hoạt động tự động hóa về trạng thái máy chủ, sức khỏe, số liệu, container và ngắt kết nối đường hầm trong khi công việc đang được tiến hành. Việc giám sát, chạy thủ công và các hoạt động tự động hóa theo lịch trình vẫn tiếp tục.",
|
||||
"denied": "Bạn không có quyền xem thông tin bảo trì.",
|
||||
"sharedReadOnly": "Máy chủ này được chia sẻ với bạn. Chỉ chủ sở hữu mới có thể thay đổi cài đặt bảo trì.",
|
||||
"failed": "Không thể cập nhật bảo trì.",
|
||||
"active": "Đang bảo trì",
|
||||
"estimated": "Thời gian hoàn thành dự kiến",
|
||||
"noAutoEnd": "Bản dự toán không kết thúc quá trình bảo trì. Hãy kết thúc quá trình bảo trì một cách rõ ràng khi công việc hoàn tất.",
|
||||
"endConfirm": "Kết thúc bảo trì và tiếp tục các tự động hóa kích hoạt sự kiện cho máy chủ này?",
|
||||
"confirmEnd": "Xác nhận kết thúc",
|
||||
"cancel": "Hủy",
|
||||
"end": "End maintenance",
|
||||
"end": "Kết thúc bảo trì",
|
||||
"action": "Hành động",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"startNow": "Bắt đầu ngay bây giờ",
|
||||
"schedule": "Lên lịch cho thời gian sau",
|
||||
"reason": "Lý do",
|
||||
"startUtc": "Lần khởi động đầu tiên (UTC)",
|
||||
"repeat": "Lặp lại",
|
||||
"once": "Một lần",
|
||||
"weekly": "Hàng tuần",
|
||||
"monthly": "Hàng tháng",
|
||||
"utcHelp": "Lịch trình sử dụng múi giờ UTC suốt cả năm. Lịch trình hàng tháng sẽ bỏ qua các tháng không có ngày đã chọn. Các khung thời gian đã lên kế hoạch không được chồng chéo; việc bảo trì kéo dài sẽ tiếp tục sang các khung thời gian sau đó.",
|
||||
"duration": "Thời gian ước tính (phút)",
|
||||
"grace": "Thời gian ân hạn (phút)",
|
||||
"notify": "Thông báo một lần nếu vẫn ngoại tuyến sau thời gian ước tính cộng thêm thời gian gia hạn.",
|
||||
"addSchedule": "Thêm lịch trình",
|
||||
"schedules": "Lịch trình",
|
||||
"noSchedules": "Không có lịch bảo trì.",
|
||||
"completed": "Đã bắt đầu",
|
||||
"minutes_one": "{{count}} phút",
|
||||
"minutes_other": "{{count}} phút",
|
||||
"remove": "Xóa lịch trình",
|
||||
"loadFailed": "Không thể cập nhật trạng thái bảo trì. Các thay đổi bị vô hiệu hóa cho đến khi có thể tải lại.",
|
||||
"loading": "Đang tải trạng thái bảo trì…"
|
||||
}
|
||||
}
|
||||
@@ -1,163 +1,163 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View automations",
|
||||
"description": "See the automations and their history."
|
||||
"title": "查看自動化流程",
|
||||
"description": "查看自動化流程及其發展歷程。"
|
||||
},
|
||||
"create": {
|
||||
"title": "Create automations",
|
||||
"description": "Add new automations."
|
||||
"title": "建立自動化流程",
|
||||
"description": "新增新的自動化流程。"
|
||||
},
|
||||
"edit": {
|
||||
"title": "Edit automations",
|
||||
"description": "Change existing automations."
|
||||
"title": "編輯自動化",
|
||||
"description": "修改現有自動化流程。"
|
||||
},
|
||||
"delete": {
|
||||
"title": "Delete automations",
|
||||
"description": "Remove automations."
|
||||
"title": "刪除自動化",
|
||||
"description": "移除自動化流程。"
|
||||
},
|
||||
"run": {
|
||||
"title": "Run automations",
|
||||
"description": "Trigger an automation by hand."
|
||||
"title": "運作自動化",
|
||||
"description": "手動觸發自動化流程。"
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"automations": {
|
||||
"title": "Automations",
|
||||
"tabAutomations": "Automations",
|
||||
"tabRuns": "Runs",
|
||||
"title": "自動化",
|
||||
"tabAutomations": "自動化",
|
||||
"tabRuns": "跑",
|
||||
"tabChannels": "通道",
|
||||
"createAutomation": "New Automation",
|
||||
"backToAutomations": "Back to Automations",
|
||||
"createTitle": "New Automation",
|
||||
"editTitle": "Edit Automation",
|
||||
"empty": "No automations yet. Create one to react to a metric, a schedule, or an event.",
|
||||
"emptyRuns": "No runs yet.",
|
||||
"channelsHint": "Channels are set up in Alerts",
|
||||
"noChannelsHint": "The alert always goes to your inbox. Add channels in Alerts to also send it somewhere else.",
|
||||
"createAutomation": "新自動化",
|
||||
"backToAutomations": "返回自動化頁面",
|
||||
"createTitle": "新自動化",
|
||||
"editTitle": "編輯自動化",
|
||||
"empty": "目前還沒有自動化流程。您可以建立一個自動化流程,使其能夠根據指標、日程安排或事件做出反應。",
|
||||
"emptyRuns": "目前還沒有人運行。",
|
||||
"channelsHint": "頻道在警報中設置",
|
||||
"noChannelsHint": "提醒訊息始終會傳送到您的收件匣。您可以在「提醒」中新增其他管道,以便將提醒訊息也傳送到其他位置。",
|
||||
"nameLabel": "名稱",
|
||||
"namePlaceholder": "e.g., Clean up /data when it fills",
|
||||
"namePlaceholder": "例如,當 /data 目錄填滿時進行清理。",
|
||||
"nameRequired": "名稱為必填",
|
||||
"descriptionLabel": "說明",
|
||||
"descriptionPlaceholder": "選用說明",
|
||||
"enabledLabel": "已啟用",
|
||||
"concurrencyLabel": "If it is already running",
|
||||
"concurrencyHint": "What to do when this is triggered again before the last run has finished.",
|
||||
"concurrencyLabel": "如果它已經在運行",
|
||||
"concurrencyHint": "如果在上次運行結束前再次觸發此問題,該怎麼辦?",
|
||||
"concurrency": {
|
||||
"skip": "Skip the new run",
|
||||
"queue": "Wait and run after",
|
||||
"allow": "Run both at once"
|
||||
"skip": "跳過新一輪",
|
||||
"queue": "等待並追趕",
|
||||
"allow": "同時運行這兩個程序"
|
||||
},
|
||||
"save": "儲存",
|
||||
"created": "Automation created",
|
||||
"updated": "Automation saved",
|
||||
"deleted": "Automation deleted",
|
||||
"deleteConfirm": "Delete this automation? Its run history is deleted too.",
|
||||
"runNow": "Run now",
|
||||
"testRun": "Test run",
|
||||
"testRunHint": "Runs every step but does not touch anything outside Termix.",
|
||||
"runStarted": "Run started",
|
||||
"runFinished": "Run finished: {{status}}",
|
||||
"created": "自動化創建",
|
||||
"updated": "自動化保存",
|
||||
"deleted": "自動化刪除",
|
||||
"deleteConfirm": "刪除此自動化流程?其運行歷史記錄也會被刪除。",
|
||||
"runNow": "立即運行",
|
||||
"testRun": "測試運行",
|
||||
"testRunHint": "執行所有步驟,但不觸及 Termix 以外的任何內容。",
|
||||
"runStarted": "運行已啟動",
|
||||
"runFinished": "運轉結束: {{status}}",
|
||||
"trigger": "觸發條件",
|
||||
"steps": "Steps",
|
||||
"addStep": "Add step",
|
||||
"removeStep": "Remove step",
|
||||
"moveUp": "Move up",
|
||||
"moveDown": "Move down",
|
||||
"noSteps": "No steps yet. Add one to say what should happen.",
|
||||
"steps": "步驟",
|
||||
"addStep": "新增步驟",
|
||||
"removeStep": "移除步驟",
|
||||
"moveUp": "向上",
|
||||
"moveDown": "向下",
|
||||
"noSteps": "暫無步驟。請加入步驟說明應該發生什麼。",
|
||||
"webhookTokenTitle": "Webhook URL",
|
||||
"webhookTokenDescription": "This is shown once. Save it now, it cannot be retrieved later.",
|
||||
"webhookTokenDescription": "此資訊僅顯示一次。請立即儲存,之後將無法調取。",
|
||||
"copy": "複製",
|
||||
"copied": "已複製",
|
||||
"viewJson": "JSON",
|
||||
"viewBuilder": "Builder",
|
||||
"viewGraph": "Graph",
|
||||
"lastRun": "Last run",
|
||||
"viewBuilder": "建造者",
|
||||
"viewGraph": "圖形",
|
||||
"lastRun": "最後一次運行",
|
||||
"never": "從未",
|
||||
"duration": "{{seconds}}s",
|
||||
"stepOutput": "輸出",
|
||||
"stepError": "錯誤",
|
||||
"dryRunBadge": "Test run",
|
||||
"dryRunBadge": "測試運行",
|
||||
"hostSelector": {
|
||||
"trigger": "Triggering host",
|
||||
"host": "Specific host",
|
||||
"fleet": "Fleet",
|
||||
"trigger": "觸發主機",
|
||||
"host": "特定主機",
|
||||
"fleet": "艦隊",
|
||||
"all": "所有主機"
|
||||
},
|
||||
"triggerKinds": {
|
||||
"metric_threshold": "Metric threshold",
|
||||
"host_status": "Host goes up or down",
|
||||
"health_check": "Health check changes",
|
||||
"schedule": "On a schedule",
|
||||
"docker_event": "Container event",
|
||||
"internal_event": "Termix event",
|
||||
"webhook": "Incoming webhook"
|
||||
"metric_threshold": "指標閾值",
|
||||
"host_status": "主機升溫或降溫",
|
||||
"health_check": "健康檢查變化",
|
||||
"schedule": "按計劃",
|
||||
"docker_event": "容器事件",
|
||||
"internal_event": "Termix 活動",
|
||||
"webhook": "傳入的 webhook"
|
||||
},
|
||||
"stepTypes": {
|
||||
"notify": "Send an alert",
|
||||
"http": "Call a URL",
|
||||
"run_snippet": "Run a snippet",
|
||||
"run_command": "Run a command",
|
||||
"docker": "Control a container",
|
||||
"tunnel": "Control a tunnel",
|
||||
"wol": "Wake a host",
|
||||
"wait": "Wait",
|
||||
"set_var": "Set a variable",
|
||||
"if": "If / otherwise",
|
||||
"run_automation": "Run another automation",
|
||||
"notify": "發送提醒",
|
||||
"http": "呼叫 URL",
|
||||
"run_snippet": "運行一段程式碼片段",
|
||||
"run_command": "運行命令",
|
||||
"docker": "控制容器",
|
||||
"tunnel": "控制隧道",
|
||||
"wol": "喚醒主機",
|
||||
"wait": "等待",
|
||||
"set_var": "設定變數",
|
||||
"if": "如果/否則",
|
||||
"run_automation": "執行另一個自動化流程",
|
||||
"stop": "停止位元"
|
||||
},
|
||||
"statuses": {
|
||||
"running": "執行中",
|
||||
"success": "成功",
|
||||
"failed": "失敗",
|
||||
"timeout": "Timed out",
|
||||
"skipped": "Skipped",
|
||||
"cancelled": "Cancelled"
|
||||
"timeout": "超時",
|
||||
"skipped": "跳過",
|
||||
"cancelled": "取消"
|
||||
},
|
||||
"fields": {
|
||||
"host": "主機",
|
||||
"metric": "指標",
|
||||
"mount": "Mount point",
|
||||
"operator": "Is",
|
||||
"value": "Value",
|
||||
"forSeconds": "Sustained for (seconds)",
|
||||
"mount": "登山點",
|
||||
"operator": "是",
|
||||
"value": "價值",
|
||||
"forSeconds": "持續(秒)",
|
||||
"cooldown": "冷卻時間(分鐘)",
|
||||
"cron": "Cron expression",
|
||||
"intervalSeconds": "Every (seconds)",
|
||||
"timezone": "Time zone",
|
||||
"timezoneServer": "Server time",
|
||||
"timezoneHint": "Cron times are read in this zone. Does not apply to interval schedules.",
|
||||
"container": "Container",
|
||||
"cron": "複製表達式",
|
||||
"intervalSeconds": "每隔(秒)",
|
||||
"timezone": "時區",
|
||||
"timezoneServer": "伺服器時間",
|
||||
"timezoneHint": "此區域讀取 cron 任務的時間。不適用於間隔任務。",
|
||||
"container": "容器",
|
||||
"command": "指令",
|
||||
"url": "URL",
|
||||
"method": "Method",
|
||||
"body": "Body",
|
||||
"channels": "Also send to",
|
||||
"method": "方法",
|
||||
"body": "身體",
|
||||
"channels": "也發送到",
|
||||
"title": "標題",
|
||||
"message": "Message",
|
||||
"snippet": "Snippet",
|
||||
"seconds": "Seconds",
|
||||
"conditionLeftPlaceholder": "Value to check",
|
||||
"conditionRightPlaceholder": "Compare against",
|
||||
"variableName": "Variable name",
|
||||
"variableValue": "Value",
|
||||
"elevated": "Run with sudo",
|
||||
"onError": "If this fails",
|
||||
"allowPrivateNetwork": "Allow local network addresses",
|
||||
"allowPrivateNetworkHint": "Needed for a self-hosted service on your LAN. Off by default to prevent requests to internal addresses."
|
||||
"message": "訊息",
|
||||
"snippet": "片段",
|
||||
"seconds": "秒",
|
||||
"conditionLeftPlaceholder": "待檢查的數值",
|
||||
"conditionRightPlaceholder": "與…比較",
|
||||
"variableName": "變數名",
|
||||
"variableValue": "價值",
|
||||
"elevated": "使用 sudo 運行",
|
||||
"onError": "如果失敗",
|
||||
"allowPrivateNetwork": "允許本地網路位址",
|
||||
"allowPrivateNetworkHint": "在區域網路內執行自託管服務時需要此功能。預設為關閉狀態,以防止向內部位址發送請求。"
|
||||
},
|
||||
"onError": {
|
||||
"stop": "Stop the run",
|
||||
"continue": "Carry on"
|
||||
"stop": "停止奔跑",
|
||||
"continue": "繼續"
|
||||
},
|
||||
"needsPlugin": "Needs {{plugin}}",
|
||||
"needsPluginHint": "This automation is skipped until the feature it needs is available again.",
|
||||
"needsPlugin": "需要 {{plugin}}",
|
||||
"needsPluginHint": "這個自動化流程將被跳過,直到所需的功能再次可用為止。",
|
||||
"offBadge": "關閉",
|
||||
"docsLink": "檢視文件",
|
||||
"ago": {
|
||||
"seconds": "{{count}}s ago",
|
||||
"seconds": "{{count}}秒前",
|
||||
"minutes": "{{count}} 分鐘前",
|
||||
"hours": "{{count}} 小時前",
|
||||
"days": "{{count}} 天前"
|
||||
@@ -166,46 +166,46 @@
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"automations": "Automations"
|
||||
"automations": "自動化"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_automations": "Automations",
|
||||
"feature_automations_desc": "Run steps automatically when something happens, and get notified."
|
||||
"feature_automations": "自動化",
|
||||
"feature_automations_desc": "當發生某些事情時,自動運行步驟並接收通知。"
|
||||
},
|
||||
"maintenance": {
|
||||
"title": "維護",
|
||||
"description": "Pause host status, health, metric, container and tunnel-disconnection automations while work is in progress. Monitoring, manual runs and scheduled automations continue.",
|
||||
"denied": "You do not have permission to view maintenance.",
|
||||
"sharedReadOnly": "This host was shared with you. Only its owner can change maintenance.",
|
||||
"failed": "Maintenance could not be updated.",
|
||||
"active": "Maintenance active",
|
||||
"estimated": "Estimated completion",
|
||||
"noAutoEnd": "The estimate does not end maintenance. End it explicitly when the work is complete.",
|
||||
"endConfirm": "End maintenance and resume event-triggered automations for this host?",
|
||||
"confirmEnd": "Confirm end",
|
||||
"description": "工作進行期間,暫停主機狀態、健康狀況、指標、容器和隧道斷開連線的自動化操作。監控、手動運行和計劃的自動化操作將繼續進行。",
|
||||
"denied": "您沒有權限查看維護資訊。",
|
||||
"sharedReadOnly": "這台主機是與您共享的。只有主機所有者才能變更維護設定。",
|
||||
"failed": "維護資訊無法更新。",
|
||||
"active": "維護活動",
|
||||
"estimated": "預計完成時間",
|
||||
"noAutoEnd": "估價並不意味著維護工作結束。工作完成後,應明確終止維護合約。",
|
||||
"endConfirm": "結束此主機的維護並恢復事件觸發的自動化操作?",
|
||||
"confirmEnd": "確認結束",
|
||||
"cancel": "取消",
|
||||
"end": "End maintenance",
|
||||
"end": "維護結束",
|
||||
"action": "動作",
|
||||
"startNow": "Start now",
|
||||
"schedule": "Schedule for later",
|
||||
"reason": "Reason",
|
||||
"startUtc": "First start (UTC)",
|
||||
"repeat": "Repeat",
|
||||
"once": "Once",
|
||||
"weekly": "Weekly",
|
||||
"monthly": "Monthly",
|
||||
"utcHelp": "Schedules use UTC throughout the year. Monthly schedules skip months without the selected day. Planned windows cannot overlap; overrunning maintenance continues across later windows.",
|
||||
"duration": "Estimated duration (minutes)",
|
||||
"grace": "Grace period (minutes)",
|
||||
"notify": "Notify once if still offline after the estimate plus grace period",
|
||||
"addSchedule": "Add schedule",
|
||||
"schedules": "Schedules",
|
||||
"noSchedules": "No maintenance schedules.",
|
||||
"completed": "Already started",
|
||||
"minutes_one": "{{count}} minute",
|
||||
"minutes_other": "{{count}} minutes",
|
||||
"remove": "Remove schedule",
|
||||
"loadFailed": "Could not refresh maintenance status. Changes are disabled until it can be loaded.",
|
||||
"loading": "Loading maintenance status…"
|
||||
"startNow": "立即開始",
|
||||
"schedule": "稍後安排",
|
||||
"reason": "原因",
|
||||
"startUtc": "首次啟動(UTC)",
|
||||
"repeat": "重複",
|
||||
"once": "一次",
|
||||
"weekly": "每週",
|
||||
"monthly": "每月",
|
||||
"utcHelp": "全年所有計劃均採用世界協調時 (UTC)。每月計劃會跳過沒有所選日期的月份。計劃視窗不能重疊;逾時維護會在後續視窗繼續進行。",
|
||||
"duration": "預計持續時間(分鐘)",
|
||||
"grace": "寬限期(分鐘)",
|
||||
"notify": "如果在預估時間和寬限期結束後仍離線,請通知一次。",
|
||||
"addSchedule": "新增日程",
|
||||
"schedules": "日程安排",
|
||||
"noSchedules": "沒有維護計劃。",
|
||||
"completed": "已經開始",
|
||||
"minutes_one": "{{count}} 分鐘",
|
||||
"minutes_other": "{{count}} 分鐘",
|
||||
"remove": "移除行程",
|
||||
"loadFailed": "無法刷新維護狀態。更改功能已停用,待狀態載入完畢後方可啟用。",
|
||||
"loading": "正在載入維護狀態…"
|
||||
}
|
||||
}
|
||||
@@ -1,147 +1,147 @@
|
||||
{
|
||||
"docker": {
|
||||
"notEnabled": "Docker is not enabled for this host",
|
||||
"validating": "Validating Docker...",
|
||||
"connecting": "Connecting...",
|
||||
"error": "Error",
|
||||
"notEnabled": "এই হোস্টের জন্য ডকার সক্রিয় করা নেই।",
|
||||
"validating": "ডকার যাচাই করা হচ্ছে...",
|
||||
"connecting": "সংযোগ স্থাপন...",
|
||||
"error": "ত্রুটি",
|
||||
"version": "{{runtime}} {{version}}",
|
||||
"connectionFailed": "Failed to connect to Docker",
|
||||
"containerStarted": "Container {{name}} started",
|
||||
"failedToStartContainer": "Failed to start container {{name}}",
|
||||
"containerStopped": "Container {{name}} stopped",
|
||||
"failedToStopContainer": "Failed to stop container {{name}}",
|
||||
"containerRestarted": "Container {{name}} restarted",
|
||||
"failedToRestartContainer": "Failed to restart container {{name}}",
|
||||
"containerPaused": "Container {{name}} paused",
|
||||
"containerUnpaused": "Container {{name}} unpaused",
|
||||
"failedToTogglePauseContainer": "Failed to toggle pause state for container {{name}}",
|
||||
"containerRemoved": "Container {{name}} removed",
|
||||
"failedToRemoveContainer": "Failed to remove container {{name}}",
|
||||
"image": "Image",
|
||||
"ports": "Ports",
|
||||
"noPorts": "No ports",
|
||||
"start": "Start",
|
||||
"stop": "Stop",
|
||||
"status": "Status",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"confirmRemoveContainer": "Are you sure you want to remove the container '{{name}}'? This action cannot be undone.",
|
||||
"runningContainerWarning": "Warning: This container is currently running. Removing it will stop the container first.",
|
||||
"loadingContainers": "Loading containers...",
|
||||
"manager": "Docker Manager",
|
||||
"autoRefresh": "Auto Refresh",
|
||||
"timestamps": "Timestamps",
|
||||
"lines": "Lines",
|
||||
"filterLogs": "Filter logs...",
|
||||
"refresh": "Refresh",
|
||||
"download": "Download",
|
||||
"clear": "Clear",
|
||||
"logsDownloaded": "Logs downloaded successfully",
|
||||
"last50": "Last 50",
|
||||
"last100": "Last 100",
|
||||
"last500": "Last 500",
|
||||
"last1000": "Last 1000",
|
||||
"allLogs": "All Logs",
|
||||
"noLogsMatching": "No logs matching \"{{query}}\"",
|
||||
"noLogsAvailable": "No logs available",
|
||||
"noContainersFound": "No containers found",
|
||||
"noContainersFoundHint": "No Docker containers are available on this host",
|
||||
"searchPlaceholder": "Search containers...",
|
||||
"allStatuses": "All Statuses",
|
||||
"stateRunning": "Running",
|
||||
"statePaused": "Paused",
|
||||
"stateExited": "Exited",
|
||||
"stateRestarting": "Restarting",
|
||||
"noContainersMatchFilters": "No containers match your filters",
|
||||
"noContainersMatchFiltersHint": "Try adjusting your search or filter criteria",
|
||||
"failedToFetchStats": "Failed to fetch container statistics",
|
||||
"containerNotRunning": "Container not running",
|
||||
"startContainerToViewStats": "Start the container to view statistics",
|
||||
"loadingStats": "Loading statistics...",
|
||||
"errorLoadingStats": "Error loading statistics",
|
||||
"noStatsAvailable": "No statistics available",
|
||||
"cpuUsage": "CPU Usage",
|
||||
"current": "Current",
|
||||
"memoryUsage": "Memory Usage",
|
||||
"networkIo": "Network I/O",
|
||||
"input": "Input",
|
||||
"output": "Output",
|
||||
"blockIo": "Block I/O",
|
||||
"read": "Read",
|
||||
"write": "Write",
|
||||
"pids": "PIDs",
|
||||
"containerInformation": "Container Information",
|
||||
"name": "Name",
|
||||
"id": "ID",
|
||||
"state": "State",
|
||||
"containerMustBeRunning": "Container must be running to access console",
|
||||
"verificationCodePrompt": "Enter verification code",
|
||||
"totpVerificationFailed": "TOTP verification failed. Please try again.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"connectedTo": "Connected to {{containerName}}",
|
||||
"disconnected": "Disconnected",
|
||||
"consoleError": "Console error",
|
||||
"errorMessage": "Error: {{message}}",
|
||||
"failedToConnect": "Failed to connect to container",
|
||||
"console": "Console",
|
||||
"selectShell": "Select shell",
|
||||
"bash": "Bash",
|
||||
"sh": "sh",
|
||||
"ash": "ash",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"notConnected": "Not connected",
|
||||
"clickToConnect": "Click connect to start a shell session",
|
||||
"connectingTo": "Connecting to {{containerName}}...",
|
||||
"containerNotFound": "Container not found",
|
||||
"backToList": "Back to List",
|
||||
"logs": "Logs",
|
||||
"stats": "Stats",
|
||||
"consoleTab": "Console",
|
||||
"startContainerToAccess": "Start the container to access the console",
|
||||
"noHostSelected": "No host selected",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"connectionFailed": "ডকারের সাথে সংযোগ করতে ব্যর্থ হয়েছে",
|
||||
"containerStarted": "কন্টেইনার {{name}} চালু হয়েছে",
|
||||
"failedToStartContainer": "{{name}} কন্টেইনারটি শুরু করতে ব্যর্থ হয়েছে",
|
||||
"containerStopped": "কন্টেইনার {{name}} থেমে গেছে",
|
||||
"failedToStopContainer": "কন্টেইনার বন্ধ করতে ব্যর্থ {{name}}",
|
||||
"containerRestarted": "কন্টেইনার {{name}} পুনরায় চালু হয়েছে",
|
||||
"failedToRestartContainer": "কন্টেইনার পুনরায় চালু করতে ব্যর্থ {{name}}",
|
||||
"containerPaused": "কন্টেইনার {{name}} থামানো হয়েছে",
|
||||
"containerUnpaused": "কন্টেইনার {{name}} বিরতিহীন",
|
||||
"failedToTogglePauseContainer": "কন্টেইনার {{name}} এর জন্য বিরতি অবস্থা টগল করতে ব্যর্থ হয়েছে",
|
||||
"containerRemoved": "কন্টেইনার {{name}} সরানো হয়েছে",
|
||||
"failedToRemoveContainer": "কন্টেইনার অপসারণ করা সম্ভব হয়নি {{name}}",
|
||||
"image": "ছবি",
|
||||
"ports": "বন্দর",
|
||||
"noPorts": "কোন পোর্ট নেই",
|
||||
"start": "শুরু করুন",
|
||||
"stop": "থামুন",
|
||||
"status": "অবস্থা",
|
||||
"actions": "কর্ম",
|
||||
"cardView": "কার্ড ভিউ",
|
||||
"listView": "তালিকা দৃশ্য",
|
||||
"confirmRemoveContainer": "আপনি কি '{{name}}' কন্টেইনারটি সরাতে নিশ্চিত? এই কাজটি পূর্বাবস্থায় ফেরানো যাবে না।",
|
||||
"runningContainerWarning": "সতর্কীকরণ: এই কন্টেইনারটি বর্তমানে চালু আছে। এটি অপসারণ করলে প্রথমে কন্টেইনারটি বন্ধ হবে।",
|
||||
"loadingContainers": "কন্টেইনার লোড করা হচ্ছে...",
|
||||
"manager": "ডকার ম্যানেজার",
|
||||
"autoRefresh": "স্বয়ংক্রিয় রিফ্রেশ",
|
||||
"timestamps": "টাইমস্ট্যাম্প",
|
||||
"lines": "লাইন",
|
||||
"filterLogs": "লগ ফিল্টার করুন...",
|
||||
"refresh": "রিফ্রেশ",
|
||||
"download": "ডাউনলোড করুন",
|
||||
"clear": "পরিষ্কার",
|
||||
"logsDownloaded": "লগগুলি সফলভাবে ডাউনলোড করা হয়েছে।",
|
||||
"last50": "শেষ ৫০",
|
||||
"last100": "শেষ ১০০",
|
||||
"last500": "শেষ ৫০০",
|
||||
"last1000": "শেষ ১০০০",
|
||||
"allLogs": "সমস্ত লগ",
|
||||
"noLogsMatching": "\"{{query}} \" এর সাথে মেলে এমন কোনও লগ নেই",
|
||||
"noLogsAvailable": "কোন লগ উপলব্ধ নেই",
|
||||
"noContainersFound": "কোন কন্টেইনার পাওয়া যায়নি",
|
||||
"noContainersFoundHint": "এই হোস্টে কোনো ডকার কন্টেইনার উপলব্ধ নেই।",
|
||||
"searchPlaceholder": "কন্টেইনারগুলি অনুসন্ধান করুন...",
|
||||
"allStatuses": "সমস্ত স্ট্যাটাস",
|
||||
"stateRunning": "দৌড়ানো",
|
||||
"statePaused": "বিরতি দেওয়া হয়েছে",
|
||||
"stateExited": "উত্তেজিত",
|
||||
"stateRestarting": "পুনরায় চালু করা",
|
||||
"noContainersMatchFilters": "আপনার ফিল্টারগুলির সাথে কোনও কন্টেইনার মেলে না",
|
||||
"noContainersMatchFiltersHint": "আপনার অনুসন্ধান বা ফিল্টারের শর্তাবলী পরিবর্তন করে দেখুন।",
|
||||
"failedToFetchStats": "কন্টেইনার পরিসংখ্যান আনতে ব্যর্থ হয়েছে",
|
||||
"containerNotRunning": "কন্টেইনারটি চলছে না",
|
||||
"startContainerToViewStats": "পরিসংখ্যান দেখতে কন্টেইনারটি চালু করুন।",
|
||||
"loadingStats": "পরিসংখ্যান লোড হচ্ছে...",
|
||||
"errorLoadingStats": "পরিসংখ্যান লোড করতে ত্রুটি",
|
||||
"noStatsAvailable": "কোন পরিসংখ্যান উপলব্ধ নেই",
|
||||
"cpuUsage": "সিপিইউ ব্যবহার",
|
||||
"current": "বর্তমান",
|
||||
"memoryUsage": "মেমরি ব্যবহার",
|
||||
"networkIo": "নেটওয়ার্ক আই/ও",
|
||||
"input": "ইনপুট",
|
||||
"output": "আউটপুট",
|
||||
"blockIo": "ব্লক আই/ও",
|
||||
"read": "পড়ুন",
|
||||
"write": "লিখুন",
|
||||
"pids": "পিআইডি",
|
||||
"containerInformation": "কন্টেইনারের তথ্য",
|
||||
"name": "নাম",
|
||||
"id": "আইডি",
|
||||
"state": "রাজ্য",
|
||||
"containerMustBeRunning": "কনসোল অ্যাক্সেস করতে হলে কন্টেইনারটি অবশ্যই চালু থাকতে হবে।",
|
||||
"verificationCodePrompt": "যাচাইকরণ কোড প্রবেশ করান",
|
||||
"totpVerificationFailed": "TOTP যাচাইকরণ ব্যর্থ হয়েছে। অনুগ্রহ করে আবার চেষ্টা করুন।",
|
||||
"browserSignInFailed": "সাইন-ইন ব্যর্থ হয়েছে। অনুগ্রহ করে আবার চেষ্টা করুন।",
|
||||
"connectedTo": "{{containerName}} এর সাথে সংযুক্ত",
|
||||
"disconnected": "বিচ্ছিন্ন",
|
||||
"consoleError": "কনসোল ত্রুটি",
|
||||
"errorMessage": "ত্রুটি: {{message}}",
|
||||
"failedToConnect": "কন্টেইনারের সাথে সংযোগ করতে ব্যর্থ হয়েছে",
|
||||
"console": "কনসোল",
|
||||
"selectShell": "শেল নির্বাচন করুন",
|
||||
"bash": "ব্যাশ",
|
||||
"sh": "শ",
|
||||
"ash": "ছাই",
|
||||
"connect": "সংযোগ করুন",
|
||||
"disconnect": "সংযোগ বিচ্ছিন্ন করুন",
|
||||
"notConnected": "সংযুক্ত নয়",
|
||||
"clickToConnect": "শেল সেশন শুরু করতে কানেক্ট-এ ক্লিক করুন।",
|
||||
"connectingTo": "{{containerName}} এর সাথে সংযোগ স্থাপন করা হচ্ছে...",
|
||||
"containerNotFound": "কন্টেইনারটি খুঁজে পাওয়া যায়নি",
|
||||
"backToList": "তালিকায় ফিরে যান",
|
||||
"logs": "লগ",
|
||||
"stats": "পরিসংখ্যান",
|
||||
"consoleTab": "কনসোল",
|
||||
"startContainerToAccess": "কনসোল অ্যাক্সেস করতে কন্টেইনারটি চালু করুন।",
|
||||
"noHostSelected": "কোন হোস্ট নির্বাচন করা হয়নি",
|
||||
"failedToFetchLogs": "লগ আনতে ব্যর্থ: {{error}}",
|
||||
"failedToDownloadLogs": "লগ ডাউনলোড করা যায়নি: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
"docker": "ডকার"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker": "ডকার",
|
||||
"feature_docker_desc": "ডকার চালিত যেকোনো হোস্টে কন্টেইনার দেখুন, লগ পড়ুন এবং পরিসংখ্যান পর্যবেক্ষণ করুন।"
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Retry",
|
||||
"clipboardReadFailed": "Failed to read from clipboard. Make sure clipboard permissions are granted.",
|
||||
"clipboardWriteFailed": "Failed to copy to clipboard. Make sure the page is served over HTTPS or localhost."
|
||||
"retry": "পুনরায় চেষ্টা করুন",
|
||||
"clipboardReadFailed": "ক্লিপবোর্ড থেকে পড়তে ব্যর্থ হয়েছে। নিশ্চিত করুন যে ক্লিপবোর্ডের অনুমতি দেওয়া আছে।",
|
||||
"clipboardWriteFailed": "ক্লিপবোর্ডে কপি করা সম্ভব হয়নি। নিশ্চিত করুন যে পৃষ্ঠাটি HTTPS বা লোকালহোস্টের মাধ্যমে পরিবেশিত হচ্ছে।"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "ডকার ব্যবহার করুন",
|
||||
"description": "যেসব হোস্টে ডকার সক্রিয় করা আছে, সেগুলোতে ডকার ম্যানেজার এবং কন্টেইনার কনসোল খুলুন।"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Enable Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"label": "ডকার সক্রিয় করুন",
|
||||
"description": "এই হোস্টে কন্টেইনারগুলি পরিচালনা করুন।"
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Container Runtime",
|
||||
"description": "Choose the CLI used for container management on this host",
|
||||
"docker": "Docker",
|
||||
"podman": "Podman"
|
||||
"label": "কন্টেইনার রানটাইম",
|
||||
"description": "এই হোস্টে কন্টেইনার ব্যবস্থাপনার জন্য ব্যবহৃত CLI নির্বাচন করুন",
|
||||
"docker": "ডকার",
|
||||
"podman": "পডম্যান"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "রিমোট সার্ভার প্রয়োজন। এই সংযোগের ধরণটি ব্যবহার করতে সেটিংস-এ একটি রিমোট সার্ভার সংযুক্ত করুন।"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"hostNotFound": "Host not found",
|
||||
"loadingHost": "Loading host..."
|
||||
"docsLink": "নথি দেখুন",
|
||||
"hostNotFound": "হোস্ট খুঁজে পাওয়া যায়নি",
|
||||
"loadingHost": "হোস্ট লোড হচ্ছে..."
|
||||
}
|
||||
}
|
||||
@@ -23,9 +23,9 @@
|
||||
"start": "प्रारंभ करें",
|
||||
"stop": "स्टॉप",
|
||||
"status": "स्थिति",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"actions": "कार्रवाई",
|
||||
"cardView": "कार्ड दृश्य",
|
||||
"listView": "लिस्ट व्यू",
|
||||
"confirmRemoveContainer": "क्या आप वाकई कंटेनर '{{name}}' हटाना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती।",
|
||||
"runningContainerWarning": "चेतावनी: यह कंटेनर वर्तमान में चल रहा है। हटाने पर पहले इसे रोका जाएगा।",
|
||||
"loadingContainers": "कंटेनर लोड हो रहे हैं...",
|
||||
@@ -78,7 +78,7 @@
|
||||
"containerMustBeRunning": "कंसोल तक पहुंचने के लिए कंटेनर चालू होना चाहिए",
|
||||
"verificationCodePrompt": "सत्यापन कोड दर्ज करें",
|
||||
"totpVerificationFailed": "TOTP सत्यापन विफल। कृपया पुनः प्रयास करें।",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "प्रवेश विफल। कृपया दोबारा प्रयास करें।",
|
||||
"connectedTo": "{{containerName}} से जुड़ा",
|
||||
"disconnected": "डिस्कनेक्टेड",
|
||||
"consoleError": "कंसोल त्रुटि",
|
||||
@@ -101,15 +101,15 @@
|
||||
"consoleTab": "कंसोल",
|
||||
"startContainerToAccess": "कंसोल तक पहुंचने के लिए कंटेनर चालू करें",
|
||||
"noHostSelected": "कोई होस्ट चयनित नहीं है",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"failedToFetchLogs": "लॉग प्राप्त करने में विफल: {{error}}",
|
||||
"failedToDownloadLogs": "लॉग डाउनलोड करने में विफल: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker_desc": "डॉकर चलाने वाले किसी भी होस्ट पर कंटेनर देखें, लॉग पढ़ें और आंकड़े देखें।"
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "पुनः प्रयास करें",
|
||||
@@ -118,15 +118,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "डॉकर का उपयोग करें",
|
||||
"description": "जिन होस्ट पर डॉकर सक्षम है, उन पर डॉकर मैनेजर और कंटेनर कंसोल खोलें।"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Docker सक्षम करें",
|
||||
"description": "Manage containers on this host."
|
||||
"description": "इस होस्ट पर कंटेनरों का प्रबंधन करें।"
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "कंटेनर रनटाइम",
|
||||
@@ -137,7 +137,7 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "रिमोट सर्वर आवश्यक है। इस कनेक्शन प्रकार का उपयोग करने के लिए सेटिंग्स में जाकर रिमोट सर्वर कनेक्ट करें।"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "दस्तावेज़ देखें",
|
||||
|
||||
@@ -1,147 +1,147 @@
|
||||
{
|
||||
"docker": {
|
||||
"notEnabled": "Docker is not enabled for this host",
|
||||
"validating": "Validating Docker...",
|
||||
"connecting": "Connecting...",
|
||||
"error": "Error",
|
||||
"notEnabled": "Docker tidak diaktifkan untuk host ini.",
|
||||
"validating": "Memvalidasi Docker...",
|
||||
"connecting": "Menghubungkan...",
|
||||
"error": "Kesalahan",
|
||||
"version": "{{runtime}} {{version}}",
|
||||
"connectionFailed": "Failed to connect to Docker",
|
||||
"containerStarted": "Container {{name}} started",
|
||||
"failedToStartContainer": "Failed to start container {{name}}",
|
||||
"containerStopped": "Container {{name}} stopped",
|
||||
"failedToStopContainer": "Failed to stop container {{name}}",
|
||||
"containerRestarted": "Container {{name}} restarted",
|
||||
"failedToRestartContainer": "Failed to restart container {{name}}",
|
||||
"containerPaused": "Container {{name}} paused",
|
||||
"containerUnpaused": "Container {{name}} unpaused",
|
||||
"failedToTogglePauseContainer": "Failed to toggle pause state for container {{name}}",
|
||||
"containerRemoved": "Container {{name}} removed",
|
||||
"failedToRemoveContainer": "Failed to remove container {{name}}",
|
||||
"image": "Image",
|
||||
"ports": "Ports",
|
||||
"noPorts": "No ports",
|
||||
"start": "Start",
|
||||
"stop": "Stop",
|
||||
"connectionFailed": "Gagal terhubung ke Docker",
|
||||
"containerStarted": "Kontainer {{name}} dimulai",
|
||||
"failedToStartContainer": "Gagal memulai kontainer {{name}}",
|
||||
"containerStopped": "Kontainer {{name}} berhenti",
|
||||
"failedToStopContainer": "Gagal menghentikan kontainer {{name}}",
|
||||
"containerRestarted": "Kontainer {{name}} dimulai ulang",
|
||||
"failedToRestartContainer": "Gagal memulai ulang kontainer {{name}}",
|
||||
"containerPaused": "Kontainer {{name}} berhenti",
|
||||
"containerUnpaused": "Kontainer {{name}} tidak dijeda",
|
||||
"failedToTogglePauseContainer": "Gagal mengubah status jeda untuk kontainer {{name}}",
|
||||
"containerRemoved": "Kontainer {{name}} dihapus",
|
||||
"failedToRemoveContainer": "Gagal menghapus kontainer {{name}}",
|
||||
"image": "Gambar",
|
||||
"ports": "Pelabuhan",
|
||||
"noPorts": "Tidak ada port",
|
||||
"start": "Awal",
|
||||
"stop": "Berhenti",
|
||||
"status": "Status",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"confirmRemoveContainer": "Are you sure you want to remove the container '{{name}}'? This action cannot be undone.",
|
||||
"runningContainerWarning": "Warning: This container is currently running. Removing it will stop the container first.",
|
||||
"loadingContainers": "Loading containers...",
|
||||
"manager": "Docker Manager",
|
||||
"autoRefresh": "Auto Refresh",
|
||||
"timestamps": "Timestamps",
|
||||
"lines": "Lines",
|
||||
"filterLogs": "Filter logs...",
|
||||
"refresh": "Refresh",
|
||||
"download": "Download",
|
||||
"clear": "Clear",
|
||||
"logsDownloaded": "Logs downloaded successfully",
|
||||
"last50": "Last 50",
|
||||
"last100": "Last 100",
|
||||
"last500": "Last 500",
|
||||
"last1000": "Last 1000",
|
||||
"allLogs": "All Logs",
|
||||
"noLogsMatching": "No logs matching \"{{query}}\"",
|
||||
"noLogsAvailable": "No logs available",
|
||||
"noContainersFound": "No containers found",
|
||||
"noContainersFoundHint": "No Docker containers are available on this host",
|
||||
"searchPlaceholder": "Search containers...",
|
||||
"allStatuses": "All Statuses",
|
||||
"stateRunning": "Running",
|
||||
"statePaused": "Paused",
|
||||
"stateExited": "Exited",
|
||||
"stateRestarting": "Restarting",
|
||||
"noContainersMatchFilters": "No containers match your filters",
|
||||
"noContainersMatchFiltersHint": "Try adjusting your search or filter criteria",
|
||||
"failedToFetchStats": "Failed to fetch container statistics",
|
||||
"containerNotRunning": "Container not running",
|
||||
"startContainerToViewStats": "Start the container to view statistics",
|
||||
"loadingStats": "Loading statistics...",
|
||||
"errorLoadingStats": "Error loading statistics",
|
||||
"noStatsAvailable": "No statistics available",
|
||||
"cpuUsage": "CPU Usage",
|
||||
"current": "Current",
|
||||
"memoryUsage": "Memory Usage",
|
||||
"networkIo": "Network I/O",
|
||||
"input": "Input",
|
||||
"output": "Output",
|
||||
"blockIo": "Block I/O",
|
||||
"read": "Read",
|
||||
"write": "Write",
|
||||
"pids": "PIDs",
|
||||
"containerInformation": "Container Information",
|
||||
"name": "Name",
|
||||
"id": "ID",
|
||||
"state": "State",
|
||||
"containerMustBeRunning": "Container must be running to access console",
|
||||
"verificationCodePrompt": "Enter verification code",
|
||||
"totpVerificationFailed": "TOTP verification failed. Please try again.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"connectedTo": "Connected to {{containerName}}",
|
||||
"disconnected": "Disconnected",
|
||||
"consoleError": "Console error",
|
||||
"errorMessage": "Error: {{message}}",
|
||||
"failedToConnect": "Failed to connect to container",
|
||||
"console": "Console",
|
||||
"selectShell": "Select shell",
|
||||
"bash": "Bash",
|
||||
"actions": "Tindakan",
|
||||
"cardView": "Tampilan kartu",
|
||||
"listView": "Tampilan daftar",
|
||||
"confirmRemoveContainer": "Apakah Anda yakin ingin menghapus kontainer '{{name}}'? Tindakan ini tidak dapat dibatalkan.",
|
||||
"runningContainerWarning": "Peringatan: Kontainer ini sedang berjalan. Menghapusnya akan menghentikan kontainer terlebih dahulu.",
|
||||
"loadingContainers": "Memuat kontainer...",
|
||||
"manager": "Manajer Docker",
|
||||
"autoRefresh": "Penyegaran Otomatis",
|
||||
"timestamps": "Cap waktu",
|
||||
"lines": "Garis",
|
||||
"filterLogs": "Filter log...",
|
||||
"refresh": "Menyegarkan",
|
||||
"download": "Unduh",
|
||||
"clear": "Jernih",
|
||||
"logsDownloaded": "Log berhasil diunduh.",
|
||||
"last50": "50 Terakhir",
|
||||
"last100": "100 terakhir",
|
||||
"last500": "500 Terakhir",
|
||||
"last1000": "1000 terakhir",
|
||||
"allLogs": "Semua Log",
|
||||
"noLogsMatching": "Tidak ada log yang cocok dengan \"{{query}}\"",
|
||||
"noLogsAvailable": "Tidak ada log yang tersedia.",
|
||||
"noContainersFound": "Tidak ditemukan wadah apa pun",
|
||||
"noContainersFoundHint": "Tidak ada kontainer Docker yang tersedia di host ini.",
|
||||
"searchPlaceholder": "Cari kontainer...",
|
||||
"allStatuses": "Semua Status",
|
||||
"stateRunning": "Berlari",
|
||||
"statePaused": "Dijeda",
|
||||
"stateExited": "Keluar",
|
||||
"stateRestarting": "Memulai ulang",
|
||||
"noContainersMatchFilters": "Tidak ada wadah yang sesuai dengan filter Anda.",
|
||||
"noContainersMatchFiltersHint": "Cobalah menyesuaikan kriteria pencarian atau filter Anda.",
|
||||
"failedToFetchStats": "Gagal mengambil statistik kontainer",
|
||||
"containerNotRunning": "Kontainer tidak berjalan",
|
||||
"startContainerToViewStats": "Jalankan kontainer untuk melihat statistik.",
|
||||
"loadingStats": "Memuat statistik...",
|
||||
"errorLoadingStats": "Terjadi kesalahan saat memuat statistik.",
|
||||
"noStatsAvailable": "Tidak ada statistik yang tersedia.",
|
||||
"cpuUsage": "Penggunaan CPU",
|
||||
"current": "Saat ini",
|
||||
"memoryUsage": "Penggunaan Memori",
|
||||
"networkIo": "Input/Output Jaringan",
|
||||
"input": "Masukan",
|
||||
"output": "Keluaran",
|
||||
"blockIo": "Blok I/O",
|
||||
"read": "Membaca",
|
||||
"write": "Menulis",
|
||||
"pids": "PID",
|
||||
"containerInformation": "Informasi Kontainer",
|
||||
"name": "Nama",
|
||||
"id": "PENGENAL",
|
||||
"state": "Negara",
|
||||
"containerMustBeRunning": "Kontainer harus berjalan agar dapat mengakses konsol.",
|
||||
"verificationCodePrompt": "Masukkan kode verifikasi",
|
||||
"totpVerificationFailed": "Verifikasi TOTP gagal. Silakan coba lagi.",
|
||||
"browserSignInFailed": "Login gagal. Silakan coba lagi.",
|
||||
"connectedTo": "Terhubung ke {{containerName}}",
|
||||
"disconnected": "Terputus",
|
||||
"consoleError": "Kesalahan konsol",
|
||||
"errorMessage": "Kesalahan: {{message}}",
|
||||
"failedToConnect": "Gagal terhubung ke kontainer",
|
||||
"console": "Menghibur",
|
||||
"selectShell": "Pilih cangkang",
|
||||
"bash": "Pesta",
|
||||
"sh": "sh",
|
||||
"ash": "ash",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"notConnected": "Not connected",
|
||||
"clickToConnect": "Click connect to start a shell session",
|
||||
"connectingTo": "Connecting to {{containerName}}...",
|
||||
"containerNotFound": "Container not found",
|
||||
"backToList": "Back to List",
|
||||
"logs": "Logs",
|
||||
"stats": "Stats",
|
||||
"consoleTab": "Console",
|
||||
"startContainerToAccess": "Start the container to access the console",
|
||||
"noHostSelected": "No host selected",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"ash": "abu",
|
||||
"connect": "Menghubungkan",
|
||||
"disconnect": "Memutuskan",
|
||||
"notConnected": "Tidak terhubung",
|
||||
"clickToConnect": "Klik sambungkan untuk memulai sesi shell.",
|
||||
"connectingTo": "Menghubungkan ke {{containerName}}...",
|
||||
"containerNotFound": "Kontainer tidak ditemukan",
|
||||
"backToList": "Kembali ke Daftar",
|
||||
"logs": "Log",
|
||||
"stats": "Statistik",
|
||||
"consoleTab": "Menghibur",
|
||||
"startContainerToAccess": "Jalankan kontainer untuk mengakses konsol.",
|
||||
"noHostSelected": "Tidak ada pembawa acara yang dipilih.",
|
||||
"failedToFetchLogs": "Gagal mengambil log: {{error}}",
|
||||
"failedToDownloadLogs": "Gagal mengunduh log: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
"docker": "Buruh pelabuhan"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker": "Buruh pelabuhan",
|
||||
"feature_docker_desc": "Lihat kontainer, baca log, dan pantau statistik pada host mana pun yang menjalankan Docker."
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Retry",
|
||||
"clipboardReadFailed": "Failed to read from clipboard. Make sure clipboard permissions are granted.",
|
||||
"clipboardWriteFailed": "Failed to copy to clipboard. Make sure the page is served over HTTPS or localhost."
|
||||
"retry": "Mencoba kembali",
|
||||
"clipboardReadFailed": "Gagal membaca dari clipboard. Pastikan izin clipboard telah diberikan.",
|
||||
"clipboardWriteFailed": "Gagal menyalin ke papan klip. Pastikan halaman disajikan melalui HTTPS atau localhost."
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Gunakan Docker",
|
||||
"description": "Buka pengelola Docker dan konsol kontainer pada host yang telah mengaktifkan Docker."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Enable Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"label": "Aktifkan Docker",
|
||||
"description": "Kelola kontainer di host ini."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Container Runtime",
|
||||
"description": "Choose the CLI used for container management on this host",
|
||||
"docker": "Docker",
|
||||
"label": "Lingkungan Eksekusi Kontainer",
|
||||
"description": "Pilih CLI yang digunakan untuk manajemen kontainer pada host ini.",
|
||||
"docker": "Buruh pelabuhan",
|
||||
"podman": "Podman"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "Diperlukan server jarak jauh. Hubungkan server jarak jauh di Pengaturan untuk menggunakan jenis koneksi ini."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"hostNotFound": "Host not found",
|
||||
"loadingHost": "Loading host..."
|
||||
"docsLink": "Lihat dokumen",
|
||||
"hostNotFound": "Host tidak ditemukan",
|
||||
"loadingHost": "Memuat host..."
|
||||
}
|
||||
}
|
||||
@@ -1,147 +1,147 @@
|
||||
{
|
||||
"docker": {
|
||||
"notEnabled": "Docker is not enabled for this host",
|
||||
"validating": "Validating Docker...",
|
||||
"notEnabled": "Docker er ikke aktivert for denne verten",
|
||||
"validating": "Validerer Docker...",
|
||||
"connecting": "Kobler til...",
|
||||
"error": "Feil",
|
||||
"version": "{{runtime}} {{version}}",
|
||||
"connectionFailed": "Failed to connect to Docker",
|
||||
"containerStarted": "Container {{name}} started",
|
||||
"failedToStartContainer": "Failed to start container {{name}}",
|
||||
"containerStopped": "Container {{name}} stopped",
|
||||
"failedToStopContainer": "Failed to stop container {{name}}",
|
||||
"containerRestarted": "Container {{name}} restarted",
|
||||
"failedToRestartContainer": "Failed to restart container {{name}}",
|
||||
"containerPaused": "Container {{name}} paused",
|
||||
"containerUnpaused": "Container {{name}} unpaused",
|
||||
"failedToTogglePauseContainer": "Failed to toggle pause state for container {{name}}",
|
||||
"containerRemoved": "Container {{name}} removed",
|
||||
"failedToRemoveContainer": "Failed to remove container {{name}}",
|
||||
"image": "Image",
|
||||
"ports": "Ports",
|
||||
"noPorts": "No ports",
|
||||
"connectionFailed": "Kunne ikke koble til Docker",
|
||||
"containerStarted": "Container {{name}} startet",
|
||||
"failedToStartContainer": "Kunne ikke starte containeren {{name}}",
|
||||
"containerStopped": "Container {{name}} stoppet",
|
||||
"failedToStopContainer": "Klarte ikke å stoppe containeren {{name}}",
|
||||
"containerRestarted": "Beholder {{name}} startet på nytt",
|
||||
"failedToRestartContainer": "Kunne ikke starte beholderen {{name}} på nytt",
|
||||
"containerPaused": "Beholder {{name}} satt på pause",
|
||||
"containerUnpaused": "Beholder {{name}} er ikke satt på pause lenger",
|
||||
"failedToTogglePauseContainer": "Kunne ikke slå av/på pausetilstand for container {{name}}",
|
||||
"containerRemoved": "Beholder {{name}} fjernet",
|
||||
"failedToRemoveContainer": "Kunne ikke fjerne beholderen {{name}}",
|
||||
"image": "Bilde",
|
||||
"ports": "Porter",
|
||||
"noPorts": "Ingen porter",
|
||||
"start": "Start",
|
||||
"stop": "Stopp",
|
||||
"status": "Status",
|
||||
"actions": "Handlinger",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"confirmRemoveContainer": "Are you sure you want to remove the container '{{name}}'? This action cannot be undone.",
|
||||
"runningContainerWarning": "Warning: This container is currently running. Removing it will stop the container first.",
|
||||
"loadingContainers": "Loading containers...",
|
||||
"cardView": "Kortvisning",
|
||||
"listView": "Listevisning",
|
||||
"confirmRemoveContainer": "Er du sikker på at du vil fjerne beholderen '{{name}}'? Denne handlingen kan ikke angres.",
|
||||
"runningContainerWarning": "Advarsel: Denne beholderen kjører for øyeblikket. Hvis du fjerner den, stoppes beholderen først.",
|
||||
"loadingContainers": "Laster containere ...",
|
||||
"manager": "Docker Manager",
|
||||
"autoRefresh": "Auto Refresh",
|
||||
"timestamps": "Timestamps",
|
||||
"lines": "Lines",
|
||||
"filterLogs": "Filter logs...",
|
||||
"autoRefresh": "Automatisk oppdatering",
|
||||
"timestamps": "Tidsstempler",
|
||||
"lines": "Linjer",
|
||||
"filterLogs": "Filtrer logger...",
|
||||
"refresh": "Oppdater",
|
||||
"download": "Last ned",
|
||||
"clear": "Tøm",
|
||||
"logsDownloaded": "Logs downloaded successfully",
|
||||
"last50": "Last 50",
|
||||
"last100": "Last 100",
|
||||
"last500": "Last 500",
|
||||
"last1000": "Last 1000",
|
||||
"allLogs": "All Logs",
|
||||
"noLogsMatching": "No logs matching \"{{query}}\"",
|
||||
"noLogsAvailable": "No logs available",
|
||||
"noContainersFound": "No containers found",
|
||||
"noContainersFoundHint": "No Docker containers are available on this host",
|
||||
"searchPlaceholder": "Search containers...",
|
||||
"allStatuses": "All Statuses",
|
||||
"logsDownloaded": "Loggene er lastet ned",
|
||||
"last50": "Siste 50",
|
||||
"last100": "Siste 100",
|
||||
"last500": "Siste 500",
|
||||
"last1000": "Siste 1000",
|
||||
"allLogs": "Alle logger",
|
||||
"noLogsMatching": "Ingen logger som samsvarer med «{{query}}»",
|
||||
"noLogsAvailable": "Ingen logger tilgjengelig",
|
||||
"noContainersFound": "Ingen containere funnet",
|
||||
"noContainersFoundHint": "Ingen Docker-containere er tilgjengelige på denne verten",
|
||||
"searchPlaceholder": "Søk i containere...",
|
||||
"allStatuses": "Alle statuser",
|
||||
"stateRunning": "Kjører",
|
||||
"statePaused": "Paused",
|
||||
"stateExited": "Exited",
|
||||
"stateRestarting": "Restarting",
|
||||
"noContainersMatchFilters": "No containers match your filters",
|
||||
"noContainersMatchFiltersHint": "Try adjusting your search or filter criteria",
|
||||
"failedToFetchStats": "Failed to fetch container statistics",
|
||||
"containerNotRunning": "Container not running",
|
||||
"startContainerToViewStats": "Start the container to view statistics",
|
||||
"loadingStats": "Loading statistics...",
|
||||
"errorLoadingStats": "Error loading statistics",
|
||||
"noStatsAvailable": "No statistics available",
|
||||
"statePaused": "Pauset",
|
||||
"stateExited": "Avsluttet",
|
||||
"stateRestarting": "Starter på nytt",
|
||||
"noContainersMatchFilters": "Ingen beholdere samsvarer med filtrene dine",
|
||||
"noContainersMatchFiltersHint": "Prøv å justere søke- eller filterkriteriene dine",
|
||||
"failedToFetchStats": "Kunne ikke hente containerstatistikk",
|
||||
"containerNotRunning": "Beholderen kjører ikke",
|
||||
"startContainerToViewStats": "Start beholderen for å se statistikk",
|
||||
"loadingStats": "Laster inn statistikk ...",
|
||||
"errorLoadingStats": "Feil ved lasting av statistikk",
|
||||
"noStatsAvailable": "Ingen statistikk tilgjengelig",
|
||||
"cpuUsage": "CPU-bruk",
|
||||
"current": "Current",
|
||||
"current": "Nåværende",
|
||||
"memoryUsage": "Minnebruk",
|
||||
"networkIo": "Network I/O",
|
||||
"input": "Input",
|
||||
"output": "Output",
|
||||
"blockIo": "Block I/O",
|
||||
"networkIo": "Nettverk I/O",
|
||||
"input": "Inndata",
|
||||
"output": "Produksjon",
|
||||
"blockIo": "Blokk I/O",
|
||||
"read": "Les",
|
||||
"write": "Skriv",
|
||||
"pids": "PIDs",
|
||||
"containerInformation": "Container Information",
|
||||
"pids": "PID-er",
|
||||
"containerInformation": "Containerinformasjon",
|
||||
"name": "Navn",
|
||||
"id": "ID",
|
||||
"state": "State",
|
||||
"containerMustBeRunning": "Container must be running to access console",
|
||||
"state": "Tilstand",
|
||||
"containerMustBeRunning": "Containeren må kjøre for å få tilgang til konsollen",
|
||||
"verificationCodePrompt": "Angi verifikasjonskode",
|
||||
"totpVerificationFailed": "TOTP verification failed. Please try again.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"connectedTo": "Connected to {{containerName}}",
|
||||
"totpVerificationFailed": "TOTP-verifisering mislyktes. Prøv på nytt.",
|
||||
"browserSignInFailed": "Påloggingen mislyktes. Prøv på nytt.",
|
||||
"connectedTo": "Koblet til {{containerName}}",
|
||||
"disconnected": "Frakoblet",
|
||||
"consoleError": "Console error",
|
||||
"consoleError": "Konsollfeil",
|
||||
"errorMessage": "Feil: {{message}}",
|
||||
"failedToConnect": "Failed to connect to container",
|
||||
"console": "Console",
|
||||
"selectShell": "Select shell",
|
||||
"failedToConnect": "Kunne ikke koble til beholderen",
|
||||
"console": "Konsoll",
|
||||
"selectShell": "Velg skall",
|
||||
"bash": "Bash",
|
||||
"sh": "sh",
|
||||
"ash": "ash",
|
||||
"ash": "aske",
|
||||
"connect": "Koble til",
|
||||
"disconnect": "Koble fra",
|
||||
"notConnected": "Not connected",
|
||||
"clickToConnect": "Click connect to start a shell session",
|
||||
"connectingTo": "Connecting to {{containerName}}...",
|
||||
"containerNotFound": "Container not found",
|
||||
"backToList": "Back to List",
|
||||
"logs": "Logs",
|
||||
"stats": "Stats",
|
||||
"consoleTab": "Console",
|
||||
"startContainerToAccess": "Start the container to access the console",
|
||||
"notConnected": "Ikke tilkoblet",
|
||||
"clickToConnect": "Klikk på koble til for å starte en skalløkt",
|
||||
"connectingTo": "Kobler til {{containerName}}...",
|
||||
"containerNotFound": "Beholderen ble ikke funnet",
|
||||
"backToList": "Tilbake til listen",
|
||||
"logs": "Logger",
|
||||
"stats": "Statistikk",
|
||||
"consoleTab": "Konsoll",
|
||||
"startContainerToAccess": "Start containeren for å få tilgang til konsollen",
|
||||
"noHostSelected": "Ingen vert valgt",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"failedToFetchLogs": "Kunne ikke hente logger: {{error}}",
|
||||
"failedToDownloadLogs": "Kunne ikke laste ned logger: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
"docker": "Dokker"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker": "Dokker",
|
||||
"feature_docker_desc": "Se containere, les logger og se statistikk på alle verter som kjører Docker."
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Prøv igjen",
|
||||
"clipboardReadFailed": "Failed to read from clipboard. Make sure clipboard permissions are granted.",
|
||||
"clipboardWriteFailed": "Failed to copy to clipboard. Make sure the page is served over HTTPS or localhost."
|
||||
"clipboardReadFailed": "Kunne ikke lese fra utklippstavlen. Sørg for at utklippstavlen har tillatelser.",
|
||||
"clipboardWriteFailed": "Kunne ikke kopiere til utklippstavlen. Sørg for at siden serveres via HTTPS eller localhost."
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Bruk Docker",
|
||||
"description": "Åpne Docker-behandleren og containerkonsollene på verter med Docker aktivert."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Enable Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"label": "Aktiver Docker",
|
||||
"description": "Administrer containere på denne verten."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Container Runtime",
|
||||
"description": "Choose the CLI used for container management on this host",
|
||||
"docker": "Docker",
|
||||
"label": "Containerkjøringstid",
|
||||
"description": "Velg CRI-et som brukes for containeradministrasjon på denne verten",
|
||||
"docker": "Dokker",
|
||||
"podman": "Podman"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "Ekstern server kreves. Koble til en ekstern server i Innstillinger for å bruke denne tilkoblingstypen."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"hostNotFound": "Host not found",
|
||||
"loadingHost": "Loading host..."
|
||||
"docsLink": "Vis dokumenter",
|
||||
"hostNotFound": "Verten ble ikke funnet",
|
||||
"loadingHost": "Laster inn vert ..."
|
||||
}
|
||||
}
|
||||
@@ -23,9 +23,9 @@
|
||||
"start": "Start",
|
||||
"stop": "Stop",
|
||||
"status": "Status",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"actions": "Akcje",
|
||||
"cardView": "Widok karty",
|
||||
"listView": "Widok listy",
|
||||
"confirmRemoveContainer": "Czy na pewno chcesz usunąć kontener „{{name}}”? Tej czynności nie można cofnąć.",
|
||||
"runningContainerWarning": "Ostrzeżenie: Ten kontener jest obecnie uruchomiony. Jego usunięcie spowoduje najpierw jego zatrzymanie.",
|
||||
"loadingContainers": "Ładowanie kontenerów...",
|
||||
@@ -78,7 +78,7 @@
|
||||
"containerMustBeRunning": "Aby uzyskać dostęp do konsoli, kontener musi być uruchomiony",
|
||||
"verificationCodePrompt": "Wprowadź kod weryfikacyjny",
|
||||
"totpVerificationFailed": "Weryfikacja TOTP nie powiodła się. Spróbuj ponownie.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "Logowanie nie powiodło się. Spróbuj ponownie.",
|
||||
"connectedTo": "Połączono z {{containerName}}",
|
||||
"disconnected": "Rozłączono",
|
||||
"consoleError": "Błąd konsoli",
|
||||
@@ -101,8 +101,8 @@
|
||||
"consoleTab": "Konsola",
|
||||
"startContainerToAccess": "Uruchom kontener, aby uzyskać dostęp do konsoli",
|
||||
"noHostSelected": "Nie wybrano hosta",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"failedToFetchLogs": "Nie udało się pobrać dzienników: {{error}}",
|
||||
"failedToDownloadLogs": "Nie udało się pobrać dzienników: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
@@ -118,15 +118,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Użyj Dockera",
|
||||
"description": "Otwórz menedżera Docker i konsole kontenerów na hostach z włączonym Dockerem."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Włącz Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"description": "Zarządzaj kontenerami na tym hoście."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Środowisko wykonawcze kontenera",
|
||||
|
||||
@@ -1,147 +1,147 @@
|
||||
{
|
||||
"docker": {
|
||||
"notEnabled": "Docker is not enabled for this host",
|
||||
"validating": "Validating Docker...",
|
||||
"notEnabled": "O Docker não está habilitado para este host.",
|
||||
"validating": "Validando o Docker...",
|
||||
"connecting": "Conectando...",
|
||||
"error": "Erro",
|
||||
"version": "{{runtime}} {{version}}",
|
||||
"connectionFailed": "Failed to connect to Docker",
|
||||
"containerStarted": "Container {{name}} started",
|
||||
"failedToStartContainer": "Failed to start container {{name}}",
|
||||
"containerStopped": "Container {{name}} stopped",
|
||||
"failedToStopContainer": "Failed to stop container {{name}}",
|
||||
"containerRestarted": "Container {{name}} restarted",
|
||||
"failedToRestartContainer": "Failed to restart container {{name}}",
|
||||
"containerPaused": "Container {{name}} paused",
|
||||
"containerUnpaused": "Container {{name}} unpaused",
|
||||
"failedToTogglePauseContainer": "Failed to toggle pause state for container {{name}}",
|
||||
"containerRemoved": "Container {{name}} removed",
|
||||
"failedToRemoveContainer": "Failed to remove container {{name}}",
|
||||
"image": "Image",
|
||||
"ports": "Ports",
|
||||
"noPorts": "No ports",
|
||||
"connectionFailed": "Falha ao conectar ao Docker",
|
||||
"containerStarted": "Contêiner {{name}} iniciado",
|
||||
"failedToStartContainer": "Falha ao iniciar o contêiner {{name}}",
|
||||
"containerStopped": "Contêiner {{name}} parado",
|
||||
"failedToStopContainer": "Falha ao parar o contêiner {{name}}",
|
||||
"containerRestarted": "Contêiner {{name}} reiniciado",
|
||||
"failedToRestartContainer": "Falha ao reiniciar o contêiner {{name}}",
|
||||
"containerPaused": "Contêiner {{name}} pausado",
|
||||
"containerUnpaused": "Contêiner {{name}} despausado",
|
||||
"failedToTogglePauseContainer": "Falha ao alternar o estado de pausa para o contêiner {{name}}",
|
||||
"containerRemoved": "Contêiner {{name}} removido",
|
||||
"failedToRemoveContainer": "Falha ao remover o contêiner {{name}}",
|
||||
"image": "Imagem",
|
||||
"ports": "Portos",
|
||||
"noPorts": "Sem portas",
|
||||
"start": "Iniciar",
|
||||
"stop": "Stop",
|
||||
"stop": "Parar",
|
||||
"status": "Status",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"confirmRemoveContainer": "Are you sure you want to remove the container '{{name}}'? This action cannot be undone.",
|
||||
"runningContainerWarning": "Warning: This container is currently running. Removing it will stop the container first.",
|
||||
"loadingContainers": "Loading containers...",
|
||||
"manager": "Docker Manager",
|
||||
"autoRefresh": "Auto Refresh",
|
||||
"timestamps": "Timestamps",
|
||||
"lines": "Lines",
|
||||
"filterLogs": "Filter logs...",
|
||||
"actions": "Ações",
|
||||
"cardView": "Visualização em cartão",
|
||||
"listView": "Visualização em lista",
|
||||
"confirmRemoveContainer": "Tem certeza de que deseja remover o contêiner '{{name}}'? Esta ação não pode ser desfeita.",
|
||||
"runningContainerWarning": "Aviso: Este contêiner está em execução. Removê-lo interromperá o contêiner primeiro.",
|
||||
"loadingContainers": "Carregando contêineres...",
|
||||
"manager": "Gerenciador de Docker",
|
||||
"autoRefresh": "Atualização automática",
|
||||
"timestamps": "Carimbos de data/hora",
|
||||
"lines": "Linhas",
|
||||
"filterLogs": "Filtrar registros...",
|
||||
"refresh": "Atualizar",
|
||||
"download": "Download",
|
||||
"clear": "Limpar",
|
||||
"logsDownloaded": "Logs downloaded successfully",
|
||||
"last50": "Last 50",
|
||||
"last100": "Last 100",
|
||||
"last500": "Last 500",
|
||||
"last1000": "Last 1000",
|
||||
"allLogs": "All Logs",
|
||||
"noLogsMatching": "No logs matching \"{{query}}\"",
|
||||
"noLogsAvailable": "No logs available",
|
||||
"noContainersFound": "No containers found",
|
||||
"noContainersFoundHint": "No Docker containers are available on this host",
|
||||
"searchPlaceholder": "Search containers...",
|
||||
"allStatuses": "All Statuses",
|
||||
"stateRunning": "Running",
|
||||
"statePaused": "Paused",
|
||||
"stateExited": "Exited",
|
||||
"stateRestarting": "Restarting",
|
||||
"noContainersMatchFilters": "No containers match your filters",
|
||||
"noContainersMatchFiltersHint": "Try adjusting your search or filter criteria",
|
||||
"failedToFetchStats": "Failed to fetch container statistics",
|
||||
"containerNotRunning": "Container not running",
|
||||
"startContainerToViewStats": "Start the container to view statistics",
|
||||
"loadingStats": "Loading statistics...",
|
||||
"errorLoadingStats": "Error loading statistics",
|
||||
"noStatsAvailable": "No statistics available",
|
||||
"cpuUsage": "CPU Usage",
|
||||
"current": "Current",
|
||||
"memoryUsage": "Memory Usage",
|
||||
"logsDownloaded": "Registros baixados com sucesso",
|
||||
"last50": "Últimos 50",
|
||||
"last100": "Últimos 100",
|
||||
"last500": "Últimos 500",
|
||||
"last1000": "Últimos 1000",
|
||||
"allLogs": "Todos os registros",
|
||||
"noLogsMatching": "Nenhum registro correspondente a \"{{query}}\"",
|
||||
"noLogsAvailable": "Nenhum registro disponível",
|
||||
"noContainersFound": "Nenhum contêiner encontrado",
|
||||
"noContainersFoundHint": "Não há contêineres Docker disponíveis neste host.",
|
||||
"searchPlaceholder": "Contêineres de pesquisa...",
|
||||
"allStatuses": "Todos os status",
|
||||
"stateRunning": "Correndo",
|
||||
"statePaused": "Em pausa",
|
||||
"stateExited": "Saiu",
|
||||
"stateRestarting": "Reiniciando",
|
||||
"noContainersMatchFilters": "Nenhum recipiente corresponde aos seus filtros.",
|
||||
"noContainersMatchFiltersHint": "Tente ajustar seus critérios de pesquisa ou filtro.",
|
||||
"failedToFetchStats": "Falha ao obter as estatísticas do contêiner.",
|
||||
"containerNotRunning": "Contêiner não está em execução",
|
||||
"startContainerToViewStats": "Inicie o contêiner para visualizar as estatísticas.",
|
||||
"loadingStats": "Carregando estatísticas...",
|
||||
"errorLoadingStats": "Estatísticas de carregamento de erros",
|
||||
"noStatsAvailable": "Não há estatísticas disponíveis.",
|
||||
"cpuUsage": "Utilização da CPU",
|
||||
"current": "Atual",
|
||||
"memoryUsage": "Uso de memória",
|
||||
"networkIo": "Entrada e Saída de rede",
|
||||
"input": "Entrada",
|
||||
"output": "Output",
|
||||
"output": "Saída",
|
||||
"blockIo": "Bloco de E/S",
|
||||
"read": "Read",
|
||||
"write": "Write",
|
||||
"read": "Ler",
|
||||
"write": "Escrever",
|
||||
"pids": "Identificadores de Processos",
|
||||
"containerInformation": "Container Information",
|
||||
"name": "Name",
|
||||
"id": "ID",
|
||||
"state": "State",
|
||||
"containerInformation": "Informações do contêiner",
|
||||
"name": "Nome",
|
||||
"id": "EU IA",
|
||||
"state": "Estado",
|
||||
"containerMustBeRunning": "O contêiner precisa estar em execução para acessar o console",
|
||||
"verificationCodePrompt": "Enter verification code",
|
||||
"totpVerificationFailed": "TOTP verification failed. Please try again.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"connectedTo": "Connected to {{containerName}}",
|
||||
"disconnected": "Disconnected",
|
||||
"consoleError": "Console error",
|
||||
"errorMessage": "Error: {{message}}",
|
||||
"failedToConnect": "Failed to connect to container",
|
||||
"verificationCodePrompt": "Insira o código de verificação",
|
||||
"totpVerificationFailed": "A verificação TOTP falhou. Tente novamente.",
|
||||
"browserSignInFailed": "Falha ao efetuar o login. Tente novamente.",
|
||||
"connectedTo": "Conectado a {{containerName}}",
|
||||
"disconnected": "Desconectado",
|
||||
"consoleError": "Erro no console",
|
||||
"errorMessage": "Erro: {{message}}",
|
||||
"failedToConnect": "Falha ao conectar ao contêiner",
|
||||
"console": "Console",
|
||||
"selectShell": "Select shell",
|
||||
"selectShell": "Selecione shell",
|
||||
"bash": "Bash",
|
||||
"sh": "sh",
|
||||
"ash": "ash",
|
||||
"ash": "cinzas",
|
||||
"connect": "Conectar",
|
||||
"disconnect": "Desconectar",
|
||||
"notConnected": "Not connected",
|
||||
"clickToConnect": "Click connect to start a shell session",
|
||||
"connectingTo": "Connecting to {{containerName}}...",
|
||||
"containerNotFound": "Container not found",
|
||||
"backToList": "Back to List",
|
||||
"logs": "Logs",
|
||||
"stats": "Stats",
|
||||
"notConnected": "Não conectado",
|
||||
"clickToConnect": "Clique em conectar para iniciar uma sessão de shell.",
|
||||
"connectingTo": "Conectando a {{containerName}}...",
|
||||
"containerNotFound": "Contêiner não encontrado",
|
||||
"backToList": "Voltar à lista",
|
||||
"logs": "Registros",
|
||||
"stats": "Estatísticas",
|
||||
"consoleTab": "Console",
|
||||
"startContainerToAccess": "Start the container to access the console",
|
||||
"noHostSelected": "No host selected",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"startContainerToAccess": "Inicie o contêiner para acessar o console.",
|
||||
"noHostSelected": "Nenhum host selecionado",
|
||||
"failedToFetchLogs": "Falha ao obter os registros: {{error}}",
|
||||
"failedToDownloadLogs": "Falha ao baixar os registros: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker_desc": "Visualize contêineres, leia registros e acompanhe as estatísticas em qualquer host que execute o Docker."
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Retry",
|
||||
"clipboardReadFailed": "Failed to read from clipboard. Make sure clipboard permissions are granted.",
|
||||
"clipboardWriteFailed": "Failed to copy to clipboard. Make sure the page is served over HTTPS or localhost."
|
||||
"retry": "Tentar novamente",
|
||||
"clipboardReadFailed": "Não foi possível ler o conteúdo da área de transferência. Certifique-se de que as permissões de acesso à área de transferência estejam concedidas.",
|
||||
"clipboardWriteFailed": "Falha ao copiar para a área de transferência. Certifique-se de que a página esteja sendo servida via HTTPS ou localhost."
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Use o Docker",
|
||||
"description": "Abra o gerenciador do Docker e os consoles de contêineres nos hosts com o Docker habilitado."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Ativar Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"description": "Gerencie os contêineres neste host."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Container Runtime",
|
||||
"description": "Choose the CLI used for container management on this host",
|
||||
"label": "Tempo de execução do contêiner",
|
||||
"description": "Escolha a CLI usada para gerenciamento de contêineres neste host.",
|
||||
"docker": "Docker",
|
||||
"podman": "Podman"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "É necessário um servidor remoto. Conecte um servidor remoto nas Configurações para usar este tipo de conexão."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Documentação",
|
||||
"hostNotFound": "Host not found",
|
||||
"loadingHost": "Loading host..."
|
||||
"hostNotFound": "Host não encontrado",
|
||||
"loadingHost": "Carregando host..."
|
||||
}
|
||||
}
|
||||
@@ -23,9 +23,9 @@
|
||||
"start": "Iniciar",
|
||||
"stop": "Stop",
|
||||
"status": "Estado",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"actions": "Ações",
|
||||
"cardView": "Visualização em cartão",
|
||||
"listView": "Visualização em lista",
|
||||
"confirmRemoveContainer": "Tem a certeza de que pretende remover o contentor '{{name}}'? Esta ação não pode ser desfeita.",
|
||||
"runningContainerWarning": "Aviso: Este contentor está em execução. Removê-lo irá pará-lo primeiro.",
|
||||
"loadingContainers": "A carregar contentores...",
|
||||
@@ -78,7 +78,7 @@
|
||||
"containerMustBeRunning": "O contentor tem de estar em execução para aceder à consola",
|
||||
"verificationCodePrompt": "Introduza o código de verificação",
|
||||
"totpVerificationFailed": "A verificação TOTP falhou. Por favor, tente novamente.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "Falha ao efetuar o login. Tente novamente.",
|
||||
"connectedTo": "Ligado a {{containerName}}",
|
||||
"disconnected": "Desligado",
|
||||
"consoleError": "Erro da consola",
|
||||
@@ -101,15 +101,15 @@
|
||||
"consoleTab": "Consola",
|
||||
"startContainerToAccess": "Inicie o contentor para aceder à consola",
|
||||
"noHostSelected": "Nenhum anfitrião selecionado",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"failedToFetchLogs": "Falha ao obter os registos: {{error}}",
|
||||
"failedToDownloadLogs": "Falha ao descarregar os registos: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker_desc": "Visualize contentores, leia registos e acompanhe as estatísticas em qualquer host que execute o Docker."
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Repetir",
|
||||
@@ -118,15 +118,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Utilize o Docker",
|
||||
"description": "Abra o gestor do Docker e as consolas de contentores nos hosts com o Docker ativado."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Ativar Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"description": "Gerir os contentores neste host."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Runtime de Contentores",
|
||||
@@ -137,7 +137,7 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "É necessário um servidor remoto. Ligue um servidor remoto nas Definições para utilizar este tipo de ligação."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Ver documentação",
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
"start": "Запустить",
|
||||
"stop": "Остановить",
|
||||
"status": "Статус",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"actions": "Действия",
|
||||
"cardView": "Карточный вид",
|
||||
"listView": "Список",
|
||||
"confirmRemoveContainer": "Вы уверены, что хотите удалить контейнер «{{name}}»? Это действие нельзя отменить.",
|
||||
"runningContainerWarning": "Предупреждение: этот контейнер в настоящее время работает. При удалении он будет сначала остановлен.",
|
||||
"loadingContainers": "Загрузка контейнеров...",
|
||||
@@ -78,7 +78,7 @@
|
||||
"containerMustBeRunning": "Для доступа к консоли контейнер должен быть запущен",
|
||||
"verificationCodePrompt": "Введите код подтверждения",
|
||||
"totpVerificationFailed": "Ошибка проверки TOTP. Попробуйте еще раз.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "Вход в систему не удался. Пожалуйста, попробуйте еще раз.",
|
||||
"connectedTo": "Подключено к {{containerName}}",
|
||||
"disconnected": "Отключено",
|
||||
"consoleError": "Ошибка консоли",
|
||||
@@ -101,15 +101,15 @@
|
||||
"consoleTab": "Консоль",
|
||||
"startContainerToAccess": "Запустите контейнер, чтобы получить доступ к консоли",
|
||||
"noHostSelected": "Хост не выбран",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"failedToFetchLogs": "Не удалось получить логи: {{error}}",
|
||||
"failedToDownloadLogs": "Не удалось загрузить логи: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker_desc": "Просматривайте контейнеры, читайте журналы и отслеживайте статистику на любом хосте, где запущен Docker."
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Повторить",
|
||||
@@ -118,15 +118,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Используйте Docker",
|
||||
"description": "Откройте Docker Manager и консоли контейнеров на хостах с включенным Docker."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Включить Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"description": "Управляйте контейнерами на этом хосте."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Среда выполнения контейнеров",
|
||||
@@ -137,7 +137,7 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "Требуется удаленный сервер. Для использования этого типа подключения подключите удаленный сервер в настройках."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Документация",
|
||||
|
||||
@@ -1,147 +1,147 @@
|
||||
{
|
||||
"docker": {
|
||||
"notEnabled": "Docker is not enabled for this host",
|
||||
"validating": "Validating Docker...",
|
||||
"connecting": "Connecting...",
|
||||
"error": "Error",
|
||||
"notEnabled": "Докер није омогућен за овај хост",
|
||||
"validating": "Валидација Докера...",
|
||||
"connecting": "Повезивање...",
|
||||
"error": "Грешка",
|
||||
"version": "{{runtime}} {{version}}",
|
||||
"connectionFailed": "Failed to connect to Docker",
|
||||
"containerStarted": "Container {{name}} started",
|
||||
"failedToStartContainer": "Failed to start container {{name}}",
|
||||
"containerStopped": "Container {{name}} stopped",
|
||||
"failedToStopContainer": "Failed to stop container {{name}}",
|
||||
"containerRestarted": "Container {{name}} restarted",
|
||||
"failedToRestartContainer": "Failed to restart container {{name}}",
|
||||
"containerPaused": "Container {{name}} paused",
|
||||
"containerUnpaused": "Container {{name}} unpaused",
|
||||
"failedToTogglePauseContainer": "Failed to toggle pause state for container {{name}}",
|
||||
"containerRemoved": "Container {{name}} removed",
|
||||
"failedToRemoveContainer": "Failed to remove container {{name}}",
|
||||
"image": "Image",
|
||||
"ports": "Ports",
|
||||
"noPorts": "No ports",
|
||||
"start": "Start",
|
||||
"stop": "Stop",
|
||||
"status": "Status",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"confirmRemoveContainer": "Are you sure you want to remove the container '{{name}}'? This action cannot be undone.",
|
||||
"runningContainerWarning": "Warning: This container is currently running. Removing it will stop the container first.",
|
||||
"loadingContainers": "Loading containers...",
|
||||
"manager": "Docker Manager",
|
||||
"autoRefresh": "Auto Refresh",
|
||||
"timestamps": "Timestamps",
|
||||
"lines": "Lines",
|
||||
"filterLogs": "Filter logs...",
|
||||
"refresh": "Refresh",
|
||||
"download": "Download",
|
||||
"clear": "Clear",
|
||||
"logsDownloaded": "Logs downloaded successfully",
|
||||
"last50": "Last 50",
|
||||
"last100": "Last 100",
|
||||
"last500": "Last 500",
|
||||
"last1000": "Last 1000",
|
||||
"allLogs": "All Logs",
|
||||
"noLogsMatching": "No logs matching \"{{query}}\"",
|
||||
"noLogsAvailable": "No logs available",
|
||||
"noContainersFound": "No containers found",
|
||||
"noContainersFoundHint": "No Docker containers are available on this host",
|
||||
"searchPlaceholder": "Search containers...",
|
||||
"allStatuses": "All Statuses",
|
||||
"stateRunning": "Running",
|
||||
"statePaused": "Paused",
|
||||
"stateExited": "Exited",
|
||||
"stateRestarting": "Restarting",
|
||||
"noContainersMatchFilters": "No containers match your filters",
|
||||
"noContainersMatchFiltersHint": "Try adjusting your search or filter criteria",
|
||||
"failedToFetchStats": "Failed to fetch container statistics",
|
||||
"containerNotRunning": "Container not running",
|
||||
"startContainerToViewStats": "Start the container to view statistics",
|
||||
"loadingStats": "Loading statistics...",
|
||||
"errorLoadingStats": "Error loading statistics",
|
||||
"noStatsAvailable": "No statistics available",
|
||||
"cpuUsage": "CPU Usage",
|
||||
"current": "Current",
|
||||
"memoryUsage": "Memory Usage",
|
||||
"networkIo": "Network I/O",
|
||||
"input": "Input",
|
||||
"output": "Output",
|
||||
"blockIo": "Block I/O",
|
||||
"read": "Read",
|
||||
"write": "Write",
|
||||
"pids": "PIDs",
|
||||
"containerInformation": "Container Information",
|
||||
"name": "Name",
|
||||
"id": "ID",
|
||||
"state": "State",
|
||||
"containerMustBeRunning": "Container must be running to access console",
|
||||
"verificationCodePrompt": "Enter verification code",
|
||||
"totpVerificationFailed": "TOTP verification failed. Please try again.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"connectedTo": "Connected to {{containerName}}",
|
||||
"disconnected": "Disconnected",
|
||||
"consoleError": "Console error",
|
||||
"errorMessage": "Error: {{message}}",
|
||||
"failedToConnect": "Failed to connect to container",
|
||||
"console": "Console",
|
||||
"selectShell": "Select shell",
|
||||
"bash": "Bash",
|
||||
"sh": "sh",
|
||||
"ash": "ash",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"notConnected": "Not connected",
|
||||
"clickToConnect": "Click connect to start a shell session",
|
||||
"connectingTo": "Connecting to {{containerName}}...",
|
||||
"containerNotFound": "Container not found",
|
||||
"backToList": "Back to List",
|
||||
"logs": "Logs",
|
||||
"stats": "Stats",
|
||||
"consoleTab": "Console",
|
||||
"startContainerToAccess": "Start the container to access the console",
|
||||
"noHostSelected": "No host selected",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"connectionFailed": "Повезивање са Докером није успело",
|
||||
"containerStarted": "Контејнер {{name}} је покренут",
|
||||
"failedToStartContainer": "Покретање контејнера {{name}} није успело",
|
||||
"containerStopped": "Контејнер {{name}} је заустављен",
|
||||
"failedToStopContainer": "Заустављање контејнера {{name}} није успело",
|
||||
"containerRestarted": "Контејнер {{name}} поново покренут",
|
||||
"failedToRestartContainer": "Поновно покретање контејнера није успело {{name}}",
|
||||
"containerPaused": "Контејнер {{name}} је паузиран",
|
||||
"containerUnpaused": "Паузирање контејнера {{name}} је прекинуто",
|
||||
"failedToTogglePauseContainer": "Није успело пребацивање стања паузе за контејнер {{name}}",
|
||||
"containerRemoved": "Контејнер {{name}} је уклоњен",
|
||||
"failedToRemoveContainer": "Није успело уклањање контејнера {{name}}",
|
||||
"image": "Слика",
|
||||
"ports": "Портови",
|
||||
"noPorts": "Нема портова",
|
||||
"start": "Почетак",
|
||||
"stop": "Заустави",
|
||||
"status": "Статус",
|
||||
"actions": "Акције",
|
||||
"cardView": "Приказ картице",
|
||||
"listView": "Приказ листе",
|
||||
"confirmRemoveContainer": "Да ли сте сигурни да желите да уклоните контејнер „{{name}}“? Ова радња се не може поништити.",
|
||||
"runningContainerWarning": "Упозорење: Овај контејнер је тренутно покренут. Његово уклањање ће прво зауставити рад контејнера.",
|
||||
"loadingContainers": "Учитавање контејнера...",
|
||||
"manager": "Докер менаџер",
|
||||
"autoRefresh": "Аутоматско освежавање",
|
||||
"timestamps": "Временске ознаке",
|
||||
"lines": "Линије",
|
||||
"filterLogs": "Филтрирај логове...",
|
||||
"refresh": "Освежи",
|
||||
"download": "Преузми",
|
||||
"clear": "Јасно",
|
||||
"logsDownloaded": "Дневници су успешно преузети",
|
||||
"last50": "Последњих 50",
|
||||
"last100": "Последњих 100",
|
||||
"last500": "Последњих 500",
|
||||
"last1000": "Последњих 1000",
|
||||
"allLogs": "Сви дневници",
|
||||
"noLogsMatching": "Нема логова који одговарају „{{query}}“",
|
||||
"noLogsAvailable": "Нема доступних логова",
|
||||
"noContainersFound": "Нису пронађени контејнери",
|
||||
"noContainersFoundHint": "На овом хосту нису доступни Docker контејнери",
|
||||
"searchPlaceholder": "Претражи контејнере...",
|
||||
"allStatuses": "Сви статуси",
|
||||
"stateRunning": "Трчање",
|
||||
"statePaused": "Паузирано",
|
||||
"stateExited": "Изашао/ла",
|
||||
"stateRestarting": "Поновно покретање",
|
||||
"noContainersMatchFilters": "Ниједан контејнер не одговара вашим филтерима",
|
||||
"noContainersMatchFiltersHint": "Покушајте да прилагодите критеријуме претраге или филтрирања",
|
||||
"failedToFetchStats": "Није успело преузимање статистике контејнера",
|
||||
"containerNotRunning": "Контејнер се не покреће",
|
||||
"startContainerToViewStats": "Покрените контејнер да бисте видели статистику",
|
||||
"loadingStats": "Учитавање статистике...",
|
||||
"errorLoadingStats": "Грешка при учитавању статистике",
|
||||
"noStatsAvailable": "Нема доступних статистика",
|
||||
"cpuUsage": "Искоришћеност процесора",
|
||||
"current": "Тренутни",
|
||||
"memoryUsage": "Коришћење меморије",
|
||||
"networkIo": "Мрежни улаз/излаз",
|
||||
"input": "Унос",
|
||||
"output": "Излаз",
|
||||
"blockIo": "Блок У/И",
|
||||
"read": "Читај",
|
||||
"write": "Пиши",
|
||||
"pids": "ПИД-ови",
|
||||
"containerInformation": "Информације о контејнеру",
|
||||
"name": "Име",
|
||||
"id": "ИД",
|
||||
"state": "Држава",
|
||||
"containerMustBeRunning": "Контејнер мора бити покренут да би се приступило конзоли",
|
||||
"verificationCodePrompt": "Унесите верификациони код",
|
||||
"totpVerificationFailed": "Верификација TOTP-а није успела. Молимо покушајте поново.",
|
||||
"browserSignInFailed": "Пријављивање није успело. Молимо покушајте поново.",
|
||||
"connectedTo": "Повезано са {{containerName}}",
|
||||
"disconnected": "Искључено",
|
||||
"consoleError": "Грешка конзоле",
|
||||
"errorMessage": "Грешка: {{message}}",
|
||||
"failedToConnect": "Повезивање са контејнером није успело",
|
||||
"console": "Конзола",
|
||||
"selectShell": "Изаберите љуску",
|
||||
"bash": "Баш",
|
||||
"sh": "ш",
|
||||
"ash": "пепео",
|
||||
"connect": "Повежи се",
|
||||
"disconnect": "Прекини везу",
|
||||
"notConnected": "Није повезано",
|
||||
"clickToConnect": "Кликните на повезивање да бисте покренули сесију шкољке",
|
||||
"connectingTo": "Повезивање са {{containerName}}...",
|
||||
"containerNotFound": "Контејнер није пронађен",
|
||||
"backToList": "Назад на листу",
|
||||
"logs": "Дневници",
|
||||
"stats": "Статистика",
|
||||
"consoleTab": "Конзола",
|
||||
"startContainerToAccess": "Покрените контејнер да бисте приступили конзоли",
|
||||
"noHostSelected": "Није изабран домаћин",
|
||||
"failedToFetchLogs": "Није успело преузимање логова: {{error}}",
|
||||
"failedToDownloadLogs": "Није успело преузимање логова: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
"docker": "Докер"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker": "Докер",
|
||||
"feature_docker_desc": "Погледајте контејнере, читајте логове и пратите статистику на било ком хосту који користи Docker."
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Retry",
|
||||
"clipboardReadFailed": "Failed to read from clipboard. Make sure clipboard permissions are granted.",
|
||||
"clipboardWriteFailed": "Failed to copy to clipboard. Make sure the page is served over HTTPS or localhost."
|
||||
"retry": "Покушај поново",
|
||||
"clipboardReadFailed": "Читање из међуспремника није успело. Уверите се да су дозволе за међуспремник одобрене.",
|
||||
"clipboardWriteFailed": "Копирање у међуспремник није успело. Уверите се да се страница приказује преко HTTPS-а или localhost-а."
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Користите Докер",
|
||||
"description": "Отворите Docker менаџер и конзоле контејнера на хостовима са омогућеним Docker-ом."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Enable Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"label": "Омогући Докер",
|
||||
"description": "Управљајте контејнерима на овом хосту."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Container Runtime",
|
||||
"description": "Choose the CLI used for container management on this host",
|
||||
"docker": "Docker",
|
||||
"podman": "Podman"
|
||||
"label": "Време извршавања контејнера",
|
||||
"description": "Изаберите CLI који се користи за управљање контејнерима на овом хосту",
|
||||
"docker": "Докер",
|
||||
"podman": "Подман"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "Потребан је удаљени сервер. Повежите се са удаљеним сервером у Подешавањима да бисте користили овај тип везе."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"hostNotFound": "Host not found",
|
||||
"loadingHost": "Loading host..."
|
||||
"docsLink": "Прикажи документе",
|
||||
"hostNotFound": "Хост није пронађен",
|
||||
"loadingHost": "Учитавање хоста..."
|
||||
}
|
||||
}
|
||||
@@ -1,147 +1,147 @@
|
||||
{
|
||||
"docker": {
|
||||
"notEnabled": "Docker is not enabled for this host",
|
||||
"validating": "Validating Docker...",
|
||||
"connecting": "Connecting...",
|
||||
"error": "Error",
|
||||
"notEnabled": "Docker är inte aktiverat för den här värden",
|
||||
"validating": "Validerar Docker...",
|
||||
"connecting": "Ansluter...",
|
||||
"error": "Fel",
|
||||
"version": "{{runtime}} {{version}}",
|
||||
"connectionFailed": "Failed to connect to Docker",
|
||||
"containerStarted": "Container {{name}} started",
|
||||
"failedToStartContainer": "Failed to start container {{name}}",
|
||||
"containerStopped": "Container {{name}} stopped",
|
||||
"failedToStopContainer": "Failed to stop container {{name}}",
|
||||
"containerRestarted": "Container {{name}} restarted",
|
||||
"failedToRestartContainer": "Failed to restart container {{name}}",
|
||||
"containerPaused": "Container {{name}} paused",
|
||||
"containerUnpaused": "Container {{name}} unpaused",
|
||||
"failedToTogglePauseContainer": "Failed to toggle pause state for container {{name}}",
|
||||
"containerRemoved": "Container {{name}} removed",
|
||||
"failedToRemoveContainer": "Failed to remove container {{name}}",
|
||||
"image": "Image",
|
||||
"ports": "Ports",
|
||||
"noPorts": "No ports",
|
||||
"connectionFailed": "Misslyckades med att ansluta till Docker",
|
||||
"containerStarted": "Behållaren {{name}} startad",
|
||||
"failedToStartContainer": "Misslyckades med att starta containern {{name}}",
|
||||
"containerStopped": "Behållaren {{name}} har stoppats",
|
||||
"failedToStopContainer": "Misslyckades med att stoppa containern {{name}}",
|
||||
"containerRestarted": "Behållaren {{name}} har startats om",
|
||||
"failedToRestartContainer": "Misslyckades med att starta om behållaren {{name}}",
|
||||
"containerPaused": "Behållaren {{name}} pausad",
|
||||
"containerUnpaused": "Behållaren {{name}} har återupptagits",
|
||||
"failedToTogglePauseContainer": "Misslyckades med att växla pausläge för container {{name}}",
|
||||
"containerRemoved": "Behållaren {{name}} har tagits bort",
|
||||
"failedToRemoveContainer": "Misslyckades med att ta bort behållaren {{name}}",
|
||||
"image": "Bild",
|
||||
"ports": "Hamnar",
|
||||
"noPorts": "Inga portar",
|
||||
"start": "Start",
|
||||
"stop": "Stop",
|
||||
"stop": "Stopp",
|
||||
"status": "Status",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"confirmRemoveContainer": "Are you sure you want to remove the container '{{name}}'? This action cannot be undone.",
|
||||
"runningContainerWarning": "Warning: This container is currently running. Removing it will stop the container first.",
|
||||
"loadingContainers": "Loading containers...",
|
||||
"actions": "Åtgärder",
|
||||
"cardView": "Kortvy",
|
||||
"listView": "Listvy",
|
||||
"confirmRemoveContainer": "Är du säker på att du vill ta bort behållaren '{{name}}'? Den här åtgärden kan inte ångras.",
|
||||
"runningContainerWarning": "Varning: Den här behållaren körs för närvarande. Om du tar bort den stoppas behållaren först.",
|
||||
"loadingContainers": "Lastar containrar...",
|
||||
"manager": "Docker Manager",
|
||||
"autoRefresh": "Auto Refresh",
|
||||
"timestamps": "Timestamps",
|
||||
"lines": "Lines",
|
||||
"filterLogs": "Filter logs...",
|
||||
"refresh": "Refresh",
|
||||
"download": "Download",
|
||||
"clear": "Clear",
|
||||
"logsDownloaded": "Logs downloaded successfully",
|
||||
"last50": "Last 50",
|
||||
"last100": "Last 100",
|
||||
"last500": "Last 500",
|
||||
"last1000": "Last 1000",
|
||||
"allLogs": "All Logs",
|
||||
"noLogsMatching": "No logs matching \"{{query}}\"",
|
||||
"noLogsAvailable": "No logs available",
|
||||
"noContainersFound": "No containers found",
|
||||
"noContainersFoundHint": "No Docker containers are available on this host",
|
||||
"searchPlaceholder": "Search containers...",
|
||||
"allStatuses": "All Statuses",
|
||||
"stateRunning": "Running",
|
||||
"statePaused": "Paused",
|
||||
"stateExited": "Exited",
|
||||
"stateRestarting": "Restarting",
|
||||
"noContainersMatchFilters": "No containers match your filters",
|
||||
"noContainersMatchFiltersHint": "Try adjusting your search or filter criteria",
|
||||
"failedToFetchStats": "Failed to fetch container statistics",
|
||||
"containerNotRunning": "Container not running",
|
||||
"startContainerToViewStats": "Start the container to view statistics",
|
||||
"loadingStats": "Loading statistics...",
|
||||
"errorLoadingStats": "Error loading statistics",
|
||||
"noStatsAvailable": "No statistics available",
|
||||
"cpuUsage": "CPU Usage",
|
||||
"current": "Current",
|
||||
"memoryUsage": "Memory Usage",
|
||||
"networkIo": "Network I/O",
|
||||
"autoRefresh": "Automatisk uppdatering",
|
||||
"timestamps": "Tidsstämplar",
|
||||
"lines": "Rader",
|
||||
"filterLogs": "Filtrera loggar...",
|
||||
"refresh": "Uppdatera",
|
||||
"download": "Ladda ner",
|
||||
"clear": "Rensa",
|
||||
"logsDownloaded": "Loggarna har laddats ner",
|
||||
"last50": "Senaste 50",
|
||||
"last100": "Senaste 100",
|
||||
"last500": "Senaste 500",
|
||||
"last1000": "Senaste 1000",
|
||||
"allLogs": "Alla loggar",
|
||||
"noLogsMatching": "Inga loggar som matchar \"{{query}}\"",
|
||||
"noLogsAvailable": "Inga loggar tillgängliga",
|
||||
"noContainersFound": "Inga containrar hittades",
|
||||
"noContainersFoundHint": "Inga Docker-containrar är tillgängliga på den här värden",
|
||||
"searchPlaceholder": "Sök behållare...",
|
||||
"allStatuses": "Alla statusar",
|
||||
"stateRunning": "Spring",
|
||||
"statePaused": "Pausad",
|
||||
"stateExited": "Avslutad",
|
||||
"stateRestarting": "Omstart",
|
||||
"noContainersMatchFilters": "Inga behållare matchar dina filter",
|
||||
"noContainersMatchFiltersHint": "Försök att justera dina sök- eller filterkriterier",
|
||||
"failedToFetchStats": "Misslyckades med att hämta containerstatistik",
|
||||
"containerNotRunning": "Behållaren körs inte",
|
||||
"startContainerToViewStats": "Starta containern för att visa statistik",
|
||||
"loadingStats": "Laddar statistik...",
|
||||
"errorLoadingStats": "Fel vid inläsning av statistik",
|
||||
"noStatsAvailable": "Ingen statistik tillgänglig",
|
||||
"cpuUsage": "CPU-användning",
|
||||
"current": "Nuvarande",
|
||||
"memoryUsage": "Minnesanvändning",
|
||||
"networkIo": "Nätverks-I/O",
|
||||
"input": "Input",
|
||||
"output": "Output",
|
||||
"blockIo": "Block I/O",
|
||||
"read": "Read",
|
||||
"write": "Write",
|
||||
"pids": "PIDs",
|
||||
"containerInformation": "Container Information",
|
||||
"name": "Name",
|
||||
"output": "Produktion",
|
||||
"blockIo": "Blockera I/O",
|
||||
"read": "Läsa",
|
||||
"write": "Skriva",
|
||||
"pids": "PID:er",
|
||||
"containerInformation": "Containerinformation",
|
||||
"name": "Namn",
|
||||
"id": "ID",
|
||||
"state": "State",
|
||||
"containerMustBeRunning": "Container must be running to access console",
|
||||
"verificationCodePrompt": "Enter verification code",
|
||||
"totpVerificationFailed": "TOTP verification failed. Please try again.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"connectedTo": "Connected to {{containerName}}",
|
||||
"disconnected": "Disconnected",
|
||||
"consoleError": "Console error",
|
||||
"errorMessage": "Error: {{message}}",
|
||||
"failedToConnect": "Failed to connect to container",
|
||||
"console": "Console",
|
||||
"selectShell": "Select shell",
|
||||
"bash": "Bash",
|
||||
"state": "Ange",
|
||||
"containerMustBeRunning": "Behållaren måste köras för att komma åt konsolen",
|
||||
"verificationCodePrompt": "Ange verifieringskod",
|
||||
"totpVerificationFailed": "TOTP-verifieringen misslyckades. Försök igen.",
|
||||
"browserSignInFailed": "Inloggningen misslyckades. Försök igen.",
|
||||
"connectedTo": "Ansluten till {{containerName}}",
|
||||
"disconnected": "Osammanhängande",
|
||||
"consoleError": "Konsolfel",
|
||||
"errorMessage": "Fel: {{message}}",
|
||||
"failedToConnect": "Misslyckades med att ansluta till containern",
|
||||
"console": "Trösta",
|
||||
"selectShell": "Välj skal",
|
||||
"bash": "Våldsamt slag",
|
||||
"sh": "sh",
|
||||
"ash": "ash",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"notConnected": "Not connected",
|
||||
"clickToConnect": "Click connect to start a shell session",
|
||||
"connectingTo": "Connecting to {{containerName}}...",
|
||||
"containerNotFound": "Container not found",
|
||||
"backToList": "Back to List",
|
||||
"logs": "Logs",
|
||||
"stats": "Stats",
|
||||
"consoleTab": "Console",
|
||||
"startContainerToAccess": "Start the container to access the console",
|
||||
"noHostSelected": "No host selected",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"ash": "aska",
|
||||
"connect": "Ansluta",
|
||||
"disconnect": "Koppla från",
|
||||
"notConnected": "Inte ansluten",
|
||||
"clickToConnect": "Klicka på Anslut för att starta en shell-session",
|
||||
"connectingTo": "Ansluter till {{containerName}}...",
|
||||
"containerNotFound": "Behållaren hittades inte",
|
||||
"backToList": "Tillbaka till listan",
|
||||
"logs": "Loggar",
|
||||
"stats": "Statistik",
|
||||
"consoleTab": "Trösta",
|
||||
"startContainerToAccess": "Starta containern för att komma åt konsolen",
|
||||
"noHostSelected": "Ingen värd vald",
|
||||
"failedToFetchLogs": "Misslyckades med att hämta loggar: {{error}}",
|
||||
"failedToDownloadLogs": "Misslyckades med att ladda ner loggar: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
"docker": "Hamnarbetare"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker": "Hamnarbetare",
|
||||
"feature_docker_desc": "Se containrar, läs loggar och titta på statistik för alla värdar som kör Docker."
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Retry",
|
||||
"clipboardReadFailed": "Failed to read from clipboard. Make sure clipboard permissions are granted.",
|
||||
"clipboardWriteFailed": "Failed to copy to clipboard. Make sure the page is served over HTTPS or localhost."
|
||||
"retry": "Försöka igen",
|
||||
"clipboardReadFailed": "Kunde inte läsa från urklipp. Kontrollera att behörigheter för urklipp är beviljade.",
|
||||
"clipboardWriteFailed": "Kunde inte kopiera till urklipp. Kontrollera att sidan serveras via HTTPS eller localhost."
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Använd Docker",
|
||||
"description": "Öppna Docker-hanteraren och containerkonsolerna på värdar med Docker aktiverat."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Enable Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"label": "Aktivera Docker",
|
||||
"description": "Hantera containrar på den här värden."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Container Runtime",
|
||||
"description": "Choose the CLI used for container management on this host",
|
||||
"docker": "Docker",
|
||||
"label": "Containerkörningstid",
|
||||
"description": "Välj det CRI som används för containerhantering på den här värden",
|
||||
"docker": "Hamnarbetare",
|
||||
"podman": "Podman"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "Fjärrserver krävs. Anslut en fjärrserver i Inställningar för att använda den här anslutningstypen."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"hostNotFound": "Host not found",
|
||||
"loadingHost": "Loading host..."
|
||||
"docsLink": "Visa dokument",
|
||||
"hostNotFound": "Värden hittades inte",
|
||||
"loadingHost": "Laddar värd..."
|
||||
}
|
||||
}
|
||||
@@ -1,147 +1,147 @@
|
||||
{
|
||||
"docker": {
|
||||
"notEnabled": "Docker is not enabled for this host",
|
||||
"validating": "Validating Docker...",
|
||||
"connecting": "Connecting...",
|
||||
"error": "Error",
|
||||
"notEnabled": "Docker ไม่ได้เปิดใช้งานสำหรับโฮสต์นี้",
|
||||
"validating": "กำลังตรวจสอบความถูกต้องของ Docker...",
|
||||
"connecting": "กำลังเชื่อมต่อ...",
|
||||
"error": "ข้อผิดพลาด",
|
||||
"version": "{{runtime}} {{version}}",
|
||||
"connectionFailed": "Failed to connect to Docker",
|
||||
"containerStarted": "Container {{name}} started",
|
||||
"failedToStartContainer": "Failed to start container {{name}}",
|
||||
"containerStopped": "Container {{name}} stopped",
|
||||
"failedToStopContainer": "Failed to stop container {{name}}",
|
||||
"containerRestarted": "Container {{name}} restarted",
|
||||
"failedToRestartContainer": "Failed to restart container {{name}}",
|
||||
"containerPaused": "Container {{name}} paused",
|
||||
"containerUnpaused": "Container {{name}} unpaused",
|
||||
"failedToTogglePauseContainer": "Failed to toggle pause state for container {{name}}",
|
||||
"containerRemoved": "Container {{name}} removed",
|
||||
"failedToRemoveContainer": "Failed to remove container {{name}}",
|
||||
"image": "Image",
|
||||
"ports": "Ports",
|
||||
"noPorts": "No ports",
|
||||
"start": "Start",
|
||||
"stop": "Stop",
|
||||
"status": "Status",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"confirmRemoveContainer": "Are you sure you want to remove the container '{{name}}'? This action cannot be undone.",
|
||||
"runningContainerWarning": "Warning: This container is currently running. Removing it will stop the container first.",
|
||||
"loadingContainers": "Loading containers...",
|
||||
"manager": "Docker Manager",
|
||||
"autoRefresh": "Auto Refresh",
|
||||
"timestamps": "Timestamps",
|
||||
"lines": "Lines",
|
||||
"filterLogs": "Filter logs...",
|
||||
"refresh": "Refresh",
|
||||
"download": "Download",
|
||||
"clear": "Clear",
|
||||
"logsDownloaded": "Logs downloaded successfully",
|
||||
"last50": "Last 50",
|
||||
"last100": "Last 100",
|
||||
"last500": "Last 500",
|
||||
"last1000": "Last 1000",
|
||||
"allLogs": "All Logs",
|
||||
"noLogsMatching": "No logs matching \"{{query}}\"",
|
||||
"noLogsAvailable": "No logs available",
|
||||
"noContainersFound": "No containers found",
|
||||
"noContainersFoundHint": "No Docker containers are available on this host",
|
||||
"searchPlaceholder": "Search containers...",
|
||||
"allStatuses": "All Statuses",
|
||||
"stateRunning": "Running",
|
||||
"statePaused": "Paused",
|
||||
"stateExited": "Exited",
|
||||
"stateRestarting": "Restarting",
|
||||
"noContainersMatchFilters": "No containers match your filters",
|
||||
"noContainersMatchFiltersHint": "Try adjusting your search or filter criteria",
|
||||
"failedToFetchStats": "Failed to fetch container statistics",
|
||||
"containerNotRunning": "Container not running",
|
||||
"startContainerToViewStats": "Start the container to view statistics",
|
||||
"loadingStats": "Loading statistics...",
|
||||
"errorLoadingStats": "Error loading statistics",
|
||||
"noStatsAvailable": "No statistics available",
|
||||
"cpuUsage": "CPU Usage",
|
||||
"current": "Current",
|
||||
"memoryUsage": "Memory Usage",
|
||||
"networkIo": "Network I/O",
|
||||
"input": "Input",
|
||||
"output": "Output",
|
||||
"blockIo": "Block I/O",
|
||||
"read": "Read",
|
||||
"write": "Write",
|
||||
"connectionFailed": "ไม่สามารถเชื่อมต่อกับ Docker ได้",
|
||||
"containerStarted": "คอนเทนเนอร์ {{name}} เริ่มทำงานแล้ว",
|
||||
"failedToStartContainer": "ไม่สามารถเริ่มต้นคอนเทนเนอร์ได้ {{name}}",
|
||||
"containerStopped": "คอนเทนเนอร์ {{name}} หยุดทำงานแล้ว",
|
||||
"failedToStopContainer": "ไม่สามารถหยุดคอนเทนเนอร์ได้ {{name}}",
|
||||
"containerRestarted": "คอนเทนเนอร์ {{name}} รีสตาร์ทแล้ว",
|
||||
"failedToRestartContainer": "ไม่สามารถรีสตาร์ทคอนเทนเนอร์ได้ {{name}}",
|
||||
"containerPaused": "คอนเทนเนอร์ {{name}} หยุดชั่วคราว",
|
||||
"containerUnpaused": "คอนเทนเนอร์ {{name}} ยกเลิกการหยุดชั่วคราว",
|
||||
"failedToTogglePauseContainer": "ไม่สามารถสลับสถานะหยุดชั่วคราวสำหรับคอนเทนเนอร์ {{name}} ได้",
|
||||
"containerRemoved": "คอนเทนเนอร์ {{name}} ถูกลบออกแล้ว",
|
||||
"failedToRemoveContainer": "ไม่สามารถลบคอนเทนเนอร์ {{name}} ได้",
|
||||
"image": "ภาพ",
|
||||
"ports": "ท่าเรือ",
|
||||
"noPorts": "ไม่มีพอร์ต",
|
||||
"start": "เริ่ม",
|
||||
"stop": "หยุด",
|
||||
"status": "สถานะ",
|
||||
"actions": "การกระทำ",
|
||||
"cardView": "มุมมองการ์ด",
|
||||
"listView": "มุมมองรายการ",
|
||||
"confirmRemoveContainer": "คุณแน่ใจหรือไม่ว่าต้องการลบคอนเทนเนอร์ '{{name}}'? การกระทำนี้ไม่สามารถย้อนกลับได้",
|
||||
"runningContainerWarning": "คำเตือน: ขณะนี้คอนเทนเนอร์นี้กำลังทำงานอยู่ การลบคอนเทนเนอร์นี้จะหยุดการทำงานของคอนเทนเนอร์ก่อน",
|
||||
"loadingContainers": "กำลังขนถ่ายตู้คอนเทนเนอร์...",
|
||||
"manager": "ตัวจัดการ Docker",
|
||||
"autoRefresh": "รีเฟรชอัตโนมัติ",
|
||||
"timestamps": "ไทม์สแตมป์",
|
||||
"lines": "เส้น",
|
||||
"filterLogs": "กรองบันทึก...",
|
||||
"refresh": "รีเฟรช",
|
||||
"download": "ดาวน์โหลด",
|
||||
"clear": "ชัดเจน",
|
||||
"logsDownloaded": "ดาวน์โหลดบันทึกข้อมูลสำเร็จแล้ว",
|
||||
"last50": "50 ครั้งสุดท้าย",
|
||||
"last100": "100 ปีที่แล้ว",
|
||||
"last500": "500 ครั้งสุดท้าย",
|
||||
"last1000": "1000 ครั้งสุดท้าย",
|
||||
"allLogs": "บันทึกทั้งหมด",
|
||||
"noLogsMatching": "ไม่พบบันทึกใดที่ตรงกับ \"{{query}}\"",
|
||||
"noLogsAvailable": "ไม่มีบันทึกข้อมูล",
|
||||
"noContainersFound": "ไม่พบภาชนะบรรจุใดๆ",
|
||||
"noContainersFoundHint": "ไม่มีคอนเทนเนอร์ Docker ให้บริการบนโฮสต์นี้",
|
||||
"searchPlaceholder": "ค้นหาตู้คอนเทนเนอร์...",
|
||||
"allStatuses": "สถานะทั้งหมด",
|
||||
"stateRunning": "วิ่ง",
|
||||
"statePaused": "หยุดชั่วคราว",
|
||||
"stateExited": "ออกแล้ว",
|
||||
"stateRestarting": "เริ่มใหม่",
|
||||
"noContainersMatchFilters": "ไม่มีภาชนะใดตรงกับตัวกรองของคุณ",
|
||||
"noContainersMatchFiltersHint": "ลองปรับเกณฑ์การค้นหาหรือตัวกรองของคุณดู",
|
||||
"failedToFetchStats": "ไม่สามารถดึงข้อมูลสถิติของคอนเทนเนอร์ได้",
|
||||
"containerNotRunning": "คอนเทนเนอร์ไม่ทำงาน",
|
||||
"startContainerToViewStats": "เริ่มคอนเทนเนอร์เพื่อดูสถิติ",
|
||||
"loadingStats": "กำลังโหลดสถิติ...",
|
||||
"errorLoadingStats": "ข้อผิดพลาดในการโหลดสถิติ",
|
||||
"noStatsAvailable": "ไม่มีสถิติให้ดู",
|
||||
"cpuUsage": "การใช้งาน CPU",
|
||||
"current": "ปัจจุบัน",
|
||||
"memoryUsage": "การใช้งานหน่วยความจำ",
|
||||
"networkIo": "อินพุต/เอาต์พุตเครือข่าย",
|
||||
"input": "ป้อนข้อมูล",
|
||||
"output": "เอาต์พุต",
|
||||
"blockIo": "บล็อก I/O",
|
||||
"read": "อ่าน",
|
||||
"write": "เขียน",
|
||||
"pids": "PIDs",
|
||||
"containerInformation": "Container Information",
|
||||
"name": "Name",
|
||||
"id": "ID",
|
||||
"state": "State",
|
||||
"containerMustBeRunning": "Container must be running to access console",
|
||||
"verificationCodePrompt": "Enter verification code",
|
||||
"totpVerificationFailed": "TOTP verification failed. Please try again.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"connectedTo": "Connected to {{containerName}}",
|
||||
"disconnected": "Disconnected",
|
||||
"consoleError": "Console error",
|
||||
"errorMessage": "Error: {{message}}",
|
||||
"failedToConnect": "Failed to connect to container",
|
||||
"console": "Console",
|
||||
"selectShell": "Select shell",
|
||||
"bash": "Bash",
|
||||
"sh": "sh",
|
||||
"ash": "ash",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"notConnected": "Not connected",
|
||||
"clickToConnect": "Click connect to start a shell session",
|
||||
"connectingTo": "Connecting to {{containerName}}...",
|
||||
"containerNotFound": "Container not found",
|
||||
"backToList": "Back to List",
|
||||
"logs": "Logs",
|
||||
"stats": "Stats",
|
||||
"consoleTab": "Console",
|
||||
"startContainerToAccess": "Start the container to access the console",
|
||||
"noHostSelected": "No host selected",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"containerInformation": "ข้อมูลเกี่ยวกับตู้คอนเทนเนอร์",
|
||||
"name": "ชื่อ",
|
||||
"id": "รหัสประจำตัว",
|
||||
"state": "สถานะ",
|
||||
"containerMustBeRunning": "ต้องรอให้คอนเทนเนอร์ทำงานอยู่จึงจะสามารถเข้าถึงคอนโซลได้",
|
||||
"verificationCodePrompt": "ป้อนรหัสยืนยัน",
|
||||
"totpVerificationFailed": "การตรวจสอบ TOTP ล้มเหลว โปรดลองอีกครั้ง",
|
||||
"browserSignInFailed": "การเข้าสู่ระบบล้มเหลว โปรดลองใหม่อีกครั้ง",
|
||||
"connectedTo": "เชื่อมต่อกับ {{containerName}}",
|
||||
"disconnected": "ตัดการเชื่อมต่อ",
|
||||
"consoleError": "ข้อผิดพลาดของคอนโซล",
|
||||
"errorMessage": "ข้อผิดพลาด: {{message}}",
|
||||
"failedToConnect": "ไม่สามารถเชื่อมต่อกับคอนเทนเนอร์ได้",
|
||||
"console": "คอนโซล",
|
||||
"selectShell": "เลือกเปลือกหอย",
|
||||
"bash": "ทุบตี",
|
||||
"sh": "ช",
|
||||
"ash": "เถ้า",
|
||||
"connect": "เชื่อมต่อ",
|
||||
"disconnect": "ตัดการเชื่อมต่อ",
|
||||
"notConnected": "ไม่ได้เชื่อมต่อ",
|
||||
"clickToConnect": "คลิกเชื่อมต่อเพื่อเริ่มเซสชันเชลล์",
|
||||
"connectingTo": "กำลังเชื่อมต่อกับ {{containerName}}...",
|
||||
"containerNotFound": "ไม่พบคอนเทนเนอร์",
|
||||
"backToList": "กลับสู่รายการ",
|
||||
"logs": "บันทึก",
|
||||
"stats": "สถิติ",
|
||||
"consoleTab": "คอนโซล",
|
||||
"startContainerToAccess": "เริ่มคอนเทนเนอร์เพื่อเข้าถึงคอนโซล",
|
||||
"noHostSelected": "ไม่ได้เลือกโฮสต์",
|
||||
"failedToFetchLogs": "ไม่สามารถดึงข้อมูลบันทึกได้: {{error}}",
|
||||
"failedToDownloadLogs": "ไม่สามารถดาวน์โหลดบันทึกได้: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
"docker": "ด็อกเกอร์"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker": "ด็อกเกอร์",
|
||||
"feature_docker_desc": "ดูคอนเทนเนอร์ อ่านบันทึก และตรวจสอบสถิติบนโฮสต์ใดก็ได้ที่ใช้งาน Docker"
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Retry",
|
||||
"clipboardReadFailed": "Failed to read from clipboard. Make sure clipboard permissions are granted.",
|
||||
"clipboardWriteFailed": "Failed to copy to clipboard. Make sure the page is served over HTTPS or localhost."
|
||||
"retry": "ลองใหม่อีกครั้ง",
|
||||
"clipboardReadFailed": "ไม่สามารถอ่านข้อมูลจากคลิปบอร์ดได้ โปรดตรวจสอบให้แน่ใจว่าได้ให้สิทธิ์การเข้าถึงคลิปบอร์ดแล้ว",
|
||||
"clipboardWriteFailed": "ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้ โปรดตรวจสอบให้แน่ใจว่าหน้าเว็บนั้นให้บริการผ่าน HTTPS หรือ localhost"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "ใช้ Docker",
|
||||
"description": "เปิดตัวจัดการ Docker และคอนโซลคอนเทนเนอร์บนโฮสต์ที่เปิดใช้งาน Docker ไว้"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Enable Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"label": "เปิดใช้งาน Docker",
|
||||
"description": "จัดการคอนเทนเนอร์บนโฮสต์นี้"
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Container Runtime",
|
||||
"description": "Choose the CLI used for container management on this host",
|
||||
"docker": "Docker",
|
||||
"podman": "Podman"
|
||||
"label": "รันไทม์คอนเทนเนอร์",
|
||||
"description": "เลือก CLI ที่ใช้สำหรับการจัดการคอนเทนเนอร์บนโฮสต์นี้",
|
||||
"docker": "ด็อกเกอร์",
|
||||
"podman": "พอดแมน"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "จำเป็นต้องใช้เซิร์ฟเวอร์ระยะไกล เชื่อมต่อเซิร์ฟเวอร์ระยะไกลในการตั้งค่าเพื่อใช้ประเภทการเชื่อมต่อนี้"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"hostNotFound": "Host not found",
|
||||
"loadingHost": "Loading host..."
|
||||
"docsLink": "ดูเอกสาร",
|
||||
"hostNotFound": "ไม่พบโฮสต์",
|
||||
"loadingHost": "กำลังโหลดโฮสต์..."
|
||||
}
|
||||
}
|
||||
@@ -23,9 +23,9 @@
|
||||
"start": "Başlat",
|
||||
"stop": "Durdurma",
|
||||
"status": "Durum",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"actions": "Eylemler",
|
||||
"cardView": "Kart görünümü",
|
||||
"listView": "Liste görünümü",
|
||||
"confirmRemoveContainer": "'{{name}}' konteynerini kaldırmak istediğinizden emin misiniz? Bu işlem geri alınamaz.",
|
||||
"runningContainerWarning": "Uyarı: Bu konteyner şu anda çalışıyor. Kaldırma işlemi önce konteyneri durduracak.",
|
||||
"loadingContainers": "Konteynerler yükleniyor...",
|
||||
@@ -78,7 +78,7 @@
|
||||
"containerMustBeRunning": "Konsola erişmek için konteyner çalışıyor olmalıdır",
|
||||
"verificationCodePrompt": "Doğrulama kodunu girin",
|
||||
"totpVerificationFailed": "TOTP doğrulaması başarısız oldu. Lütfen tekrar deneyin.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "Giriş başarısız oldu. Lütfen tekrar deneyin.",
|
||||
"connectedTo": "{{containerName}} ile bağlantı kuruldu",
|
||||
"disconnected": "Bağlantı kesildi",
|
||||
"consoleError": "Konsol hatası",
|
||||
@@ -101,15 +101,15 @@
|
||||
"consoleTab": "Konsol",
|
||||
"startContainerToAccess": "Konsola erişmek için konteyneri başlatın",
|
||||
"noHostSelected": "Sunucu seçilmedi",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"failedToFetchLogs": "Günlükleri alma işlemi başarısız oldu: {{error}}",
|
||||
"failedToDownloadLogs": "Günlük dosyaları indirilemedi: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker_desc": "Docker çalıştıran herhangi bir sunucudaki konteynerleri görüntüleyin, günlükleri okuyun ve istatistikleri izleyin."
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Yeniden dene",
|
||||
@@ -118,15 +118,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Docker kullanın",
|
||||
"description": "Docker'ın etkinleştirildiği sunucularda Docker yöneticisini ve kapsayıcı konsollarını açın."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Docker'ı Etkinleştir",
|
||||
"description": "Manage containers on this host."
|
||||
"description": "Bu sunucudaki konteynerleri yönetin."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Kapsayıcı Çalışma Zamanı",
|
||||
@@ -137,7 +137,7 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "Uzak sunucu gereklidir. Bu bağlantı türünü kullanmak için Ayarlar'dan bir uzak sunucu bağlayın."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Dokümanları görüntüle",
|
||||
|
||||
@@ -1,147 +1,147 @@
|
||||
{
|
||||
"docker": {
|
||||
"notEnabled": "Docker is not enabled for this host",
|
||||
"validating": "Validating Docker...",
|
||||
"connecting": "Connecting...",
|
||||
"error": "Error",
|
||||
"notEnabled": "Docker не ввімкнено для цього хоста",
|
||||
"validating": "Перевірка Docker...",
|
||||
"connecting": "Підключення...",
|
||||
"error": "Помилка",
|
||||
"version": "{{runtime}} {{version}}",
|
||||
"connectionFailed": "Failed to connect to Docker",
|
||||
"containerStarted": "Container {{name}} started",
|
||||
"failedToStartContainer": "Failed to start container {{name}}",
|
||||
"containerStopped": "Container {{name}} stopped",
|
||||
"failedToStopContainer": "Failed to stop container {{name}}",
|
||||
"containerRestarted": "Container {{name}} restarted",
|
||||
"failedToRestartContainer": "Failed to restart container {{name}}",
|
||||
"containerPaused": "Container {{name}} paused",
|
||||
"containerUnpaused": "Container {{name}} unpaused",
|
||||
"failedToTogglePauseContainer": "Failed to toggle pause state for container {{name}}",
|
||||
"containerRemoved": "Container {{name}} removed",
|
||||
"failedToRemoveContainer": "Failed to remove container {{name}}",
|
||||
"image": "Image",
|
||||
"ports": "Ports",
|
||||
"noPorts": "No ports",
|
||||
"start": "Start",
|
||||
"stop": "Stop",
|
||||
"status": "Status",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"confirmRemoveContainer": "Are you sure you want to remove the container '{{name}}'? This action cannot be undone.",
|
||||
"runningContainerWarning": "Warning: This container is currently running. Removing it will stop the container first.",
|
||||
"loadingContainers": "Loading containers...",
|
||||
"manager": "Docker Manager",
|
||||
"autoRefresh": "Auto Refresh",
|
||||
"timestamps": "Timestamps",
|
||||
"lines": "Lines",
|
||||
"filterLogs": "Filter logs...",
|
||||
"refresh": "Refresh",
|
||||
"download": "Download",
|
||||
"clear": "Clear",
|
||||
"logsDownloaded": "Logs downloaded successfully",
|
||||
"last50": "Last 50",
|
||||
"last100": "Last 100",
|
||||
"last500": "Last 500",
|
||||
"last1000": "Last 1000",
|
||||
"allLogs": "All Logs",
|
||||
"noLogsMatching": "No logs matching \"{{query}}\"",
|
||||
"noLogsAvailable": "No logs available",
|
||||
"noContainersFound": "No containers found",
|
||||
"noContainersFoundHint": "No Docker containers are available on this host",
|
||||
"searchPlaceholder": "Search containers...",
|
||||
"allStatuses": "All Statuses",
|
||||
"stateRunning": "Running",
|
||||
"statePaused": "Paused",
|
||||
"stateExited": "Exited",
|
||||
"stateRestarting": "Restarting",
|
||||
"noContainersMatchFilters": "No containers match your filters",
|
||||
"noContainersMatchFiltersHint": "Try adjusting your search or filter criteria",
|
||||
"failedToFetchStats": "Failed to fetch container statistics",
|
||||
"containerNotRunning": "Container not running",
|
||||
"startContainerToViewStats": "Start the container to view statistics",
|
||||
"loadingStats": "Loading statistics...",
|
||||
"errorLoadingStats": "Error loading statistics",
|
||||
"noStatsAvailable": "No statistics available",
|
||||
"cpuUsage": "CPU Usage",
|
||||
"current": "Current",
|
||||
"memoryUsage": "Memory Usage",
|
||||
"networkIo": "Network I/O",
|
||||
"input": "Input",
|
||||
"output": "Output",
|
||||
"blockIo": "Block I/O",
|
||||
"read": "Read",
|
||||
"write": "Write",
|
||||
"pids": "PIDs",
|
||||
"containerInformation": "Container Information",
|
||||
"name": "Name",
|
||||
"id": "ID",
|
||||
"state": "State",
|
||||
"containerMustBeRunning": "Container must be running to access console",
|
||||
"verificationCodePrompt": "Enter verification code",
|
||||
"totpVerificationFailed": "TOTP verification failed. Please try again.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"connectedTo": "Connected to {{containerName}}",
|
||||
"disconnected": "Disconnected",
|
||||
"consoleError": "Console error",
|
||||
"errorMessage": "Error: {{message}}",
|
||||
"failedToConnect": "Failed to connect to container",
|
||||
"console": "Console",
|
||||
"selectShell": "Select shell",
|
||||
"bash": "Bash",
|
||||
"sh": "sh",
|
||||
"ash": "ash",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"notConnected": "Not connected",
|
||||
"clickToConnect": "Click connect to start a shell session",
|
||||
"connectingTo": "Connecting to {{containerName}}...",
|
||||
"containerNotFound": "Container not found",
|
||||
"backToList": "Back to List",
|
||||
"logs": "Logs",
|
||||
"stats": "Stats",
|
||||
"consoleTab": "Console",
|
||||
"startContainerToAccess": "Start the container to access the console",
|
||||
"noHostSelected": "No host selected",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"connectionFailed": "Не вдалося підключитися до Docker",
|
||||
"containerStarted": "Контейнер {{name}} запущено",
|
||||
"failedToStartContainer": "Не вдалося запустити контейнер {{name}}",
|
||||
"containerStopped": "Контейнер {{name}} зупинено",
|
||||
"failedToStopContainer": "Не вдалося зупинити контейнер {{name}}",
|
||||
"containerRestarted": "Контейнер {{name}} перезапущено",
|
||||
"failedToRestartContainer": "Не вдалося перезапустити контейнер {{name}}",
|
||||
"containerPaused": "Контейнер {{name}} призупинено",
|
||||
"containerUnpaused": "Контейнер {{name}} відновлено",
|
||||
"failedToTogglePauseContainer": "Не вдалося перемкнути стан паузи для контейнера {{name}}",
|
||||
"containerRemoved": "Контейнер {{name}} видалено",
|
||||
"failedToRemoveContainer": "Не вдалося видалити контейнер {{name}}",
|
||||
"image": "Зображення",
|
||||
"ports": "Порти",
|
||||
"noPorts": "Без портів",
|
||||
"start": "Початок",
|
||||
"stop": "СТІЙ",
|
||||
"status": "Статус",
|
||||
"actions": "Дії",
|
||||
"cardView": "Перегляд картки",
|
||||
"listView": "Список",
|
||||
"confirmRemoveContainer": "Ви впевнені, що хочете видалити контейнер '{{name}}'? Цю дію не можна скасувати.",
|
||||
"runningContainerWarning": "Попередження: Цей контейнер зараз працює. Його видалення спочатку зупинить його роботу.",
|
||||
"loadingContainers": "Завантаження контейнерів...",
|
||||
"manager": "Менеджер Докера",
|
||||
"autoRefresh": "Автоматичне оновлення",
|
||||
"timestamps": "Позначки часу",
|
||||
"lines": "Лінії",
|
||||
"filterLogs": "Фільтрувати журнали...",
|
||||
"refresh": "Оновити",
|
||||
"download": "Завантажити",
|
||||
"clear": "Очистити",
|
||||
"logsDownloaded": "Журнали успішно завантажено",
|
||||
"last50": "Останні 50",
|
||||
"last100": "Останні 100",
|
||||
"last500": "Останні 500",
|
||||
"last1000": "Останні 1000",
|
||||
"allLogs": "Усі журнали",
|
||||
"noLogsMatching": "Немає журналів, що відповідають \"{{query}}\"",
|
||||
"noLogsAvailable": "Журнали недоступні",
|
||||
"noContainersFound": "Контейнерів не знайдено",
|
||||
"noContainersFoundHint": "На цьому хості немає доступних контейнерів Docker",
|
||||
"searchPlaceholder": "Пошук контейнерів...",
|
||||
"allStatuses": "Усі статуси",
|
||||
"stateRunning": "Біг",
|
||||
"statePaused": "Призупинено",
|
||||
"stateExited": "Вихід",
|
||||
"stateRestarting": "Перезапуск",
|
||||
"noContainersMatchFilters": "Немає контейнерів, що відповідають вашим фільтрам",
|
||||
"noContainersMatchFiltersHint": "Спробуйте змінити критерії пошуку або фільтра",
|
||||
"failedToFetchStats": "Не вдалося отримати статистику контейнера",
|
||||
"containerNotRunning": "Контейнер не працює",
|
||||
"startContainerToViewStats": "Запустіть контейнер для перегляду статистики",
|
||||
"loadingStats": "Завантаження статистики...",
|
||||
"errorLoadingStats": "Помилка завантаження статистики",
|
||||
"noStatsAvailable": "Статистика недоступна",
|
||||
"cpuUsage": "Використання процесора",
|
||||
"current": "Поточний",
|
||||
"memoryUsage": "Використання пам'яті",
|
||||
"networkIo": "Мережевий ввід/вивід",
|
||||
"input": "Вхід",
|
||||
"output": "Вихід",
|
||||
"blockIo": "Блок вводу/виводу",
|
||||
"read": "Читати",
|
||||
"write": "Написати",
|
||||
"pids": "PID-ідентифікатори",
|
||||
"containerInformation": "Інформація про контейнер",
|
||||
"name": "Ім'я",
|
||||
"id": "Ідентифікатор",
|
||||
"state": "Штат",
|
||||
"containerMustBeRunning": "Для доступу до консолі контейнер має бути запущений",
|
||||
"verificationCodePrompt": "Введіть код підтвердження",
|
||||
"totpVerificationFailed": "Не вдалося перевірити TOTP. Спробуйте ще раз.",
|
||||
"browserSignInFailed": "Не вдалося ввійти. Спробуйте ще раз.",
|
||||
"connectedTo": "Підключено до {{containerName}}",
|
||||
"disconnected": "Відключено",
|
||||
"consoleError": "Помилка консолі",
|
||||
"errorMessage": "Помилка: {{message}}",
|
||||
"failedToConnect": "Не вдалося підключитися до контейнера",
|
||||
"console": "Консоль",
|
||||
"selectShell": "Виберіть оболонку",
|
||||
"bash": "Баш",
|
||||
"sh": "ш",
|
||||
"ash": "попіл",
|
||||
"connect": "Підключитися",
|
||||
"disconnect": "Відключитися",
|
||||
"notConnected": "Не підключено",
|
||||
"clickToConnect": "Натисніть кнопку «Підключитися», щоб розпочати сеанс оболонки",
|
||||
"connectingTo": "Підключення до {{containerName}}...",
|
||||
"containerNotFound": "Контейнер не знайдено",
|
||||
"backToList": "Назад до списку",
|
||||
"logs": "Журнали",
|
||||
"stats": "Статистика",
|
||||
"consoleTab": "Консоль",
|
||||
"startContainerToAccess": "Запустіть контейнер для доступу до консолі",
|
||||
"noHostSelected": "Хост не вибрано",
|
||||
"failedToFetchLogs": "Не вдалося отримати журнали: {{error}}",
|
||||
"failedToDownloadLogs": "Не вдалося завантажити журнали: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
"docker": "Докер"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker": "Докер",
|
||||
"feature_docker_desc": "Переглядайте контейнери, читайте журнали та переглядайте статистику на будь-якому хості, на якому працює Docker."
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Retry",
|
||||
"clipboardReadFailed": "Failed to read from clipboard. Make sure clipboard permissions are granted.",
|
||||
"clipboardWriteFailed": "Failed to copy to clipboard. Make sure the page is served over HTTPS or localhost."
|
||||
"retry": "Повторити спробу",
|
||||
"clipboardReadFailed": "Не вдалося прочитати з буфера обміну. Переконайтеся, що надано дозволи на доступ до буфера обміну.",
|
||||
"clipboardWriteFailed": "Не вдалося скопіювати в буфер обміну. Переконайтеся, що сторінка обслуговується через HTTPS або localhost."
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Використовуйте Docker",
|
||||
"description": "Відкрийте менеджер Docker та консолі контейнерів на хостах з увімкненим Docker."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Enable Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"label": "Увімкнути Докер",
|
||||
"description": "Керувати контейнерами на цьому хості."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Container Runtime",
|
||||
"description": "Choose the CLI used for container management on this host",
|
||||
"docker": "Docker",
|
||||
"podman": "Podman"
|
||||
"label": "Середовище виконання контейнера",
|
||||
"description": "Виберіть інтерфейс командного рядка, який використовується для керування контейнерами на цьому хості",
|
||||
"docker": "Докер",
|
||||
"podman": "Подман"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "Потрібен віддалений сервер. Підключіться до віддаленого сервера в налаштуваннях, щоб використовувати цей тип підключення."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"hostNotFound": "Host not found",
|
||||
"loadingHost": "Loading host..."
|
||||
"docsLink": "Переглянути документи",
|
||||
"hostNotFound": "Хост не знайдено",
|
||||
"loadingHost": "Завантаження хоста..."
|
||||
}
|
||||
}
|
||||
@@ -23,9 +23,9 @@
|
||||
"start": "Khởi động",
|
||||
"stop": "Bit dừng",
|
||||
"status": "Trạng thái",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"actions": "Hành động",
|
||||
"cardView": "Chế độ xem thẻ",
|
||||
"listView": "Chế độ xem danh sách",
|
||||
"confirmRemoveContainer": "Bạn có chắc chắn muốn xóa container '{{name}}' không? Hành động này không thể hoàn tác.",
|
||||
"runningContainerWarning": "Cảnh báo: Container này đang chạy. Xóa nó sẽ dừng container trước.",
|
||||
"loadingContainers": "Đang tải danh sách container...",
|
||||
@@ -78,7 +78,7 @@
|
||||
"containerMustBeRunning": "Container phải đang chạy để truy cập bảng điều khiển",
|
||||
"verificationCodePrompt": "Nhập mã xác minh",
|
||||
"totpVerificationFailed": "Xác minh TOTP thất bại. Vui lòng thử lại.",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "Đăng nhập không thành công. Vui lòng thử lại.",
|
||||
"connectedTo": "Đã kết nối đến {{containerName}}",
|
||||
"disconnected": "Đã ngắt kết nối",
|
||||
"consoleError": "Lỗi bảng điều khiển",
|
||||
@@ -101,15 +101,15 @@
|
||||
"consoleTab": "Bảng điều khiển",
|
||||
"startContainerToAccess": "Khởi động container để truy cập bảng điều khiển",
|
||||
"noHostSelected": "Chưa chọn máy chủ",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"failedToFetchLogs": "Không thể tải nhật ký: {{error}}",
|
||||
"failedToDownloadLogs": "Không thể tải xuống nhật ký: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker_desc": "Xem các container, đọc nhật ký và theo dõi số liệu thống kê trên bất kỳ máy chủ nào đang chạy Docker."
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "Thử lại",
|
||||
@@ -118,15 +118,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "Sử dụng Docker",
|
||||
"description": "Mở trình quản lý Docker và bảng điều khiển vùng chứa trên các máy chủ đã bật Docker."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Bật Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"description": "Quản lý các container trên máy chủ này."
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "Môi trường chạy container",
|
||||
@@ -137,7 +137,7 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "Cần có máy chủ từ xa. Kết nối máy chủ từ xa trong Cài đặt để sử dụng loại kết nối này."
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Xem tài liệu",
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
"start": "啟動",
|
||||
"stop": "停止位元",
|
||||
"status": "狀態",
|
||||
"actions": "Actions",
|
||||
"cardView": "Card view",
|
||||
"listView": "List view",
|
||||
"actions": "行動",
|
||||
"cardView": "卡片視圖",
|
||||
"listView": "清單視圖",
|
||||
"confirmRemoveContainer": "確定要移除容器 '{{name}}' 嗎?此動作無法復原。",
|
||||
"runningContainerWarning": "警告:此容器正在執行中。移除時會先將其停止。",
|
||||
"loadingContainers": "正在載入容器...",
|
||||
@@ -78,7 +78,7 @@
|
||||
"containerMustBeRunning": "容器必須在執行中才能存取主控台",
|
||||
"verificationCodePrompt": "請輸入驗證碼",
|
||||
"totpVerificationFailed": "TOTP 驗證失敗,請再試一次。",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "登入失敗,請重試。",
|
||||
"connectedTo": "已連線至 {{containerName}}",
|
||||
"disconnected": "已中斷連線",
|
||||
"consoleError": "主控台錯誤",
|
||||
@@ -101,15 +101,15 @@
|
||||
"consoleTab": "主控台",
|
||||
"startContainerToAccess": "啟動容器以存取主控台",
|
||||
"noHostSelected": "未選擇主機",
|
||||
"failedToFetchLogs": "Failed to fetch logs: {{error}}",
|
||||
"failedToDownloadLogs": "Failed to download logs: {{error}}"
|
||||
"failedToFetchLogs": "取得日誌失敗: {{error}}",
|
||||
"failedToDownloadLogs": "日誌下載失敗: {{error}}"
|
||||
},
|
||||
"nav": {
|
||||
"docker": "Docker"
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_docker": "Docker",
|
||||
"feature_docker_desc": "See containers, read logs and watch stats on any host running Docker."
|
||||
"feature_docker_desc": "查看執行 Docker 的任何主機上的容器、讀取日誌和查看統計資料。"
|
||||
},
|
||||
"terminal": {
|
||||
"retry": "重試",
|
||||
@@ -118,15 +118,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use Docker",
|
||||
"description": "Open the Docker manager and container consoles on hosts with Docker enabled."
|
||||
"title": "使用 Docker",
|
||||
"description": "在已啟用 Docker 的主機上開啟 Docker 管理員和容器控制台。"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "啟用 Docker",
|
||||
"description": "Manage containers on this host."
|
||||
"description": "管理此主機上的容器。"
|
||||
},
|
||||
"containerRuntime": {
|
||||
"label": "容器執行環境",
|
||||
@@ -137,7 +137,7 @@
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"remoteServerRequired": "Remote server required. Connect a remote server in Settings to use this connection type."
|
||||
"remoteServerRequired": "需要遠端伺服器。請在「設定」中連接遠端伺服器以使用此連線類型。"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "檢視文件",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"nav": {
|
||||
"files": "फ़ाइलें",
|
||||
"sftp": "SFTP",
|
||||
"sftp": "एसएफटीपी",
|
||||
"openFileManager": "फ़ाइल प्रबंधक खोलें"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use file manager",
|
||||
"description": "Browse, edit and transfer files over SFTP."
|
||||
"title": "फ़ाइल प्रबंधक का उपयोग करें",
|
||||
"description": "SFTP के माध्यम से फाइलों को ब्राउज़ करें, संपादित करें और स्थानांतरित करें।"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "फ़ाइल प्रबंधक सक्षम करें",
|
||||
"description": "Browse and edit files on this host over SFTP."
|
||||
"description": "इस होस्ट पर SFTP के माध्यम से फाइलों को ब्राउज़ और संपादित करें।"
|
||||
},
|
||||
"defaultPath": {
|
||||
"label": "डिफ़ॉल्ट पथ"
|
||||
@@ -25,12 +25,12 @@
|
||||
},
|
||||
"user": {
|
||||
"transferConcurrency": {
|
||||
"label": "Simultaneous File Transfers",
|
||||
"description": "How many files the side by side local/remote manager uploads or downloads at the same time. Lower this if your server limits SFTP channels."
|
||||
"label": "एक साथ फ़ाइल स्थानांतरण",
|
||||
"description": "साइड-बाय-साइड लोकल/रिमोट मैनेजर एक ही समय में कितनी फाइलें अपलोड या डाउनलोड कर सकता है। यदि आपका सर्वर SFTP चैनलों को सीमित करता है तो इसे कम करें।"
|
||||
},
|
||||
"confirmBeforeTrash": {
|
||||
"label": "Confirm before moving files to trash",
|
||||
"description": "Ask before moving remote files to trash. Permanent deletion still requires confirmation."
|
||||
"label": "फ़ाइलों को ट्रैश में भेजने से पहले पुष्टि कर लें",
|
||||
"description": "रिमोट फ़ाइलों को ट्रैश में ले जाने से पहले पूछ लें। स्थायी रूप से हटाने के लिए भी पुष्टि आवश्यक है।"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -72,14 +72,14 @@
|
||||
"rename": "नाम बदलें",
|
||||
"uploading": "अपलोड हो रहा है...",
|
||||
"uploadingFile": "{{name}} अपलोड हो रहा है...",
|
||||
"uploadingChunk": "Uploading {{name}}: {{percent}}% (part {{chunk}} of {{total}})",
|
||||
"uploadingChunk": "अपलोड हो रहा है {{name}}: {{percent}}% (भाग {{chunk}} का {{total}})",
|
||||
"fileName": "फ़ाइल का नाम",
|
||||
"folderName": "फ़ोल्डर का नाम",
|
||||
"fileUploadedSuccessfully": "फ़ाइल \"{{name}}\" सफलतापूर्वक अपलोड हो गई",
|
||||
"failedToUploadFile": "फ़ाइल अपलोड करने में विफल",
|
||||
"uploadingFolderFiles": "Uploading {{count}} file(s)...",
|
||||
"uploadedFolderFiles": "Uploaded {{count}} file(s) successfully",
|
||||
"uploadedFolderPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
|
||||
"uploadingFolderFiles": "{{count}} फ़ाइलें अपलोड की जा रही हैं...",
|
||||
"uploadedFolderFiles": "{{count}} फ़ाइलें सफलतापूर्वक अपलोड हो गईं",
|
||||
"uploadedFolderPartial": "{{uploaded}} फ़ाइलें अपलोड की गईं, {{failed}} अपलोड विफल रहा।",
|
||||
"fileDownloadedSuccessfully": "फ़ाइल \"{{name}}\" सफलतापूर्वक डाउनलोड हो गई",
|
||||
"failedToDownloadFile": "फ़ाइल डाउनलोड करने में विफल",
|
||||
"fileCreatedSuccessfully": "फ़ाइल \"{{name}}\" सफलतापूर्वक बनाई गई",
|
||||
@@ -95,58 +95,58 @@
|
||||
"sudoOperationFailed": "sudo संचालन विफल",
|
||||
"sudoAuthFailed": "sudo प्रमाणीकरण विफल",
|
||||
"dragFilesToUpload": "अपलोड करने के लिए फ़ाइलें यहाँ छोड़ें",
|
||||
"dropToUploadHere": "Drop to upload here",
|
||||
"dropToDownloadHere": "Drop to download here",
|
||||
"dropToUploadHere": "अपलोड करने के लिए यहां ड्रॉप करें",
|
||||
"dropToDownloadHere": "डाउनलोड करने के लिए यहां क्लिक करें",
|
||||
"localFiles": "स्थानीय",
|
||||
"showLocalFiles": "Show local files (split view)",
|
||||
"hideLocalFiles": "Hide local files",
|
||||
"localHome": "Home folder",
|
||||
"localPathPlaceholder": "Local folder path",
|
||||
"localShowHidden": "Show hidden files",
|
||||
"localHideHidden": "Hide hidden files",
|
||||
"localRevealInFileManager": "Reveal in system file manager",
|
||||
"localCannotOpenFolder": "Cannot open folder",
|
||||
"showLocalFiles": "स्थानीय फ़ाइलें दिखाएँ (स्प्लिट व्यू)",
|
||||
"hideLocalFiles": "स्थानीय फ़ाइलों को छुपाएँ",
|
||||
"localHome": "होम फ़ोल्डर",
|
||||
"localPathPlaceholder": "स्थानीय फ़ोल्डर पथ",
|
||||
"localShowHidden": "छिपी हुई फ़ाइलें दिखाएँ",
|
||||
"localHideHidden": "छिपी हुई फ़ाइलों को छुपाएँ",
|
||||
"localRevealInFileManager": "सिस्टम फ़ाइल प्रबंधक में दिखाएँ",
|
||||
"localCannotOpenFolder": "फ़ोल्डर नहीं खोला जा सकता",
|
||||
"localItemCount": "{{count}} आइटम",
|
||||
"localSelectedCount": "{{count}} चयनित",
|
||||
"back": "वापस",
|
||||
"forward": "Forward",
|
||||
"up": "Up",
|
||||
"kind": "Kind",
|
||||
"localUploadingProgress": "Uploading {{current}} of {{total}}",
|
||||
"localDownloadingProgress": "Downloading {{current}} of {{total}}",
|
||||
"localTransferInFlight": "{{count}} at once",
|
||||
"localPreparingDownload": "Preparing download...",
|
||||
"forward": "आगे",
|
||||
"up": "ऊपर",
|
||||
"kind": "दयालु",
|
||||
"localUploadingProgress": "{{total}} में से {{current}} अपलोड किया जा रहा है",
|
||||
"localDownloadingProgress": "{{total}} में से {{current}} डाउनलोड हो रहा है",
|
||||
"localTransferInFlight": "{{count}} एक साथ",
|
||||
"localPreparingDownload": "डाउनलोड की तैयारी हो रही है...",
|
||||
"localTransferCancelled": "स्थानांतरण रद्द किया गया।",
|
||||
"localNothingToTransfer": "Nothing to transfer",
|
||||
"localUploadComplete": "Uploaded {{count}} file(s)",
|
||||
"localUploadFailed": "Upload failed",
|
||||
"localUploadPartial": "Uploaded {{done}} file(s), {{failed}} failed",
|
||||
"localDownloadComplete": "Downloaded {{count}} file(s)",
|
||||
"localNothingToTransfer": "स्थानांतरित करने के लिए कुछ भी नहीं है",
|
||||
"localUploadComplete": "{{count}} फाइल अपलोड की गई",
|
||||
"localUploadFailed": "अपलोड विफल",
|
||||
"localUploadPartial": "{{done}} फ़ाइलें अपलोड की गईं, {{failed}} अपलोड विफल रहा।",
|
||||
"localDownloadComplete": "डाउनलोड की गई {{count}} फ़ाइलें",
|
||||
"localDownloadFailed": "डाउनलोड विफल",
|
||||
"localDownloadPartial": "Downloaded {{done}} file(s), {{failed}} failed",
|
||||
"localReplaceExistingPrompt": "{{count}} item(s) already exist in this folder. Replace them?",
|
||||
"localDownloadPartial": "{{done}} फ़ाइलें डाउनलोड की गईं, {{failed}} डाउनलोड विफल रहा।",
|
||||
"localReplaceExistingPrompt": "इस फ़ोल्डर में पहले से ही {{count}} आइटम मौजूद हैं। क्या आप उन्हें बदलना चाहेंगे?",
|
||||
"localReplace": "बदलें",
|
||||
"localSkipExisting": "Skip",
|
||||
"localSkippedExisting": "Skipped {{count}} existing item(s)",
|
||||
"localUnsafeNamesSkipped": "Skipped {{count}} item(s) whose names cannot be used on this computer",
|
||||
"localSkipExisting": "छोडना",
|
||||
"localSkippedExisting": "मौजूदा आइटमों में से {{count}} को छोड़ दिया गया",
|
||||
"localUnsafeNamesSkipped": "इस कंप्यूटर पर जिन आइटमों के नाम इस्तेमाल नहीं किए जा सकते, उन्हें छोड़ दिया गया है {{count}}",
|
||||
"localOpen": "खोलें",
|
||||
"localOpenFolder": "Open folder",
|
||||
"localUploadToRemote": "Upload to server",
|
||||
"localUploadToRemoteMany": "Upload {{count}} items to server",
|
||||
"localMoveToTrash": "Move to Trash",
|
||||
"localMoveToTrashMany": "Move {{count}} items to Trash",
|
||||
"localTrashConfirmSingle": "Move \"{{name}}\" to the Trash?",
|
||||
"localTrashConfirmFolder": "Move the folder \"{{name}}\" and all its contents to the Trash?",
|
||||
"localTrashConfirmMany": "Move {{count}} items to the Trash?",
|
||||
"localTrashed": "Moved {{count}} item(s) to the Trash",
|
||||
"localTrashFailed": "Could not move to the Trash",
|
||||
"localRenameFailed": "Rename failed",
|
||||
"localCreateFailed": "Could not create item",
|
||||
"goToParentFolder": "Go to parent folder",
|
||||
"resizeSidebar": "Drag to resize the sidebar (double-click to reset)",
|
||||
"resizeLocalPane": "Drag to resize the local pane (double-click to reset)",
|
||||
"localOpenFolder": "फोल्डर खोलें",
|
||||
"localUploadToRemote": "सर्वर पर अपलोड करें",
|
||||
"localUploadToRemoteMany": "सर्वर पर {{count}} आइटम अपलोड करें",
|
||||
"localMoveToTrash": "ट्रैश में ले जाएं",
|
||||
"localMoveToTrashMany": "{{count}} आइटम ट्रैश में ले जाएं",
|
||||
"localTrashConfirmSingle": "क्या आप \"{{name}}\" को ट्रैश में ले जाना चाहते हैं?",
|
||||
"localTrashConfirmFolder": "क्या आप फोल्डर \"{{name}}\" और उसकी सभी सामग्री को ट्रैश में ले जाना चाहते हैं?",
|
||||
"localTrashConfirmMany": "क्या {{count}} आइटम ट्रैश में ले जाएं?",
|
||||
"localTrashed": "{{count}} आइटम ट्रैश में भेज दिए गए हैं",
|
||||
"localTrashFailed": "ट्रैश में नहीं ले जाया जा सका",
|
||||
"localRenameFailed": "नाम बदलने में विफल रहा",
|
||||
"localCreateFailed": "आइटम नहीं बनाया जा सका",
|
||||
"goToParentFolder": "मूल फ़ोल्डर पर जाएँ",
|
||||
"resizeSidebar": "साइडबार का आकार बदलने के लिए उसे खींचें (रीसेट करने के लिए उस पर डबल-क्लिक करें)",
|
||||
"resizeLocalPane": "स्थानीय फलक का आकार बदलने के लिए उसे खींचें (आकार बदलने के लिए उस पर दो बार क्लिक करें)",
|
||||
"columns": "कॉलम",
|
||||
"columnsHint": "Right-click to choose columns",
|
||||
"columnsHint": "कॉलम चुनने के लिए राइट-क्लिक करें",
|
||||
"emptyFolder": "यह फ़ोल्डर खाली है",
|
||||
"searchFiles": "फ़ाइलें खोजें...",
|
||||
"upload": "अपलोड करें",
|
||||
@@ -202,26 +202,26 @@
|
||||
"confirmDeleteMultipleItemsWithFolders": "क्या आप वाकई {{count}} आइटम स्थायी रूप से हटाना चाहते हैं? इसमें फ़ोल्डर और उनकी सामग्री शामिल है।",
|
||||
"confirmDeleteFolder": "क्या आप वाकई फ़ोल्डर \"{{name}}\" और उसकी सभी सामग्री को स्थायी रूप से हटाना चाहते हैं?",
|
||||
"permanentDeleteWarning": "यह क्रिया पूर्ववत नहीं की जा सकती। आइटम सर्वर से स्थायी रूप से हटा दिए जाएँगे।",
|
||||
"moveToTrashWarning": "The item(s) will be moved to the Termix Trash and can be restored before the retention period expires.",
|
||||
"itemsMovedToTrash": "{{count}} item(s) moved to Trash",
|
||||
"trash": "Trash",
|
||||
"trashDescription": "Deleted items are retained for {{days}} day(s) on this host.",
|
||||
"trashLoadFailed": "Failed to load Trash",
|
||||
"trashEmpty": "Trash is empty",
|
||||
"moveToTrashWarning": "आइटम को टर्मिक्स ट्रैश में भेज दिया जाएगा और प्रतिधारण अवधि समाप्त होने से पहले इसे पुनर्स्थापित किया जा सकता है।",
|
||||
"itemsMovedToTrash": "{{count}} आइटम ट्रैश में चले गए",
|
||||
"trash": "कचरा",
|
||||
"trashDescription": "हटाए गए आइटम इस होस्ट पर {{days}} दिनों तक रखे जाते हैं।",
|
||||
"trashLoadFailed": "ट्रैश लोड करने में विफल",
|
||||
"trashEmpty": "कचरा पात्र खाली है",
|
||||
"trashRestore": "पुनर्स्थापित करें",
|
||||
"trashRestored": "Restored {{name}}",
|
||||
"trashRestoreFailed": "Failed to restore item. The original path may already exist.",
|
||||
"trashDeletePermanently": "Delete permanently",
|
||||
"trashDeleteConfirm": "Permanently delete {{name}}? This cannot be undone.",
|
||||
"trashPermanentlyDeleted": "Permanently deleted {{name}}",
|
||||
"trashDeleteFailed": "Failed to permanently delete item",
|
||||
"trashEmptyAction": "Empty Trash",
|
||||
"trashEmptyConfirm": "Permanently delete every item in Trash? This cannot be undone.",
|
||||
"trashEmptied": "Trash emptied",
|
||||
"trashRetention": "Automatic cleanup after (days)",
|
||||
"trashRetentionSaved": "Trash retention updated",
|
||||
"trashRetentionFailed": "Failed to update Trash retention",
|
||||
"trashUnavailableConfirm": "This item cannot be moved to Trash, usually because it is on another filesystem or requires elevated permissions. Delete it permanently instead?",
|
||||
"trashRestored": "पुनर्स्थापित {{name}}",
|
||||
"trashRestoreFailed": "आइटम को पुनर्स्थापित करने में विफल। मूल पथ पहले से मौजूद हो सकता है।",
|
||||
"trashDeletePermanently": "स्थायी रूप से हटाएं",
|
||||
"trashDeleteConfirm": "{{name}}को स्थायी रूप से हटा दें? इसे पूर्ववत नहीं किया जा सकता।",
|
||||
"trashPermanentlyDeleted": "स्थायी रूप से हटा दिया गया {{name}}",
|
||||
"trashDeleteFailed": "आइटम को स्थायी रूप से हटाने में विफल रहा",
|
||||
"trashEmptyAction": "कचरा खाली करें",
|
||||
"trashEmptyConfirm": "ट्रैश में मौजूद सभी आइटम को स्थायी रूप से हटाना चाहते हैं? इसे वापस नहीं लिया जा सकता।",
|
||||
"trashEmptied": "कचरा खाली कर दिया गया",
|
||||
"trashRetention": "(दिनों) के बाद स्वचालित सफाई",
|
||||
"trashRetentionSaved": "कचरा संग्रहण प्रणाली को अद्यतन किया गया",
|
||||
"trashRetentionFailed": "ट्रैश रिटेंशन को अपडेट करने में विफलता",
|
||||
"trashUnavailableConfirm": "इस आइटम को ट्रैश में नहीं ले जाया जा सकता, आमतौर पर इसलिए क्योंकि यह किसी अन्य फ़ाइल सिस्टम पर है या इसके लिए उच्च अनुमतियों की आवश्यकता होती है। क्या इसे स्थायी रूप से हटा देना बेहतर होगा?",
|
||||
"recent": "हाल ही",
|
||||
"pinned": "पिन किए गए",
|
||||
"folderShortcuts": "फ़ोल्डर शॉर्टकट",
|
||||
@@ -303,7 +303,7 @@
|
||||
"operationCompleted": "{{operation}} {{count}} आइटम",
|
||||
"downloadFileSuccess": "फ़ाइल {{name}} सफलतापूर्वक डाउनलोड हुई",
|
||||
"downloadFileFailed": "डाउनलोड विफल",
|
||||
"downloadingFile": "Downloading {{name}}…",
|
||||
"downloadingFile": "डाउनलोड हो रहा है {{name}}…",
|
||||
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
||||
"moveTo": "{{name}} में ले जाएँ",
|
||||
"diffCompareWith": "{{name}} के साथ डिफ तुलना करें",
|
||||
@@ -329,7 +329,7 @@
|
||||
"connecting": "कनेक्ट हो रहा है...",
|
||||
"connectedSuccessfully": "सफलतापूर्वक कनेक्ट हुआ",
|
||||
"totpVerificationFailed": "TOTP सत्यापन विफल",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "प्रवेश विफल। कृपया दोबारा प्रयास करें।",
|
||||
"authenticationFailed": "प्रमाणीकरण विफल",
|
||||
"incorrectPassphrase": "गलत पासफ़्रेज़। कृपया पुनः प्रयास करें।",
|
||||
"verificationCodePrompt": "सत्यापन कोड:",
|
||||
@@ -361,73 +361,73 @@
|
||||
"used": "प्रयुक्त",
|
||||
"of": "में से",
|
||||
"toggleSidebar": "साइडबार टॉगल करें",
|
||||
"compactLayout": "Use compact layout",
|
||||
"comfortableLayout": "Use comfortable layout",
|
||||
"compactLayout": "कॉम्पैक्ट लेआउट का उपयोग करें",
|
||||
"comfortableLayout": "सुविधाजनक लेआउट का उपयोग करें",
|
||||
"cannotLoadPdf": "PDF लोड नहीं कर सकता",
|
||||
"pdfLoadError": "इस PDF फ़ाइल को लोड करने में त्रुटि हुई।",
|
||||
"loadingPdf": "PDF लोड हो रहा है...",
|
||||
"loadingPage": "पृष्ठ लोड हो रहा है...",
|
||||
"cancel": "रद्द करें",
|
||||
"copiedItems_one": "Copied {{count}} item",
|
||||
"copiedItems_other": "Copied {{count}} items",
|
||||
"deleteCopiedFileFailed": "Could not delete the copy of {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Moved {{count}} item to {{target}}",
|
||||
"dragMovedItems_other": "Moved {{count}} items to {{target}}",
|
||||
"moveBackFileFailed": "Could not move {{name}} back: {{error}}",
|
||||
"terminal": "Terminal: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Dragging {{name}} to the desktop",
|
||||
"dragFilesToDesktop": "Dragging {{count}} files to the desktop",
|
||||
"folderDragUnsupported": "Dragging folders to the desktop is not supported yet",
|
||||
"saveToDesktopFailed": "Save failed: {{error}}",
|
||||
"dragFailedDetail": "Drag failed: {{error}}",
|
||||
"videoUnsupported": "Your browser cannot play this video format.",
|
||||
"downloadToPlay": "Download to play it elsewhere",
|
||||
"cannotPreviewType": "Cannot preview this file type",
|
||||
"cannotPreviewTypeHint": "This file type has no preview. Download it to open it in another app."
|
||||
"copiedItems_one": "आइटम कॉपी किया गया {{count}}",
|
||||
"copiedItems_other": "आइटम कॉपी किए गए {{count}}",
|
||||
"deleteCopiedFileFailed": "{{name}}की प्रतिलिपि को हटाया नहीं जा सका : {{error}}",
|
||||
"dragMovedItems_one": "{{count}} आइटम को {{target}} में स्थानांतरित किया गया",
|
||||
"dragMovedItems_other": "{{count}} आइटम {{target}} में स्थानांतरित किए गए",
|
||||
"moveBackFileFailed": "{{name}} को वापस नहीं ले जाया जा सका: {{error}}",
|
||||
"terminal": "टर्मिनल: {{host}} ({{path}})",
|
||||
"dragToDesktop": "{{name}} को डेस्कटॉप पर खींचना",
|
||||
"dragFilesToDesktop": "{{count}} फ़ाइलों को डेस्कटॉप पर खींचना",
|
||||
"folderDragUnsupported": "फ़ोल्डरों को डेस्कटॉप पर ड्रैग करने की सुविधा अभी समर्थित नहीं है।",
|
||||
"saveToDesktopFailed": "सेव करने में विफल: {{error}}",
|
||||
"dragFailedDetail": "ड्रैग विफल: {{error}}",
|
||||
"videoUnsupported": "आपका ब्राउज़र इस वीडियो प्रारूप को नहीं चला सकता।",
|
||||
"downloadToPlay": "इसे कहीं और खेलने के लिए डाउनलोड करें",
|
||||
"cannotPreviewType": "इस फ़ाइल प्रकार का पूर्वावलोकन नहीं किया जा सकता है",
|
||||
"cannotPreviewTypeHint": "इस फ़ाइल प्रकार का कोई पूर्वावलोकन नहीं है। इसे डाउनलोड करके किसी अन्य ऐप में खोलें।"
|
||||
},
|
||||
"sftpTransfer": {
|
||||
"title": "SFTP",
|
||||
"description": "Transfer files between two SSH hosts.",
|
||||
"sourceServer": "Source Server",
|
||||
"destinationServer": "Destination Server",
|
||||
"selectHost": "Select host",
|
||||
"title": "एसएफटीपी",
|
||||
"description": "दो SSH होस्ट के बीच फ़ाइलें स्थानांतरित करें।",
|
||||
"sourceServer": "स्रोत सर्वर",
|
||||
"destinationServer": "गंतव्य सर्वर",
|
||||
"selectHost": "होस्ट का चयन करें",
|
||||
"noHostSelected": "कोई होस्ट चयनित नहीं है",
|
||||
"move": "ले जाएँ",
|
||||
"copy": "कॉपी",
|
||||
"upload": "अपलोड करें",
|
||||
"itemsSelected": "{{count}} item selected",
|
||||
"itemsSelected_other": "{{count}} items selected",
|
||||
"itemsSelected": "{{count}} आइटम चयनित",
|
||||
"itemsSelected_other": "{{count}} आइटम चयनित",
|
||||
"ready": "तैयार",
|
||||
"loadingHosts": "होस्ट लोड हो रहे हैं...",
|
||||
"name": "नाम",
|
||||
"modified": "संशोधित",
|
||||
"size": "आकार",
|
||||
"noFiles": "No files",
|
||||
"noFiles": "कोई फ़ाइल नहीं",
|
||||
"open": "खोलें",
|
||||
"up": "Up",
|
||||
"up": "ऊपर",
|
||||
"refresh": "ताज़ा करें",
|
||||
"copyToTarget": "Copy to Target Directory",
|
||||
"copyToTarget": "लक्ष्य निर्देशिका में प्रतिलिपि करें",
|
||||
"rename": "नाम बदलें",
|
||||
"delete": "हटाएँ",
|
||||
"editPermissions": "Edit Permissions",
|
||||
"createNewFolder": "Create New Folder",
|
||||
"deleteSelectedItems": "Delete Selected Items",
|
||||
"deleteConfirm": "Delete {{count}} selected item?",
|
||||
"deleteConfirm_other": "Delete {{count}} selected items?",
|
||||
"editPermissions": "संपादन अनुमतियाँ",
|
||||
"createNewFolder": "नया फ़ोल्डर बनाएं",
|
||||
"deleteSelectedItems": "चयनित आइटम हटाएं",
|
||||
"deleteConfirm": "चयनित आइटम हटाएं {{count}}?",
|
||||
"deleteConfirm_other": "चयनित आइटम हटाएं {{count}}?",
|
||||
"cancel": "रद्द करें",
|
||||
"save": "सहेजें",
|
||||
"folderCreated": "Folder created",
|
||||
"itemRenamed": "Item renamed",
|
||||
"folderCreated": "फ़ोल्डर बनाया गया",
|
||||
"itemRenamed": "आइटम का नाम बदल दिया गया",
|
||||
"actionFailed": "कार्रवाई विफल",
|
||||
"itemsDeleted": "{{count}} item deleted",
|
||||
"itemsDeleted_other": "{{count}} items deleted",
|
||||
"deleteFailed": "Delete failed",
|
||||
"permissionsUpdated": "Permissions updated",
|
||||
"noRemoteSessionConnected": "No remote session connected",
|
||||
"failedToListFiles": "Failed to list files",
|
||||
"failedToRefresh": "Failed to refresh",
|
||||
"destinationInsideSource": "Destination cannot be inside the selected source path.",
|
||||
"sameHostNoOp": "Source and destination are the same folder."
|
||||
"itemsDeleted": "{{count}} आइटम हटा दिया गया",
|
||||
"itemsDeleted_other": "{{count}} आइटम हटा दिए गए",
|
||||
"deleteFailed": "डिलीट विफल",
|
||||
"permissionsUpdated": "अनुमतियाँ अपडेट की गईं",
|
||||
"noRemoteSessionConnected": "कोई रिमोट सेशन कनेक्ट नहीं हुआ",
|
||||
"failedToListFiles": "फ़ाइलों को सूचीबद्ध करने में विफल",
|
||||
"failedToRefresh": "रीफ़्रेश करने में विफल",
|
||||
"destinationInsideSource": "गंतव्य चयनित स्रोत पथ के अंदर नहीं हो सकता।",
|
||||
"sameHostNoOp": "स्रोत और गंतव्य एक ही फ़ोल्डर हैं।"
|
||||
},
|
||||
"hosts": {
|
||||
"fileManager": "फ़ाइल प्रबंधक",
|
||||
@@ -438,8 +438,8 @@
|
||||
"loadingHost": "होस्ट लोड हो रहा है..."
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_files": "File manager",
|
||||
"feature_files_desc": "Browse, upload, download and edit files over SFTP without leaving the app."
|
||||
"feature_files": "फ़ाइल मैनेजर",
|
||||
"feature_files_desc": "ऐप छोड़े बिना SFTP के माध्यम से फाइलों को ब्राउज़ करें, अपलोड करें, डाउनलोड करें और संपादित करें।"
|
||||
},
|
||||
"terminal": {
|
||||
"runTitle": "{{command}} चल रहा है - {{host}}",
|
||||
@@ -464,7 +464,7 @@
|
||||
"destinationPath": "गंतव्य पथ",
|
||||
"destMustBeDirectory": "कई आइटम स्थानांतरण के लिए गंतव्य एक निर्देशिका होना चाहिए",
|
||||
"goUp": "ऊपर जाएं",
|
||||
"hostAuthRequired": "Authentication required. Open File Manager on this host first",
|
||||
"hostAuthRequired": "प्रमाणीकरण आवश्यक है। पहले इस होस्ट पर फ़ाइल मैनेजर खोलें।",
|
||||
"hostConnecting": "कनेक्ट हो रहा है…",
|
||||
"hostConnectionFailed": "कनेक्शन विफल",
|
||||
"hostDisconnected": "कनेक्ट नहीं है",
|
||||
@@ -485,12 +485,12 @@
|
||||
"methodReason": {
|
||||
"user_item_sftp": "आपने प्रति-फ़ाइल SFTP चुना।",
|
||||
"user_tar": "आपने tar संग्रह चुना।",
|
||||
"tar_unavailable": "Tar is not available on one or both hosts, so per-file SFTP will be used instead.",
|
||||
"windows_host": "A Windows host is involved, so tar is not used.",
|
||||
"auto_multi_large": "Auto: multiple files including a large file ({{largestSize}}) with compressible data. Tar bundles them into one transfer.",
|
||||
"auto_single_large_in_archive": "Auto: one large file ({{largestSize}}) in this set, so per-file SFTP.",
|
||||
"auto_many_incompressible": "Auto: mostly incompressible data, so per-file SFTP.",
|
||||
"auto_many_files": "Auto: many files ({{fileCount}}), tar cuts the per-file overhead.",
|
||||
"tar_unavailable": "एक या दोनों होस्ट पर टार उपलब्ध नहीं है, इसलिए इसके बजाय प्रति-फाइल एसएफटीपी का उपयोग किया जाएगा।",
|
||||
"windows_host": "इसमें विंडोज होस्ट शामिल है, इसलिए tar का उपयोग नहीं किया जाता है।",
|
||||
"auto_multi_large": "ऑटो: कई फाइलें जिनमें संपीड़ित डेटा वाली एक बड़ी फाइल ({{largestSize}}) शामिल है। टार उन्हें एक ही स्थानांतरण में बंडल करता है।",
|
||||
"auto_single_large_in_archive": "ऑटो: इस सेट में एक बड़ी फ़ाइल ({{largestSize}}), इसलिए प्रति-फ़ाइल SFTP.",
|
||||
"auto_many_incompressible": "ऑटो: अधिकतर असंपीड़नीय डेटा, इसलिए प्रति-फ़ाइल SFTP।",
|
||||
"auto_many_files": "ऑटो: कई फाइलें ({{fileCount}}), टार प्रति-फाइल ओवरहेड को कम करता है।",
|
||||
"auto_default": "ऑटो: इस सेट के लिए प्रति-फ़ाइल SFTP।"
|
||||
},
|
||||
"methodTar": "Tar संग्रह",
|
||||
@@ -498,11 +498,11 @@
|
||||
"metricsCompress": "स्रोत पर संपीड़न: {{duration}}",
|
||||
"metricsExtract": "गंतव्य पर निष्कर्षण: {{duration}}",
|
||||
"metricsPrepare": "गंतव्य तैयारी: {{duration}}",
|
||||
"metricsRouteBenchmark": "Route probe: direct {{direct}}, relay {{relay}}",
|
||||
"metricsRouteBenchmark": "रूट प्रोब: डायरेक्ट {{direct}}, रिले {{relay}}",
|
||||
"metricsSourceDelete": "स्रोत से हटाना: {{duration}}",
|
||||
"metricsTotal": "कुल: {{duration}}",
|
||||
"metricsTransfer": "एंड-टू-एंड: {{throughput}} ({{duration}})",
|
||||
"metricsVerify": "SHA-256 verified: {{duration}}",
|
||||
"metricsVerify": "SHA-256 सत्यापित: {{duration}}",
|
||||
"moveFolderToHost": "फ़ोल्डर होस्ट पर स्थानांतरित करें…",
|
||||
"moveItemsToHost": "{{count}} आइटम होस्ट पर स्थानांतरित करें…",
|
||||
"moveToHost": "होस्ट पर ले जाएँ…",
|
||||
@@ -511,7 +511,7 @@
|
||||
"parallelSegmentsHint": "बड़ी फ़ाइलें 256 MB टुकड़ों में विभाजित होती हैं। एकाधिक लेन उच्च कुल थ्रूपुट के लिए अलग-अलग कनेक्शन का उपयोग करती हैं (जैसे कई स्थानांतरण प्रारंभ करना)।",
|
||||
"parallelSegmentsLabel": "समानांतर स्थानांतरण लेन",
|
||||
"parallelSegmentsOption": "{{count}} लेन",
|
||||
"progressBenchmarking": "Selecting the fastest transfer route…",
|
||||
"progressBenchmarking": "सबसे तेज़ स्थानांतरण मार्ग का चयन करना…",
|
||||
"progressBytes": "{{transferred}} / {{total}}",
|
||||
"progressCancel": "रद्द करें",
|
||||
"progressCancelling": "रद्द कर रहा है…",
|
||||
@@ -523,7 +523,7 @@
|
||||
"progressTotalSpeed": "{{speed}} कुल ({{lanes}} लेन)",
|
||||
"progressTransferring": "डेटा स्थानांतरित कर रहा है…",
|
||||
"progressTransferringItems": "फ़ाइलें स्थानांतरित कर रहा है ({{current}} / {{total}})…",
|
||||
"progressVerifying": "Verifying file integrity…",
|
||||
"progressVerifying": "फ़ाइल की अखंडता का सत्यापन…",
|
||||
"recentDestinations": "हाल के गंतव्य",
|
||||
"resumedHint": "किसी अन्य विंडो में शुरू हुए सक्रिय स्थानांतरण से पुनः जुड़ा।",
|
||||
"retryTransfer": "पुनः प्रयास करें",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -79,7 +79,7 @@
|
||||
"failedToUploadFile": "Caricamento file non riuscito",
|
||||
"uploadingFolderFiles": "Caricamento del/dei file {{count}} in corso...",
|
||||
"uploadedFolderFiles": "File caricati con successo {{count}}",
|
||||
"uploadedFolderPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
|
||||
"uploadedFolderPartial": "Caricamento del/i file {{uploaded}} non riuscito/i {{failed}}",
|
||||
"fileDownloadedSuccessfully": "File \"{{name}}\" scaricato con successo",
|
||||
"failedToDownloadFile": "Scaricamento file non riuscito",
|
||||
"fileCreatedSuccessfully": "File \"{{name}}\" creato con successo",
|
||||
@@ -120,7 +120,7 @@
|
||||
"localNothingToTransfer": "Nulla da trasferire",
|
||||
"localUploadComplete": "Caricato/i file {{count}}",
|
||||
"localUploadFailed": "Caricamento non riuscito",
|
||||
"localUploadPartial": "Uploaded {{done}} file(s), {{failed}} failed",
|
||||
"localUploadPartial": "Caricamento del/i file {{done}} non riuscito/i {{failed}}",
|
||||
"localDownloadComplete": "Scaricato il/i file {{count}}",
|
||||
"localDownloadFailed": "Download non riuscito",
|
||||
"localDownloadPartial": "Scaricamento del/dei file {{done}} , {{failed}} non riuscito",
|
||||
|
||||
@@ -1,36 +1,36 @@
|
||||
{
|
||||
"nav": {
|
||||
"files": "Files",
|
||||
"files": "Filer",
|
||||
"sftp": "SFTP",
|
||||
"openFileManager": "Åpne filutforsker"
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use file manager",
|
||||
"description": "Browse, edit and transfer files over SFTP."
|
||||
"title": "Bruk filbehandleren",
|
||||
"description": "Bla gjennom, rediger og overfør filer via SFTP."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Aktiver filutforsker",
|
||||
"description": "Browse and edit files on this host over SFTP."
|
||||
"description": "Bla gjennom og rediger filer på denne verten via SFTP."
|
||||
},
|
||||
"defaultPath": {
|
||||
"label": "Standardsti"
|
||||
},
|
||||
"scpLegacy": {
|
||||
"label": "SCP Legacy Mode"
|
||||
"label": "SCP Legacy-modus"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"transferConcurrency": {
|
||||
"label": "Simultaneous File Transfers",
|
||||
"description": "How many files the side by side local/remote manager uploads or downloads at the same time. Lower this if your server limits SFTP channels."
|
||||
"label": "Samtidige filoverføringer",
|
||||
"description": "Hvor mange filer den side om side lokale/fjernstyrte administratoren laster opp eller ned samtidig. Reduser dette hvis serveren din begrenser SFTP-kanaler."
|
||||
},
|
||||
"confirmBeforeTrash": {
|
||||
"label": "Confirm before moving files to trash",
|
||||
"description": "Ask before moving remote files to trash. Permanent deletion still requires confirmation."
|
||||
"label": "Bekreft før du flytter filer til papirkurven",
|
||||
"description": "Spør før du flytter eksterne filer til papirkurven. Permanent sletting krever fortsatt bekreftelse."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -39,7 +39,7 @@
|
||||
},
|
||||
"fileManager": {
|
||||
"noHostSelected": "Ingen vert valgt",
|
||||
"initializingEditor": "Initializing editor...",
|
||||
"initializingEditor": "Initialiserer redigeringsprogrammet...",
|
||||
"file": "Fil",
|
||||
"folder": "Mappe",
|
||||
"uploadFile": "Last opp fil",
|
||||
@@ -72,14 +72,14 @@
|
||||
"rename": "Gi nytt navn",
|
||||
"uploading": "Laster opp...",
|
||||
"uploadingFile": "Laster opp {{name}}...",
|
||||
"uploadingChunk": "Uploading {{name}}: {{percent}}% (part {{chunk}} of {{total}})",
|
||||
"uploadingChunk": "Laster opp {{name}}: {{percent}}% (del {{chunk}} av {{total}})",
|
||||
"fileName": "Filnavn",
|
||||
"folderName": "Mappenavn",
|
||||
"fileUploadedSuccessfully": "Fil \"{{name}}\" ble lastet opp",
|
||||
"failedToUploadFile": "Kunne ikke laste opp fil",
|
||||
"uploadingFolderFiles": "Uploading {{count}} file(s)...",
|
||||
"uploadedFolderFiles": "Uploaded {{count}} file(s) successfully",
|
||||
"uploadedFolderPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
|
||||
"uploadingFolderFiles": "Laster opp {{count}} fil(er)...",
|
||||
"uploadedFolderFiles": "Lastet opp {{count}} fil(er)",
|
||||
"uploadedFolderPartial": "Opplasting av {{uploaded}} fil(er), {{failed}} mislyktes",
|
||||
"fileDownloadedSuccessfully": "Filen ble lastet ned",
|
||||
"failedToDownloadFile": "Kunne ikke laste ned fil",
|
||||
"fileCreatedSuccessfully": "Fil \"{{name}}\" ble opprettet",
|
||||
@@ -89,69 +89,69 @@
|
||||
"failedToResolveSymlink": "Kunne ikke løse symbolske lenker",
|
||||
"itemsDeletedSuccessfully": "{{count}} elementer ble slettet",
|
||||
"failedToDeleteItems": "Kunne ikke slette elementer",
|
||||
"sudoPasswordRequired": "Administrator Password Required",
|
||||
"enterSudoPassword": "Enter sudo password to continue this operation",
|
||||
"sudoPassword": "Sudo password",
|
||||
"sudoOperationFailed": "Sudo operation failed",
|
||||
"sudoAuthFailed": "Sudo authentication failed",
|
||||
"sudoPasswordRequired": "Administratorpassord kreves",
|
||||
"enterSudoPassword": "Skriv inn sudo-passordet for å fortsette denne operasjonen",
|
||||
"sudoPassword": "Sudo-passord",
|
||||
"sudoOperationFailed": "Sudo-operasjonen mislyktes",
|
||||
"sudoAuthFailed": "Sudo-autentisering mislyktes",
|
||||
"dragFilesToUpload": "Slipp filer her for å laste opp",
|
||||
"dropToUploadHere": "Drop to upload here",
|
||||
"dropToDownloadHere": "Drop to download here",
|
||||
"dropToUploadHere": "Slipp for å laste opp her",
|
||||
"dropToDownloadHere": "Slipp for å laste ned her",
|
||||
"localFiles": "Lokal",
|
||||
"showLocalFiles": "Show local files (split view)",
|
||||
"hideLocalFiles": "Hide local files",
|
||||
"localHome": "Home folder",
|
||||
"localPathPlaceholder": "Local folder path",
|
||||
"localShowHidden": "Show hidden files",
|
||||
"localHideHidden": "Hide hidden files",
|
||||
"localRevealInFileManager": "Reveal in system file manager",
|
||||
"localCannotOpenFolder": "Cannot open folder",
|
||||
"showLocalFiles": "Vis lokale filer (delt visning)",
|
||||
"hideLocalFiles": "Skjul lokale filer",
|
||||
"localHome": "Hjemmappe",
|
||||
"localPathPlaceholder": "Lokal mappebane",
|
||||
"localShowHidden": "Vis skjulte filer",
|
||||
"localHideHidden": "Skjul skjulte filer",
|
||||
"localRevealInFileManager": "Avslør i systemfilbehandleren",
|
||||
"localCannotOpenFolder": "Kan ikke åpne mappen",
|
||||
"localItemCount": "{{count}} elementer",
|
||||
"localSelectedCount": "{{count}} valgt",
|
||||
"back": "Tilbake",
|
||||
"forward": "Forward",
|
||||
"up": "Up",
|
||||
"kind": "Kind",
|
||||
"localUploadingProgress": "Uploading {{current}} of {{total}}",
|
||||
"localDownloadingProgress": "Downloading {{current}} of {{total}}",
|
||||
"localTransferInFlight": "{{count}} at once",
|
||||
"localPreparingDownload": "Preparing download...",
|
||||
"localTransferCancelled": "Transfer cancelled",
|
||||
"localNothingToTransfer": "Nothing to transfer",
|
||||
"localUploadComplete": "Uploaded {{count}} file(s)",
|
||||
"localUploadFailed": "Upload failed",
|
||||
"localUploadPartial": "Uploaded {{done}} file(s), {{failed}} failed",
|
||||
"localDownloadComplete": "Downloaded {{count}} file(s)",
|
||||
"forward": "Framover",
|
||||
"up": "Opp",
|
||||
"kind": "Type",
|
||||
"localUploadingProgress": "Laster opp {{current}} av {{total}}",
|
||||
"localDownloadingProgress": "Laster ned {{current}} av {{total}}",
|
||||
"localTransferInFlight": "{{count}} med en gang",
|
||||
"localPreparingDownload": "Forbereder nedlasting ...",
|
||||
"localTransferCancelled": "Overføringen er avbrutt",
|
||||
"localNothingToTransfer": "Ingenting å overføre",
|
||||
"localUploadComplete": "Opplastede {{count}} fil(er)",
|
||||
"localUploadFailed": "Opplastingen mislyktes",
|
||||
"localUploadPartial": "Opplasting av {{done}} fil(er), {{failed}} mislyktes",
|
||||
"localDownloadComplete": "Lastet ned {{count}} fil(er)",
|
||||
"localDownloadFailed": "Nedlasting mislyktes",
|
||||
"localDownloadPartial": "Downloaded {{done}} file(s), {{failed}} failed",
|
||||
"localReplaceExistingPrompt": "{{count}} item(s) already exist in this folder. Replace them?",
|
||||
"localDownloadPartial": "Nedlasting av {{done}} fil(er), {{failed}} mislyktes",
|
||||
"localReplaceExistingPrompt": "{{count}} element(er) finnes allerede i denne mappen. Vil du erstatte dem?",
|
||||
"localReplace": "Erstatt",
|
||||
"localSkipExisting": "Skip",
|
||||
"localSkippedExisting": "Skipped {{count}} existing item(s)",
|
||||
"localUnsafeNamesSkipped": "Skipped {{count}} item(s) whose names cannot be used on this computer",
|
||||
"localOpen": "Open",
|
||||
"localOpenFolder": "Open folder",
|
||||
"localUploadToRemote": "Upload to server",
|
||||
"localUploadToRemoteMany": "Upload {{count}} items to server",
|
||||
"localMoveToTrash": "Move to Trash",
|
||||
"localMoveToTrashMany": "Move {{count}} items to Trash",
|
||||
"localTrashConfirmSingle": "Move \"{{name}}\" to the Trash?",
|
||||
"localTrashConfirmFolder": "Move the folder \"{{name}}\" and all its contents to the Trash?",
|
||||
"localTrashConfirmMany": "Move {{count}} items to the Trash?",
|
||||
"localTrashed": "Moved {{count}} item(s) to the Trash",
|
||||
"localTrashFailed": "Could not move to the Trash",
|
||||
"localRenameFailed": "Rename failed",
|
||||
"localCreateFailed": "Could not create item",
|
||||
"goToParentFolder": "Go to parent folder",
|
||||
"resizeSidebar": "Drag to resize the sidebar (double-click to reset)",
|
||||
"resizeLocalPane": "Drag to resize the local pane (double-click to reset)",
|
||||
"columns": "Columns",
|
||||
"columnsHint": "Right-click to choose columns",
|
||||
"localSkipExisting": "Hopp over",
|
||||
"localSkippedExisting": "Hoppet over {{count}} eksisterende element(er)",
|
||||
"localUnsafeNamesSkipped": "Hoppet over {{count}} elementer hvis navn ikke kan brukes på denne datamaskinen",
|
||||
"localOpen": "Åpne",
|
||||
"localOpenFolder": "Åpne mappen",
|
||||
"localUploadToRemote": "Last opp til server",
|
||||
"localUploadToRemoteMany": "Last opp {{count}} elementer til serveren",
|
||||
"localMoveToTrash": "Flytt til papirkurven",
|
||||
"localMoveToTrashMany": "Flytt {{count}} elementer til papirkurven",
|
||||
"localTrashConfirmSingle": "Flytte «{{name}}» til papirkurven?",
|
||||
"localTrashConfirmFolder": "Flytte mappen «{{name}}» og alt innholdet til papirkurven?",
|
||||
"localTrashConfirmMany": "Flytte {{count}} elementer til papirkurven?",
|
||||
"localTrashed": "Flyttet {{count}} element(er) til papirkurven",
|
||||
"localTrashFailed": "Kunne ikke flytte til papirkurven",
|
||||
"localRenameFailed": "Mislyktes i å gi nytt navn",
|
||||
"localCreateFailed": "Kunne ikke opprette elementet",
|
||||
"goToParentFolder": "Gå til overordnet mappe",
|
||||
"resizeSidebar": "Dra for å endre størrelsen på sidefeltet (dobbeltklikk for å tilbakestille)",
|
||||
"resizeLocalPane": "Dra for å endre størrelsen på den lokale ruten (dobbeltklikk for å tilbakestille)",
|
||||
"columns": "Kolonner",
|
||||
"columnsHint": "Høyreklikk for å velge kolonner",
|
||||
"emptyFolder": "Denne mappen er tom",
|
||||
"searchFiles": "Søk i filer...",
|
||||
"upload": "Last opp",
|
||||
"selectHostToStart": "Velg en vert for å starte filhåndtering",
|
||||
"sshRequiredForFileManager": "File manager requires SSH. This host does not have SSH enabled.",
|
||||
"sshRequiredForFileManager": "Filbehandleren krever SSH. Denne verten har ikke SSH aktivert.",
|
||||
"failedToConnect": "Kunne ikke koble til SSH",
|
||||
"failedToLoadDirectory": "Kunne ikke laste katalog",
|
||||
"noSSHConnection": "Ingen SSH-tilkobling tilgjengelig",
|
||||
@@ -172,22 +172,22 @@
|
||||
"pathCopiedToClipboard": "Sti kopiert til utklippstavlen",
|
||||
"pathsCopiedToClipboard": "{{count}} stier kopiert til utklippstavlen",
|
||||
"failedToCopyPath": "Kunne ikke kopiere sti",
|
||||
"copyFolderLink": "Copy Link to Folder",
|
||||
"copyCurrentFolderLink": "Copy Link to Current Folder",
|
||||
"folderLinkCopied": "Folder link copied to clipboard",
|
||||
"failedToCopyFolderLink": "Failed to copy folder link",
|
||||
"copyFolderLink": "Kopier lenke til mappe",
|
||||
"copyCurrentFolderLink": "Kopier lenke til gjeldende mappe",
|
||||
"folderLinkCopied": "Mappelenke kopiert til utklippstavlen",
|
||||
"failedToCopyFolderLink": "Kunne ikke kopiere mappelenken",
|
||||
"movedItems": "Flyttet {{count}} elementer",
|
||||
"failedToDeleteItem": "Kunne ikke slette element",
|
||||
"itemRenamedSuccessfully": "{{type}} fikk nytt navn",
|
||||
"failedToRenameItem": "Kunne ikke gi element nytt navn",
|
||||
"download": "Last ned",
|
||||
"openExternalEditor": "Open externally",
|
||||
"chooseExternalEditor": "Choose external editor",
|
||||
"externalEditorSelected": "External editor selected",
|
||||
"externalEditorDesktopOnly": "External editor is only available in the desktop app",
|
||||
"externalEditorOpened": "Opened in external editor. Saving there will upload changes back to the server.",
|
||||
"failedToOpenExternalEditor": "Failed to open external editor",
|
||||
"failedToSelectExternalEditor": "Failed to select external editor",
|
||||
"openExternalEditor": "Åpne eksternt",
|
||||
"chooseExternalEditor": "Velg ekstern editor",
|
||||
"externalEditorSelected": "Ekstern redigerer valgt",
|
||||
"externalEditorDesktopOnly": "Ekstern editor er bare tilgjengelig i skrivebordsappen",
|
||||
"externalEditorOpened": "Åpnet i ekstern editor. Hvis du lagrer der, lastes endringene opp tilbake til serveren.",
|
||||
"failedToOpenExternalEditor": "Kunne ikke åpne ekstern editor",
|
||||
"failedToSelectExternalEditor": "Kunne ikke velge ekstern redigeringsprogram",
|
||||
"permissions": "Tillatelser",
|
||||
"size": "Størrelse",
|
||||
"modified": "Endret",
|
||||
@@ -202,26 +202,26 @@
|
||||
"confirmDeleteMultipleItemsWithFolders": "Er du sikker på at du vil slette {{count}} elementer permanent? Dette inkluderer mapper og innholdet deres.",
|
||||
"confirmDeleteFolder": "Er du sikker på at du vil slette mappen \"{{name}}\" og alt innholdet permanent?",
|
||||
"permanentDeleteWarning": "Denne handlingen kan ikke angres. Elementene blir slettet permanent fra serveren.",
|
||||
"moveToTrashWarning": "The item(s) will be moved to the Termix Trash and can be restored before the retention period expires.",
|
||||
"itemsMovedToTrash": "{{count}} item(s) moved to Trash",
|
||||
"trash": "Trash",
|
||||
"trashDescription": "Deleted items are retained for {{days}} day(s) on this host.",
|
||||
"trashLoadFailed": "Failed to load Trash",
|
||||
"trashEmpty": "Trash is empty",
|
||||
"trashRestore": "Restore",
|
||||
"trashRestored": "Restored {{name}}",
|
||||
"trashRestoreFailed": "Failed to restore item. The original path may already exist.",
|
||||
"trashDeletePermanently": "Delete permanently",
|
||||
"trashDeleteConfirm": "Permanently delete {{name}}? This cannot be undone.",
|
||||
"trashPermanentlyDeleted": "Permanently deleted {{name}}",
|
||||
"trashDeleteFailed": "Failed to permanently delete item",
|
||||
"trashEmptyAction": "Empty Trash",
|
||||
"trashEmptyConfirm": "Permanently delete every item in Trash? This cannot be undone.",
|
||||
"trashEmptied": "Trash emptied",
|
||||
"trashRetention": "Automatic cleanup after (days)",
|
||||
"trashRetentionSaved": "Trash retention updated",
|
||||
"trashRetentionFailed": "Failed to update Trash retention",
|
||||
"trashUnavailableConfirm": "This item cannot be moved to Trash, usually because it is on another filesystem or requires elevated permissions. Delete it permanently instead?",
|
||||
"moveToTrashWarning": "Elementet/elementene vil bli flyttet til Termix-papirkurven og kan gjenopprettes før oppbevaringsperioden utløper.",
|
||||
"itemsMovedToTrash": "{{count}} element(er) flyttet til papirkurven",
|
||||
"trash": "Søppel",
|
||||
"trashDescription": "Slettede elementer lagres i {{days}} dag(er) på denne verten.",
|
||||
"trashLoadFailed": "Kunne ikke laste inn papirkurven",
|
||||
"trashEmpty": "Papirkurven er tom",
|
||||
"trashRestore": "Restaurere",
|
||||
"trashRestored": "Gjenopprettet {{name}}",
|
||||
"trashRestoreFailed": "Kunne ikke gjenopprette elementet. Den opprinnelige banen finnes kanskje allerede.",
|
||||
"trashDeletePermanently": "Slett permanent",
|
||||
"trashDeleteConfirm": "Vil du slette {{name}}permanent? Dette kan ikke angres.",
|
||||
"trashPermanentlyDeleted": "Slettet permanent {{name}}",
|
||||
"trashDeleteFailed": "Kunne ikke slette elementet permanent",
|
||||
"trashEmptyAction": "Tøm søppelbøtten",
|
||||
"trashEmptyConfirm": "Vil du slette alle elementene i papirkurven permanent? Dette kan ikke angres.",
|
||||
"trashEmptied": "Søppelet tømt",
|
||||
"trashRetention": "Automatisk opprydding etter (dager)",
|
||||
"trashRetentionSaved": "Oppbevaring av søppel er oppdatert",
|
||||
"trashRetentionFailed": "Kunne ikke oppdatere papirkurven",
|
||||
"trashUnavailableConfirm": "Dette elementet kan ikke flyttes til papirkurven, vanligvis fordi det er på et annet filsystem eller krever utvidede tillatelser. Slette det permanent i stedet?",
|
||||
"recent": "Nylige",
|
||||
"pinned": "Festet",
|
||||
"folderShortcuts": "Mappesnarveier",
|
||||
@@ -303,7 +303,7 @@
|
||||
"operationCompleted": "{{operation}} {{count}} elementer",
|
||||
"downloadFileSuccess": "Fil {{name}} ble lastet ned",
|
||||
"downloadFileFailed": "Nedlasting mislyktes",
|
||||
"downloadingFile": "Downloading {{name}}…",
|
||||
"downloadingFile": "Laster ned {{name}}…",
|
||||
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
||||
"moveTo": "Flytt til {{name}}",
|
||||
"diffCompareWith": "Sammenlign forskjeller med {{name}}",
|
||||
@@ -314,14 +314,14 @@
|
||||
"move": "Flytt",
|
||||
"searchInFile": "Søk i fil (Ctrl+F)",
|
||||
"showKeyboardShortcuts": "Vis tastatursnarveier",
|
||||
"decreaseFontSize": "Decrease font size",
|
||||
"increaseFontSize": "Increase font size",
|
||||
"decreaseFontSize": "Reduser skriftstørrelsen",
|
||||
"increaseFontSize": "Øk skriftstørrelsen",
|
||||
"startWritingMarkdown": "Begynn å skrive markdown-innhold...",
|
||||
"loadingFileComparison": "Laster filsammenligning...",
|
||||
"reload": "Last inn på nytt",
|
||||
"compare": "Sammenlign",
|
||||
"sideBySide": "Side om side",
|
||||
"inline": "Inline",
|
||||
"inline": "Innebygd",
|
||||
"fileComparison": "Filsammenligning: {{file1}} vs {{file2}}",
|
||||
"fileTooLarge": "Fil for stor: {{error}}",
|
||||
"sshConnectionFailed": "SSH-tilkobling mislyktes. Kontroller tilkoblingen til {{name}} ({{ip}}:{{port}})",
|
||||
@@ -329,10 +329,10 @@
|
||||
"connecting": "Kobler til...",
|
||||
"connectedSuccessfully": "Tilkoblet",
|
||||
"totpVerificationFailed": "TOTP-verifisering mislyktes",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"authenticationFailed": "Authentication failed",
|
||||
"incorrectPassphrase": "Incorrect passphrase. Please try again.",
|
||||
"verificationCodePrompt": "Verification code:",
|
||||
"browserSignInFailed": "Påloggingen mislyktes. Prøv på nytt.",
|
||||
"authenticationFailed": "Autentisering mislyktes",
|
||||
"incorrectPassphrase": "Feil passordfrase. Prøv på nytt.",
|
||||
"verificationCodePrompt": "Verifiseringskode:",
|
||||
"changePermissions": "Endre tillatelser",
|
||||
"currentPermissions": "Gjeldende tillatelser",
|
||||
"owner": "Eier",
|
||||
@@ -345,101 +345,101 @@
|
||||
"failedToChangePermissions": "Kunne ikke endre tillatelser",
|
||||
"name": "Navn",
|
||||
"sortByName": "Navn",
|
||||
"sortByDate": "Date Modified",
|
||||
"sortByDate": "Dato endret",
|
||||
"sortBySize": "Størrelse",
|
||||
"ascending": "Ascending",
|
||||
"descending": "Descending",
|
||||
"root": "Root",
|
||||
"new": "New",
|
||||
"sortBy": "Sort By",
|
||||
"items": "Items",
|
||||
"selected": "Selected",
|
||||
"editor": "Editor",
|
||||
"octal": "Octal",
|
||||
"storage": "Storage",
|
||||
"ascending": "Stigende",
|
||||
"descending": "Synkende",
|
||||
"root": "Rot",
|
||||
"new": "Ny",
|
||||
"sortBy": "Sorter etter",
|
||||
"items": "Elementer",
|
||||
"selected": "Valgt",
|
||||
"editor": "Redaktør",
|
||||
"octal": "Oktal",
|
||||
"storage": "Lagring",
|
||||
"disk": "Disk",
|
||||
"used": "Brukt",
|
||||
"of": "av",
|
||||
"toggleSidebar": "Slå av/på sidepanel",
|
||||
"compactLayout": "Use compact layout",
|
||||
"comfortableLayout": "Use comfortable layout",
|
||||
"cannotLoadPdf": "Cannot load PDF",
|
||||
"pdfLoadError": "There was an error loading this PDF file.",
|
||||
"loadingPdf": "Loading PDF...",
|
||||
"loadingPage": "Loading page...",
|
||||
"compactLayout": "Bruk kompakt oppsett",
|
||||
"comfortableLayout": "Bruk komfortabel layout",
|
||||
"cannotLoadPdf": "Kan ikke laste inn PDF-filen",
|
||||
"pdfLoadError": "Det oppsto en feil under lasting av denne PDF-filen.",
|
||||
"loadingPdf": "Laster inn PDF-filen...",
|
||||
"loadingPage": "Laster inn side...",
|
||||
"cancel": "Avbryt",
|
||||
"copiedItems_one": "Copied {{count}} item",
|
||||
"copiedItems_other": "Copied {{count}} items",
|
||||
"deleteCopiedFileFailed": "Could not delete the copy of {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Moved {{count}} item to {{target}}",
|
||||
"dragMovedItems_other": "Moved {{count}} items to {{target}}",
|
||||
"moveBackFileFailed": "Could not move {{name}} back: {{error}}",
|
||||
"copiedItems_one": "Kopierte {{count}} element",
|
||||
"copiedItems_other": "Kopierte {{count}} elementer",
|
||||
"deleteCopiedFileFailed": "Kunne ikke slette kopien av {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Flyttet {{count}} element til {{target}}",
|
||||
"dragMovedItems_other": "Flyttet {{count}} elementer til {{target}}",
|
||||
"moveBackFileFailed": "Kunne ikke flytte {{name}} tilbake: {{error}}",
|
||||
"terminal": "Terminal: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Dragging {{name}} to the desktop",
|
||||
"dragFilesToDesktop": "Dragging {{count}} files to the desktop",
|
||||
"folderDragUnsupported": "Dragging folders to the desktop is not supported yet",
|
||||
"saveToDesktopFailed": "Save failed: {{error}}",
|
||||
"dragFailedDetail": "Drag failed: {{error}}",
|
||||
"videoUnsupported": "Your browser cannot play this video format.",
|
||||
"downloadToPlay": "Download to play it elsewhere",
|
||||
"cannotPreviewType": "Cannot preview this file type",
|
||||
"cannotPreviewTypeHint": "This file type has no preview. Download it to open it in another app."
|
||||
"dragToDesktop": "Dra {{name}} til skrivebordet",
|
||||
"dragFilesToDesktop": "Dra {{count}} filer til skrivebordet",
|
||||
"folderDragUnsupported": "Det støttes ikke ennå å dra mapper til skrivebordet",
|
||||
"saveToDesktopFailed": "Lagring mislyktes: {{error}}",
|
||||
"dragFailedDetail": "Drag mislyktes: {{error}}",
|
||||
"videoUnsupported": "Nettleseren din kan ikke spille av dette videoformatet.",
|
||||
"downloadToPlay": "Last ned for å spille det et annet sted",
|
||||
"cannotPreviewType": "Kan ikke forhåndsvise denne filtypen",
|
||||
"cannotPreviewTypeHint": "Denne filtypen har ingen forhåndsvisning. Last den ned for å åpne den i en annen app."
|
||||
},
|
||||
"sftpTransfer": {
|
||||
"title": "SFTP",
|
||||
"description": "Transfer files between two SSH hosts.",
|
||||
"sourceServer": "Source Server",
|
||||
"destinationServer": "Destination Server",
|
||||
"selectHost": "Select host",
|
||||
"description": "Overfør filer mellom to SSH-verter.",
|
||||
"sourceServer": "Kildeserver",
|
||||
"destinationServer": "Destinasjonsserver",
|
||||
"selectHost": "Velg vert",
|
||||
"noHostSelected": "Ingen vert valgt",
|
||||
"move": "Flytt",
|
||||
"copy": "Kopier",
|
||||
"upload": "Last opp",
|
||||
"itemsSelected": "{{count}} item selected",
|
||||
"itemsSelected_other": "{{count}} items selected",
|
||||
"itemsSelected": "{{count}} element valgt",
|
||||
"itemsSelected_other": "{{count}} elementer valgt",
|
||||
"ready": "Klar",
|
||||
"loadingHosts": "Laster verter...",
|
||||
"name": "Navn",
|
||||
"modified": "Endret",
|
||||
"size": "Størrelse",
|
||||
"noFiles": "No files",
|
||||
"open": "Open",
|
||||
"up": "Up",
|
||||
"noFiles": "Ingen filer",
|
||||
"open": "Åpne",
|
||||
"up": "Opp",
|
||||
"refresh": "Oppdater",
|
||||
"copyToTarget": "Copy to Target Directory",
|
||||
"copyToTarget": "Kopier til målkatalogen",
|
||||
"rename": "Gi nytt navn",
|
||||
"delete": "Slett",
|
||||
"editPermissions": "Edit Permissions",
|
||||
"editPermissions": "Rediger tillatelser",
|
||||
"createNewFolder": "Opprett ny mappe",
|
||||
"deleteSelectedItems": "Delete Selected Items",
|
||||
"deleteConfirm": "Delete {{count}} selected item?",
|
||||
"deleteConfirm_other": "Delete {{count}} selected items?",
|
||||
"deleteSelectedItems": "Slett valgte elementer",
|
||||
"deleteConfirm": "Slette {{count}} valgt element?",
|
||||
"deleteConfirm_other": "Slette {{count}} valgte elementer?",
|
||||
"cancel": "Avbryt",
|
||||
"save": "Lagre",
|
||||
"folderCreated": "Folder created",
|
||||
"itemRenamed": "Item renamed",
|
||||
"actionFailed": "Action failed",
|
||||
"itemsDeleted": "{{count}} item deleted",
|
||||
"itemsDeleted_other": "{{count}} items deleted",
|
||||
"deleteFailed": "Delete failed",
|
||||
"permissionsUpdated": "Permissions updated",
|
||||
"noRemoteSessionConnected": "No remote session connected",
|
||||
"folderCreated": "Mappe opprettet",
|
||||
"itemRenamed": "Elementet har fått nytt navn",
|
||||
"actionFailed": "Handlingen mislyktes",
|
||||
"itemsDeleted": "{{count}} element slettet",
|
||||
"itemsDeleted_other": "{{count}} elementer slettet",
|
||||
"deleteFailed": "Slettingen mislyktes",
|
||||
"permissionsUpdated": "Tillatelser oppdatert",
|
||||
"noRemoteSessionConnected": "Ingen ekstern økt tilkoblet",
|
||||
"failedToListFiles": "Kunne ikke liste filer",
|
||||
"failedToRefresh": "Failed to refresh",
|
||||
"destinationInsideSource": "Destination cannot be inside the selected source path.",
|
||||
"sameHostNoOp": "Source and destination are the same folder."
|
||||
"failedToRefresh": "Kunne ikke laste inn på nytt",
|
||||
"destinationInsideSource": "Destinasjonen kan ikke være innenfor den valgte kildebanen.",
|
||||
"sameHostNoOp": "Kilde og destinasjon er i samme mappe."
|
||||
},
|
||||
"hosts": {
|
||||
"fileManager": "Filbehandler",
|
||||
"fileManagerUrlCopied": "File Manager URL copied",
|
||||
"copyFileManagerUrlAction": "Copy File Manager URL",
|
||||
"docsLink": "View docs",
|
||||
"hostNotFound": "Host not found",
|
||||
"loadingHost": "Loading host..."
|
||||
"fileManagerUrlCopied": "URL-adressen til filbehandleren er kopiert",
|
||||
"copyFileManagerUrlAction": "Kopier URL-adressen til filbehandleren",
|
||||
"docsLink": "Vis dokumenter",
|
||||
"hostNotFound": "Verten ble ikke funnet",
|
||||
"loadingHost": "Laster inn vert ..."
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_files": "File manager",
|
||||
"feature_files_desc": "Browse, upload, download and edit files over SFTP without leaving the app."
|
||||
"feature_files": "Filbehandler",
|
||||
"feature_files_desc": "Bla gjennom, last opp, last ned og rediger filer via SFTP uten å forlate appen."
|
||||
},
|
||||
"terminal": {
|
||||
"runTitle": "Kjører {{command}} - {{host}}",
|
||||
@@ -447,97 +447,97 @@
|
||||
"terminalWithPath": "Terminal - {{host}}:{{path}}"
|
||||
},
|
||||
"transfer": {
|
||||
"browseFolders": "Browse destination folders",
|
||||
"browsePathError": "Could not open this path on the destination host.",
|
||||
"browsePathWillBeCreated": "This folder does not exist yet. It will be created when the transfer starts.",
|
||||
"browseFolders": "Bla gjennom målmapper",
|
||||
"browsePathError": "Kunne ikke åpne denne banen på målverten.",
|
||||
"browsePathWillBeCreated": "Denne mappen finnes ikke ennå. Den vil bli opprettet når overføringen starter.",
|
||||
"cancel": "Avbryt",
|
||||
"cleanupDestFiles": "Clean up destination",
|
||||
"cleanupDestFilesError": "Cleanup failed",
|
||||
"cleanupDestFilesNothing": "Nothing to clean up on the destination",
|
||||
"cleanupDestFilesPartial": "Some partial files could not be removed",
|
||||
"cleanupDestFilesSuccess": "Removed partial files from the destination",
|
||||
"cleanupDestFiles": "Rydd opp destinasjonen",
|
||||
"cleanupDestFilesError": "Opprydding mislyktes",
|
||||
"cleanupDestFilesNothing": "Ingenting å rydde opp i på destinasjonen",
|
||||
"cleanupDestFilesPartial": "Kunne ikke fjerne noen delvise filer",
|
||||
"cleanupDestFilesSuccess": "Fjernet delvise filer fra destinasjonen",
|
||||
"confirmCopy": "Kopier",
|
||||
"confirmMove": "Flytt",
|
||||
"copyFolderToHost": "Copy folder to host…",
|
||||
"copyItemsToHost": "Copy {{count}} items to host…",
|
||||
"copyToHost": "Copy to host…",
|
||||
"destinationPath": "Destination path",
|
||||
"destMustBeDirectory": "Destination must be a directory for multi-item transfers",
|
||||
"goUp": "Go up",
|
||||
"hostAuthRequired": "Authentication required. Open File Manager on this host first",
|
||||
"hostConnecting": "Connecting…",
|
||||
"copyFolderToHost": "Kopier mappe til vert…",
|
||||
"copyItemsToHost": "Kopier {{count}} elementer til vert for…",
|
||||
"copyToHost": "Kopier til vert…",
|
||||
"destinationPath": "Destinasjonssti",
|
||||
"destMustBeDirectory": "Destinasjonen må være en katalog for overføringer av flere elementer",
|
||||
"goUp": "Gå opp",
|
||||
"hostAuthRequired": "Autentisering kreves. Åpne Filbehandler på denne verten først",
|
||||
"hostConnecting": "Kobler til…",
|
||||
"hostConnectionFailed": "Tilkobling mislyktes",
|
||||
"hostDisconnected": "Not connected",
|
||||
"hostDisconnected": "Ikke tilkoblet",
|
||||
"hostReady": "Klar",
|
||||
"itemsSummary": "{{count}} elementer",
|
||||
"jumpHostLimitation": "Both hosts must be reachable from the Termix server. Direct host-to-host routing is not supported.",
|
||||
"methodAuto": "Auto",
|
||||
"methodAutoHint": "Picks tar or per-file SFTP based on file count, size, and compressibility. Single files always use streaming SFTP.",
|
||||
"methodItemSftp": "Per-file SFTP",
|
||||
"methodItemSftpHint": "Transfer each file individually over SFTP. Works on all hosts including Windows.",
|
||||
"methodItemSftpLimitation": "Each file uses the same SFTP stream as a single-file copy, one after another. Progress is combined across all files, so the bar moves slowly during large files.",
|
||||
"methodLabel": "Transfer method",
|
||||
"methodPreviewError": "Could not preview transfer method. The server will still pick a method when you start.",
|
||||
"methodPreviewLoading": "Calculating transfer method…",
|
||||
"methodPreviewScanSummary": "{{fileCount}} files, {{totalSize}} total (scanned on source host).",
|
||||
"methodPreviewWillUseItemSftp": "Will use: Per-file SFTP",
|
||||
"methodPreviewWillUseTar": "Will use: Tar archive",
|
||||
"jumpHostLimitation": "Begge vertene må være tilgjengelige fra Termix-serveren. Direkte vert-til-vert-ruting støttes ikke.",
|
||||
"methodAuto": "Bil",
|
||||
"methodAutoHint": "Velger tar eller SFTP per fil basert på antall filer, størrelse og komprimerbarhet. Enkeltfiler bruker alltid strømme-SFTP.",
|
||||
"methodItemSftp": "SFTP per fil",
|
||||
"methodItemSftpHint": "Overfør hver fil individuelt via SFTP. Fungerer på alle verter, inkludert Windows.",
|
||||
"methodItemSftpLimitation": "Hver fil bruker den samme SFTP-strømmen som en enkeltfilskopi, én etter én. Fremdriften kombineres på tvers av alle filene, så linjen beveger seg sakte under store filer.",
|
||||
"methodLabel": "Overføringsmetode",
|
||||
"methodPreviewError": "Kunne ikke forhåndsvise overføringsmetoden. Serveren vil fortsatt velge en metode når du starter.",
|
||||
"methodPreviewLoading": "Beregning av overføringsmetode…",
|
||||
"methodPreviewScanSummary": "{{fileCount}} filer, {{totalSize}} totalt (skannet på kildeverten).",
|
||||
"methodPreviewWillUseItemSftp": "Vil bruke: SFTP per fil",
|
||||
"methodPreviewWillUseTar": "Vil bruke: Tar-arkiv",
|
||||
"methodReason": {
|
||||
"user_item_sftp": "You chose per-file SFTP.",
|
||||
"user_tar": "You chose tar archive.",
|
||||
"tar_unavailable": "Tar is not available on one or both hosts, so per-file SFTP will be used instead.",
|
||||
"windows_host": "A Windows host is involved, so tar is not used.",
|
||||
"auto_multi_large": "Auto: multiple files including a large file ({{largestSize}}) with compressible data. Tar bundles them into one transfer.",
|
||||
"auto_single_large_in_archive": "Auto: one large file ({{largestSize}}) in this set, so per-file SFTP.",
|
||||
"auto_many_incompressible": "Auto: mostly incompressible data, so per-file SFTP.",
|
||||
"auto_many_files": "Auto: many files ({{fileCount}}), tar cuts the per-file overhead.",
|
||||
"auto_default": "Auto: per-file SFTP for this set."
|
||||
"user_item_sftp": "Du valgte SFTP per fil.",
|
||||
"user_tar": "Du valgte tar-arkiv.",
|
||||
"tar_unavailable": "Tar er ikke tilgjengelig på én eller begge vertene, så SFTP per fil vil bli brukt i stedet.",
|
||||
"windows_host": "En Windows-vert er involvert, så tar brukes ikke.",
|
||||
"auto_multi_large": "Auto: flere filer, inkludert en stor fil ({{largestSize}}) med komprimerbare data. Tar samler dem i én overføring.",
|
||||
"auto_single_large_in_archive": "Auto: én stor fil ({{largestSize}}) i dette settet, så SFTP per fil.",
|
||||
"auto_many_incompressible": "Auto: stort sett inkomprimerbare data, så SFTP per fil.",
|
||||
"auto_many_files": "Auto: mange filer ({{fileCount}}), tar reduserer overhead per fil.",
|
||||
"auto_default": "Auto: SFTP per fil for dette settet."
|
||||
},
|
||||
"methodTar": "Tar archive",
|
||||
"methodTarHint": "Compress on source, transfer one archive, extract on destination. Requires tar on both Unix hosts.",
|
||||
"metricsCompress": "Compress on source: {{duration}}",
|
||||
"metricsExtract": "Extract on destination: {{duration}}",
|
||||
"metricsPrepare": "Prepare destination: {{duration}}",
|
||||
"metricsRouteBenchmark": "Route probe: direct {{direct}}, relay {{relay}}",
|
||||
"metricsSourceDelete": "Remove from source: {{duration}}",
|
||||
"metricsTotal": "Total: {{duration}}",
|
||||
"metricsTransfer": "End-to-end: {{throughput}} ({{duration}})",
|
||||
"metricsVerify": "SHA-256 verified: {{duration}}",
|
||||
"moveFolderToHost": "Move folder to host…",
|
||||
"moveItemsToHost": "Move {{count}} items to host…",
|
||||
"moveToHost": "Move to host…",
|
||||
"noHostsConnected": "No other file-manager hosts available.",
|
||||
"noHostsConnectedHint": "Add another SSH host with File Manager enabled in Host Manager.",
|
||||
"parallelSegmentsHint": "Large files are split into 256 MB chunks. Multiple lanes use separate connections (like starting several transfers) for higher total throughput.",
|
||||
"parallelSegmentsLabel": "Parallel transfer lanes",
|
||||
"parallelSegmentsOption": "{{count}} lanes",
|
||||
"progressBenchmarking": "Selecting the fastest transfer route…",
|
||||
"methodTar": "Tar-arkiv",
|
||||
"methodTarHint": "Komprimer på kildekode, overfør ett arkiv, pakk ut på destinasjon. Krever tar på begge Unix-vertene.",
|
||||
"metricsCompress": "Komprimer på kilde: {{duration}}",
|
||||
"metricsExtract": "Uttrekk på destinasjon: {{duration}}",
|
||||
"metricsPrepare": "Forbered destinasjon: {{duration}}",
|
||||
"metricsRouteBenchmark": "Rutesonde: direkte {{direct}}, relé {{relay}}",
|
||||
"metricsSourceDelete": "Fjern fra kilden: {{duration}}",
|
||||
"metricsTotal": "Totalt: {{duration}}",
|
||||
"metricsTransfer": "Ende-til-ende: {{throughput}} ({{duration}})",
|
||||
"metricsVerify": "SHA-256 bekreftet: {{duration}}",
|
||||
"moveFolderToHost": "Flytt mappen til verten…",
|
||||
"moveItemsToHost": "Flytt {{count}} elementer til vert for…",
|
||||
"moveToHost": "Flytt til vert…",
|
||||
"noHostsConnected": "Ingen andre filbehandlerverter tilgjengelig.",
|
||||
"noHostsConnectedHint": "Legg til en annen SSH-vert med Filbehandling aktivert i Vertsbehandling.",
|
||||
"parallelSegmentsHint": "Store filer deles inn i deler på 256 MB. Flere baner bruker separate tilkoblinger (som å starte flere overføringer) for høyere total gjennomstrømning.",
|
||||
"parallelSegmentsLabel": "Parallelle overføringsfelt",
|
||||
"parallelSegmentsOption": "{{count}} baner",
|
||||
"progressBenchmarking": "Velge den raskeste overgangsruten…",
|
||||
"progressBytes": "{{transferred}} / {{total}}",
|
||||
"progressCancel": "Avbryt",
|
||||
"progressCancelling": "Cancelling…",
|
||||
"progressCompressing": "Compressing on source host…",
|
||||
"progressExtracting": "Extracting on destination…",
|
||||
"progressItems": "{{current}} / {{total}} files",
|
||||
"progressReconnecting": "Reconnecting…",
|
||||
"progressStalled": "Stalled",
|
||||
"progressTotalSpeed": "{{speed}} total ({{lanes}} lanes)",
|
||||
"progressTransferring": "Transferring data…",
|
||||
"progressTransferringItems": "Transferring files ({{current}} of {{total}})…",
|
||||
"progressVerifying": "Verifying file integrity…",
|
||||
"recentDestinations": "Recent destinations",
|
||||
"resumedHint": "Reconnected to an active transfer started in another window.",
|
||||
"progressCancelling": "Avbryter…",
|
||||
"progressCompressing": "Komprimering på kildevert…",
|
||||
"progressExtracting": "Uttrekker på destinasjon…",
|
||||
"progressItems": "{{current}} / {{total}} filer",
|
||||
"progressReconnecting": "Kobler til igjen…",
|
||||
"progressStalled": "Fastlåst",
|
||||
"progressTotalSpeed": "{{speed}} totalt ({{lanes}} baner)",
|
||||
"progressTransferring": "Overføring av data…",
|
||||
"progressTransferringItems": "Overføring av filer ({{current}} av {{total}})…",
|
||||
"progressVerifying": "Verifiserer filintegritet…",
|
||||
"recentDestinations": "Nylige destinasjoner",
|
||||
"resumedHint": "Koblet til igjen en aktiv overføring som startet i et annet vindu.",
|
||||
"retryTransfer": "Prøv igjen",
|
||||
"retryTransferError": "Retry failed",
|
||||
"selectDestinationHost": "Select destination host",
|
||||
"transferCancelled": "Transfer cancelled",
|
||||
"transferCancelledCopyHint": "Partial files may remain on the destination.",
|
||||
"transferCancelledMoveHint": "Partial files may remain on the destination. Source files were not removed.",
|
||||
"transferError": "Transfer failed",
|
||||
"transferFailedRetryHint": "Partial data was kept on the destination. Retry will resume when the connection is back.",
|
||||
"transferPartialHint": "Could not transfer: {{paths}}",
|
||||
"transferSuccess": "Transfer complete",
|
||||
"metricsHopSourceRead": "Source → server: {{throughput}}",
|
||||
"metricsHopDestSftpWrite": "Server → dest (SFTP): {{throughput}}",
|
||||
"metricsHopDestLocalWrite": "Server → dest (local): {{throughput}}"
|
||||
"retryTransferError": "Forsøk på nytt mislyktes",
|
||||
"selectDestinationHost": "Velg destinasjonsvert",
|
||||
"transferCancelled": "Overføringen er avbrutt",
|
||||
"transferCancelledCopyHint": "Delvise filer kan bli liggende igjen på destinasjonen.",
|
||||
"transferCancelledMoveHint": "Delvise filer kan bli liggende igjen på destinasjonen. Kildefilene ble ikke fjernet.",
|
||||
"transferError": "Overføringen mislyktes",
|
||||
"transferFailedRetryHint": "Delvise data ble lagret på destinasjonen. Forsøket gjenopptas når forbindelsen er tilbake.",
|
||||
"transferPartialHint": "Kunne ikke overføre: {{paths}}",
|
||||
"transferSuccess": "Overføringen er fullført",
|
||||
"metricsHopSourceRead": "Kilde → server: {{throughput}}",
|
||||
"metricsHopDestSftpWrite": "Server → destinasjon (SFTP): {{throughput}}",
|
||||
"metricsHopDestLocalWrite": "Server → dest (lokal): {{throughput}}"
|
||||
}
|
||||
}
|
||||
@@ -6,15 +6,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use file manager",
|
||||
"description": "Browse, edit and transfer files over SFTP."
|
||||
"title": "Użyj menedżera plików",
|
||||
"description": "Przeglądaj, edytuj i przesyłaj pliki przez SFTP."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Włącz menedżer plików",
|
||||
"description": "Browse and edit files on this host over SFTP."
|
||||
"description": "Przeglądaj i edytuj pliki na tym hoście przez SFTP."
|
||||
},
|
||||
"defaultPath": {
|
||||
"label": "Domyślna ścieżka"
|
||||
@@ -25,12 +25,12 @@
|
||||
},
|
||||
"user": {
|
||||
"transferConcurrency": {
|
||||
"label": "Simultaneous File Transfers",
|
||||
"description": "How many files the side by side local/remote manager uploads or downloads at the same time. Lower this if your server limits SFTP channels."
|
||||
"label": "Jednoczesne przesyłanie plików",
|
||||
"description": "Ile plików lokalny/zdalny menedżer obok siebie przesyła lub pobiera jednocześnie? Zmniejsz tę wartość, jeśli Twój serwer ogranicza kanały SFTP."
|
||||
},
|
||||
"confirmBeforeTrash": {
|
||||
"label": "Confirm before moving files to trash",
|
||||
"description": "Ask before moving remote files to trash. Permanent deletion still requires confirmation."
|
||||
"label": "Potwierdź przed przeniesieniem plików do kosza",
|
||||
"description": "Zapytaj przed przeniesieniem plików zdalnych do kosza. Trwałe usunięcie nadal wymaga potwierdzenia."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -72,7 +72,7 @@
|
||||
"rename": "Zmień nazwę",
|
||||
"uploading": "Przesyłanie...",
|
||||
"uploadingFile": "Przesyłanie {{name}}...",
|
||||
"uploadingChunk": "Uploading {{name}}: {{percent}}% (part {{chunk}} of {{total}})",
|
||||
"uploadingChunk": "Przesyłanie {{name}}: {{percent}}% (część {{chunk}} z {{total}})",
|
||||
"fileName": "Nazwa pliku",
|
||||
"folderName": "Nazwa folderu",
|
||||
"fileUploadedSuccessfully": "Plik „{{name}}” został pomyślnie przesłany",
|
||||
@@ -95,58 +95,58 @@
|
||||
"sudoOperationFailed": "Operacja sudo nie powiodła się",
|
||||
"sudoAuthFailed": "Uwierzytelnianie sudo nie powiodło się",
|
||||
"dragFilesToUpload": "Upuść pliki tutaj, aby je przesłać",
|
||||
"dropToUploadHere": "Drop to upload here",
|
||||
"dropToDownloadHere": "Drop to download here",
|
||||
"dropToUploadHere": "Upuść, aby przesłać tutaj",
|
||||
"dropToDownloadHere": "Upuść, aby pobrać tutaj",
|
||||
"localFiles": "Lokalne",
|
||||
"showLocalFiles": "Show local files (split view)",
|
||||
"hideLocalFiles": "Hide local files",
|
||||
"localHome": "Home folder",
|
||||
"localPathPlaceholder": "Local folder path",
|
||||
"localShowHidden": "Show hidden files",
|
||||
"localHideHidden": "Hide hidden files",
|
||||
"localRevealInFileManager": "Reveal in system file manager",
|
||||
"localCannotOpenFolder": "Cannot open folder",
|
||||
"showLocalFiles": "Pokaż pliki lokalne (widok podzielony)",
|
||||
"hideLocalFiles": "Ukryj pliki lokalne",
|
||||
"localHome": "Folder domowy",
|
||||
"localPathPlaceholder": "Ścieżka do folderu lokalnego",
|
||||
"localShowHidden": "Pokaż ukryte pliki",
|
||||
"localHideHidden": "Ukryj ukryte pliki",
|
||||
"localRevealInFileManager": "Pokaż w menedżerze plików systemowych",
|
||||
"localCannotOpenFolder": "Nie można otworzyć folderu",
|
||||
"localItemCount": "{{count}} elementów",
|
||||
"localSelectedCount": "Zaznaczono: {{count}}",
|
||||
"back": "Wstecz",
|
||||
"forward": "Forward",
|
||||
"up": "Up",
|
||||
"kind": "Kind",
|
||||
"localUploadingProgress": "Uploading {{current}} of {{total}}",
|
||||
"localDownloadingProgress": "Downloading {{current}} of {{total}}",
|
||||
"localTransferInFlight": "{{count}} at once",
|
||||
"localPreparingDownload": "Preparing download...",
|
||||
"forward": "Do przodu",
|
||||
"up": "W górę",
|
||||
"kind": "Uprzejmy",
|
||||
"localUploadingProgress": "Przesyłanie {{current}} z {{total}}",
|
||||
"localDownloadingProgress": "Pobieranie {{current}} z {{total}}",
|
||||
"localTransferInFlight": "{{count}} natychmiast",
|
||||
"localPreparingDownload": "Przygotowywanie do pobrania...",
|
||||
"localTransferCancelled": "Transfer anulowany",
|
||||
"localNothingToTransfer": "Nothing to transfer",
|
||||
"localUploadComplete": "Uploaded {{count}} file(s)",
|
||||
"localUploadFailed": "Upload failed",
|
||||
"localNothingToTransfer": "Nic do przeniesienia",
|
||||
"localUploadComplete": "Przesłano {{count}} plików",
|
||||
"localUploadFailed": "Przesyłanie nie powiodło się",
|
||||
"localUploadPartial": "Przesłano {{done}} plików, {{failed}} nie powiodło się",
|
||||
"localDownloadComplete": "Downloaded {{count}} file(s)",
|
||||
"localDownloadComplete": "Pobrano {{count}} plików",
|
||||
"localDownloadFailed": "Pobieranie nie powiodło się",
|
||||
"localDownloadPartial": "Downloaded {{done}} file(s), {{failed}} failed",
|
||||
"localReplaceExistingPrompt": "{{count}} item(s) already exist in this folder. Replace them?",
|
||||
"localDownloadPartial": "Pobrano {{done}} plików, {{failed}} nie powiodło się",
|
||||
"localReplaceExistingPrompt": "W tym folderze istnieje już {{count}} elementów. Czy je zastąpić?",
|
||||
"localReplace": "Zamień",
|
||||
"localSkipExisting": "Skip",
|
||||
"localSkippedExisting": "Skipped {{count}} existing item(s)",
|
||||
"localUnsafeNamesSkipped": "Skipped {{count}} item(s) whose names cannot be used on this computer",
|
||||
"localSkipExisting": "Pominąć",
|
||||
"localSkippedExisting": "Pominięto {{count}} istniejących elementów",
|
||||
"localUnsafeNamesSkipped": "Pominięto {{count}} elementów, których nazw nie można używać na tym komputerze",
|
||||
"localOpen": "Otwórz",
|
||||
"localOpenFolder": "Open folder",
|
||||
"localUploadToRemote": "Upload to server",
|
||||
"localUploadToRemoteMany": "Upload {{count}} items to server",
|
||||
"localMoveToTrash": "Move to Trash",
|
||||
"localMoveToTrashMany": "Move {{count}} items to Trash",
|
||||
"localTrashConfirmSingle": "Move \"{{name}}\" to the Trash?",
|
||||
"localTrashConfirmFolder": "Move the folder \"{{name}}\" and all its contents to the Trash?",
|
||||
"localTrashConfirmMany": "Move {{count}} items to the Trash?",
|
||||
"localTrashed": "Moved {{count}} item(s) to the Trash",
|
||||
"localTrashFailed": "Could not move to the Trash",
|
||||
"localRenameFailed": "Rename failed",
|
||||
"localCreateFailed": "Could not create item",
|
||||
"goToParentFolder": "Go to parent folder",
|
||||
"resizeSidebar": "Drag to resize the sidebar (double-click to reset)",
|
||||
"resizeLocalPane": "Drag to resize the local pane (double-click to reset)",
|
||||
"localOpenFolder": "Otwórz folder",
|
||||
"localUploadToRemote": "Prześlij na serwer",
|
||||
"localUploadToRemoteMany": "Prześlij {{count}} elementów na serwer",
|
||||
"localMoveToTrash": "Przenieś do kosza",
|
||||
"localMoveToTrashMany": "Przenieś {{count}} elementów do Kosza",
|
||||
"localTrashConfirmSingle": "Przenieść „{{name}}” do Kosza?",
|
||||
"localTrashConfirmFolder": "Czy przenieść folder „{{name}}” i całą jego zawartość do Kosza?",
|
||||
"localTrashConfirmMany": "Przenieść {{count}} elementów do Kosza?",
|
||||
"localTrashed": "Przeniesiono {{count}} elementów do Kosza",
|
||||
"localTrashFailed": "Nie można przenieść do Kosza",
|
||||
"localRenameFailed": "Zmiana nazwy nie powiodła się",
|
||||
"localCreateFailed": "Nie można utworzyć elementu",
|
||||
"goToParentFolder": "Przejdź do folderu nadrzędnego",
|
||||
"resizeSidebar": "Przeciągnij, aby zmienić rozmiar paska bocznego (kliknij dwukrotnie, aby zresetować)",
|
||||
"resizeLocalPane": "Przeciągnij, aby zmienić rozmiar panelu lokalnego (kliknij dwukrotnie, aby zresetować)",
|
||||
"columns": "Kolumny",
|
||||
"columnsHint": "Right-click to choose columns",
|
||||
"columnsHint": "Kliknij prawym przyciskiem myszy, aby wybrać kolumny",
|
||||
"emptyFolder": "Ten folder jest pusty",
|
||||
"searchFiles": "Wyszukaj pliki...",
|
||||
"upload": "Prześlij",
|
||||
@@ -329,7 +329,7 @@
|
||||
"connecting": "Łączenie...",
|
||||
"connectedSuccessfully": "Połączono pomyślnie",
|
||||
"totpVerificationFailed": "Weryfikacja TOTP nie powiodła się",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "Logowanie nie powiodło się. Spróbuj ponownie.",
|
||||
"authenticationFailed": "Uwierzytelnianie nie powiodło się",
|
||||
"incorrectPassphrase": "Nieprawidłowe hasło klucza. Spróbuj ponownie.",
|
||||
"verificationCodePrompt": "Kod weryfikacyjny:",
|
||||
@@ -361,73 +361,73 @@
|
||||
"used": "Użyte",
|
||||
"of": "z",
|
||||
"toggleSidebar": "Przełącz pasek boczny",
|
||||
"compactLayout": "Use compact layout",
|
||||
"comfortableLayout": "Use comfortable layout",
|
||||
"compactLayout": "Użyj kompaktowego układu",
|
||||
"comfortableLayout": "Użyj wygodnego układu",
|
||||
"cannotLoadPdf": "Nie można załadować pliku PDF",
|
||||
"pdfLoadError": "Wystąpił błąd podczas ładowania pliku PDF.",
|
||||
"loadingPdf": "Ładowanie pliku PDF...",
|
||||
"loadingPage": "Ładowanie strony...",
|
||||
"cancel": "Anuluj",
|
||||
"copiedItems_one": "Copied {{count}} item",
|
||||
"copiedItems_other": "Copied {{count}} items",
|
||||
"deleteCopiedFileFailed": "Could not delete the copy of {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Moved {{count}} item to {{target}}",
|
||||
"dragMovedItems_other": "Moved {{count}} items to {{target}}",
|
||||
"moveBackFileFailed": "Could not move {{name}} back: {{error}}",
|
||||
"copiedItems_one": "Skopiowano element {{count}}",
|
||||
"copiedItems_other": "Skopiowano {{count}} elementów",
|
||||
"deleteCopiedFileFailed": "Nie można usunąć kopii {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Przeniesiono {{count}} element do {{target}}",
|
||||
"dragMovedItems_other": "Przeniesiono {{count}} elementów do {{target}}",
|
||||
"moveBackFileFailed": "Nie można przesunąć {{name}} wstecz: {{error}}",
|
||||
"terminal": "Terminal: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Dragging {{name}} to the desktop",
|
||||
"dragFilesToDesktop": "Dragging {{count}} files to the desktop",
|
||||
"folderDragUnsupported": "Dragging folders to the desktop is not supported yet",
|
||||
"saveToDesktopFailed": "Save failed: {{error}}",
|
||||
"dragFailedDetail": "Drag failed: {{error}}",
|
||||
"videoUnsupported": "Your browser cannot play this video format.",
|
||||
"downloadToPlay": "Download to play it elsewhere",
|
||||
"cannotPreviewType": "Cannot preview this file type",
|
||||
"cannotPreviewTypeHint": "This file type has no preview. Download it to open it in another app."
|
||||
"dragToDesktop": "Przeciąganie {{name}} na pulpit",
|
||||
"dragFilesToDesktop": "Przeciąganie plików {{count}} na pulpit",
|
||||
"folderDragUnsupported": "Przeciąganie folderów na pulpit nie jest jeszcze obsługiwane",
|
||||
"saveToDesktopFailed": "Nie udało się zapisać: {{error}}",
|
||||
"dragFailedDetail": "Nie udało się przeciągnąć: {{error}}",
|
||||
"videoUnsupported": "Twoja przeglądarka nie może odtworzyć tego formatu wideo.",
|
||||
"downloadToPlay": "Pobierz, aby odtworzyć w innym miejscu",
|
||||
"cannotPreviewType": "Nie można wyświetlić podglądu tego typu pliku",
|
||||
"cannotPreviewTypeHint": "Ten typ pliku nie ma podglądu. Pobierz go, aby otworzyć w innej aplikacji."
|
||||
},
|
||||
"sftpTransfer": {
|
||||
"title": "SFTP",
|
||||
"description": "Transfer files between two SSH hosts.",
|
||||
"sourceServer": "Source Server",
|
||||
"destinationServer": "Destination Server",
|
||||
"selectHost": "Select host",
|
||||
"description": "Przesyłanie plików pomiędzy dwoma hostami SSH.",
|
||||
"sourceServer": "Serwer źródłowy",
|
||||
"destinationServer": "Serwer docelowy",
|
||||
"selectHost": "Wybierz hosta",
|
||||
"noHostSelected": "Nie wybrano hosta",
|
||||
"move": "Przenieś",
|
||||
"copy": "Kopiuj",
|
||||
"upload": "Prześlij",
|
||||
"itemsSelected": "{{count}} item selected",
|
||||
"itemsSelected_other": "{{count}} items selected",
|
||||
"itemsSelected": "{{count}} wybrano element",
|
||||
"itemsSelected_other": "Wybrano {{count}} elementów",
|
||||
"ready": "Gotowy",
|
||||
"loadingHosts": "Ładowanie hostów...",
|
||||
"name": "Nazwa",
|
||||
"modified": "Zmodyfikowano",
|
||||
"size": "Rozmiar",
|
||||
"noFiles": "No files",
|
||||
"noFiles": "Brak plików",
|
||||
"open": "Otwórz",
|
||||
"up": "Up",
|
||||
"up": "W górę",
|
||||
"refresh": "Odśwież",
|
||||
"copyToTarget": "Copy to Target Directory",
|
||||
"copyToTarget": "Kopiuj do katalogu docelowego",
|
||||
"rename": "Zmień nazwę",
|
||||
"delete": "Usuń",
|
||||
"editPermissions": "Edit Permissions",
|
||||
"createNewFolder": "Create New Folder",
|
||||
"deleteSelectedItems": "Delete Selected Items",
|
||||
"deleteConfirm": "Delete {{count}} selected item?",
|
||||
"deleteConfirm_other": "Delete {{count}} selected items?",
|
||||
"editPermissions": "Edytuj uprawnienia",
|
||||
"createNewFolder": "Utwórz nowy folder",
|
||||
"deleteSelectedItems": "Usuń wybrane elementy",
|
||||
"deleteConfirm": "Usunąć {{count}} wybrany element?",
|
||||
"deleteConfirm_other": "Usunąć {{count}} wybranych elementów?",
|
||||
"cancel": "Anuluj",
|
||||
"save": "Zapisz",
|
||||
"folderCreated": "Folder created",
|
||||
"itemRenamed": "Item renamed",
|
||||
"folderCreated": "Utworzono folder",
|
||||
"itemRenamed": "Zmieniono nazwę elementu",
|
||||
"actionFailed": "Akcja nie powiodła się",
|
||||
"itemsDeleted": "{{count}} item deleted",
|
||||
"itemsDeleted_other": "{{count}} items deleted",
|
||||
"deleteFailed": "Delete failed",
|
||||
"permissionsUpdated": "Permissions updated",
|
||||
"noRemoteSessionConnected": "No remote session connected",
|
||||
"failedToListFiles": "Failed to list files",
|
||||
"failedToRefresh": "Failed to refresh",
|
||||
"destinationInsideSource": "Destination cannot be inside the selected source path.",
|
||||
"sameHostNoOp": "Source and destination are the same folder."
|
||||
"itemsDeleted": "{{count}} element usunięty",
|
||||
"itemsDeleted_other": "Usunięto {{count}} elementów",
|
||||
"deleteFailed": "Usunięcie nie powiodło się",
|
||||
"permissionsUpdated": "Zaktualizowano uprawnienia",
|
||||
"noRemoteSessionConnected": "Brak połączonych sesji zdalnych",
|
||||
"failedToListFiles": "Nie udało się wyświetlić listy plików",
|
||||
"failedToRefresh": "Nie udało się odświeżyć",
|
||||
"destinationInsideSource": "Miejsce docelowe nie może znajdować się wewnątrz wybranej ścieżki źródłowej.",
|
||||
"sameHostNoOp": "Źródło i cel znajdują się w tym samym folderze."
|
||||
},
|
||||
"hosts": {
|
||||
"fileManager": "Menedżer plików",
|
||||
@@ -464,7 +464,7 @@
|
||||
"destinationPath": "Ścieżka docelowa",
|
||||
"destMustBeDirectory": "Miejsce docelowe musi być katalogiem przy transferze wielu elementów",
|
||||
"goUp": "W górę",
|
||||
"hostAuthRequired": "Authentication required. Open File Manager on this host first",
|
||||
"hostAuthRequired": "Wymagane uwierzytelnienie. Najpierw otwórz Menedżera plików na tym hoście.",
|
||||
"hostConnecting": "Łączenie…",
|
||||
"hostConnectionFailed": "Połączenie nieudane",
|
||||
"hostDisconnected": "Nie połączono",
|
||||
@@ -485,12 +485,12 @@
|
||||
"methodReason": {
|
||||
"user_item_sftp": "Wybrano SFTP dla poszczególnych plików.",
|
||||
"user_tar": "Wybrano archiwum tar.",
|
||||
"tar_unavailable": "Tar is not available on one or both hosts, so per-file SFTP will be used instead.",
|
||||
"windows_host": "A Windows host is involved, so tar is not used.",
|
||||
"auto_multi_large": "Auto: multiple files including a large file ({{largestSize}}) with compressible data. Tar bundles them into one transfer.",
|
||||
"auto_single_large_in_archive": "Auto: one large file ({{largestSize}}) in this set, so per-file SFTP.",
|
||||
"auto_many_incompressible": "Auto: mostly incompressible data, so per-file SFTP.",
|
||||
"auto_many_files": "Auto: many files ({{fileCount}}), tar cuts the per-file overhead.",
|
||||
"tar_unavailable": "Tar nie jest dostępny na jednym lub obu hostach, więc zamiast tego używany będzie protokół SFTP dla każdego pliku.",
|
||||
"windows_host": "Ponieważ wykorzystywany jest host Windows, nie używa się pliku tar.",
|
||||
"auto_multi_large": "Auto: wiele plików, w tym duży plik ({{largestSize}}) z kompresowalnymi danymi. Tar łączy je w jeden transfer.",
|
||||
"auto_single_large_in_archive": "Auto: jeden duży plik ({{largestSize}}) w tym zestawie, więc SFTP dla każdego pliku.",
|
||||
"auto_many_incompressible": "Auto: dane w większości niekompresowalne, więc SFTP dla każdego pliku.",
|
||||
"auto_many_files": "Auto: wiele plików ({{fileCount}}), tar redukuje narzut na plik.",
|
||||
"auto_default": "Auto: SFTP dla każdego pliku w tym zestawie."
|
||||
},
|
||||
"methodTar": "Archiwum tar",
|
||||
@@ -498,7 +498,7 @@
|
||||
"metricsCompress": "Kompresja w źródle: {{duration}}",
|
||||
"metricsExtract": "Rozpakowanie w miejscu docelowym: {{duration}}",
|
||||
"metricsPrepare": "Przygotowanie miejsca docelowego: {{duration}}",
|
||||
"metricsRouteBenchmark": "Route probe: direct {{direct}}, relay {{relay}}",
|
||||
"metricsRouteBenchmark": "Sonda trasy: bezpośrednia {{direct}}, przekaźnikowa {{relay}}",
|
||||
"metricsSourceDelete": "Usunięcie ze źródła: {{duration}}",
|
||||
"metricsTotal": "Razem: {{duration}}",
|
||||
"metricsTransfer": "Całościowo: {{throughput}} ({{duration}})",
|
||||
|
||||
@@ -6,31 +6,31 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use file manager",
|
||||
"description": "Browse, edit and transfer files over SFTP."
|
||||
"title": "Use o gerenciador de arquivos",
|
||||
"description": "Navegue, edite e transfira arquivos via SFTP."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Ativar Gerenciador de Arquivos",
|
||||
"description": "Browse and edit files on this host over SFTP."
|
||||
"description": "Navegue e edite arquivos neste servidor via SFTP."
|
||||
},
|
||||
"defaultPath": {
|
||||
"label": "Caminho padrão"
|
||||
},
|
||||
"scpLegacy": {
|
||||
"label": "SCP Legacy Mode"
|
||||
"label": "Modo Legado SCP"
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"transferConcurrency": {
|
||||
"label": "Simultaneous File Transfers",
|
||||
"description": "How many files the side by side local/remote manager uploads or downloads at the same time. Lower this if your server limits SFTP channels."
|
||||
"label": "Transferências simultâneas de arquivos",
|
||||
"description": "Quantos arquivos o gerenciador local/remoto lado a lado carrega ou baixa simultaneamente? Diminua esse valor se o seu servidor limitar os canais SFTP."
|
||||
},
|
||||
"confirmBeforeTrash": {
|
||||
"label": "Confirm before moving files to trash",
|
||||
"description": "Ask before moving remote files to trash. Permanent deletion still requires confirmation."
|
||||
"label": "Confirme antes de mover os arquivos para a lixeira.",
|
||||
"description": "Peça permissão antes de mover arquivos remotos para a lixeira. A exclusão permanente ainda requer confirmação."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -38,506 +38,506 @@
|
||||
"label": "Gerenciador de Arquivos"
|
||||
},
|
||||
"fileManager": {
|
||||
"noHostSelected": "No host selected",
|
||||
"initializingEditor": "Initializing editor...",
|
||||
"file": "File",
|
||||
"noHostSelected": "Nenhum host selecionado",
|
||||
"initializingEditor": "Inicializando o editor...",
|
||||
"file": "Arquivo",
|
||||
"folder": "Pasta",
|
||||
"uploadFile": "Enviar arquivo",
|
||||
"downloadFile": "Download",
|
||||
"extractArchive": "Extract Archive",
|
||||
"extractingArchive": "Extracting {{name}}...",
|
||||
"archiveExtractedSuccessfully": "{{name}} extracted successfully",
|
||||
"extractFailed": "Extract failed",
|
||||
"compressFile": "Compress File",
|
||||
"compressFiles": "Compress Files",
|
||||
"compressFilesDesc": "Compress {{count}} items into an archive",
|
||||
"archiveName": "Archive Name",
|
||||
"enterArchiveName": "Enter archive name...",
|
||||
"compressionFormat": "Compression Format",
|
||||
"selectedFiles": "Selected files",
|
||||
"andMoreFiles": "and {{count}} more...",
|
||||
"compress": "Compress",
|
||||
"compressingFiles": "Compressing {{count}} items into {{name}}...",
|
||||
"filesCompressedSuccessfully": "{{name}} created successfully",
|
||||
"compressFailed": "Compression failed",
|
||||
"extractArchive": "Extrair arquivo",
|
||||
"extractingArchive": "Extraindo {{name}}...",
|
||||
"archiveExtractedSuccessfully": "{{name}} extraído com sucesso",
|
||||
"extractFailed": "A extração falhou",
|
||||
"compressFile": "Compactar arquivo",
|
||||
"compressFiles": "Comprimir arquivos",
|
||||
"compressFilesDesc": "Comprima {{count}} itens em um arquivo",
|
||||
"archiveName": "Nome do arquivo",
|
||||
"enterArchiveName": "Digite o nome do arquivo...",
|
||||
"compressionFormat": "Formato de compressão",
|
||||
"selectedFiles": "Arquivos selecionados",
|
||||
"andMoreFiles": "e {{count}} mais...",
|
||||
"compress": "Compressa",
|
||||
"compressingFiles": "Comprimindo {{count}} itens em {{name}}...",
|
||||
"filesCompressedSuccessfully": "{{name}} criado com sucesso",
|
||||
"compressFailed": "A compressão falhou",
|
||||
"edit": "Editar",
|
||||
"preview": "Preview",
|
||||
"preview": "Pré-visualização",
|
||||
"previous": "Voltar",
|
||||
"next": "Próximo",
|
||||
"pageXOfY": "Page {{current}} of {{total}}",
|
||||
"zoomOut": "Zoom Out",
|
||||
"zoomIn": "Zoom In",
|
||||
"newFile": "New File",
|
||||
"newFolder": "New Folder",
|
||||
"pageXOfY": "Página {{current}} de {{total}}",
|
||||
"zoomOut": "Diminuir o zoom",
|
||||
"zoomIn": "Ampliar",
|
||||
"newFile": "Novo arquivo",
|
||||
"newFolder": "Nova pasta",
|
||||
"rename": "Renomear",
|
||||
"uploading": "Uploading...",
|
||||
"uploadingFile": "Uploading {{name}}...",
|
||||
"uploadingChunk": "Uploading {{name}}: {{percent}}% (part {{chunk}} of {{total}})",
|
||||
"fileName": "File Name",
|
||||
"folderName": "Folder Name",
|
||||
"fileUploadedSuccessfully": "File \"{{name}}\" uploaded successfully",
|
||||
"failedToUploadFile": "Failed to upload file",
|
||||
"uploadingFolderFiles": "Uploading {{count}} file(s)...",
|
||||
"uploadedFolderFiles": "Uploaded {{count}} file(s) successfully",
|
||||
"uploading": "Carregando...",
|
||||
"uploadingFile": "Carregando {{name}}...",
|
||||
"uploadingChunk": "Enviando {{name}}: {{percent}}% (parte {{chunk}} de {{total}})",
|
||||
"fileName": "Nome do arquivo",
|
||||
"folderName": "Nome da pasta",
|
||||
"fileUploadedSuccessfully": "Arquivo \"{{name}}\" enviado com sucesso",
|
||||
"failedToUploadFile": "Falha ao carregar o arquivo",
|
||||
"uploadingFolderFiles": "Enviando {{count}} arquivo(s)...",
|
||||
"uploadedFolderFiles": "Arquivo(s) carregado(s) com sucesso {{count}}",
|
||||
"uploadedFolderPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
|
||||
"fileDownloadedSuccessfully": "File \"{{name}}\" downloaded successfully",
|
||||
"failedToDownloadFile": "Failed to download file",
|
||||
"fileCreatedSuccessfully": "File \"{{name}}\" created successfully",
|
||||
"folderCreatedSuccessfully": "Folder \"{{name}}\" created successfully",
|
||||
"failedToCreateItem": "Failed to create item",
|
||||
"operationFailed": "{{operation}} operation failed for {{name}}: {{error}}",
|
||||
"failedToResolveSymlink": "Failed to resolve symlink",
|
||||
"itemsDeletedSuccessfully": "{{count}} items deleted successfully",
|
||||
"failedToDeleteItems": "Failed to delete items",
|
||||
"sudoPasswordRequired": "Administrator Password Required",
|
||||
"enterSudoPassword": "Enter sudo password to continue this operation",
|
||||
"sudoPassword": "Sudo password",
|
||||
"sudoOperationFailed": "Sudo operation failed",
|
||||
"sudoAuthFailed": "Sudo authentication failed",
|
||||
"dragFilesToUpload": "Drop files here to upload",
|
||||
"dropToUploadHere": "Drop to upload here",
|
||||
"dropToDownloadHere": "Drop to download here",
|
||||
"fileDownloadedSuccessfully": "Arquivo \"{{name}}\" baixado com sucesso",
|
||||
"failedToDownloadFile": "Falha ao baixar o arquivo",
|
||||
"fileCreatedSuccessfully": "Arquivo \"{{name}}\" criado com sucesso",
|
||||
"folderCreatedSuccessfully": "Pasta \"{{name}}\" criada com sucesso",
|
||||
"failedToCreateItem": "Falha ao criar o item",
|
||||
"operationFailed": "A operação {{operation}} falhou para {{name}}: {{error}}",
|
||||
"failedToResolveSymlink": "Falha ao resolver o link simbólico",
|
||||
"itemsDeletedSuccessfully": "{{count}} itens excluídos com sucesso",
|
||||
"failedToDeleteItems": "Falha ao excluir itens",
|
||||
"sudoPasswordRequired": "Senha de administrador necessária",
|
||||
"enterSudoPassword": "Digite a senha de sudo para continuar esta operação.",
|
||||
"sudoPassword": "Senha de sudo",
|
||||
"sudoOperationFailed": "A operação sudo falhou",
|
||||
"sudoAuthFailed": "Falha na autenticação sudo",
|
||||
"dragFilesToUpload": "Arraste e solte os arquivos aqui para fazer o upload.",
|
||||
"dropToUploadHere": "Arraste e faça o upload aqui.",
|
||||
"dropToDownloadHere": "Faça o download aqui.",
|
||||
"localFiles": "Local",
|
||||
"showLocalFiles": "Show local files (split view)",
|
||||
"hideLocalFiles": "Hide local files",
|
||||
"localHome": "Home folder",
|
||||
"localPathPlaceholder": "Local folder path",
|
||||
"localShowHidden": "Show hidden files",
|
||||
"localHideHidden": "Hide hidden files",
|
||||
"localRevealInFileManager": "Reveal in system file manager",
|
||||
"localCannotOpenFolder": "Cannot open folder",
|
||||
"localItemCount": "{{count}} items",
|
||||
"localSelectedCount": "{{count}} selected",
|
||||
"showLocalFiles": "Exibir arquivos locais (visualização dividida)",
|
||||
"hideLocalFiles": "Ocultar arquivos locais",
|
||||
"localHome": "Pasta inicial",
|
||||
"localPathPlaceholder": "Caminho da pasta local",
|
||||
"localShowHidden": "Mostrar arquivos ocultos",
|
||||
"localHideHidden": "Ocultar arquivos ocultos",
|
||||
"localRevealInFileManager": "Exibir no gerenciador de arquivos do sistema",
|
||||
"localCannotOpenFolder": "Não é possível abrir a pasta",
|
||||
"localItemCount": "{{count}} itens",
|
||||
"localSelectedCount": "{{count}} selecionado",
|
||||
"back": "Voltar",
|
||||
"forward": "Forward",
|
||||
"up": "Up",
|
||||
"kind": "Kind",
|
||||
"localUploadingProgress": "Uploading {{current}} of {{total}}",
|
||||
"localDownloadingProgress": "Downloading {{current}} of {{total}}",
|
||||
"localTransferInFlight": "{{count}} at once",
|
||||
"localPreparingDownload": "Preparing download...",
|
||||
"localTransferCancelled": "Transfer cancelled",
|
||||
"localNothingToTransfer": "Nothing to transfer",
|
||||
"forward": "Avançar",
|
||||
"up": "Acima",
|
||||
"kind": "Tipo",
|
||||
"localUploadingProgress": "Enviando {{current}} de {{total}}",
|
||||
"localDownloadingProgress": "Baixando {{current}} de {{total}}",
|
||||
"localTransferInFlight": "{{count}} imediatamente",
|
||||
"localPreparingDownload": "Preparando o download...",
|
||||
"localTransferCancelled": "Transferência cancelada",
|
||||
"localNothingToTransfer": "Nada a transferir",
|
||||
"localUploadComplete": "Uploaded {{count}} file(s)",
|
||||
"localUploadFailed": "Upload failed",
|
||||
"localUploadFailed": "Falha no upload",
|
||||
"localUploadPartial": "Uploaded {{done}} file(s), {{failed}} failed",
|
||||
"localDownloadComplete": "Downloaded {{count}} file(s)",
|
||||
"localDownloadFailed": "Download failed",
|
||||
"localDownloadPartial": "Downloaded {{done}} file(s), {{failed}} failed",
|
||||
"localReplaceExistingPrompt": "{{count}} item(s) already exist in this folder. Replace them?",
|
||||
"localReplace": "Replace",
|
||||
"localSkipExisting": "Skip",
|
||||
"localSkippedExisting": "Skipped {{count}} existing item(s)",
|
||||
"localUnsafeNamesSkipped": "Skipped {{count}} item(s) whose names cannot be used on this computer",
|
||||
"localOpen": "Open",
|
||||
"localOpenFolder": "Open folder",
|
||||
"localUploadToRemote": "Upload to server",
|
||||
"localUploadToRemoteMany": "Upload {{count}} items to server",
|
||||
"localMoveToTrash": "Move to Trash",
|
||||
"localMoveToTrashMany": "Move {{count}} items to Trash",
|
||||
"localTrashConfirmSingle": "Move \"{{name}}\" to the Trash?",
|
||||
"localTrashConfirmFolder": "Move the folder \"{{name}}\" and all its contents to the Trash?",
|
||||
"localTrashConfirmMany": "Move {{count}} items to the Trash?",
|
||||
"localTrashed": "Moved {{count}} item(s) to the Trash",
|
||||
"localTrashFailed": "Could not move to the Trash",
|
||||
"localRenameFailed": "Rename failed",
|
||||
"localCreateFailed": "Could not create item",
|
||||
"goToParentFolder": "Go to parent folder",
|
||||
"resizeSidebar": "Drag to resize the sidebar (double-click to reset)",
|
||||
"resizeLocalPane": "Drag to resize the local pane (double-click to reset)",
|
||||
"columns": "Columns",
|
||||
"columnsHint": "Right-click to choose columns",
|
||||
"emptyFolder": "This folder is empty",
|
||||
"searchFiles": "Search files...",
|
||||
"localDownloadComplete": "Arquivo(s) baixado(s) {{count}}",
|
||||
"localDownloadFailed": "Falha no download",
|
||||
"localDownloadPartial": "O download de {{done}} arquivo(s) falhou. {{failed}}",
|
||||
"localReplaceExistingPrompt": "{{count}} Já existem itens nesta pasta. Deseja substituí-los?",
|
||||
"localReplace": "Substituir",
|
||||
"localSkipExisting": "Pular",
|
||||
"localSkippedExisting": "Ignorou {{count}} item(ns) existente(s)",
|
||||
"localUnsafeNamesSkipped": "Ignorado {{count}} item(ns) cujos nomes não podem ser usados neste computador",
|
||||
"localOpen": "Abrir",
|
||||
"localOpenFolder": "Abra a pasta",
|
||||
"localUploadToRemote": "Enviar para o servidor",
|
||||
"localUploadToRemoteMany": "Enviar {{count}} itens para o servidor",
|
||||
"localMoveToTrash": "Mover para a Lixeira",
|
||||
"localMoveToTrashMany": "Mova {{count}} itens para a Lixeira",
|
||||
"localTrashConfirmSingle": "Mover \"{{name}}\" para a Lixeira?",
|
||||
"localTrashConfirmFolder": "Mover a pasta \"{{name}}\" e todo o seu conteúdo para a Lixeira?",
|
||||
"localTrashConfirmMany": "Mover {{count}} itens para a Lixeira?",
|
||||
"localTrashed": "Movidos {{count}} itens para a Lixeira",
|
||||
"localTrashFailed": "Não foi possível mover para a Lixeira",
|
||||
"localRenameFailed": "A renomeação falhou",
|
||||
"localCreateFailed": "Não foi possível criar o item.",
|
||||
"goToParentFolder": "Acesse a pasta principal",
|
||||
"resizeSidebar": "Arraste para redimensionar a barra lateral (clique duas vezes para redefinir).",
|
||||
"resizeLocalPane": "Arraste para redimensionar o painel local (clique duas vezes para redefinir).",
|
||||
"columns": "Colunas",
|
||||
"columnsHint": "Clique com o botão direito do mouse para escolher as colunas.",
|
||||
"emptyFolder": "Esta pasta está vazia",
|
||||
"searchFiles": "Pesquisar arquivos...",
|
||||
"upload": "Fazer upload",
|
||||
"selectHostToStart": "Select a host to start file management",
|
||||
"sshRequiredForFileManager": "File manager requires SSH. This host does not have SSH enabled.",
|
||||
"failedToConnect": "Failed to connect to SSH",
|
||||
"failedToLoadDirectory": "Failed to load directory",
|
||||
"noSSHConnection": "No SSH connection available",
|
||||
"selectHostToStart": "Selecione um host para iniciar o gerenciamento de arquivos.",
|
||||
"sshRequiredForFileManager": "O gerenciador de arquivos requer SSH. Este host não tem o SSH habilitado.",
|
||||
"failedToConnect": "Falha ao conectar-se ao SSH",
|
||||
"failedToLoadDirectory": "Falha ao carregar o diretório",
|
||||
"noSSHConnection": "Nenhuma conexão SSH disponível",
|
||||
"copy": "Copiar",
|
||||
"cut": "Cut",
|
||||
"cut": "Corte",
|
||||
"paste": "Colar",
|
||||
"copyPath": "Copy Path",
|
||||
"copyPaths": "Copy Paths",
|
||||
"copyPath": "Copiar caminho",
|
||||
"copyPaths": "Copiar caminhos",
|
||||
"delete": "Apagar",
|
||||
"properties": "Properties",
|
||||
"properties": "Propriedades",
|
||||
"refresh": "Atualizar",
|
||||
"downloadFiles": "Download {{count}} files to Browser",
|
||||
"copyFiles": "Copy {{count}} items",
|
||||
"cutFiles": "Cut {{count}} items",
|
||||
"deleteFiles": "Delete {{count}} items",
|
||||
"filesCopiedToClipboard": "{{count}} items copied to clipboard",
|
||||
"filesCutToClipboard": "{{count}} items cut to clipboard",
|
||||
"pathCopiedToClipboard": "Path copied to clipboard",
|
||||
"pathsCopiedToClipboard": "{{count}} paths copied to clipboard",
|
||||
"failedToCopyPath": "Failed to copy path to clipboard",
|
||||
"copyFolderLink": "Copy Link to Folder",
|
||||
"copyCurrentFolderLink": "Copy Link to Current Folder",
|
||||
"folderLinkCopied": "Folder link copied to clipboard",
|
||||
"failedToCopyFolderLink": "Failed to copy folder link",
|
||||
"movedItems": "Moved {{count}} items",
|
||||
"failedToDeleteItem": "Failed to delete item",
|
||||
"itemRenamedSuccessfully": "{{type}} renamed successfully",
|
||||
"failedToRenameItem": "Failed to rename item",
|
||||
"downloadFiles": "Baixar {{count}} arquivos para o navegador",
|
||||
"copyFiles": "Copiar {{count}} itens",
|
||||
"cutFiles": "Recortar {{count}} itens",
|
||||
"deleteFiles": "Excluir {{count}} itens",
|
||||
"filesCopiedToClipboard": "{{count}} itens copiados para a área de transferência",
|
||||
"filesCutToClipboard": "{{count}} itens copiados para a área de transferência",
|
||||
"pathCopiedToClipboard": "Caminho copiado para a área de transferência",
|
||||
"pathsCopiedToClipboard": "{{count}} caminhos copiados para a área de transferência",
|
||||
"failedToCopyPath": "Falha ao copiar o caminho para a área de transferência",
|
||||
"copyFolderLink": "Copiar link para a pasta",
|
||||
"copyCurrentFolderLink": "Copiar link para a pasta atual",
|
||||
"folderLinkCopied": "Link da pasta copiado para a área de transferência",
|
||||
"failedToCopyFolderLink": "Falha ao copiar o link da pasta",
|
||||
"movedItems": "Itens movidos {{count}}",
|
||||
"failedToDeleteItem": "Falha ao excluir o item",
|
||||
"itemRenamedSuccessfully": "{{type}} renomeado com sucesso",
|
||||
"failedToRenameItem": "Falha ao renomear o item",
|
||||
"download": "Download",
|
||||
"openExternalEditor": "Open externally",
|
||||
"chooseExternalEditor": "Choose external editor",
|
||||
"externalEditorSelected": "External editor selected",
|
||||
"externalEditorDesktopOnly": "External editor is only available in the desktop app",
|
||||
"externalEditorOpened": "Opened in external editor. Saving there will upload changes back to the server.",
|
||||
"failedToOpenExternalEditor": "Failed to open external editor",
|
||||
"failedToSelectExternalEditor": "Failed to select external editor",
|
||||
"permissions": "Permissions",
|
||||
"size": "Size",
|
||||
"modified": "Modified",
|
||||
"path": "Path",
|
||||
"confirmDelete": "Are you sure you want to delete {{name}}?",
|
||||
"permissionDenied": "Permission denied",
|
||||
"serverError": "Server Error",
|
||||
"fileSavedSuccessfully": "File saved successfully",
|
||||
"failedToSaveFile": "Failed to save file",
|
||||
"confirmDeleteSingleItem": "Are you sure you want to permanently delete \"{{name}}\"?",
|
||||
"confirmDeleteMultipleItems": "Are you sure you want to permanently delete {{count}} items?",
|
||||
"confirmDeleteMultipleItemsWithFolders": "Are you sure you want to permanently delete {{count}} items? This includes folders and their contents.",
|
||||
"confirmDeleteFolder": "Are you sure you want to permanently delete the folder \"{{name}}\" and all its contents?",
|
||||
"permanentDeleteWarning": "This action cannot be undone. The item(s) will be permanently deleted from the server.",
|
||||
"moveToTrashWarning": "The item(s) will be moved to the Termix Trash and can be restored before the retention period expires.",
|
||||
"itemsMovedToTrash": "{{count}} item(s) moved to Trash",
|
||||
"trash": "Trash",
|
||||
"trashDescription": "Deleted items are retained for {{days}} day(s) on this host.",
|
||||
"trashLoadFailed": "Failed to load Trash",
|
||||
"trashEmpty": "Trash is empty",
|
||||
"openExternalEditor": "Abrir externamente",
|
||||
"chooseExternalEditor": "Escolha um editor externo.",
|
||||
"externalEditorSelected": "Editor externo selecionado",
|
||||
"externalEditorDesktopOnly": "O editor externo está disponível apenas no aplicativo para desktop.",
|
||||
"externalEditorOpened": "Aberto em um editor externo. Salvar aqui enviará as alterações de volta para o servidor.",
|
||||
"failedToOpenExternalEditor": "Não foi possível abrir o editor externo.",
|
||||
"failedToSelectExternalEditor": "Não foi possível selecionar o editor externo.",
|
||||
"permissions": "Permissões",
|
||||
"size": "Tamanho",
|
||||
"modified": "Modificado",
|
||||
"path": "Caminho",
|
||||
"confirmDelete": "Tem certeza de que deseja excluir {{name}}?",
|
||||
"permissionDenied": "Permissão negada",
|
||||
"serverError": "Erro do servidor",
|
||||
"fileSavedSuccessfully": "Arquivo salvo com sucesso",
|
||||
"failedToSaveFile": "Falha ao salvar o arquivo",
|
||||
"confirmDeleteSingleItem": "Tem certeza de que deseja excluir permanentemente \"{{name}}\"?",
|
||||
"confirmDeleteMultipleItems": "Tem certeza de que deseja excluir permanentemente {{count}} itens?",
|
||||
"confirmDeleteMultipleItemsWithFolders": "Tem certeza de que deseja excluir permanentemente {{count}} itens? Isso inclui pastas e seus conteúdos.",
|
||||
"confirmDeleteFolder": "Tem certeza de que deseja excluir permanentemente a pasta \"{{name}}\" e todo o seu conteúdo?",
|
||||
"permanentDeleteWarning": "Esta ação não pode ser desfeita. O(s) item(ns) será(ão) excluído(s) permanentemente do servidor.",
|
||||
"moveToTrashWarning": "O(s) item(ns) será(ão) movido(s) para a Lixeira Termix e poderá(ão) ser restaurado(s) antes do término do período de retenção.",
|
||||
"itemsMovedToTrash": "{{count}} item(ns) movido(s) para a Lixeira",
|
||||
"trash": "Lixo",
|
||||
"trashDescription": "Os itens excluídos são retidos por {{days}} dia(s) neste host.",
|
||||
"trashLoadFailed": "Falha ao carregar a Lixeira",
|
||||
"trashEmpty": "A lixeira está vazia.",
|
||||
"trashRestore": "Restaurar",
|
||||
"trashRestored": "Restored {{name}}",
|
||||
"trashRestoreFailed": "Failed to restore item. The original path may already exist.",
|
||||
"trashDeletePermanently": "Delete permanently",
|
||||
"trashDeleteConfirm": "Permanently delete {{name}}? This cannot be undone.",
|
||||
"trashPermanentlyDeleted": "Permanently deleted {{name}}",
|
||||
"trashDeleteFailed": "Failed to permanently delete item",
|
||||
"trashEmptyAction": "Empty Trash",
|
||||
"trashEmptyConfirm": "Permanently delete every item in Trash? This cannot be undone.",
|
||||
"trashEmptied": "Trash emptied",
|
||||
"trashRetention": "Automatic cleanup after (days)",
|
||||
"trashRetentionSaved": "Trash retention updated",
|
||||
"trashRetentionFailed": "Failed to update Trash retention",
|
||||
"trashUnavailableConfirm": "This item cannot be moved to Trash, usually because it is on another filesystem or requires elevated permissions. Delete it permanently instead?",
|
||||
"recent": "Recent",
|
||||
"pinned": "Pinned",
|
||||
"folderShortcuts": "Folder Shortcuts",
|
||||
"failedToReconnectSSH": "Failed to reconnect SSH session",
|
||||
"openTerminalHere": "Open Terminal Here",
|
||||
"run": "Run",
|
||||
"openTerminalInFolder": "Open Terminal in This Folder",
|
||||
"openTerminalInFileLocation": "Open Terminal at File Location",
|
||||
"runningFile": "Running - {{file}}",
|
||||
"onlyRunExecutableFiles": "Can only run executable files",
|
||||
"directories": "Directories",
|
||||
"removedFromRecentFiles": "Removed \"{{name}}\" from recent files",
|
||||
"removeFailed": "Remove failed",
|
||||
"unpinnedSuccessfully": "Unpinned \"{{name}}\" successfully",
|
||||
"unpinFailed": "Unpin failed",
|
||||
"removedShortcut": "Removed shortcut \"{{name}}\"",
|
||||
"removeShortcutFailed": "Remove shortcut failed",
|
||||
"clearedAllRecentFiles": "Cleared all recent files",
|
||||
"clearFailed": "Clear failed",
|
||||
"removeFromRecentFiles": "Remove from recent files",
|
||||
"clearAllRecentFiles": "Clear all recent files",
|
||||
"unpinFile": "Unpin file",
|
||||
"removeShortcut": "Remove shortcut",
|
||||
"pinFile": "Pin file",
|
||||
"addToShortcuts": "Add to shortcuts",
|
||||
"pasteFailed": "Paste failed",
|
||||
"noUndoableActions": "No undoable actions",
|
||||
"undoCopySuccess": "Undid copy operation: Deleted {{count}} copied files",
|
||||
"undoCopyFailedDelete": "Undo failed: Could not delete any copied files",
|
||||
"undoCopyFailedNoInfo": "Undo failed: Could not find copied file information",
|
||||
"undoMoveSuccess": "Undid move operation: Moved {{count}} files back to original location",
|
||||
"undoMoveFailedMove": "Undo failed: Could not move any files back",
|
||||
"undoMoveFailedNoInfo": "Undo failed: Could not find moved file information",
|
||||
"undoDeleteNotSupported": "Delete operation cannot be undone: Files have been permanently deleted from server",
|
||||
"undoTypeNotSupported": "Unsupported undo operation type",
|
||||
"undoOperationFailed": "Undo operation failed",
|
||||
"unknownError": "Unknown error",
|
||||
"trashRestored": "Restaurado {{name}}",
|
||||
"trashRestoreFailed": "Falha ao restaurar o item. O caminho original pode já existir.",
|
||||
"trashDeletePermanently": "Excluir permanentemente",
|
||||
"trashDeleteConfirm": "Excluir permanentemente {{name}}? Esta ação não pode ser desfeita.",
|
||||
"trashPermanentlyDeleted": "Excluído permanentemente {{name}}",
|
||||
"trashDeleteFailed": "Falha ao excluir o item permanentemente",
|
||||
"trashEmptyAction": "Esvaziar o lixo",
|
||||
"trashEmptyConfirm": "Excluir permanentemente todos os itens da Lixeira? Esta ação é irreversível.",
|
||||
"trashEmptied": "Lixo esvaziado",
|
||||
"trashRetention": "Limpeza automática após (dias)",
|
||||
"trashRetentionSaved": "Retenção de lixo atualizada",
|
||||
"trashRetentionFailed": "Falha na atualização da retenção de lixo",
|
||||
"trashUnavailableConfirm": "Este item não pode ser movido para a Lixeira, geralmente porque está em outro sistema de arquivos ou requer permissões elevadas. Deseja excluí-lo permanentemente?",
|
||||
"recent": "Recente",
|
||||
"pinned": "Fixado",
|
||||
"folderShortcuts": "Atalhos de pastas",
|
||||
"failedToReconnectSSH": "Falha ao reconectar a sessão SSH",
|
||||
"openTerminalHere": "Abra o terminal aqui",
|
||||
"run": "Correr",
|
||||
"openTerminalInFolder": "Abra o terminal nesta pasta.",
|
||||
"openTerminalInFileLocation": "Abra o terminal no local do arquivo.",
|
||||
"runningFile": "Correndo - {{file}}",
|
||||
"onlyRunExecutableFiles": "Só é possível executar arquivos executáveis.",
|
||||
"directories": "Diretórios",
|
||||
"removedFromRecentFiles": "Removemos \"{{name}}\" dos arquivos recentes",
|
||||
"removeFailed": "Remover falha",
|
||||
"unpinnedSuccessfully": "Desfixado \"{{name}}\" com sucesso",
|
||||
"unpinFailed": "Desafixar falhou",
|
||||
"removedShortcut": "Atalho removido \"{{name}}\"",
|
||||
"removeShortcutFailed": "A remoção do atalho falhou",
|
||||
"clearedAllRecentFiles": "Apaguei todos os arquivos recentes.",
|
||||
"clearFailed": "Limpar falhou",
|
||||
"removeFromRecentFiles": "Remover dos arquivos recentes",
|
||||
"clearAllRecentFiles": "Limpar todos os arquivos recentes",
|
||||
"unpinFile": "Desafixar arquivo",
|
||||
"removeShortcut": "Remover atalho",
|
||||
"pinFile": "Arquivo PIN",
|
||||
"addToShortcuts": "Adicionar aos atalhos",
|
||||
"pasteFailed": "A colagem falhou",
|
||||
"noUndoableActions": "Ações não podem ser desfeitas",
|
||||
"undoCopySuccess": "Operação de cópia desfeita: Arquivos copiados excluídos {{count}}",
|
||||
"undoCopyFailedDelete": "Falha ao desfazer: Não foi possível excluir nenhum arquivo copiado.",
|
||||
"undoCopyFailedNoInfo": "A ação de desfazer falhou: Não foi possível encontrar as informações do arquivo copiado.",
|
||||
"undoMoveSuccess": "Operação de movimentação desfeita: {{count}} arquivos foram movidos de volta para o local original.",
|
||||
"undoMoveFailedMove": "Falha ao desfazer: Não foi possível mover nenhum arquivo de volta.",
|
||||
"undoMoveFailedNoInfo": "A ação de desfazer falhou: Não foi possível encontrar as informações do arquivo movido.",
|
||||
"undoDeleteNotSupported": "A operação de exclusão não pode ser desfeita: os arquivos foram excluídos permanentemente do servidor.",
|
||||
"undoTypeNotSupported": "Tipo de operação de desfazer não suportado",
|
||||
"undoOperationFailed": "A operação de desfazer falhou",
|
||||
"unknownError": "Erro desconhecido",
|
||||
"confirm": "Confirmar",
|
||||
"find": "Find...",
|
||||
"replace": "Replace",
|
||||
"downloadInstead": "Download Instead",
|
||||
"keyboardShortcuts": "Keyboard Shortcuts",
|
||||
"searchAndReplace": "Search & Replace",
|
||||
"editing": "Editing",
|
||||
"search": "Search",
|
||||
"findNext": "Find Next",
|
||||
"findPrevious": "Find Previous",
|
||||
"find": "Encontrar...",
|
||||
"replace": "Substituir",
|
||||
"downloadInstead": "Baixe em vez de baixar.",
|
||||
"keyboardShortcuts": "Atalhos de teclado",
|
||||
"searchAndReplace": "Localizar e substituir",
|
||||
"editing": "Edição",
|
||||
"search": "Procurar",
|
||||
"findNext": "Encontre a seguir",
|
||||
"findPrevious": "Encontrar Anterior",
|
||||
"save": "Salvar",
|
||||
"selectAll": "Selecionar Tudo",
|
||||
"undo": "Undo",
|
||||
"redo": "Redo",
|
||||
"moveLineUp": "Move Line Up",
|
||||
"moveLineDown": "Move Line Down",
|
||||
"toggleComment": "Toggle Comment",
|
||||
"autoComplete": "Auto Complete",
|
||||
"imageLoadError": "Failed to load image",
|
||||
"startTyping": "Start typing...",
|
||||
"unknownSize": "Unknown size",
|
||||
"fileIsEmpty": "File is empty",
|
||||
"largeFileWarning": "Large File Warning",
|
||||
"largeFileWarningDesc": "This file is {{size}} in size, which may cause performance issues when opened as text.",
|
||||
"fileNotFoundAndRemoved": "File \"{{name}}\" not found and has been removed from recent/pinned files",
|
||||
"failedToLoadFile": "Failed to load file: {{error}}",
|
||||
"serverErrorOccurred": "Server error occurred. Please try again later.",
|
||||
"autoSaveFailed": "Auto-save failed",
|
||||
"fileAutoSaved": "File auto-saved",
|
||||
"moveFileFailed": "Failed to move {{name}}",
|
||||
"moveOperationFailed": "Move operation failed",
|
||||
"canOnlyCompareFiles": "Can only compare two files",
|
||||
"comparingFiles": "Comparing files: {{file1}} and {{file2}}",
|
||||
"dragFailed": "Drag operation failed",
|
||||
"filePinnedSuccessfully": "File \"{{name}}\" pinned successfully",
|
||||
"pinFileFailed": "Failed to pin file",
|
||||
"fileUnpinnedSuccessfully": "File \"{{name}}\" unpinned successfully",
|
||||
"unpinFileFailed": "Failed to unpin file",
|
||||
"shortcutAddedSuccessfully": "Folder shortcut \"{{name}}\" added successfully",
|
||||
"addShortcutFailed": "Failed to add shortcut",
|
||||
"operationCompletedSuccessfully": "{{operation}} {{count}} items successfully",
|
||||
"operationCompleted": "{{operation}} {{count}} items",
|
||||
"downloadFileSuccess": "File {{name}} downloaded successfully",
|
||||
"downloadFileFailed": "Download failed",
|
||||
"downloadingFile": "Downloading {{name}}…",
|
||||
"undo": "Desfazer",
|
||||
"redo": "Refazer",
|
||||
"moveLineUp": "Mova a fila para cima",
|
||||
"moveLineDown": "Deslizar a linha para baixo",
|
||||
"toggleComment": "Alternar comentário",
|
||||
"autoComplete": "Preenchimento automático",
|
||||
"imageLoadError": "Falha ao carregar a imagem",
|
||||
"startTyping": "Comece a digitar...",
|
||||
"unknownSize": "Tamanho desconhecido",
|
||||
"fileIsEmpty": "O arquivo está vazio",
|
||||
"largeFileWarning": "Aviso de Arquivo Grande",
|
||||
"largeFileWarningDesc": "Este arquivo tem {{size}} de tamanho, o que pode causar problemas de desempenho ao ser aberto como texto.",
|
||||
"fileNotFoundAndRemoved": "O arquivo \"{{name}}\" não foi encontrado e foi removido dos arquivos recentes/fixados",
|
||||
"failedToLoadFile": "Falha ao carregar o arquivo: {{error}}",
|
||||
"serverErrorOccurred": "Ocorreu um erro no servidor. Tente novamente mais tarde.",
|
||||
"autoSaveFailed": "O salvamento automático falhou",
|
||||
"fileAutoSaved": "Arquivo salvo automaticamente",
|
||||
"moveFileFailed": "Falha ao mover {{name}}",
|
||||
"moveOperationFailed": "A operação de movimentação falhou",
|
||||
"canOnlyCompareFiles": "Só é possível comparar dois arquivos.",
|
||||
"comparingFiles": "Comparando arquivos: {{file1}} e {{file2}}",
|
||||
"dragFailed": "A operação de arrastar falhou",
|
||||
"filePinnedSuccessfully": "Arquivo \"{{name}}\" fixado com sucesso",
|
||||
"pinFileFailed": "Falha ao fixar o arquivo",
|
||||
"fileUnpinnedSuccessfully": "Arquivo \"{{name}}\" desafixado com sucesso",
|
||||
"unpinFileFailed": "Falha ao desafixar o arquivo",
|
||||
"shortcutAddedSuccessfully": "Atalho de pasta \"{{name}}\" adicionado com sucesso",
|
||||
"addShortcutFailed": "Falha ao adicionar atalho",
|
||||
"operationCompletedSuccessfully": "{{operation}} {{count}} itens com sucesso",
|
||||
"operationCompleted": "{{operation}} {{count}} itens",
|
||||
"downloadFileSuccess": "Arquivo {{name}} baixado com sucesso",
|
||||
"downloadFileFailed": "Falha no download",
|
||||
"downloadingFile": "Baixando {{name}}…",
|
||||
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
||||
"moveTo": "Move to {{name}}",
|
||||
"diffCompareWith": "Diff compare with {{name}}",
|
||||
"dragOutsideToDownload": "Drag outside window to download ({{count}} files)",
|
||||
"newFolderDefault": "NewFolder",
|
||||
"newFileDefault": "NewFile.txt",
|
||||
"successfullyMovedItems": "Successfully moved {{count}} items to {{target}}",
|
||||
"move": "Move",
|
||||
"searchInFile": "Search in file (Ctrl+F)",
|
||||
"showKeyboardShortcuts": "Show keyboard shortcuts",
|
||||
"decreaseFontSize": "Decrease font size",
|
||||
"increaseFontSize": "Increase font size",
|
||||
"startWritingMarkdown": "Start writing your markdown content...",
|
||||
"loadingFileComparison": "Loading file comparison...",
|
||||
"moveTo": "Mover para {{name}}",
|
||||
"diffCompareWith": "Diff compare com {{name}}",
|
||||
"dragOutsideToDownload": "Arraste para fora da janela para baixar ({{count}} arquivos)",
|
||||
"newFolderDefault": "Nova pasta",
|
||||
"newFileDefault": "NovoArquivo.txt",
|
||||
"successfullyMovedItems": "Movidos com sucesso {{count}} itens para {{target}}",
|
||||
"move": "Mover",
|
||||
"searchInFile": "Pesquisar no arquivo (Ctrl+F)",
|
||||
"showKeyboardShortcuts": "Mostrar atalhos de teclado",
|
||||
"decreaseFontSize": "Diminuir o tamanho da fonte",
|
||||
"increaseFontSize": "Aumentar o tamanho da fonte",
|
||||
"startWritingMarkdown": "Comece a escrever seu conteúdo em Markdown...",
|
||||
"loadingFileComparison": "Carregando comparação de arquivos...",
|
||||
"reload": "Recarregar",
|
||||
"compare": "Compare",
|
||||
"sideBySide": "Side by Side",
|
||||
"inline": "Inline",
|
||||
"fileComparison": "File Comparison: {{file1}} vs {{file2}}",
|
||||
"fileTooLarge": "File too large: {{error}}",
|
||||
"sshConnectionFailed": "SSH connection failed. Please check your connection to {{name}} ({{ip}}:{{port}})",
|
||||
"loadFileFailed": "Failed to load file: {{error}}",
|
||||
"compare": "Comparar",
|
||||
"sideBySide": "Lado a lado",
|
||||
"inline": "Em linha",
|
||||
"fileComparison": "Comparação de arquivos: {{file1}} vs {{file2}}",
|
||||
"fileTooLarge": "Arquivo muito grande: {{error}}",
|
||||
"sshConnectionFailed": "A conexão SSH falhou. Verifique sua conexão com {{name}} ({{ip}}:{{port}})",
|
||||
"loadFileFailed": "Falha ao carregar o arquivo: {{error}}",
|
||||
"connecting": "Conectando...",
|
||||
"connectedSuccessfully": "Connected successfully",
|
||||
"totpVerificationFailed": "TOTP verification failed",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"authenticationFailed": "Authentication failed",
|
||||
"incorrectPassphrase": "Incorrect passphrase. Please try again.",
|
||||
"verificationCodePrompt": "Verification code:",
|
||||
"changePermissions": "Change Permissions",
|
||||
"currentPermissions": "Current Permissions",
|
||||
"owner": "Owner",
|
||||
"group": "Group",
|
||||
"others": "Others",
|
||||
"read": "Read",
|
||||
"write": "Write",
|
||||
"execute": "Execute",
|
||||
"permissionsChangedSuccessfully": "Permissions changed successfully",
|
||||
"failedToChangePermissions": "Failed to change permissions",
|
||||
"name": "Name",
|
||||
"sortByName": "Name",
|
||||
"sortByDate": "Date Modified",
|
||||
"sortBySize": "Size",
|
||||
"ascending": "Ascending",
|
||||
"descending": "Descending",
|
||||
"root": "Root",
|
||||
"new": "New",
|
||||
"sortBy": "Sort By",
|
||||
"items": "Items",
|
||||
"selected": "Selected",
|
||||
"connectedSuccessfully": "Conexão estabelecida com sucesso.",
|
||||
"totpVerificationFailed": "A verificação TOTP falhou.",
|
||||
"browserSignInFailed": "Falha ao efetuar o login. Tente novamente.",
|
||||
"authenticationFailed": "A autenticação falhou.",
|
||||
"incorrectPassphrase": "Senha incorreta. Tente novamente.",
|
||||
"verificationCodePrompt": "Código de verificação:",
|
||||
"changePermissions": "Alterar permissões",
|
||||
"currentPermissions": "Permissões atuais",
|
||||
"owner": "Proprietário",
|
||||
"group": "Grupo",
|
||||
"others": "Outros",
|
||||
"read": "Ler",
|
||||
"write": "Escrever",
|
||||
"execute": "Executar",
|
||||
"permissionsChangedSuccessfully": "Permissões alteradas com sucesso",
|
||||
"failedToChangePermissions": "Falha ao alterar as permissões",
|
||||
"name": "Nome",
|
||||
"sortByName": "Nome",
|
||||
"sortByDate": "Data de modificação",
|
||||
"sortBySize": "Tamanho",
|
||||
"ascending": "Ascendente",
|
||||
"descending": "Descendente",
|
||||
"root": "Raiz",
|
||||
"new": "Novo",
|
||||
"sortBy": "Ordenar por",
|
||||
"items": "Unid",
|
||||
"selected": "Selecionado",
|
||||
"editor": "Editor",
|
||||
"octal": "Octal",
|
||||
"storage": "Storage",
|
||||
"disk": "Disk",
|
||||
"used": "Used",
|
||||
"storage": "Armazenar",
|
||||
"disk": "Disco",
|
||||
"used": "Usado",
|
||||
"of": "de",
|
||||
"toggleSidebar": "Toggle Sidebar",
|
||||
"compactLayout": "Use compact layout",
|
||||
"comfortableLayout": "Use comfortable layout",
|
||||
"cannotLoadPdf": "Cannot load PDF",
|
||||
"pdfLoadError": "There was an error loading this PDF file.",
|
||||
"loadingPdf": "Loading PDF...",
|
||||
"loadingPage": "Loading page...",
|
||||
"toggleSidebar": "Alternar barra lateral",
|
||||
"compactLayout": "Utilize um layout compacto.",
|
||||
"comfortableLayout": "Use um layout confortável",
|
||||
"cannotLoadPdf": "Não foi possível carregar o PDF.",
|
||||
"pdfLoadError": "Ocorreu um erro ao carregar este arquivo PDF.",
|
||||
"loadingPdf": "Carregando PDF...",
|
||||
"loadingPage": "Carregando página...",
|
||||
"cancel": "Cancelar",
|
||||
"copiedItems_one": "Copied {{count}} item",
|
||||
"copiedItems_other": "Copied {{count}} items",
|
||||
"deleteCopiedFileFailed": "Could not delete the copy of {{name}}: {{error}}",
|
||||
"copiedItems_one": "Item copiado {{count}}",
|
||||
"copiedItems_other": "Itens copiados {{count}}",
|
||||
"deleteCopiedFileFailed": "Não foi possível excluir a cópia de {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Moved {{count}} item to {{target}}",
|
||||
"dragMovedItems_other": "Moved {{count}} items to {{target}}",
|
||||
"moveBackFileFailed": "Could not move {{name}} back: {{error}}",
|
||||
"dragMovedItems_other": "Movidos {{count}} itens para {{target}}",
|
||||
"moveBackFileFailed": "Não foi possível mover {{name}} para trás: {{error}}",
|
||||
"terminal": "Terminal: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Dragging {{name}} to the desktop",
|
||||
"dragFilesToDesktop": "Dragging {{count}} files to the desktop",
|
||||
"folderDragUnsupported": "Dragging folders to the desktop is not supported yet",
|
||||
"saveToDesktopFailed": "Save failed: {{error}}",
|
||||
"dragFailedDetail": "Drag failed: {{error}}",
|
||||
"videoUnsupported": "Your browser cannot play this video format.",
|
||||
"downloadToPlay": "Download to play it elsewhere",
|
||||
"cannotPreviewType": "Cannot preview this file type",
|
||||
"cannotPreviewTypeHint": "This file type has no preview. Download it to open it in another app."
|
||||
"dragToDesktop": "Arrastar {{name}} para a área de trabalho",
|
||||
"dragFilesToDesktop": "Arrastar {{count}} arquivos para a área de trabalho",
|
||||
"folderDragUnsupported": "Arrastar pastas para a área de trabalho ainda não é suportado.",
|
||||
"saveToDesktopFailed": "Falha ao salvar: {{error}}",
|
||||
"dragFailedDetail": "Falha ao arrastar: {{error}}",
|
||||
"videoUnsupported": "Seu navegador não consegue reproduzir este formato de vídeo.",
|
||||
"downloadToPlay": "Faça o download para jogar em outro lugar.",
|
||||
"cannotPreviewType": "Não é possível visualizar este tipo de arquivo.",
|
||||
"cannotPreviewTypeHint": "Este tipo de arquivo não possui pré-visualização. Faça o download para abri-lo em outro aplicativo."
|
||||
},
|
||||
"sftpTransfer": {
|
||||
"title": "SFTP",
|
||||
"description": "Transfer files between two SSH hosts.",
|
||||
"sourceServer": "Source Server",
|
||||
"destinationServer": "Destination Server",
|
||||
"selectHost": "Select host",
|
||||
"noHostSelected": "No host selected",
|
||||
"move": "Move",
|
||||
"description": "Transferir arquivos entre dois hosts SSH.",
|
||||
"sourceServer": "Servidor de origem",
|
||||
"destinationServer": "Servidor de destino",
|
||||
"selectHost": "Selecione o host",
|
||||
"noHostSelected": "Nenhum host selecionado",
|
||||
"move": "Mover",
|
||||
"copy": "Copiar",
|
||||
"upload": "Enviar",
|
||||
"itemsSelected": "{{count}} item selected",
|
||||
"itemsSelected_other": "{{count}} items selected",
|
||||
"ready": "Ready",
|
||||
"loadingHosts": "Loading hosts...",
|
||||
"name": "Name",
|
||||
"modified": "Modified",
|
||||
"size": "Size",
|
||||
"noFiles": "No files",
|
||||
"open": "Open",
|
||||
"up": "Up",
|
||||
"itemsSelected": "{{count}} item selecionado",
|
||||
"itemsSelected_other": "{{count}} itens selecionados",
|
||||
"ready": "Preparar",
|
||||
"loadingHosts": "Carregando hosts...",
|
||||
"name": "Nome",
|
||||
"modified": "Modificado",
|
||||
"size": "Tamanho",
|
||||
"noFiles": "Nenhum arquivo",
|
||||
"open": "Abrir",
|
||||
"up": "Acima",
|
||||
"refresh": "Atualizar",
|
||||
"copyToTarget": "Copy to Target Directory",
|
||||
"copyToTarget": "Copiar para o diretório de destino",
|
||||
"rename": "Renomear",
|
||||
"delete": "Apagar",
|
||||
"editPermissions": "Edit Permissions",
|
||||
"createNewFolder": "Create New Folder",
|
||||
"deleteSelectedItems": "Delete Selected Items",
|
||||
"editPermissions": "Editar permissões",
|
||||
"createNewFolder": "Criar nova pasta",
|
||||
"deleteSelectedItems": "Excluir itens selecionados",
|
||||
"deleteConfirm": "Delete {{count}} selected item?",
|
||||
"deleteConfirm_other": "Delete {{count}} selected items?",
|
||||
"deleteConfirm_other": "Excluir {{count}} itens selecionados?",
|
||||
"cancel": "Cancelar",
|
||||
"save": "Salvar",
|
||||
"folderCreated": "Folder created",
|
||||
"itemRenamed": "Item renamed",
|
||||
"actionFailed": "Action failed",
|
||||
"itemsDeleted": "{{count}} item deleted",
|
||||
"itemsDeleted_other": "{{count}} items deleted",
|
||||
"deleteFailed": "Delete failed",
|
||||
"permissionsUpdated": "Permissions updated",
|
||||
"noRemoteSessionConnected": "No remote session connected",
|
||||
"failedToListFiles": "Failed to list files",
|
||||
"failedToRefresh": "Failed to refresh",
|
||||
"destinationInsideSource": "Destination cannot be inside the selected source path.",
|
||||
"sameHostNoOp": "Source and destination are the same folder."
|
||||
"folderCreated": "Pasta criada",
|
||||
"itemRenamed": "Item renomeado",
|
||||
"actionFailed": "A ação falhou",
|
||||
"itemsDeleted": "{{count}} item excluído",
|
||||
"itemsDeleted_other": "{{count}} itens excluídos",
|
||||
"deleteFailed": "Falha ao excluir",
|
||||
"permissionsUpdated": "Permissões atualizadas",
|
||||
"noRemoteSessionConnected": "Nenhuma sessão remota conectada.",
|
||||
"failedToListFiles": "Falha ao listar os arquivos",
|
||||
"failedToRefresh": "Falha ao atualizar",
|
||||
"destinationInsideSource": "O destino não pode estar dentro do caminho de origem selecionado.",
|
||||
"sameHostNoOp": "A origem e o destino são a mesma pasta."
|
||||
},
|
||||
"hosts": {
|
||||
"fileManager": "Gerenciador de Arquivos",
|
||||
"fileManagerUrlCopied": "File Manager URL copied",
|
||||
"fileManagerUrlCopied": "URL do Gerenciador de Arquivos copiada",
|
||||
"copyFileManagerUrlAction": "Copiar URL do Gerenciador de Arquivos",
|
||||
"docsLink": "Documentação",
|
||||
"hostNotFound": "Host not found",
|
||||
"loadingHost": "Loading host..."
|
||||
"hostNotFound": "Host não encontrado",
|
||||
"loadingHost": "Carregando host..."
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_files": "File manager",
|
||||
"feature_files_desc": "Browse, upload, download and edit files over SFTP without leaving the app."
|
||||
"feature_files": "Gerenciador de arquivos",
|
||||
"feature_files_desc": "Navegue, carregue, baixe e edite arquivos via SFTP sem sair do aplicativo."
|
||||
},
|
||||
"terminal": {
|
||||
"runTitle": "Running {{command}} - {{host}}",
|
||||
"runTitle": "Executando {{command}} - {{host}}",
|
||||
"terminalTitle": "Terminal - {{host}}",
|
||||
"terminalWithPath": "Terminal - {{host}}:{{path}}"
|
||||
},
|
||||
"transfer": {
|
||||
"browseFolders": "Browse destination folders",
|
||||
"browsePathError": "Could not open this path on the destination host.",
|
||||
"browsePathWillBeCreated": "This folder does not exist yet. It will be created when the transfer starts.",
|
||||
"browseFolders": "Procurar pastas de destino",
|
||||
"browsePathError": "Não foi possível abrir este caminho no host de destino.",
|
||||
"browsePathWillBeCreated": "Esta pasta ainda não existe. Ela será criada quando a transferência começar.",
|
||||
"cancel": "Cancelar",
|
||||
"cleanupDestFiles": "Clean up destination",
|
||||
"cleanupDestFilesError": "Cleanup failed",
|
||||
"cleanupDestFilesNothing": "Nothing to clean up on the destination",
|
||||
"cleanupDestFilesPartial": "Some partial files could not be removed",
|
||||
"cleanupDestFilesSuccess": "Removed partial files from the destination",
|
||||
"cleanupDestFiles": "destino de limpeza",
|
||||
"cleanupDestFilesError": "A limpeza falhou",
|
||||
"cleanupDestFilesNothing": "Nada para limpar no destino.",
|
||||
"cleanupDestFilesPartial": "Alguns arquivos parciais não puderam ser removidos.",
|
||||
"cleanupDestFilesSuccess": "Arquivos parciais removidos do destino.",
|
||||
"confirmCopy": "Copiar",
|
||||
"confirmMove": "Move",
|
||||
"copyFolderToHost": "Copy folder to host…",
|
||||
"copyItemsToHost": "Copy {{count}} items to host…",
|
||||
"copyToHost": "Copy to host…",
|
||||
"destinationPath": "Destination path",
|
||||
"destMustBeDirectory": "Destination must be a directory for multi-item transfers",
|
||||
"goUp": "Go up",
|
||||
"hostAuthRequired": "Authentication required. Open File Manager on this host first",
|
||||
"hostConnecting": "Connecting…",
|
||||
"hostConnectionFailed": "Connection failed",
|
||||
"hostDisconnected": "Not connected",
|
||||
"hostReady": "Ready",
|
||||
"itemsSummary": "{{count}} items",
|
||||
"jumpHostLimitation": "Both hosts must be reachable from the Termix server. Direct host-to-host routing is not supported.",
|
||||
"confirmMove": "Mover",
|
||||
"copyFolderToHost": "Copiar pasta para o host…",
|
||||
"copyItemsToHost": "Copiar {{count}} itens para o host…",
|
||||
"copyToHost": "Copiar para o host…",
|
||||
"destinationPath": "Caminho de destino",
|
||||
"destMustBeDirectory": "O destino deve ser um diretório para transferências de múltiplos itens.",
|
||||
"goUp": "Subir",
|
||||
"hostAuthRequired": "É necessária autenticação. Primeiro, abra o Gerenciador de Arquivos neste host.",
|
||||
"hostConnecting": "Conectando…",
|
||||
"hostConnectionFailed": "Falha na conexão",
|
||||
"hostDisconnected": "Não conectado",
|
||||
"hostReady": "Preparar",
|
||||
"itemsSummary": "{{count}} itens",
|
||||
"jumpHostLimitation": "Ambos os hosts devem ser acessíveis a partir do servidor Termix. O roteamento direto de host para host não é suportado.",
|
||||
"methodAuto": "Auto",
|
||||
"methodAutoHint": "Picks tar or per-file SFTP based on file count, size, and compressibility. Single files always use streaming SFTP.",
|
||||
"methodItemSftp": "Per-file SFTP",
|
||||
"methodItemSftpHint": "Transfer each file individually over SFTP. Works on all hosts including Windows.",
|
||||
"methodItemSftpLimitation": "Each file uses the same SFTP stream as a single-file copy, one after another. Progress is combined across all files, so the bar moves slowly during large files.",
|
||||
"methodLabel": "Transfer method",
|
||||
"methodPreviewError": "Could not preview transfer method. The server will still pick a method when you start.",
|
||||
"methodPreviewLoading": "Calculating transfer method…",
|
||||
"methodPreviewScanSummary": "{{fileCount}} files, {{totalSize}} total (scanned on source host).",
|
||||
"methodPreviewWillUseItemSftp": "Will use: Per-file SFTP",
|
||||
"methodPreviewWillUseTar": "Will use: Tar archive",
|
||||
"methodAutoHint": "Seleciona o método de compactação (tar) ou SFTP por arquivo com base na quantidade de arquivos, tamanho e compressibilidade. Arquivos individuais sempre utilizam SFTP de streaming.",
|
||||
"methodItemSftp": "SFTP por arquivo",
|
||||
"methodItemSftpHint": "Transfira cada arquivo individualmente via SFTP. Funciona em todos os hosts, incluindo Windows.",
|
||||
"methodItemSftpLimitation": "Cada arquivo utiliza o mesmo fluxo SFTP como uma cópia de arquivo único, um após o outro. O progresso é combinado em todos os arquivos, portanto a barra se move lentamente durante a transferência de arquivos grandes.",
|
||||
"methodLabel": "Método de transferência",
|
||||
"methodPreviewError": "Não foi possível visualizar o método de transferência. O servidor ainda escolherá um método quando você iniciar o servidor.",
|
||||
"methodPreviewLoading": "Calculando o método de transferência…",
|
||||
"methodPreviewScanSummary": "{{fileCount}} arquivos, {{totalSize}} total (verificado no host de origem).",
|
||||
"methodPreviewWillUseItemSftp": "Será utilizado: SFTP por arquivo",
|
||||
"methodPreviewWillUseTar": "Será utilizado: Arquivo tar",
|
||||
"methodReason": {
|
||||
"user_item_sftp": "You chose per-file SFTP.",
|
||||
"user_tar": "You chose tar archive.",
|
||||
"tar_unavailable": "Tar is not available on one or both hosts, so per-file SFTP will be used instead.",
|
||||
"windows_host": "A Windows host is involved, so tar is not used.",
|
||||
"auto_multi_large": "Auto: multiple files including a large file ({{largestSize}}) with compressible data. Tar bundles them into one transfer.",
|
||||
"auto_single_large_in_archive": "Auto: one large file ({{largestSize}}) in this set, so per-file SFTP.",
|
||||
"auto_many_incompressible": "Auto: mostly incompressible data, so per-file SFTP.",
|
||||
"auto_many_files": "Auto: many files ({{fileCount}}), tar cuts the per-file overhead.",
|
||||
"auto_default": "Auto: per-file SFTP for this set."
|
||||
"user_item_sftp": "Você escolheu SFTP por arquivo.",
|
||||
"user_tar": "Você escolheu o arquivo tar.",
|
||||
"tar_unavailable": "O arquivo tar não está disponível em um ou ambos os servidores, portanto, será utilizado o SFTP por arquivo.",
|
||||
"windows_host": "Como se trata de um host Windows, o tar não é utilizado.",
|
||||
"auto_multi_large": "Automático: vários arquivos, incluindo um arquivo grande ({{largestSize}}) com dados compressíveis. O Tar os agrupa em uma única transferência.",
|
||||
"auto_single_large_in_archive": "Automático: um arquivo grande ({{largestSize}}) neste conjunto, portanto, SFTP por arquivo.",
|
||||
"auto_many_incompressible": "Automático: dados em sua maioria não compressíveis, portanto, SFTP por arquivo.",
|
||||
"auto_many_files": "Automático: muitos arquivos ({{fileCount}}), tar reduz a sobrecarga por arquivo.",
|
||||
"auto_default": "Automático: SFTP por arquivo para este conjunto."
|
||||
},
|
||||
"methodTar": "Tar archive",
|
||||
"methodTarHint": "Compress on source, transfer one archive, extract on destination. Requires tar on both Unix hosts.",
|
||||
"metricsCompress": "Compress on source: {{duration}}",
|
||||
"metricsExtract": "Extract on destination: {{duration}}",
|
||||
"metricsPrepare": "Prepare destination: {{duration}}",
|
||||
"metricsRouteBenchmark": "Route probe: direct {{direct}}, relay {{relay}}",
|
||||
"metricsSourceDelete": "Remove from source: {{duration}}",
|
||||
"methodTar": "Arquivo Tar",
|
||||
"methodTarHint": "Comprima na origem, transfira um único arquivo compactado e extraia no destino. Requer o uso do tar em ambos os hosts Unix.",
|
||||
"metricsCompress": "Comprimir na origem: {{duration}}",
|
||||
"metricsExtract": "Extrair no destino: {{duration}}",
|
||||
"metricsPrepare": "Preparar destino: {{duration}}",
|
||||
"metricsRouteBenchmark": "Sondagem de rota: direta {{direct}}, retransmissão {{relay}}",
|
||||
"metricsSourceDelete": "Remover da fonte: {{duration}}",
|
||||
"metricsTotal": "Total: {{duration}}",
|
||||
"metricsTransfer": "End-to-end: {{throughput}} ({{duration}})",
|
||||
"metricsVerify": "SHA-256 verified: {{duration}}",
|
||||
"moveFolderToHost": "Move folder to host…",
|
||||
"moveItemsToHost": "Move {{count}} items to host…",
|
||||
"moveToHost": "Move to host…",
|
||||
"noHostsConnected": "No other file-manager hosts available.",
|
||||
"noHostsConnectedHint": "Add another SSH host with File Manager enabled in Host Manager.",
|
||||
"parallelSegmentsHint": "Large files are split into 256 MB chunks. Multiple lanes use separate connections (like starting several transfers) for higher total throughput.",
|
||||
"parallelSegmentsLabel": "Parallel transfer lanes",
|
||||
"parallelSegmentsOption": "{{count}} lanes",
|
||||
"progressBenchmarking": "Selecting the fastest transfer route…",
|
||||
"metricsTransfer": "De ponta a ponta: {{throughput}} ({{duration}})",
|
||||
"metricsVerify": "Verificado por SHA-256: {{duration}}",
|
||||
"moveFolderToHost": "Mover pasta para o host…",
|
||||
"moveItemsToHost": "Mova {{count}} itens para o host…",
|
||||
"moveToHost": "Mover para o host…",
|
||||
"noHostsConnected": "Não há outros servidores de gerenciamento de arquivos disponíveis.",
|
||||
"noHostsConnectedHint": "Adicione outro host SSH com o Gerenciador de Arquivos habilitado no Gerenciador de Hosts.",
|
||||
"parallelSegmentsHint": "Arquivos grandes são divididos em partes de 256 MB. Várias vias utilizam conexões separadas (como iniciar várias transferências) para obter uma taxa de transferência total maior.",
|
||||
"parallelSegmentsLabel": "Faixas de transferência paralelas",
|
||||
"parallelSegmentsOption": "{{count}} faixas",
|
||||
"progressBenchmarking": "Selecionando a rota de transferência mais rápida…",
|
||||
"progressBytes": "{{transferred}} / {{total}}",
|
||||
"progressCancel": "Cancelar",
|
||||
"progressCancelling": "Cancelling…",
|
||||
"progressCompressing": "Compressing on source host…",
|
||||
"progressExtracting": "Extracting on destination…",
|
||||
"progressItems": "{{current}} / {{total}} files",
|
||||
"progressReconnecting": "Reconnecting…",
|
||||
"progressStalled": "Stalled",
|
||||
"progressTotalSpeed": "{{speed}} total ({{lanes}} lanes)",
|
||||
"progressTransferring": "Transferring data…",
|
||||
"progressTransferringItems": "Transferring files ({{current}} of {{total}})…",
|
||||
"progressVerifying": "Verifying file integrity…",
|
||||
"recentDestinations": "Recent destinations",
|
||||
"resumedHint": "Reconnected to an active transfer started in another window.",
|
||||
"retryTransfer": "Retry",
|
||||
"retryTransferError": "Retry failed",
|
||||
"selectDestinationHost": "Select destination host",
|
||||
"transferCancelled": "Transfer cancelled",
|
||||
"transferCancelledCopyHint": "Partial files may remain on the destination.",
|
||||
"transferCancelledMoveHint": "Partial files may remain on the destination. Source files were not removed.",
|
||||
"transferError": "Transfer failed",
|
||||
"transferFailedRetryHint": "Partial data was kept on the destination. Retry will resume when the connection is back.",
|
||||
"transferPartialHint": "Could not transfer: {{paths}}",
|
||||
"transferSuccess": "Transfer complete",
|
||||
"metricsHopSourceRead": "Source → server: {{throughput}}",
|
||||
"metricsHopDestSftpWrite": "Server → dest (SFTP): {{throughput}}",
|
||||
"metricsHopDestLocalWrite": "Server → dest (local): {{throughput}}"
|
||||
"progressCancelling": "Cancelando…",
|
||||
"progressCompressing": "Comprimindo no host de origem…",
|
||||
"progressExtracting": "Extraindo no destino…",
|
||||
"progressItems": "{{current}} / {{total}} arquivos",
|
||||
"progressReconnecting": "Reconectando…",
|
||||
"progressStalled": "Paralisado",
|
||||
"progressTotalSpeed": "{{speed}} total ({{lanes}} faixas)",
|
||||
"progressTransferring": "Transferindo dados…",
|
||||
"progressTransferringItems": "Transferindo arquivos ({{current}} de {{total}})…",
|
||||
"progressVerifying": "Verificando a integridade do arquivo…",
|
||||
"recentDestinations": "Destinos recentes",
|
||||
"resumedHint": "Reconectado a uma transferência ativa iniciada em outra janela.",
|
||||
"retryTransfer": "Tentar novamente",
|
||||
"retryTransferError": "A nova tentativa falhou.",
|
||||
"selectDestinationHost": "Selecione o host de destino",
|
||||
"transferCancelled": "Transferência cancelada",
|
||||
"transferCancelledCopyHint": "Alguns arquivos podem permanecer no destino.",
|
||||
"transferCancelledMoveHint": "É possível que alguns arquivos permaneçam no destino. Os arquivos de origem não foram removidos.",
|
||||
"transferError": "A transferência falhou",
|
||||
"transferFailedRetryHint": "Dados parciais foram mantidos no destino. A tentativa será retomada quando a conexão for restabelecida.",
|
||||
"transferPartialHint": "Não foi possível transferir: {{paths}}",
|
||||
"transferSuccess": "Transferência concluída",
|
||||
"metricsHopSourceRead": "Origem → servidor: {{throughput}}",
|
||||
"metricsHopDestSftpWrite": "Servidor → destino (SFTP): {{throughput}}",
|
||||
"metricsHopDestLocalWrite": "Servidor → destino (local): {{throughput}}"
|
||||
}
|
||||
}
|
||||
@@ -6,15 +6,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use file manager",
|
||||
"description": "Browse, edit and transfer files over SFTP."
|
||||
"title": "Use o gestor de ficheiros",
|
||||
"description": "Navegue, edite e transfira ficheiros via SFTP."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Ativar Gestor de Ficheiros",
|
||||
"description": "Browse and edit files on this host over SFTP."
|
||||
"description": "Navegue e edite ficheiros neste servidor via SFTP."
|
||||
},
|
||||
"defaultPath": {
|
||||
"label": "Caminho Predefinido"
|
||||
@@ -25,12 +25,12 @@
|
||||
},
|
||||
"user": {
|
||||
"transferConcurrency": {
|
||||
"label": "Simultaneous File Transfers",
|
||||
"description": "How many files the side by side local/remote manager uploads or downloads at the same time. Lower this if your server limits SFTP channels."
|
||||
"label": "Transferências simultâneas de ficheiros",
|
||||
"description": "Quantos ficheiros o gestor local/remoto lado a lado carrega ou descarrega simultaneamente? Diminua este valor se o seu servidor limitar os canais SFTP."
|
||||
},
|
||||
"confirmBeforeTrash": {
|
||||
"label": "Confirm before moving files to trash",
|
||||
"description": "Ask before moving remote files to trash. Permanent deletion still requires confirmation."
|
||||
"label": "Confirme antes de mover os ficheiros para a reciclagem.",
|
||||
"description": "Peça permissão antes de mover ficheiros remotos para a reciclagem. A eliminação permanente ainda requer confirmação."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -72,13 +72,13 @@
|
||||
"rename": "Renomear",
|
||||
"uploading": "A enviar...",
|
||||
"uploadingFile": "A enviar {{name}}...",
|
||||
"uploadingChunk": "Uploading {{name}}: {{percent}}% (part {{chunk}} of {{total}})",
|
||||
"uploadingChunk": "A enviar {{name}}: {{percent}}% (parte {{chunk}} de {{total}})",
|
||||
"fileName": "Nome do ficheiro",
|
||||
"folderName": "Nome da pasta",
|
||||
"fileUploadedSuccessfully": "Ficheiro \"{{name}}\" enviado com sucesso",
|
||||
"failedToUploadFile": "Falha ao enviar ficheiro",
|
||||
"uploadingFolderFiles": "Uploading {{count}} file(s)...",
|
||||
"uploadedFolderFiles": "Uploaded {{count}} file(s) successfully",
|
||||
"uploadingFolderFiles": "A enviar {{count}} ficheiro(s)...",
|
||||
"uploadedFolderFiles": "Ficheiro(s) carregado(s) com sucesso {{count}}",
|
||||
"uploadedFolderPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
|
||||
"fileDownloadedSuccessfully": "Ficheiro \"{{name}}\" descarregado com sucesso",
|
||||
"failedToDownloadFile": "Falha ao descarregar ficheiro",
|
||||
@@ -95,58 +95,58 @@
|
||||
"sudoOperationFailed": "Operação sudo falhou",
|
||||
"sudoAuthFailed": "Autenticação sudo falhou",
|
||||
"dragFilesToUpload": "Arraste ficheiros aqui para carregar",
|
||||
"dropToUploadHere": "Drop to upload here",
|
||||
"dropToDownloadHere": "Drop to download here",
|
||||
"dropToUploadHere": "Arraste e faça o upload aqui.",
|
||||
"dropToDownloadHere": "Faça o download aqui.",
|
||||
"localFiles": "Local",
|
||||
"showLocalFiles": "Show local files (split view)",
|
||||
"hideLocalFiles": "Hide local files",
|
||||
"localHome": "Home folder",
|
||||
"localPathPlaceholder": "Local folder path",
|
||||
"localShowHidden": "Show hidden files",
|
||||
"localHideHidden": "Hide hidden files",
|
||||
"localRevealInFileManager": "Reveal in system file manager",
|
||||
"localCannotOpenFolder": "Cannot open folder",
|
||||
"showLocalFiles": "Visualizar ficheiros locais (visualização dividida)",
|
||||
"hideLocalFiles": "Ocultar ficheiros locais",
|
||||
"localHome": "Pasta inicial",
|
||||
"localPathPlaceholder": "Caminho da pasta local",
|
||||
"localShowHidden": "Mostrar ficheiros ocultos",
|
||||
"localHideHidden": "Ocultar ficheiros ocultos",
|
||||
"localRevealInFileManager": "Exibir no gestor de ficheiros do sistema",
|
||||
"localCannotOpenFolder": "Não é possível abrir a pasta",
|
||||
"localItemCount": "{{count}} itens",
|
||||
"localSelectedCount": "{{count}} selecionado(s)",
|
||||
"back": "Voltar",
|
||||
"forward": "Forward",
|
||||
"up": "Up",
|
||||
"kind": "Kind",
|
||||
"localUploadingProgress": "Uploading {{current}} of {{total}}",
|
||||
"localDownloadingProgress": "Downloading {{current}} of {{total}}",
|
||||
"localTransferInFlight": "{{count}} at once",
|
||||
"localPreparingDownload": "Preparing download...",
|
||||
"forward": "Encaminhar",
|
||||
"up": "Para cima",
|
||||
"kind": "Amabilidade",
|
||||
"localUploadingProgress": "A enviar {{current}} de {{total}}",
|
||||
"localDownloadingProgress": "A descarregar {{current}} de {{total}}",
|
||||
"localTransferInFlight": "{{count}} imediatamente",
|
||||
"localPreparingDownload": "A preparar o download...",
|
||||
"localTransferCancelled": "Transferência cancelada",
|
||||
"localNothingToTransfer": "Nothing to transfer",
|
||||
"localNothingToTransfer": "Nada a transferir",
|
||||
"localUploadComplete": "Uploaded {{count}} file(s)",
|
||||
"localUploadFailed": "Upload failed",
|
||||
"localUploadFailed": "Falha no upload",
|
||||
"localUploadPartial": "Uploaded {{done}} file(s), {{failed}} failed",
|
||||
"localDownloadComplete": "Downloaded {{count}} file(s)",
|
||||
"localDownloadComplete": "Ficheiro(s) descarregado(s) {{count}}",
|
||||
"localDownloadFailed": "Falha ao descarregar",
|
||||
"localDownloadPartial": "Downloaded {{done}} file(s), {{failed}} failed",
|
||||
"localReplaceExistingPrompt": "{{count}} item(s) already exist in this folder. Replace them?",
|
||||
"localDownloadPartial": "O download de {{done}} ficheiro(s) falhou. {{failed}}",
|
||||
"localReplaceExistingPrompt": "{{count}} Já existem itens nesta pasta. Deseja substituí-los?",
|
||||
"localReplace": "Substituir",
|
||||
"localSkipExisting": "Skip",
|
||||
"localSkippedExisting": "Skipped {{count}} existing item(s)",
|
||||
"localUnsafeNamesSkipped": "Skipped {{count}} item(s) whose names cannot be used on this computer",
|
||||
"localSkipExisting": "Ignorar",
|
||||
"localSkippedExisting": "Ignorou {{count}} item(s) existente(s)",
|
||||
"localUnsafeNamesSkipped": "Ignorado {{count}} item(s) cujos nomes não podem ser utilizados neste computador",
|
||||
"localOpen": "Abrir",
|
||||
"localOpenFolder": "Open folder",
|
||||
"localUploadToRemote": "Upload to server",
|
||||
"localUploadToRemoteMany": "Upload {{count}} items to server",
|
||||
"localMoveToTrash": "Move to Trash",
|
||||
"localMoveToTrashMany": "Move {{count}} items to Trash",
|
||||
"localTrashConfirmSingle": "Move \"{{name}}\" to the Trash?",
|
||||
"localTrashConfirmFolder": "Move the folder \"{{name}}\" and all its contents to the Trash?",
|
||||
"localTrashConfirmMany": "Move {{count}} items to the Trash?",
|
||||
"localTrashed": "Moved {{count}} item(s) to the Trash",
|
||||
"localTrashFailed": "Could not move to the Trash",
|
||||
"localRenameFailed": "Rename failed",
|
||||
"localCreateFailed": "Could not create item",
|
||||
"goToParentFolder": "Go to parent folder",
|
||||
"resizeSidebar": "Drag to resize the sidebar (double-click to reset)",
|
||||
"resizeLocalPane": "Drag to resize the local pane (double-click to reset)",
|
||||
"localOpenFolder": "Abra a pasta",
|
||||
"localUploadToRemote": "Enviar para o servidor",
|
||||
"localUploadToRemoteMany": "Enviar {{count}} itens para o servidor",
|
||||
"localMoveToTrash": "Mover para a Reciclagem",
|
||||
"localMoveToTrashMany": "Mover {{count}} itens para a Reciclagem",
|
||||
"localTrashConfirmSingle": "Deslocar \"{{name}}\" para a Reciclagem?",
|
||||
"localTrashConfirmFolder": "Mover a pasta \"{{name}}\" e todo o seu conteúdo para a Reciclagem?",
|
||||
"localTrashConfirmMany": "Mover {{count}} itens para a Reciclagem?",
|
||||
"localTrashed": "Movidos {{count}} itens para a Reciclagem",
|
||||
"localTrashFailed": "Não foi possível mover para a Reciclagem",
|
||||
"localRenameFailed": "A renomeação falhou",
|
||||
"localCreateFailed": "Não foi possível criar o item.",
|
||||
"goToParentFolder": "Aceda à pasta principal",
|
||||
"resizeSidebar": "Arraste para redimensionar a barra lateral (clique duas vezes para repor).",
|
||||
"resizeLocalPane": "Arraste para redimensionar o painel local (clique duas vezes para repor).",
|
||||
"columns": "Colunas",
|
||||
"columnsHint": "Right-click to choose columns",
|
||||
"columnsHint": "Clique com o botão direito do rato para escolher as colunas.",
|
||||
"emptyFolder": "Esta pasta está vazia",
|
||||
"searchFiles": "Procurar ficheiros...",
|
||||
"upload": "Carregar",
|
||||
@@ -202,26 +202,26 @@
|
||||
"confirmDeleteMultipleItemsWithFolders": "Tem a certeza de que pretende eliminar permanentemente {{count}} itens? Isto inclui pastas e o seu conteúdo.",
|
||||
"confirmDeleteFolder": "Tem a certeza de que pretende eliminar permanentemente a pasta \"{{name}}\" e todo o seu conteúdo?",
|
||||
"permanentDeleteWarning": "Esta ação não pode ser anulada. Os itens serão permanentemente eliminados do servidor.",
|
||||
"moveToTrashWarning": "The item(s) will be moved to the Termix Trash and can be restored before the retention period expires.",
|
||||
"itemsMovedToTrash": "{{count}} item(s) moved to Trash",
|
||||
"trash": "Trash",
|
||||
"trashDescription": "Deleted items are retained for {{days}} day(s) on this host.",
|
||||
"trashLoadFailed": "Failed to load Trash",
|
||||
"trashEmpty": "Trash is empty",
|
||||
"moveToTrashWarning": "O(s) artigo(s) será(ão) movido(s) para a Reciclagem Termix e poderá(ão) ser restaurado(s) antes do fim do período de retenção.",
|
||||
"itemsMovedToTrash": "{{count}} artigo(s) movido(s) para a Reciclagem",
|
||||
"trash": "Lixo",
|
||||
"trashDescription": "Os itens eliminados são retidos durante {{days}} dia(s) neste host.",
|
||||
"trashLoadFailed": "Falha ao carregar a Reciclagem",
|
||||
"trashEmpty": "A papeleira está vazia.",
|
||||
"trashRestore": "Restaurar",
|
||||
"trashRestored": "Restored {{name}}",
|
||||
"trashRestoreFailed": "Failed to restore item. The original path may already exist.",
|
||||
"trashDeletePermanently": "Delete permanently",
|
||||
"trashDeleteConfirm": "Permanently delete {{name}}? This cannot be undone.",
|
||||
"trashPermanentlyDeleted": "Permanently deleted {{name}}",
|
||||
"trashDeleteFailed": "Failed to permanently delete item",
|
||||
"trashEmptyAction": "Empty Trash",
|
||||
"trashEmptyConfirm": "Permanently delete every item in Trash? This cannot be undone.",
|
||||
"trashEmptied": "Trash emptied",
|
||||
"trashRetention": "Automatic cleanup after (days)",
|
||||
"trashRetentionSaved": "Trash retention updated",
|
||||
"trashRetentionFailed": "Failed to update Trash retention",
|
||||
"trashUnavailableConfirm": "This item cannot be moved to Trash, usually because it is on another filesystem or requires elevated permissions. Delete it permanently instead?",
|
||||
"trashRestored": "Restaurado {{name}}",
|
||||
"trashRestoreFailed": "Falha ao restaurar o item. O caminho original pode já existir.",
|
||||
"trashDeletePermanently": "Apagar permanentemente",
|
||||
"trashDeleteConfirm": "Apagar permanentemente {{name}}? Esta ação não pode ser anulada.",
|
||||
"trashPermanentlyDeleted": "Eliminado permanentemente {{name}}",
|
||||
"trashDeleteFailed": "Falha ao eliminar o item permanentemente",
|
||||
"trashEmptyAction": "Esvaziar o lixo",
|
||||
"trashEmptyConfirm": "Apagar permanentemente todos os itens da Reciclagem? Esta ação é irreversível.",
|
||||
"trashEmptied": "Lixo esvaziado",
|
||||
"trashRetention": "Limpeza automática após (dias)",
|
||||
"trashRetentionSaved": "Retenção de lixo atualizada",
|
||||
"trashRetentionFailed": "Falha na atualização da retenção de lixo",
|
||||
"trashUnavailableConfirm": "Este item não pode ser movido para a Reciclagem, geralmente porque está noutro sistema de ficheiros ou requer permissões elevadas. Deseja eliminá-lo permanentemente?",
|
||||
"recent": "Recentes",
|
||||
"pinned": "Fixados",
|
||||
"folderShortcuts": "Atalhos de pastas",
|
||||
@@ -303,7 +303,7 @@
|
||||
"operationCompleted": "{{operation}} {{count}} itens",
|
||||
"downloadFileSuccess": "Ficheiro {{name}} descarregado com sucesso",
|
||||
"downloadFileFailed": "Falha ao descarregar",
|
||||
"downloadingFile": "Downloading {{name}}…",
|
||||
"downloadingFile": "A descarregar {{name}}…",
|
||||
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
||||
"moveTo": "Mover para {{name}}",
|
||||
"diffCompareWith": "Comparar diferenças com {{name}}",
|
||||
@@ -329,7 +329,7 @@
|
||||
"connecting": "A ligar...",
|
||||
"connectedSuccessfully": "Ligado com sucesso",
|
||||
"totpVerificationFailed": "Falha na verificação TOTP",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "Falha ao efetuar o login. Tente novamente.",
|
||||
"authenticationFailed": "Falha na autenticação",
|
||||
"incorrectPassphrase": "Frase-passe incorreta. Tente novamente.",
|
||||
"verificationCodePrompt": "Código de verificação:",
|
||||
@@ -361,73 +361,73 @@
|
||||
"used": "Utilizado",
|
||||
"of": "de",
|
||||
"toggleSidebar": "Alternar Barra Lateral",
|
||||
"compactLayout": "Use compact layout",
|
||||
"comfortableLayout": "Use comfortable layout",
|
||||
"compactLayout": "Utilize um layout compacto.",
|
||||
"comfortableLayout": "Utilize um layout confortável",
|
||||
"cannotLoadPdf": "Não é possível carregar o PDF",
|
||||
"pdfLoadError": "Ocorreu um erro ao carregar este ficheiro PDF.",
|
||||
"loadingPdf": "A carregar PDF...",
|
||||
"loadingPage": "A carregar página...",
|
||||
"cancel": "Cancelar",
|
||||
"copiedItems_one": "Copied {{count}} item",
|
||||
"copiedItems_other": "Copied {{count}} items",
|
||||
"deleteCopiedFileFailed": "Could not delete the copy of {{name}}: {{error}}",
|
||||
"copiedItems_one": "Item copiado {{count}}",
|
||||
"copiedItems_other": "Itens copiados {{count}}",
|
||||
"deleteCopiedFileFailed": "Não foi possível eliminar a cópia de {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Moved {{count}} item to {{target}}",
|
||||
"dragMovedItems_other": "Moved {{count}} items to {{target}}",
|
||||
"moveBackFileFailed": "Could not move {{name}} back: {{error}}",
|
||||
"dragMovedItems_other": "Movidos {{count}} itens para {{target}}",
|
||||
"moveBackFileFailed": "Não foi possível mover {{name}} para trás: {{error}}",
|
||||
"terminal": "Terminal: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Dragging {{name}} to the desktop",
|
||||
"dragFilesToDesktop": "Dragging {{count}} files to the desktop",
|
||||
"folderDragUnsupported": "Dragging folders to the desktop is not supported yet",
|
||||
"saveToDesktopFailed": "Save failed: {{error}}",
|
||||
"dragFailedDetail": "Drag failed: {{error}}",
|
||||
"videoUnsupported": "Your browser cannot play this video format.",
|
||||
"downloadToPlay": "Download to play it elsewhere",
|
||||
"cannotPreviewType": "Cannot preview this file type",
|
||||
"cannotPreviewTypeHint": "This file type has no preview. Download it to open it in another app."
|
||||
"dragToDesktop": "Arrastar {{name}} para o ambiente de trabalho",
|
||||
"dragFilesToDesktop": "Arrastar {{count}} ficheiros para o ambiente de trabalho",
|
||||
"folderDragUnsupported": "Arrastar pastas para o ambiente de trabalho ainda não é suportado.",
|
||||
"saveToDesktopFailed": "Falha ao guardar: {{error}}",
|
||||
"dragFailedDetail": "Falha ao arrastar: {{error}}",
|
||||
"videoUnsupported": "O seu navegador não consegue reproduzir este formato de vídeo.",
|
||||
"downloadToPlay": "Faça o download para jogar noutro local.",
|
||||
"cannotPreviewType": "Não é possível visualizar este tipo de ficheiro.",
|
||||
"cannotPreviewTypeHint": "Este tipo de ficheiro não possui pré-visualização. Faça o download para abri-lo noutra aplicação."
|
||||
},
|
||||
"sftpTransfer": {
|
||||
"title": "SFTP",
|
||||
"description": "Transfer files between two SSH hosts.",
|
||||
"sourceServer": "Source Server",
|
||||
"destinationServer": "Destination Server",
|
||||
"selectHost": "Select host",
|
||||
"description": "Transferir ficheiros entre dois hosts SSH.",
|
||||
"sourceServer": "Servidor de origem",
|
||||
"destinationServer": "Servidor de destino",
|
||||
"selectHost": "Selecione o host",
|
||||
"noHostSelected": "Nenhum anfitrião selecionado",
|
||||
"move": "Mover",
|
||||
"copy": "Copiar",
|
||||
"upload": "Carregar",
|
||||
"itemsSelected": "{{count}} item selected",
|
||||
"itemsSelected_other": "{{count}} items selected",
|
||||
"itemsSelected": "{{count}} item selecionado",
|
||||
"itemsSelected_other": "{{count}} itens selecionados",
|
||||
"ready": "Pronto",
|
||||
"loadingHosts": "A carregar hosts...",
|
||||
"name": "Nome",
|
||||
"modified": "Modificado",
|
||||
"size": "Tamanho",
|
||||
"noFiles": "No files",
|
||||
"noFiles": "Nenhum ficheiro",
|
||||
"open": "Abrir",
|
||||
"up": "Up",
|
||||
"up": "Para cima",
|
||||
"refresh": "Atualizar",
|
||||
"copyToTarget": "Copy to Target Directory",
|
||||
"copyToTarget": "Copiar para o diretório de destino",
|
||||
"rename": "Renomear",
|
||||
"delete": "Eliminar",
|
||||
"editPermissions": "Edit Permissions",
|
||||
"createNewFolder": "Create New Folder",
|
||||
"deleteSelectedItems": "Delete Selected Items",
|
||||
"editPermissions": "Editar permissões",
|
||||
"createNewFolder": "Criar nova pasta",
|
||||
"deleteSelectedItems": "Apagar itens selecionados",
|
||||
"deleteConfirm": "Delete {{count}} selected item?",
|
||||
"deleteConfirm_other": "Delete {{count}} selected items?",
|
||||
"deleteConfirm_other": "Apagar {{count}} itens selecionados?",
|
||||
"cancel": "Cancelar",
|
||||
"save": "Guardar",
|
||||
"folderCreated": "Folder created",
|
||||
"itemRenamed": "Item renamed",
|
||||
"folderCreated": "Pasta criada",
|
||||
"itemRenamed": "Artigo renomeado",
|
||||
"actionFailed": "A ação falhou",
|
||||
"itemsDeleted": "{{count}} item deleted",
|
||||
"itemsDeleted_other": "{{count}} items deleted",
|
||||
"deleteFailed": "Delete failed",
|
||||
"permissionsUpdated": "Permissions updated",
|
||||
"noRemoteSessionConnected": "No remote session connected",
|
||||
"failedToListFiles": "Failed to list files",
|
||||
"failedToRefresh": "Failed to refresh",
|
||||
"destinationInsideSource": "Destination cannot be inside the selected source path.",
|
||||
"sameHostNoOp": "Source and destination are the same folder."
|
||||
"itemsDeleted": "{{count}} item eliminado",
|
||||
"itemsDeleted_other": "{{count}} itens eliminados",
|
||||
"deleteFailed": "Falha ao eliminar",
|
||||
"permissionsUpdated": "Permissões atualizadas",
|
||||
"noRemoteSessionConnected": "Nenhuma sessão remota ligada.",
|
||||
"failedToListFiles": "Falha ao listar os ficheiros",
|
||||
"failedToRefresh": "Falha ao atualizar",
|
||||
"destinationInsideSource": "O destino não pode estar dentro do caminho de origem selecionado.",
|
||||
"sameHostNoOp": "A origem e o destino são a mesma pasta."
|
||||
},
|
||||
"hosts": {
|
||||
"fileManager": "Gestor de Ficheiros",
|
||||
@@ -438,8 +438,8 @@
|
||||
"loadingHost": "A carregar o host..."
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_files": "File manager",
|
||||
"feature_files_desc": "Browse, upload, download and edit files over SFTP without leaving the app."
|
||||
"feature_files": "Gestor de arquivos",
|
||||
"feature_files_desc": "Navegue, carregue, descarregue e edite ficheiros via SFTP sem sair da aplicação."
|
||||
},
|
||||
"terminal": {
|
||||
"runTitle": "A executar {{command}} - {{host}}",
|
||||
@@ -464,7 +464,7 @@
|
||||
"destinationPath": "Caminho de destino",
|
||||
"destMustBeDirectory": "O destino deve ser uma pasta para transferências de vários itens.",
|
||||
"goUp": "Subir",
|
||||
"hostAuthRequired": "Authentication required. Open File Manager on this host first",
|
||||
"hostAuthRequired": "É necessária autenticação. Primeiro, abra o Gestor de Ficheiros neste host.",
|
||||
"hostConnecting": "A ligar…",
|
||||
"hostConnectionFailed": "Falha na ligação",
|
||||
"hostDisconnected": "Desligado",
|
||||
@@ -485,12 +485,12 @@
|
||||
"methodReason": {
|
||||
"user_item_sftp": "Optou por SFTP ficheiro a ficheiro.",
|
||||
"user_tar": "Optou por ficheiro tar.",
|
||||
"tar_unavailable": "Tar is not available on one or both hosts, so per-file SFTP will be used instead.",
|
||||
"windows_host": "A Windows host is involved, so tar is not used.",
|
||||
"auto_multi_large": "Auto: multiple files including a large file ({{largestSize}}) with compressible data. Tar bundles them into one transfer.",
|
||||
"auto_single_large_in_archive": "Auto: one large file ({{largestSize}}) in this set, so per-file SFTP.",
|
||||
"auto_many_incompressible": "Auto: mostly incompressible data, so per-file SFTP.",
|
||||
"auto_many_files": "Auto: many files ({{fileCount}}), tar cuts the per-file overhead.",
|
||||
"tar_unavailable": "O ficheiro tar não está disponível num ou em ambos os servidores, pelo que será utilizado o SFTP por ficheiro.",
|
||||
"windows_host": "Como se trata de um host Windows, o tar não é utilizado.",
|
||||
"auto_multi_large": "Automático: vários ficheiros, incluindo um ficheiro grande ({{largestSize}}) com dados compressíveis. O Tar agrupa-os numa única transferência.",
|
||||
"auto_single_large_in_archive": "Automático: um ficheiro grande ({{largestSize}}) neste conjunto, portanto, SFTP por ficheiro.",
|
||||
"auto_many_incompressible": "Automático: dados maioritariamente não compressíveis, portanto, SFTP por ficheiro.",
|
||||
"auto_many_files": "Automático: muitos ficheiros ({{fileCount}}), o tar reduz a sobrecarga por ficheiro.",
|
||||
"auto_default": "Automático: SFTP ficheiro a ficheiro para este conjunto."
|
||||
},
|
||||
"methodTar": "Arquivo Tar",
|
||||
@@ -498,11 +498,11 @@
|
||||
"metricsCompress": "Compressão na origem: {{duration}}",
|
||||
"metricsExtract": "Extração no destino: {{duration}}",
|
||||
"metricsPrepare": "Preparar destino: {{duration}}",
|
||||
"metricsRouteBenchmark": "Route probe: direct {{direct}}, relay {{relay}}",
|
||||
"metricsRouteBenchmark": "Sondagem de percurso: direta {{direct}}, retransmissão {{relay}}",
|
||||
"metricsSourceDelete": "Remoção da origem: {{duration}}",
|
||||
"metricsTotal": "Total: {{duration}}",
|
||||
"metricsTransfer": "Ponta a ponta: {{throughput}} ({{duration}})",
|
||||
"metricsVerify": "SHA-256 verified: {{duration}}",
|
||||
"metricsVerify": "Verificado por SHA-256: {{duration}}",
|
||||
"moveFolderToHost": "Mover pasta para o host…",
|
||||
"moveItemsToHost": "Mover {{count}} itens para o host…",
|
||||
"moveToHost": "Mover para o host…",
|
||||
@@ -511,7 +511,7 @@
|
||||
"parallelSegmentsHint": "Os ficheiros grandes são divididos em partes de 256 MB. Múltiplas vias utilizam ligações separadas (como iniciar várias transferências) para um maior débito total.",
|
||||
"parallelSegmentsLabel": "Vias de transferência paralelas",
|
||||
"parallelSegmentsOption": "{{count}} vias",
|
||||
"progressBenchmarking": "Selecting the fastest transfer route…",
|
||||
"progressBenchmarking": "Selecionando a rota de transferência mais rápida…",
|
||||
"progressBytes": "{{transferred}} / {{total}}",
|
||||
"progressCancel": "Cancelar",
|
||||
"progressCancelling": "A cancelar…",
|
||||
@@ -523,7 +523,7 @@
|
||||
"progressTotalSpeed": "{{speed}} total ({{lanes}} vias)",
|
||||
"progressTransferring": "A transferir dados…",
|
||||
"progressTransferringItems": "A transferir ficheiros ({{current}} de {{total}})…",
|
||||
"progressVerifying": "Verifying file integrity…",
|
||||
"progressVerifying": "Verificação da integridade do ficheiro…",
|
||||
"recentDestinations": "Destinos recentes",
|
||||
"resumedHint": "Reconectado a uma transferência ativa iniciada noutra janela.",
|
||||
"retryTransfer": "Repetir",
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use file manager",
|
||||
"description": "Browse, edit and transfer files over SFTP."
|
||||
"title": "Используйте файловый менеджер",
|
||||
"description": "Просматривайте, редактируйте и передавайте файлы по протоколу SFTP."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Включить файловый менеджер",
|
||||
"description": "Browse and edit files on this host over SFTP."
|
||||
"description": "Просматривайте и редактируйте файлы на этом хосте по протоколу SFTP."
|
||||
},
|
||||
"defaultPath": {
|
||||
"label": "Путь по умолчанию"
|
||||
@@ -25,12 +25,12 @@
|
||||
},
|
||||
"user": {
|
||||
"transferConcurrency": {
|
||||
"label": "Simultaneous File Transfers",
|
||||
"description": "How many files the side by side local/remote manager uploads or downloads at the same time. Lower this if your server limits SFTP channels."
|
||||
"label": "Одновременная передача файлов",
|
||||
"description": "Сколько файлов менеджер, работающий в режиме локального/удалённого доступа, может загружать или скачивать одновременно. Уменьшите это значение, если ваш сервер ограничивает количество SFTP-каналов."
|
||||
},
|
||||
"confirmBeforeTrash": {
|
||||
"label": "Confirm before moving files to trash",
|
||||
"description": "Ask before moving remote files to trash. Permanent deletion still requires confirmation."
|
||||
"label": "Перед перемещением файлов в корзину подтвердите перемещение.",
|
||||
"description": "Перед перемещением удалённых файлов в корзину запросите подтверждение. Для окончательного удаления всё равно потребуется подтверждение."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -72,14 +72,14 @@
|
||||
"rename": "Переименовать",
|
||||
"uploading": "Загрузка...",
|
||||
"uploadingFile": "Загрузка {{name}}...",
|
||||
"uploadingChunk": "Uploading {{name}}: {{percent}}% (part {{chunk}} of {{total}})",
|
||||
"uploadingChunk": "Загрузка {{name}}: {{percent}}% (часть {{chunk}} из {{total}})",
|
||||
"fileName": "Имя файла",
|
||||
"folderName": "Имя папки",
|
||||
"fileUploadedSuccessfully": "Файл «{{name}}» успешно загружен",
|
||||
"failedToUploadFile": "Не удалось загрузить файл",
|
||||
"uploadingFolderFiles": "Uploading {{count}} file(s)...",
|
||||
"uploadedFolderFiles": "Uploaded {{count}} file(s) successfully",
|
||||
"uploadedFolderPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
|
||||
"uploadingFolderFiles": "Загрузка {{count}} файла(ов)...",
|
||||
"uploadedFolderFiles": "Файл(ы) {{count}} успешно загружен(ы).",
|
||||
"uploadedFolderPartial": "Загрузка {{uploaded}} файла(ов), {{failed}} не удалась.",
|
||||
"fileDownloadedSuccessfully": "Файл «{{name}}» успешно скачан",
|
||||
"failedToDownloadFile": "Не удалось скачать файл",
|
||||
"fileCreatedSuccessfully": "Файл «{{name}}» успешно создан",
|
||||
@@ -95,58 +95,58 @@
|
||||
"sudoOperationFailed": "Операция sudo не удалась",
|
||||
"sudoAuthFailed": "Аутентификация sudo не удалась",
|
||||
"dragFilesToUpload": "Перетащите файлы сюда для загрузки",
|
||||
"dropToUploadHere": "Drop to upload here",
|
||||
"dropToDownloadHere": "Drop to download here",
|
||||
"dropToUploadHere": "Перетащите файл для загрузки сюда.",
|
||||
"dropToDownloadHere": "Скачать можно здесь (перетащите ссылку)",
|
||||
"localFiles": "Локальная",
|
||||
"showLocalFiles": "Show local files (split view)",
|
||||
"hideLocalFiles": "Hide local files",
|
||||
"localHome": "Home folder",
|
||||
"localPathPlaceholder": "Local folder path",
|
||||
"localShowHidden": "Show hidden files",
|
||||
"localHideHidden": "Hide hidden files",
|
||||
"localRevealInFileManager": "Reveal in system file manager",
|
||||
"localCannotOpenFolder": "Cannot open folder",
|
||||
"showLocalFiles": "Отображение локальных файлов (в режиме разделенного экрана)",
|
||||
"hideLocalFiles": "Скрыть локальные файлы",
|
||||
"localHome": "Домашняя папка",
|
||||
"localPathPlaceholder": "Путь к локальной папке",
|
||||
"localShowHidden": "Показать скрытые файлы",
|
||||
"localHideHidden": "Скрыть скрытые файлы",
|
||||
"localRevealInFileManager": "Показать в системном файловом менеджере",
|
||||
"localCannotOpenFolder": "Не удаётся открыть папку",
|
||||
"localItemCount": "{{count}} элементов",
|
||||
"localSelectedCount": "{{count}} выбрано",
|
||||
"back": "Назад",
|
||||
"forward": "Forward",
|
||||
"up": "Up",
|
||||
"kind": "Kind",
|
||||
"localUploadingProgress": "Uploading {{current}} of {{total}}",
|
||||
"localDownloadingProgress": "Downloading {{current}} of {{total}}",
|
||||
"localTransferInFlight": "{{count}} at once",
|
||||
"localPreparingDownload": "Preparing download...",
|
||||
"forward": "Вперед",
|
||||
"up": "Вверх",
|
||||
"kind": "Добрый",
|
||||
"localUploadingProgress": "Загрузка {{current}} из {{total}}",
|
||||
"localDownloadingProgress": "Загрузка {{current}} из {{total}}",
|
||||
"localTransferInFlight": "{{count}} сразу",
|
||||
"localPreparingDownload": "Подготовка к загрузке...",
|
||||
"localTransferCancelled": "Передача отменена",
|
||||
"localNothingToTransfer": "Nothing to transfer",
|
||||
"localUploadComplete": "Uploaded {{count}} file(s)",
|
||||
"localUploadFailed": "Upload failed",
|
||||
"localUploadPartial": "Uploaded {{done}} file(s), {{failed}} failed",
|
||||
"localDownloadComplete": "Downloaded {{count}} file(s)",
|
||||
"localNothingToTransfer": "Нет ничего для перевода",
|
||||
"localUploadComplete": "Загружено {{count}} файлов",
|
||||
"localUploadFailed": "Загрузка не удалась.",
|
||||
"localUploadPartial": "Загрузка {{done}} файла(ов), {{failed}} не удалась.",
|
||||
"localDownloadComplete": "Загружено {{count}} файлов",
|
||||
"localDownloadFailed": "Не удалось загрузить",
|
||||
"localDownloadPartial": "Downloaded {{done}} file(s), {{failed}} failed",
|
||||
"localReplaceExistingPrompt": "{{count}} item(s) already exist in this folder. Replace them?",
|
||||
"localDownloadPartial": "Загрузка {{done}} файла(ов), {{failed}} не удалась.",
|
||||
"localReplaceExistingPrompt": "{{count}} Элемент(ы) уже существуют в этой папке. Заменить их?",
|
||||
"localReplace": "Заменить",
|
||||
"localSkipExisting": "Skip",
|
||||
"localSkippedExisting": "Skipped {{count}} existing item(s)",
|
||||
"localUnsafeNamesSkipped": "Skipped {{count}} item(s) whose names cannot be used on this computer",
|
||||
"localSkipExisting": "Пропускать",
|
||||
"localSkippedExisting": "Пропущено {{count}} существующих элементов",
|
||||
"localUnsafeNamesSkipped": "Пропущено {{count}} элементов, названия которых нельзя использовать на этом компьютере",
|
||||
"localOpen": "Открыть",
|
||||
"localOpenFolder": "Open folder",
|
||||
"localUploadToRemote": "Upload to server",
|
||||
"localUploadToRemoteMany": "Upload {{count}} items to server",
|
||||
"localMoveToTrash": "Move to Trash",
|
||||
"localMoveToTrashMany": "Move {{count}} items to Trash",
|
||||
"localTrashConfirmSingle": "Move \"{{name}}\" to the Trash?",
|
||||
"localTrashConfirmFolder": "Move the folder \"{{name}}\" and all its contents to the Trash?",
|
||||
"localTrashConfirmMany": "Move {{count}} items to the Trash?",
|
||||
"localTrashed": "Moved {{count}} item(s) to the Trash",
|
||||
"localTrashFailed": "Could not move to the Trash",
|
||||
"localRenameFailed": "Rename failed",
|
||||
"localCreateFailed": "Could not create item",
|
||||
"goToParentFolder": "Go to parent folder",
|
||||
"resizeSidebar": "Drag to resize the sidebar (double-click to reset)",
|
||||
"resizeLocalPane": "Drag to resize the local pane (double-click to reset)",
|
||||
"localOpenFolder": "Открыть папку",
|
||||
"localUploadToRemote": "Загрузка на сервер",
|
||||
"localUploadToRemoteMany": "Загрузите {{count}} предметов на сервер",
|
||||
"localMoveToTrash": "Переместить в мусорное ведро",
|
||||
"localMoveToTrashMany": "Переместить {{count}} элементов в корзину",
|
||||
"localTrashConfirmSingle": "Переместить \"{{name}}\" в корзину?",
|
||||
"localTrashConfirmFolder": "Переместить папку \"{{name}}\" и всё её содержимое в корзину?",
|
||||
"localTrashConfirmMany": "Переместить {{count}} элементов в корзину?",
|
||||
"localTrashed": "Перемещено {{count}} предметов в корзину",
|
||||
"localTrashFailed": "Не удалось переместить в мусорный бак.",
|
||||
"localRenameFailed": "Переименование не удалось.",
|
||||
"localCreateFailed": "Не удалось создать элемент.",
|
||||
"goToParentFolder": "Перейдите в родительскую папку",
|
||||
"resizeSidebar": "Перетащите ползунок, чтобы изменить размер боковой панели (двойной щелчок для сброса).",
|
||||
"resizeLocalPane": "Перетащите курсор, чтобы изменить размер локальной панели (двойной щелчок для сброса).",
|
||||
"columns": "Столбцы",
|
||||
"columnsHint": "Right-click to choose columns",
|
||||
"columnsHint": "Щелкните правой кнопкой мыши, чтобы выбрать столбцы.",
|
||||
"emptyFolder": "Эта папка пуста",
|
||||
"searchFiles": "Поиск файлов...",
|
||||
"upload": "Загрузить",
|
||||
@@ -202,26 +202,26 @@
|
||||
"confirmDeleteMultipleItemsWithFolders": "Вы уверены, что хотите безвозвратно удалить {{count}} элементов? Включая папки и их содержимое.",
|
||||
"confirmDeleteFolder": "Вы уверены, что хотите безвозвратно удалить папку \"{{name}}\" и всё её содержимое?",
|
||||
"permanentDeleteWarning": "Это действие необратимо. Элемент(ы) будут безвозвратно удалены с сервера.",
|
||||
"moveToTrashWarning": "The item(s) will be moved to the Termix Trash and can be restored before the retention period expires.",
|
||||
"itemsMovedToTrash": "{{count}} item(s) moved to Trash",
|
||||
"trash": "Trash",
|
||||
"trashDescription": "Deleted items are retained for {{days}} day(s) on this host.",
|
||||
"trashLoadFailed": "Failed to load Trash",
|
||||
"trashEmpty": "Trash is empty",
|
||||
"moveToTrashWarning": "Предмет(ы) будут перемещены в корзину Termix и могут быть возвращены на место до истечения срока хранения.",
|
||||
"itemsMovedToTrash": "{{count}} элемент(ы) перемещены в корзину",
|
||||
"trash": "Мусор",
|
||||
"trashDescription": "Удаленные элементы сохраняются на этом хосте в течение {{days}} дней.",
|
||||
"trashLoadFailed": "Не удалось загрузить мусор.",
|
||||
"trashEmpty": "Мусорное ведро пусто.",
|
||||
"trashRestore": "Восстановить",
|
||||
"trashRestored": "Restored {{name}}",
|
||||
"trashRestoreFailed": "Failed to restore item. The original path may already exist.",
|
||||
"trashDeletePermanently": "Delete permanently",
|
||||
"trashDeleteConfirm": "Permanently delete {{name}}? This cannot be undone.",
|
||||
"trashPermanentlyDeleted": "Permanently deleted {{name}}",
|
||||
"trashDeleteFailed": "Failed to permanently delete item",
|
||||
"trashEmptyAction": "Empty Trash",
|
||||
"trashEmptyConfirm": "Permanently delete every item in Trash? This cannot be undone.",
|
||||
"trashEmptied": "Trash emptied",
|
||||
"trashRetention": "Automatic cleanup after (days)",
|
||||
"trashRetentionSaved": "Trash retention updated",
|
||||
"trashRetentionFailed": "Failed to update Trash retention",
|
||||
"trashUnavailableConfirm": "This item cannot be moved to Trash, usually because it is on another filesystem or requires elevated permissions. Delete it permanently instead?",
|
||||
"trashRestored": "Восстановлено {{name}}",
|
||||
"trashRestoreFailed": "Не удалось восстановить элемент. Возможно, исходный путь уже существует.",
|
||||
"trashDeletePermanently": "Удалить навсегда",
|
||||
"trashDeleteConfirm": "Удалить {{name}}навсегда? Это действие необратимо.",
|
||||
"trashPermanentlyDeleted": "Удалено навсегда {{name}}",
|
||||
"trashDeleteFailed": "Не удалось удалить элемент навсегда.",
|
||||
"trashEmptyAction": "Опустошите мусорный бак",
|
||||
"trashEmptyConfirm": "Удалить все элементы из корзины навсегда? Это действие необратимо.",
|
||||
"trashEmptied": "Мусор вывезен",
|
||||
"trashRetention": "Автоматическая очистка через (дней)",
|
||||
"trashRetentionSaved": "Обновлена информация о хранении мусора.",
|
||||
"trashRetentionFailed": "Не удалось обновить срок хранения корзины.",
|
||||
"trashUnavailableConfirm": "Этот элемент нельзя переместить в корзину, как правило, потому что он находится в другой файловой системе или требует повышенных прав доступа. Может, лучше удалить его навсегда?",
|
||||
"recent": "Недавние",
|
||||
"pinned": "Закреплённые",
|
||||
"folderShortcuts": "Ярлыки папок",
|
||||
@@ -303,7 +303,7 @@
|
||||
"operationCompleted": "{{operation}} {{count}} элементов",
|
||||
"downloadFileSuccess": "Файл {{name}} успешно загружен",
|
||||
"downloadFileFailed": "Не удалось загрузить",
|
||||
"downloadingFile": "Downloading {{name}}…",
|
||||
"downloadingFile": "Загрузка {{name}}…",
|
||||
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
||||
"moveTo": "Переместить в {{name}}",
|
||||
"diffCompareWith": "Сравнить с {{name}}",
|
||||
@@ -329,7 +329,7 @@
|
||||
"connecting": "Подключение...",
|
||||
"connectedSuccessfully": "Подключено успешно",
|
||||
"totpVerificationFailed": "Ошибка проверки TOTP",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "Вход в систему не удался. Пожалуйста, попробуйте еще раз.",
|
||||
"authenticationFailed": "Ошибка аутентификации",
|
||||
"incorrectPassphrase": "Неверная парольная фраза. Попробуйте еще раз.",
|
||||
"verificationCodePrompt": "Код подтверждения:",
|
||||
@@ -361,73 +361,73 @@
|
||||
"used": "Занято",
|
||||
"of": "из",
|
||||
"toggleSidebar": "Переключить боковую панель",
|
||||
"compactLayout": "Use compact layout",
|
||||
"comfortableLayout": "Use comfortable layout",
|
||||
"compactLayout": "Используйте компактную компоновку.",
|
||||
"comfortableLayout": "Используйте удобную планировку",
|
||||
"cannotLoadPdf": "Не удаётся загрузить PDF",
|
||||
"pdfLoadError": "Ошибка при загрузке этого PDF-файла.",
|
||||
"loadingPdf": "Загрузка PDF...",
|
||||
"loadingPage": "Загрузка страницы...",
|
||||
"cancel": "Отмена",
|
||||
"copiedItems_one": "Copied {{count}} item",
|
||||
"copiedItems_other": "Copied {{count}} items",
|
||||
"deleteCopiedFileFailed": "Could not delete the copy of {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Moved {{count}} item to {{target}}",
|
||||
"dragMovedItems_other": "Moved {{count}} items to {{target}}",
|
||||
"moveBackFileFailed": "Could not move {{name}} back: {{error}}",
|
||||
"terminal": "Terminal: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Dragging {{name}} to the desktop",
|
||||
"dragFilesToDesktop": "Dragging {{count}} files to the desktop",
|
||||
"folderDragUnsupported": "Dragging folders to the desktop is not supported yet",
|
||||
"saveToDesktopFailed": "Save failed: {{error}}",
|
||||
"dragFailedDetail": "Drag failed: {{error}}",
|
||||
"videoUnsupported": "Your browser cannot play this video format.",
|
||||
"downloadToPlay": "Download to play it elsewhere",
|
||||
"cannotPreviewType": "Cannot preview this file type",
|
||||
"cannotPreviewTypeHint": "This file type has no preview. Download it to open it in another app."
|
||||
"copiedItems_one": "Скопировано {{count}} элемент",
|
||||
"copiedItems_other": "Скопировано {{count}} элементов",
|
||||
"deleteCopiedFileFailed": "Не удалось удалить копию {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Перемещен элемент {{count}} в {{target}}",
|
||||
"dragMovedItems_other": "Перемещено {{count}} элементов в {{target}}",
|
||||
"moveBackFileFailed": "Не удалось переместить {{name}} назад: {{error}}",
|
||||
"terminal": "Терминал: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Перетаскивание {{name}} на рабочий стол",
|
||||
"dragFilesToDesktop": "Перетаскивание {{count}} файлов на рабочий стол",
|
||||
"folderDragUnsupported": "Перетаскивание папок на рабочий стол пока не поддерживается.",
|
||||
"saveToDesktopFailed": "Сохранение не удалось: {{error}}",
|
||||
"dragFailedDetail": "Перетаскивание не удалось: {{error}}",
|
||||
"videoUnsupported": "Ваш браузер не может воспроизвести этот видеоформат.",
|
||||
"downloadToPlay": "Скачайте, чтобы играть в другом месте.",
|
||||
"cannotPreviewType": "Предварительный просмотр файла этого типа невозможен.",
|
||||
"cannotPreviewTypeHint": "Для этого типа файла предварительный просмотр недоступен. Скачайте его, чтобы открыть в другом приложении."
|
||||
},
|
||||
"sftpTransfer": {
|
||||
"title": "SFTP",
|
||||
"description": "Transfer files between two SSH hosts.",
|
||||
"sourceServer": "Source Server",
|
||||
"destinationServer": "Destination Server",
|
||||
"selectHost": "Select host",
|
||||
"description": "Передача файлов между двумя SSH-хостами.",
|
||||
"sourceServer": "Исходный сервер",
|
||||
"destinationServer": "Сервер назначения",
|
||||
"selectHost": "Выберите хост",
|
||||
"noHostSelected": "Хост не выбран",
|
||||
"move": "Переместить",
|
||||
"copy": "Копировать",
|
||||
"upload": "Загрузить",
|
||||
"itemsSelected": "{{count}} item selected",
|
||||
"itemsSelected_other": "{{count}} items selected",
|
||||
"itemsSelected": "{{count}} выбранный элемент",
|
||||
"itemsSelected_other": "{{count}} выбранные элементы",
|
||||
"ready": "Готов",
|
||||
"loadingHosts": "Загрузка хостов...",
|
||||
"name": "Название",
|
||||
"modified": "Изменён",
|
||||
"size": "По размеру",
|
||||
"noFiles": "No files",
|
||||
"noFiles": "Нет файлов",
|
||||
"open": "Открыть",
|
||||
"up": "Up",
|
||||
"up": "Вверх",
|
||||
"refresh": "Обновить",
|
||||
"copyToTarget": "Copy to Target Directory",
|
||||
"copyToTarget": "Скопировать в целевую директорию",
|
||||
"rename": "Переименовать",
|
||||
"delete": "Удалить",
|
||||
"editPermissions": "Edit Permissions",
|
||||
"createNewFolder": "Create New Folder",
|
||||
"deleteSelectedItems": "Delete Selected Items",
|
||||
"deleteConfirm": "Delete {{count}} selected item?",
|
||||
"deleteConfirm_other": "Delete {{count}} selected items?",
|
||||
"editPermissions": "Изменить права доступа",
|
||||
"createNewFolder": "Создать новую папку",
|
||||
"deleteSelectedItems": "Удалить выбранные элементы",
|
||||
"deleteConfirm": "Удалить {{count}} выбранный элемент?",
|
||||
"deleteConfirm_other": "Удалить {{count}} выбранные элементы?",
|
||||
"cancel": "Отмена",
|
||||
"save": "Сохранить",
|
||||
"folderCreated": "Folder created",
|
||||
"itemRenamed": "Item renamed",
|
||||
"folderCreated": "Создана папка",
|
||||
"itemRenamed": "Элемент переименован",
|
||||
"actionFailed": "Действие не удалось",
|
||||
"itemsDeleted": "{{count}} item deleted",
|
||||
"itemsDeleted_other": "{{count}} items deleted",
|
||||
"deleteFailed": "Delete failed",
|
||||
"permissionsUpdated": "Permissions updated",
|
||||
"noRemoteSessionConnected": "No remote session connected",
|
||||
"failedToListFiles": "Failed to list files",
|
||||
"failedToRefresh": "Failed to refresh",
|
||||
"destinationInsideSource": "Destination cannot be inside the selected source path.",
|
||||
"sameHostNoOp": "Source and destination are the same folder."
|
||||
"itemsDeleted": "{{count}} элемент удален",
|
||||
"itemsDeleted_other": "{{count}} удаленные элементы",
|
||||
"deleteFailed": "Удаление не удалось.",
|
||||
"permissionsUpdated": "Права доступа обновлены.",
|
||||
"noRemoteSessionConnected": "Удалённая сессия не подключена",
|
||||
"failedToListFiles": "Не удалось отобразить список файлов.",
|
||||
"failedToRefresh": "Не удалось обновить",
|
||||
"destinationInsideSource": "Место назначения не может находиться внутри выбранного пути источника.",
|
||||
"sameHostNoOp": "Исходная и целевая папки — одна и та же."
|
||||
},
|
||||
"hosts": {
|
||||
"fileManager": "Файловый менеджер",
|
||||
@@ -438,8 +438,8 @@
|
||||
"loadingHost": "Загрузка хоста..."
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_files": "File manager",
|
||||
"feature_files_desc": "Browse, upload, download and edit files over SFTP without leaving the app."
|
||||
"feature_files": "Файловый менеджер",
|
||||
"feature_files_desc": "Просматривайте, загружайте, скачивайте и редактируйте файлы по протоколу SFTP, не выходя из приложения."
|
||||
},
|
||||
"terminal": {
|
||||
"runTitle": "Выполнение {{command}} - {{host}}",
|
||||
@@ -464,7 +464,7 @@
|
||||
"destinationPath": "Путь назначения",
|
||||
"destMustBeDirectory": "Для передачи нескольких элементов путь назначения должен быть папкой",
|
||||
"goUp": "Вверх",
|
||||
"hostAuthRequired": "Authentication required. Open File Manager on this host first",
|
||||
"hostAuthRequired": "Требуется аутентификация. Сначала откройте файловый менеджер на этом хосте.",
|
||||
"hostConnecting": "Подключение…",
|
||||
"hostConnectionFailed": "Ошибка подключения",
|
||||
"hostDisconnected": "Не подключен",
|
||||
@@ -485,12 +485,12 @@
|
||||
"methodReason": {
|
||||
"user_item_sftp": "Вы выбрали пофайловый SFTP.",
|
||||
"user_tar": "Вы выбрали tar-архив.",
|
||||
"tar_unavailable": "Tar is not available on one or both hosts, so per-file SFTP will be used instead.",
|
||||
"windows_host": "A Windows host is involved, so tar is not used.",
|
||||
"auto_multi_large": "Auto: multiple files including a large file ({{largestSize}}) with compressible data. Tar bundles them into one transfer.",
|
||||
"auto_single_large_in_archive": "Auto: one large file ({{largestSize}}) in this set, so per-file SFTP.",
|
||||
"auto_many_incompressible": "Auto: mostly incompressible data, so per-file SFTP.",
|
||||
"auto_many_files": "Auto: many files ({{fileCount}}), tar cuts the per-file overhead.",
|
||||
"tar_unavailable": "Tar недоступен на одном или обоих хостах, поэтому вместо него будет использоваться SFTP для каждого файла.",
|
||||
"windows_host": "В процессе используется хост под управлением Windows, поэтому tar не применяется.",
|
||||
"auto_multi_large": "Авто: несколько файлов, включая большой файл ({{largestSize}}) с данными, которые можно сжать. Tar объединяет их в одну передачу.",
|
||||
"auto_single_large_in_archive": "Авто: один большой файл ({{largestSize}}) в этом наборе, поэтому SFTP для каждого файла отдельно.",
|
||||
"auto_many_incompressible": "Авто: в основном несжимаемые данные, поэтому используется SFTP для каждого файла.",
|
||||
"auto_many_files": "Авто: много файлов ({{fileCount}}), tar сокращает накладные расходы на каждый файл.",
|
||||
"auto_default": "Авто: пофайловый SFTP для этого набора."
|
||||
},
|
||||
"methodTar": "Архив Tar",
|
||||
@@ -498,11 +498,11 @@
|
||||
"metricsCompress": "Сжатие на источнике: {{duration}}",
|
||||
"metricsExtract": "Распаковка на назначении: {{duration}}",
|
||||
"metricsPrepare": "Подготовка назначения: {{duration}}",
|
||||
"metricsRouteBenchmark": "Route probe: direct {{direct}}, relay {{relay}}",
|
||||
"metricsRouteBenchmark": "Маршрутизация: прямой {{direct}}, ретранслятор {{relay}}",
|
||||
"metricsSourceDelete": "Удаление с источника: {{duration}}",
|
||||
"metricsTotal": "Всего: {{duration}}",
|
||||
"metricsTransfer": "Сквозной: {{throughput}} ({{duration}})",
|
||||
"metricsVerify": "SHA-256 verified: {{duration}}",
|
||||
"metricsVerify": "SHA-256 проверен: {{duration}}",
|
||||
"moveFolderToHost": "Переместить папку на хост…",
|
||||
"moveItemsToHost": "Переместить {{count}} элементов на хост…",
|
||||
"moveToHost": "Переместить на хост…",
|
||||
@@ -511,7 +511,7 @@
|
||||
"parallelSegmentsHint": "Большие файлы разбиваются на фрагменты по 256 МБ. Несколько каналов используют отдельные соединения (как при запуске нескольких передач) для повышения общей пропускной способности.",
|
||||
"parallelSegmentsLabel": "Параллельные каналы передачи",
|
||||
"parallelSegmentsOption": "{{count}} каналов",
|
||||
"progressBenchmarking": "Selecting the fastest transfer route…",
|
||||
"progressBenchmarking": "Выбор самого быстрого маршрута пересадки…",
|
||||
"progressBytes": "{{transferred}} / {{total}}",
|
||||
"progressCancel": "Отмена",
|
||||
"progressCancelling": "Отмена…",
|
||||
@@ -523,7 +523,7 @@
|
||||
"progressTotalSpeed": "{{speed}} всего ({{lanes}} каналов)",
|
||||
"progressTransferring": "Передача данных…",
|
||||
"progressTransferringItems": "Передача файлов ({{current}} из {{total}})…",
|
||||
"progressVerifying": "Verifying file integrity…",
|
||||
"progressVerifying": "Проверка целостности файла…",
|
||||
"recentDestinations": "Недавние назначения",
|
||||
"resumedHint": "Переподключено к активной передаче, запущенной в другом окне.",
|
||||
"retryTransfer": "Повторить",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -6,15 +6,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use file manager",
|
||||
"description": "Browse, edit and transfer files over SFTP."
|
||||
"title": "Dosya yöneticisini kullanın.",
|
||||
"description": "SFTP üzerinden dosyalara göz atın, düzenleyin ve aktarın."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Dosya Yöneticisini Etkinleştir",
|
||||
"description": "Browse and edit files on this host over SFTP."
|
||||
"description": "Bu sunucudaki dosyaları SFTP üzerinden tarayın ve düzenleyin."
|
||||
},
|
||||
"defaultPath": {
|
||||
"label": "Varsayılan Yol"
|
||||
@@ -25,12 +25,12 @@
|
||||
},
|
||||
"user": {
|
||||
"transferConcurrency": {
|
||||
"label": "Simultaneous File Transfers",
|
||||
"description": "How many files the side by side local/remote manager uploads or downloads at the same time. Lower this if your server limits SFTP channels."
|
||||
"label": "Eşzamanlı Dosya Aktarımları",
|
||||
"description": "Yan yana yerel/uzaktan yönetici tarafından aynı anda yüklenen veya indirilen dosya sayısı. Sunucunuz SFTP kanallarını sınırlandırıyorsa bu değeri düşürün."
|
||||
},
|
||||
"confirmBeforeTrash": {
|
||||
"label": "Confirm before moving files to trash",
|
||||
"description": "Ask before moving remote files to trash. Permanent deletion still requires confirmation."
|
||||
"label": "Dosyaları çöp kutusuna taşımadan önce onaylayın.",
|
||||
"description": "Uzak dosyaları çöp kutusuna taşımadan önce izin isteyin. Kalıcı silme işlemi de onay gerektirir."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -72,14 +72,14 @@
|
||||
"rename": "Yeniden Adlandır",
|
||||
"uploading": "Yükleniyor...",
|
||||
"uploadingFile": "{{name}} yükleniyor...",
|
||||
"uploadingChunk": "Uploading {{name}}: {{percent}}% (part {{chunk}} of {{total}})",
|
||||
"uploadingChunk": "{{name}}yükleniyor : {{percent}}% ( {{total}}'ün {{chunk}} kısmı)",
|
||||
"fileName": "Dosya Adı",
|
||||
"folderName": "Klasör Adı",
|
||||
"fileUploadedSuccessfully": "\"{{name}}\" dosyası başarıyla yüklendi.",
|
||||
"failedToUploadFile": "Dosya yüklenemedi.",
|
||||
"uploadingFolderFiles": "Uploading {{count}} file(s)...",
|
||||
"uploadedFolderFiles": "Uploaded {{count}} file(s) successfully",
|
||||
"uploadedFolderPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
|
||||
"uploadingFolderFiles": "{{count}} dosya yükleniyor...",
|
||||
"uploadedFolderFiles": "{{count}} dosya başarıyla yüklendi",
|
||||
"uploadedFolderPartial": "{{uploaded}} dosya yüklendi, {{failed}} başarısız oldu",
|
||||
"fileDownloadedSuccessfully": "\"{{name}}\" dosyası başarıyla indirildi.",
|
||||
"failedToDownloadFile": "Dosya indirilemedi.",
|
||||
"fileCreatedSuccessfully": "\"{{name}}\" dosyası başarıyla oluşturuldu.",
|
||||
@@ -95,58 +95,58 @@
|
||||
"sudoOperationFailed": "Sudo işlemi başarısız",
|
||||
"sudoAuthFailed": "Sudo kimlik doğrulaması başarısız",
|
||||
"dragFilesToUpload": "Yüklemek için dosyaları buraya bırakın",
|
||||
"dropToUploadHere": "Drop to upload here",
|
||||
"dropToDownloadHere": "Drop to download here",
|
||||
"dropToUploadHere": "Yüklemek için sürükle bırak özelliğini kullanın.",
|
||||
"dropToDownloadHere": "İndirmek için buraya tıklayın",
|
||||
"localFiles": "Yerel",
|
||||
"showLocalFiles": "Show local files (split view)",
|
||||
"hideLocalFiles": "Hide local files",
|
||||
"localHome": "Home folder",
|
||||
"localPathPlaceholder": "Local folder path",
|
||||
"localShowHidden": "Show hidden files",
|
||||
"localHideHidden": "Hide hidden files",
|
||||
"localRevealInFileManager": "Reveal in system file manager",
|
||||
"localCannotOpenFolder": "Cannot open folder",
|
||||
"showLocalFiles": "Yerel dosyaları göster (bölünmüş görünüm)",
|
||||
"hideLocalFiles": "Yerel dosyaları gizle",
|
||||
"localHome": "Ana klasör",
|
||||
"localPathPlaceholder": "Yerel klasör yolu",
|
||||
"localShowHidden": "Gizli dosyaları göster",
|
||||
"localHideHidden": "Gizli dosyaları gizle",
|
||||
"localRevealInFileManager": "Sistem dosya yöneticisinde göster",
|
||||
"localCannotOpenFolder": "Klasör açılamıyor.",
|
||||
"localItemCount": "{{count}} öğe",
|
||||
"localSelectedCount": "{{count}} seçili",
|
||||
"back": "Geri",
|
||||
"forward": "Forward",
|
||||
"up": "Up",
|
||||
"kind": "Kind",
|
||||
"localUploadingProgress": "Uploading {{current}} of {{total}}",
|
||||
"localDownloadingProgress": "Downloading {{current}} of {{total}}",
|
||||
"localTransferInFlight": "{{count}} at once",
|
||||
"localPreparingDownload": "Preparing download...",
|
||||
"forward": "İleri",
|
||||
"up": "Yukarı",
|
||||
"kind": "Tür",
|
||||
"localUploadingProgress": "{{total}}'ten {{current}} yükleniyor",
|
||||
"localDownloadingProgress": "{{total}}'ten {{current}} indiriliyor",
|
||||
"localTransferInFlight": "{{count}} hemen",
|
||||
"localPreparingDownload": "İndirme işlemi hazırlanıyor...",
|
||||
"localTransferCancelled": "Aktarım iptal edildi",
|
||||
"localNothingToTransfer": "Nothing to transfer",
|
||||
"localUploadComplete": "Uploaded {{count}} file(s)",
|
||||
"localUploadFailed": "Upload failed",
|
||||
"localUploadPartial": "Uploaded {{done}} file(s), {{failed}} failed",
|
||||
"localDownloadComplete": "Downloaded {{count}} file(s)",
|
||||
"localNothingToTransfer": "Aktarılacak bir şey yok.",
|
||||
"localUploadComplete": "{{count}} dosya yüklendi",
|
||||
"localUploadFailed": "Yükleme başarısız oldu",
|
||||
"localUploadPartial": "{{done}} dosya yüklendi, {{failed}} başarısız oldu",
|
||||
"localDownloadComplete": "{{count}} dosya indirildi",
|
||||
"localDownloadFailed": "İndirme başarısız oldu",
|
||||
"localDownloadPartial": "Downloaded {{done}} file(s), {{failed}} failed",
|
||||
"localReplaceExistingPrompt": "{{count}} item(s) already exist in this folder. Replace them?",
|
||||
"localDownloadPartial": "{{done}} dosya indirildi, {{failed}} başarısız oldu",
|
||||
"localReplaceExistingPrompt": "Bu klasörde zaten {{count}} öğe mevcut. Bunların yerine yenilerini mi koymak istiyorsunuz?",
|
||||
"localReplace": "Değiştir",
|
||||
"localSkipExisting": "Skip",
|
||||
"localSkippedExisting": "Skipped {{count}} existing item(s)",
|
||||
"localUnsafeNamesSkipped": "Skipped {{count}} item(s) whose names cannot be used on this computer",
|
||||
"localSkipExisting": "Atlamak",
|
||||
"localSkippedExisting": "{{count}} mevcut öğe atlandı",
|
||||
"localUnsafeNamesSkipped": "Bu bilgisayarda adları kullanılamayan {{count}} öğe atlandı.",
|
||||
"localOpen": "Aç",
|
||||
"localOpenFolder": "Open folder",
|
||||
"localUploadToRemote": "Upload to server",
|
||||
"localUploadToRemoteMany": "Upload {{count}} items to server",
|
||||
"localMoveToTrash": "Move to Trash",
|
||||
"localMoveToTrashMany": "Move {{count}} items to Trash",
|
||||
"localTrashConfirmSingle": "Move \"{{name}}\" to the Trash?",
|
||||
"localTrashConfirmFolder": "Move the folder \"{{name}}\" and all its contents to the Trash?",
|
||||
"localTrashConfirmMany": "Move {{count}} items to the Trash?",
|
||||
"localTrashed": "Moved {{count}} item(s) to the Trash",
|
||||
"localTrashFailed": "Could not move to the Trash",
|
||||
"localRenameFailed": "Rename failed",
|
||||
"localCreateFailed": "Could not create item",
|
||||
"goToParentFolder": "Go to parent folder",
|
||||
"resizeSidebar": "Drag to resize the sidebar (double-click to reset)",
|
||||
"resizeLocalPane": "Drag to resize the local pane (double-click to reset)",
|
||||
"localOpenFolder": "Klasörü aç",
|
||||
"localUploadToRemote": "Sunucuya yükle",
|
||||
"localUploadToRemoteMany": "Sunucuya {{count}} öğe yükle",
|
||||
"localMoveToTrash": "Çöp Kutusuna Taşı",
|
||||
"localMoveToTrashMany": "{{count}} öğeyi Çöp Kutusuna Taşı",
|
||||
"localTrashConfirmSingle": "\"{{name}}\" öğesini Çöp Kutusuna taşı?",
|
||||
"localTrashConfirmFolder": "\"{{name}}\" klasörünü ve tüm içeriğini Çöp Kutusu'na taşı?",
|
||||
"localTrashConfirmMany": "{{count}} öğeyi Çöp Kutusuna taşı?",
|
||||
"localTrashed": "{{count}} öğe Çöp Kutusu'na taşındı",
|
||||
"localTrashFailed": "Çöp kutusuna taşınamadı",
|
||||
"localRenameFailed": "Yeniden adlandırma başarısız oldu.",
|
||||
"localCreateFailed": "Öğe oluşturulamadı.",
|
||||
"goToParentFolder": "Üst klasöre git",
|
||||
"resizeSidebar": "Kenar çubuğunu yeniden boyutlandırmak için sürükleyin (sıfırlamak için çift tıklayın)",
|
||||
"resizeLocalPane": "Yerel bölmeyi yeniden boyutlandırmak için sürükleyin (sıfırlamak için çift tıklayın).",
|
||||
"columns": "Sütunlar",
|
||||
"columnsHint": "Right-click to choose columns",
|
||||
"columnsHint": "Sütunları seçmek için sağ tıklayın.",
|
||||
"emptyFolder": "Bu klasör boş",
|
||||
"searchFiles": "Dosya ara...",
|
||||
"upload": "Yükle",
|
||||
@@ -202,26 +202,26 @@
|
||||
"confirmDeleteMultipleItemsWithFolders": "{{count}} öğeyi kalıcı olarak silmek istediğinize emin misiniz? Bu, klasörleri ve içeriklerini de kapsar.",
|
||||
"confirmDeleteFolder": "\"{{name}}\" klasörünü ve tüm içeriğini kalıcı olarak silmek istediğinize emin misiniz?",
|
||||
"permanentDeleteWarning": "Bu işlem geri alınamaz. Öğe(ler) sunucudan kalıcı olarak silinecek.",
|
||||
"moveToTrashWarning": "The item(s) will be moved to the Termix Trash and can be restored before the retention period expires.",
|
||||
"itemsMovedToTrash": "{{count}} item(s) moved to Trash",
|
||||
"trash": "Trash",
|
||||
"trashDescription": "Deleted items are retained for {{days}} day(s) on this host.",
|
||||
"trashLoadFailed": "Failed to load Trash",
|
||||
"trashEmpty": "Trash is empty",
|
||||
"moveToTrashWarning": "Öğeler Termix Çöp Kutusu'na taşınacak ve saklama süresi dolmadan önce geri yüklenebilecektir.",
|
||||
"itemsMovedToTrash": "{{count}} öğe Çöp Kutusuna taşındı",
|
||||
"trash": "Çöp",
|
||||
"trashDescription": "Silinen öğeler bu sunucuda {{days}} gün boyunca saklanır.",
|
||||
"trashLoadFailed": "Çöp kutusu yüklenemedi.",
|
||||
"trashEmpty": "Çöp kutusu boş.",
|
||||
"trashRestore": "Geri Yükle",
|
||||
"trashRestored": "Restored {{name}}",
|
||||
"trashRestoreFailed": "Failed to restore item. The original path may already exist.",
|
||||
"trashDeletePermanently": "Delete permanently",
|
||||
"trashDeleteConfirm": "Permanently delete {{name}}? This cannot be undone.",
|
||||
"trashPermanentlyDeleted": "Permanently deleted {{name}}",
|
||||
"trashDeleteFailed": "Failed to permanently delete item",
|
||||
"trashEmptyAction": "Empty Trash",
|
||||
"trashEmptyConfirm": "Permanently delete every item in Trash? This cannot be undone.",
|
||||
"trashEmptied": "Trash emptied",
|
||||
"trashRetention": "Automatic cleanup after (days)",
|
||||
"trashRetentionSaved": "Trash retention updated",
|
||||
"trashRetentionFailed": "Failed to update Trash retention",
|
||||
"trashUnavailableConfirm": "This item cannot be moved to Trash, usually because it is on another filesystem or requires elevated permissions. Delete it permanently instead?",
|
||||
"trashRestored": "Geri Yüklendi {{name}}",
|
||||
"trashRestoreFailed": "Öğeyi geri yükleme başarısız oldu. Orijinal yol zaten mevcut olabilir.",
|
||||
"trashDeletePermanently": "Kalıcı olarak sil",
|
||||
"trashDeleteConfirm": "{{name}}öğesini kalıcı olarak silmek istiyor musunuz? Bu işlem geri alınamaz.",
|
||||
"trashPermanentlyDeleted": "Kalıcı olarak silindi {{name}}",
|
||||
"trashDeleteFailed": "Öğeyi kalıcı olarak silme işlemi başarısız oldu.",
|
||||
"trashEmptyAction": "Çöpü Boşaltın",
|
||||
"trashEmptyConfirm": "Çöp kutusundaki tüm öğeleri kalıcı olarak silmek mi istiyorsunuz? Bu işlem geri alınamaz.",
|
||||
"trashEmptied": "Çöp boşaltıldı.",
|
||||
"trashRetention": "Otomatik temizleme süresi (gün)",
|
||||
"trashRetentionSaved": "Çöp saklama süresi güncellendi",
|
||||
"trashRetentionFailed": "Çöp kutusu saklama süresi güncellenemedi.",
|
||||
"trashUnavailableConfirm": "Bu öğe Çöp Kutusu'na taşınamaz, genellikle başka bir dosya sisteminde olduğu veya yükseltilmiş izinler gerektirdiği içindir. Bunun yerine kalıcı olarak silin.",
|
||||
"recent": "Son Kullanılanlar",
|
||||
"pinned": "Sabitlenmiş",
|
||||
"folderShortcuts": "Klasör Kısayolları",
|
||||
@@ -303,7 +303,7 @@
|
||||
"operationCompleted": "{{count}} öğe {{operation}}",
|
||||
"downloadFileSuccess": "{{name}} dosyası başarıyla indirildi",
|
||||
"downloadFileFailed": "İndirme başarısız oldu",
|
||||
"downloadingFile": "Downloading {{name}}…",
|
||||
"downloadingFile": "{{name}}… indiriliyor",
|
||||
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
||||
"moveTo": "{{name}} konumuna taşı",
|
||||
"diffCompareWith": "{{name}} ile diff karşılaştır",
|
||||
@@ -329,7 +329,7 @@
|
||||
"connecting": "Bağlanıyor...",
|
||||
"connectedSuccessfully": "Bağlantı başarıyla kuruldu",
|
||||
"totpVerificationFailed": "TOTP doğrulaması başarısız oldu",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "Giriş başarısız oldu. Lütfen tekrar deneyin.",
|
||||
"authenticationFailed": "Kimlik doğrulama başarısız oldu",
|
||||
"incorrectPassphrase": "Yanlış parola. Lütfen tekrar deneyin.",
|
||||
"verificationCodePrompt": "Doğrulama kodu:",
|
||||
@@ -361,73 +361,73 @@
|
||||
"used": "Kullanılan",
|
||||
"of": " / ",
|
||||
"toggleSidebar": "Kenar Çubuğunu Göster/Gizle",
|
||||
"compactLayout": "Use compact layout",
|
||||
"comfortableLayout": "Use comfortable layout",
|
||||
"compactLayout": "Kompakt düzeni kullanın.",
|
||||
"comfortableLayout": "Rahat bir düzen kullanın.",
|
||||
"cannotLoadPdf": "PDF yüklenemiyor",
|
||||
"pdfLoadError": "Bu PDF dosyası yüklenirken bir hata oluştu.",
|
||||
"loadingPdf": "PDF yükleniyor...",
|
||||
"loadingPage": "Sayfa yükleniyor...",
|
||||
"cancel": "İptal",
|
||||
"copiedItems_one": "Copied {{count}} item",
|
||||
"copiedItems_other": "Copied {{count}} items",
|
||||
"deleteCopiedFileFailed": "Could not delete the copy of {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Moved {{count}} item to {{target}}",
|
||||
"dragMovedItems_other": "Moved {{count}} items to {{target}}",
|
||||
"moveBackFileFailed": "Could not move {{name}} back: {{error}}",
|
||||
"copiedItems_one": "Kopyalanan {{count}} öğe",
|
||||
"copiedItems_other": "Kopyalanan {{count}} öğe",
|
||||
"deleteCopiedFileFailed": "{{name}}kopyası silinemedi : {{error}}",
|
||||
"dragMovedItems_one": "{{count}} öğesi {{target}} konumuna taşındı.",
|
||||
"dragMovedItems_other": "{{count}} öğe {{target}} konumuna taşındı.",
|
||||
"moveBackFileFailed": "{{name}} geri taşınamadı: {{error}}",
|
||||
"terminal": "Terminal: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Dragging {{name}} to the desktop",
|
||||
"dragFilesToDesktop": "Dragging {{count}} files to the desktop",
|
||||
"folderDragUnsupported": "Dragging folders to the desktop is not supported yet",
|
||||
"saveToDesktopFailed": "Save failed: {{error}}",
|
||||
"dragFailedDetail": "Drag failed: {{error}}",
|
||||
"videoUnsupported": "Your browser cannot play this video format.",
|
||||
"downloadToPlay": "Download to play it elsewhere",
|
||||
"cannotPreviewType": "Cannot preview this file type",
|
||||
"cannotPreviewTypeHint": "This file type has no preview. Download it to open it in another app."
|
||||
"dragToDesktop": "{{name}} dosyasını masaüstüne sürükleme",
|
||||
"dragFilesToDesktop": "{{count}} dosyaları masaüstüne sürükleme",
|
||||
"folderDragUnsupported": "Klasörleri masaüstüne sürükleme özelliği henüz desteklenmiyor.",
|
||||
"saveToDesktopFailed": "Kaydetme başarısız: {{error}}",
|
||||
"dragFailedDetail": "Sürükleme başarısız oldu: {{error}}",
|
||||
"videoUnsupported": "Tarayıcınız bu video formatını oynatamıyor.",
|
||||
"downloadToPlay": "Başka yerde oynamak için indirin",
|
||||
"cannotPreviewType": "Bu dosya türünün önizlemesi yapılamıyor.",
|
||||
"cannotPreviewTypeHint": "Bu dosya türünün önizlemesi yok. Başka bir uygulamada açmak için indirin."
|
||||
},
|
||||
"sftpTransfer": {
|
||||
"title": "SFTP",
|
||||
"description": "Transfer files between two SSH hosts.",
|
||||
"sourceServer": "Source Server",
|
||||
"destinationServer": "Destination Server",
|
||||
"selectHost": "Select host",
|
||||
"description": "İki SSH sunucusu arasında dosya aktarımı.",
|
||||
"sourceServer": "Kaynak Sunucusu",
|
||||
"destinationServer": "Hedef Sunucu",
|
||||
"selectHost": "Sunucu seçin",
|
||||
"noHostSelected": "Sunucu seçilmedi",
|
||||
"move": "Taşı",
|
||||
"copy": "Kopyala",
|
||||
"upload": "Yükle",
|
||||
"itemsSelected": "{{count}} item selected",
|
||||
"itemsSelected_other": "{{count}} items selected",
|
||||
"itemsSelected": "{{count}} seçilen öğe",
|
||||
"itemsSelected_other": "{{count}} öğe seçildi",
|
||||
"ready": "Hazır",
|
||||
"loadingHosts": "Hostlar yükleniyor...",
|
||||
"name": "Ad",
|
||||
"modified": "Değiştirilme",
|
||||
"size": "Boyut",
|
||||
"noFiles": "No files",
|
||||
"noFiles": "Dosya yok",
|
||||
"open": "Aç",
|
||||
"up": "Up",
|
||||
"up": "Yukarı",
|
||||
"refresh": "Yenile",
|
||||
"copyToTarget": "Copy to Target Directory",
|
||||
"copyToTarget": "Hedef Dizine Kopyala",
|
||||
"rename": "Yeniden adlandır",
|
||||
"delete": "Sil",
|
||||
"editPermissions": "Edit Permissions",
|
||||
"createNewFolder": "Create New Folder",
|
||||
"deleteSelectedItems": "Delete Selected Items",
|
||||
"editPermissions": "Düzenleme İzinleri",
|
||||
"createNewFolder": "Yeni Klasör Oluştur",
|
||||
"deleteSelectedItems": "Seçili Öğeleri Sil",
|
||||
"deleteConfirm": "Delete {{count}} selected item?",
|
||||
"deleteConfirm_other": "Delete {{count}} selected items?",
|
||||
"cancel": "İptal",
|
||||
"save": "Kaydet",
|
||||
"folderCreated": "Folder created",
|
||||
"itemRenamed": "Item renamed",
|
||||
"folderCreated": "Klasör oluşturuldu",
|
||||
"itemRenamed": "Öğe yeniden adlandırıldı.",
|
||||
"actionFailed": "Eylem başarısız oldu",
|
||||
"itemsDeleted": "{{count}} item deleted",
|
||||
"itemsDeleted_other": "{{count}} items deleted",
|
||||
"deleteFailed": "Delete failed",
|
||||
"permissionsUpdated": "Permissions updated",
|
||||
"noRemoteSessionConnected": "No remote session connected",
|
||||
"failedToListFiles": "Failed to list files",
|
||||
"failedToRefresh": "Failed to refresh",
|
||||
"destinationInsideSource": "Destination cannot be inside the selected source path.",
|
||||
"sameHostNoOp": "Source and destination are the same folder."
|
||||
"itemsDeleted": "{{count}} öğe silindi",
|
||||
"itemsDeleted_other": "{{count}} öğe silindi",
|
||||
"deleteFailed": "Silme işlemi başarısız oldu.",
|
||||
"permissionsUpdated": "İzinler güncellendi",
|
||||
"noRemoteSessionConnected": "Bağlantı kurulmuş uzaktan oturum yok.",
|
||||
"failedToListFiles": "Dosyaları listeleme başarısız oldu.",
|
||||
"failedToRefresh": "Yenileme başarısız oldu",
|
||||
"destinationInsideSource": "Hedef, seçilen kaynak yolunun içinde olamaz.",
|
||||
"sameHostNoOp": "Kaynak ve hedef aynı klasördedir."
|
||||
},
|
||||
"hosts": {
|
||||
"fileManager": "Dosya Yöneticisi",
|
||||
@@ -438,8 +438,8 @@
|
||||
"loadingHost": "Host yükleniyor..."
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_files": "File manager",
|
||||
"feature_files_desc": "Browse, upload, download and edit files over SFTP without leaving the app."
|
||||
"feature_files": "Dosya yöneticisi",
|
||||
"feature_files_desc": "Uygulamadan çıkmadan SFTP üzerinden dosyalara göz atın, yükleyin, indirin ve düzenleyin."
|
||||
},
|
||||
"terminal": {
|
||||
"runTitle": "Çalıştırılıyor: {{command}} - {{host}}",
|
||||
@@ -464,7 +464,7 @@
|
||||
"destinationPath": "Hedef yol",
|
||||
"destMustBeDirectory": "Çoklu öğe aktarımları için hedef bir dizin olmalıdır",
|
||||
"goUp": "Yukarı",
|
||||
"hostAuthRequired": "Authentication required. Open File Manager on this host first",
|
||||
"hostAuthRequired": "Kimlik doğrulaması gereklidir. Öncelikle bu sunucuda Dosya Yöneticisini açın.",
|
||||
"hostConnecting": "Bağlanıyor…",
|
||||
"hostConnectionFailed": "Bağlantı başarısız",
|
||||
"hostDisconnected": "Bağlı değil",
|
||||
@@ -485,12 +485,12 @@
|
||||
"methodReason": {
|
||||
"user_item_sftp": "Dosya bazında SFTP seçtiniz.",
|
||||
"user_tar": "Tar arşivi seçtiniz.",
|
||||
"tar_unavailable": "Tar is not available on one or both hosts, so per-file SFTP will be used instead.",
|
||||
"windows_host": "A Windows host is involved, so tar is not used.",
|
||||
"auto_multi_large": "Auto: multiple files including a large file ({{largestSize}}) with compressible data. Tar bundles them into one transfer.",
|
||||
"auto_single_large_in_archive": "Auto: one large file ({{largestSize}}) in this set, so per-file SFTP.",
|
||||
"auto_many_incompressible": "Auto: mostly incompressible data, so per-file SFTP.",
|
||||
"auto_many_files": "Auto: many files ({{fileCount}}), tar cuts the per-file overhead.",
|
||||
"tar_unavailable": "Tar, sunuculardan birinde veya her ikisinde de mevcut olmadığından, bunun yerine dosya bazlı SFTP kullanılacaktır.",
|
||||
"windows_host": "Windows işletim sistemli bir sunucu söz konusu olduğundan tar kullanılmamıştır.",
|
||||
"auto_multi_large": "Otomatik: Sıkıştırılabilir veriler içeren büyük bir dosya ({{largestSize}}) dahil olmak üzere birden fazla dosya. Tar bunları tek bir aktarımda birleştirir.",
|
||||
"auto_single_large_in_archive": "Otomatik: Bu kümede büyük bir dosya ({{largestSize}}) var, bu yüzden dosya başına SFTP.",
|
||||
"auto_many_incompressible": "Otomatik: Çoğunlukla sıkıştırılamayan veriler, bu nedenle dosya bazında SFTP.",
|
||||
"auto_many_files": "Otomatik: birden fazla dosya ({{fileCount}}), tar dosya başına ek yükü azaltır.",
|
||||
"auto_default": "Otomatik: bu küme için dosya bazında SFTP."
|
||||
},
|
||||
"methodTar": "Tar arşivi",
|
||||
@@ -498,11 +498,11 @@
|
||||
"metricsCompress": "Kaynakta sıkıştırma: {{duration}}",
|
||||
"metricsExtract": "Hedefte çıkarma: {{duration}}",
|
||||
"metricsPrepare": "Hedefi hazırla: {{duration}}",
|
||||
"metricsRouteBenchmark": "Route probe: direct {{direct}}, relay {{relay}}",
|
||||
"metricsRouteBenchmark": "Rota sondası: doğrudan {{direct}}, röle {{relay}}",
|
||||
"metricsSourceDelete": "Kaynaktan silme: {{duration}}",
|
||||
"metricsTotal": "Toplam: {{duration}}",
|
||||
"metricsTransfer": "Uçtan uca: {{throughput}} ({{duration}})",
|
||||
"metricsVerify": "SHA-256 verified: {{duration}}",
|
||||
"metricsVerify": "SHA-256 ile doğrulandı: {{duration}}",
|
||||
"moveFolderToHost": "Klasörü ana bilgisayara taşı…",
|
||||
"moveItemsToHost": "{{count}} öğeyi ana bilgisayara taşı…",
|
||||
"moveToHost": "Sunucuya taşı…",
|
||||
@@ -511,7 +511,7 @@
|
||||
"parallelSegmentsHint": "Büyük dosyalar 256 MB'lık parçalara bölünür. Çoklu yollar, daha yüksek toplam aktarım hızı için ayrı bağlantılar kullanır (birden fazla aktarım başlatmak gibi).",
|
||||
"parallelSegmentsLabel": "Paralel aktarım yolları",
|
||||
"parallelSegmentsOption": "{{count}} yol",
|
||||
"progressBenchmarking": "Selecting the fastest transfer route…",
|
||||
"progressBenchmarking": "En hızlı aktarma rotasını seçme…",
|
||||
"progressBytes": "{{transferred}} / {{total}}",
|
||||
"progressCancel": "İptal",
|
||||
"progressCancelling": "İptal ediliyor…",
|
||||
@@ -523,7 +523,7 @@
|
||||
"progressTotalSpeed": "{{speed}} toplam ({{lanes}} yol)",
|
||||
"progressTransferring": "Veri aktarılıyor…",
|
||||
"progressTransferringItems": "Dosyalar aktarılıyor ({{current}} / {{total}})…",
|
||||
"progressVerifying": "Verifying file integrity…",
|
||||
"progressVerifying": "Dosya bütünlüğünün doğrulanması…",
|
||||
"recentDestinations": "Son hedefler",
|
||||
"resumedHint": "Başka bir pencerede başlatılan aktif bir aktarıma yeniden bağlanıldı.",
|
||||
"retryTransfer": "Yeniden dene",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -6,15 +6,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use file manager",
|
||||
"description": "Browse, edit and transfer files over SFTP."
|
||||
"title": "Sử dụng trình quản lý tệp",
|
||||
"description": "Duyệt, chỉnh sửa và chuyển file qua SFTP."
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "Bật Trình quản lý tập tin",
|
||||
"description": "Browse and edit files on this host over SFTP."
|
||||
"description": "Duyệt và chỉnh sửa tệp trên máy chủ này qua SFTP."
|
||||
},
|
||||
"defaultPath": {
|
||||
"label": "Đường dẫn mặc định"
|
||||
@@ -25,12 +25,12 @@
|
||||
},
|
||||
"user": {
|
||||
"transferConcurrency": {
|
||||
"label": "Simultaneous File Transfers",
|
||||
"description": "How many files the side by side local/remote manager uploads or downloads at the same time. Lower this if your server limits SFTP channels."
|
||||
"label": "Truyền tệp đồng thời",
|
||||
"description": "Số lượng tệp mà trình quản lý cục bộ/từ xa song song tải lên hoặc tải xuống cùng lúc. Giảm giá trị này nếu máy chủ của bạn giới hạn số kênh SFTP."
|
||||
},
|
||||
"confirmBeforeTrash": {
|
||||
"label": "Confirm before moving files to trash",
|
||||
"description": "Ask before moving remote files to trash. Permanent deletion still requires confirmation."
|
||||
"label": "Xác nhận trước khi chuyển tập tin vào thùng rác.",
|
||||
"description": "Hãy hỏi ý kiến trước khi chuyển các tệp từ xa vào thùng rác. Việc xóa vĩnh viễn vẫn cần sự xác nhận."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -72,14 +72,14 @@
|
||||
"rename": "Đổi tên",
|
||||
"uploading": "Đang tải lên...",
|
||||
"uploadingFile": "Đang tải lên {{name}}...",
|
||||
"uploadingChunk": "Uploading {{name}}: {{percent}}% (part {{chunk}} of {{total}})",
|
||||
"uploadingChunk": "Đang tải lên {{name}}: {{percent}}% (một phần của {{chunk}} của {{total}})",
|
||||
"fileName": "Tên tập tin",
|
||||
"folderName": "Tên thư mục",
|
||||
"fileUploadedSuccessfully": "Tập tin \"{{name}}\" đã được tải lên thành công",
|
||||
"failedToUploadFile": "Tải tập tin lên thất bại",
|
||||
"uploadingFolderFiles": "Uploading {{count}} file(s)...",
|
||||
"uploadedFolderFiles": "Uploaded {{count}} file(s) successfully",
|
||||
"uploadedFolderPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
|
||||
"uploadingFolderFiles": "Đang tải lên {{count}} tập tin...",
|
||||
"uploadedFolderFiles": "Đã tải lên {{count}} tập tin thành công",
|
||||
"uploadedFolderPartial": "Đã tải lên {{uploaded}} tập tin, {{failed}} thất bại",
|
||||
"fileDownloadedSuccessfully": "Tập tin \"{{name}}\" đã được tải xuống thành công",
|
||||
"failedToDownloadFile": "Tải tập tin xuống thất bại",
|
||||
"fileCreatedSuccessfully": "Tập tin \"{{name}}\" đã được tạo thành công",
|
||||
@@ -95,58 +95,58 @@
|
||||
"sudoOperationFailed": "Thao tác sudo thất bại",
|
||||
"sudoAuthFailed": "Xác thực sudo thất bại",
|
||||
"dragFilesToUpload": "Kéo tệp vào đây để tải lên",
|
||||
"dropToUploadHere": "Drop to upload here",
|
||||
"dropToDownloadHere": "Drop to download here",
|
||||
"dropToUploadHere": "Kéo thả để tải lên tại đây",
|
||||
"dropToDownloadHere": "Kéo thả để tải xuống tại đây",
|
||||
"localFiles": "Cục bộ",
|
||||
"showLocalFiles": "Show local files (split view)",
|
||||
"hideLocalFiles": "Hide local files",
|
||||
"localHome": "Home folder",
|
||||
"localPathPlaceholder": "Local folder path",
|
||||
"localShowHidden": "Show hidden files",
|
||||
"localHideHidden": "Hide hidden files",
|
||||
"localRevealInFileManager": "Reveal in system file manager",
|
||||
"localCannotOpenFolder": "Cannot open folder",
|
||||
"showLocalFiles": "Hiển thị các tệp cục bộ (chế độ chia đôi màn hình)",
|
||||
"hideLocalFiles": "Ẩn các tệp cục bộ",
|
||||
"localHome": "Thư mục trang chủ",
|
||||
"localPathPlaceholder": "Đường dẫn thư mục cục bộ",
|
||||
"localShowHidden": "Hiển thị các tệp ẩn",
|
||||
"localHideHidden": "Ẩn các tệp tin ẩn",
|
||||
"localRevealInFileManager": "Hiển thị trong trình quản lý tệp hệ thống",
|
||||
"localCannotOpenFolder": "Không thể mở thư mục",
|
||||
"localItemCount": "{{count}} mục",
|
||||
"localSelectedCount": "{{count}} đã chọn",
|
||||
"back": "Quay lại",
|
||||
"forward": "Forward",
|
||||
"up": "Up",
|
||||
"kind": "Kind",
|
||||
"localUploadingProgress": "Uploading {{current}} of {{total}}",
|
||||
"localDownloadingProgress": "Downloading {{current}} of {{total}}",
|
||||
"localTransferInFlight": "{{count}} at once",
|
||||
"localPreparingDownload": "Preparing download...",
|
||||
"forward": "Phía trước",
|
||||
"up": "Hướng lên",
|
||||
"kind": "Loại",
|
||||
"localUploadingProgress": "Đang tải lên {{current}} trong số {{total}}",
|
||||
"localDownloadingProgress": "Đang tải xuống {{current}} của {{total}}",
|
||||
"localTransferInFlight": "{{count}} ngay lập tức",
|
||||
"localPreparingDownload": "Đang chuẩn bị tải xuống...",
|
||||
"localTransferCancelled": "Đã hủy chuyển",
|
||||
"localNothingToTransfer": "Nothing to transfer",
|
||||
"localUploadComplete": "Uploaded {{count}} file(s)",
|
||||
"localUploadFailed": "Upload failed",
|
||||
"localUploadPartial": "Uploaded {{done}} file(s), {{failed}} failed",
|
||||
"localDownloadComplete": "Downloaded {{count}} file(s)",
|
||||
"localNothingToTransfer": "Không có gì để chuyển",
|
||||
"localUploadComplete": "Đã tải lên {{count}} tập tin",
|
||||
"localUploadFailed": "Tải lên thất bại",
|
||||
"localUploadPartial": "Đã tải lên {{done}} tập tin, {{failed}} thất bại",
|
||||
"localDownloadComplete": "Đã tải xuống {{count}} tập tin",
|
||||
"localDownloadFailed": "Tải xuống thất bại",
|
||||
"localDownloadPartial": "Downloaded {{done}} file(s), {{failed}} failed",
|
||||
"localReplaceExistingPrompt": "{{count}} item(s) already exist in this folder. Replace them?",
|
||||
"localDownloadPartial": "Đã tải xuống {{done}} tập tin, {{failed}} thất bại",
|
||||
"localReplaceExistingPrompt": "{{count}} mục đã tồn tại trong thư mục này. Bạn có muốn thay thế chúng không?",
|
||||
"localReplace": "Thay thế",
|
||||
"localSkipExisting": "Skip",
|
||||
"localSkippedExisting": "Skipped {{count}} existing item(s)",
|
||||
"localUnsafeNamesSkipped": "Skipped {{count}} item(s) whose names cannot be used on this computer",
|
||||
"localSkipExisting": "Nhảy",
|
||||
"localSkippedExisting": "Đã bỏ qua {{count}} mục hiện có",
|
||||
"localUnsafeNamesSkipped": "Đã bỏ qua {{count}} mục có tên không thể sử dụng trên máy tính này",
|
||||
"localOpen": "Mở",
|
||||
"localOpenFolder": "Open folder",
|
||||
"localUploadToRemote": "Upload to server",
|
||||
"localUploadToRemoteMany": "Upload {{count}} items to server",
|
||||
"localMoveToTrash": "Move to Trash",
|
||||
"localMoveToTrashMany": "Move {{count}} items to Trash",
|
||||
"localTrashConfirmSingle": "Move \"{{name}}\" to the Trash?",
|
||||
"localTrashConfirmFolder": "Move the folder \"{{name}}\" and all its contents to the Trash?",
|
||||
"localTrashConfirmMany": "Move {{count}} items to the Trash?",
|
||||
"localTrashed": "Moved {{count}} item(s) to the Trash",
|
||||
"localTrashFailed": "Could not move to the Trash",
|
||||
"localRenameFailed": "Rename failed",
|
||||
"localCreateFailed": "Could not create item",
|
||||
"goToParentFolder": "Go to parent folder",
|
||||
"resizeSidebar": "Drag to resize the sidebar (double-click to reset)",
|
||||
"resizeLocalPane": "Drag to resize the local pane (double-click to reset)",
|
||||
"localOpenFolder": "Mở thư mục",
|
||||
"localUploadToRemote": "Tải lên máy chủ",
|
||||
"localUploadToRemoteMany": "Tải lên {{count}} mục lên máy chủ",
|
||||
"localMoveToTrash": "Chuyển vào thùng rác",
|
||||
"localMoveToTrashMany": "Di chuyển {{count}} mục vào Thùng rác",
|
||||
"localTrashConfirmSingle": "Di chuyển \"{{name}}\" vào Thùng rác?",
|
||||
"localTrashConfirmFolder": "Di chuyển thư mục \"{{name}}\" và tất cả nội dung bên trong vào Thùng rác?",
|
||||
"localTrashConfirmMany": "Di chuyển {{count}} mục vào Thùng rác?",
|
||||
"localTrashed": "Đã chuyển {{count}} mục vào Thùng rác",
|
||||
"localTrashFailed": "Không thể chuyển vào Thùng rác",
|
||||
"localRenameFailed": "Đổi tên không thành công",
|
||||
"localCreateFailed": "Không thể tạo mục",
|
||||
"goToParentFolder": "Đi đến thư mục cha",
|
||||
"resizeSidebar": "Kéo để thay đổi kích thước thanh bên (nhấp đúp để đặt lại về kích thước ban đầu)",
|
||||
"resizeLocalPane": "Kéo chuột để thay đổi kích thước khung cục bộ (nhấp đúp chuột để đặt lại về kích thước ban đầu)",
|
||||
"columns": "Cột",
|
||||
"columnsHint": "Right-click to choose columns",
|
||||
"columnsHint": "Nhấp chuột phải để chọn cột",
|
||||
"emptyFolder": "Thư mục này trống",
|
||||
"searchFiles": "Tìm kiếm tệp...",
|
||||
"upload": "Tải lên",
|
||||
@@ -202,26 +202,26 @@
|
||||
"confirmDeleteMultipleItemsWithFolders": "Bạn có chắc chắn muốn xóa vĩnh viễn {{count}} mục? Điều này bao gồm các thư mục và nội dung của chúng.",
|
||||
"confirmDeleteFolder": "Bạn có chắc chắn muốn xóa vĩnh viễn thư mục \"{{name}}\" và tất cả nội dung của nó?",
|
||||
"permanentDeleteWarning": "Hành động này không thể hoàn tác. (Các) mục sẽ bị xóa vĩnh viễn khỏi máy chủ.",
|
||||
"moveToTrashWarning": "The item(s) will be moved to the Termix Trash and can be restored before the retention period expires.",
|
||||
"itemsMovedToTrash": "{{count}} item(s) moved to Trash",
|
||||
"trash": "Trash",
|
||||
"trashDescription": "Deleted items are retained for {{days}} day(s) on this host.",
|
||||
"trashLoadFailed": "Failed to load Trash",
|
||||
"trashEmpty": "Trash is empty",
|
||||
"moveToTrashWarning": "Các mục này sẽ được chuyển vào Thùng rác Termix và có thể được khôi phục trước khi thời hạn lưu giữ hết hạn.",
|
||||
"itemsMovedToTrash": "{{count}} mục đã được chuyển vào Thùng rác",
|
||||
"trash": "Rác",
|
||||
"trashDescription": "Các mục đã xóa sẽ được lưu giữ trong {{days}} ngày trên máy chủ này.",
|
||||
"trashLoadFailed": "Không thể tải Thùng rác",
|
||||
"trashEmpty": "Thùng rác trống",
|
||||
"trashRestore": "Khôi phục",
|
||||
"trashRestored": "Restored {{name}}",
|
||||
"trashRestoreFailed": "Failed to restore item. The original path may already exist.",
|
||||
"trashDeletePermanently": "Delete permanently",
|
||||
"trashDeleteConfirm": "Permanently delete {{name}}? This cannot be undone.",
|
||||
"trashPermanentlyDeleted": "Permanently deleted {{name}}",
|
||||
"trashDeleteFailed": "Failed to permanently delete item",
|
||||
"trashEmptyAction": "Empty Trash",
|
||||
"trashEmptyConfirm": "Permanently delete every item in Trash? This cannot be undone.",
|
||||
"trashEmptied": "Trash emptied",
|
||||
"trashRetention": "Automatic cleanup after (days)",
|
||||
"trashRetentionSaved": "Trash retention updated",
|
||||
"trashRetentionFailed": "Failed to update Trash retention",
|
||||
"trashUnavailableConfirm": "This item cannot be moved to Trash, usually because it is on another filesystem or requires elevated permissions. Delete it permanently instead?",
|
||||
"trashRestored": "Đã khôi phục {{name}}",
|
||||
"trashRestoreFailed": "Không thể khôi phục mục. Đường dẫn gốc có thể đã tồn tại.",
|
||||
"trashDeletePermanently": "Xóa vĩnh viễn",
|
||||
"trashDeleteConfirm": "Xóa vĩnh viễn {{name}}? Thao tác này không thể hoàn tác.",
|
||||
"trashPermanentlyDeleted": "Đã xóa vĩnh viễn {{name}}",
|
||||
"trashDeleteFailed": "Không thể xóa mục vĩnh viễn",
|
||||
"trashEmptyAction": "Đổ rác",
|
||||
"trashEmptyConfirm": "Xóa vĩnh viễn mọi mục trong Thùng rác? Thao tác này không thể hoàn tác.",
|
||||
"trashEmptied": "Thùng rác đã được đổ",
|
||||
"trashRetention": "Tự động dọn dẹp sau (ngày)",
|
||||
"trashRetentionSaved": "Cập nhật thời gian lưu trữ rác",
|
||||
"trashRetentionFailed": "Không thể cập nhật thời gian lưu trữ thùng rác.",
|
||||
"trashUnavailableConfirm": "Không thể chuyển mục này vào Thùng rác, thường là do nó nằm trên hệ thống tệp khác hoặc yêu cầu quyền quản trị. Thay vào đó, hãy xóa vĩnh viễn mục này?",
|
||||
"recent": "Gần đây",
|
||||
"pinned": "Đã ghim",
|
||||
"folderShortcuts": "Lối tắt thư mục",
|
||||
@@ -303,7 +303,7 @@
|
||||
"operationCompleted": "Đã {{operation}} {{count}} mục",
|
||||
"downloadFileSuccess": "Đã tải xuống tệp {{name}} thành công",
|
||||
"downloadFileFailed": "Tải xuống thất bại",
|
||||
"downloadingFile": "Downloading {{name}}…",
|
||||
"downloadingFile": "Đang tải xuống {{name}}…",
|
||||
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
||||
"moveTo": "Di chuyển tới {{name}}",
|
||||
"diffCompareWith": "So sánh khác biệt với {{name}}",
|
||||
@@ -329,7 +329,7 @@
|
||||
"connecting": "Đang kết nối...",
|
||||
"connectedSuccessfully": "Đã kết nối thành công",
|
||||
"totpVerificationFailed": "Xác minh TOTP thất bại",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "Đăng nhập không thành công. Vui lòng thử lại.",
|
||||
"authenticationFailed": "Xác thực thất bại",
|
||||
"incorrectPassphrase": "Cụm mật khẩu không đúng. Vui lòng thử lại.",
|
||||
"verificationCodePrompt": "Mã xác minh:",
|
||||
@@ -361,73 +361,73 @@
|
||||
"used": "Đã dùng",
|
||||
"of": "của",
|
||||
"toggleSidebar": "Ẩn/Hiện thanh bên",
|
||||
"compactLayout": "Use compact layout",
|
||||
"comfortableLayout": "Use comfortable layout",
|
||||
"compactLayout": "Sử dụng bố cục nhỏ gọn",
|
||||
"comfortableLayout": "Sử dụng bố cục thoải mái",
|
||||
"cannotLoadPdf": "Không thể tải PDF",
|
||||
"pdfLoadError": "Đã xảy ra lỗi khi tải tệp PDF này.",
|
||||
"loadingPdf": "Đang tải PDF...",
|
||||
"loadingPage": "Đang tải trang...",
|
||||
"cancel": "Hủy",
|
||||
"copiedItems_one": "Copied {{count}} item",
|
||||
"copiedItems_other": "Copied {{count}} items",
|
||||
"deleteCopiedFileFailed": "Could not delete the copy of {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Moved {{count}} item to {{target}}",
|
||||
"dragMovedItems_other": "Moved {{count}} items to {{target}}",
|
||||
"moveBackFileFailed": "Could not move {{name}} back: {{error}}",
|
||||
"terminal": "Terminal: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Dragging {{name}} to the desktop",
|
||||
"dragFilesToDesktop": "Dragging {{count}} files to the desktop",
|
||||
"folderDragUnsupported": "Dragging folders to the desktop is not supported yet",
|
||||
"saveToDesktopFailed": "Save failed: {{error}}",
|
||||
"dragFailedDetail": "Drag failed: {{error}}",
|
||||
"videoUnsupported": "Your browser cannot play this video format.",
|
||||
"downloadToPlay": "Download to play it elsewhere",
|
||||
"cannotPreviewType": "Cannot preview this file type",
|
||||
"cannotPreviewTypeHint": "This file type has no preview. Download it to open it in another app."
|
||||
"copiedItems_one": "Đã sao chép mục {{count}}",
|
||||
"copiedItems_other": "Đã sao chép {{count}} mục",
|
||||
"deleteCopiedFileFailed": "Không thể xóa bản sao của {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Đã di chuyển mục {{count}} đến {{target}}",
|
||||
"dragMovedItems_other": "Đã di chuyển {{count}} mục đến {{target}}",
|
||||
"moveBackFileFailed": "Không thể di chuyển {{name}} trở lại: {{error}}",
|
||||
"terminal": "Thiết bị đầu cuối: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Kéo {{name}} ra màn hình nền",
|
||||
"dragFilesToDesktop": "Kéo {{count}} tập tin ra màn hình nền",
|
||||
"folderDragUnsupported": "Hiện tại, tính năng kéo thả thư mục ra màn hình nền chưa được hỗ trợ.",
|
||||
"saveToDesktopFailed": "Lưu thất bại: {{error}}",
|
||||
"dragFailedDetail": "Kéo thả thất bại: {{error}}",
|
||||
"videoUnsupported": "Trình duyệt của bạn không thể phát định dạng video này.",
|
||||
"downloadToPlay": "Tải xuống để chơi ở nơi khác",
|
||||
"cannotPreviewType": "Không thể xem trước loại tệp này",
|
||||
"cannotPreviewTypeHint": "Loại tệp này không có bản xem trước. Hãy tải xuống để mở bằng ứng dụng khác."
|
||||
},
|
||||
"sftpTransfer": {
|
||||
"title": "SFTP",
|
||||
"description": "Transfer files between two SSH hosts.",
|
||||
"sourceServer": "Source Server",
|
||||
"destinationServer": "Destination Server",
|
||||
"selectHost": "Select host",
|
||||
"description": "Truyền tệp giữa hai máy chủ SSH.",
|
||||
"sourceServer": "Máy chủ nguồn",
|
||||
"destinationServer": "Máy chủ đích",
|
||||
"selectHost": "Chọn máy chủ",
|
||||
"noHostSelected": "Chưa chọn máy chủ",
|
||||
"move": "Di chuyển",
|
||||
"copy": "Sao chép",
|
||||
"upload": "Tải lên",
|
||||
"itemsSelected": "{{count}} item selected",
|
||||
"itemsSelected_other": "{{count}} items selected",
|
||||
"itemsSelected": "{{count}} mục đã chọn",
|
||||
"itemsSelected_other": "{{count}} mục đã chọn",
|
||||
"ready": "Sẵn sàng",
|
||||
"loadingHosts": "Đang tải các máy chủ...",
|
||||
"name": "Tên",
|
||||
"modified": "Đã sửa",
|
||||
"size": "Kích thước",
|
||||
"noFiles": "No files",
|
||||
"noFiles": "Không có tệp nào",
|
||||
"open": "Mở",
|
||||
"up": "Up",
|
||||
"up": "Hướng lên",
|
||||
"refresh": "Làm mới",
|
||||
"copyToTarget": "Copy to Target Directory",
|
||||
"copyToTarget": "Sao chép vào thư mục đích",
|
||||
"rename": "Đổi tên",
|
||||
"delete": "Xóa",
|
||||
"editPermissions": "Edit Permissions",
|
||||
"createNewFolder": "Create New Folder",
|
||||
"deleteSelectedItems": "Delete Selected Items",
|
||||
"deleteConfirm": "Delete {{count}} selected item?",
|
||||
"deleteConfirm_other": "Delete {{count}} selected items?",
|
||||
"editPermissions": "Chỉnh sửa quyền",
|
||||
"createNewFolder": "Tạo thư mục mới",
|
||||
"deleteSelectedItems": "Xóa các mục đã chọn",
|
||||
"deleteConfirm": "Xóa mục đã chọn {{count}}?",
|
||||
"deleteConfirm_other": "Xóa {{count}} mục đã chọn?",
|
||||
"cancel": "Hủy",
|
||||
"save": "Lưu",
|
||||
"folderCreated": "Folder created",
|
||||
"itemRenamed": "Item renamed",
|
||||
"folderCreated": "Thư mục đã được tạo",
|
||||
"itemRenamed": "Mục đã được đổi tên",
|
||||
"actionFailed": "Hành động thất bại",
|
||||
"itemsDeleted": "{{count}} item deleted",
|
||||
"itemsDeleted_other": "{{count}} items deleted",
|
||||
"deleteFailed": "Delete failed",
|
||||
"permissionsUpdated": "Permissions updated",
|
||||
"noRemoteSessionConnected": "No remote session connected",
|
||||
"failedToListFiles": "Failed to list files",
|
||||
"failedToRefresh": "Failed to refresh",
|
||||
"destinationInsideSource": "Destination cannot be inside the selected source path.",
|
||||
"sameHostNoOp": "Source and destination are the same folder."
|
||||
"itemsDeleted": "{{count}} mục đã bị xóa",
|
||||
"itemsDeleted_other": "{{count}} mục đã bị xóa",
|
||||
"deleteFailed": "Xóa không thành công",
|
||||
"permissionsUpdated": "Quyền hạn đã được cập nhật",
|
||||
"noRemoteSessionConnected": "Không có phiên kết nối từ xa nào được thiết lập.",
|
||||
"failedToListFiles": "Không thể liệt kê các tệp.",
|
||||
"failedToRefresh": "Không thể làm mới",
|
||||
"destinationInsideSource": "Đường dẫn đích không được nằm bên trong đường dẫn nguồn đã chọn.",
|
||||
"sameHostNoOp": "Thư mục nguồn và thư mục đích đều nằm trong cùng một thư mục."
|
||||
},
|
||||
"hosts": {
|
||||
"fileManager": "Trình quản lý tệp",
|
||||
@@ -438,8 +438,8 @@
|
||||
"loadingHost": "Đang tải máy chủ..."
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_files": "File manager",
|
||||
"feature_files_desc": "Browse, upload, download and edit files over SFTP without leaving the app."
|
||||
"feature_files": "Trình quản lý tập tin",
|
||||
"feature_files_desc": "Duyệt, tải lên, tải xuống và chỉnh sửa tệp qua SFTP mà không cần rời khỏi ứng dụng."
|
||||
},
|
||||
"terminal": {
|
||||
"runTitle": "Đang chạy {{command}} - {{host}}",
|
||||
@@ -464,7 +464,7 @@
|
||||
"destinationPath": "Đường dẫn đích",
|
||||
"destMustBeDirectory": "Đích phải là thư mục khi truyền tải nhiều mục",
|
||||
"goUp": "Lên trên",
|
||||
"hostAuthRequired": "Authentication required. Open File Manager on this host first",
|
||||
"hostAuthRequired": "Cần xác thực. Trước tiên hãy mở Trình quản lý tập tin trên máy chủ này.",
|
||||
"hostConnecting": "Đang kết nối…",
|
||||
"hostConnectionFailed": "Kết nối thất bại",
|
||||
"hostDisconnected": "Chưa kết nối",
|
||||
@@ -485,12 +485,12 @@
|
||||
"methodReason": {
|
||||
"user_item_sftp": "Bạn đã chọn SFTP từng tệp.",
|
||||
"user_tar": "Bạn đã chọn dùng tar.",
|
||||
"tar_unavailable": "Tar is not available on one or both hosts, so per-file SFTP will be used instead.",
|
||||
"windows_host": "A Windows host is involved, so tar is not used.",
|
||||
"auto_multi_large": "Auto: multiple files including a large file ({{largestSize}}) with compressible data. Tar bundles them into one transfer.",
|
||||
"auto_single_large_in_archive": "Auto: one large file ({{largestSize}}) in this set, so per-file SFTP.",
|
||||
"auto_many_incompressible": "Auto: mostly incompressible data, so per-file SFTP.",
|
||||
"auto_many_files": "Auto: many files ({{fileCount}}), tar cuts the per-file overhead.",
|
||||
"tar_unavailable": "Định dạng Tar không khả dụng trên một hoặc cả hai máy chủ, vì vậy thay vào đó sẽ sử dụng SFTP cho từng tệp.",
|
||||
"windows_host": "Vì đây là máy chủ Windows nên không sử dụng lệnh tar.",
|
||||
"auto_multi_large": "Tự động: nhiều tệp bao gồm một tệp lớn ({{largestSize}}) với dữ liệu có thể nén. Tar sẽ đóng gói chúng thành một lần truyền.",
|
||||
"auto_single_large_in_archive": "Tự động: một tập tin lớn ({{largestSize}}) trong bộ này, vì vậy SFTP theo từng tập tin.",
|
||||
"auto_many_incompressible": "Chế độ tự động: phần lớn dữ liệu không thể nén được, nên cần SFTP cho từng tệp riêng biệt.",
|
||||
"auto_many_files": "Tự động: nhiều tệp ({{fileCount}}), tar giảm chi phí xử lý trên mỗi tệp.",
|
||||
"auto_default": "Tự động: SFTP từng tệp cho tập này."
|
||||
},
|
||||
"methodTar": "Lưu trữ tar",
|
||||
@@ -498,11 +498,11 @@
|
||||
"metricsCompress": "Nén tại nguồn: {{duration}}",
|
||||
"metricsExtract": "Giải nén tại đích: {{duration}}",
|
||||
"metricsPrepare": "Chuẩn bị đích: {{duration}}",
|
||||
"metricsRouteBenchmark": "Route probe: direct {{direct}}, relay {{relay}}",
|
||||
"metricsRouteBenchmark": "Đầu dò tuyến đường: trực tiếp {{direct}}, chuyển tiếp {{relay}}",
|
||||
"metricsSourceDelete": "Xóa khỏi nguồn: {{duration}}",
|
||||
"metricsTotal": "Tổng: {{duration}}",
|
||||
"metricsTransfer": "Toàn trình: {{throughput}} ({{duration}})",
|
||||
"metricsVerify": "SHA-256 verified: {{duration}}",
|
||||
"metricsVerify": "Đã xác thực SHA-256: {{duration}}",
|
||||
"moveFolderToHost": "Di chuyển thư mục tới máy chủ…",
|
||||
"moveItemsToHost": "Di chuyển {{count}} mục tới máy chủ…",
|
||||
"moveToHost": "Di chuyển đến máy chủ…",
|
||||
@@ -511,7 +511,7 @@
|
||||
"parallelSegmentsHint": "Các tệp lớn được chia thành các khối 256 MB. Nhiều làn sử dụng các kết nối riêng biệt (như khởi chạy nhiều lần truyền) để tăng tổng thông lượng.",
|
||||
"parallelSegmentsLabel": "Làn truyền song song",
|
||||
"parallelSegmentsOption": "{{count}} làn",
|
||||
"progressBenchmarking": "Selecting the fastest transfer route…",
|
||||
"progressBenchmarking": "Chọn tuyến đường chuyển tiếp nhanh nhất…",
|
||||
"progressBytes": "{{transferred}} / {{total}}",
|
||||
"progressCancel": "Hủy",
|
||||
"progressCancelling": "Đang hủy…",
|
||||
@@ -523,7 +523,7 @@
|
||||
"progressTotalSpeed": "{{speed}} tổng ({{lanes}} làn)",
|
||||
"progressTransferring": "Đang truyền dữ liệu…",
|
||||
"progressTransferringItems": "Đang truyền tệp ({{current}}/{{total}})…",
|
||||
"progressVerifying": "Verifying file integrity…",
|
||||
"progressVerifying": "Đang xác minh tính toàn vẹn của tệp…",
|
||||
"recentDestinations": "Đích gần đây",
|
||||
"resumedHint": "Đã kết nối lại với một tác vụ chuyển đang hoạt động được bắt đầu từ cửa sổ khác.",
|
||||
"retryTransfer": "Thử lại",
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
},
|
||||
"permissions": {
|
||||
"use": {
|
||||
"title": "Use file manager",
|
||||
"description": "Browse, edit and transfer files over SFTP."
|
||||
"title": "使用檔案管理器",
|
||||
"description": "透過 SFTP 瀏覽、編輯和傳輸檔案。"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"host": {
|
||||
"enable": {
|
||||
"label": "啟用檔案管理員",
|
||||
"description": "Browse and edit files on this host over SFTP."
|
||||
"description": "透過 SFTP 瀏覽和編輯此主機上的檔案。"
|
||||
},
|
||||
"defaultPath": {
|
||||
"label": "預設路徑"
|
||||
@@ -25,12 +25,12 @@
|
||||
},
|
||||
"user": {
|
||||
"transferConcurrency": {
|
||||
"label": "Simultaneous File Transfers",
|
||||
"description": "How many files the side by side local/remote manager uploads or downloads at the same time. Lower this if your server limits SFTP channels."
|
||||
"label": "同時文件傳輸",
|
||||
"description": "本機/遠端並排管理器同時上傳或下載的檔案數量。如果您的伺服器限制 SFTP 通道,請降低此值。"
|
||||
},
|
||||
"confirmBeforeTrash": {
|
||||
"label": "Confirm before moving files to trash",
|
||||
"description": "Ask before moving remote files to trash. Permanent deletion still requires confirmation."
|
||||
"label": "請確認後再將文件移至回收站",
|
||||
"description": "將遠端文件移至回收站前請先詢問。永久刪除仍需確認。"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -72,14 +72,14 @@
|
||||
"rename": "重新命名",
|
||||
"uploading": "上傳中...",
|
||||
"uploadingFile": "正在上傳 {{name}}...",
|
||||
"uploadingChunk": "Uploading {{name}}: {{percent}}% (part {{chunk}} of {{total}})",
|
||||
"uploadingChunk": "正在上傳 {{name}}: {{percent}}% ( {{chunk}} 的一部分,共 {{total}})",
|
||||
"fileName": "檔案名稱",
|
||||
"folderName": "資料夾名稱",
|
||||
"fileUploadedSuccessfully": "檔案「{{name}}」上傳成功",
|
||||
"failedToUploadFile": "上傳檔案失敗",
|
||||
"uploadingFolderFiles": "Uploading {{count}} file(s)...",
|
||||
"uploadedFolderFiles": "Uploaded {{count}} file(s) successfully",
|
||||
"uploadedFolderPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
|
||||
"uploadingFolderFiles": "正在上傳 {{count}} 檔案...",
|
||||
"uploadedFolderFiles": "已成功上傳 {{count}} 個文件",
|
||||
"uploadedFolderPartial": "上傳檔案 {{uploaded}} 失敗, {{failed}} 失敗",
|
||||
"fileDownloadedSuccessfully": "檔案「{{name}}」下載成功",
|
||||
"failedToDownloadFile": "下載檔案失敗",
|
||||
"fileCreatedSuccessfully": "檔案「{{name}}」建立成功",
|
||||
@@ -95,58 +95,58 @@
|
||||
"sudoOperationFailed": "Sudo 操作失敗",
|
||||
"sudoAuthFailed": "Sudo 驗證失敗",
|
||||
"dragFilesToUpload": "拖放檔案至此以上傳",
|
||||
"dropToUploadHere": "Drop to upload here",
|
||||
"dropToDownloadHere": "Drop to download here",
|
||||
"dropToUploadHere": "在此處上傳",
|
||||
"dropToDownloadHere": "點此下載",
|
||||
"localFiles": "本機",
|
||||
"showLocalFiles": "Show local files (split view)",
|
||||
"hideLocalFiles": "Hide local files",
|
||||
"localHome": "Home folder",
|
||||
"localPathPlaceholder": "Local folder path",
|
||||
"localShowHidden": "Show hidden files",
|
||||
"localHideHidden": "Hide hidden files",
|
||||
"localRevealInFileManager": "Reveal in system file manager",
|
||||
"localCannotOpenFolder": "Cannot open folder",
|
||||
"showLocalFiles": "顯示本地文件(分割畫面顯示)",
|
||||
"hideLocalFiles": "隱藏本地文件",
|
||||
"localHome": "首頁",
|
||||
"localPathPlaceholder": "本機資料夾路徑",
|
||||
"localShowHidden": "顯示隱藏文件",
|
||||
"localHideHidden": "隱藏隱藏文件",
|
||||
"localRevealInFileManager": "在系統檔案管理器中顯示",
|
||||
"localCannotOpenFolder": "無法開啟資料夾",
|
||||
"localItemCount": "{{count}} 個項目",
|
||||
"localSelectedCount": "已選取 {{count}} 個",
|
||||
"back": "返回",
|
||||
"forward": "Forward",
|
||||
"up": "Up",
|
||||
"kind": "Kind",
|
||||
"localUploadingProgress": "Uploading {{current}} of {{total}}",
|
||||
"localDownloadingProgress": "Downloading {{current}} of {{total}}",
|
||||
"localTransferInFlight": "{{count}} at once",
|
||||
"localPreparingDownload": "Preparing download...",
|
||||
"forward": "向前",
|
||||
"up": "向上",
|
||||
"kind": "種類",
|
||||
"localUploadingProgress": "正在上傳 {{current}} 中的 {{total}}",
|
||||
"localDownloadingProgress": "正在下載 {{current}} 中的 {{total}}",
|
||||
"localTransferInFlight": "{{count}} 立刻",
|
||||
"localPreparingDownload": "正在準備下載…",
|
||||
"localTransferCancelled": "傳輸已取消",
|
||||
"localNothingToTransfer": "Nothing to transfer",
|
||||
"localUploadComplete": "Uploaded {{count}} file(s)",
|
||||
"localUploadFailed": "Upload failed",
|
||||
"localUploadPartial": "Uploaded {{done}} file(s), {{failed}} failed",
|
||||
"localDownloadComplete": "Downloaded {{count}} file(s)",
|
||||
"localNothingToTransfer": "無需轉移",
|
||||
"localUploadComplete": "已上傳 {{count}} 個文件",
|
||||
"localUploadFailed": "上傳失敗",
|
||||
"localUploadPartial": "上傳檔案 {{done}} 失敗, {{failed}} 失敗",
|
||||
"localDownloadComplete": "已下載 {{count}} 個文件",
|
||||
"localDownloadFailed": "下載失敗",
|
||||
"localDownloadPartial": "Downloaded {{done}} file(s), {{failed}} failed",
|
||||
"localReplaceExistingPrompt": "{{count}} item(s) already exist in this folder. Replace them?",
|
||||
"localDownloadPartial": "下載了 {{done}} 個文件, {{failed}} 個文件失敗",
|
||||
"localReplaceExistingPrompt": "此資料夾中已存在 {{count}} 個項目。是否替換它們?",
|
||||
"localReplace": "取代",
|
||||
"localSkipExisting": "Skip",
|
||||
"localSkippedExisting": "Skipped {{count}} existing item(s)",
|
||||
"localUnsafeNamesSkipped": "Skipped {{count}} item(s) whose names cannot be used on this computer",
|
||||
"localSkipExisting": "跳過",
|
||||
"localSkippedExisting": "已跳過 {{count}} 個現有項目",
|
||||
"localUnsafeNamesSkipped": "已跳過 {{count}} 個名稱無法在此電腦上使用的項目。",
|
||||
"localOpen": "開啟",
|
||||
"localOpenFolder": "Open folder",
|
||||
"localUploadToRemote": "Upload to server",
|
||||
"localUploadToRemoteMany": "Upload {{count}} items to server",
|
||||
"localMoveToTrash": "Move to Trash",
|
||||
"localMoveToTrashMany": "Move {{count}} items to Trash",
|
||||
"localTrashConfirmSingle": "Move \"{{name}}\" to the Trash?",
|
||||
"localTrashConfirmFolder": "Move the folder \"{{name}}\" and all its contents to the Trash?",
|
||||
"localTrashConfirmMany": "Move {{count}} items to the Trash?",
|
||||
"localTrashed": "Moved {{count}} item(s) to the Trash",
|
||||
"localTrashFailed": "Could not move to the Trash",
|
||||
"localRenameFailed": "Rename failed",
|
||||
"localCreateFailed": "Could not create item",
|
||||
"goToParentFolder": "Go to parent folder",
|
||||
"resizeSidebar": "Drag to resize the sidebar (double-click to reset)",
|
||||
"resizeLocalPane": "Drag to resize the local pane (double-click to reset)",
|
||||
"localOpenFolder": "打開資料夾",
|
||||
"localUploadToRemote": "上傳到伺服器",
|
||||
"localUploadToRemoteMany": "上傳 {{count}} 項目到伺服器",
|
||||
"localMoveToTrash": "移至垃圾桶",
|
||||
"localMoveToTrashMany": "將 {{count}} 個物品移至垃圾桶",
|
||||
"localTrashConfirmSingle": "將「{{name}}」移至回收站?",
|
||||
"localTrashConfirmFolder": "將資料夾「{{name}}」及其所有內容移至回收站?",
|
||||
"localTrashConfirmMany": "將 {{count}} 個項目移至回收站?",
|
||||
"localTrashed": "已將 {{count}} 個項目移至回收站",
|
||||
"localTrashFailed": "無法移至垃圾桶",
|
||||
"localRenameFailed": "重新命名失敗",
|
||||
"localCreateFailed": "無法建立專案",
|
||||
"goToParentFolder": "轉到上資料夾",
|
||||
"resizeSidebar": "拖曳即可調整側邊欄大小(雙擊即可重設)",
|
||||
"resizeLocalPane": "拖曳即可調整本機窗格大小(雙擊可重設)",
|
||||
"columns": "欄",
|
||||
"columnsHint": "Right-click to choose columns",
|
||||
"columnsHint": "右鍵單擊選擇列",
|
||||
"emptyFolder": "此資料夾為空",
|
||||
"searchFiles": "搜尋檔案...",
|
||||
"upload": "上傳",
|
||||
@@ -202,26 +202,26 @@
|
||||
"confirmDeleteMultipleItemsWithFolders": "確定要永久刪除 {{count}} 個項目嗎?這包含資料夾及其內容。",
|
||||
"confirmDeleteFolder": "確定要永久刪除資料夾「{{name}}」及其所有內容嗎?",
|
||||
"permanentDeleteWarning": "此動作無法復原。項目將從伺服器永久刪除。",
|
||||
"moveToTrashWarning": "The item(s) will be moved to the Termix Trash and can be restored before the retention period expires.",
|
||||
"itemsMovedToTrash": "{{count}} item(s) moved to Trash",
|
||||
"trash": "Trash",
|
||||
"trashDescription": "Deleted items are retained for {{days}} day(s) on this host.",
|
||||
"trashLoadFailed": "Failed to load Trash",
|
||||
"trashEmpty": "Trash is empty",
|
||||
"moveToTrashWarning": "該物品將移至 Termix 回收站,可在保留期到期前恢復。",
|
||||
"itemsMovedToTrash": "{{count}} 項已移至回收站",
|
||||
"trash": "垃圾",
|
||||
"trashDescription": "已刪除的項目將保留在本主機上 {{days}} 天。",
|
||||
"trashLoadFailed": "載入回收站失敗",
|
||||
"trashEmpty": "垃圾桶是空的。",
|
||||
"trashRestore": "還原",
|
||||
"trashRestored": "Restored {{name}}",
|
||||
"trashRestoreFailed": "Failed to restore item. The original path may already exist.",
|
||||
"trashDeletePermanently": "Delete permanently",
|
||||
"trashDeleteConfirm": "Permanently delete {{name}}? This cannot be undone.",
|
||||
"trashPermanentlyDeleted": "Permanently deleted {{name}}",
|
||||
"trashDeleteFailed": "Failed to permanently delete item",
|
||||
"trashEmptyAction": "Empty Trash",
|
||||
"trashEmptyConfirm": "Permanently delete every item in Trash? This cannot be undone.",
|
||||
"trashEmptied": "Trash emptied",
|
||||
"trashRetention": "Automatic cleanup after (days)",
|
||||
"trashRetentionSaved": "Trash retention updated",
|
||||
"trashRetentionFailed": "Failed to update Trash retention",
|
||||
"trashUnavailableConfirm": "This item cannot be moved to Trash, usually because it is on another filesystem or requires elevated permissions. Delete it permanently instead?",
|
||||
"trashRestored": "已恢復 {{name}}",
|
||||
"trashRestoreFailed": "恢復專案失敗。原始路徑可能已存在。",
|
||||
"trashDeletePermanently": "永久刪除",
|
||||
"trashDeleteConfirm": "永久刪除 {{name}}?此操作無法撤銷。",
|
||||
"trashPermanentlyDeleted": "永久刪除 {{name}}",
|
||||
"trashDeleteFailed": "無法永久刪除項目",
|
||||
"trashEmptyAction": "清空垃圾桶",
|
||||
"trashEmptyConfirm": "永久刪除回收站中的所有項目?此操作無法撤銷。",
|
||||
"trashEmptied": "垃圾已清空",
|
||||
"trashRetention": "自動清理(天數)後",
|
||||
"trashRetentionSaved": "垃圾保留狀況更新",
|
||||
"trashRetentionFailed": "更新垃圾回收站保留策略失敗",
|
||||
"trashUnavailableConfirm": "此項目無法移至回收站,通常是因為它位於其他檔案系統或需要更高的權限。是否將其永久刪除?",
|
||||
"recent": "最近",
|
||||
"pinned": "已釘選",
|
||||
"folderShortcuts": "資料夾捷徑",
|
||||
@@ -303,7 +303,7 @@
|
||||
"operationCompleted": "{{operation}} {{count}} 個項目",
|
||||
"downloadFileSuccess": "檔案 {{name}} 已成功下載",
|
||||
"downloadFileFailed": "下載失敗",
|
||||
"downloadingFile": "Downloading {{name}}…",
|
||||
"downloadingFile": "正在下載 {{name}}…",
|
||||
"downloadProgressBytes": "{{transferred}} / {{total}}",
|
||||
"moveTo": "移動至 {{name}}",
|
||||
"diffCompareWith": "與 {{name}} 進行差異比對",
|
||||
@@ -329,7 +329,7 @@
|
||||
"connecting": "連線中...",
|
||||
"connectedSuccessfully": "已成功連線",
|
||||
"totpVerificationFailed": "TOTP 驗證失敗",
|
||||
"browserSignInFailed": "Sign-in failed. Please try again.",
|
||||
"browserSignInFailed": "登入失敗,請重試。",
|
||||
"authenticationFailed": "驗證失敗",
|
||||
"incorrectPassphrase": "密碼片語錯誤。請再試一次。",
|
||||
"verificationCodePrompt": "驗證碼:",
|
||||
@@ -361,73 +361,73 @@
|
||||
"used": "已使用",
|
||||
"of": " / ",
|
||||
"toggleSidebar": "切換側邊欄",
|
||||
"compactLayout": "Use compact layout",
|
||||
"comfortableLayout": "Use comfortable layout",
|
||||
"compactLayout": "採用緊湊型佈局",
|
||||
"comfortableLayout": "採用舒適的佈局",
|
||||
"cannotLoadPdf": "無法載入 PDF",
|
||||
"pdfLoadError": "載入此 PDF 檔案時發生錯誤。",
|
||||
"loadingPdf": "正在載入 PDF...",
|
||||
"loadingPage": "正在載入頁面...",
|
||||
"cancel": "取消",
|
||||
"copiedItems_one": "Copied {{count}} item",
|
||||
"copiedItems_other": "Copied {{count}} items",
|
||||
"deleteCopiedFileFailed": "Could not delete the copy of {{name}}: {{error}}",
|
||||
"dragMovedItems_one": "Moved {{count}} item to {{target}}",
|
||||
"dragMovedItems_other": "Moved {{count}} items to {{target}}",
|
||||
"moveBackFileFailed": "Could not move {{name}} back: {{error}}",
|
||||
"terminal": "Terminal: {{host}} ({{path}})",
|
||||
"dragToDesktop": "Dragging {{name}} to the desktop",
|
||||
"dragFilesToDesktop": "Dragging {{count}} files to the desktop",
|
||||
"folderDragUnsupported": "Dragging folders to the desktop is not supported yet",
|
||||
"saveToDesktopFailed": "Save failed: {{error}}",
|
||||
"dragFailedDetail": "Drag failed: {{error}}",
|
||||
"videoUnsupported": "Your browser cannot play this video format.",
|
||||
"downloadToPlay": "Download to play it elsewhere",
|
||||
"cannotPreviewType": "Cannot preview this file type",
|
||||
"cannotPreviewTypeHint": "This file type has no preview. Download it to open it in another app."
|
||||
"copiedItems_one": "已複製 {{count}} 項目",
|
||||
"copiedItems_other": "已複製 {{count}} 項",
|
||||
"deleteCopiedFileFailed": "無法刪除 {{name}}的副本: {{error}}",
|
||||
"dragMovedItems_one": "將 {{count}} 項移到 {{target}}",
|
||||
"dragMovedItems_other": "已將 {{count}} 個項目移至 {{target}}",
|
||||
"moveBackFileFailed": "無法將 {{name}} 向後移動: {{error}}",
|
||||
"terminal": "終端: {{host}} ({{path}})",
|
||||
"dragToDesktop": "將 {{name}} 拖曳到桌面",
|
||||
"dragFilesToDesktop": "將 {{count}} 檔案拖曳到桌面",
|
||||
"folderDragUnsupported": "目前尚不支援將資料夾拖曳到桌面。",
|
||||
"saveToDesktopFailed": "儲存失敗: {{error}}",
|
||||
"dragFailedDetail": "拖曳失敗: {{error}}",
|
||||
"videoUnsupported": "您的瀏覽器無法播放此影片格式。",
|
||||
"downloadToPlay": "下載後即可在其他地方播放",
|
||||
"cannotPreviewType": "無法預覽此文件類型",
|
||||
"cannotPreviewTypeHint": "此文件類型沒有預覽。請下載後在其他應用程式中開啟。"
|
||||
},
|
||||
"sftpTransfer": {
|
||||
"title": "SFTP",
|
||||
"description": "Transfer files between two SSH hosts.",
|
||||
"sourceServer": "Source Server",
|
||||
"destinationServer": "Destination Server",
|
||||
"selectHost": "Select host",
|
||||
"description": "在兩台SSH主機之間傳輸檔案。",
|
||||
"sourceServer": "來源伺服器",
|
||||
"destinationServer": "目標伺服器",
|
||||
"selectHost": "選擇主機",
|
||||
"noHostSelected": "未選擇主機",
|
||||
"move": "移動",
|
||||
"copy": "複製",
|
||||
"upload": "上傳",
|
||||
"itemsSelected": "{{count}} item selected",
|
||||
"itemsSelected_other": "{{count}} items selected",
|
||||
"itemsSelected": "{{count}} 已選擇項目",
|
||||
"itemsSelected_other": "{{count}} 已選擇項目",
|
||||
"ready": "就緒",
|
||||
"loadingHosts": "正在載入主機...",
|
||||
"name": "名稱",
|
||||
"modified": "修改時間",
|
||||
"size": "大小",
|
||||
"noFiles": "No files",
|
||||
"noFiles": "沒有文件",
|
||||
"open": "開啟",
|
||||
"up": "Up",
|
||||
"up": "向上",
|
||||
"refresh": "重新整理",
|
||||
"copyToTarget": "Copy to Target Directory",
|
||||
"copyToTarget": "複製到目標目錄",
|
||||
"rename": "重新命名",
|
||||
"delete": "刪除",
|
||||
"editPermissions": "Edit Permissions",
|
||||
"createNewFolder": "Create New Folder",
|
||||
"deleteSelectedItems": "Delete Selected Items",
|
||||
"deleteConfirm": "Delete {{count}} selected item?",
|
||||
"deleteConfirm_other": "Delete {{count}} selected items?",
|
||||
"editPermissions": "編輯權限",
|
||||
"createNewFolder": "建立新資料夾",
|
||||
"deleteSelectedItems": "刪除選定項目",
|
||||
"deleteConfirm": "刪除 {{count}} 選取項目?",
|
||||
"deleteConfirm_other": "刪除 {{count}} 選取項目?",
|
||||
"cancel": "取消",
|
||||
"save": "儲存",
|
||||
"folderCreated": "Folder created",
|
||||
"itemRenamed": "Item renamed",
|
||||
"folderCreated": "已建立資料夾",
|
||||
"itemRenamed": "項目已重新命名",
|
||||
"actionFailed": "操作失敗",
|
||||
"itemsDeleted": "{{count}} item deleted",
|
||||
"itemsDeleted_other": "{{count}} items deleted",
|
||||
"deleteFailed": "Delete failed",
|
||||
"permissionsUpdated": "Permissions updated",
|
||||
"noRemoteSessionConnected": "No remote session connected",
|
||||
"itemsDeleted": "{{count}} 項目已刪除",
|
||||
"itemsDeleted_other": "{{count}} 項目已刪除",
|
||||
"deleteFailed": "刪除失敗",
|
||||
"permissionsUpdated": "權限已更新",
|
||||
"noRemoteSessionConnected": "未連接遠端會話",
|
||||
"failedToListFiles": "檔案列表失敗",
|
||||
"failedToRefresh": "Failed to refresh",
|
||||
"destinationInsideSource": "Destination cannot be inside the selected source path.",
|
||||
"sameHostNoOp": "Source and destination are the same folder."
|
||||
"failedToRefresh": "刷新失敗",
|
||||
"destinationInsideSource": "目標路徑不能位於所選來源路徑內。",
|
||||
"sameHostNoOp": "來源資料夾和目標資料夾是同一個資料夾。"
|
||||
},
|
||||
"hosts": {
|
||||
"fileManager": "檔案管理員",
|
||||
@@ -438,8 +438,8 @@
|
||||
"loadingHost": "正在載入主機..."
|
||||
},
|
||||
"onboarding": {
|
||||
"feature_files": "File manager",
|
||||
"feature_files_desc": "Browse, upload, download and edit files over SFTP without leaving the app."
|
||||
"feature_files": "文件管理器",
|
||||
"feature_files_desc": "無需離開應用程序,即可透過 SFTP 瀏覽、上傳、下載和編輯檔案。"
|
||||
},
|
||||
"terminal": {
|
||||
"runTitle": "正在執行 {{command}} - {{host}}",
|
||||
@@ -464,7 +464,7 @@
|
||||
"destinationPath": "目標路徑",
|
||||
"destMustBeDirectory": "多項目傳送時,目標必須是資料夾",
|
||||
"goUp": "向上",
|
||||
"hostAuthRequired": "Authentication required. Open File Manager on this host first",
|
||||
"hostAuthRequired": "需要進行身份驗證。請先在此主機上開啟檔案總管。",
|
||||
"hostConnecting": "連線中…",
|
||||
"hostConnectionFailed": "連線失敗",
|
||||
"hostDisconnected": "未連線",
|
||||
@@ -485,12 +485,12 @@
|
||||
"methodReason": {
|
||||
"user_item_sftp": "您選擇了逐檔 SFTP。",
|
||||
"user_tar": "您選擇了 tar 封存。",
|
||||
"tar_unavailable": "Tar is not available on one or both hosts, so per-file SFTP will be used instead.",
|
||||
"windows_host": "A Windows host is involved, so tar is not used.",
|
||||
"auto_multi_large": "Auto: multiple files including a large file ({{largestSize}}) with compressible data. Tar bundles them into one transfer.",
|
||||
"auto_single_large_in_archive": "Auto: one large file ({{largestSize}}) in this set, so per-file SFTP.",
|
||||
"auto_many_incompressible": "Auto: mostly incompressible data, so per-file SFTP.",
|
||||
"auto_many_files": "Auto: many files ({{fileCount}}), tar cuts the per-file overhead.",
|
||||
"tar_unavailable": "如果一台或兩台主機上沒有 Tar 服務,則將改用按檔案傳輸的 SFTP 服務。",
|
||||
"windows_host": "由於涉及 Windows 主機,因此不使用 tar。",
|
||||
"auto_multi_large": "自動:支援多個文件,其中包括一個包含可壓縮資料的大文件({{largestSize}})。 Tar 會將它們打包成一個檔案來傳輸。",
|
||||
"auto_single_large_in_archive": "自動:此集合中有一個大檔案({{largestSize}}),因此請按檔案 SFTP。",
|
||||
"auto_many_incompressible": "自動:資料大多不可壓縮,因此按檔案進行 SFTP 傳輸。",
|
||||
"auto_many_files": "自動:多個檔案({{fileCount}}),tar 可以減少每個檔案的開銷。",
|
||||
"auto_default": "自動:此集合使用逐檔 SFTP。"
|
||||
},
|
||||
"methodTar": "Tar 封存",
|
||||
@@ -498,11 +498,11 @@
|
||||
"metricsCompress": "在來源主機壓縮: {{duration}}",
|
||||
"metricsExtract": "在目標主機解壓縮: {{duration}}",
|
||||
"metricsPrepare": "準備目標:{{duration}}",
|
||||
"metricsRouteBenchmark": "Route probe: direct {{direct}}, relay {{relay}}",
|
||||
"metricsRouteBenchmark": "路由探測:直 {{direct}},中繼 {{relay}}",
|
||||
"metricsSourceDelete": "從來源主機刪除: {{duration}}",
|
||||
"metricsTotal": "總計: {{duration}}",
|
||||
"metricsTransfer": "端對端: {{throughput}} ({{duration}})",
|
||||
"metricsVerify": "SHA-256 verified: {{duration}}",
|
||||
"metricsVerify": "SHA-256 已驗證: {{duration}}",
|
||||
"moveFolderToHost": "移動資料夾至主機…",
|
||||
"moveItemsToHost": "將 {{count}} 個項目移至主機…",
|
||||
"moveToHost": "移動到主機…",
|
||||
@@ -511,7 +511,7 @@
|
||||
"parallelSegmentsHint": "大型檔案會分割成 256 MB 區塊。多個通道會使用獨立的連線(如同啟動多個傳輸作業)以獲取更高的總傳輸速率。",
|
||||
"parallelSegmentsLabel": "平行傳輸通道",
|
||||
"parallelSegmentsOption": "{{count}} 個通道",
|
||||
"progressBenchmarking": "Selecting the fastest transfer route…",
|
||||
"progressBenchmarking": "選擇最快的傳輸路線…",
|
||||
"progressBytes": "{{transferred}} / {{total}}",
|
||||
"progressCancel": "取消",
|
||||
"progressCancelling": "正在取消…",
|
||||
@@ -523,7 +523,7 @@
|
||||
"progressTotalSpeed": "總計 {{speed}}({{lanes}} 個通道)",
|
||||
"progressTransferring": "傳輸資料中…",
|
||||
"progressTransferringItems": "傳輸檔案中({{current}} / {{total}})…",
|
||||
"progressVerifying": "Verifying file integrity…",
|
||||
"progressVerifying": "正在驗證檔案完整性…",
|
||||
"recentDestinations": "最近使用的目的地",
|
||||
"resumedHint": "已重新連線至在另一個視窗中啟動的進行中傳輸。",
|
||||
"retryTransfer": "重試",
|
||||
|
||||
@@ -1,150 +1,150 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View fleets",
|
||||
"description": "See fleets, their members and inventory."
|
||||
"title": "ফ্লিটগুলি দেখুন",
|
||||
"description": "নৌবহর, তাদের সদস্য এবং মজুদ দেখুন।"
|
||||
},
|
||||
"manage": {
|
||||
"title": "Manage fleets",
|
||||
"description": "Create, edit and delete fleets, change membership, and share fleets with other users or roles."
|
||||
"title": "ফ্লিট পরিচালনা করুন",
|
||||
"description": "ফ্লিট তৈরি, সম্পাদনা ও মুছে ফেলুন, সদস্যপদ পরিবর্তন করুন এবং অন্যান্য ব্যবহারকারী বা ভূমিকার সাথে ফ্লিট শেয়ার করুন।"
|
||||
},
|
||||
"execute": {
|
||||
"title": "Run fleet actions",
|
||||
"description": "Run commands and package actions across a fleet, and transfer files to and from its member hosts."
|
||||
"title": "ফ্লিট অ্যাকশন চালান",
|
||||
"description": "একটি ফ্লিট জুড়ে কমান্ড ও প্যাকেজ অ্যাকশন চালান, এবং এর সদস্য হোস্টগুলোতে ফাইল আদান-প্রদান করুন।"
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Fleets",
|
||||
"createFleet": "Create Fleet",
|
||||
"createFleetTitle": "Create Fleet",
|
||||
"editFleetTitle": "Edit Fleet",
|
||||
"createFleetDescription": "A fleet is a named group of hosts you can run actions against as a unit.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Web Servers",
|
||||
"nameRequired": "Fleet name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"colorLabel": "Color",
|
||||
"tagRulesLabel": "Tag rules",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosts with any of these tags are automatically included, in addition to hosts added manually.",
|
||||
"fleetCreated": "Fleet created",
|
||||
"fleetUpdated": "Fleet updated",
|
||||
"fleetDeleted": "Fleet deleted",
|
||||
"saveFailed": "Failed to save fleet",
|
||||
"deleteFailed": "Failed to delete fleet",
|
||||
"loadFailed": "Failed to load fleets",
|
||||
"deleteFleetTitle": "Delete Fleet",
|
||||
"deleteFleetDescription": "Are you sure you want to delete \"{{name}}\"? This does not delete the member hosts themselves.",
|
||||
"searchFleets": "Search fleets...",
|
||||
"noFleets": "No fleets yet. Create one to get started.",
|
||||
"memberCount": "{{count}} host",
|
||||
"memberCount_other": "{{count}} hosts",
|
||||
"manageMembers": "Manage Members",
|
||||
"manageMembersTitle": "Manage Fleet Members",
|
||||
"manageMembersDescription": "Toggle hosts in or out of this fleet's static membership. Hosts matched by tag rules are always included.",
|
||||
"searchHosts": "Search hosts...",
|
||||
"noHostsFound": "No hosts found",
|
||||
"noMembers": "This fleet has no members yet. Add hosts or set a tag rule.",
|
||||
"membersLoadFailed": "Failed to load fleet members",
|
||||
"memberUpdateFailed": "Failed to update fleet membership",
|
||||
"tabRun": "Run Command",
|
||||
"tabTransfer": "Transfer Files",
|
||||
"tabInventory": "Inventory",
|
||||
"openInventoryTab": "Open in full tab",
|
||||
"tabPackages": "Packages",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "A command is required",
|
||||
"commandInputsLabel": "Command inputs",
|
||||
"commandSucceeded": "Command succeeded on all hosts",
|
||||
"commandPartialFailure": "{{failed}} of {{total}} hosts failed",
|
||||
"commandFailed": "Failed to run command",
|
||||
"resultSuccess": "Success",
|
||||
"resultFailed": "Failed",
|
||||
"push": "Push",
|
||||
"pull": "Pull",
|
||||
"remotePathLabel": "Remote path",
|
||||
"remotePathRequired": "A remote path is required",
|
||||
"fileLabel": "File",
|
||||
"fileRequired": "A file is required",
|
||||
"pushHint": "The selected file is written to this exact path on every host in the fleet.",
|
||||
"pullHint": "The file at this path is read from every host and downloaded as a single zip, one folder per host.",
|
||||
"transferComplete": "Transfer complete",
|
||||
"transferFailed": "Transfer failed",
|
||||
"refreshInventory": "Refresh Inventory",
|
||||
"inventoryLoadFailed": "Failed to load inventory",
|
||||
"inventoryRefreshed": "Inventory refreshed",
|
||||
"inventoryRefreshFailed": "Failed to refresh inventory",
|
||||
"inventoryNoData": "No inventory data yet - refresh to collect it.",
|
||||
"inventoryHost": "Host",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} collected",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Arch",
|
||||
"inventoryUptime": "Uptime",
|
||||
"inventoryPackageManager": "Package manager",
|
||||
"inventoryCollectedAt": "Collected",
|
||||
"packageActionLabel": "Action",
|
||||
"packageInstall": "Install",
|
||||
"packageRemove": "Remove",
|
||||
"packageUpgradeAll": "Upgrade all packages",
|
||||
"packageNameLabel": "Package name",
|
||||
"packageNameRequired": "A package name is required",
|
||||
"packageHint": "Requires manage-level access per host and elevates using the host's stored sudo password.",
|
||||
"shareFleet": "Share Fleet",
|
||||
"shareFleetTitle": "Share \"{{name}}\"",
|
||||
"shareFleetDescription": "Shares this fleet's current member hosts with the selected users or roles. Hosts added to the fleet later are not shared automatically - share again to include them.",
|
||||
"shareSelectionRequired": "Select at least one user or role",
|
||||
"fleetSharedSuccessfully": "Shared {{shared}} of {{total}} host(s) in this fleet",
|
||||
"failedToShareFleet": "Failed to share fleet",
|
||||
"noMembersToShare": "This fleet has no member hosts to share yet."
|
||||
"title": "ফ্লিট",
|
||||
"createFleet": "ফ্লিট তৈরি করুন",
|
||||
"createFleetTitle": "ফ্লিট তৈরি করুন",
|
||||
"editFleetTitle": "ফ্লিট সম্পাদনা করুন",
|
||||
"createFleetDescription": "ফ্লিট হলো নামযুক্ত হোস্টদের একটি দল, যাদের বিরুদ্ধে আপনি একটি ইউনিট হিসেবে বিভিন্ন অ্যাকশন চালাতে পারেন।",
|
||||
"nameLabel": "নাম",
|
||||
"namePlaceholder": "যেমন, ওয়েব সার্ভার",
|
||||
"nameRequired": "ফ্লিটের নাম প্রয়োজন",
|
||||
"descriptionLabel": "বর্ণনা",
|
||||
"descriptionPlaceholder": "ঐচ্ছিক বিবরণ",
|
||||
"colorLabel": "রঙ",
|
||||
"tagRulesLabel": "ট্যাগ নিয়ম",
|
||||
"tagRulesPlaceholder": "প্রোড-ওয়েব, এজ",
|
||||
"tagRulesHint": "ম্যানুয়ালি যোগ করা হোস্টগুলোর পাশাপাশি, এই ট্যাগগুলোর যেকোনো একটি থাকা হোস্টগুলো স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত হয়ে যায়।",
|
||||
"fleetCreated": "ফ্লিট তৈরি করা হয়েছে",
|
||||
"fleetUpdated": "ফ্লিট আপডেট করা হয়েছে",
|
||||
"fleetDeleted": "ফ্লিট মুছে ফেলা হয়েছে",
|
||||
"saveFailed": "বহর সংরক্ষণ করতে ব্যর্থ হয়েছে",
|
||||
"deleteFailed": "ফ্লিট মুছে ফেলতে ব্যর্থ হয়েছে",
|
||||
"loadFailed": "ফ্লিট লোড করতে ব্যর্থ হয়েছে",
|
||||
"deleteFleetTitle": "ফ্লিট মুছুন",
|
||||
"deleteFleetDescription": "আপনি কি \"{{name}}\" মুছে ফেলতে নিশ্চিত? এটি সদস্য হোস্টদেরকে মুছে ফেলে না।",
|
||||
"searchFleets": "নৌবহর অনুসন্ধান করুন...",
|
||||
"noFleets": "এখনো কোনো ফ্লিট নেই। শুরু করার জন্য একটি তৈরি করুন।",
|
||||
"memberCount": "{{count}} হোস্ট",
|
||||
"memberCount_other": "{{count}} হোস্ট",
|
||||
"manageMembers": "সদস্যদের পরিচালনা করুন",
|
||||
"manageMembersTitle": "ফ্লিট সদস্যদের পরিচালনা করুন",
|
||||
"manageMembersDescription": "এই ফ্লিটের স্ট্যাটিক সদস্যপদে হোস্টদের অন্তর্ভুক্ত বা বহির্ভূত করুন। ট্যাগ নিয়ম দ্বারা মেলানো হোস্টরা সর্বদা অন্তর্ভুক্ত থাকে।",
|
||||
"searchHosts": "হোস্ট অনুসন্ধান করুন...",
|
||||
"noHostsFound": "কোন হোস্ট খুঁজে পাওয়া যায়নি",
|
||||
"noMembers": "এই ফ্লিটে এখনও কোনো সদস্য নেই। হোস্ট যোগ করুন অথবা একটি ট্যাগ নিয়ম সেট করুন।",
|
||||
"membersLoadFailed": "ফ্লিট সদস্যদের লোড করতে ব্যর্থ হয়েছে",
|
||||
"memberUpdateFailed": "ফ্লিট সদস্যপদ আপডেট করতে ব্যর্থ হয়েছে",
|
||||
"tabRun": "রান কমান্ড",
|
||||
"tabTransfer": "ফাইল স্থানান্তর করুন",
|
||||
"tabInventory": "ইনভেন্টরি",
|
||||
"openInventoryTab": "সম্পূর্ণ ট্যাবে খুলুন",
|
||||
"tabPackages": "প্যাকেজ",
|
||||
"runOnFleet": "ফ্লিটে চালান",
|
||||
"commandPlaceholder": "আপটাইম && df -h",
|
||||
"commandRequired": "একটি কমান্ড প্রয়োজন",
|
||||
"commandInputsLabel": "কমান্ড ইনপুট",
|
||||
"commandSucceeded": "সকল হোস্টে কমান্ড সফল হয়েছে।",
|
||||
"commandPartialFailure": "{{failed}} এর {{total}} হোস্ট ব্যর্থ হয়েছে",
|
||||
"commandFailed": "কমান্ড চালাতে ব্যর্থ হয়েছে",
|
||||
"resultSuccess": "সাফল্য",
|
||||
"resultFailed": "ব্যর্থ",
|
||||
"push": "ধাক্কা দিন",
|
||||
"pull": "টান",
|
||||
"remotePathLabel": "দূরবর্তী পথ",
|
||||
"remotePathRequired": "একটি দূরবর্তী পথের প্রয়োজন",
|
||||
"fileLabel": "ফাইল",
|
||||
"fileRequired": "একটি ফাইল প্রয়োজন",
|
||||
"pushHint": "নির্বাচিত ফাইলটি ফ্লিটের প্রতিটি হোস্টের এই নির্দিষ্ট পাথে লেখা হয়।",
|
||||
"pullHint": "এই পাথের ফাইলটি প্রতিটি হোস্ট থেকে পড়া হয় এবং একটি একক জিপ ফাইল হিসেবে ডাউনলোড করা হয়, যা প্রতি হোস্টে একটি করে ফোল্ডারে বিভক্ত থাকে।",
|
||||
"transferComplete": "স্থানান্তর সম্পন্ন হয়েছে",
|
||||
"transferFailed": "স্থানান্তর ব্যর্থ হয়েছে",
|
||||
"refreshInventory": "ইনভেন্টরি রিফ্রেশ করুন",
|
||||
"inventoryLoadFailed": "ইনভেন্টরি লোড করতে ব্যর্থ হয়েছে",
|
||||
"inventoryRefreshed": "ইনভেন্টরি রিফ্রেশ করা হয়েছে",
|
||||
"inventoryRefreshFailed": "ইনভেন্টরি রিফ্রেশ করতে ব্যর্থ হয়েছে",
|
||||
"inventoryNoData": "এখনও কোনো ইনভেন্টরি ডেটা নেই - এটি সংগ্রহ করতে রিফ্রেশ করুন।",
|
||||
"inventoryHost": "হোস্ট",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} সংগৃহীত",
|
||||
"inventoryOs": "ওএস",
|
||||
"inventoryKernel": "কার্নেল",
|
||||
"inventoryArch": "খিলান",
|
||||
"inventoryUptime": "আপটাইম",
|
||||
"inventoryPackageManager": "প্যাকেজ ম্যানেজার",
|
||||
"inventoryCollectedAt": "সংগৃহীত",
|
||||
"packageActionLabel": "পদক্ষেপ",
|
||||
"packageInstall": "ইনস্টল করুন",
|
||||
"packageRemove": "অপসারণ করুন",
|
||||
"packageUpgradeAll": "সমস্ত প্যাকেজ আপগ্রেড করুন",
|
||||
"packageNameLabel": "প্যাকেজের নাম",
|
||||
"packageNameRequired": "একটি প্যাকেজের নাম প্রয়োজন",
|
||||
"packageHint": "প্রতিটি হোস্টের জন্য ম্যানেজ-লেভেল অ্যাক্সেস প্রয়োজন এবং হোস্টের সংরক্ষিত sudo পাসওয়ার্ড ব্যবহার করে অ্যাক্সেস উন্নত করা হয়।",
|
||||
"shareFleet": "শেয়ার ফ্লিট",
|
||||
"shareFleetTitle": "শেয়ার করুন \"{{name}}\"",
|
||||
"shareFleetDescription": "এই ফ্লিটের বর্তমান সদস্য হোস্টগুলোকে নির্বাচিত ব্যবহারকারী বা রোলের সাথে শেয়ার করে। ফ্লিটে পরে যোগ করা হোস্টগুলো স্বয়ংক্রিয়ভাবে শেয়ার হয় না - সেগুলোকে অন্তর্ভুক্ত করতে আবার শেয়ার করুন।",
|
||||
"shareSelectionRequired": "অন্তত একজন ব্যবহারকারী বা ভূমিকা নির্বাচন করুন",
|
||||
"fleetSharedSuccessfully": "এই ফ্লিটে {{total}} টি {{shared}} টি শেয়ার করা হোস্ট রয়েছে।",
|
||||
"failedToShareFleet": "ফ্লিট শেয়ার করতে ব্যর্থ হয়েছে",
|
||||
"noMembersToShare": "এই ফ্লিটে এখনও শেয়ার করার মতো কোনো সদস্য হোস্ট নেই।"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Fleets"
|
||||
"fleets": "ফ্লিট"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"docsLink": "নথি দেখুন",
|
||||
"sharing": {
|
||||
"customHoursPlaceholder": "Hours until access expires",
|
||||
"customHoursPlaceholder": "অ্যাক্সেসের মেয়াদ শেষ হতে বাকি ঘন্টা",
|
||||
"expiry": {
|
||||
"never": "Never",
|
||||
"oneHour": "1 hour",
|
||||
"oneDay": "24 hours",
|
||||
"sevenDays": "7 days",
|
||||
"thirtyDays": "30 days",
|
||||
"custom": "Custom"
|
||||
"never": "কখনো না",
|
||||
"oneHour": "১ ঘন্টা",
|
||||
"oneDay": "২৪ ঘন্টা",
|
||||
"sevenDays": "৭ দিন",
|
||||
"thirtyDays": "৩০ দিন",
|
||||
"custom": "কাস্টম"
|
||||
},
|
||||
"expiryLabel": "Access expiry",
|
||||
"expiryLabel": "অ্যাক্সেসের মেয়াদ শেষ",
|
||||
"levels": {
|
||||
"connect": {
|
||||
"label": "Connect",
|
||||
"description": "Open sessions only: terminal, remote desktop, file manager, tunnels and Docker. No access to the host configuration."
|
||||
"label": "সংযোগ করুন",
|
||||
"description": "শুধুমাত্র টার্মিনাল, রিমোট ডেস্কটপ, ফাইল ম্যানেজার, টানেল এবং ডকার সেশনগুলো খোলা থাকবে। হোস্ট কনফিগারেশনে কোনো অ্যাক্সেস নেই।"
|
||||
},
|
||||
"view": {
|
||||
"label": "View",
|
||||
"description": "Connect, plus see the host configuration. Secrets are never shown."
|
||||
"label": "দেখুন",
|
||||
"description": "সংযোগ করুন, এবং হোস্ট কনফিগারেশন দেখুন। গোপনীয় তথ্য কখনোই দেখানো হয় না।"
|
||||
},
|
||||
"edit": {
|
||||
"label": "Edit",
|
||||
"description": "View, plus modify non-authentication host settings. The owner's SSH authentication stays private and owner-only."
|
||||
"label": "সম্পাদনা",
|
||||
"description": "নন-অথেনটিকেশন হোস্ট সেটিংস দেখুন এবং পরিবর্তন করুন। মালিকের SSH অথেনটিকেশন ব্যক্তিগত এবং শুধুমাত্র মালিকের জন্যই সংরক্ষিত থাকে।"
|
||||
},
|
||||
"manage": {
|
||||
"label": "Manage",
|
||||
"description": "Edit, plus share the host with others, change permission levels and revoke access."
|
||||
"label": "পরিচালনা করুন",
|
||||
"description": "সম্পাদনা করুন, সেইসাথে অন্যদের সাথে হোস্টটি শেয়ার করুন, অনুমতির স্তর পরিবর্তন করুন এবং অ্যাক্সেস প্রত্যাহার করুন।"
|
||||
}
|
||||
},
|
||||
"noMatches": "No matches found",
|
||||
"permissionLevelLabel": "Permission level",
|
||||
"rolesTab": "Roles",
|
||||
"searchPlaceholder": "Search users or roles...",
|
||||
"shareButton": "Share",
|
||||
"shareWithCount": "Share ({{count}})",
|
||||
"usersTab": "Users"
|
||||
"noMatches": "কোনো মিল খুঁজে পাওয়া যায়নি",
|
||||
"permissionLevelLabel": "অনুমতি স্তর",
|
||||
"rolesTab": "ভূমিকা",
|
||||
"searchPlaceholder": "ব্যবহারকারী বা ভূমিকা অনুসন্ধান করুন...",
|
||||
"shareButton": "শেয়ার",
|
||||
"shareWithCount": "শেয়ার করুন ({{count}})",
|
||||
"usersTab": "ব্যবহারকারীরা"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,111 +1,111 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View fleets",
|
||||
"description": "See fleets, their members and inventory."
|
||||
"title": "बेड़े देखें",
|
||||
"description": "बेड़े, उनके सदस्य और माल सूची देखें।"
|
||||
},
|
||||
"manage": {
|
||||
"title": "Manage fleets",
|
||||
"description": "Create, edit and delete fleets, change membership, and share fleets with other users or roles."
|
||||
"title": "बेड़े का प्रबंधन करें",
|
||||
"description": "फ्लीट बनाएं, संपादित करें और हटाएं, सदस्यता बदलें और फ्लीट को अन्य उपयोगकर्ताओं या भूमिकाओं के साथ साझा करें।"
|
||||
},
|
||||
"execute": {
|
||||
"title": "Run fleet actions",
|
||||
"description": "Run commands and package actions across a fleet, and transfer files to and from its member hosts."
|
||||
"title": "फ्लीट कार्रवाइयां चलाएं",
|
||||
"description": "एक फ्लीट में कमांड चलाएं और पैकेज संबंधी कार्रवाइयां करें, और इसके सदस्य होस्ट से और उनके बीच फाइलें स्थानांतरित करें।"
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Fleets",
|
||||
"createFleet": "Create Fleet",
|
||||
"createFleetTitle": "Create Fleet",
|
||||
"editFleetTitle": "Edit Fleet",
|
||||
"createFleetDescription": "A fleet is a named group of hosts you can run actions against as a unit.",
|
||||
"title": "बेड़े",
|
||||
"createFleet": "बेड़ा बनाएं",
|
||||
"createFleetTitle": "बेड़ा बनाएं",
|
||||
"editFleetTitle": "बेड़े को संपादित करें",
|
||||
"createFleetDescription": "फ्लीट होस्ट का एक नामित समूह है जिसके विरुद्ध आप एक इकाई के रूप में कार्रवाई कर सकते हैं।",
|
||||
"nameLabel": "नाम",
|
||||
"namePlaceholder": "e.g., Web Servers",
|
||||
"nameRequired": "Fleet name is required",
|
||||
"namePlaceholder": "उदाहरण के लिए, वेब सर्वर",
|
||||
"nameRequired": "बेड़े का नाम आवश्यक है",
|
||||
"descriptionLabel": "विवरण",
|
||||
"descriptionPlaceholder": "वैकल्पिक विवरण",
|
||||
"colorLabel": "रंग",
|
||||
"tagRulesLabel": "Tag rules",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosts with any of these tags are automatically included, in addition to hosts added manually.",
|
||||
"fleetCreated": "Fleet created",
|
||||
"fleetUpdated": "Fleet updated",
|
||||
"fleetDeleted": "Fleet deleted",
|
||||
"saveFailed": "Failed to save fleet",
|
||||
"deleteFailed": "Failed to delete fleet",
|
||||
"loadFailed": "Failed to load fleets",
|
||||
"deleteFleetTitle": "Delete Fleet",
|
||||
"deleteFleetDescription": "Are you sure you want to delete \"{{name}}\"? This does not delete the member hosts themselves.",
|
||||
"searchFleets": "Search fleets...",
|
||||
"noFleets": "No fleets yet. Create one to get started.",
|
||||
"memberCount": "{{count}} host",
|
||||
"tagRulesLabel": "टैग नियम",
|
||||
"tagRulesPlaceholder": "प्रोड-वेब, एज",
|
||||
"tagRulesHint": "मैन्युअल रूप से जोड़े गए होस्ट के अतिरिक्त, इनमें से किसी भी टैग वाले होस्ट स्वचालित रूप से शामिल हो जाते हैं।",
|
||||
"fleetCreated": "बेड़ा बनाया गया",
|
||||
"fleetUpdated": "बेड़े को अपडेट किया गया",
|
||||
"fleetDeleted": "बेड़ा हटा दिया गया",
|
||||
"saveFailed": "बेड़े को बचाने में विफल",
|
||||
"deleteFailed": "बेड़ा हटाने में विफल",
|
||||
"loadFailed": "फ्लीट लोड करने में विफल",
|
||||
"deleteFleetTitle": "बेड़ा हटाएं",
|
||||
"deleteFleetDescription": "क्या आप वाकई \"{{name}}\" को हटाना चाहते हैं? इससे सदस्य होस्ट स्वयं नहीं हटेंगे।",
|
||||
"searchFleets": "खोज बेड़े...",
|
||||
"noFleets": "अभी तक कोई बेड़ा नहीं है। शुरुआत करने के लिए एक बेड़ा बनाएं।",
|
||||
"memberCount": "{{count}} होस्ट",
|
||||
"memberCount_other": "{{count}} होस्ट",
|
||||
"manageMembers": "Manage Members",
|
||||
"manageMembersTitle": "Manage Fleet Members",
|
||||
"manageMembersDescription": "Toggle hosts in or out of this fleet's static membership. Hosts matched by tag rules are always included.",
|
||||
"manageMembers": "सदस्यों का प्रबंधन करें",
|
||||
"manageMembersTitle": "बेड़े के सदस्यों का प्रबंधन करें",
|
||||
"manageMembersDescription": "इस फ्लीट की स्थायी सदस्यता में होस्ट को शामिल या बाहर करें। टैग नियमों द्वारा मेल खाने वाले होस्ट हमेशा शामिल होते हैं।",
|
||||
"searchHosts": "होस्ट खोजें...",
|
||||
"noHostsFound": "कोई होस्ट नहीं मिला",
|
||||
"noMembers": "This fleet has no members yet. Add hosts or set a tag rule.",
|
||||
"membersLoadFailed": "Failed to load fleet members",
|
||||
"memberUpdateFailed": "Failed to update fleet membership",
|
||||
"tabRun": "Run Command",
|
||||
"tabTransfer": "Transfer Files",
|
||||
"tabInventory": "Inventory",
|
||||
"openInventoryTab": "Open in full tab",
|
||||
"noMembers": "इस फ्लीट में अभी कोई सदस्य नहीं है। होस्ट जोड़ें या टैग नियम सेट करें।",
|
||||
"membersLoadFailed": "फ्लीट सदस्यों को लोड करने में विफल",
|
||||
"memberUpdateFailed": "फ्लीट सदस्यता को अपडेट करने में विफल",
|
||||
"tabRun": "कमांड चलाएँ",
|
||||
"tabTransfer": "फ़ाइलें स्थानांतरित करें",
|
||||
"tabInventory": "भंडार",
|
||||
"openInventoryTab": "पूरे टैब में खोलें",
|
||||
"tabPackages": "पैकेजेस",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "A command is required",
|
||||
"commandInputsLabel": "Command inputs",
|
||||
"commandSucceeded": "Command succeeded on all hosts",
|
||||
"commandPartialFailure": "{{failed}} of {{total}} hosts failed",
|
||||
"commandFailed": "Failed to run command",
|
||||
"runOnFleet": "फ्लीट पर चलाएँ",
|
||||
"commandPlaceholder": "अपटाइम && df -h",
|
||||
"commandRequired": "एक आदेश आवश्यक है",
|
||||
"commandInputsLabel": "कमांड इनपुट",
|
||||
"commandSucceeded": "सभी होस्ट पर कमांड सफलतापूर्वक संचालित हुई।",
|
||||
"commandPartialFailure": "{{failed}} में से {{total}} होस्ट विफल हो गए",
|
||||
"commandFailed": "कमांड चलाने में विफल",
|
||||
"resultSuccess": "सफल",
|
||||
"resultFailed": "असफल",
|
||||
"push": "Push",
|
||||
"pull": "Pull",
|
||||
"remotePathLabel": "Remote path",
|
||||
"remotePathRequired": "A remote path is required",
|
||||
"push": "धकेलना",
|
||||
"pull": "खींचो",
|
||||
"remotePathLabel": "दूरस्थ पथ",
|
||||
"remotePathRequired": "एक दूरस्थ मार्ग आवश्यक है",
|
||||
"fileLabel": "फ़ाइल",
|
||||
"fileRequired": "A file is required",
|
||||
"pushHint": "The selected file is written to this exact path on every host in the fleet.",
|
||||
"pullHint": "The file at this path is read from every host and downloaded as a single zip, one folder per host.",
|
||||
"fileRequired": "एक फ़ाइल आवश्यक है",
|
||||
"pushHint": "चयनित फ़ाइल को फ्लीट में मौजूद प्रत्येक होस्ट पर ठीक इसी पथ पर लिखा जाता है।",
|
||||
"pullHint": "इस पथ पर स्थित फ़ाइल को प्रत्येक होस्ट से पढ़ा जाता है और एक ही ज़िप फ़ाइल के रूप में डाउनलोड किया जाता है, जिसमें प्रत्येक होस्ट के लिए एक फ़ोल्डर होता है।",
|
||||
"transferComplete": "स्थानांतरण पूर्ण",
|
||||
"transferFailed": "स्थानांतरण विफल",
|
||||
"refreshInventory": "Refresh Inventory",
|
||||
"inventoryLoadFailed": "Failed to load inventory",
|
||||
"inventoryRefreshed": "Inventory refreshed",
|
||||
"inventoryRefreshFailed": "Failed to refresh inventory",
|
||||
"inventoryNoData": "No inventory data yet - refresh to collect it.",
|
||||
"refreshInventory": "इन्वेंट्री रीफ़्रेश करें",
|
||||
"inventoryLoadFailed": "इन्वेंट्री लोड करने में विफल",
|
||||
"inventoryRefreshed": "इन्वेंट्री रीफ़्रेश हो गई",
|
||||
"inventoryRefreshFailed": "इन्वेंट्री को रीफ़्रेश करने में विफल",
|
||||
"inventoryNoData": "अभी कोई इन्वेंट्री डेटा उपलब्ध नहीं है - इसे प्राप्त करने के लिए पेज को रिफ्रेश करें।",
|
||||
"inventoryHost": "होस्ट",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} collected",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} एकत्रित",
|
||||
"inventoryOs": "ओएस",
|
||||
"inventoryKernel": "कर्नेल",
|
||||
"inventoryArch": "Arch",
|
||||
"inventoryArch": "मेहराब",
|
||||
"inventoryUptime": "अपटाइम",
|
||||
"inventoryPackageManager": "Package manager",
|
||||
"inventoryCollectedAt": "Collected",
|
||||
"inventoryPackageManager": "पैकेज प्रबंधक",
|
||||
"inventoryCollectedAt": "एकत्र किया हुआ",
|
||||
"packageActionLabel": "क्रिया",
|
||||
"packageInstall": "Install",
|
||||
"packageInstall": "स्थापित करना",
|
||||
"packageRemove": "हटाएँ",
|
||||
"packageUpgradeAll": "Upgrade all packages",
|
||||
"packageNameLabel": "Package name",
|
||||
"packageNameRequired": "A package name is required",
|
||||
"packageHint": "Requires manage-level access per host and elevates using the host's stored sudo password.",
|
||||
"shareFleet": "Share Fleet",
|
||||
"shareFleetTitle": "Share \"{{name}}\"",
|
||||
"shareFleetDescription": "Shares this fleet's current member hosts with the selected users or roles. Hosts added to the fleet later are not shared automatically - share again to include them.",
|
||||
"shareSelectionRequired": "Select at least one user or role",
|
||||
"fleetSharedSuccessfully": "Shared {{shared}} of {{total}} host(s) in this fleet",
|
||||
"failedToShareFleet": "Failed to share fleet",
|
||||
"noMembersToShare": "This fleet has no member hosts to share yet."
|
||||
"packageUpgradeAll": "सभी पैकेजों को अपग्रेड करें",
|
||||
"packageNameLabel": "पैकेज का नाम",
|
||||
"packageNameRequired": "पैकेज का नाम आवश्यक है",
|
||||
"packageHint": "प्रत्येक होस्ट के लिए प्रबंधन-स्तर की पहुँच आवश्यक है और होस्ट के संग्रहीत सूडो पासवर्ड का उपयोग करके पहुँच को बढ़ाया जा सकता है।",
|
||||
"shareFleet": "शेयर फ्लीट",
|
||||
"shareFleetTitle": "शेयर करें \"{{name}}\"",
|
||||
"shareFleetDescription": "यह सेवा इस फ्लीट के वर्तमान सदस्य होस्ट्स को चयनित उपयोगकर्ताओं या भूमिकाओं के साथ साझा करती है। फ्लीट में बाद में जोड़े गए होस्ट्स स्वचालित रूप से साझा नहीं होते हैं - उन्हें शामिल करने के लिए पुनः साझा करें।",
|
||||
"shareSelectionRequired": "कम से कम एक उपयोगकर्ता या भूमिका का चयन करें",
|
||||
"fleetSharedSuccessfully": "इस बेड़े में {{total}} मेज़बान(ओं) का साझा {{shared}} है",
|
||||
"failedToShareFleet": "बेड़ा साझा करने में विफल",
|
||||
"noMembersToShare": "इस फ्लीट में अभी तक कोई सदस्य होस्ट नहीं है जो अपनी सेवाएं साझा कर सके।"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Fleets"
|
||||
"fleets": "बेड़े"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "दस्तावेज़ देखें",
|
||||
@@ -131,7 +131,7 @@
|
||||
},
|
||||
"edit": {
|
||||
"label": "संपादित करें",
|
||||
"description": "View, plus modify non-authentication host settings. The owner's SSH authentication stays private and owner-only."
|
||||
"description": "आप बिना प्रमाणीकरण वाले होस्ट की सेटिंग्स देख सकते हैं और उनमें बदलाव कर सकते हैं। मालिक का SSH प्रमाणीकरण गोपनीय रहता है और केवल मालिक के लिए ही उपलब्ध होता है।"
|
||||
},
|
||||
"manage": {
|
||||
"label": "प्रबंधित करें",
|
||||
|
||||
@@ -1,150 +1,150 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View fleets",
|
||||
"description": "See fleets, their members and inventory."
|
||||
"title": "Lihat armada",
|
||||
"description": "Lihat armada, anggotanya, dan inventarisnya."
|
||||
},
|
||||
"manage": {
|
||||
"title": "Manage fleets",
|
||||
"description": "Create, edit and delete fleets, change membership, and share fleets with other users or roles."
|
||||
"title": "Mengelola armada",
|
||||
"description": "Buat, edit, dan hapus armada, ubah keanggotaan, dan bagikan armada dengan pengguna atau peran lain."
|
||||
},
|
||||
"execute": {
|
||||
"title": "Run fleet actions",
|
||||
"description": "Run commands and package actions across a fleet, and transfer files to and from its member hosts."
|
||||
"title": "Jalankan tindakan armada.",
|
||||
"description": "Jalankan perintah dan tindakan paket di seluruh armada, dan transfer file ke dan dari host anggotanya."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Fleets",
|
||||
"createFleet": "Create Fleet",
|
||||
"createFleetTitle": "Create Fleet",
|
||||
"editFleetTitle": "Edit Fleet",
|
||||
"createFleetDescription": "A fleet is a named group of hosts you can run actions against as a unit.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Web Servers",
|
||||
"nameRequired": "Fleet name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"colorLabel": "Color",
|
||||
"tagRulesLabel": "Tag rules",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosts with any of these tags are automatically included, in addition to hosts added manually.",
|
||||
"fleetCreated": "Fleet created",
|
||||
"fleetUpdated": "Fleet updated",
|
||||
"fleetDeleted": "Fleet deleted",
|
||||
"saveFailed": "Failed to save fleet",
|
||||
"deleteFailed": "Failed to delete fleet",
|
||||
"loadFailed": "Failed to load fleets",
|
||||
"deleteFleetTitle": "Delete Fleet",
|
||||
"deleteFleetDescription": "Are you sure you want to delete \"{{name}}\"? This does not delete the member hosts themselves.",
|
||||
"searchFleets": "Search fleets...",
|
||||
"noFleets": "No fleets yet. Create one to get started.",
|
||||
"memberCount": "{{count}} host",
|
||||
"memberCount_other": "{{count}} hosts",
|
||||
"manageMembers": "Manage Members",
|
||||
"manageMembersTitle": "Manage Fleet Members",
|
||||
"manageMembersDescription": "Toggle hosts in or out of this fleet's static membership. Hosts matched by tag rules are always included.",
|
||||
"searchHosts": "Search hosts...",
|
||||
"noHostsFound": "No hosts found",
|
||||
"noMembers": "This fleet has no members yet. Add hosts or set a tag rule.",
|
||||
"membersLoadFailed": "Failed to load fleet members",
|
||||
"memberUpdateFailed": "Failed to update fleet membership",
|
||||
"tabRun": "Run Command",
|
||||
"tabTransfer": "Transfer Files",
|
||||
"tabInventory": "Inventory",
|
||||
"openInventoryTab": "Open in full tab",
|
||||
"tabPackages": "Packages",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "A command is required",
|
||||
"commandInputsLabel": "Command inputs",
|
||||
"commandSucceeded": "Command succeeded on all hosts",
|
||||
"commandPartialFailure": "{{failed}} of {{total}} hosts failed",
|
||||
"commandFailed": "Failed to run command",
|
||||
"resultSuccess": "Success",
|
||||
"resultFailed": "Failed",
|
||||
"push": "Push",
|
||||
"pull": "Pull",
|
||||
"remotePathLabel": "Remote path",
|
||||
"remotePathRequired": "A remote path is required",
|
||||
"fileLabel": "File",
|
||||
"fileRequired": "A file is required",
|
||||
"pushHint": "The selected file is written to this exact path on every host in the fleet.",
|
||||
"pullHint": "The file at this path is read from every host and downloaded as a single zip, one folder per host.",
|
||||
"transferComplete": "Transfer complete",
|
||||
"transferFailed": "Transfer failed",
|
||||
"refreshInventory": "Refresh Inventory",
|
||||
"inventoryLoadFailed": "Failed to load inventory",
|
||||
"inventoryRefreshed": "Inventory refreshed",
|
||||
"inventoryRefreshFailed": "Failed to refresh inventory",
|
||||
"inventoryNoData": "No inventory data yet - refresh to collect it.",
|
||||
"inventoryHost": "Host",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} collected",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Arch",
|
||||
"inventoryUptime": "Uptime",
|
||||
"inventoryPackageManager": "Package manager",
|
||||
"inventoryCollectedAt": "Collected",
|
||||
"packageActionLabel": "Action",
|
||||
"packageInstall": "Install",
|
||||
"packageRemove": "Remove",
|
||||
"packageUpgradeAll": "Upgrade all packages",
|
||||
"packageNameLabel": "Package name",
|
||||
"packageNameRequired": "A package name is required",
|
||||
"packageHint": "Requires manage-level access per host and elevates using the host's stored sudo password.",
|
||||
"shareFleet": "Share Fleet",
|
||||
"shareFleetTitle": "Share \"{{name}}\"",
|
||||
"shareFleetDescription": "Shares this fleet's current member hosts with the selected users or roles. Hosts added to the fleet later are not shared automatically - share again to include them.",
|
||||
"shareSelectionRequired": "Select at least one user or role",
|
||||
"fleetSharedSuccessfully": "Shared {{shared}} of {{total}} host(s) in this fleet",
|
||||
"failedToShareFleet": "Failed to share fleet",
|
||||
"noMembersToShare": "This fleet has no member hosts to share yet."
|
||||
"title": "Armada",
|
||||
"createFleet": "Buat Armada",
|
||||
"createFleetTitle": "Buat Armada",
|
||||
"editFleetTitle": "Edit Armada",
|
||||
"createFleetDescription": "Armada adalah kelompok host bernama yang dapat Anda serang sebagai satu unit.",
|
||||
"nameLabel": "Nama",
|
||||
"namePlaceholder": "misalnya, Server Web",
|
||||
"nameRequired": "Nama armada wajib diisi.",
|
||||
"descriptionLabel": "Keterangan",
|
||||
"descriptionPlaceholder": "Deskripsi opsional",
|
||||
"colorLabel": "Warna",
|
||||
"tagRulesLabel": "Aturan tag",
|
||||
"tagRulesPlaceholder": "prod-web, tepi",
|
||||
"tagRulesHint": "Host yang memiliki salah satu tag ini akan disertakan secara otomatis, di samping host yang ditambahkan secara manual.",
|
||||
"fleetCreated": "Armada yang dibuat",
|
||||
"fleetUpdated": "Armada diperbarui",
|
||||
"fleetDeleted": "Armada dihapus",
|
||||
"saveFailed": "Gagal menyelamatkan armada.",
|
||||
"deleteFailed": "Gagal menghapus armada",
|
||||
"loadFailed": "Gagal memuat armada",
|
||||
"deleteFleetTitle": "Hapus Armada",
|
||||
"deleteFleetDescription": "Apakah Anda yakin ingin menghapus \"{{name}}\"? Ini tidak menghapus host anggota itu sendiri.",
|
||||
"searchFleets": "Armada pencarian...",
|
||||
"noFleets": "Belum ada armada. Buat satu untuk memulai.",
|
||||
"memberCount": "{{count}} tuan rumah",
|
||||
"memberCount_other": "{{count}} tuan rumah",
|
||||
"manageMembers": "Kelola Anggota",
|
||||
"manageMembersTitle": "Mengelola Anggota Armada",
|
||||
"manageMembersDescription": "Aktifkan atau nonaktifkan keanggotaan statis host dalam armada ini. Host yang cocok dengan aturan tag akan selalu disertakan.",
|
||||
"searchHosts": "Cari host...",
|
||||
"noHostsFound": "Tidak ada host yang ditemukan.",
|
||||
"noMembers": "Armada ini belum memiliki anggota. Tambahkan host atau tetapkan aturan tag.",
|
||||
"membersLoadFailed": "Gagal memuat anggota armada",
|
||||
"memberUpdateFailed": "Gagal memperbarui keanggotaan armada.",
|
||||
"tabRun": "Jalankan Perintah",
|
||||
"tabTransfer": "Transfer File",
|
||||
"tabInventory": "Inventaris",
|
||||
"openInventoryTab": "Buka di tab penuh",
|
||||
"tabPackages": "Paket",
|
||||
"runOnFleet": "Lari di Armada",
|
||||
"commandPlaceholder": "waktu aktif && df -h",
|
||||
"commandRequired": "Diperlukan sebuah perintah.",
|
||||
"commandInputsLabel": "Masukan perintah",
|
||||
"commandSucceeded": "Perintah berhasil dijalankan di semua host.",
|
||||
"commandPartialFailure": "{{failed}} dari {{total}} host gagal",
|
||||
"commandFailed": "Perintah gagal dijalankan.",
|
||||
"resultSuccess": "Kesuksesan",
|
||||
"resultFailed": "Gagal",
|
||||
"push": "Dorongan",
|
||||
"pull": "Menarik",
|
||||
"remotePathLabel": "Jalur jarak jauh",
|
||||
"remotePathRequired": "Diperlukan jalur jarak jauh.",
|
||||
"fileLabel": "Mengajukan",
|
||||
"fileRequired": "Diperlukan sebuah berkas.",
|
||||
"pushHint": "File yang dipilih akan ditulis ke jalur persis ini di setiap host dalam armada.",
|
||||
"pullHint": "Berkas di jalur ini dibaca dari setiap host dan diunduh sebagai satu file zip, satu folder per host.",
|
||||
"transferComplete": "Transfer selesai",
|
||||
"transferFailed": "Transfer gagal",
|
||||
"refreshInventory": "Perbarui Inventaris",
|
||||
"inventoryLoadFailed": "Gagal memuat inventaris",
|
||||
"inventoryRefreshed": "Persediaan diperbarui",
|
||||
"inventoryRefreshFailed": "Gagal memperbarui inventaris",
|
||||
"inventoryNoData": "Belum ada data inventaris - segarkan halaman untuk mengumpulkannya.",
|
||||
"inventoryHost": "Tuan rumah",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} dikumpulkan",
|
||||
"inventoryOs": "Sistem Operasi",
|
||||
"inventoryKernel": "Inti",
|
||||
"inventoryArch": "Lengkungan",
|
||||
"inventoryUptime": "Waktu aktif",
|
||||
"inventoryPackageManager": "Pengelola paket",
|
||||
"inventoryCollectedAt": "Dikumpulkan",
|
||||
"packageActionLabel": "Tindakan",
|
||||
"packageInstall": "Memasang",
|
||||
"packageRemove": "Menghapus",
|
||||
"packageUpgradeAll": "Tingkatkan semua paket",
|
||||
"packageNameLabel": "Nama paket",
|
||||
"packageNameRequired": "Nama paket wajib diisi.",
|
||||
"packageHint": "Membutuhkan akses tingkat pengelola per host dan ditingkatkan menggunakan kata sandi sudo yang tersimpan di host tersebut.",
|
||||
"shareFleet": "Armada Bersama",
|
||||
"shareFleetTitle": "Bagikan \"{{name}}\"",
|
||||
"shareFleetDescription": "Membagikan host anggota armada saat ini kepada pengguna atau peran yang dipilih. Host yang ditambahkan ke armada kemudian tidak dibagikan secara otomatis - bagikan lagi untuk menyertakannya.",
|
||||
"shareSelectionRequired": "Pilih setidaknya satu pengguna atau peran",
|
||||
"fleetSharedSuccessfully": "Berbagi {{shared}} dari {{total}} host di armada ini",
|
||||
"failedToShareFleet": "Gagal berbagi armada",
|
||||
"noMembersToShare": "Armada ini belum memiliki anggota yang dapat dibagikan."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Fleets"
|
||||
"fleets": "Armada"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"docsLink": "Lihat dokumen",
|
||||
"sharing": {
|
||||
"customHoursPlaceholder": "Hours until access expires",
|
||||
"customHoursPlaceholder": "Waktu hingga akses berakhir",
|
||||
"expiry": {
|
||||
"never": "Never",
|
||||
"oneHour": "1 hour",
|
||||
"oneDay": "24 hours",
|
||||
"sevenDays": "7 days",
|
||||
"thirtyDays": "30 days",
|
||||
"custom": "Custom"
|
||||
"never": "Tidak pernah",
|
||||
"oneHour": "1 jam",
|
||||
"oneDay": "24 jam",
|
||||
"sevenDays": "7 hari",
|
||||
"thirtyDays": "30 hari",
|
||||
"custom": "Kebiasaan"
|
||||
},
|
||||
"expiryLabel": "Access expiry",
|
||||
"expiryLabel": "Kedaluwarsa akses",
|
||||
"levels": {
|
||||
"connect": {
|
||||
"label": "Connect",
|
||||
"description": "Open sessions only: terminal, remote desktop, file manager, tunnels and Docker. No access to the host configuration."
|
||||
"label": "Menghubungkan",
|
||||
"description": "Hanya sesi yang diizinkan untuk dibuka: terminal, desktop jarak jauh, pengelola file, terowongan, dan Docker. Tidak ada akses ke konfigurasi host."
|
||||
},
|
||||
"view": {
|
||||
"label": "View",
|
||||
"description": "Connect, plus see the host configuration. Secrets are never shown."
|
||||
"label": "Melihat",
|
||||
"description": "Hubungkan, dan lihat konfigurasi host. Rahasia tidak akan pernah ditampilkan."
|
||||
},
|
||||
"edit": {
|
||||
"label": "Edit",
|
||||
"description": "View, plus modify non-authentication host settings. The owner's SSH authentication stays private and owner-only."
|
||||
"description": "Lihat, dan ubah pengaturan host non-autentikasi. Autentikasi SSH pemilik tetap bersifat pribadi dan hanya untuk pemilik."
|
||||
},
|
||||
"manage": {
|
||||
"label": "Manage",
|
||||
"description": "Edit, plus share the host with others, change permission levels and revoke access."
|
||||
"label": "Mengelola",
|
||||
"description": "Edit, bagikan host dengan orang lain, ubah tingkat izin, dan cabut akses."
|
||||
}
|
||||
},
|
||||
"noMatches": "No matches found",
|
||||
"permissionLevelLabel": "Permission level",
|
||||
"rolesTab": "Roles",
|
||||
"searchPlaceholder": "Search users or roles...",
|
||||
"shareButton": "Share",
|
||||
"shareWithCount": "Share ({{count}})",
|
||||
"usersTab": "Users"
|
||||
"noMatches": "Tidak ditemukan kecocokan.",
|
||||
"permissionLevelLabel": "Tingkat izin",
|
||||
"rolesTab": "Peran",
|
||||
"searchPlaceholder": "Cari pengguna atau peran...",
|
||||
"shareButton": "Membagikan",
|
||||
"shareWithCount": "Bagikan ({{count}})",
|
||||
"usersTab": "Pengguna"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,149 +1,149 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View fleets",
|
||||
"description": "See fleets, their members and inventory."
|
||||
"title": "Se flåter",
|
||||
"description": "Se flåter, deres medlemmer og inventar."
|
||||
},
|
||||
"manage": {
|
||||
"title": "Manage fleets",
|
||||
"description": "Create, edit and delete fleets, change membership, and share fleets with other users or roles."
|
||||
"title": "Administrer flåter",
|
||||
"description": "Opprett, rediger og slett flåter, endre medlemskap og del flåter med andre brukere eller roller."
|
||||
},
|
||||
"execute": {
|
||||
"title": "Run fleet actions",
|
||||
"description": "Run commands and package actions across a fleet, and transfer files to and from its member hosts."
|
||||
"title": "Kjør flåtehandlinger",
|
||||
"description": "Kjør kommandoer og pakkehandlinger på tvers av en flåte, og overfør filer til og fra medlemsvertene."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Fleets",
|
||||
"createFleet": "Create Fleet",
|
||||
"createFleetTitle": "Create Fleet",
|
||||
"editFleetTitle": "Edit Fleet",
|
||||
"createFleetDescription": "A fleet is a named group of hosts you can run actions against as a unit.",
|
||||
"title": "Flåter",
|
||||
"createFleet": "Opprett flåte",
|
||||
"createFleetTitle": "Opprett flåte",
|
||||
"editFleetTitle": "Rediger flåte",
|
||||
"createFleetDescription": "En flåte er en navngitt gruppe verter du kan kjøre handlinger mot som en enhet.",
|
||||
"nameLabel": "Navn",
|
||||
"namePlaceholder": "e.g., Web Servers",
|
||||
"nameRequired": "Fleet name is required",
|
||||
"namePlaceholder": "f.eks. webservere",
|
||||
"nameRequired": "Flåtenavn er obligatorisk",
|
||||
"descriptionLabel": "Beskrivelse",
|
||||
"descriptionPlaceholder": "Valgfri beskrivelse",
|
||||
"colorLabel": "Color",
|
||||
"tagRulesLabel": "Tag rules",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosts with any of these tags are automatically included, in addition to hosts added manually.",
|
||||
"fleetCreated": "Fleet created",
|
||||
"fleetUpdated": "Fleet updated",
|
||||
"fleetDeleted": "Fleet deleted",
|
||||
"saveFailed": "Failed to save fleet",
|
||||
"deleteFailed": "Failed to delete fleet",
|
||||
"loadFailed": "Failed to load fleets",
|
||||
"deleteFleetTitle": "Delete Fleet",
|
||||
"deleteFleetDescription": "Are you sure you want to delete \"{{name}}\"? This does not delete the member hosts themselves.",
|
||||
"searchFleets": "Search fleets...",
|
||||
"noFleets": "No fleets yet. Create one to get started.",
|
||||
"memberCount": "{{count}} host",
|
||||
"colorLabel": "Farge",
|
||||
"tagRulesLabel": "Taggregler",
|
||||
"tagRulesPlaceholder": "prod-web, kant",
|
||||
"tagRulesHint": "Verter med noen av disse taggene inkluderes automatisk, i tillegg til verter som legges til manuelt.",
|
||||
"fleetCreated": "Flåte opprettet",
|
||||
"fleetUpdated": "Flåten er oppdatert",
|
||||
"fleetDeleted": "Flåten er slettet",
|
||||
"saveFailed": "Kunne ikke lagre flåten",
|
||||
"deleteFailed": "Kunne ikke slette flåten",
|
||||
"loadFailed": "Kunne ikke laste inn flåter",
|
||||
"deleteFleetTitle": "Slett flåte",
|
||||
"deleteFleetDescription": "Er du sikker på at du vil slette «{{name}}»? Dette sletter ikke selve medlemsvertene.",
|
||||
"searchFleets": "Søk etter flåter...",
|
||||
"noFleets": "Ingen flåter ennå. Opprett en for å komme i gang.",
|
||||
"memberCount": "{{count}} vert",
|
||||
"memberCount_other": "{{count}} verter",
|
||||
"manageMembers": "Manage Members",
|
||||
"manageMembersTitle": "Manage Fleet Members",
|
||||
"manageMembersDescription": "Toggle hosts in or out of this fleet's static membership. Hosts matched by tag rules are always included.",
|
||||
"searchHosts": "Search hosts...",
|
||||
"noHostsFound": "No hosts found",
|
||||
"noMembers": "This fleet has no members yet. Add hosts or set a tag rule.",
|
||||
"membersLoadFailed": "Failed to load fleet members",
|
||||
"memberUpdateFailed": "Failed to update fleet membership",
|
||||
"tabRun": "Run Command",
|
||||
"tabTransfer": "Transfer Files",
|
||||
"tabInventory": "Inventory",
|
||||
"openInventoryTab": "Open in full tab",
|
||||
"tabPackages": "Packages",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "A command is required",
|
||||
"commandInputsLabel": "Command inputs",
|
||||
"commandSucceeded": "Command succeeded on all hosts",
|
||||
"commandPartialFailure": "{{failed}} of {{total}} hosts failed",
|
||||
"commandFailed": "Failed to run command",
|
||||
"manageMembers": "Administrer medlemmer",
|
||||
"manageMembersTitle": "Administrer flåtemedlemmer",
|
||||
"manageMembersDescription": "Veksle verter inn eller ut av denne flåtens statiske medlemskap. Verter som samsvarer med tagregler er alltid inkludert.",
|
||||
"searchHosts": "Søk etter verter...",
|
||||
"noHostsFound": "Ingen verter funnet",
|
||||
"noMembers": "Denne flåten har ingen medlemmer ennå. Legg til verter eller angi en tagregel.",
|
||||
"membersLoadFailed": "Kunne ikke laste inn flåtemedlemmer",
|
||||
"memberUpdateFailed": "Kunne ikke oppdatere flåtemedlemskapet",
|
||||
"tabRun": "Kjør kommando",
|
||||
"tabTransfer": "Overfør filer",
|
||||
"tabInventory": "Inventar",
|
||||
"openInventoryTab": "Åpne i full fane",
|
||||
"tabPackages": "Pakker",
|
||||
"runOnFleet": "Kjør på flåten",
|
||||
"commandPlaceholder": "oppetid og df -h",
|
||||
"commandRequired": "En kommando er nødvendig",
|
||||
"commandInputsLabel": "Kommandoinnganger",
|
||||
"commandSucceeded": "Kommandoen lyktes på alle verter",
|
||||
"commandPartialFailure": "{{failed}} av {{total}} verter mislyktes",
|
||||
"commandFailed": "Kunne ikke kjøre kommandoen",
|
||||
"resultSuccess": "Suksess",
|
||||
"resultFailed": "Mislyktes",
|
||||
"push": "Push",
|
||||
"pull": "Pull",
|
||||
"remotePathLabel": "Remote path",
|
||||
"remotePathRequired": "A remote path is required",
|
||||
"push": "Trykk",
|
||||
"pull": "Dra",
|
||||
"remotePathLabel": "Fjernbane",
|
||||
"remotePathRequired": "En ekstern sti er nødvendig",
|
||||
"fileLabel": "Fil",
|
||||
"fileRequired": "A file is required",
|
||||
"pushHint": "The selected file is written to this exact path on every host in the fleet.",
|
||||
"pullHint": "The file at this path is read from every host and downloaded as a single zip, one folder per host.",
|
||||
"transferComplete": "Transfer complete",
|
||||
"transferFailed": "Transfer failed",
|
||||
"refreshInventory": "Refresh Inventory",
|
||||
"inventoryLoadFailed": "Failed to load inventory",
|
||||
"inventoryRefreshed": "Inventory refreshed",
|
||||
"inventoryRefreshFailed": "Failed to refresh inventory",
|
||||
"inventoryNoData": "No inventory data yet - refresh to collect it.",
|
||||
"inventoryHost": "Host",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} collected",
|
||||
"fileRequired": "En fil er nødvendig",
|
||||
"pushHint": "Den valgte filen skrives til denne nøyaktige banen på alle verter i flåten.",
|
||||
"pullHint": "Filen på denne banen leses fra hver vert og lastes ned som en enkelt zip-fil, én mappe per vert.",
|
||||
"transferComplete": "Overføringen er fullført",
|
||||
"transferFailed": "Overføringen mislyktes",
|
||||
"refreshInventory": "Oppdater beholdningen",
|
||||
"inventoryLoadFailed": "Kunne ikke laste inn beholdningen",
|
||||
"inventoryRefreshed": "Lagerbeholdningen er oppdatert",
|
||||
"inventoryRefreshFailed": "Kunne ikke oppdatere beholdningen",
|
||||
"inventoryNoData": "Ingen lagerdata ennå – oppdater for å samle dem inn.",
|
||||
"inventoryHost": "Vert",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} samlet",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "Kjerne",
|
||||
"inventoryArch": "Arch",
|
||||
"inventoryArch": "Buen",
|
||||
"inventoryUptime": "Oppetid",
|
||||
"inventoryPackageManager": "Package manager",
|
||||
"inventoryCollectedAt": "Collected",
|
||||
"packageActionLabel": "Action",
|
||||
"packageInstall": "Install",
|
||||
"inventoryPackageManager": "Pakkebehandler",
|
||||
"inventoryCollectedAt": "Samlet",
|
||||
"packageActionLabel": "Handling",
|
||||
"packageInstall": "Installer",
|
||||
"packageRemove": "Fjern",
|
||||
"packageUpgradeAll": "Upgrade all packages",
|
||||
"packageNameLabel": "Package name",
|
||||
"packageNameRequired": "A package name is required",
|
||||
"packageHint": "Requires manage-level access per host and elevates using the host's stored sudo password.",
|
||||
"shareFleet": "Share Fleet",
|
||||
"shareFleetTitle": "Share \"{{name}}\"",
|
||||
"shareFleetDescription": "Shares this fleet's current member hosts with the selected users or roles. Hosts added to the fleet later are not shared automatically - share again to include them.",
|
||||
"shareSelectionRequired": "Select at least one user or role",
|
||||
"fleetSharedSuccessfully": "Shared {{shared}} of {{total}} host(s) in this fleet",
|
||||
"failedToShareFleet": "Failed to share fleet",
|
||||
"noMembersToShare": "This fleet has no member hosts to share yet."
|
||||
"packageUpgradeAll": "Oppgrader alle pakker",
|
||||
"packageNameLabel": "Pakkenavn",
|
||||
"packageNameRequired": "Et pakkenavn er obligatorisk",
|
||||
"packageHint": "Krever tilgang på administratornivå per vert og heves ved hjelp av vertens lagrede sudo-passord.",
|
||||
"shareFleet": "Del flåte",
|
||||
"shareFleetTitle": "Del «{{name}}»",
|
||||
"shareFleetDescription": "Deler denne flåtens nåværende medlemsverter med de valgte brukerne eller rollene. Verter som legges til flåten senere deles ikke automatisk – del på nytt for å inkludere dem.",
|
||||
"shareSelectionRequired": "Velg minst én bruker eller rolle",
|
||||
"fleetSharedSuccessfully": "Delt {{shared}} av {{total}} vert(er) i denne flåten",
|
||||
"failedToShareFleet": "Kunne ikke dele flåten",
|
||||
"noMembersToShare": "Denne flåten har ingen medlemsverter å dele ennå."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Fleets"
|
||||
"fleets": "Flåter"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"docsLink": "Vis dokumenter",
|
||||
"sharing": {
|
||||
"customHoursPlaceholder": "Hours until access expires",
|
||||
"customHoursPlaceholder": "Timer til tilgangen utløper",
|
||||
"expiry": {
|
||||
"never": "Never",
|
||||
"oneHour": "1 hour",
|
||||
"oneDay": "24 hours",
|
||||
"sevenDays": "7 days",
|
||||
"thirtyDays": "30 days",
|
||||
"custom": "Custom"
|
||||
"never": "Aldri",
|
||||
"oneHour": "1 time",
|
||||
"oneDay": "24 timer",
|
||||
"sevenDays": "7 dager",
|
||||
"thirtyDays": "30 dager",
|
||||
"custom": "Skikk"
|
||||
},
|
||||
"expiryLabel": "Access expiry",
|
||||
"expiryLabel": "Utløpsdato for tilgang",
|
||||
"levels": {
|
||||
"connect": {
|
||||
"label": "Koble til",
|
||||
"description": "Open sessions only: terminal, remote desktop, file manager, tunnels and Docker. No access to the host configuration."
|
||||
"description": "Kun åpne økter: terminal, eksternt skrivebord, filbehandler, tunneler og Docker. Ingen tilgang til vertskonfigurasjonen."
|
||||
},
|
||||
"view": {
|
||||
"label": "View",
|
||||
"description": "Connect, plus see the host configuration. Secrets are never shown."
|
||||
"label": "Utsikt",
|
||||
"description": "Koble til, pluss se vertskonfigurasjonen. Hemmeligheter vises aldri."
|
||||
},
|
||||
"edit": {
|
||||
"label": "Rediger",
|
||||
"description": "View, plus modify non-authentication host settings. The owner's SSH authentication stays private and owner-only."
|
||||
"description": "Vis og endre innstillinger for verter uten autentisering. Eierens SSH-autentisering forblir privat og kun for eieren."
|
||||
},
|
||||
"manage": {
|
||||
"label": "Manage",
|
||||
"description": "Edit, plus share the host with others, change permission levels and revoke access."
|
||||
"label": "Administrer",
|
||||
"description": "Rediger, pluss del verten med andre, endre tillatelsesnivåer og tilbakekall tilgang."
|
||||
}
|
||||
},
|
||||
"noMatches": "No matches found",
|
||||
"permissionLevelLabel": "Permission level",
|
||||
"rolesTab": "Roles",
|
||||
"searchPlaceholder": "Search users or roles...",
|
||||
"shareButton": "Share",
|
||||
"shareWithCount": "Share ({{count}})",
|
||||
"noMatches": "Ingen treff funnet",
|
||||
"permissionLevelLabel": "Tillatelsesnivå",
|
||||
"rolesTab": "Roller",
|
||||
"searchPlaceholder": "Søk etter brukere eller roller...",
|
||||
"shareButton": "Dele",
|
||||
"shareWithCount": "Del ({{count}})",
|
||||
"usersTab": "Brukere"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View fleets",
|
||||
"description": "See fleets, their members and inventory."
|
||||
"title": "Wyświetl floty",
|
||||
"description": "Zobacz floty, ich członków i zapasy."
|
||||
},
|
||||
"manage": {
|
||||
"title": "Manage fleets",
|
||||
"description": "Create, edit and delete fleets, change membership, and share fleets with other users or roles."
|
||||
"title": "Zarządzaj flotami",
|
||||
"description": "Twórz, edytuj i usuwaj floty, zmieniaj członkostwo i udostępniaj floty innym użytkownikom lub rolom."
|
||||
},
|
||||
"execute": {
|
||||
"title": "Run fleet actions",
|
||||
"description": "Run commands and package actions across a fleet, and transfer files to and from its member hosts."
|
||||
"title": "Wykonaj akcje floty",
|
||||
"description": "Uruchamiaj polecenia i pakiety działań w obrębie floty oraz przesyłaj pliki do i z jej hostów członkowskich."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
@@ -94,13 +94,13 @@
|
||||
"packageNameLabel": "Nazwa pakietu",
|
||||
"packageNameRequired": "Wymagana jest nazwa pakietu",
|
||||
"packageHint": "Wymaga dostępu na poziomie zarządzania na każdym hoście i podnosi uprawnienia zapisanym hasłem sudo hosta.",
|
||||
"shareFleet": "Share Fleet",
|
||||
"shareFleetTitle": "Share \"{{name}}\"",
|
||||
"shareFleetDescription": "Shares this fleet's current member hosts with the selected users or roles. Hosts added to the fleet later are not shared automatically - share again to include them.",
|
||||
"shareSelectionRequired": "Select at least one user or role",
|
||||
"fleetSharedSuccessfully": "Shared {{shared}} of {{total}} host(s) in this fleet",
|
||||
"failedToShareFleet": "Failed to share fleet",
|
||||
"noMembersToShare": "This fleet has no member hosts to share yet."
|
||||
"shareFleet": "Udostępnij flotę",
|
||||
"shareFleetTitle": "Udostępnij „{{name}}”",
|
||||
"shareFleetDescription": "Udostępnia aktualnych gospodarzy należących do tej floty wybranym użytkownikom lub rolom. Gospodarze dodani do floty później nie są udostępniani automatycznie — udostępnij ponownie, aby ich uwzględnić.",
|
||||
"shareSelectionRequired": "Wybierz co najmniej jednego użytkownika lub rolę",
|
||||
"fleetSharedSuccessfully": "Udostępniono {{shared}} z {{total}} hostów w tej flocie",
|
||||
"failedToShareFleet": "Nie udało się udostępnić floty",
|
||||
"noMembersToShare": "Ta flota nie ma jeszcze żadnych członków-gospodarzy, którymi można by się podzielić."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,150 +1,150 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View fleets",
|
||||
"description": "See fleets, their members and inventory."
|
||||
"title": "Ver frotas",
|
||||
"description": "Veja as frotas, seus membros e inventário."
|
||||
},
|
||||
"manage": {
|
||||
"title": "Manage fleets",
|
||||
"description": "Create, edit and delete fleets, change membership, and share fleets with other users or roles."
|
||||
"title": "Gerenciar frotas",
|
||||
"description": "Crie, edite e exclua frotas, altere a composição da frota e compartilhe frotas com outros usuários ou funções."
|
||||
},
|
||||
"execute": {
|
||||
"title": "Run fleet actions",
|
||||
"description": "Run commands and package actions across a fleet, and transfer files to and from its member hosts."
|
||||
"title": "Realizar operações de frota",
|
||||
"description": "Execute comandos e ações de pacotes em toda a frota e transfira arquivos de e para seus hosts membros."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Fleets",
|
||||
"createFleet": "Create Fleet",
|
||||
"createFleetTitle": "Create Fleet",
|
||||
"editFleetTitle": "Edit Fleet",
|
||||
"createFleetDescription": "A fleet is a named group of hosts you can run actions against as a unit.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Web Servers",
|
||||
"nameRequired": "Fleet name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"colorLabel": "Color",
|
||||
"tagRulesLabel": "Tag rules",
|
||||
"title": "Frotas",
|
||||
"createFleet": "Criar Frota",
|
||||
"createFleetTitle": "Criar Frota",
|
||||
"editFleetTitle": "Editar frota",
|
||||
"createFleetDescription": "Uma frota é um grupo nomeado de hosts contra os quais você pode executar ações como uma unidade.",
|
||||
"nameLabel": "Nome",
|
||||
"namePlaceholder": "Por exemplo, servidores web",
|
||||
"nameRequired": "É necessário nomear a frota.",
|
||||
"descriptionLabel": "Descrição",
|
||||
"descriptionPlaceholder": "Descrição opcional",
|
||||
"colorLabel": "Cor",
|
||||
"tagRulesLabel": "Regras de etiqueta",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosts with any of these tags are automatically included, in addition to hosts added manually.",
|
||||
"fleetCreated": "Fleet created",
|
||||
"fleetUpdated": "Fleet updated",
|
||||
"fleetDeleted": "Fleet deleted",
|
||||
"saveFailed": "Failed to save fleet",
|
||||
"deleteFailed": "Failed to delete fleet",
|
||||
"loadFailed": "Failed to load fleets",
|
||||
"deleteFleetTitle": "Delete Fleet",
|
||||
"deleteFleetDescription": "Are you sure you want to delete \"{{name}}\"? This does not delete the member hosts themselves.",
|
||||
"searchFleets": "Search fleets...",
|
||||
"noFleets": "No fleets yet. Create one to get started.",
|
||||
"memberCount": "{{count}} host",
|
||||
"memberCount_other": "{{count}} hosts",
|
||||
"manageMembers": "Manage Members",
|
||||
"manageMembersTitle": "Manage Fleet Members",
|
||||
"manageMembersDescription": "Toggle hosts in or out of this fleet's static membership. Hosts matched by tag rules are always included.",
|
||||
"searchHosts": "Search hosts...",
|
||||
"noHostsFound": "No hosts found",
|
||||
"noMembers": "This fleet has no members yet. Add hosts or set a tag rule.",
|
||||
"membersLoadFailed": "Failed to load fleet members",
|
||||
"memberUpdateFailed": "Failed to update fleet membership",
|
||||
"tabRun": "Run Command",
|
||||
"tabTransfer": "Transfer Files",
|
||||
"tabInventory": "Inventory",
|
||||
"openInventoryTab": "Open in full tab",
|
||||
"tabPackages": "Packages",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "A command is required",
|
||||
"commandInputsLabel": "Command inputs",
|
||||
"commandSucceeded": "Command succeeded on all hosts",
|
||||
"commandPartialFailure": "{{failed}} of {{total}} hosts failed",
|
||||
"commandFailed": "Failed to run command",
|
||||
"resultSuccess": "Success",
|
||||
"resultFailed": "Failed",
|
||||
"push": "Push",
|
||||
"pull": "Pull",
|
||||
"remotePathLabel": "Remote path",
|
||||
"remotePathRequired": "A remote path is required",
|
||||
"fileLabel": "File",
|
||||
"fileRequired": "A file is required",
|
||||
"pushHint": "The selected file is written to this exact path on every host in the fleet.",
|
||||
"pullHint": "The file at this path is read from every host and downloaded as a single zip, one folder per host.",
|
||||
"transferComplete": "Transfer complete",
|
||||
"transferFailed": "Transfer failed",
|
||||
"refreshInventory": "Refresh Inventory",
|
||||
"inventoryLoadFailed": "Failed to load inventory",
|
||||
"inventoryRefreshed": "Inventory refreshed",
|
||||
"inventoryRefreshFailed": "Failed to refresh inventory",
|
||||
"inventoryNoData": "No inventory data yet - refresh to collect it.",
|
||||
"inventoryHost": "Host",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} collected",
|
||||
"inventoryOs": "OS",
|
||||
"tagRulesHint": "Os hosts com qualquer uma dessas tags são incluídos automaticamente, além dos hosts adicionados manualmente.",
|
||||
"fleetCreated": "Frota criada",
|
||||
"fleetUpdated": "Frota atualizada",
|
||||
"fleetDeleted": "Frota excluída",
|
||||
"saveFailed": "Não conseguiram salvar a frota.",
|
||||
"deleteFailed": "Falha ao excluir a frota",
|
||||
"loadFailed": "Falha ao carregar as frotas",
|
||||
"deleteFleetTitle": "Excluir frota",
|
||||
"deleteFleetDescription": "Tem certeza de que deseja excluir \"{{name}}\"? Isso não exclui os próprios hosts membros.",
|
||||
"searchFleets": "Pesquisar frotas...",
|
||||
"noFleets": "Ainda não há frotas. Crie uma para começar.",
|
||||
"memberCount": "{{count}} anfitrião",
|
||||
"memberCount_other": "{{count}} anfitriões",
|
||||
"manageMembers": "Gerenciar membros",
|
||||
"manageMembersTitle": "Gerenciar membros da frota",
|
||||
"manageMembersDescription": "Ative ou desative a inclusão de hosts nesta frota estática. Os hosts que corresponderem às regras de tags serão sempre incluídos.",
|
||||
"searchHosts": "Pesquisar hosts...",
|
||||
"noHostsFound": "Nenhum host encontrado",
|
||||
"noMembers": "Esta frota ainda não tem membros. Adicione anfitriões ou defina uma regra de etiqueta.",
|
||||
"membersLoadFailed": "Falha ao carregar membros da frota",
|
||||
"memberUpdateFailed": "Falha na atualização da associação à frota",
|
||||
"tabRun": "Executar comando",
|
||||
"tabTransfer": "Transferir arquivos",
|
||||
"tabInventory": "Inventário",
|
||||
"openInventoryTab": "Abrir em aba inteira",
|
||||
"tabPackages": "Pacotes",
|
||||
"runOnFleet": "Executar na frota",
|
||||
"commandPlaceholder": "tempo de atividade e df -h",
|
||||
"commandRequired": "É necessário um comando.",
|
||||
"commandInputsLabel": "Entradas de comando",
|
||||
"commandSucceeded": "O comando foi executado com sucesso em todos os hosts.",
|
||||
"commandPartialFailure": "{{failed}} de {{total}} hosts falharam",
|
||||
"commandFailed": "Falha ao executar o comando",
|
||||
"resultSuccess": "Sucesso",
|
||||
"resultFailed": "Fracassado",
|
||||
"push": "Empurrar",
|
||||
"pull": "Puxar",
|
||||
"remotePathLabel": "Caminho remoto",
|
||||
"remotePathRequired": "É necessário um caminho remoto.",
|
||||
"fileLabel": "Arquivo",
|
||||
"fileRequired": "É necessário um arquivo.",
|
||||
"pushHint": "O arquivo selecionado é gravado exatamente nesse caminho em todos os hosts da frota.",
|
||||
"pullHint": "O arquivo neste caminho é lido de cada host e baixado como um único arquivo zip, uma pasta por host.",
|
||||
"transferComplete": "Transferência concluída",
|
||||
"transferFailed": "A transferência falhou",
|
||||
"refreshInventory": "Atualizar inventário",
|
||||
"inventoryLoadFailed": "Falha ao carregar o inventário",
|
||||
"inventoryRefreshed": "Inventário atualizado",
|
||||
"inventoryRefreshFailed": "Falha ao atualizar o inventário",
|
||||
"inventoryNoData": "Ainda não há dados de estoque - atualize a página para coletá-los.",
|
||||
"inventoryHost": "Hospedar",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} coletado",
|
||||
"inventoryOs": "SO",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Arch",
|
||||
"inventoryUptime": "Uptime",
|
||||
"inventoryPackageManager": "Package manager",
|
||||
"inventoryCollectedAt": "Collected",
|
||||
"packageActionLabel": "Action",
|
||||
"packageInstall": "Install",
|
||||
"inventoryArch": "Arco",
|
||||
"inventoryUptime": "Tempo de atividade",
|
||||
"inventoryPackageManager": "Gerenciador de pacotes",
|
||||
"inventoryCollectedAt": "Coletado",
|
||||
"packageActionLabel": "Ação",
|
||||
"packageInstall": "Instalar",
|
||||
"packageRemove": "Remover",
|
||||
"packageUpgradeAll": "Upgrade all packages",
|
||||
"packageNameLabel": "Package name",
|
||||
"packageNameRequired": "A package name is required",
|
||||
"packageHint": "Requires manage-level access per host and elevates using the host's stored sudo password.",
|
||||
"shareFleet": "Share Fleet",
|
||||
"shareFleetTitle": "Share \"{{name}}\"",
|
||||
"shareFleetDescription": "Shares this fleet's current member hosts with the selected users or roles. Hosts added to the fleet later are not shared automatically - share again to include them.",
|
||||
"shareSelectionRequired": "Select at least one user or role",
|
||||
"fleetSharedSuccessfully": "Shared {{shared}} of {{total}} host(s) in this fleet",
|
||||
"failedToShareFleet": "Failed to share fleet",
|
||||
"noMembersToShare": "This fleet has no member hosts to share yet."
|
||||
"packageUpgradeAll": "Atualize todos os pacotes",
|
||||
"packageNameLabel": "Nome do pacote",
|
||||
"packageNameRequired": "É necessário informar o nome do pacote.",
|
||||
"packageHint": "Requer acesso de nível de gerenciamento por host e eleva os privilégios usando a senha sudo armazenada no host.",
|
||||
"shareFleet": "Frota compartilhada",
|
||||
"shareFleetTitle": "Compartilhar \"{{name}}\"",
|
||||
"shareFleetDescription": "Compartilha os hosts membros atuais desta frota com os usuários ou funções selecionados. Hosts adicionados à frota posteriormente não são compartilhados automaticamente — compartilhe novamente para incluí-los.",
|
||||
"shareSelectionRequired": "Selecione pelo menos um usuário ou função.",
|
||||
"fleetSharedSuccessfully": "Compartilhado de {{shared}} de {{total}} hosts nesta frota",
|
||||
"failedToShareFleet": "Não foi possível compartilhar a frota.",
|
||||
"noMembersToShare": "Esta frota ainda não possui anfitriões membros para compartilhar."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Fleets"
|
||||
"fleets": "Frotas"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Documentação",
|
||||
"sharing": {
|
||||
"customHoursPlaceholder": "Hours until access expires",
|
||||
"customHoursPlaceholder": "Horas restantes até o acesso expirar",
|
||||
"expiry": {
|
||||
"never": "Never",
|
||||
"oneHour": "1 hour",
|
||||
"oneDay": "24 hours",
|
||||
"sevenDays": "7 days",
|
||||
"thirtyDays": "30 days",
|
||||
"custom": "Custom"
|
||||
"never": "Nunca",
|
||||
"oneHour": "1 hora",
|
||||
"oneDay": "24 horas",
|
||||
"sevenDays": "7 dias",
|
||||
"thirtyDays": "30 dias",
|
||||
"custom": "Personalizado"
|
||||
},
|
||||
"expiryLabel": "Access expiry",
|
||||
"expiryLabel": "Expiração do acesso",
|
||||
"levels": {
|
||||
"connect": {
|
||||
"label": "Conectar",
|
||||
"description": "Open sessions only: terminal, remote desktop, file manager, tunnels and Docker. No access to the host configuration."
|
||||
"description": "Somente sessões abertas: terminal, área de trabalho remota, gerenciador de arquivos, túneis e Docker. Sem acesso à configuração do host."
|
||||
},
|
||||
"view": {
|
||||
"label": "View",
|
||||
"description": "Connect, plus see the host configuration. Secrets are never shown."
|
||||
"label": "Visualizar",
|
||||
"description": "Conecte-se e veja a configuração do host. Os segredos nunca são exibidos."
|
||||
},
|
||||
"edit": {
|
||||
"label": "Editar",
|
||||
"description": "View, plus modify non-authentication host settings. The owner's SSH authentication stays private and owner-only."
|
||||
"description": "Visualize e modifique as configurações do host que não exigem autenticação. A autenticação SSH do proprietário permanece privada e restrita ao proprietário."
|
||||
},
|
||||
"manage": {
|
||||
"label": "Manage",
|
||||
"description": "Edit, plus share the host with others, change permission levels and revoke access."
|
||||
"label": "Gerenciar",
|
||||
"description": "Edite, compartilhe o host com outras pessoas, altere os níveis de permissão e revogue o acesso."
|
||||
}
|
||||
},
|
||||
"noMatches": "No matches found",
|
||||
"permissionLevelLabel": "Permission level",
|
||||
"rolesTab": "Roles",
|
||||
"searchPlaceholder": "Search users or roles...",
|
||||
"shareButton": "Share",
|
||||
"shareWithCount": "Share ({{count}})",
|
||||
"usersTab": "Users"
|
||||
"noMatches": "Nenhuma correspondência encontrada",
|
||||
"permissionLevelLabel": "Nível de permissão",
|
||||
"rolesTab": "Funções",
|
||||
"searchPlaceholder": "Pesquisar usuários ou funções...",
|
||||
"shareButton": "Compartilhar",
|
||||
"shareWithCount": "Compartilhar ({{count}})",
|
||||
"usersTab": "Usuários"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,111 +1,111 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View fleets",
|
||||
"description": "See fleets, their members and inventory."
|
||||
"title": "Ver frotas",
|
||||
"description": "Veja as frotas, os seus membros e inventário."
|
||||
},
|
||||
"manage": {
|
||||
"title": "Manage fleets",
|
||||
"description": "Create, edit and delete fleets, change membership, and share fleets with other users or roles."
|
||||
"title": "Gerir frotas",
|
||||
"description": "Crie, edite e exclua frotas, altere a composição da frota e partilhe frotas com outros utilizadores ou funções."
|
||||
},
|
||||
"execute": {
|
||||
"title": "Run fleet actions",
|
||||
"description": "Run commands and package actions across a fleet, and transfer files to and from its member hosts."
|
||||
"title": "Realizar operações de frota",
|
||||
"description": "Execute comandos e ações de pacotes em toda a frota e transfira ficheiros de e para os seus hosts membros."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Fleets",
|
||||
"createFleet": "Create Fleet",
|
||||
"createFleetTitle": "Create Fleet",
|
||||
"editFleetTitle": "Edit Fleet",
|
||||
"createFleetDescription": "A fleet is a named group of hosts you can run actions against as a unit.",
|
||||
"title": "Frotas",
|
||||
"createFleet": "Criar Frota",
|
||||
"createFleetTitle": "Criar Frota",
|
||||
"editFleetTitle": "Editar frota",
|
||||
"createFleetDescription": "Uma frota é um grupo nomeado de hosts contra os quais pode executar ações como uma unidade.",
|
||||
"nameLabel": "Nome",
|
||||
"namePlaceholder": "e.g., Web Servers",
|
||||
"nameRequired": "Fleet name is required",
|
||||
"namePlaceholder": "Por exemplo, os servidores web",
|
||||
"nameRequired": "É necessário dar um nome à frota.",
|
||||
"descriptionLabel": "Descrição",
|
||||
"descriptionPlaceholder": "Descrição opcional",
|
||||
"colorLabel": "Cor",
|
||||
"tagRulesLabel": "Tag rules",
|
||||
"tagRulesLabel": "Regras de etiqueta",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosts with any of these tags are automatically included, in addition to hosts added manually.",
|
||||
"fleetCreated": "Fleet created",
|
||||
"fleetUpdated": "Fleet updated",
|
||||
"fleetDeleted": "Fleet deleted",
|
||||
"saveFailed": "Failed to save fleet",
|
||||
"deleteFailed": "Failed to delete fleet",
|
||||
"loadFailed": "Failed to load fleets",
|
||||
"deleteFleetTitle": "Delete Fleet",
|
||||
"deleteFleetDescription": "Are you sure you want to delete \"{{name}}\"? This does not delete the member hosts themselves.",
|
||||
"searchFleets": "Search fleets...",
|
||||
"noFleets": "No fleets yet. Create one to get started.",
|
||||
"memberCount": "{{count}} host",
|
||||
"tagRulesHint": "Os hosts com qualquer uma destas etiquetas são incluídos automaticamente, para além dos hosts adicionados manualmente.",
|
||||
"fleetCreated": "Frota criada",
|
||||
"fleetUpdated": "Frota atualizada",
|
||||
"fleetDeleted": "Frota excluída",
|
||||
"saveFailed": "Não conseguiram salvar a frota.",
|
||||
"deleteFailed": "Falha ao eliminar a frota",
|
||||
"loadFailed": "Falha ao carregar as frotas",
|
||||
"deleteFleetTitle": "Excluir frota",
|
||||
"deleteFleetDescription": "Tem a certeza que pretende eliminar \"{{name}}\"? Isto não exclui os próprios hosts membros.",
|
||||
"searchFleets": "Pesquisar frotas...",
|
||||
"noFleets": "Ainda não há frotas. Crie uma para começar.",
|
||||
"memberCount": "{{count}} anfitrião",
|
||||
"memberCount_other": "{{count}} máquinas",
|
||||
"manageMembers": "Manage Members",
|
||||
"manageMembersTitle": "Manage Fleet Members",
|
||||
"manageMembersDescription": "Toggle hosts in or out of this fleet's static membership. Hosts matched by tag rules are always included.",
|
||||
"manageMembers": "Gerir membros",
|
||||
"manageMembersTitle": "Gerir membros da frota",
|
||||
"manageMembersDescription": "Ative ou desative a inclusão de hosts nesta frota estática. Os hosts que corresponderem às regras das tags serão sempre incluídos.",
|
||||
"searchHosts": "Pesquisar hosts...",
|
||||
"noHostsFound": "Nenhum host encontrado",
|
||||
"noMembers": "This fleet has no members yet. Add hosts or set a tag rule.",
|
||||
"membersLoadFailed": "Failed to load fleet members",
|
||||
"memberUpdateFailed": "Failed to update fleet membership",
|
||||
"tabRun": "Run Command",
|
||||
"tabTransfer": "Transfer Files",
|
||||
"tabInventory": "Inventory",
|
||||
"openInventoryTab": "Open in full tab",
|
||||
"noMembers": "Esta frota ainda não tem membros. Adicione anfitriões ou defina uma regra de etiqueta.",
|
||||
"membersLoadFailed": "Falha ao carregar membros da frota",
|
||||
"memberUpdateFailed": "Falha na atualização da adesão à frota",
|
||||
"tabRun": "Executar comando",
|
||||
"tabTransfer": "Transferir ficheiros",
|
||||
"tabInventory": "Inventário",
|
||||
"openInventoryTab": "Abrir em separador inteiro",
|
||||
"tabPackages": "Pacotes",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "A command is required",
|
||||
"commandInputsLabel": "Command inputs",
|
||||
"commandSucceeded": "Command succeeded on all hosts",
|
||||
"commandPartialFailure": "{{failed}} of {{total}} hosts failed",
|
||||
"commandFailed": "Failed to run command",
|
||||
"runOnFleet": "Executar na frota",
|
||||
"commandPlaceholder": "tempo de atividade e df -h",
|
||||
"commandRequired": "É necessário um comando.",
|
||||
"commandInputsLabel": "Entradas de comando",
|
||||
"commandSucceeded": "O comando foi executado com sucesso em todos os hosts.",
|
||||
"commandPartialFailure": "{{failed}} de {{total}} os hosts falharam",
|
||||
"commandFailed": "Falha ao executar o comando",
|
||||
"resultSuccess": "Sucesso",
|
||||
"resultFailed": "Falhou",
|
||||
"push": "Push",
|
||||
"pull": "Pull",
|
||||
"remotePathLabel": "Remote path",
|
||||
"remotePathRequired": "A remote path is required",
|
||||
"push": "Pressionar",
|
||||
"pull": "Puxar",
|
||||
"remotePathLabel": "Caminho remoto",
|
||||
"remotePathRequired": "É necessário um caminho remoto.",
|
||||
"fileLabel": "Ficheiro",
|
||||
"fileRequired": "A file is required",
|
||||
"pushHint": "The selected file is written to this exact path on every host in the fleet.",
|
||||
"pullHint": "The file at this path is read from every host and downloaded as a single zip, one folder per host.",
|
||||
"fileRequired": "É necessário um ficheiro.",
|
||||
"pushHint": "O ficheiro selecionado é gravado exatamente nesse caminho em todos os hosts da frota.",
|
||||
"pullHint": "O ficheiro neste caminho é lido de cada host e descarregado como um único ficheiro zip, uma pasta por host.",
|
||||
"transferComplete": "Transferência concluída",
|
||||
"transferFailed": "Transferência falhou",
|
||||
"refreshInventory": "Refresh Inventory",
|
||||
"inventoryLoadFailed": "Failed to load inventory",
|
||||
"inventoryRefreshed": "Inventory refreshed",
|
||||
"inventoryRefreshFailed": "Failed to refresh inventory",
|
||||
"inventoryNoData": "No inventory data yet - refresh to collect it.",
|
||||
"refreshInventory": "Atualizar inventário",
|
||||
"inventoryLoadFailed": "Falha ao carregar o inventário",
|
||||
"inventoryRefreshed": "Inventário atualizado",
|
||||
"inventoryRefreshFailed": "Falha ao atualizar o inventário",
|
||||
"inventoryNoData": "Ainda não há dados de stock - atualize a página para os recolher.",
|
||||
"inventoryHost": "Host",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} collected",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} recolhido",
|
||||
"inventoryOs": "SO",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Arch",
|
||||
"inventoryArch": "Arco",
|
||||
"inventoryUptime": "Tempo de Atividade",
|
||||
"inventoryPackageManager": "Package manager",
|
||||
"inventoryCollectedAt": "Collected",
|
||||
"inventoryPackageManager": "Gestor de pacotes",
|
||||
"inventoryCollectedAt": "Coletado",
|
||||
"packageActionLabel": "Ação",
|
||||
"packageInstall": "Install",
|
||||
"packageInstall": "Instalar",
|
||||
"packageRemove": "Remover",
|
||||
"packageUpgradeAll": "Upgrade all packages",
|
||||
"packageNameLabel": "Package name",
|
||||
"packageNameRequired": "A package name is required",
|
||||
"packageHint": "Requires manage-level access per host and elevates using the host's stored sudo password.",
|
||||
"shareFleet": "Share Fleet",
|
||||
"shareFleetTitle": "Share \"{{name}}\"",
|
||||
"shareFleetDescription": "Shares this fleet's current member hosts with the selected users or roles. Hosts added to the fleet later are not shared automatically - share again to include them.",
|
||||
"shareSelectionRequired": "Select at least one user or role",
|
||||
"fleetSharedSuccessfully": "Shared {{shared}} of {{total}} host(s) in this fleet",
|
||||
"failedToShareFleet": "Failed to share fleet",
|
||||
"noMembersToShare": "This fleet has no member hosts to share yet."
|
||||
"packageUpgradeAll": "Atualize todos os pacotes",
|
||||
"packageNameLabel": "Nome do pacote",
|
||||
"packageNameRequired": "É necessário informar o nome do pacote.",
|
||||
"packageHint": "Requer acesso de nível de gestão por host e eleva os privilégios utilizando a palavra-passe sudo armazenada no host.",
|
||||
"shareFleet": "Frota partilhada",
|
||||
"shareFleetTitle": "Partilhar \"{{name}}\"",
|
||||
"shareFleetDescription": "Partilha os hosts membros atuais desta frota com os utilizadores ou funções selecionadas. Os hosts adicionados à frota posteriormente não são partilhados automaticamente — partilhe novamente para os incluir.",
|
||||
"shareSelectionRequired": "Selecione pelo menos um utilizador ou função.",
|
||||
"fleetSharedSuccessfully": "Partilhado a partir de {{shared}} de {{total}} hosts nesta frota",
|
||||
"failedToShareFleet": "Não foi possível partilhar a frota.",
|
||||
"noMembersToShare": "Esta frota ainda não tem anfitriões membros para partilhar."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Fleets"
|
||||
"fleets": "Frotas"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Ver documentação",
|
||||
@@ -131,7 +131,7 @@
|
||||
},
|
||||
"edit": {
|
||||
"label": "Editar",
|
||||
"description": "View, plus modify non-authentication host settings. The owner's SSH authentication stays private and owner-only."
|
||||
"description": "Visualize e modifique as definições do host que não requerem autenticação. A autenticação SSH do proprietário permanece privada e restrita ao proprietário."
|
||||
},
|
||||
"manage": {
|
||||
"label": "Gerir",
|
||||
|
||||
@@ -1,111 +1,111 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View fleets",
|
||||
"description": "See fleets, their members and inventory."
|
||||
"title": "Просмотреть флоты",
|
||||
"description": "Ознакомьтесь с флотом, его членами и инвентарем."
|
||||
},
|
||||
"manage": {
|
||||
"title": "Manage fleets",
|
||||
"description": "Create, edit and delete fleets, change membership, and share fleets with other users or roles."
|
||||
"title": "Управление автопарком",
|
||||
"description": "Создавайте, редактируйте и удаляйте парки, изменяйте состав участников и предоставляйте доступ к паркам другим пользователям или ролям."
|
||||
},
|
||||
"execute": {
|
||||
"title": "Run fleet actions",
|
||||
"description": "Run commands and package actions across a fleet, and transfer files to and from its member hosts."
|
||||
"title": "Выполнение действий флота",
|
||||
"description": "Выполняйте команды и действия с пакетами в рамках всего парка устройств, а также передавайте файлы на входящие в него хосты и обратно."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Fleets",
|
||||
"createFleet": "Create Fleet",
|
||||
"createFleetTitle": "Create Fleet",
|
||||
"editFleetTitle": "Edit Fleet",
|
||||
"createFleetDescription": "A fleet is a named group of hosts you can run actions against as a unit.",
|
||||
"title": "Флоты",
|
||||
"createFleet": "Создать флот",
|
||||
"createFleetTitle": "Создать флот",
|
||||
"editFleetTitle": "Редактировать флот",
|
||||
"createFleetDescription": "Флот — это именованная группа хостов, против которых можно выполнять действия как единое целое.",
|
||||
"nameLabel": "Название",
|
||||
"namePlaceholder": "e.g., Web Servers",
|
||||
"nameRequired": "Fleet name is required",
|
||||
"namePlaceholder": "например, веб-серверы",
|
||||
"nameRequired": "Название флота обязательно.",
|
||||
"descriptionLabel": "Описание",
|
||||
"descriptionPlaceholder": "Необязательное описание",
|
||||
"colorLabel": "Цвет",
|
||||
"tagRulesLabel": "Tag rules",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosts with any of these tags are automatically included, in addition to hosts added manually.",
|
||||
"fleetCreated": "Fleet created",
|
||||
"fleetUpdated": "Fleet updated",
|
||||
"fleetDeleted": "Fleet deleted",
|
||||
"saveFailed": "Failed to save fleet",
|
||||
"deleteFailed": "Failed to delete fleet",
|
||||
"loadFailed": "Failed to load fleets",
|
||||
"deleteFleetTitle": "Delete Fleet",
|
||||
"deleteFleetDescription": "Are you sure you want to delete \"{{name}}\"? This does not delete the member hosts themselves.",
|
||||
"searchFleets": "Search fleets...",
|
||||
"noFleets": "No fleets yet. Create one to get started.",
|
||||
"memberCount": "{{count}} host",
|
||||
"tagRulesLabel": "Правила тегирования",
|
||||
"tagRulesPlaceholder": "прод-веб, граничный",
|
||||
"tagRulesHint": "В дополнение к хостам, добавленным вручную, автоматически включаются хосты, имеющие любой из этих тегов.",
|
||||
"fleetCreated": "Создан флот",
|
||||
"fleetUpdated": "Обновление флота",
|
||||
"fleetDeleted": "Флот уничтожен",
|
||||
"saveFailed": "Не удалось спасти флот",
|
||||
"deleteFailed": "Не удалось удалить флот",
|
||||
"loadFailed": "Не удалось загрузить флот.",
|
||||
"deleteFleetTitle": "Удалить флот",
|
||||
"deleteFleetDescription": "Вы уверены, что хотите удалить \"{{name}}\"? Это не удалит сами хосты-участники.",
|
||||
"searchFleets": "Поиск флотов...",
|
||||
"noFleets": "Пока нет флотов. Создайте свой, чтобы начать.",
|
||||
"memberCount": "{{count}} хост",
|
||||
"memberCount_other": "{{count}} хостов",
|
||||
"manageMembers": "Manage Members",
|
||||
"manageMembersTitle": "Manage Fleet Members",
|
||||
"manageMembersDescription": "Toggle hosts in or out of this fleet's static membership. Hosts matched by tag rules are always included.",
|
||||
"manageMembers": "Управление участниками",
|
||||
"manageMembersTitle": "Управление членами автопарка",
|
||||
"manageMembersDescription": "Добавляйте или исключайте хосты из статического членства в этом флоте. Хосты, соответствующие правилам тегов, всегда включаются.",
|
||||
"searchHosts": "Поиск хостов...",
|
||||
"noHostsFound": "Хосты не найдены",
|
||||
"noMembers": "This fleet has no members yet. Add hosts or set a tag rule.",
|
||||
"membersLoadFailed": "Failed to load fleet members",
|
||||
"memberUpdateFailed": "Failed to update fleet membership",
|
||||
"tabRun": "Run Command",
|
||||
"tabTransfer": "Transfer Files",
|
||||
"tabInventory": "Inventory",
|
||||
"openInventoryTab": "Open in full tab",
|
||||
"noMembers": "В этом флоте пока нет участников. Добавьте хостов или установите правило тегов.",
|
||||
"membersLoadFailed": "Не удалось загрузить членов флота.",
|
||||
"memberUpdateFailed": "Не удалось обновить данные о членстве в автопарке.",
|
||||
"tabRun": "Выполнить команду",
|
||||
"tabTransfer": "Передача файлов",
|
||||
"tabInventory": "Инвентаризация",
|
||||
"openInventoryTab": "Открыть в полноэкранном режиме",
|
||||
"tabPackages": "Пакеты",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "A command is required",
|
||||
"commandInputsLabel": "Command inputs",
|
||||
"commandSucceeded": "Command succeeded on all hosts",
|
||||
"commandPartialFailure": "{{failed}} of {{total}} hosts failed",
|
||||
"commandFailed": "Failed to run command",
|
||||
"commandRequired": "Требуется команда",
|
||||
"commandInputsLabel": "Ввод команд",
|
||||
"commandSucceeded": "Команда успешно выполнена на всех хостах.",
|
||||
"commandPartialFailure": "{{failed}} из {{total}} хостов не удалось",
|
||||
"commandFailed": "Не удалось выполнить команду.",
|
||||
"resultSuccess": "Успех",
|
||||
"resultFailed": "Ошибка",
|
||||
"push": "Push",
|
||||
"pull": "Pull",
|
||||
"remotePathLabel": "Remote path",
|
||||
"remotePathRequired": "A remote path is required",
|
||||
"push": "Толкать",
|
||||
"pull": "Тянуть",
|
||||
"remotePathLabel": "Удаленный путь",
|
||||
"remotePathRequired": "Требуется удаленный путь",
|
||||
"fileLabel": "Файл",
|
||||
"fileRequired": "A file is required",
|
||||
"pushHint": "The selected file is written to this exact path on every host in the fleet.",
|
||||
"pullHint": "The file at this path is read from every host and downloaded as a single zip, one folder per host.",
|
||||
"fileRequired": "Требуется файл",
|
||||
"pushHint": "Выбранный файл записывается точно по этому пути на каждом хосте в сети.",
|
||||
"pullHint": "Файл по этому пути считывается с каждого хоста и загружается в виде единого ZIP-архива, по одной папке на каждый хост.",
|
||||
"transferComplete": "Передача завершена",
|
||||
"transferFailed": "Ошибка передачи",
|
||||
"refreshInventory": "Refresh Inventory",
|
||||
"inventoryLoadFailed": "Failed to load inventory",
|
||||
"inventoryRefreshed": "Inventory refreshed",
|
||||
"inventoryRefreshFailed": "Failed to refresh inventory",
|
||||
"inventoryNoData": "No inventory data yet - refresh to collect it.",
|
||||
"refreshInventory": "Обновить инвентарь",
|
||||
"inventoryLoadFailed": "Не удалось загрузить товарные запасы.",
|
||||
"inventoryRefreshed": "Инвентарь обновлен",
|
||||
"inventoryRefreshFailed": "Не удалось обновить данные об остатках на складе.",
|
||||
"inventoryNoData": "Данные об остатках товара пока отсутствуют — обновите страницу, чтобы получить их.",
|
||||
"inventoryHost": "Хост",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} collected",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} собрано",
|
||||
"inventoryOs": "ОС",
|
||||
"inventoryKernel": "Ядро",
|
||||
"inventoryArch": "Arch",
|
||||
"inventoryArch": "Арка",
|
||||
"inventoryUptime": "Время работы",
|
||||
"inventoryPackageManager": "Package manager",
|
||||
"inventoryCollectedAt": "Collected",
|
||||
"inventoryPackageManager": "Менеджер пакетов",
|
||||
"inventoryCollectedAt": "Собрано",
|
||||
"packageActionLabel": "Действие",
|
||||
"packageInstall": "Install",
|
||||
"packageInstall": "Установить",
|
||||
"packageRemove": "Удалить",
|
||||
"packageUpgradeAll": "Upgrade all packages",
|
||||
"packageNameLabel": "Package name",
|
||||
"packageNameRequired": "A package name is required",
|
||||
"packageHint": "Requires manage-level access per host and elevates using the host's stored sudo password.",
|
||||
"shareFleet": "Share Fleet",
|
||||
"shareFleetTitle": "Share \"{{name}}\"",
|
||||
"shareFleetDescription": "Shares this fleet's current member hosts with the selected users or roles. Hosts added to the fleet later are not shared automatically - share again to include them.",
|
||||
"shareSelectionRequired": "Select at least one user or role",
|
||||
"fleetSharedSuccessfully": "Shared {{shared}} of {{total}} host(s) in this fleet",
|
||||
"failedToShareFleet": "Failed to share fleet",
|
||||
"noMembersToShare": "This fleet has no member hosts to share yet."
|
||||
"packageUpgradeAll": "Обновить все пакеты",
|
||||
"packageNameLabel": "Название пакета",
|
||||
"packageNameRequired": "Требуется указать имя пакета.",
|
||||
"packageHint": "Для работы требуется доступ уровня администратора для каждого хоста, повышение прав осуществляется с помощью сохраненного пароля sudo для данного хоста.",
|
||||
"shareFleet": "Совместное использование автопарка",
|
||||
"shareFleetTitle": "Поделиться \"{{name}}\"",
|
||||
"shareFleetDescription": "Предоставляет доступ к текущим хостам, входящим в этот парк, выбранным пользователям или ролям. Хосты, добавленные в парк позже, не предоставляются автоматически — предоставьте доступ снова, чтобы включить их.",
|
||||
"shareSelectionRequired": "Выберите хотя бы одного пользователя или роль.",
|
||||
"fleetSharedSuccessfully": "Общий {{shared}} хоста(ов) в этом флоте {{total}}",
|
||||
"failedToShareFleet": "Не удалось поделиться флотом",
|
||||
"noMembersToShare": "В этом флоте пока нет хостов-участников, которыми можно было бы поделиться."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Fleets"
|
||||
"fleets": "Флоты"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "Документация",
|
||||
@@ -131,7 +131,7 @@
|
||||
},
|
||||
"edit": {
|
||||
"label": "Редактирование",
|
||||
"description": "View, plus modify non-authentication host settings. The owner's SSH authentication stays private and owner-only."
|
||||
"description": "Просмотр и изменение настроек хоста без аутентификации. SSH-аутентификация владельца остается конфиденциальной и доступна только владельцу."
|
||||
},
|
||||
"manage": {
|
||||
"label": "Управление",
|
||||
|
||||
@@ -1,150 +1,150 @@
|
||||
{
|
||||
"permissions": {
|
||||
"view": {
|
||||
"title": "View fleets",
|
||||
"description": "See fleets, their members and inventory."
|
||||
"title": "Погледајте возне паркове",
|
||||
"description": "Погледајте возне паркове, њихове чланове и инвентар."
|
||||
},
|
||||
"manage": {
|
||||
"title": "Manage fleets",
|
||||
"description": "Create, edit and delete fleets, change membership, and share fleets with other users or roles."
|
||||
"title": "Управљајте возним парковима",
|
||||
"description": "Креирајте, уређујте и бришите флоте, мењајте чланство и делите флоте са другим корисницима или улогама."
|
||||
},
|
||||
"execute": {
|
||||
"title": "Run fleet actions",
|
||||
"description": "Run commands and package actions across a fleet, and transfer files to and from its member hosts."
|
||||
"title": "Покрени акције флоте",
|
||||
"description": "Покрећите команде и акције пакета широм флоте и преносите датотеке на и са њених чланских хостова."
|
||||
}
|
||||
},
|
||||
"newUi": {
|
||||
"sidebar": {
|
||||
"fleets": {
|
||||
"title": "Fleets",
|
||||
"createFleet": "Create Fleet",
|
||||
"createFleetTitle": "Create Fleet",
|
||||
"editFleetTitle": "Edit Fleet",
|
||||
"createFleetDescription": "A fleet is a named group of hosts you can run actions against as a unit.",
|
||||
"nameLabel": "Name",
|
||||
"namePlaceholder": "e.g., Web Servers",
|
||||
"nameRequired": "Fleet name is required",
|
||||
"descriptionLabel": "Description",
|
||||
"descriptionPlaceholder": "Optional description",
|
||||
"colorLabel": "Color",
|
||||
"tagRulesLabel": "Tag rules",
|
||||
"title": "Флоте",
|
||||
"createFleet": "Креирај флоту",
|
||||
"createFleetTitle": "Креирај флоту",
|
||||
"editFleetTitle": "Уреди флоту",
|
||||
"createFleetDescription": "Флота је именована група хостова против којих можете извршавати акције као јединицу.",
|
||||
"nameLabel": "Име",
|
||||
"namePlaceholder": "нпр. веб сервери",
|
||||
"nameRequired": "Назив флоте је обавезан",
|
||||
"descriptionLabel": "Опис",
|
||||
"descriptionPlaceholder": "Опциони опис",
|
||||
"colorLabel": "Боја",
|
||||
"tagRulesLabel": "Правила за ознаке",
|
||||
"tagRulesPlaceholder": "prod-web, edge",
|
||||
"tagRulesHint": "Hosts with any of these tags are automatically included, in addition to hosts added manually.",
|
||||
"fleetCreated": "Fleet created",
|
||||
"fleetUpdated": "Fleet updated",
|
||||
"fleetDeleted": "Fleet deleted",
|
||||
"saveFailed": "Failed to save fleet",
|
||||
"deleteFailed": "Failed to delete fleet",
|
||||
"loadFailed": "Failed to load fleets",
|
||||
"deleteFleetTitle": "Delete Fleet",
|
||||
"deleteFleetDescription": "Are you sure you want to delete \"{{name}}\"? This does not delete the member hosts themselves.",
|
||||
"searchFleets": "Search fleets...",
|
||||
"noFleets": "No fleets yet. Create one to get started.",
|
||||
"memberCount": "{{count}} host",
|
||||
"memberCount_other": "{{count}} hosts",
|
||||
"manageMembers": "Manage Members",
|
||||
"manageMembersTitle": "Manage Fleet Members",
|
||||
"manageMembersDescription": "Toggle hosts in or out of this fleet's static membership. Hosts matched by tag rules are always included.",
|
||||
"searchHosts": "Search hosts...",
|
||||
"noHostsFound": "No hosts found",
|
||||
"noMembers": "This fleet has no members yet. Add hosts or set a tag rule.",
|
||||
"membersLoadFailed": "Failed to load fleet members",
|
||||
"memberUpdateFailed": "Failed to update fleet membership",
|
||||
"tabRun": "Run Command",
|
||||
"tabTransfer": "Transfer Files",
|
||||
"tabInventory": "Inventory",
|
||||
"openInventoryTab": "Open in full tab",
|
||||
"tabPackages": "Packages",
|
||||
"runOnFleet": "Run on Fleet",
|
||||
"commandPlaceholder": "uptime && df -h",
|
||||
"commandRequired": "A command is required",
|
||||
"commandInputsLabel": "Command inputs",
|
||||
"commandSucceeded": "Command succeeded on all hosts",
|
||||
"commandPartialFailure": "{{failed}} of {{total}} hosts failed",
|
||||
"commandFailed": "Failed to run command",
|
||||
"resultSuccess": "Success",
|
||||
"resultFailed": "Failed",
|
||||
"push": "Push",
|
||||
"pull": "Pull",
|
||||
"remotePathLabel": "Remote path",
|
||||
"remotePathRequired": "A remote path is required",
|
||||
"fileLabel": "File",
|
||||
"fileRequired": "A file is required",
|
||||
"pushHint": "The selected file is written to this exact path on every host in the fleet.",
|
||||
"pullHint": "The file at this path is read from every host and downloaded as a single zip, one folder per host.",
|
||||
"transferComplete": "Transfer complete",
|
||||
"transferFailed": "Transfer failed",
|
||||
"refreshInventory": "Refresh Inventory",
|
||||
"inventoryLoadFailed": "Failed to load inventory",
|
||||
"inventoryRefreshed": "Inventory refreshed",
|
||||
"inventoryRefreshFailed": "Failed to refresh inventory",
|
||||
"inventoryNoData": "No inventory data yet - refresh to collect it.",
|
||||
"inventoryHost": "Host",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} collected",
|
||||
"inventoryOs": "OS",
|
||||
"inventoryKernel": "Kernel",
|
||||
"inventoryArch": "Arch",
|
||||
"inventoryUptime": "Uptime",
|
||||
"inventoryPackageManager": "Package manager",
|
||||
"inventoryCollectedAt": "Collected",
|
||||
"packageActionLabel": "Action",
|
||||
"packageInstall": "Install",
|
||||
"packageRemove": "Remove",
|
||||
"packageUpgradeAll": "Upgrade all packages",
|
||||
"packageNameLabel": "Package name",
|
||||
"packageNameRequired": "A package name is required",
|
||||
"packageHint": "Requires manage-level access per host and elevates using the host's stored sudo password.",
|
||||
"shareFleet": "Share Fleet",
|
||||
"shareFleetTitle": "Share \"{{name}}\"",
|
||||
"shareFleetDescription": "Shares this fleet's current member hosts with the selected users or roles. Hosts added to the fleet later are not shared automatically - share again to include them.",
|
||||
"shareSelectionRequired": "Select at least one user or role",
|
||||
"fleetSharedSuccessfully": "Shared {{shared}} of {{total}} host(s) in this fleet",
|
||||
"failedToShareFleet": "Failed to share fleet",
|
||||
"noMembersToShare": "This fleet has no member hosts to share yet."
|
||||
"tagRulesHint": "Домаћини са било којом од ових ознака се аутоматски укључују, поред домаћина додатих ручно.",
|
||||
"fleetCreated": "Флота је створена",
|
||||
"fleetUpdated": "Ажурирана флота",
|
||||
"fleetDeleted": "Флота је обрисана",
|
||||
"saveFailed": "Чување флоте није успело",
|
||||
"deleteFailed": "Брисање флоте није успело",
|
||||
"loadFailed": "Учитавање возних паркова није успело",
|
||||
"deleteFleetTitle": "Обриши флоту",
|
||||
"deleteFleetDescription": "Да ли сте сигурни да желите да обришете „{{name}}“? Овим се не бришу сами чланови хостови.",
|
||||
"searchFleets": "Претражи флоте...",
|
||||
"noFleets": "Још нема флота. Направите једну да бисте започели.",
|
||||
"memberCount": "{{count}} домаћин",
|
||||
"memberCount_other": "{{count}} домаћини",
|
||||
"manageMembers": "Управљање члановима",
|
||||
"manageMembersTitle": "Управљајте члановима флоте",
|
||||
"manageMembersDescription": "Укључите или искључите хостове из статичког чланства ове флоте. Хостови који се подударају са правилима ознака су увек укључени.",
|
||||
"searchHosts": "Претражи хостове...",
|
||||
"noHostsFound": "Нису пронађени хостови",
|
||||
"noMembers": "Ова флота још нема чланова. Додајте хостове или поставите правило за ознаке.",
|
||||
"membersLoadFailed": "Учитавање чланова флоте није успело",
|
||||
"memberUpdateFailed": "Ажурирање чланства у флоти није успело",
|
||||
"tabRun": "Покрени команду",
|
||||
"tabTransfer": "Пренос датотека",
|
||||
"tabInventory": "Инвентар",
|
||||
"openInventoryTab": "Отвори у целој картици",
|
||||
"tabPackages": "Пакети",
|
||||
"runOnFleet": "Трчи на флоти",
|
||||
"commandPlaceholder": "време непрекидног рада && df -h",
|
||||
"commandRequired": "Потребна је команда",
|
||||
"commandInputsLabel": "Уноси команди",
|
||||
"commandSucceeded": "Команда је успела на свим хостовима",
|
||||
"commandPartialFailure": "{{failed}} од {{total}} хостова није успело",
|
||||
"commandFailed": "Није успело покретање команде",
|
||||
"resultSuccess": "Успех",
|
||||
"resultFailed": "Неуспешно",
|
||||
"push": "Гурај",
|
||||
"pull": "Повуци",
|
||||
"remotePathLabel": "Удаљена путања",
|
||||
"remotePathRequired": "Потребна је удаљена путања",
|
||||
"fileLabel": "Датотека",
|
||||
"fileRequired": "Потребна је датотека",
|
||||
"pushHint": "Изабрана датотека се уписује на ову тачну путању на сваком хосту у флоти.",
|
||||
"pullHint": "Датотека на овој путањи се чита са сваког хоста и преузима као један zip фасцикла, једна фасцикла по хосту.",
|
||||
"transferComplete": "Пренос завршен",
|
||||
"transferFailed": "Пренос није успео",
|
||||
"refreshInventory": "Освежи инвентар",
|
||||
"inventoryLoadFailed": "Учитавање инвентара није успело",
|
||||
"inventoryRefreshed": "Инвентар освежен",
|
||||
"inventoryRefreshFailed": "Освежавање инвентара није успело",
|
||||
"inventoryNoData": "Још нема података о залихама - освежите да бисте их прикупили.",
|
||||
"inventoryHost": "Домаћин",
|
||||
"inventoryCollectedCount": "{{count}}/{{total}} сакупљено",
|
||||
"inventoryOs": "ОС",
|
||||
"inventoryKernel": "Језгро",
|
||||
"inventoryArch": "Лук",
|
||||
"inventoryUptime": "Време непрекидног рада",
|
||||
"inventoryPackageManager": "Менаџер пакета",
|
||||
"inventoryCollectedAt": "Сакупљено",
|
||||
"packageActionLabel": "Акција",
|
||||
"packageInstall": "Инсталирај",
|
||||
"packageRemove": "Уклони",
|
||||
"packageUpgradeAll": "Надоградите све пакете",
|
||||
"packageNameLabel": "Назив пакета",
|
||||
"packageNameRequired": "Потребно је име пакета",
|
||||
"packageHint": "Захтева приступ на нивоу управљања по хосту и подиже привилегије користећи сачувану sudo лозинку хоста.",
|
||||
"shareFleet": "Дели флоту",
|
||||
"shareFleetTitle": "Подели „{{name}}“",
|
||||
"shareFleetDescription": "Дели тренутне хостове чланове ове флоте са изабраним корисницима или улогама. Хостови који се касније додају флоти се не деле аутоматски - поново делите да бисте их укључили.",
|
||||
"shareSelectionRequired": "Изаберите барем једног корисника или улогу",
|
||||
"fleetSharedSuccessfully": "Дељено {{shared}} од {{total}} хост(ова) у овој флоти",
|
||||
"failedToShareFleet": "Дељење флоте није успело",
|
||||
"noMembersToShare": "Ова флота још нема домаћине чланове за дељење."
|
||||
}
|
||||
}
|
||||
},
|
||||
"nav": {
|
||||
"fleets": "Fleets"
|
||||
"fleets": "Флоте"
|
||||
},
|
||||
"hosts": {
|
||||
"docsLink": "View docs",
|
||||
"docsLink": "Прикажи документе",
|
||||
"sharing": {
|
||||
"customHoursPlaceholder": "Hours until access expires",
|
||||
"customHoursPlaceholder": "Сати до истека приступа",
|
||||
"expiry": {
|
||||
"never": "Never",
|
||||
"oneHour": "1 hour",
|
||||
"oneDay": "24 hours",
|
||||
"sevenDays": "7 days",
|
||||
"thirtyDays": "30 days",
|
||||
"custom": "Custom"
|
||||
"never": "Никад",
|
||||
"oneHour": "1 сат",
|
||||
"oneDay": "24 сата",
|
||||
"sevenDays": "7 дана",
|
||||
"thirtyDays": "30 дана",
|
||||
"custom": "Прилагођено"
|
||||
},
|
||||
"expiryLabel": "Access expiry",
|
||||
"expiryLabel": "Истек приступа",
|
||||
"levels": {
|
||||
"connect": {
|
||||
"label": "Connect",
|
||||
"description": "Open sessions only: terminal, remote desktop, file manager, tunnels and Docker. No access to the host configuration."
|
||||
"label": "Повежи се",
|
||||
"description": "Само отворене сесије: терминал, удаљена радна површина, менаџер датотека, тунели и Докер. Нема приступа конфигурацији хоста."
|
||||
},
|
||||
"view": {
|
||||
"label": "View",
|
||||
"description": "Connect, plus see the host configuration. Secrets are never shown."
|
||||
"label": "Поглед",
|
||||
"description": "Повежите се, плус погледајте конфигурацију хоста. Тајне се никада не приказују."
|
||||
},
|
||||
"edit": {
|
||||
"label": "Edit",
|
||||
"description": "View, plus modify non-authentication host settings. The owner's SSH authentication stays private and owner-only."
|
||||
"label": "Измени",
|
||||
"description": "Прегледајте и мењајте подешавања хоста која не захтевају аутентификацију. SSH аутентификација власника остаје приватна и доступна само власнику."
|
||||
},
|
||||
"manage": {
|
||||
"label": "Manage",
|
||||
"description": "Edit, plus share the host with others, change permission levels and revoke access."
|
||||
"label": "Управљај",
|
||||
"description": "Уредите, плус делите хост са другима, мењајте нивое дозвола и опозовите приступ."
|
||||
}
|
||||
},
|
||||
"noMatches": "No matches found",
|
||||
"permissionLevelLabel": "Permission level",
|
||||
"rolesTab": "Roles",
|
||||
"searchPlaceholder": "Search users or roles...",
|
||||
"shareButton": "Share",
|
||||
"shareWithCount": "Share ({{count}})",
|
||||
"usersTab": "Users"
|
||||
"noMatches": "Није пронађено ниједно подударање",
|
||||
"permissionLevelLabel": "Ниво дозволе",
|
||||
"rolesTab": "Улоге",
|
||||
"searchPlaceholder": "Претражите кориснике или улоге...",
|
||||
"shareButton": "Дели",
|
||||
"shareWithCount": "Подели ({{count}})",
|
||||
"usersTab": "Корисници"
|
||||
}
|
||||
}
|
||||
}
|
||||
Loaded 100 of 530 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user