├── CHANGELOG.md ├── l10n ├── .gitkeep ├── lo.json ├── lo.js ├── an.json ├── km.json ├── my.json ├── uz.json ├── an.js ├── km.js ├── my.js ├── ps.json ├── uz.js ├── kab.json ├── ms_MY.json ├── si.json ├── hy.json ├── lb.json ├── kab.js ├── ps.js ├── ms_MY.js ├── bn_BD.json ├── si.js ├── hy.js ├── lb.js ├── az.json ├── bn_BD.js ├── sr@latin.json ├── th.json ├── az.js ├── ast.json ├── oc.json ├── ro.json ├── sr@latin.js ├── th.js ├── ast.js ├── oc.js ├── ro.js ├── be.json ├── be.js ├── af.json ├── af.js ├── mn.json ├── br.json ├── mn.js ├── br.js ├── nn_NO.json ├── nn_NO.js ├── ia.json ├── id.json ├── ia.js ├── id.js ├── sq.json ├── ka_GE.json ├── sq.js ├── ka_GE.js ├── es_AR.json ├── es_419.json ├── es_CL.json ├── es_CO.json ├── es_CR.json ├── es_DO.json ├── es_GT.json ├── es_HN.json ├── es_NI.json ├── es_PA.json ├── es_PE.json ├── es_PR.json ├── es_PY.json ├── es_SV.json ├── es_UY.json ├── es_419.js ├── es_AR.js ├── es_CL.js ├── es_CO.js ├── es_CR.js ├── es_DO.js ├── es_GT.js ├── es_HN.js ├── es_NI.js ├── es_PA.js ├── es_PE.js ├── es_PR.js ├── es_PY.js ├── es_SV.js ├── es_UY.js ├── vi.json ├── vi.js ├── ko.json ├── ko.js ├── es_MX.json ├── es_MX.js ├── eo.json ├── eo.js ├── pt_PT.json ├── pt_PT.js ├── he.json ├── is.json ├── he.js ├── is.js ├── da.json ├── da.js ├── lt_LT.json ├── lt_LT.js ├── sl.json ├── sc.json ├── sl.js ├── hr.json ├── sc.js ├── hr.js ├── nb.json ├── ja.json ├── nb.js ├── ja.js ├── zh_CN.json ├── zh_TW.json ├── zh_CN.js ├── zh_HK.json ├── zh_TW.js ├── zh_HK.js ├── nl.json ├── nl.js ├── et_EE.json ├── fi.json ├── et_EE.js ├── fi.js ├── lv.json └── el.json ├── tests ├── data │ ├── linux_uptime │ ├── freebsd_meminfo │ ├── truenas_core_meminfo │ ├── freebsd_interface_pflog0 │ ├── freebsd_swapinfo │ ├── freebsd_interface_epair0b │ ├── truenas_core_swapinfo │ ├── linux_cpuinfo_pi4b │ ├── linux_net_get_interfaces.json │ ├── linux_df_tp │ ├── linux_cpuinfo_pi3b │ ├── linux_cpuinfo_one_core │ ├── linux_meminfo │ └── freebsd_net_get_interfaces.json ├── bootstrap.php ├── phpunit.xml └── lib │ ├── NetInterfaceTest.php │ └── DummyTest.php ├── .gitignore ├── AUTHORS.md ├── .php-cs-fixer.dist.php ├── img ├── app.svg └── app-dark.svg ├── composer.json ├── appinfo ├── info.xml └── routes.php └── lib ├── Controller └── PageController.php ├── Resources ├── ThermalZone.php ├── Disk.php ├── Memory.php └── NetInterface.php ├── OperatingSystems ├── Dummy.php ├── FreeBSD.php ├── Linux.php └── IOperatingSystem.php ├── Jobs └── UpdateStorageStats.php ├── Commands └── UpdateStorageStats.php ├── Settings └── AdminSection.php ├── SessionStatistics.php └── Os.php /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /l10n/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/data/linux_uptime: -------------------------------------------------------------------------------- 1 | 13278.06 37909.02 2 | -------------------------------------------------------------------------------- /tests/data/freebsd_meminfo: -------------------------------------------------------------------------------- 1 | 68569628672 2 | 4096 3 | 3294292 4 | 0 5 | 565419 6 | -------------------------------------------------------------------------------- /tests/data/truenas_core_meminfo: -------------------------------------------------------------------------------- 1 | 137434759168 2 | 4096 3 | 5390734 4 | 0 5 | 1044334 6 | -------------------------------------------------------------------------------- /tests/data/freebsd_interface_pflog0: -------------------------------------------------------------------------------- 1 | pflog0: flags=0<> metric 0 mtu 33160 2 | groups: pflog 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.php-cs-fixer.cache 2 | /.php_cs.cache 3 | /tests/.phpunit.result.cache 4 | /vendor 5 | /.idea -------------------------------------------------------------------------------- /AUTHORS.md: -------------------------------------------------------------------------------- 1 | # Authors 2 | 3 | * Bjoern Schiessle: 4 | * Frank Karlitschek: 5 | -------------------------------------------------------------------------------- /tests/data/freebsd_swapinfo: -------------------------------------------------------------------------------- 1 | Device 1K-blocks Used Avail Capacity 2 | /dev/ada0p3 3744300 0 3744300 0% 3 | -------------------------------------------------------------------------------- /l10n/lo.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "ບໍ່ຊັບຟອດ", 3 | "Press Ctrl-C to copy." : "ກົດ Ctrl-C ເພື່ອ copy", 4 | "Shares" : "ການແບ່ງປັນ", 5 | "Copy" : "ສຳເນົາ" 6 | },"pluralForm" :"nplurals=1; plural=0;" 7 | } -------------------------------------------------------------------------------- /l10n/lo.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo", 3 | { 4 | "Not supported!" : "ບໍ່ຊັບຟອດ", 5 | "Press Ctrl-C to copy." : "ກົດ Ctrl-C ເພື່ອ copy", 6 | "Shares" : "ການແບ່ງປັນ", 7 | "Copy" : "ສຳເນົາ" 8 | }, 9 | "nplurals=1; plural=0;"); 10 | -------------------------------------------------------------------------------- /l10n/an.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "No suportau!", 3 | "Press ⌘-C to copy." : "Pretar ⌘-C pa copiar.", 4 | "Press Ctrl-C to copy." : "Pretar Ctrl-C pa copiar.", 5 | "System" : "Sistema" 6 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 7 | } -------------------------------------------------------------------------------- /l10n/km.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Press ⌘-C to copy." : " ចុច ⌘-C ដើម្បីចម្លង", 3 | "Press Ctrl-C to copy." : "ចុច Ctrl-C ដើម្បីចម្លង", 4 | "Size:" : "ទំហំ៖", 5 | "Shares" : "ចែក​រំលែក", 6 | "Type:" : "ប្រភេទ៖" 7 | },"pluralForm" :"nplurals=1; plural=0;" 8 | } -------------------------------------------------------------------------------- /l10n/my.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "အထောက်အပံ့ မပြု!", 3 | "Press ⌘-C to copy." : "ကူးယူရန်အတွက် ⌘-C ကိုနှိပ်ပါ။", 4 | "Press Ctrl-C to copy." : "ကူးယူရန်အတွက် Ctrl-C ကိုနှိပ်ပါ။", 5 | "Copy" : "ကူးယူပါ" 6 | },"pluralForm" :"nplurals=1; plural=0;" 7 | } -------------------------------------------------------------------------------- /l10n/uz.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Not supported!", 3 | "Press ⌘-C to copy." : "Press ⌘-C to copy.", 4 | "Press Ctrl-C to copy." : "Press Ctrl-C to copy.", 5 | "System" : "System", 6 | "Copy" : "Copy" 7 | },"pluralForm" :"nplurals=1; plural=0;" 8 | } -------------------------------------------------------------------------------- /l10n/an.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo", 3 | { 4 | "Not supported!" : "No suportau!", 5 | "Press ⌘-C to copy." : "Pretar ⌘-C pa copiar.", 6 | "Press Ctrl-C to copy." : "Pretar Ctrl-C pa copiar.", 7 | "System" : "Sistema" 8 | }, 9 | "nplurals=2; plural=(n != 1);"); 10 | -------------------------------------------------------------------------------- /l10n/km.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Press ⌘-C to copy." : " ចុច ⌘-C ដើម្បីចម្លង", 5 | "Press Ctrl-C to copy." : "ចុច Ctrl-C ដើម្បីចម្លង", 6 | "Size:" : "ទំហំ៖", 7 | "Shares" : "ចែក​រំលែក", 8 | "Type:" : "ប្រភេទ៖" 9 | }, 10 | "nplurals=1; plural=0;"); 11 | -------------------------------------------------------------------------------- /l10n/my.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo", 3 | { 4 | "Not supported!" : "အထောက်အပံ့ မပြု!", 5 | "Press ⌘-C to copy." : "ကူးယူရန်အတွက် ⌘-C ကိုနှိပ်ပါ။", 6 | "Press Ctrl-C to copy." : "ကူးယူရန်အတွက် Ctrl-C ကိုနှိပ်ပါ။", 7 | "Copy" : "ကူးယူပါ" 8 | }, 9 | "nplurals=1; plural=0;"); 10 | -------------------------------------------------------------------------------- /l10n/ps.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "د کار نه کېږي", 3 | "Press ⌘-C to copy." : "د کاپي لپاره د ⌘-C تڼۍ کېکاږئ.", 4 | "Press Ctrl-C to copy." : "د کاپي لپاره د Ctrl-C تڼۍ کېکاږئ.", 5 | "Shares" : "شريک شوي", 6 | "Copy" : "کاپي کول" 7 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 8 | } -------------------------------------------------------------------------------- /l10n/uz.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Not supported!", 5 | "Press ⌘-C to copy." : "Press ⌘-C to copy.", 6 | "Press Ctrl-C to copy." : "Press Ctrl-C to copy.", 7 | "System" : "System", 8 | "Copy" : "Copy" 9 | }, 10 | "nplurals=1; plural=0;"); 11 | -------------------------------------------------------------------------------- /l10n/kab.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Ur yettusefrak ara!", 3 | "Press ⌘-C to copy." : "Senned ɣef ⌘-C akken ad tneɣleḍ.", 4 | "Press Ctrl-C to copy." : "Senned ɣef Ctrl-C akken ad tneɣleḍ.", 5 | "Temperature" : "Lḥamu", 6 | "Copy" : "Nɣel" 7 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 8 | } -------------------------------------------------------------------------------- /l10n/ms_MY.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Tidak menyokong!", 3 | "Press ⌘-C to copy." : "Tekan ⌘-C untuk menyalin.", 4 | "Press Ctrl-C to copy." : "Tekan Ctrl-C untuk menyalin.", 5 | "Size:" : "Saiz", 6 | "Shares" : "Kongsi", 7 | "Type:" : "Jenis" 8 | },"pluralForm" :"nplurals=1; plural=0;" 9 | } -------------------------------------------------------------------------------- /l10n/si.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "සහාය නොදක්වයි!", 3 | "Press ⌘-C to copy." : "පිටපත් කිරීමට ⌘-C ඔබන්න.", 4 | "Press Ctrl-C to copy." : "පිටපත් කිරීමට Ctrl-C ඔබන්න.", 5 | "System" : "පද්ධතිය", 6 | "Shares" : "බෙදාගැනීම්", 7 | "Copy" : "පිටපත්" 8 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 9 | } -------------------------------------------------------------------------------- /l10n/hy.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Չի՛ սպասարկվում։", 3 | "Press ⌘-C to copy." : "Սեղմել ⌘-C պատճենելու համար։", 4 | "Press Ctrl-C to copy." : "Սեղմել Ctrl-C պատճենելու համար։", 5 | "Size:" : "Չափս.", 6 | "Type:" : "Տիպ.", 7 | "Copy" : "պատճենահանել" 8 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 9 | } -------------------------------------------------------------------------------- /l10n/lb.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Nët ennerstëtzt!", 3 | "Press ⌘-C to copy." : "Dréck ⌘-C fir ze kopéieren.", 4 | "Press Ctrl-C to copy." : "Dréck CTRL-C fir ze kopéieren.", 5 | "Temperature" : "Temperatur", 6 | "Size:" : "Gréisst:", 7 | "Type:" : "Typ:" 8 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 9 | } -------------------------------------------------------------------------------- /l10n/kab.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo", 3 | { 4 | "Not supported!" : "Ur yettusefrak ara!", 5 | "Press ⌘-C to copy." : "Senned ɣef ⌘-C akken ad tneɣleḍ.", 6 | "Press Ctrl-C to copy." : "Senned ɣef Ctrl-C akken ad tneɣleḍ.", 7 | "Temperature" : "Lḥamu", 8 | "Copy" : "Nɣel" 9 | }, 10 | "nplurals=2; plural=(n != 1);"); 11 | -------------------------------------------------------------------------------- /l10n/ps.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "د کار نه کېږي", 5 | "Press ⌘-C to copy." : "د کاپي لپاره د ⌘-C تڼۍ کېکاږئ.", 6 | "Press Ctrl-C to copy." : "د کاپي لپاره د Ctrl-C تڼۍ کېکاږئ.", 7 | "Shares" : "شريک شوي", 8 | "Copy" : "کاپي کول" 9 | }, 10 | "nplurals=2; plural=(n != 1);"); 11 | -------------------------------------------------------------------------------- /l10n/ms_MY.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Tidak menyokong!", 5 | "Press ⌘-C to copy." : "Tekan ⌘-C untuk menyalin.", 6 | "Press Ctrl-C to copy." : "Tekan Ctrl-C untuk menyalin.", 7 | "Size:" : "Saiz", 8 | "Shares" : "Kongsi", 9 | "Type:" : "Jenis" 10 | }, 11 | "nplurals=1; plural=0;"); 12 | -------------------------------------------------------------------------------- /l10n/bn_BD.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "সমর্থিত নয়! ", 3 | "Press ⌘-C to copy." : "অনুলিপি করতে ⌘-C টিপুন।", 4 | "Press Ctrl-C to copy." : "অনুলিপি করতে Ctrl-C টিপুন।", 5 | "Temperature" : "তাপমাত্রা", 6 | "Size:" : "আয়তনঃ", 7 | "Shares" : "ভাগাভাগি", 8 | "Type:" : "ধরণঃ" 9 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 10 | } -------------------------------------------------------------------------------- /l10n/si.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "සහාය නොදක්වයි!", 5 | "Press ⌘-C to copy." : "පිටපත් කිරීමට ⌘-C ඔබන්න.", 6 | "Press Ctrl-C to copy." : "පිටපත් කිරීමට Ctrl-C ඔබන්න.", 7 | "System" : "පද්ධතිය", 8 | "Shares" : "බෙදාගැනීම්", 9 | "Copy" : "පිටපත්" 10 | }, 11 | "nplurals=2; plural=(n != 1);"); 12 | -------------------------------------------------------------------------------- /l10n/hy.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Չի՛ սպասարկվում։", 5 | "Press ⌘-C to copy." : "Սեղմել ⌘-C պատճենելու համար։", 6 | "Press Ctrl-C to copy." : "Սեղմել Ctrl-C պատճենելու համար։", 7 | "Size:" : "Չափս.", 8 | "Type:" : "Տիպ.", 9 | "Copy" : "պատճենահանել" 10 | }, 11 | "nplurals=2; plural=(n != 1);"); 12 | -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- 1 | getFinder() 12 | ->ignoreVCSIgnored(true) 13 | ->notPath('build') 14 | ->notPath('l10n') 15 | ->notPath('src') 16 | ->notPath('vendor') 17 | ->in(__DIR__); 18 | return $config; 19 | -------------------------------------------------------------------------------- /l10n/az.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Dəstəklənmir!", 3 | "Press ⌘-C to copy." : "Kopyalamaq üçün ⌘-C basın.", 4 | "Press Ctrl-C to copy." : "Kopyalamaq üçün Ctrl-C basın.", 5 | "System" : "Sistem", 6 | "Size:" : "Həcm:", 7 | "Shares" : "Yayımlanmalar", 8 | "Type:" : "Tip:", 9 | "Copy" : "Kopyala" 10 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 11 | } -------------------------------------------------------------------------------- /l10n/bn_BD.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "সমর্থিত নয়! ", 5 | "Press ⌘-C to copy." : "অনুলিপি করতে ⌘-C টিপুন।", 6 | "Press Ctrl-C to copy." : "অনুলিপি করতে Ctrl-C টিপুন।", 7 | "Temperature" : "তাপমাত্রা", 8 | "Size:" : "আয়তনঃ", 9 | "Shares" : "ভাগাভাগি", 10 | "Type:" : "ধরণঃ" 11 | }, 12 | "nplurals=2; plural=(n != 1);"); 13 | -------------------------------------------------------------------------------- /l10n/sr@latin.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Није подржано!", 3 | "Press ⌘-C to copy." : "Притисни ⌘-C за копирање.", 4 | "Press Ctrl-C to copy." : "Притисни Ctrl-C за копирање.", 5 | "Size:" : "Veličina:", 6 | "Type:" : "Tip:", 7 | "Copy" : "Kopiraj" 8 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" 9 | } -------------------------------------------------------------------------------- /l10n/th.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "ไม่สนับสนุน", 3 | "Press ⌘-C to copy." : "กด ⌘-C เพื่อคัดลอก", 4 | "Press Ctrl-C to copy." : "กด Ctrl-C เพื่อคัดลอก", 5 | "System" : "ระบบ", 6 | "Size:" : "ขนาด:", 7 | "Active users" : "ผู้ใช้ที่ใช้งานอยู่", 8 | "Shares" : "การแชร์", 9 | "Type:" : "ชนิด:", 10 | "Copy" : "คัดลอก" 11 | },"pluralForm" :"nplurals=1; plural=0;" 12 | } -------------------------------------------------------------------------------- /l10n/az.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Dəstəklənmir!", 5 | "Press ⌘-C to copy." : "Kopyalamaq üçün ⌘-C basın.", 6 | "Press Ctrl-C to copy." : "Kopyalamaq üçün Ctrl-C basın.", 7 | "System" : "Sistem", 8 | "Size:" : "Həcm:", 9 | "Shares" : "Yayımlanmalar", 10 | "Type:" : "Tip:", 11 | "Copy" : "Kopyala" 12 | }, 13 | "nplurals=2; plural=(n != 1);"); 14 | -------------------------------------------------------------------------------- /l10n/ast.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡Nun ye compatible!", 3 | "Press ⌘-C to copy." : "Primi ⌘-C pa copiar.", 4 | "Press Ctrl-C to copy." : "Primi Ctrl-C pa copiar.", 5 | "Size:" : "Tamañu.", 6 | "Files:" : "Ficheros:", 7 | "1 hour:" : "1 hora", 8 | "PHP" : "PHP", 9 | "Version:" : "Versión:", 10 | "Database" : "Base de datos" 11 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 12 | } -------------------------------------------------------------------------------- /tests/data/freebsd_interface_epair0b: -------------------------------------------------------------------------------- 1 | epair0b: flags=8843 metric 0 mtu 1500 2 | options=8 3 | ether 1a:c0:4d:ba:b5:82 4 | hwaddr 02:60:e8:04:f6:0b 5 | inet 192.168.178.150 netmask 0xffffff00 broadcast 192.168.178.255 6 | groups: epair 7 | media: Ethernet 10Gbase-T (10Gbase-T ) 8 | status: active 9 | nd6 options=1 -------------------------------------------------------------------------------- /tests/data/truenas_core_swapinfo: -------------------------------------------------------------------------------- 1 | Device 1K-blocks Used Avail Capacity 2 | /dev/mirror/swap0.eli 2097152 0 2097152 0% 3 | /dev/mirror/swap1.eli 2097152 0 2097152 0% 4 | /dev/mirror/swap2.eli 2097152 0 2097152 0% 5 | /dev/mirror/swap3.eli 16777216 0 16777216 0% 6 | /dev/mirror/swap4.eli 2097152 0 2097152 0% 7 | Total 25165824 0 25165824 0% 8 | -------------------------------------------------------------------------------- /l10n/oc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Pas pres en carga !", 3 | "Press ⌘-C to copy." : "Quichar ⌘-C per copiar.", 4 | "Press Ctrl-C to copy." : "Quichar Ctrl-C per copiar.", 5 | "Size:" : "Talha :", 6 | "Active users" : "Utilizaires actius", 7 | "Shares" : "Partatges", 8 | "PHP" : "PHP", 9 | "Type:" : "Tipe :", 10 | "Copy" : "Copiar" 11 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 12 | } -------------------------------------------------------------------------------- /l10n/ro.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Nu este suportat!", 3 | "Press ⌘-C to copy." : "Apasă ⌘-C pentru copiere.", 4 | "Press Ctrl-C to copy." : "Apasă Ctrl-C pentru copiere.", 5 | "System" : "Sistem", 6 | "Size:" : "Mărime:", 7 | "Shares" : "Partajări", 8 | "Type:" : "Tip:", 9 | "Copy" : "Copiază" 10 | },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" 11 | } -------------------------------------------------------------------------------- /img/app.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /l10n/sr@latin.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Није подржано!", 5 | "Press ⌘-C to copy." : "Притисни ⌘-C за копирање.", 6 | "Press Ctrl-C to copy." : "Притисни Ctrl-C за копирање.", 7 | "Size:" : "Veličina:", 8 | "Type:" : "Tip:", 9 | "Copy" : "Kopiraj" 10 | }, 11 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); 12 | -------------------------------------------------------------------------------- /l10n/th.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "ไม่สนับสนุน", 5 | "Press ⌘-C to copy." : "กด ⌘-C เพื่อคัดลอก", 6 | "Press Ctrl-C to copy." : "กด Ctrl-C เพื่อคัดลอก", 7 | "System" : "ระบบ", 8 | "Size:" : "ขนาด:", 9 | "Active users" : "ผู้ใช้ที่ใช้งานอยู่", 10 | "Shares" : "การแชร์", 11 | "Type:" : "ชนิด:", 12 | "Copy" : "คัดลอก" 13 | }, 14 | "nplurals=1; plural=0;"); 15 | -------------------------------------------------------------------------------- /img/app-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /l10n/ast.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡Nun ye compatible!", 5 | "Press ⌘-C to copy." : "Primi ⌘-C pa copiar.", 6 | "Press Ctrl-C to copy." : "Primi Ctrl-C pa copiar.", 7 | "Size:" : "Tamañu.", 8 | "Files:" : "Ficheros:", 9 | "1 hour:" : "1 hora", 10 | "PHP" : "PHP", 11 | "Version:" : "Versión:", 12 | "Database" : "Base de datos" 13 | }, 14 | "nplurals=2; plural=(n != 1);"); 15 | -------------------------------------------------------------------------------- /l10n/oc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Pas pres en carga !", 5 | "Press ⌘-C to copy." : "Quichar ⌘-C per copiar.", 6 | "Press Ctrl-C to copy." : "Quichar Ctrl-C per copiar.", 7 | "Size:" : "Talha :", 8 | "Active users" : "Utilizaires actius", 9 | "Shares" : "Partatges", 10 | "PHP" : "PHP", 11 | "Type:" : "Tipe :", 12 | "Copy" : "Copiar" 13 | }, 14 | "nplurals=2; plural=(n > 1);"); 15 | -------------------------------------------------------------------------------- /l10n/ro.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Nu este suportat!", 5 | "Press ⌘-C to copy." : "Apasă ⌘-C pentru copiere.", 6 | "Press Ctrl-C to copy." : "Apasă Ctrl-C pentru copiere.", 7 | "System" : "Sistem", 8 | "Size:" : "Mărime:", 9 | "Shares" : "Partajări", 10 | "Type:" : "Tip:", 11 | "Copy" : "Copiază" 12 | }, 13 | "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); 14 | -------------------------------------------------------------------------------- /l10n/be.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Не падтрымліваецца!", 3 | "Press ⌘-C to copy." : "Націсніце ⌘-C для капіявання.", 4 | "Press Ctrl-C to copy." : "Націсніце Ctrl-C для капіявання.", 5 | "Size:" : "Памер:", 6 | "Type:" : "Тып:", 7 | "Copy" : "Капіяваць" 8 | },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" 9 | } -------------------------------------------------------------------------------- /l10n/be.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo", 3 | { 4 | "Not supported!" : "Не падтрымліваецца!", 5 | "Press ⌘-C to copy." : "Націсніце ⌘-C для капіявання.", 6 | "Press Ctrl-C to copy." : "Націсніце Ctrl-C для капіявання.", 7 | "Size:" : "Памер:", 8 | "Type:" : "Тып:", 9 | "Copy" : "Капіяваць" 10 | }, 11 | "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); 12 | -------------------------------------------------------------------------------- /l10n/af.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Word nie ondersteun nie!", 3 | "Press ⌘-C to copy." : "Druk ⌘-C om te kopieer.", 4 | "Press Ctrl-C to copy." : "Druk Ctrl-C om te kopieer.", 5 | "System" : "Stelsel", 6 | "Temperature" : "Temperatuur", 7 | "Size:" : "Grootte:", 8 | "Files:" : "Lêers", 9 | "Active users" : "Aktiewe gebruikers", 10 | "Users:" : "Gebruikers:", 11 | "PHP" : "PHP", 12 | "Version:" : "Weergawe:", 13 | "Database" : "Databasis", 14 | "Type:" : "Tipe:", 15 | "Copy" : "Kopieer" 16 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 17 | } -------------------------------------------------------------------------------- /l10n/af.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Word nie ondersteun nie!", 5 | "Press ⌘-C to copy." : "Druk ⌘-C om te kopieer.", 6 | "Press Ctrl-C to copy." : "Druk Ctrl-C om te kopieer.", 7 | "System" : "Stelsel", 8 | "Temperature" : "Temperatuur", 9 | "Size:" : "Grootte:", 10 | "Files:" : "Lêers", 11 | "Active users" : "Aktiewe gebruikers", 12 | "Users:" : "Gebruikers:", 13 | "PHP" : "PHP", 14 | "Version:" : "Weergawe:", 15 | "Database" : "Databasis", 16 | "Type:" : "Tipe:", 17 | "Copy" : "Kopieer" 18 | }, 19 | "nplurals=2; plural=(n != 1);"); 20 | -------------------------------------------------------------------------------- /l10n/mn.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Дэмжигдэхгүй", 3 | "Press ⌘-C to copy." : "Хуулахын тулд ⌘-C дарна уу.", 4 | "Press Ctrl-C to copy." : "Хуулахын тулд Ctrl-C дарна уу.", 5 | "System" : "сисмем", 6 | "Monitoring" : "Хяналт", 7 | "Size:" : "Хэмжээ:", 8 | "Files:" : "Файлууд:", 9 | "Active users" : "Идэвхтэй хэрэглэгчид", 10 | "Shares" : "Түгээлтүүд", 11 | "Users:" : "Хэрэглэгчид:", 12 | "PHP" : "PHP", 13 | "Version:" : "Хувилбар:", 14 | "Database" : "Өгөгдлийн сан", 15 | "Type:" : "Төрөл:", 16 | "Copy" : "Хуулах" 17 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 18 | } -------------------------------------------------------------------------------- /l10n/br.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Diembreget eo ! ", 3 | "Press ⌘-C to copy." : "Pouezañ war ⌘-C evit eilañ. ", 4 | "Press Ctrl-C to copy." : "Pouezañ war Ctrl-C evit eilañ. ", 5 | "System" : "Sistem", 6 | "Network" : "Rouedad", 7 | "Shares" : "Rannañ", 8 | "Copy" : "Eilañ" 9 | },"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);" 10 | } -------------------------------------------------------------------------------- /l10n/mn.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Дэмжигдэхгүй", 5 | "Press ⌘-C to copy." : "Хуулахын тулд ⌘-C дарна уу.", 6 | "Press Ctrl-C to copy." : "Хуулахын тулд Ctrl-C дарна уу.", 7 | "System" : "сисмем", 8 | "Monitoring" : "Хяналт", 9 | "Size:" : "Хэмжээ:", 10 | "Files:" : "Файлууд:", 11 | "Active users" : "Идэвхтэй хэрэглэгчид", 12 | "Shares" : "Түгээлтүүд", 13 | "Users:" : "Хэрэглэгчид:", 14 | "PHP" : "PHP", 15 | "Version:" : "Хувилбар:", 16 | "Database" : "Өгөгдлийн сан", 17 | "Type:" : "Төрөл:", 18 | "Copy" : "Хуулах" 19 | }, 20 | "nplurals=2; plural=(n != 1);"); 21 | -------------------------------------------------------------------------------- /l10n/br.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Diembreget eo ! ", 5 | "Press ⌘-C to copy." : "Pouezañ war ⌘-C evit eilañ. ", 6 | "Press Ctrl-C to copy." : "Pouezañ war Ctrl-C evit eilañ. ", 7 | "System" : "Sistem", 8 | "Network" : "Rouedad", 9 | "Shares" : "Rannañ", 10 | "Copy" : "Eilañ" 11 | }, 12 | "nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"); 13 | -------------------------------------------------------------------------------- /l10n/nn_NO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Ikkje støtta!", 3 | "Press ⌘-C to copy." : "Trykk ⌘-C for å kopiere.", 4 | "Press Ctrl-C to copy." : "Trykk Ctrl-C for å kopiere.", 5 | "System" : "System", 6 | "Monitoring" : "Overvåker", 7 | "Size:" : "Storleik:", 8 | "Files:" : "Filar:", 9 | "Active users" : "Aktive brukarare", 10 | "Shares" : "Delingar", 11 | "Users:" : "Brukarare:", 12 | "Upload max size:" : "Maks opplastning storleik:", 13 | "Database" : "Database", 14 | "Type:" : "Type:", 15 | "External monitoring tool" : "Eksternt monoitor verktøy", 16 | "Copy" : "Kopier" 17 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 18 | } -------------------------------------------------------------------------------- /l10n/nn_NO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Ikkje støtta!", 5 | "Press ⌘-C to copy." : "Trykk ⌘-C for å kopiere.", 6 | "Press Ctrl-C to copy." : "Trykk Ctrl-C for å kopiere.", 7 | "System" : "System", 8 | "Monitoring" : "Overvåker", 9 | "Size:" : "Storleik:", 10 | "Files:" : "Filar:", 11 | "Active users" : "Aktive brukarare", 12 | "Shares" : "Delingar", 13 | "Users:" : "Brukarare:", 14 | "Upload max size:" : "Maks opplastning storleik:", 15 | "Database" : "Database", 16 | "Type:" : "Type:", 17 | "External monitoring tool" : "Eksternt monoitor verktøy", 18 | "Copy" : "Kopier" 19 | }, 20 | "nplurals=2; plural=(n != 1);"); 21 | -------------------------------------------------------------------------------- /l10n/ia.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Non supportate!", 3 | "Press ⌘-C to copy." : "Pulsa ⌘-C pro copiar.", 4 | "Press Ctrl-C to copy." : "Pulsa Ctrl-C pro copiar.", 5 | "System" : "Systema", 6 | "Monitoring" : "Controlante", 7 | "Size:" : "Dimension:", 8 | "Files:" : "Files:", 9 | "Active users" : "Usatores active", 10 | "Shares" : "Compartimentos", 11 | "Users:" : "Usatores:", 12 | "PHP" : "PHP", 13 | "Version:" : "Version:", 14 | "Upload max size:" : "Dimension maxime de incarga:", 15 | "Database" : "Base de datos", 16 | "Type:" : "Typo:", 17 | "External monitoring tool" : "Instrumento de controlo externe", 18 | "Copy" : "Copiar" 19 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 20 | } -------------------------------------------------------------------------------- /l10n/id.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Tidak didukung!", 3 | "Press ⌘-C to copy." : "Tekan ⌘-C untuk menyalin.", 4 | "Press Ctrl-C to copy." : "Tekan CTRL-C untuk menyalin.", 5 | "System" : "Sistem", 6 | "Monitoring" : "Pemantauan", 7 | "Temperature" : "Suhu", 8 | "Size:" : "Ukuran:", 9 | "Files:" : "Berkas:", 10 | "Active users" : "Pengguna aktif", 11 | "Shares" : "Dibagikan", 12 | "Users:" : "Pengguna:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versi:", 15 | "Upload max size:" : "Ukuran maksimal unggah", 16 | "Database" : "Database", 17 | "Type:" : "Tipe", 18 | "External monitoring tool" : "Alat pemantauan eksternal", 19 | "Copy" : "Salin" 20 | },"pluralForm" :"nplurals=1; plural=0;" 21 | } -------------------------------------------------------------------------------- /l10n/ia.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Non supportate!", 5 | "Press ⌘-C to copy." : "Pulsa ⌘-C pro copiar.", 6 | "Press Ctrl-C to copy." : "Pulsa Ctrl-C pro copiar.", 7 | "System" : "Systema", 8 | "Monitoring" : "Controlante", 9 | "Size:" : "Dimension:", 10 | "Files:" : "Files:", 11 | "Active users" : "Usatores active", 12 | "Shares" : "Compartimentos", 13 | "Users:" : "Usatores:", 14 | "PHP" : "PHP", 15 | "Version:" : "Version:", 16 | "Upload max size:" : "Dimension maxime de incarga:", 17 | "Database" : "Base de datos", 18 | "Type:" : "Typo:", 19 | "External monitoring tool" : "Instrumento de controlo externe", 20 | "Copy" : "Copiar" 21 | }, 22 | "nplurals=2; plural=(n != 1);"); 23 | -------------------------------------------------------------------------------- /l10n/id.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Tidak didukung!", 5 | "Press ⌘-C to copy." : "Tekan ⌘-C untuk menyalin.", 6 | "Press Ctrl-C to copy." : "Tekan CTRL-C untuk menyalin.", 7 | "System" : "Sistem", 8 | "Monitoring" : "Pemantauan", 9 | "Temperature" : "Suhu", 10 | "Size:" : "Ukuran:", 11 | "Files:" : "Berkas:", 12 | "Active users" : "Pengguna aktif", 13 | "Shares" : "Dibagikan", 14 | "Users:" : "Pengguna:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versi:", 17 | "Upload max size:" : "Ukuran maksimal unggah", 18 | "Database" : "Database", 19 | "Type:" : "Tipe", 20 | "External monitoring tool" : "Alat pemantauan eksternal", 21 | "Copy" : "Salin" 22 | }, 23 | "nplurals=1; plural=0;"); 24 | -------------------------------------------------------------------------------- /l10n/sq.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "Nuk mbështetet!", 3 | "Press ⌘-C to copy." : "Shtyp ⌘-C për të kopjuar.", 4 | "Press Ctrl-C to copy." : "Shtyp Ctrl-C për të kopjuar", 5 | "System" : "Sistem", 6 | "Monitoring" : "Vëzhgim", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Madhësia:", 9 | "Files:" : "Skedarët: ", 10 | "Active users" : "Përdoruesit aktivë", 11 | "Shares" : "Shpërndarje", 12 | "Users:" : "Përdoruesit:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versioni: ", 15 | "Upload max size:" : "Ngarkoni madhësinë maksimale: ", 16 | "Database" : "Databazë", 17 | "Type:" : "Lloji:", 18 | "External monitoring tool" : "Mjet i kontrollit të jashtëm", 19 | "Copy" : "Kopjo" 20 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 21 | } -------------------------------------------------------------------------------- /l10n/ka_GE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "არაა მხარდაჭერილი", 3 | "Press ⌘-C to copy." : "კოპირებისთვის დააჭირეთ ⌘-C-ს.", 4 | "Press Ctrl-C to copy." : "კოპირებისთვის დააჭირეთ Ctrl-C-ს.", 5 | "System" : "სისტემა", 6 | "Monitoring" : "მონიტორინგი", 7 | "Temperature" : "ტემპერატურა", 8 | "Size:" : "ზომა:", 9 | "Files:" : "ფაილები", 10 | "Active users" : "აქტიური მომხმარებლები", 11 | "Shares" : "გაზიარებები", 12 | "Users:" : "მომხმარებლები:", 13 | "PHP" : "PHP", 14 | "Version:" : "ვერსია:", 15 | "Upload max size:" : "ატვირთვის მაქს. ზომა:", 16 | "Database" : "მონაცემთა ბაზა", 17 | "Type:" : "ტიპი:", 18 | "External monitoring tool" : "გარე მონიტორინგის ხელსაწყო", 19 | "Copy" : "კოპირება" 20 | },"pluralForm" :"nplurals=2; plural=(n!=1);" 21 | } -------------------------------------------------------------------------------- /l10n/sq.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "Nuk mbështetet!", 5 | "Press ⌘-C to copy." : "Shtyp ⌘-C për të kopjuar.", 6 | "Press Ctrl-C to copy." : "Shtyp Ctrl-C për të kopjuar", 7 | "System" : "Sistem", 8 | "Monitoring" : "Vëzhgim", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Madhësia:", 11 | "Files:" : "Skedarët: ", 12 | "Active users" : "Përdoruesit aktivë", 13 | "Shares" : "Shpërndarje", 14 | "Users:" : "Përdoruesit:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versioni: ", 17 | "Upload max size:" : "Ngarkoni madhësinë maksimale: ", 18 | "Database" : "Databazë", 19 | "Type:" : "Lloji:", 20 | "External monitoring tool" : "Mjet i kontrollit të jashtëm", 21 | "Copy" : "Kopjo" 22 | }, 23 | "nplurals=2; plural=(n != 1);"); 24 | -------------------------------------------------------------------------------- /l10n/ka_GE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "არაა მხარდაჭერილი", 5 | "Press ⌘-C to copy." : "კოპირებისთვის დააჭირეთ ⌘-C-ს.", 6 | "Press Ctrl-C to copy." : "კოპირებისთვის დააჭირეთ Ctrl-C-ს.", 7 | "System" : "სისტემა", 8 | "Monitoring" : "მონიტორინგი", 9 | "Temperature" : "ტემპერატურა", 10 | "Size:" : "ზომა:", 11 | "Files:" : "ფაილები", 12 | "Active users" : "აქტიური მომხმარებლები", 13 | "Shares" : "გაზიარებები", 14 | "Users:" : "მომხმარებლები:", 15 | "PHP" : "PHP", 16 | "Version:" : "ვერსია:", 17 | "Upload max size:" : "ატვირთვის მაქს. ზომა:", 18 | "Database" : "მონაცემთა ბაზა", 19 | "Type:" : "ტიპი:", 20 | "External monitoring tool" : "გარე მონიტორინგის ხელსაწყო", 21 | "Copy" : "კოპირება" 22 | }, 23 | "nplurals=2; plural=(n!=1);"); 24 | -------------------------------------------------------------------------------- /l10n/es_AR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presione ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presione Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de montoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_419.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar. ", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_CL.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_CO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_CR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_DO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_GT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_HN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_NI.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_PA.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_PE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_PR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_PY.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_SV.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_UY.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Not supported!" : "¡No soportado!", 3 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 4 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 5 | "System" : "Sistema", 6 | "Monitoring" : "Monitoreo", 7 | "Temperature" : "Temperatura", 8 | "Size:" : "Tamaño:", 9 | "Files:" : "Archivos:", 10 | "Active users" : "Usuarios activos", 11 | "Shares" : "Elementos compartido", 12 | "Users:" : "Usuarios:", 13 | "PHP" : "PHP", 14 | "Version:" : "Versión:", 15 | "Upload max size:" : "Tamaño máximo de carga:", 16 | "Database" : "Base de datos", 17 | "Type:" : "Tipo:", 18 | "External monitoring tool" : "Herramienta de monitoreo externa", 19 | "Copy" : "Copiar" 20 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 21 | } -------------------------------------------------------------------------------- /l10n/es_419.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar. ", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_AR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presione ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presione Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de montoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_CL.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_CO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_CR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_DO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_GT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_HN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_NI.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_PA.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_PE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_PR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_PY.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_SV.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /l10n/es_UY.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "Not supported!" : "¡No soportado!", 5 | "Press ⌘-C to copy." : "Presiona ⌘-C para copiar.", 6 | "Press Ctrl-C to copy." : "Presiona Ctrl-C para copiar.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Monitoreo", 9 | "Temperature" : "Temperatura", 10 | "Size:" : "Tamaño:", 11 | "Files:" : "Archivos:", 12 | "Active users" : "Usuarios activos", 13 | "Shares" : "Elementos compartido", 14 | "Users:" : "Usuarios:", 15 | "PHP" : "PHP", 16 | "Version:" : "Versión:", 17 | "Upload max size:" : "Tamaño máximo de carga:", 18 | "Database" : "Base de datos", 19 | "Type:" : "Tipo:", 20 | "External monitoring tool" : "Herramienta de monitoreo externa", 21 | "Copy" : "Copiar" 22 | }, 23 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 24 | -------------------------------------------------------------------------------- /tests/data/linux_cpuinfo_pi4b: -------------------------------------------------------------------------------- 1 | processor : 0 2 | BogoMIPS : 108.00 3 | Features : fp asimd evtstrm crc32 cpuid 4 | CPU implementer : 0x41 5 | CPU architecture: 8 6 | CPU variant : 0x0 7 | CPU part : 0xd08 8 | CPU revision : 3 9 | 10 | processor : 1 11 | BogoMIPS : 108.00 12 | Features : fp asimd evtstrm crc32 cpuid 13 | CPU implementer : 0x41 14 | CPU architecture: 8 15 | CPU variant : 0x0 16 | CPU part : 0xd08 17 | CPU revision : 3 18 | 19 | processor : 2 20 | BogoMIPS : 108.00 21 | Features : fp asimd evtstrm crc32 cpuid 22 | CPU implementer : 0x41 23 | CPU architecture: 8 24 | CPU variant : 0x0 25 | CPU part : 0xd08 26 | CPU revision : 3 27 | 28 | processor : 3 29 | BogoMIPS : 108.00 30 | Features : fp asimd evtstrm crc32 cpuid 31 | CPU implementer : 0x41 32 | CPU architecture: 8 33 | CPU variant : 0x0 34 | CPU part : 0xd08 35 | CPU revision : 3 36 | 37 | Hardware : BCM2835 38 | Revision : c03112 39 | Serial : 10000000300d5b9e 40 | Model : Raspberry Pi 4 Model B Rev 1.2 41 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require-dev": { 3 | "nextcloud/coding-standard": "^1.0.0", 4 | "psalm/phar": "^5.13", 5 | "bantu/ini-get-wrapper": "v1.0.1", 6 | "phpunit/phpunit": "^9.5", 7 | "nextcloud/ocp": "dev-master" 8 | }, 9 | "scripts": { 10 | "cs:check": "php-cs-fixer fix --dry-run --diff", 11 | "cs:fix": "php-cs-fixer fix", 12 | "psalm": "psalm.phar --threads=1", 13 | "psalm:update-baseline": "psalm.phar --threads=1 --update-baseline --set-baseline=tests/psalm-baseline.xml", 14 | "psalm:clear": "psalm.phar --clear-cache && psalm --clear-global-cache", 15 | "psalm:fix": "psalm.phar --alter --issues=InvalidReturnType,InvalidNullableReturnType,MissingParamType,InvalidFalsableReturnType", 16 | "lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l", 17 | "test:unit": "phpunit -c tests/phpunit.xml --fail-on-warning" 18 | }, 19 | "config": { 20 | "allow-plugins": { 21 | "composer/package-versions-deprecated": true 22 | }, 23 | "platform": { 24 | "php": "8.0" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /tests/phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ../../serverinfo_hetzner/lib 6 | 7 | 8 | ../../serverinfo_hetzner/l10n 9 | ../../serverinfo_hetzner/lists 10 | ../../serverinfo_hetzner/tests 11 | 12 | 13 | 14 | 15 | 16 | 17 | . 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /l10n/vi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Không lấy được thông tin CPU", 3 | "Load average: {cpu} (last minute)" : "Tải trung bình:{cpu} (phút trước)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: Tổng: {memTotalBytes}/Đang sử dụng: {memUsageBytes}", 5 | "RAM info not available" : "Không lấy được thông tin RAM", 6 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: Tổng: {swapTotalBytes}/Đang sử dụng: {swapUsageBytes}", 7 | "SWAP info not available" : "Không lấy được thông tin SWAP", 8 | "Not supported!" : "Không hỗ trợ!", 9 | "Press ⌘-C to copy." : "Bấm ⌘-C để sao chép.", 10 | "Press Ctrl-C to copy." : "Bấm Ctrl-C để sao chép.", 11 | "System" : "Hệ thống", 12 | "Monitoring" : "Giám sát", 13 | "Size:" : "Kích thước:", 14 | "Files:" : "Tệp tin:", 15 | "Active users" : "Người dùng hoạt động", 16 | "Shares" : "Chia sẻ", 17 | "Users:" : "Người dùng:", 18 | "PHP" : "PHP", 19 | "Version:" : "Phiên bản:", 20 | "Upload max size:" : "Kích thước Upload tối đa:", 21 | "Database" : "Cơ sở dữ liệu", 22 | "Type:" : "Loại:", 23 | "External monitoring tool" : "Công cụ giám sát ngoài", 24 | "Copy" : "Sao chép" 25 | },"pluralForm" :"nplurals=1; plural=0;" 26 | } -------------------------------------------------------------------------------- /tests/data/linux_net_get_interfaces.json: -------------------------------------------------------------------------------- 1 | { 2 | "lo": { 3 | "unicast": [ 4 | { 5 | "flags": 65609, 6 | "family": 17 7 | }, 8 | { 9 | "flags": 65609, 10 | "family": 2, 11 | "address": "127.0.0.1", 12 | "netmask": "255.0.0.0" 13 | }, 14 | { 15 | "flags": 65609, 16 | "family": 10, 17 | "address": "::1", 18 | "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff" 19 | } 20 | ], 21 | "up": true 22 | }, 23 | "eth0": { 24 | "unicast": [ 25 | { 26 | "flags": 69699, 27 | "family": 17 28 | }, 29 | { 30 | "flags": 69699, 31 | "family": 2, 32 | "address": "10.0.2.15", 33 | "netmask": "255.255.255.0", 34 | "broadcast": "10.0.2.255" 35 | }, 36 | { 37 | "flags": 69699, 38 | "family": 10, 39 | "address": "fe80::a00:27ff:fe91:f84b", 40 | "netmask": "ffff:ffff:ffff:ffff::" 41 | } 42 | ], 43 | "up": true 44 | } 45 | } -------------------------------------------------------------------------------- /l10n/vi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Không lấy được thông tin CPU", 5 | "Load average: {cpu} (last minute)" : "Tải trung bình:{cpu} (phút trước)", 6 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: Tổng: {memTotalBytes}/Đang sử dụng: {memUsageBytes}", 7 | "RAM info not available" : "Không lấy được thông tin RAM", 8 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: Tổng: {swapTotalBytes}/Đang sử dụng: {swapUsageBytes}", 9 | "SWAP info not available" : "Không lấy được thông tin SWAP", 10 | "Not supported!" : "Không hỗ trợ!", 11 | "Press ⌘-C to copy." : "Bấm ⌘-C để sao chép.", 12 | "Press Ctrl-C to copy." : "Bấm Ctrl-C để sao chép.", 13 | "System" : "Hệ thống", 14 | "Monitoring" : "Giám sát", 15 | "Size:" : "Kích thước:", 16 | "Files:" : "Tệp tin:", 17 | "Active users" : "Người dùng hoạt động", 18 | "Shares" : "Chia sẻ", 19 | "Users:" : "Người dùng:", 20 | "PHP" : "PHP", 21 | "Version:" : "Phiên bản:", 22 | "Upload max size:" : "Kích thước Upload tối đa:", 23 | "Database" : "Cơ sở dữ liệu", 24 | "Type:" : "Loại:", 25 | "External monitoring tool" : "Công cụ giám sát ngoài", 26 | "Copy" : "Sao chép" 27 | }, 28 | "nplurals=1; plural=0;"); 29 | -------------------------------------------------------------------------------- /tests/data/linux_df_tp: -------------------------------------------------------------------------------- 1 | Filesystem Type 1024-blocks Used Available Capacity Mounted on 2 | udev devtmpfs 4052408 0 4052408 0% /dev 3 | tmpfs tmpfs 816800 7592 809208 1% /run 4 | /dev/mapper/homestead--vg-root ext4 56422560 6205468 47321220 12% / 5 | tmpfs tmpfs 4084000 8 4083992 1% /dev/shm 6 | tmpfs tmpfs 5120 0 5120 0% /run/lock 7 | tmpfs tmpfs 4084000 0 4084000 0% /sys/fs/cgroup 8 | /dev/mapper/homestead--vg-mysql--master ext4 65531436 257212 61902400 1% /homestead-vg/master 9 | vagrant vboxsf 958123168 614831132 343292036 65% /vagrant 10 | home_vagrant_code vboxsf 958123168 614831132 343292036 65% /home/vagrant/code 11 | tmpfs tmpfs 816800 0 816800 0% /run/user/1000 12 | nfs.example.com:/export nfs4 14820 0 1230 0% /nfs 13 | 198.51.100.42:/storage fuse.sshfs 47929956 53116 45419052 1% /mnt/sshfs 14 | -------------------------------------------------------------------------------- /tests/data/linux_cpuinfo_pi3b: -------------------------------------------------------------------------------- 1 | processor : 0 2 | model name : ARMv7 Processor rev 4 (v7l) 3 | BogoMIPS : 38.40 4 | Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 5 | CPU implementer : 0x41 6 | CPU architecture: 7 7 | CPU variant : 0x0 8 | CPU part : 0xd03 9 | CPU revision : 4 10 | 11 | processor : 1 12 | model name : ARMv7 Processor rev 4 (v7l) 13 | BogoMIPS : 38.40 14 | Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 15 | CPU implementer : 0x41 16 | CPU architecture: 7 17 | CPU variant : 0x0 18 | CPU part : 0xd03 19 | CPU revision : 4 20 | 21 | processor : 2 22 | model name : ARMv7 Processor rev 4 (v7l) 23 | BogoMIPS : 38.40 24 | Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 25 | CPU implementer : 0x41 26 | CPU architecture: 7 27 | CPU variant : 0x0 28 | CPU part : 0xd03 29 | CPU revision : 4 30 | 31 | processor : 3 32 | model name : ARMv7 Processor rev 4 (v7l) 33 | BogoMIPS : 38.40 34 | Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 35 | CPU implementer : 0x41 36 | CPU architecture: 7 37 | CPU variant : 0x0 38 | CPU part : 0xd03 39 | CPU revision : 4 40 | 41 | Hardware : BCM2835 42 | Revision : a02082 43 | Serial : 000000001e625fa1 44 | Model : Raspberry Pi 3 Model B Rev 1.2 45 | -------------------------------------------------------------------------------- /l10n/ko.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "CPU 정보를 사용할 수 없음", 3 | "Not supported!" : "지원하지 않음!", 4 | "Press ⌘-C to copy." : "복사하려면 ⌘-C 키를 누르십시오.", 5 | "Press Ctrl-C to copy." : "복사하려면 Ctrl-C 키를 누르십시오.", 6 | "System" : "시스템", 7 | "Monitoring" : "모니터링", 8 | "Monitoring app with useful server information" : "서버 정보를 표시하는 모니터링 앱", 9 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "CPU 부하, RAM 사용, 디스크 사용, 사용자 수 등 유용한 서버 정보를 제공합니다.", 10 | "Temperature" : "기온", 11 | "Load" : "부하", 12 | "Memory" : "메모리", 13 | "Disk" : "디스크", 14 | "Size:" : "크기:", 15 | "Files:" : "파일:", 16 | "Storages:" : "저장소:", 17 | "Free Space:" : "남은 공간:", 18 | "Network" : "네트워크", 19 | "Active users" : "활성 사용자", 20 | "Total users:" : "총 사용자:", 21 | "Shares" : "공유", 22 | "Users:" : "사용자:", 23 | "PHP" : "PHP", 24 | "Version:" : "버전:", 25 | "Upload max size:" : "업로드 최대 크기:", 26 | "Database" : "데이터베이스", 27 | "Type:" : "종류:", 28 | "External monitoring tool" : "외부 모니터링 도구", 29 | "You can connect an external monitoring tool by using this end point:" : "이 종단점으로 외부 모니터링 도구에 연결할 수 있습니다:", 30 | "Copy" : "복사", 31 | "You will get a notification once one of your disks is nearly full." : "디스크가 거의 가득 찼을 때 한 번 알림을 받습니다." 32 | },"pluralForm" :"nplurals=1; plural=0;" 33 | } -------------------------------------------------------------------------------- /l10n/ko.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "CPU 정보를 사용할 수 없음", 5 | "Not supported!" : "지원하지 않음!", 6 | "Press ⌘-C to copy." : "복사하려면 ⌘-C 키를 누르십시오.", 7 | "Press Ctrl-C to copy." : "복사하려면 Ctrl-C 키를 누르십시오.", 8 | "System" : "시스템", 9 | "Monitoring" : "모니터링", 10 | "Monitoring app with useful server information" : "서버 정보를 표시하는 모니터링 앱", 11 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "CPU 부하, RAM 사용, 디스크 사용, 사용자 수 등 유용한 서버 정보를 제공합니다.", 12 | "Temperature" : "기온", 13 | "Load" : "부하", 14 | "Memory" : "메모리", 15 | "Disk" : "디스크", 16 | "Size:" : "크기:", 17 | "Files:" : "파일:", 18 | "Storages:" : "저장소:", 19 | "Free Space:" : "남은 공간:", 20 | "Network" : "네트워크", 21 | "Active users" : "활성 사용자", 22 | "Total users:" : "총 사용자:", 23 | "Shares" : "공유", 24 | "Users:" : "사용자:", 25 | "PHP" : "PHP", 26 | "Version:" : "버전:", 27 | "Upload max size:" : "업로드 최대 크기:", 28 | "Database" : "데이터베이스", 29 | "Type:" : "종류:", 30 | "External monitoring tool" : "외부 모니터링 도구", 31 | "You can connect an external monitoring tool by using this end point:" : "이 종단점으로 외부 모니터링 도구에 연결할 수 있습니다:", 32 | "Copy" : "복사", 33 | "You will get a notification once one of your disks is nearly full." : "디스크가 거의 가득 찼을 때 한 번 알림을 받습니다." 34 | }, 35 | "nplurals=1; plural=0;"); 36 | -------------------------------------------------------------------------------- /tests/data/linux_cpuinfo_one_core: -------------------------------------------------------------------------------- 1 | processor : 0 2 | vendor_id : GenuineIntel 3 | cpu family : 6 4 | model : 94 5 | model name : Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz 6 | stepping : 3 7 | microcode : 0xd6 8 | cpu MHz : 800.022 9 | cache size : 6144 KB 10 | physical id : 0 11 | siblings : 4 12 | core id : 0 13 | cpu cores : 4 14 | apicid : 0 15 | initial apicid : 0 16 | fpu : yes 17 | fpu_exception : yes 18 | cpuid level : 22 19 | wp : yes 20 | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d 21 | bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit 22 | bogomips : 6399.96 23 | clflush size : 64 24 | cache_alignment : 64 25 | address sizes : 39 bits physical, 48 bits virtual 26 | power management: 27 | -------------------------------------------------------------------------------- /l10n/es_MX.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Información de CPU no disponible", 3 | "Not supported!" : "¡No soportado!", 4 | "Press ⌘-C to copy." : "Presione ⌘-C para copiar.", 5 | "Press Ctrl-C to copy." : "Presione Ctrl-C para copiar.", 6 | "System" : "Sistema", 7 | "Monitoring" : "Monitoreo", 8 | "Monitoring app with useful server information" : "Aplicación de monitoreo con información útil del servidor", 9 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Provee información útil del servidor como carga del CPU, uso de RAM, uso de disco, número de usuarios, etc.", 10 | "Temperature" : "Temperatura", 11 | "Size:" : "Tamaño:", 12 | "Files:" : "Archivos:", 13 | "Storages:" : "Almacenamiento:", 14 | "Free Space:" : "Espacio Libre:", 15 | "Active users" : "Usuarios activos", 16 | "Shares" : "Elementos compartido", 17 | "Users:" : "Usuarios:", 18 | "PHP" : "PHP", 19 | "Version:" : "Versión:", 20 | "Upload max size:" : "Tamaño máximo de carga:", 21 | "Database" : "Base de datos", 22 | "Type:" : "Tipo:", 23 | "External monitoring tool" : "Herramienta de monitoreo externa", 24 | "You can connect an external monitoring tool by using this end point:" : "Puede conectar una herramienta de monitoreo externo usando esta terminal:", 25 | "Copy" : "Copiar" 26 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 27 | } -------------------------------------------------------------------------------- /l10n/es_MX.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Información de CPU no disponible", 5 | "Not supported!" : "¡No soportado!", 6 | "Press ⌘-C to copy." : "Presione ⌘-C para copiar.", 7 | "Press Ctrl-C to copy." : "Presione Ctrl-C para copiar.", 8 | "System" : "Sistema", 9 | "Monitoring" : "Monitoreo", 10 | "Monitoring app with useful server information" : "Aplicación de monitoreo con información útil del servidor", 11 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Provee información útil del servidor como carga del CPU, uso de RAM, uso de disco, número de usuarios, etc.", 12 | "Temperature" : "Temperatura", 13 | "Size:" : "Tamaño:", 14 | "Files:" : "Archivos:", 15 | "Storages:" : "Almacenamiento:", 16 | "Free Space:" : "Espacio Libre:", 17 | "Active users" : "Usuarios activos", 18 | "Shares" : "Elementos compartido", 19 | "Users:" : "Usuarios:", 20 | "PHP" : "PHP", 21 | "Version:" : "Versión:", 22 | "Upload max size:" : "Tamaño máximo de carga:", 23 | "Database" : "Base de datos", 24 | "Type:" : "Tipo:", 25 | "External monitoring tool" : "Herramienta de monitoreo externa", 26 | "You can connect an external monitoring tool by using this end point:" : "Puede conectar una herramienta de monitoreo externo usando esta terminal:", 27 | "Copy" : "Copiar" 28 | }, 29 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 30 | -------------------------------------------------------------------------------- /appinfo/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | serverinfo_hetzner 5 | Monitoring (Hetzner Storage Share) 6 | Monitoring app with useful server information 7 | Provides useful server information, such as disk usage, number of users, etc. This is an adapted version for Hetzner Storage Shares. 8 | 1.18.0 9 | agpl 10 | Bjoern Schiessle 11 | Ivan Sein Santiago 12 | Frank Karlitschek 13 | Hetzner Online GmbH 14 | ServerInfoHetzner 15 | 16 | monitoring 17 | https://konsoleh.your-server.de/support.php 18 | https://github.com/hetzneronline/serverinfo 19 | 20 | 21 | 22 | 23 | OCA\ServerInfoHetzner\Jobs\UpdateStorageStats 24 | 25 | 26 | OCA\ServerInfoHetzner\Commands\UpdateStorageStats 27 | 28 | 29 | OCA\ServerInfoHetzner\Settings\AdminSettings 30 | OCA\ServerInfoHetzner\Settings\AdminSection 31 | 32 | 33 | -------------------------------------------------------------------------------- /tests/lib/NetInterfaceTest.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @author Daniel Kesselberg 9 | * 10 | * @license GNU AGPL version 3 or any later version 11 | * 12 | * This program is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU Affero General Public License as 14 | * published by the Free Software Foundation, either version 3 of the 15 | * License, or (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU Affero General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU Affero General Public License 23 | * along with this program. If not, see . 24 | * 25 | */ 26 | 27 | namespace OCA\ServerInfoHetzner\Tests; 28 | 29 | use OCA\ServerInfo\Resources\NetInterface; 30 | use Test\TestCase; 31 | 32 | class NetInterfaceTest extends TestCase { 33 | public function testIsLoopback4(): void { 34 | $net = new NetInterface('eth0', true); 35 | $net->addIPv4('127.0.0.1'); 36 | $this->assertTrue($net->isLoopback()); 37 | } 38 | 39 | public function testIsLoopback6(): void { 40 | $net = new NetInterface('eth0', true); 41 | $net->addIPv6('::1'); 42 | $this->assertTrue($net->isLoopback()); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /tests/data/linux_meminfo: -------------------------------------------------------------------------------- 1 | MemTotal: 16330252 kB 2 | MemFree: 2443908 kB 3 | MemAvailable: 7675276 kB 4 | Buffers: 870556 kB 5 | Cached: 4636088 kB 6 | SwapCached: 8748 kB 7 | Active: 10011076 kB 8 | Inactive: 2996336 kB 9 | Active(anon): 7282208 kB 10 | Inactive(anon): 522640 kB 11 | Active(file): 2728868 kB 12 | Inactive(file): 2473696 kB 13 | Unevictable: 160 kB 14 | Mlocked: 160 kB 15 | SwapTotal: 999420 kB 16 | SwapFree: 917756 kB 17 | Dirty: 165156 kB 18 | Writeback: 0 kB 19 | AnonPages: 7494492 kB 20 | Mapped: 1182568 kB 21 | Shmem: 367920 kB 22 | KReclaimable: 370320 kB 23 | Slab: 526656 kB 24 | SReclaimable: 370320 kB 25 | SUnreclaim: 156336 kB 26 | KernelStack: 23092 kB 27 | PageTables: 70084 kB 28 | NFS_Unstable: 0 kB 29 | Bounce: 0 kB 30 | WritebackTmp: 0 kB 31 | CommitLimit: 9164544 kB 32 | Committed_AS: 17212612 kB 33 | VmallocTotal: 34359738367 kB 34 | VmallocUsed: 43920 kB 35 | VmallocChunk: 0 kB 36 | Percpu: 4304 kB 37 | HardwareCorrupted: 0 kB 38 | AnonHugePages: 0 kB 39 | ShmemHugePages: 0 kB 40 | ShmemPmdMapped: 0 kB 41 | CmaTotal: 0 kB 42 | CmaFree: 0 kB 43 | HugePages_Total: 0 44 | HugePages_Free: 0 45 | HugePages_Rsvd: 0 46 | HugePages_Surp: 0 47 | Hugepagesize: 2048 kB 48 | Hugetlb: 0 kB 49 | DirectMap4k: 972764 kB 50 | DirectMap2M: 15736832 kB 51 | DirectMap1G: 0 kB 52 | -------------------------------------------------------------------------------- /lib/Controller/PageController.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @license GNU AGPL version 3 or any later version 9 | * 10 | * This program is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU Affero General Public License as 12 | * published by the Free Software Foundation, either version 3 of the 13 | * License, or (at your option) any later version. 14 | * 15 | * This program is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU Affero General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU Affero General Public License 21 | * along with this program. If not, see . 22 | * 23 | */ 24 | 25 | namespace OCA\ServerInfoHetzner\Controller; 26 | 27 | use OCA\ServerInfoHetzner\SystemStatistics; 28 | use OCP\AppFramework\Controller; 29 | use OCP\AppFramework\Http\JSONResponse; 30 | use OCP\IRequest; 31 | 32 | class PageController extends Controller { 33 | public function __construct(string $appName, 34 | IRequest $request, 35 | private SystemStatistics $systemStatistics, 36 | ) { 37 | parent::__construct($appName, $request); 38 | } 39 | 40 | /** 41 | * request data update 42 | */ 43 | public function update(): JSONResponse { 44 | $data = [ 45 | 'system' => $this->systemStatistics->getSystemStatistics() 46 | ]; 47 | 48 | return new JSONResponse($data); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /lib/Resources/ThermalZone.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * @author Daniel Kesselberg 8 | * 9 | * @license GNU AGPL version 3 or any later version 10 | * 11 | * This program is free software: you can redistribute it and/or modify 12 | * it under the terms of the GNU Affero General Public License as 13 | * published by the Free Software Foundation, either version 3 of the 14 | * License, or (at your option) any later version. 15 | * 16 | * This program is distributed in the hope that it will be useful, 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | * GNU Affero General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU Affero General Public License 22 | * along with this program. If not, see . 23 | * 24 | */ 25 | 26 | namespace OCA\ServerInfoHetzner\Resources; 27 | 28 | class ThermalZone implements \JsonSerializable { 29 | public function __construct( 30 | private string $zone, 31 | private string $type, 32 | private float $temp) { 33 | } 34 | 35 | public function getZone(): string { 36 | return $this->zone; 37 | } 38 | 39 | public function getType(): string { 40 | return $this->type; 41 | } 42 | 43 | public function getTemp(): float { 44 | return $this->temp; 45 | } 46 | 47 | public function jsonSerialize(): array { 48 | return [ 49 | 'zone' => $this->zone, 50 | 'type' => $this->type, 51 | 'temp' => $this->temp, 52 | ]; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /l10n/eo.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Informo pri la ĉefprocesoro ne disponeblas", 3 | "Not supported!" : "Ne subtenite!", 4 | "Press ⌘-C to copy." : "Premu ⌘-C por kopii.", 5 | "Press Ctrl-C to copy." : "Premu Ctrl-C por kopii.", 6 | "System" : "Sistemo", 7 | "Monitoring" : "Observado", 8 | "Monitoring app with useful server information" : "Observa aplikaĵo kun utilaj informoj pri la servilo", 9 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Montras utilajn servilajn informojn, kiel ŝarĝon de la ĉefprocesoro, ĉefmemoran uzadon, diskan uzadon, nombrojn de uzantoj, k.t.p.", 10 | "Temperature" : "Temperaturo", 11 | "Load" : "Ŝarĝo", 12 | "Memory" : "Ĉefmemoro", 13 | "Disk" : "Disko", 14 | "Size:" : "Grando:", 15 | "Files:" : "Dosieroj:", 16 | "Storages:" : "Konservejoj:", 17 | "Free Space:" : "Libera spaco:", 18 | "Network" : "Reto", 19 | "Active users" : "Aktivaj uzantoj", 20 | "Total users:" : "Sumo de uzantoj:", 21 | "Shares" : "Kunhavoj", 22 | "Users:" : "Uzantoj:", 23 | "PHP" : "PHP", 24 | "Version:" : "Versio:", 25 | "Upload max size:" : "Maksimuma alŝutgrando:", 26 | "Database" : "Datumbazo", 27 | "Type:" : "Tipo:", 28 | "External monitoring tool" : "Ekstera observa ilo", 29 | "You can connect an external monitoring tool by using this end point:" : "Vi povas konekti eksteran observan ilon per tiu adreso:", 30 | "Copy" : "Kopii", 31 | "You will get a notification once one of your disks is nearly full." : "Ni sciigos vin, kiam disko preskaŭ plenos." 32 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 33 | } -------------------------------------------------------------------------------- /appinfo/routes.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @license GNU AGPL version 3 or any later version 9 | * 10 | * This program is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU Affero General Public License as 12 | * published by the Free Software Foundation, either version 3 of the 13 | * License, or (at your option) any later version. 14 | * 15 | * This program is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU Affero General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU Affero General Public License 21 | * along with this program. If not, see . 22 | * 23 | */ 24 | 25 | /** 26 | * Create your routes in here. The name is the lowercase name of the controller 27 | * without the controller part, the stuff after the hash is the method. 28 | * e.g. page#index -> OCA\ServerInfo\Controller\PageController->index() 29 | * 30 | * The controller class has to be registered in the application.php file since 31 | * it's instantiated in there 32 | */ 33 | 34 | return [ 35 | 'routes' => [ 36 | ['name' => 'page#update', 'url' => '/update', 'verb' => 'GET'], 37 | ], 38 | 'ocs' => [ 39 | ['name' => 'api#info', 'url' => '/api/v1/info', 'verb' => 'GET'], 40 | ['name' => 'api#DiskData', 'url' => '/api/v1/diskdata', 'verb' => 'GET'], 41 | ['name' => 'api#BasicData', 'url' => '/api/v1/basicdata', 'verb' => 'GET'], 42 | ], 43 | ]; 44 | -------------------------------------------------------------------------------- /l10n/eo.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Informo pri la ĉefprocesoro ne disponeblas", 5 | "Not supported!" : "Ne subtenite!", 6 | "Press ⌘-C to copy." : "Premu ⌘-C por kopii.", 7 | "Press Ctrl-C to copy." : "Premu Ctrl-C por kopii.", 8 | "System" : "Sistemo", 9 | "Monitoring" : "Observado", 10 | "Monitoring app with useful server information" : "Observa aplikaĵo kun utilaj informoj pri la servilo", 11 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Montras utilajn servilajn informojn, kiel ŝarĝon de la ĉefprocesoro, ĉefmemoran uzadon, diskan uzadon, nombrojn de uzantoj, k.t.p.", 12 | "Temperature" : "Temperaturo", 13 | "Load" : "Ŝarĝo", 14 | "Memory" : "Ĉefmemoro", 15 | "Disk" : "Disko", 16 | "Size:" : "Grando:", 17 | "Files:" : "Dosieroj:", 18 | "Storages:" : "Konservejoj:", 19 | "Free Space:" : "Libera spaco:", 20 | "Network" : "Reto", 21 | "Active users" : "Aktivaj uzantoj", 22 | "Total users:" : "Sumo de uzantoj:", 23 | "Shares" : "Kunhavoj", 24 | "Users:" : "Uzantoj:", 25 | "PHP" : "PHP", 26 | "Version:" : "Versio:", 27 | "Upload max size:" : "Maksimuma alŝutgrando:", 28 | "Database" : "Datumbazo", 29 | "Type:" : "Tipo:", 30 | "External monitoring tool" : "Ekstera observa ilo", 31 | "You can connect an external monitoring tool by using this end point:" : "Vi povas konekti eksteran observan ilon per tiu adreso:", 32 | "Copy" : "Kopii", 33 | "You will get a notification once one of your disks is nearly full." : "Ni sciigos vin, kiam disko preskaŭ plenos." 34 | }, 35 | "nplurals=2; plural=(n != 1);"); 36 | -------------------------------------------------------------------------------- /lib/OperatingSystems/Dummy.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @license AGPL-3.0 9 | * 10 | * This code is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU Affero General Public License, version 3, 12 | * as published by the Free Software Foundation. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License, version 3, 20 | * along with this program. If not, see 21 | * 22 | */ 23 | 24 | namespace OCA\ServerInfoHetzner\OperatingSystems; 25 | 26 | use OCA\ServerInfoHetzner\Resources\Memory; 27 | 28 | class Dummy implements IOperatingSystem { 29 | public function supported(): bool { 30 | return false; 31 | } 32 | 33 | public function getMemory(): Memory { 34 | return new Memory(); 35 | } 36 | 37 | public function getCpuName(): string { 38 | return 'Unknown Processor'; 39 | } 40 | 41 | public function getTime(): string { 42 | return ''; 43 | } 44 | 45 | public function getUptime(): int { 46 | return -1; 47 | } 48 | 49 | public function getNetworkInfo(): array { 50 | return [ 51 | 'hostname' => '', 52 | 'dns' => '', 53 | 'gateway' => '', 54 | ]; 55 | } 56 | 57 | public function getNetworkInterfaces(): array { 58 | return []; 59 | } 60 | 61 | public function getDiskInfo(): array { 62 | return []; 63 | } 64 | 65 | public function getThermalZones(): array { 66 | return []; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /lib/Jobs/UpdateStorageStats.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @author Arthur Schiwon 9 | * 10 | * @license GNU AGPL version 3 or any later version 11 | * 12 | * This program is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU Affero General Public License as 14 | * published by the Free Software Foundation, either version 3 of the 15 | * License, or (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU Affero General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU Affero General Public License 23 | * along with this program. If not, see . 24 | * 25 | */ 26 | 27 | namespace OCA\ServerInfoHetzner\Jobs; 28 | 29 | use OCA\ServerInfoHetzner\StorageStatistics; 30 | use OCP\AppFramework\Utility\ITimeFactory; 31 | use OCP\BackgroundJob\TimedJob; 32 | use OCP\IConfig; 33 | 34 | class UpdateStorageStats extends TimedJob { 35 | private StorageStatistics $storageStatistics; 36 | 37 | public function __construct(ITimeFactory $time, StorageStatistics $storageStatistics, IConfig $config) { 38 | $this->setInterval((int)$config->getAppValue('serverinfo_hetzner', 'job_interval_storage_stats', (string)(60 * 60 * 3))); 39 | parent::__construct($time); 40 | 41 | $this->storageStatistics = $storageStatistics; 42 | } 43 | 44 | /** 45 | * @inheritDoc 46 | */ 47 | protected function run($argument): void { 48 | $this->storageStatistics->updateStorageCounts(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /l10n/pt_PT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Informação do CPU indisponível", 3 | "Not supported!" : "Não suportado!", 4 | "Press ⌘-C to copy." : "Pressionar ⌘-C para copiar.", 5 | "Press Ctrl-C to copy." : "Pressionar Ctrl-C para copiar.", 6 | "System" : "Sistema", 7 | "Monitoring" : "Monitorização", 8 | "Monitoring app with useful server information" : "Aplicação de monitorização com informação útil do servidor", 9 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Disponibiliza informação útil do servidor como a carga do CPU, utilização da RAM, utilização do disco, número de utilizadores, etc.", 10 | "Temperature" : "Temperatura", 11 | "Load" : "Carga", 12 | "Memory" : "Memória", 13 | "Disk" : "Disco", 14 | "Size:" : "Tamanho:", 15 | "Files:" : "Ficheiros:", 16 | "Storages:" : "Armazenamentos:", 17 | "Free Space:" : "Espaço livre:", 18 | "Network" : "Rede", 19 | "Active users" : "Utilizadores activos", 20 | "Total users:" : "Total de utilizadores:", 21 | "Shares" : "Partilhas", 22 | "Users:" : "Utilizadores:", 23 | "PHP" : "PHP", 24 | "Version:" : "Versão:", 25 | "Upload max size:" : "Tamanho máximo de carregamento:", 26 | "Database" : "Base de dados", 27 | "Type:" : "Tipo:", 28 | "External monitoring tool" : "Ferramenta externa de monitorização", 29 | "You can connect an external monitoring tool by using this end point:" : "Pode ligar uma ferramenta de monitorização externa ao usar \"endpoint\":", 30 | "Copy" : "Copiar", 31 | "You will get a notification once one of your disks is nearly full." : "Receberá uma notificação logo que um dos seus discos esteja perto de estar cheio." 32 | },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 33 | } -------------------------------------------------------------------------------- /l10n/pt_PT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Informação do CPU indisponível", 5 | "Not supported!" : "Não suportado!", 6 | "Press ⌘-C to copy." : "Pressionar ⌘-C para copiar.", 7 | "Press Ctrl-C to copy." : "Pressionar Ctrl-C para copiar.", 8 | "System" : "Sistema", 9 | "Monitoring" : "Monitorização", 10 | "Monitoring app with useful server information" : "Aplicação de monitorização com informação útil do servidor", 11 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Disponibiliza informação útil do servidor como a carga do CPU, utilização da RAM, utilização do disco, número de utilizadores, etc.", 12 | "Temperature" : "Temperatura", 13 | "Load" : "Carga", 14 | "Memory" : "Memória", 15 | "Disk" : "Disco", 16 | "Size:" : "Tamanho:", 17 | "Files:" : "Ficheiros:", 18 | "Storages:" : "Armazenamentos:", 19 | "Free Space:" : "Espaço livre:", 20 | "Network" : "Rede", 21 | "Active users" : "Utilizadores activos", 22 | "Total users:" : "Total de utilizadores:", 23 | "Shares" : "Partilhas", 24 | "Users:" : "Utilizadores:", 25 | "PHP" : "PHP", 26 | "Version:" : "Versão:", 27 | "Upload max size:" : "Tamanho máximo de carregamento:", 28 | "Database" : "Base de dados", 29 | "Type:" : "Tipo:", 30 | "External monitoring tool" : "Ferramenta externa de monitorização", 31 | "You can connect an external monitoring tool by using this end point:" : "Pode ligar uma ferramenta de monitorização externa ao usar \"endpoint\":", 32 | "Copy" : "Copiar", 33 | "You will get a notification once one of your disks is nearly full." : "Receberá uma notificação logo que um dos seus discos esteja perto de estar cheio." 34 | }, 35 | "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 36 | -------------------------------------------------------------------------------- /lib/OperatingSystems/FreeBSD.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @license AGPL-3.0 9 | * 10 | * This code is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU Affero General Public License, version 3, 12 | * as published by the Free Software Foundation. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License, version 3, 20 | * along with this program. If not, see 21 | * 22 | */ 23 | 24 | namespace OCA\ServerInfoHetzner\OperatingSystems; 25 | 26 | use OCA\ServerInfoHetzner\Resources\Memory; 27 | 28 | class FreeBSD implements IOperatingSystem { 29 | public function supported(): bool { 30 | return false; 31 | } 32 | 33 | public function getMemory(): Memory { 34 | return new Memory(); 35 | } 36 | 37 | public function getCpuName(): string { 38 | return 'N/A'; 39 | } 40 | 41 | public function getTime(): string { 42 | return date(\DateTimeInterface::RFC7231); 43 | } 44 | 45 | public function getUptime(): int { 46 | return -1; 47 | } 48 | 49 | public function getNetworkInfo(): array { 50 | $result = []; 51 | $result['hostname'] = 'N/A'; 52 | $result['dns'] = 'N/A'; 53 | $result['gateway'] = 'N/A'; 54 | return $result; 55 | } 56 | 57 | public function getNetworkInterfaces(): array { 58 | return []; 59 | } 60 | 61 | public function getDiskInfo(): array { 62 | return []; 63 | } 64 | 65 | public function getThermalZones(): array { 66 | return []; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /l10n/he.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "פרטי המעבד לא זמינים", 3 | "Not supported!" : "אין תמיכה!", 4 | "Press ⌘-C to copy." : "להעתקה: ‎⌘-C.", 5 | "Press Ctrl-C to copy." : "להעתקה: Ctrl-C.", 6 | "System" : "מערכת", 7 | "Monitoring" : "מעקב", 8 | "Monitoring app with useful server information" : "יישום מעקב עם פרטים חשובים על השרת", 9 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "מספק פרטים חיוניים על השרת כגון העומס על המעבד, ניצולת הזיכרון, ניצולת נפח הכונן מספר המשתמשים וכו׳", 10 | "Temperature" : "טמפרטורה", 11 | "Load" : "עומס", 12 | "Memory" : "זיכרון", 13 | "Disk" : "כונן", 14 | "Size:" : "גודל:", 15 | "Files:" : "קבצים", 16 | "Storages:" : "אמצעי אחסון:", 17 | "Free Space:" : "מקום פנוי:", 18 | "Network" : "רשת", 19 | "Active users" : "משתמשים פעילים", 20 | "Total users:" : "סך כל המשתמשים:", 21 | "Shares" : "שיתופים", 22 | "Users:" : "משתמשים:", 23 | "PHP" : "PHP", 24 | "Version:" : "גרסה:", 25 | "Upload max size:" : "גודל העלאה מרבי:", 26 | "Database" : "מסד נתונים", 27 | "Type:" : "סוג:", 28 | "External monitoring tool" : "כלי מעקב חיצוני", 29 | "You can connect an external monitoring tool by using this end point:" : "ניתן לחבר לכלי מעקב חיצוני דרך נקודת הגישה הזאת:", 30 | "Copy" : "העתקה", 31 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "הוספת „‎?format=json” לסוף הכתובת יעניק לך את התוצאה ב־JSON.", 32 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "לאחר מכן יש להעביר את האסימון עם כותרת „NC-Token” בעת תשאול הכתובת שלעיל.", 33 | "You will get a notification once one of your disks is nearly full." : "תישלח אליך התראה כשהכונן עומד להתמלא לחלוטין." 34 | },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" 35 | } -------------------------------------------------------------------------------- /l10n/is.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Örgjörvaupplýsingar ekki tiltækar", 3 | "Not supported!" : "Ekki stutt!", 4 | "Press ⌘-C to copy." : "Ýttu á ⌘-C til að afrita.", 5 | "Press Ctrl-C to copy." : "Ýttu á Ctrl-C til að afrita.", 6 | "System" : "Kerfið", 7 | "Monitoring" : "Vöktun", 8 | "Monitoring app with useful server information" : "Vöktunarforrit sem nær í ýmsar notadrjúgar upplýsingar um þjón", 9 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Gefur nytsamlegar upplýsingar um vefþjón, svo sem álag á örgjörva, diskanotkun, fjölda notenda, o.s.frv.", 10 | "Temperature" : "Hitastig", 11 | "Load" : "Hlaða inn", 12 | "Memory" : "Vinnsluminni", 13 | "Disk" : "Diskur", 14 | "Size:" : "Stærð:", 15 | "Files:" : "Skrár:", 16 | "Storages:" : "Gagnageymslur", 17 | "Free Space:" : "Laust diskapláss:", 18 | "Network" : "Netkerfi", 19 | "Active users" : "Virkir notendur", 20 | "Total users:" : "Heildarfjöldi notenda:", 21 | "Shares" : "Sameignir", 22 | "Users:" : "Notendur:", 23 | "PHP" : "PHP", 24 | "Version:" : "Útgáfa:", 25 | "Upload max size:" : "Hámarksstærð innsendingar:", 26 | "Database" : "Gagnagrunnur", 27 | "Type:" : "Tegund:", 28 | "External monitoring tool" : "Utanaðkomandi vöktunartól", 29 | "You can connect an external monitoring tool by using this end point:" : "Þú getur tengt utanaðkomandi vöktunartól með því að nota þennan endapunkt: ", 30 | "Copy" : "Afrita", 31 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Að með því að bæta \"?format=json\" við enda URL-slóðar, muntu fá niðurstöðurnar á JSON-sniði.", 32 | "You will get a notification once one of your disks is nearly full." : "Þú færð tilkynningu um leið og einhver diskanna þinna nálgast það að vera fullur." 33 | },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" 34 | } -------------------------------------------------------------------------------- /l10n/he.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "פרטי המעבד לא זמינים", 5 | "Not supported!" : "אין תמיכה!", 6 | "Press ⌘-C to copy." : "להעתקה: ‎⌘-C.", 7 | "Press Ctrl-C to copy." : "להעתקה: Ctrl-C.", 8 | "System" : "מערכת", 9 | "Monitoring" : "מעקב", 10 | "Monitoring app with useful server information" : "יישום מעקב עם פרטים חשובים על השרת", 11 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "מספק פרטים חיוניים על השרת כגון העומס על המעבד, ניצולת הזיכרון, ניצולת נפח הכונן מספר המשתמשים וכו׳", 12 | "Temperature" : "טמפרטורה", 13 | "Load" : "עומס", 14 | "Memory" : "זיכרון", 15 | "Disk" : "כונן", 16 | "Size:" : "גודל:", 17 | "Files:" : "קבצים", 18 | "Storages:" : "אמצעי אחסון:", 19 | "Free Space:" : "מקום פנוי:", 20 | "Network" : "רשת", 21 | "Active users" : "משתמשים פעילים", 22 | "Total users:" : "סך כל המשתמשים:", 23 | "Shares" : "שיתופים", 24 | "Users:" : "משתמשים:", 25 | "PHP" : "PHP", 26 | "Version:" : "גרסה:", 27 | "Upload max size:" : "גודל העלאה מרבי:", 28 | "Database" : "מסד נתונים", 29 | "Type:" : "סוג:", 30 | "External monitoring tool" : "כלי מעקב חיצוני", 31 | "You can connect an external monitoring tool by using this end point:" : "ניתן לחבר לכלי מעקב חיצוני דרך נקודת הגישה הזאת:", 32 | "Copy" : "העתקה", 33 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "הוספת „‎?format=json” לסוף הכתובת יעניק לך את התוצאה ב־JSON.", 34 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "לאחר מכן יש להעביר את האסימון עם כותרת „NC-Token” בעת תשאול הכתובת שלעיל.", 35 | "You will get a notification once one of your disks is nearly full." : "תישלח אליך התראה כשהכונן עומד להתמלא לחלוטין." 36 | }, 37 | "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); 38 | -------------------------------------------------------------------------------- /l10n/is.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Örgjörvaupplýsingar ekki tiltækar", 5 | "Not supported!" : "Ekki stutt!", 6 | "Press ⌘-C to copy." : "Ýttu á ⌘-C til að afrita.", 7 | "Press Ctrl-C to copy." : "Ýttu á Ctrl-C til að afrita.", 8 | "System" : "Kerfið", 9 | "Monitoring" : "Vöktun", 10 | "Monitoring app with useful server information" : "Vöktunarforrit sem nær í ýmsar notadrjúgar upplýsingar um þjón", 11 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Gefur nytsamlegar upplýsingar um vefþjón, svo sem álag á örgjörva, diskanotkun, fjölda notenda, o.s.frv.", 12 | "Temperature" : "Hitastig", 13 | "Load" : "Hlaða inn", 14 | "Memory" : "Vinnsluminni", 15 | "Disk" : "Diskur", 16 | "Size:" : "Stærð:", 17 | "Files:" : "Skrár:", 18 | "Storages:" : "Gagnageymslur", 19 | "Free Space:" : "Laust diskapláss:", 20 | "Network" : "Netkerfi", 21 | "Active users" : "Virkir notendur", 22 | "Total users:" : "Heildarfjöldi notenda:", 23 | "Shares" : "Sameignir", 24 | "Users:" : "Notendur:", 25 | "PHP" : "PHP", 26 | "Version:" : "Útgáfa:", 27 | "Upload max size:" : "Hámarksstærð innsendingar:", 28 | "Database" : "Gagnagrunnur", 29 | "Type:" : "Tegund:", 30 | "External monitoring tool" : "Utanaðkomandi vöktunartól", 31 | "You can connect an external monitoring tool by using this end point:" : "Þú getur tengt utanaðkomandi vöktunartól með því að nota þennan endapunkt: ", 32 | "Copy" : "Afrita", 33 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Að með því að bæta \"?format=json\" við enda URL-slóðar, muntu fá niðurstöðurnar á JSON-sniði.", 34 | "You will get a notification once one of your disks is nearly full." : "Þú færð tilkynningu um leið og einhver diskanna þinna nálgast það að vera fullur." 35 | }, 36 | "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); 37 | -------------------------------------------------------------------------------- /l10n/da.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "CPU information er ikke tilgængeli", 3 | "Not supported!" : "Ikke understøttet!", 4 | "Press ⌘-C to copy." : "Tryk ⌘-C for at kopiere.", 5 | "Press Ctrl-C to copy." : "Tryk Ctrl-C for at kopiere.", 6 | "System" : "System", 7 | "Monitoring" : "Monitorering", 8 | "Monitoring app with useful server information" : "Monitoreringsapp med serverinformation", 9 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Viser serverinformation som CPU belastning, RAM forbrug, lagerforbrug, antal brugere osv.", 10 | "Temperature" : "Temperatur", 11 | "Load" : "Belastning", 12 | "Memory" : "Hukommelse", 13 | "Disk" : "Disk", 14 | "Size:" : "Størrelse:", 15 | "Files:" : "Filer:", 16 | "Storages:" : "Lagre:", 17 | "Free Space:" : "Ledig plads:", 18 | "Network" : "Netværk", 19 | "Active users" : "Aktive brugere", 20 | "Total users:" : "Antal brugere:", 21 | "Shares" : "Delinger", 22 | "Users:" : "Brugere:", 23 | "PHP" : "PHP", 24 | "Version:" : "Version:", 25 | "Upload max size:" : "Max upload størrelse:", 26 | "Database" : "Database", 27 | "Type:" : "Type:", 28 | "External monitoring tool" : "Eksternt monitoreringsværktøj", 29 | "You can connect an external monitoring tool by using this end point:" : "Du kan forbinde et eksternt monitoreringsprogram ved at bruge dette endepunkt:", 30 | "Copy" : "Kopier", 31 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Ved at tilføje \"?format=json\" i slutningen af URL'en får du resultatet i JSON.", 32 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "Send derefter tokenet med \"NC-Token\"-headeren, når du forespørger på ovenstående URL.", 33 | "You will get a notification once one of your disks is nearly full." : "Du får en meddelelse, når en af dine diske er næsten fuld." 34 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 35 | } -------------------------------------------------------------------------------- /l10n/da.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "CPU information er ikke tilgængeli", 5 | "Not supported!" : "Ikke understøttet!", 6 | "Press ⌘-C to copy." : "Tryk ⌘-C for at kopiere.", 7 | "Press Ctrl-C to copy." : "Tryk Ctrl-C for at kopiere.", 8 | "System" : "System", 9 | "Monitoring" : "Monitorering", 10 | "Monitoring app with useful server information" : "Monitoreringsapp med serverinformation", 11 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Viser serverinformation som CPU belastning, RAM forbrug, lagerforbrug, antal brugere osv.", 12 | "Temperature" : "Temperatur", 13 | "Load" : "Belastning", 14 | "Memory" : "Hukommelse", 15 | "Disk" : "Disk", 16 | "Size:" : "Størrelse:", 17 | "Files:" : "Filer:", 18 | "Storages:" : "Lagre:", 19 | "Free Space:" : "Ledig plads:", 20 | "Network" : "Netværk", 21 | "Active users" : "Aktive brugere", 22 | "Total users:" : "Antal brugere:", 23 | "Shares" : "Delinger", 24 | "Users:" : "Brugere:", 25 | "PHP" : "PHP", 26 | "Version:" : "Version:", 27 | "Upload max size:" : "Max upload størrelse:", 28 | "Database" : "Database", 29 | "Type:" : "Type:", 30 | "External monitoring tool" : "Eksternt monitoreringsværktøj", 31 | "You can connect an external monitoring tool by using this end point:" : "Du kan forbinde et eksternt monitoreringsprogram ved at bruge dette endepunkt:", 32 | "Copy" : "Kopier", 33 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Ved at tilføje \"?format=json\" i slutningen af URL'en får du resultatet i JSON.", 34 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "Send derefter tokenet med \"NC-Token\"-headeren, når du forespørger på ovenstående URL.", 35 | "You will get a notification once one of your disks is nearly full." : "Du får en meddelelse, når en af dine diske er næsten fuld." 36 | }, 37 | "nplurals=2; plural=(n != 1);"); 38 | -------------------------------------------------------------------------------- /l10n/lt_LT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Informacija apie procesorių neprieinama", 3 | "Load average: {cpu} (last minute)" : "Apkrovos vidurkis: {cpu} (paskutinė minutė)", 4 | "Not supported!" : "Nepalaikoma!", 5 | "Press ⌘-C to copy." : "Norėdami nukopijuoti, paspauskite ⌘-C.", 6 | "Press Ctrl-C to copy." : "Paspauskite Vald-C, norėdami nukopijuoti.", 7 | "System" : "Sistema", 8 | "Monitoring" : "Stebėjimas", 9 | "Monitoring app with useful server information" : "Stebėjimo programėlė su naudinga serverio informacija", 10 | "Operating System:" : "Operacinė sistema:", 11 | "CPU:" : "Procesorius:", 12 | "Unknown Processor" : "Nežinomas procesorius", 13 | "Memory:" : "Atmintis:", 14 | "Temperature" : "Temperatūra", 15 | "Load" : "Apkrova", 16 | "Memory" : "Atmintis", 17 | "Disk" : "Diskas", 18 | "Filesystem:" : "Failų sistema:", 19 | "Size:" : "Dydis:", 20 | "Available:" : "Prieinama:", 21 | "Files:" : "Failai:", 22 | "Storages:" : "Saugyklos:", 23 | "Free Space:" : "Laisva vieta:", 24 | "Network" : "Tinklas", 25 | "DNS:" : "DNS:", 26 | "Gateway:" : "Tinklų sietuvas:", 27 | "Status:" : "Būsena:", 28 | "Speed:" : "Greitis:", 29 | "MAC:" : "MAC:", 30 | "IPv4:" : "IPv4:", 31 | "IPv6:" : "IPv6:", 32 | "Active users" : "Aktyvūs naudotojai", 33 | "Total users:" : "Iš viso naudotojų:", 34 | "Shares" : "Viešiniai", 35 | "Users:" : "Naudotojai:", 36 | "PHP" : "PHP", 37 | "Version:" : "Versija:", 38 | "Upload max size:" : "Maksimalus įkeliamo failo dydis:", 39 | "Database" : "Duomenų bazė", 40 | "Type:" : "Tipas:", 41 | "External monitoring tool" : "Išorinis stebėjimo įrankis", 42 | "Copy" : "Kopijuoti", 43 | "You will get a notification once one of your disks is nearly full." : "Kai kuris nors iš jūsų diskų bus beveik pilnas, gausite pranešimą." 44 | },"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);" 45 | } -------------------------------------------------------------------------------- /l10n/lt_LT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Informacija apie procesorių neprieinama", 5 | "Load average: {cpu} (last minute)" : "Apkrovos vidurkis: {cpu} (paskutinė minutė)", 6 | "Not supported!" : "Nepalaikoma!", 7 | "Press ⌘-C to copy." : "Norėdami nukopijuoti, paspauskite ⌘-C.", 8 | "Press Ctrl-C to copy." : "Paspauskite Vald-C, norėdami nukopijuoti.", 9 | "System" : "Sistema", 10 | "Monitoring" : "Stebėjimas", 11 | "Monitoring app with useful server information" : "Stebėjimo programėlė su naudinga serverio informacija", 12 | "Operating System:" : "Operacinė sistema:", 13 | "CPU:" : "Procesorius:", 14 | "Unknown Processor" : "Nežinomas procesorius", 15 | "Memory:" : "Atmintis:", 16 | "Temperature" : "Temperatūra", 17 | "Load" : "Apkrova", 18 | "Memory" : "Atmintis", 19 | "Disk" : "Diskas", 20 | "Filesystem:" : "Failų sistema:", 21 | "Size:" : "Dydis:", 22 | "Available:" : "Prieinama:", 23 | "Files:" : "Failai:", 24 | "Storages:" : "Saugyklos:", 25 | "Free Space:" : "Laisva vieta:", 26 | "Network" : "Tinklas", 27 | "DNS:" : "DNS:", 28 | "Gateway:" : "Tinklų sietuvas:", 29 | "Status:" : "Būsena:", 30 | "Speed:" : "Greitis:", 31 | "MAC:" : "MAC:", 32 | "IPv4:" : "IPv4:", 33 | "IPv6:" : "IPv6:", 34 | "Active users" : "Aktyvūs naudotojai", 35 | "Total users:" : "Iš viso naudotojų:", 36 | "Shares" : "Viešiniai", 37 | "Users:" : "Naudotojai:", 38 | "PHP" : "PHP", 39 | "Version:" : "Versija:", 40 | "Upload max size:" : "Maksimalus įkeliamo failo dydis:", 41 | "Database" : "Duomenų bazė", 42 | "Type:" : "Tipas:", 43 | "External monitoring tool" : "Išorinis stebėjimo įrankis", 44 | "Copy" : "Kopijuoti", 45 | "You will get a notification once one of your disks is nearly full." : "Kai kuris nors iš jūsų diskų bus beveik pilnas, gausite pranešimą." 46 | }, 47 | "nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"); 48 | -------------------------------------------------------------------------------- /lib/OperatingSystems/Linux.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @license AGPL-3.0 9 | * 10 | * This code is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU Affero General Public License, version 3, 12 | * as published by the Free Software Foundation. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License, version 3, 20 | * along with this program. If not, see 21 | * 22 | */ 23 | 24 | namespace OCA\ServerInfoHetzner\OperatingSystems; 25 | 26 | use OCA\ServerInfoHetzner\Resources\Disk; 27 | use OCA\ServerInfoHetzner\Resources\Memory; 28 | use OCA\ServerInfoHetzner\Resources\NetInterface; 29 | use OCA\ServerInfoHetzner\Resources\ThermalZone; 30 | use RuntimeException; 31 | 32 | class Linux implements IOperatingSystem { 33 | private const AF_INET = 2; 34 | private const AF_INET6 = 10; 35 | 36 | public function supported(): bool { 37 | return true; 38 | } 39 | 40 | public function getMemory(): Memory { 41 | return new Memory(); 42 | } 43 | 44 | public function getCpuName(): string { 45 | return 'N/A'; 46 | } 47 | 48 | public function getTime(): string { 49 | return date(\DateTimeInterface::RFC7231); 50 | } 51 | 52 | public function getUptime(): int { 53 | return -1; 54 | } 55 | 56 | public function getNetworkInfo(): array { 57 | $result = []; 58 | $result['hostname'] = 'N/A'; 59 | $result['dns'] = 'N/A'; 60 | $result['gateway'] = 'N/A'; 61 | return $result; 62 | } 63 | 64 | public function getNetworkInterfaces(): array { 65 | return []; 66 | } 67 | 68 | public function getDiskInfo(): array { 69 | return []; 70 | } 71 | 72 | public function getThermalZones(): array { 73 | return []; 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /l10n/sl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Podatki CPE niso na voljo", 3 | "Not supported!" : "Ni podprto!", 4 | "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.", 5 | "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.", 6 | "System" : "Sistem", 7 | "Monitoring" : "Sistemska dejavnost", 8 | "Monitoring app with useful server information" : "Program za spremljanje delovanja sistema z različnimi podrobnostmi obremenitve strežnika", 9 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Omogoča prikaz različnih podrobnosti strežnika, kot so obremenitev CPE, zasedenost pomnilnika in prostora, števila uporabnikov in drugo.", 10 | "Temperature" : "Temperatura", 11 | "Load" : "Obremenitev", 12 | "Memory" : "Pomnilnik", 13 | "Disk" : "Disk", 14 | "Size:" : "Velikost:", 15 | "Files:" : "Datoteke:", 16 | "Storages:" : "Shrambe:", 17 | "Free Space:" : "Prostor:", 18 | "Network" : "Omrežje", 19 | "Active users" : "Dejavni uporabniki", 20 | "Total users:" : "Število uporabnikov:", 21 | "Shares" : "Souporaba", 22 | "Users:" : "Uporabniki:", 23 | "PHP" : "Okolje PHP", 24 | "Version:" : "Različica:", 25 | "Upload max size:" : "Omejitev velikosti pošiljanja:", 26 | "Unable to list extensions" : "Ni mogoče izpisati seznama razširitev", 27 | "Database" : "Podatkovna zbirka", 28 | "Type:" : "Vrsta:", 29 | "External monitoring tool" : "Zunanje orodje za nadzor", 30 | "You can connect an external monitoring tool by using this end point:" : "Povezava do zunanjega orodja za spremljanje delovanja prek končne točke:", 31 | "Copy" : "Kopiraj", 32 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Pripenjanje zapisa » ?format=json « na konec naslova URL omogoči izpis podatkov v zapisu JSON.", 33 | "You will get a notification once one of your disks is nearly full." : "Obvestilo bo poslano, ko bo katerikoli disk skoraj polno zaseden." 34 | },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" 35 | } -------------------------------------------------------------------------------- /l10n/sc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Informatziones CPU no a disponimentu", 3 | "Not supported!" : "Non suportadu!", 4 | "Press ⌘-C to copy." : "Incarca ⌘-C pro copiare.", 5 | "Press Ctrl-C to copy." : "Incarca Crtl-C pro copiare.", 6 | "System" : "Sistema", 7 | "Monitoring" : "Controllende", 8 | "Monitoring app with useful server information" : "Aplicatzione pro controllu cun informatziones ùtiles subra de su serbidore", 9 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Frunit informatziones ùtiles subra de su serbidore. comente càrrigu de CPU, impreu de RAM, impreu de discu, nùmeru de utentes, etc.", 10 | "Temperature" : "Temperadura", 11 | "Load" : "Càrrigu", 12 | "Memory" : "Memòria", 13 | "Disk" : "Discu", 14 | "Size:" : "Mannària:", 15 | "Files:" : "Archìviu:", 16 | "Storages:" : "Archiviatziones:", 17 | "Free Space:" : "Logu lìberu:", 18 | "Network" : "Rete", 19 | "Active users" : "Utèntzias ativas", 20 | "Total users:" : "Utèntzias totales:", 21 | "Shares" : "Cumpartziduras", 22 | "PHP" : "PHP", 23 | "Version:" : "Versione:", 24 | "Upload max size:" : "Mannària màssima de carrigamentu", 25 | "Database" : "Base de datos", 26 | "Type:" : "Genia:", 27 | "External monitoring tool" : "Trastu de controllu esternu", 28 | "You can connect an external monitoring tool by using this end point:" : "Podes collegare unu trastu de controllu esternu impreende custu terminadore:", 29 | "Copy" : "Còpia", 30 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "S'agiunta de \"?format=json\" a sa fine de s'URL ti frunit su resurtadu in JSON.", 31 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "A pustis passa su token cun s'intestatzione \"NC-Token\" cando rechedes s'URL in subra.", 32 | "You will get a notification once one of your disks is nearly full." : "As a retzire una notìfica cando unu de is discos tuos est acanta de si prènere de su totu." 33 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 34 | } -------------------------------------------------------------------------------- /l10n/sl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Podatki CPE niso na voljo", 5 | "Not supported!" : "Ni podprto!", 6 | "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.", 7 | "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.", 8 | "System" : "Sistem", 9 | "Monitoring" : "Sistemska dejavnost", 10 | "Monitoring app with useful server information" : "Program za spremljanje delovanja sistema z različnimi podrobnostmi obremenitve strežnika", 11 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Omogoča prikaz različnih podrobnosti strežnika, kot so obremenitev CPE, zasedenost pomnilnika in prostora, števila uporabnikov in drugo.", 12 | "Temperature" : "Temperatura", 13 | "Load" : "Obremenitev", 14 | "Memory" : "Pomnilnik", 15 | "Disk" : "Disk", 16 | "Size:" : "Velikost:", 17 | "Files:" : "Datoteke:", 18 | "Storages:" : "Shrambe:", 19 | "Free Space:" : "Prostor:", 20 | "Network" : "Omrežje", 21 | "Active users" : "Dejavni uporabniki", 22 | "Total users:" : "Število uporabnikov:", 23 | "Shares" : "Souporaba", 24 | "Users:" : "Uporabniki:", 25 | "PHP" : "Okolje PHP", 26 | "Version:" : "Različica:", 27 | "Upload max size:" : "Omejitev velikosti pošiljanja:", 28 | "Unable to list extensions" : "Ni mogoče izpisati seznama razširitev", 29 | "Database" : "Podatkovna zbirka", 30 | "Type:" : "Vrsta:", 31 | "External monitoring tool" : "Zunanje orodje za nadzor", 32 | "You can connect an external monitoring tool by using this end point:" : "Povezava do zunanjega orodja za spremljanje delovanja prek končne točke:", 33 | "Copy" : "Kopiraj", 34 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Pripenjanje zapisa » ?format=json « na konec naslova URL omogoči izpis podatkov v zapisu JSON.", 35 | "You will get a notification once one of your disks is nearly full." : "Obvestilo bo poslano, ko bo katerikoli disk skoraj polno zaseden." 36 | }, 37 | "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); 38 | -------------------------------------------------------------------------------- /l10n/hr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Podaci o CPU-u nisu dostupni", 3 | "Not supported!" : "Nije podržano!", 4 | "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.", 5 | "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.", 6 | "System" : "Sustav", 7 | "Monitoring" : "Praćenje", 8 | "Monitoring app with useful server information" : "Aplikacija za praćenje s korisnim informacijama o poslužitelju", 9 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Pruža korisne informacije o poslužitelju, kao što su opterećenje CPU-a, korištenje RAM-a, korištenje diska, broj korisnika itd.", 10 | "Temperature" : "Temperatura", 11 | "Load" : "Opterećenje", 12 | "Memory" : "Memorija", 13 | "Disk" : "Disk", 14 | "Size:" : "Veličina:", 15 | "Files:" : "Datoteke:", 16 | "Storages:" : "Pohrane:", 17 | "Free Space:" : "Slobodan prostor:", 18 | "Network" : "Mreža", 19 | "Active users" : "Aktivni korisnici", 20 | "Total users:" : "Ukupno korisnika:", 21 | "Shares" : "Dijeljenja", 22 | "Users:" : "Korisnici:", 23 | "PHP" : "PHP", 24 | "Version:" : "Inačica:", 25 | "Upload max size:" : "Maksimalna veličina za otpremu:", 26 | "Database" : "Baza podataka", 27 | "Type:" : "Vrsta:", 28 | "External monitoring tool" : "Vanjski alat za praćenje", 29 | "You can connect an external monitoring tool by using this end point:" : "Možete povezati vanjski alat za praćenje s pomoću ove krajnje točke:", 30 | "Copy" : "Kopiraj", 31 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Dodavanjem „?format = json” na kraj URL-a dobije se rezultat u JSON-u.", 32 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "Zatim proslijedite token sa zaglavljem „NC-Token“ prilikom slanja upita za gornji URL.", 33 | "You will get a notification once one of your disks is nearly full." : "Primit ćete obavijest kada je jedan od vaših diskova skoro pun." 34 | },"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;" 35 | } -------------------------------------------------------------------------------- /l10n/sc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Informatziones CPU no a disponimentu", 5 | "Not supported!" : "Non suportadu!", 6 | "Press ⌘-C to copy." : "Incarca ⌘-C pro copiare.", 7 | "Press Ctrl-C to copy." : "Incarca Crtl-C pro copiare.", 8 | "System" : "Sistema", 9 | "Monitoring" : "Controllende", 10 | "Monitoring app with useful server information" : "Aplicatzione pro controllu cun informatziones ùtiles subra de su serbidore", 11 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Frunit informatziones ùtiles subra de su serbidore. comente càrrigu de CPU, impreu de RAM, impreu de discu, nùmeru de utentes, etc.", 12 | "Temperature" : "Temperadura", 13 | "Load" : "Càrrigu", 14 | "Memory" : "Memòria", 15 | "Disk" : "Discu", 16 | "Size:" : "Mannària:", 17 | "Files:" : "Archìviu:", 18 | "Storages:" : "Archiviatziones:", 19 | "Free Space:" : "Logu lìberu:", 20 | "Network" : "Rete", 21 | "Active users" : "Utèntzias ativas", 22 | "Total users:" : "Utèntzias totales:", 23 | "Shares" : "Cumpartziduras", 24 | "PHP" : "PHP", 25 | "Version:" : "Versione:", 26 | "Upload max size:" : "Mannària màssima de carrigamentu", 27 | "Database" : "Base de datos", 28 | "Type:" : "Genia:", 29 | "External monitoring tool" : "Trastu de controllu esternu", 30 | "You can connect an external monitoring tool by using this end point:" : "Podes collegare unu trastu de controllu esternu impreende custu terminadore:", 31 | "Copy" : "Còpia", 32 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "S'agiunta de \"?format=json\" a sa fine de s'URL ti frunit su resurtadu in JSON.", 33 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "A pustis passa su token cun s'intestatzione \"NC-Token\" cando rechedes s'URL in subra.", 34 | "You will get a notification once one of your disks is nearly full." : "As a retzire una notìfica cando unu de is discos tuos est acanta de si prènere de su totu." 35 | }, 36 | "nplurals=2; plural=(n != 1);"); 37 | -------------------------------------------------------------------------------- /l10n/hr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Podaci o CPU-u nisu dostupni", 5 | "Not supported!" : "Nije podržano!", 6 | "Press ⌘-C to copy." : "Pritisnite ⌘-C za kopiranje.", 7 | "Press Ctrl-C to copy." : "Pritisnite Ctrl-C za kopiranje.", 8 | "System" : "Sustav", 9 | "Monitoring" : "Praćenje", 10 | "Monitoring app with useful server information" : "Aplikacija za praćenje s korisnim informacijama o poslužitelju", 11 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Pruža korisne informacije o poslužitelju, kao što su opterećenje CPU-a, korištenje RAM-a, korištenje diska, broj korisnika itd.", 12 | "Temperature" : "Temperatura", 13 | "Load" : "Opterećenje", 14 | "Memory" : "Memorija", 15 | "Disk" : "Disk", 16 | "Size:" : "Veličina:", 17 | "Files:" : "Datoteke:", 18 | "Storages:" : "Pohrane:", 19 | "Free Space:" : "Slobodan prostor:", 20 | "Network" : "Mreža", 21 | "Active users" : "Aktivni korisnici", 22 | "Total users:" : "Ukupno korisnika:", 23 | "Shares" : "Dijeljenja", 24 | "Users:" : "Korisnici:", 25 | "PHP" : "PHP", 26 | "Version:" : "Inačica:", 27 | "Upload max size:" : "Maksimalna veličina za otpremu:", 28 | "Database" : "Baza podataka", 29 | "Type:" : "Vrsta:", 30 | "External monitoring tool" : "Vanjski alat za praćenje", 31 | "You can connect an external monitoring tool by using this end point:" : "Možete povezati vanjski alat za praćenje s pomoću ove krajnje točke:", 32 | "Copy" : "Kopiraj", 33 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Dodavanjem „?format = json” na kraj URL-a dobije se rezultat u JSON-u.", 34 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "Zatim proslijedite token sa zaglavljem „NC-Token“ prilikom slanja upita za gornji URL.", 35 | "You will get a notification once one of your disks is nearly full." : "Primit ćete obavijest kada je jedan od vaših diskova skoro pun." 36 | }, 37 | "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"); 38 | -------------------------------------------------------------------------------- /lib/Commands/UpdateStorageStats.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @author Arthur Schiwon 9 | * 10 | * @license GNU AGPL version 3 or any later version 11 | * 12 | * This program is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU Affero General Public License as 14 | * published by the Free Software Foundation, either version 3 of the 15 | * License, or (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU Affero General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU Affero General Public License 23 | * along with this program. If not, see . 24 | * 25 | */ 26 | 27 | namespace OCA\ServerInfoHetzner\Commands; 28 | 29 | use OC\Core\Command\Base; 30 | use OCA\ServerInfoHetzner\StorageStatistics; 31 | use Symfony\Component\Console\Input\InputInterface; 32 | use Symfony\Component\Console\Output\OutputInterface; 33 | 34 | class UpdateStorageStats extends Base { 35 | private StorageStatistics $storageStatistics; 36 | 37 | public function __construct(StorageStatistics $storageStatistics) { 38 | parent::__construct(); 39 | 40 | $this->storageStatistics = $storageStatistics; 41 | } 42 | 43 | public function configure(): void { 44 | parent::configure(); 45 | $this->setName('serverinfo_hetzner:update-storage-statistics') 46 | ->setDescription('Triggers an update of the counts related to storages used in serverinfo'); 47 | } 48 | 49 | public function execute(InputInterface $input, OutputInterface $output): int { 50 | if ($output->isVeryVerbose()) { 51 | $this->writeMixedInOutputFormat($input, $output, 'Updating database counts. This might take a while.'); 52 | } 53 | $this->storageStatistics->updateStorageCounts(); 54 | if ($output->isVerbose()) { 55 | $this->writeArrayInOutputFormat($input, $output, $this->storageStatistics->getStorageStatistics()); 56 | } 57 | return 0; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /lib/Settings/AdminSection.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @license GNU AGPL version 3 or any later version 9 | * 10 | * This program is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU Affero General Public License as 12 | * published by the Free Software Foundation, either version 3 of the 13 | * License, or (at your option) any later version. 14 | * 15 | * This program is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU Affero General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU Affero General Public License 21 | * along with this program. If not, see . 22 | * 23 | */ 24 | 25 | 26 | namespace OCA\ServerInfoHetzner\Settings; 27 | 28 | use OCP\IL10N; 29 | use OCP\IURLGenerator; 30 | use OCP\Settings\IIconSection; 31 | 32 | class AdminSection implements IIconSection { 33 | private IL10N $l; 34 | private IURLGenerator $url; 35 | 36 | public function __construct(IL10N $l, IURLGenerator $url) { 37 | $this->l = $l; 38 | $this->url = $url; 39 | } 40 | 41 | /** 42 | * returns the ID of the section. It is supposed to be a lower case string 43 | */ 44 | public function getID(): string { 45 | return 'serverinfo_hetzner'; 46 | } 47 | 48 | /** 49 | * returns the translated name as it should be displayed, e.g. 'LDAP / AD 50 | * integration'. Use the L10N service to translate it. 51 | */ 52 | public function getName(): string { 53 | return $this->l->t('System'); 54 | } 55 | 56 | /** 57 | * @return int whether the form should be rather on the top or bottom of 58 | * the settings navigation. The sections are arranged in ascending order of 59 | * the priority values. It is required to return a value between 0 and 99. 60 | * 61 | * keep the server setting at the top, right after "overview" and "basic settings" 62 | */ 63 | public function getPriority(): int { 64 | return 90; 65 | } 66 | 67 | /** 68 | * {@inheritdoc} 69 | */ 70 | public function getIcon(): string { 71 | return $this->url->imagePath('serverinfo_hetzner', 'app-dark.svg'); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /tests/lib/DummyTest.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @author Daniel Kesselberg 9 | * 10 | * @license GNU AGPL version 3 or any later version 11 | * 12 | * This program is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU Affero General Public License as 14 | * published by the Free Software Foundation, either version 3 of the 15 | * License, or (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU Affero General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU Affero General Public License 23 | * along with this program. If not, see . 24 | * 25 | */ 26 | 27 | namespace OCA\ServerInfoHetzner\Tests; 28 | 29 | use OCA\ServerInfoHetzner\OperatingSystems\Dummy; 30 | use PHPUnit\Framework\MockObject\MockObject; 31 | use Test\TestCase; 32 | 33 | class DummyTest extends TestCase { 34 | /** @var Dummy|MockObject */ 35 | protected $os; 36 | 37 | protected function setUp(): void { 38 | parent::setUp(); // TODO: Change the autogenerated stub 39 | 40 | $this->os = new Dummy(); 41 | } 42 | 43 | public function testGetMemory(): void { 44 | $memory = $this->os->getMemory(); 45 | 46 | $this->assertEquals(-1, $memory->getMemTotal()); 47 | $this->assertEquals(-1, $memory->getMemFree()); 48 | $this->assertEquals(-1, $memory->getMemAvailable()); 49 | $this->assertEquals(-1, $memory->getSwapTotal()); 50 | $this->assertEquals(-1, $memory->getSwapFree()); 51 | } 52 | 53 | public function testGetCpuName(): void { 54 | $this->assertEquals('Unknown Processor', $this->os->getCpuName()); 55 | } 56 | 57 | public function testGetUptime(): void { 58 | $this->assertEquals(-1, $this->os->getUptime()); 59 | } 60 | 61 | 62 | public function testGetDiskInfo(): void { 63 | $this->assertEquals([], $this->os->getDiskInfo()); 64 | } 65 | 66 | public function testSupported(): void { 67 | $this->assertFalse($this->os->supported()); 68 | } 69 | 70 | public function testGetNetworkInterfaces(): void { 71 | $this->assertEquals([], $this->os->getNetworkInterfaces()); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /lib/Resources/Disk.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * @author Daniel Kesselberg 8 | * 9 | * @license GNU AGPL version 3 or any later version 10 | * 11 | * This program is free software: you can redistribute it and/or modify 12 | * it under the terms of the GNU Affero General Public License as 13 | * published by the Free Software Foundation, either version 3 of the 14 | * License, or (at your option) any later version. 15 | * 16 | * This program is distributed in the hope that it will be useful, 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | * GNU Affero General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU Affero General Public License 22 | * along with this program. If not, see . 23 | * 24 | */ 25 | 26 | namespace OCA\ServerInfoHetzner\Resources; 27 | 28 | class Disk { 29 | private string $device = ''; 30 | private string $fs = ''; 31 | private int $used = 0; 32 | private int $available = 0; 33 | private string $percent = ''; 34 | private string $mount = ''; 35 | 36 | public function getDevice(): string { 37 | return $this->device; 38 | } 39 | 40 | public function setDevice(string $device): void { 41 | $this->device = $device; 42 | } 43 | 44 | public function getFs(): string { 45 | return $this->fs; 46 | } 47 | 48 | public function setFs(string $fs): void { 49 | $this->fs = $fs; 50 | } 51 | 52 | /** 53 | * @return int in MB 54 | */ 55 | public function getUsed(): int { 56 | return $this->used; 57 | } 58 | 59 | /** 60 | * @param int $used in MB 61 | */ 62 | public function setUsed(int $used): void { 63 | $this->used = $used; 64 | } 65 | 66 | /** 67 | * @return int in MB 68 | */ 69 | public function getAvailable(): int { 70 | return $this->available; 71 | } 72 | 73 | /** 74 | * @param int $available in MB 75 | */ 76 | public function setAvailable(int $available): void { 77 | $this->available = $available; 78 | } 79 | 80 | public function getPercent(): string { 81 | return $this->percent; 82 | } 83 | 84 | public function setPercent(string $percent): void { 85 | $this->percent = $percent; 86 | } 87 | 88 | public function getMount(): string { 89 | return $this->mount; 90 | } 91 | 92 | public function setMount(string $mount): void { 93 | $this->mount = $mount; 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /lib/SessionStatistics.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @license GNU AGPL version 3 or any later version 9 | * 10 | * This program is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU Affero General Public License as 12 | * published by the Free Software Foundation, either version 3 of the 13 | * License, or (at your option) any later version. 14 | * 15 | * This program is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU Affero General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU Affero General Public License 21 | * along with this program. If not, see . 22 | * 23 | */ 24 | 25 | 26 | namespace OCA\ServerInfoHetzner; 27 | 28 | use OCP\AppFramework\Utility\ITimeFactory; 29 | use OCP\IDBConnection; 30 | 31 | /** 32 | * Class SessionStatistics 33 | * 34 | * get active users 35 | * 36 | * @group DB 37 | * @package OCA\ServerInfoHetzner 38 | */ 39 | class SessionStatistics { 40 | private const OFFSET_5MIN = 300; 41 | private const OFFSET_1HOUR = 3600; 42 | private const OFFSET_1DAY = 86400; 43 | 44 | private IDBConnection $connection; 45 | private ITimeFactory $timeFactory; 46 | 47 | public function __construct(IDBConnection $connection, ITimeFactory $timeFactory) { 48 | $this->connection = $connection; 49 | $this->timeFactory = $timeFactory; 50 | } 51 | 52 | public function getSessionStatistics(): array { 53 | return [ 54 | 'last5minutes' => $this->getNumberOfActiveUsers(self::OFFSET_5MIN), 55 | 'last1hour' => $this->getNumberOfActiveUsers(self::OFFSET_1HOUR), 56 | 'last24hours' => $this->getNumberOfActiveUsers(self::OFFSET_1DAY), 57 | ]; 58 | } 59 | 60 | /** 61 | * get number of active user in a given time span 62 | * 63 | * @param int $offset seconds 64 | */ 65 | private function getNumberOfActiveUsers(int $offset): int { 66 | $query = $this->connection->getQueryBuilder(); 67 | $query->select('uid') 68 | ->from('authtoken') 69 | ->where($query->expr()->gte( 70 | 'last_activity', 71 | $query->createNamedParameter($this->timeFactory->getTime() - $offset) 72 | ))->groupBy('uid'); 73 | 74 | $result = $query->executeQuery(); 75 | $activeUsers = $result->fetchAll(); 76 | $result->closeCursor(); 77 | 78 | return count($activeUsers); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /tests/data/freebsd_net_get_interfaces.json: -------------------------------------------------------------------------------- 1 | { 2 | "epair0b": { 3 | "unicast": [ 4 | { 5 | "flags": 34915, 6 | "family": 18 7 | }, 8 | { 9 | "flags": 34915, 10 | "family": 28, 11 | "address": "fe80::a00:27ff:fe91:f84b", 12 | "netmask": "ffff:ffff:ffff:ffff::" 13 | }, 14 | { 15 | "flags": 34915, 16 | "family": 2, 17 | "address": "10.0.2.15", 18 | "netmask": "255.255.255.0", 19 | "broadcast": "10.0.2.255" 20 | } 21 | ], 22 | "up": true 23 | }, 24 | "pflog0": { 25 | "unicast": [ 26 | { 27 | "flags": 34915, 28 | "family": 18 29 | }, 30 | { 31 | "flags": 34915, 32 | "family": 2, 33 | "address": "192.168.2.20", 34 | "netmask": "255.255.255.0", 35 | "broadcast": "192.168.2.255" 36 | }, 37 | { 38 | "flags": 34915, 39 | "family": 28, 40 | "address": "fe80::a00:27ff:fe8b:d03d", 41 | "netmask": "ffff:ffff:ffff:ffff::" 42 | }, 43 | { 44 | "flags": 34915, 45 | "family": 2, 46 | "address": "192.168.2.21", 47 | "netmask": "255.255.255.0", 48 | "broadcast": "192.168.2.255" 49 | }, 50 | { 51 | "flags": 34915, 52 | "family": 2, 53 | "address": "192.168.2.22", 54 | "netmask": "255.255.255.0", 55 | "broadcast": "192.168.2.255" 56 | } 57 | ], 58 | "up": true 59 | }, 60 | "lo0": { 61 | "unicast": [ 62 | { 63 | "flags": 32841, 64 | "family": 18 65 | }, 66 | { 67 | "flags": 32841, 68 | "family": 28, 69 | "address": "::1", 70 | "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff" 71 | }, 72 | { 73 | "flags": 32841, 74 | "family": 28, 75 | "address": "fe80::1", 76 | "netmask": "ffff:ffff:ffff:ffff::" 77 | }, 78 | { 79 | "flags": 32841, 80 | "family": 2, 81 | "address": "127.0.0.1", 82 | "netmask": "255.0.0.0" 83 | } 84 | ], 85 | "up": true 86 | } 87 | } -------------------------------------------------------------------------------- /lib/OperatingSystems/IOperatingSystem.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @author Daniel Kesselberg 9 | * 10 | * @license GNU AGPL version 3 or any later version 11 | * 12 | * This program is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU Affero General Public License as 14 | * published by the Free Software Foundation, either version 3 of the 15 | * License, or (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU Affero General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU Affero General Public License 23 | * along with this program. If not, see . 24 | * 25 | */ 26 | 27 | namespace OCA\ServerInfoHetzner\OperatingSystems; 28 | 29 | use OCA\ServerInfoHetzner\Resources\Disk; 30 | use OCA\ServerInfoHetzner\Resources\Memory; 31 | use OCA\ServerInfoHetzner\Resources\NetInterface; 32 | use OCA\ServerInfoHetzner\Resources\ThermalZone; 33 | 34 | interface IOperatingSystem { 35 | public function supported(): bool; 36 | 37 | /** 38 | * Get name of the processor. 39 | * 40 | * @return string 41 | */ 42 | public function getCpuName(): string; 43 | 44 | /** 45 | * Get disk info returns a list of Disk objects. Used and Available in bytes. 46 | * 47 | * @return Disk[] 48 | */ 49 | public function getDiskInfo(): array; 50 | 51 | /** 52 | * Get memory returns a Memory object. All values are in bytes. 53 | * 54 | * @return Memory 55 | */ 56 | public function getMemory(): Memory; 57 | 58 | /** 59 | * Get info about network connection. 60 | * 61 | * [ 62 | * 'dns' => string, 63 | * 'gateway' => string, 64 | * 'hostname' => string, 65 | * ] 66 | */ 67 | public function getNetworkInfo(): array; 68 | 69 | /** 70 | * Get info about available network interfaces. 71 | * 72 | * @return NetInterface[] 73 | */ 74 | public function getNetworkInterfaces(): array; 75 | 76 | /** 77 | * Get system time and timezone. 78 | * Empty string in case of errors 79 | */ 80 | public function getTime(): string; 81 | 82 | /** 83 | * Get the total number of seconds the system has been up or -1 on failure. 84 | */ 85 | public function getUptime(): int; 86 | 87 | /** 88 | * Get info about available thermal zones. 89 | * 90 | * @return ThermalZone[] 91 | */ 92 | public function getThermalZones(): array; 93 | } 94 | -------------------------------------------------------------------------------- /lib/Resources/Memory.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * @author Daniel Kesselberg 8 | * 9 | * @license GNU AGPL version 3 or any later version 10 | * 11 | * This program is free software: you can redistribute it and/or modify 12 | * it under the terms of the GNU Affero General Public License as 13 | * published by the Free Software Foundation, either version 3 of the 14 | * License, or (at your option) any later version. 15 | * 16 | * This program is distributed in the hope that it will be useful, 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | * GNU Affero General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU Affero General Public License 22 | * along with this program. If not, see . 23 | * 24 | */ 25 | 26 | namespace OCA\ServerInfoHetzner\Resources; 27 | 28 | class Memory { 29 | private int $memTotal = -1; 30 | private int $memFree = -1; 31 | private int $memAvailable = -1; 32 | private int $swapTotal = -1; 33 | private int $swapFree = -1; 34 | 35 | /** 36 | * @return int in MB 37 | */ 38 | public function getMemTotal(): int { 39 | return $this->memTotal; 40 | } 41 | 42 | /** 43 | * @param int $memTotal in MB 44 | */ 45 | public function setMemTotal(int $memTotal): void { 46 | $this->memTotal = $memTotal; 47 | } 48 | 49 | /** 50 | * @return int in MB 51 | */ 52 | public function getMemFree(): int { 53 | return $this->memFree; 54 | } 55 | 56 | /** 57 | * @param int $memFree in MB 58 | */ 59 | public function setMemFree(int $memFree): void { 60 | $this->memFree = $memFree; 61 | } 62 | 63 | /** 64 | * @return int in MB 65 | */ 66 | public function getMemAvailable(): int { 67 | return $this->memAvailable; 68 | } 69 | 70 | /** 71 | * @param int $memAvailable in MB 72 | */ 73 | public function setMemAvailable(int $memAvailable): void { 74 | $this->memAvailable = $memAvailable; 75 | } 76 | 77 | /** 78 | * @return int in MB 79 | */ 80 | public function getSwapTotal(): int { 81 | return $this->swapTotal; 82 | } 83 | 84 | /** 85 | * @param int $swapTotal in MB 86 | */ 87 | public function setSwapTotal(int $swapTotal): void { 88 | $this->swapTotal = $swapTotal; 89 | } 90 | 91 | /** 92 | * @return int in MB 93 | */ 94 | public function getSwapFree(): int { 95 | return $this->swapFree; 96 | } 97 | 98 | /** 99 | * @param int $swapFree in MB 100 | */ 101 | public function setSwapFree(int $swapFree): void { 102 | $this->swapFree = $swapFree; 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /l10n/nb.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Info om prosessor er ikke tilgjengelig", 3 | "Load average: {cpu} (last minute)" : "Gjennomsnittslast: {cpu} (last minute)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "Minne: Totalt: {memTotalBytes}/Nåværende bruk: {memUsageBytes}", 5 | "RAM info not available" : "Info om minne er ikke tilgjengelig", 6 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: Totalt: {swapTotalBytes}/Nåværende bruk: {swapUsageBytes}", 7 | "SWAP info not available" : "Info om SWAP er ikke tilgjengelig", 8 | "Not supported!" : "Ikke støttet!", 9 | "Press ⌘-C to copy." : "Trykk ⌘-C for å kopiere.", 10 | "Press Ctrl-C to copy." : "Trykk Ctrl-C for å kopiere.", 11 | "System" : "System", 12 | "Monitoring" : "Overvåker", 13 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Gir nyttig serverinformasjon, som CPU-belastning, RAM-bruk, diskbruk, antall brukere, ned mere.", 14 | "Operating System:" : "Operativsystem:", 15 | "CPU:" : "CPU:", 16 | "Unknown Processor" : "Ukjent prosessor", 17 | "Memory:" : "Minne:", 18 | "Server time:" : "Servertid:", 19 | "Uptime:" : "Oppetid:", 20 | "Temperature" : "Temperatur", 21 | "Load" : "Last", 22 | "Memory" : "Minne", 23 | "Disk" : "Disk", 24 | "Mount:" : "Montering:", 25 | "Filesystem:" : "Filsystem:", 26 | "Size:" : "Størrelse:", 27 | "Available:" : "Tilgjengelig:", 28 | "Used:" : "Brukt:", 29 | "Files:" : "Filer:", 30 | "Storages:" : "Lagringer:", 31 | "Free Space:" : "Ledig plass:", 32 | "Network" : "Nettverk", 33 | "Hostname:" : "Servernavn:", 34 | "DNS:" : "DNS:", 35 | "Gateway:" : "Standardruter:", 36 | "Status:" : "Status:", 37 | "Speed:" : "Hastighet:", 38 | "Duplex:" : "Duplex:", 39 | "MAC:" : "MAC:", 40 | "IPv4:" : "IPv4:", 41 | "IPv6:" : "IPv6:", 42 | "Active users" : "Aktive brukere", 43 | "Total users:" : "Totalt antall brukere:", 44 | "24 hours:" : "24 timer:", 45 | "1 hour:" : "1 time:", 46 | "5 mins:" : "5 minutter:", 47 | "Shares" : "Delinger", 48 | "Users:" : "Brukere:", 49 | "Groups:" : "Grupper:", 50 | "Links:" : "Lenker:", 51 | "Emails:" : "E-poster:", 52 | "Talk conversations:" : "Talk-samtaler:", 53 | "PHP" : "PHP", 54 | "Version:" : "Versjon:", 55 | "Memory limit:" : "Minnegrense:", 56 | "Max execution time:" : "Maks. kjøringstid:", 57 | "Upload max size:" : "Maks. opplastingstørrelse:", 58 | "Database" : "Database", 59 | "Type:" : "Type:", 60 | "External monitoring tool" : "Eksternt overvåkingsverktøy", 61 | "Copy" : "Kopier", 62 | "You will get a notification once one of your disks is nearly full." : "Du vil motta et varsel når en av diskene dine er nesten full." 63 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 64 | } -------------------------------------------------------------------------------- /l10n/ja.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "CPU情報が利用できません", 3 | "Load average: {cpu} (last minute)" : "平均ロード: {cpu} (最終11分)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: 合計: {memTotalBytes}/現在の使用率: {memUsageBytes}", 5 | "RAM info not available" : "RAM情報が利用不可", 6 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "スワップ: 合計: {swapTotalBytes}/現在の使用率: {swapUsageBytes}", 7 | "SWAP info not available" : "SWAP情報なし", 8 | "Not supported!" : "対応していません!", 9 | "Press ⌘-C to copy." : "⌘-C でコピーします。", 10 | "Press Ctrl-C to copy." : "Ctrl-Cを押してコピーします。", 11 | "System" : "システム", 12 | "Monitoring" : "モニタリング", 13 | "Monitoring app with useful server information" : "有用なサーバー情報でアプリケーションを監視する", 14 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "CPU負荷、メモリ使用量、ディスク使用量、ユーザー数などの役に立つサーバー情報を提供します。", 15 | "Operating System:" : "OS:", 16 | "CPU:" : "CPU:", 17 | "Unknown Processor" : "不明なプロセッサー", 18 | "Memory:" : "メモリ:", 19 | "Server time:" : "サーバーの時間:", 20 | "Uptime:" : "稼働時間:", 21 | "Temperature" : "温度", 22 | "Load" : "負荷", 23 | "Memory" : "メモリ", 24 | "Disk" : "ディスク", 25 | "Mount:" : "マウント:", 26 | "Filesystem:" : "ファイルシステム:", 27 | "Size:" : "サイズ:", 28 | "Available:" : "利用可能:", 29 | "Used:" : "使用中:", 30 | "Files:" : "ファイル数:", 31 | "Storages:" : "ストレージ:", 32 | "Free Space:" : "空き容量:", 33 | "Network" : "ネットワーク", 34 | "Hostname:" : "ホスト名:", 35 | "DNS:" : "DNS:", 36 | "Gateway:" : "ゲートウェイ:", 37 | "Status:" : "ステータス:", 38 | "Speed:" : "速度:", 39 | "MAC:" : "MAC:", 40 | "IPv4:" : "IPv4:", 41 | "IPv6:" : "IPv6:", 42 | "Active users" : "アクティブユーザー数", 43 | "Total users:" : "総ユーザー数:", 44 | "Shares" : "共有数", 45 | "Users:" : "ユーザー数:", 46 | "PHP" : "PHP", 47 | "Version:" : "バージョン:", 48 | "Memory limit:" : "メモリ制限:", 49 | "Max execution time:" : "最大実行時間:", 50 | "Upload max size:" : "最大アップロードサイズ:", 51 | "Extensions:" : "拡張:", 52 | "Unable to list extensions" : "拡張リストを読み込めません", 53 | "Database" : "データベース", 54 | "Type:" : "タイプ:", 55 | "External monitoring tool" : "外部モニタリングツール", 56 | "You can connect an external monitoring tool by using this end point:" : "このエンドポイントを利用して外部モニタリングツールに接続することが可能です:", 57 | "Copy" : "コピー", 58 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "URLの最後に \"?format=json\" を追加すると、JSONの結果が得られます。", 59 | "To use an access token, please generate one then set it using the following command:" : "アクセストークンを使用するには、アクセストークンを生成し、以下のコマンドで設定してください。", 60 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "次に、上記のURLをクエリするときに、\"NC-Token\" ヘッダーでトークンを渡します。", 61 | "You will get a notification once one of your disks is nearly full." : "いずれかのディスクがいっぱいになると通知を受け取ります。" 62 | },"pluralForm" :"nplurals=1; plural=0;" 63 | } -------------------------------------------------------------------------------- /l10n/nb.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Info om prosessor er ikke tilgjengelig", 5 | "Load average: {cpu} (last minute)" : "Gjennomsnittslast: {cpu} (last minute)", 6 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "Minne: Totalt: {memTotalBytes}/Nåværende bruk: {memUsageBytes}", 7 | "RAM info not available" : "Info om minne er ikke tilgjengelig", 8 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: Totalt: {swapTotalBytes}/Nåværende bruk: {swapUsageBytes}", 9 | "SWAP info not available" : "Info om SWAP er ikke tilgjengelig", 10 | "Not supported!" : "Ikke støttet!", 11 | "Press ⌘-C to copy." : "Trykk ⌘-C for å kopiere.", 12 | "Press Ctrl-C to copy." : "Trykk Ctrl-C for å kopiere.", 13 | "System" : "System", 14 | "Monitoring" : "Overvåker", 15 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Gir nyttig serverinformasjon, som CPU-belastning, RAM-bruk, diskbruk, antall brukere, ned mere.", 16 | "Operating System:" : "Operativsystem:", 17 | "CPU:" : "CPU:", 18 | "Unknown Processor" : "Ukjent prosessor", 19 | "Memory:" : "Minne:", 20 | "Server time:" : "Servertid:", 21 | "Uptime:" : "Oppetid:", 22 | "Temperature" : "Temperatur", 23 | "Load" : "Last", 24 | "Memory" : "Minne", 25 | "Disk" : "Disk", 26 | "Mount:" : "Montering:", 27 | "Filesystem:" : "Filsystem:", 28 | "Size:" : "Størrelse:", 29 | "Available:" : "Tilgjengelig:", 30 | "Used:" : "Brukt:", 31 | "Files:" : "Filer:", 32 | "Storages:" : "Lagringer:", 33 | "Free Space:" : "Ledig plass:", 34 | "Network" : "Nettverk", 35 | "Hostname:" : "Servernavn:", 36 | "DNS:" : "DNS:", 37 | "Gateway:" : "Standardruter:", 38 | "Status:" : "Status:", 39 | "Speed:" : "Hastighet:", 40 | "Duplex:" : "Duplex:", 41 | "MAC:" : "MAC:", 42 | "IPv4:" : "IPv4:", 43 | "IPv6:" : "IPv6:", 44 | "Active users" : "Aktive brukere", 45 | "Total users:" : "Totalt antall brukere:", 46 | "24 hours:" : "24 timer:", 47 | "1 hour:" : "1 time:", 48 | "5 mins:" : "5 minutter:", 49 | "Shares" : "Delinger", 50 | "Users:" : "Brukere:", 51 | "Groups:" : "Grupper:", 52 | "Links:" : "Lenker:", 53 | "Emails:" : "E-poster:", 54 | "Talk conversations:" : "Talk-samtaler:", 55 | "PHP" : "PHP", 56 | "Version:" : "Versjon:", 57 | "Memory limit:" : "Minnegrense:", 58 | "Max execution time:" : "Maks. kjøringstid:", 59 | "Upload max size:" : "Maks. opplastingstørrelse:", 60 | "Database" : "Database", 61 | "Type:" : "Type:", 62 | "External monitoring tool" : "Eksternt overvåkingsverktøy", 63 | "Copy" : "Kopier", 64 | "You will get a notification once one of your disks is nearly full." : "Du vil motta et varsel når en av diskene dine er nesten full." 65 | }, 66 | "nplurals=2; plural=(n != 1);"); 67 | -------------------------------------------------------------------------------- /l10n/ja.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "CPU情報が利用できません", 5 | "Load average: {cpu} (last minute)" : "平均ロード: {cpu} (最終11分)", 6 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: 合計: {memTotalBytes}/現在の使用率: {memUsageBytes}", 7 | "RAM info not available" : "RAM情報が利用不可", 8 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "スワップ: 合計: {swapTotalBytes}/現在の使用率: {swapUsageBytes}", 9 | "SWAP info not available" : "SWAP情報なし", 10 | "Not supported!" : "対応していません!", 11 | "Press ⌘-C to copy." : "⌘-C でコピーします。", 12 | "Press Ctrl-C to copy." : "Ctrl-Cを押してコピーします。", 13 | "System" : "システム", 14 | "Monitoring" : "モニタリング", 15 | "Monitoring app with useful server information" : "有用なサーバー情報でアプリケーションを監視する", 16 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "CPU負荷、メモリ使用量、ディスク使用量、ユーザー数などの役に立つサーバー情報を提供します。", 17 | "Operating System:" : "OS:", 18 | "CPU:" : "CPU:", 19 | "Unknown Processor" : "不明なプロセッサー", 20 | "Memory:" : "メモリ:", 21 | "Server time:" : "サーバーの時間:", 22 | "Uptime:" : "稼働時間:", 23 | "Temperature" : "温度", 24 | "Load" : "負荷", 25 | "Memory" : "メモリ", 26 | "Disk" : "ディスク", 27 | "Mount:" : "マウント:", 28 | "Filesystem:" : "ファイルシステム:", 29 | "Size:" : "サイズ:", 30 | "Available:" : "利用可能:", 31 | "Used:" : "使用中:", 32 | "Files:" : "ファイル数:", 33 | "Storages:" : "ストレージ:", 34 | "Free Space:" : "空き容量:", 35 | "Network" : "ネットワーク", 36 | "Hostname:" : "ホスト名:", 37 | "DNS:" : "DNS:", 38 | "Gateway:" : "ゲートウェイ:", 39 | "Status:" : "ステータス:", 40 | "Speed:" : "速度:", 41 | "MAC:" : "MAC:", 42 | "IPv4:" : "IPv4:", 43 | "IPv6:" : "IPv6:", 44 | "Active users" : "アクティブユーザー数", 45 | "Total users:" : "総ユーザー数:", 46 | "Shares" : "共有数", 47 | "Users:" : "ユーザー数:", 48 | "PHP" : "PHP", 49 | "Version:" : "バージョン:", 50 | "Memory limit:" : "メモリ制限:", 51 | "Max execution time:" : "最大実行時間:", 52 | "Upload max size:" : "最大アップロードサイズ:", 53 | "Extensions:" : "拡張:", 54 | "Unable to list extensions" : "拡張リストを読み込めません", 55 | "Database" : "データベース", 56 | "Type:" : "タイプ:", 57 | "External monitoring tool" : "外部モニタリングツール", 58 | "You can connect an external monitoring tool by using this end point:" : "このエンドポイントを利用して外部モニタリングツールに接続することが可能です:", 59 | "Copy" : "コピー", 60 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "URLの最後に \"?format=json\" を追加すると、JSONの結果が得られます。", 61 | "To use an access token, please generate one then set it using the following command:" : "アクセストークンを使用するには、アクセストークンを生成し、以下のコマンドで設定してください。", 62 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "次に、上記のURLをクエリするときに、\"NC-Token\" ヘッダーでトークンを渡します。", 63 | "You will get a notification once one of your disks is nearly full." : "いずれかのディスクがいっぱいになると通知を受け取ります。" 64 | }, 65 | "nplurals=1; plural=0;"); 66 | -------------------------------------------------------------------------------- /lib/Resources/NetInterface.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * @author Daniel Kesselberg 8 | * 9 | * @license GNU AGPL version 3 or any later version 10 | * 11 | * This program is free software: you can redistribute it and/or modify 12 | * it under the terms of the GNU Affero General Public License as 13 | * published by the Free Software Foundation, either version 3 of the 14 | * License, or (at your option) any later version. 15 | * 16 | * This program is distributed in the hope that it will be useful, 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | * GNU Affero General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU Affero General Public License 22 | * along with this program. If not, see . 23 | * 24 | */ 25 | 26 | namespace OCA\ServerInfoHetzner\Resources; 27 | 28 | class NetInterface { 29 | private string $name = ''; 30 | private bool $up = false; 31 | private array $ipv4 = []; 32 | private array $ipv6 = []; 33 | private string $mac = ''; 34 | private string $speed = 'unknown'; 35 | private string $duplex = 'unknown'; 36 | private bool $loopback = false; 37 | 38 | public function __construct(string $name, bool $up) { 39 | $this->name = $name; 40 | $this->up = $up; 41 | } 42 | 43 | public function getName(): string { 44 | return $this->name; 45 | } 46 | 47 | public function setName(string $name): void { 48 | $this->name = $name; 49 | } 50 | 51 | public function isUp(): bool { 52 | return $this->up; 53 | } 54 | 55 | public function setUp(bool $up): void { 56 | $this->up = $up; 57 | } 58 | 59 | /** 60 | * @return string[] 61 | */ 62 | public function getIPv4(): array { 63 | return $this->ipv4; 64 | } 65 | 66 | public function addIPv4(string $ipv4): void { 67 | $this->ipv4[] = $ipv4; 68 | if ($ipv4 === '127.0.0.1') { 69 | $this->loopback = true; 70 | } 71 | } 72 | 73 | /** 74 | * @return string[] 75 | */ 76 | public function getIPv6(): array { 77 | return $this->ipv6; 78 | } 79 | 80 | public function addIPv6(string $ipv6): void { 81 | $this->ipv6[] = $ipv6; 82 | if ($ipv6 === '::1') { 83 | $this->loopback = true; 84 | } 85 | } 86 | 87 | public function getMAC(): string { 88 | return $this->mac; 89 | } 90 | 91 | public function setMAC(string $mac): void { 92 | $this->mac = $mac; 93 | } 94 | 95 | public function getSpeed(): string { 96 | return $this->speed; 97 | } 98 | 99 | public function setSpeed(string $speed): void { 100 | $this->speed = $speed; 101 | } 102 | 103 | public function getDuplex(): string { 104 | return $this->duplex; 105 | } 106 | 107 | public function setDuplex(string $duplex): void { 108 | $this->duplex = $duplex; 109 | } 110 | 111 | public function isLoopback(): bool { 112 | return $this->loopback; 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /l10n/zh_CN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "CPU 信息不可用", 3 | "Load average: {cpu} (last minute)" : "负载平均值: {cpu} (上一分钟)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: 总共:{memTotalBytes}/当前用量:{memUsageBytes}", 5 | "RAM info not available" : "RAM 信息不可用", 6 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: 总共:{swapTotalBytes}/当前用量:{swapUsageBytes}", 7 | "SWAP info not available" : "SWAP 信息不可用", 8 | "Not supported!" : "不支持!", 9 | "Press ⌘-C to copy." : "使用 ⌘-C 复制。", 10 | "Press Ctrl-C to copy." : "使用 Ctrl-C 复制。", 11 | "System" : "系统", 12 | "Monitoring" : "监视器", 13 | "Monitoring app with useful server information" : "Monitoring app 监控有用的服务器信息", 14 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "提供有用的服务器信息,例如 CPU 负载、内存占用、硬盘占用、在线用户数等。", 15 | "Operating System:" : "操作系统:", 16 | "CPU:" : "CPU:", 17 | "Unknown Processor" : "未知处理器", 18 | "Memory:" : "内存:", 19 | "Server time:" : "服务器时间:", 20 | "Uptime:" : "运行时长:", 21 | "Temperature" : "温度", 22 | "Load" : "负载", 23 | "Memory" : "内存", 24 | "Disk" : "磁盘", 25 | "Mount:" : "挂载:", 26 | "Filesystem:" : "文件系统:", 27 | "Size:" : "大小:", 28 | "Available:" : "可用:", 29 | "Used:" : "已使用:", 30 | "Files:" : "文件:", 31 | "Storages:" : "存储设备:", 32 | "Free Space:" : "剩余空间:", 33 | "Network" : "网络", 34 | "Hostname:" : "主机名:", 35 | "DNS:" : "DNS:", 36 | "Gateway:" : "网关:", 37 | "Status:" : "状态:", 38 | "Speed:" : "速度:", 39 | "Duplex:" : "复式:", 40 | "MAC:" : "MAC:", 41 | "IPv4:" : "IPv4:", 42 | "IPv6:" : "IPv6:", 43 | "Active users" : "活跃用户", 44 | "Total users:" : "总用户:", 45 | "24 hours:" : "24小时:", 46 | "1 hour:" : "1小时:", 47 | "5 mins:" : "5分钟:", 48 | "Shares" : "共享", 49 | "Users:" : "用户:", 50 | "Groups:" : "组别:", 51 | "Links:" : "链接:", 52 | "Emails:" : "邮箱:", 53 | "Federated sent:" : "联合云发送:", 54 | "Federated received:" : "联合云接收:", 55 | "Talk conversations:" : "通话应用对话:", 56 | "PHP" : "PHP", 57 | "Version:" : "版本:", 58 | "Memory limit:" : "内存限制:", 59 | "Max execution time:" : "最大执行时间:", 60 | "Upload max size:" : "最大上传大小:", 61 | "OPcache Revalidate Frequency:" : "OPcache重验证频率:", 62 | "Extensions:" : "扩展:", 63 | "Unable to list extensions" : "无法获取扩展列表", 64 | "Show phpinfo" : "显示phpinfo", 65 | "Database" : "数据库", 66 | "Type:" : "类型:", 67 | "External monitoring tool" : "外部监控工具", 68 | "You can connect an external monitoring tool by using this end point:" : "此地址可用于外部监控工具:", 69 | "Copy" : "复制", 70 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "在 URL 末尾附加 \"?format=json\" 会为您提供 JSON 结果。", 71 | "To use an access token, please generate one then set it using the following command:" : "要使用一个访问令牌,请生成一个,然后使用以下命令设置它:", 72 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "然后在查询上述 URL 时传递带有 “NC-Token” 头的令牌。", 73 | "You will get a notification once one of your disks is nearly full." : "当您的一个磁盘快满时您会收到通知。" 74 | },"pluralForm" :"nplurals=1; plural=0;" 75 | } -------------------------------------------------------------------------------- /l10n/zh_TW.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "CPU 資訊暫時無法使用", 3 | "Load average: {cpu} (last minute)" : "平均負載:{cpu}(前ㄧ分鐘)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM:總計 {memTotalBytes}/目前使用量:{memUsageBytes}", 5 | "RAM info not available" : "沒有可用的 RAM 資訊", 6 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP:總計 {swapTotalBytes}/目前使用量:{swapUsageBytes}", 7 | "SWAP info not available" : "沒有可用的 SWAP 資訊", 8 | "Not supported!" : "不支援!", 9 | "Press ⌘-C to copy." : "請按⌘-C以複製。", 10 | "Press Ctrl-C to copy." : "請按Ctrl-C以複製。", 11 | "System" : "系統", 12 | "Monitoring" : "監控", 13 | "Monitoring app with useful server information" : "使用有用的伺服器訊息以監控應用程式", 14 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "提供有用的伺服器訊息,例如CPU負載、記憶體使用情況、磁碟使用情況、用戶數等。", 15 | "Operating System:" : "作業系統:", 16 | "CPU:" : "CPU:", 17 | "Unknown Processor" : "未知的處理器", 18 | "Memory:" : "記憶體:", 19 | "Server time:" : "伺服器時間:", 20 | "Uptime:" : "運作時間:", 21 | "Temperature" : "氣溫", 22 | "Load" : "負載", 23 | "Memory" : "記憶體", 24 | "Disk" : "硬碟", 25 | "Mount:" : "掛載:", 26 | "Filesystem:" : "檔案系統:", 27 | "Size:" : "大小:", 28 | "Available:" : "可用:", 29 | "Used:" : "已使用:", 30 | "Files:" : "檔案:", 31 | "Storages:" : "儲存設備:", 32 | "Free Space:" : "可用空間:", 33 | "Network" : "網路", 34 | "Hostname:" : "主機名稱:", 35 | "DNS:" : "DNS:", 36 | "Gateway:" : "網路閘道:", 37 | "Status:" : "狀態:", 38 | "Speed:" : "速度:", 39 | "Duplex:" : "雙工:", 40 | "MAC:" : "MAC:", 41 | "IPv4:" : "IPv4:", 42 | "IPv6:" : "IPv6:", 43 | "Active users" : "活動中的使用者", 44 | "Total users:" : "總使用者:", 45 | "24 hours:" : "24小時:", 46 | "1 hour:" : "1小時:", 47 | "5 mins:" : "5分鐘:", 48 | "Shares" : "分享", 49 | "Users:" : "使用者:", 50 | "Groups:" : "群組:", 51 | "Links:" : "連結:", 52 | "Emails:" : "電子郵件:", 53 | "Federated sent:" : "聯盟傳送:", 54 | "Federated received:" : "聯盟接收:", 55 | "Talk conversations:" : "Talk 對話:", 56 | "PHP" : "PHP", 57 | "Version:" : "版本:", 58 | "Memory limit:" : "記憶體限制:", 59 | "Max execution time:" : "最大執行時間:", 60 | "Upload max size:" : "上傳至多:", 61 | "OPcache Revalidate Frequency:" : "OPcache 重新驗證頻率:", 62 | "Extensions:" : "擴充套件:", 63 | "Unable to list extensions" : "無法列出擴充套件", 64 | "Show phpinfo" : "顯示 phpinfo", 65 | "Database" : "資料庫", 66 | "Type:" : "類型:", 67 | "External monitoring tool" : "外部監控工具", 68 | "You can connect an external monitoring tool by using this end point:" : "您可以使用此端點連結外部監視工具:", 69 | "Copy" : "複製", 70 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "在 URL 結尾接上 \"?format=json\" 即可取得 JSON 格式的回傳結果。", 71 | "To use an access token, please generate one then set it using the following command:" : "要使用存取權杖,請產生一個,然後使用下列指令設定:", 72 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "然後在查詢上面的 URL 時,將權杖與「NC-Token」標頭一起傳遞。", 73 | "You will get a notification once one of your disks is nearly full." : "你將在硬碟使用量快要用完前收到一次通知。" 74 | },"pluralForm" :"nplurals=1; plural=0;" 75 | } -------------------------------------------------------------------------------- /l10n/zh_CN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "CPU 信息不可用", 5 | "Load average: {cpu} (last minute)" : "负载平均值: {cpu} (上一分钟)", 6 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: 总共:{memTotalBytes}/当前用量:{memUsageBytes}", 7 | "RAM info not available" : "RAM 信息不可用", 8 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: 总共:{swapTotalBytes}/当前用量:{swapUsageBytes}", 9 | "SWAP info not available" : "SWAP 信息不可用", 10 | "Not supported!" : "不支持!", 11 | "Press ⌘-C to copy." : "使用 ⌘-C 复制。", 12 | "Press Ctrl-C to copy." : "使用 Ctrl-C 复制。", 13 | "System" : "系统", 14 | "Monitoring" : "监视器", 15 | "Monitoring app with useful server information" : "Monitoring app 监控有用的服务器信息", 16 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "提供有用的服务器信息,例如 CPU 负载、内存占用、硬盘占用、在线用户数等。", 17 | "Operating System:" : "操作系统:", 18 | "CPU:" : "CPU:", 19 | "Unknown Processor" : "未知处理器", 20 | "Memory:" : "内存:", 21 | "Server time:" : "服务器时间:", 22 | "Uptime:" : "运行时长:", 23 | "Temperature" : "温度", 24 | "Load" : "负载", 25 | "Memory" : "内存", 26 | "Disk" : "磁盘", 27 | "Mount:" : "挂载:", 28 | "Filesystem:" : "文件系统:", 29 | "Size:" : "大小:", 30 | "Available:" : "可用:", 31 | "Used:" : "已使用:", 32 | "Files:" : "文件:", 33 | "Storages:" : "存储设备:", 34 | "Free Space:" : "剩余空间:", 35 | "Network" : "网络", 36 | "Hostname:" : "主机名:", 37 | "DNS:" : "DNS:", 38 | "Gateway:" : "网关:", 39 | "Status:" : "状态:", 40 | "Speed:" : "速度:", 41 | "Duplex:" : "复式:", 42 | "MAC:" : "MAC:", 43 | "IPv4:" : "IPv4:", 44 | "IPv6:" : "IPv6:", 45 | "Active users" : "活跃用户", 46 | "Total users:" : "总用户:", 47 | "24 hours:" : "24小时:", 48 | "1 hour:" : "1小时:", 49 | "5 mins:" : "5分钟:", 50 | "Shares" : "共享", 51 | "Users:" : "用户:", 52 | "Groups:" : "组别:", 53 | "Links:" : "链接:", 54 | "Emails:" : "邮箱:", 55 | "Federated sent:" : "联合云发送:", 56 | "Federated received:" : "联合云接收:", 57 | "Talk conversations:" : "通话应用对话:", 58 | "PHP" : "PHP", 59 | "Version:" : "版本:", 60 | "Memory limit:" : "内存限制:", 61 | "Max execution time:" : "最大执行时间:", 62 | "Upload max size:" : "最大上传大小:", 63 | "OPcache Revalidate Frequency:" : "OPcache重验证频率:", 64 | "Extensions:" : "扩展:", 65 | "Unable to list extensions" : "无法获取扩展列表", 66 | "Show phpinfo" : "显示phpinfo", 67 | "Database" : "数据库", 68 | "Type:" : "类型:", 69 | "External monitoring tool" : "外部监控工具", 70 | "You can connect an external monitoring tool by using this end point:" : "此地址可用于外部监控工具:", 71 | "Copy" : "复制", 72 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "在 URL 末尾附加 \"?format=json\" 会为您提供 JSON 结果。", 73 | "To use an access token, please generate one then set it using the following command:" : "要使用一个访问令牌,请生成一个,然后使用以下命令设置它:", 74 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "然后在查询上述 URL 时传递带有 “NC-Token” 头的令牌。", 75 | "You will get a notification once one of your disks is nearly full." : "当您的一个磁盘快满时您会收到通知。" 76 | }, 77 | "nplurals=1; plural=0;"); 78 | -------------------------------------------------------------------------------- /l10n/zh_HK.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "CPU 資訊暫時無法使用", 3 | "Load average: {cpu} (last minute)" : "平均負載:{cpu}(上一分鐘)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM:總計:{memTotalBytes}/當前使用情況:{memUsageBytes}", 5 | "RAM info not available" : "沒有可用的 RAM 資訊", 6 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP:總計:{swapTotalBytes}/當前使用量:{swapUsageBytes}", 7 | "SWAP info not available" : "沒有可用的 SWAP 資訊", 8 | "Not supported!" : "不支援!", 9 | "Press ⌘-C to copy." : "請按【⌘-C】以複製。", 10 | "Press Ctrl-C to copy." : "請按【Ctrl-C】以複製。", 11 | "System" : "系統", 12 | "Monitoring" : "監控", 13 | "Monitoring app with useful server information" : "使用有用的伺服器訊息以監控應用程式", 14 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "提供有用的伺服器訊息,例如CPU負載、記憶體使用情況、磁碟使用情況、用戶數等。", 15 | "Operating System:" : "作業系統:", 16 | "CPU:" : "CPU:", 17 | "Unknown Processor" : "處理器不詳", 18 | "Memory:" : "記憶體:", 19 | "Server time:" : "伺服器時間:", 20 | "Uptime:" : "運行時間:", 21 | "Temperature" : "體溫", 22 | "Load" : "負載", 23 | "Memory" : "記憶體", 24 | "Disk" : "硬碟", 25 | "Mount:" : "掛載:", 26 | "Filesystem:" : "檔案系統:", 27 | "Size:" : "大小:", 28 | "Available:" : "可用:", 29 | "Used:" : "已使用:", 30 | "Files:" : "檔案:", 31 | "Storages:" : "儲存設備:", 32 | "Free Space:" : "可用空間:", 33 | "Network" : "網絡", 34 | "Hostname:" : "主機名稱:", 35 | "DNS:" : "DNS:", 36 | "Gateway:" : "網關:", 37 | "Status:" : "狀態:", 38 | "Speed:" : "速度:", 39 | "Duplex:" : "複式︰", 40 | "MAC:" : "MAC:", 41 | "IPv4:" : "IPv4:", 42 | "IPv6:" : "IPv6:", 43 | "Active users" : "活躍用戶", 44 | "Total users:" : "總用戶:", 45 | "24 hours:" : "24 小時︰", 46 | "1 hour:" : "1 小時︰", 47 | "5 mins:" : "5 分鐘︰", 48 | "Shares" : "分享", 49 | "Users:" : "用戶︰", 50 | "Groups:" : "群組︰", 51 | "Links:" : "連結︰", 52 | "Emails:" : "電郵地址:", 53 | "Federated sent:" : "聯盟發送︰", 54 | "Federated received:" : "聯盟接收︰", 55 | "Talk conversations:" : "Talk 對話︰", 56 | "PHP" : "PHP", 57 | "Version:" : "版本:", 58 | "Memory limit:" : "記憶體限制:", 59 | "Max execution time:" : "最長執行時間:", 60 | "Upload max size:" : "上傳至多:", 61 | "OPcache Revalidate Frequency:" : "OPcache 重新驗證頻率:", 62 | "Extensions:" : "PHP 擴展:", 63 | "Unable to list extensions" : "無法列出 PHP 擴展", 64 | "Show phpinfo" : "顯示 phpinfo", 65 | "Database" : "數據庫", 66 | "Type:" : "類型:", 67 | "External monitoring tool" : "外部監控工具", 68 | "You can connect an external monitoring tool by using this end point:" : "您可以使用此終端連接外部監視工具:", 69 | "Copy" : "複製", 70 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "在URL後面連接參數 \"?format=json\" 將會得到json格式的回傳結果。", 71 | "To use an access token, please generate one then set it using the following command:" : "要使用存取權杖,請生成一個權杖,然後使用以下命令對其進行設置:", 72 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "然後在查詢上述 URL 時將權杖與 “ NC-Token” 標頭一起傳遞。", 73 | "You will get a notification once one of your disks is nearly full." : "你將在其中一個硬碟快滿前收到通知。" 74 | },"pluralForm" :"nplurals=1; plural=0;" 75 | } -------------------------------------------------------------------------------- /l10n/zh_TW.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "CPU 資訊暫時無法使用", 5 | "Load average: {cpu} (last minute)" : "平均負載:{cpu}(前ㄧ分鐘)", 6 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM:總計 {memTotalBytes}/目前使用量:{memUsageBytes}", 7 | "RAM info not available" : "沒有可用的 RAM 資訊", 8 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP:總計 {swapTotalBytes}/目前使用量:{swapUsageBytes}", 9 | "SWAP info not available" : "沒有可用的 SWAP 資訊", 10 | "Not supported!" : "不支援!", 11 | "Press ⌘-C to copy." : "請按⌘-C以複製。", 12 | "Press Ctrl-C to copy." : "請按Ctrl-C以複製。", 13 | "System" : "系統", 14 | "Monitoring" : "監控", 15 | "Monitoring app with useful server information" : "使用有用的伺服器訊息以監控應用程式", 16 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "提供有用的伺服器訊息,例如CPU負載、記憶體使用情況、磁碟使用情況、用戶數等。", 17 | "Operating System:" : "作業系統:", 18 | "CPU:" : "CPU:", 19 | "Unknown Processor" : "未知的處理器", 20 | "Memory:" : "記憶體:", 21 | "Server time:" : "伺服器時間:", 22 | "Uptime:" : "運作時間:", 23 | "Temperature" : "氣溫", 24 | "Load" : "負載", 25 | "Memory" : "記憶體", 26 | "Disk" : "硬碟", 27 | "Mount:" : "掛載:", 28 | "Filesystem:" : "檔案系統:", 29 | "Size:" : "大小:", 30 | "Available:" : "可用:", 31 | "Used:" : "已使用:", 32 | "Files:" : "檔案:", 33 | "Storages:" : "儲存設備:", 34 | "Free Space:" : "可用空間:", 35 | "Network" : "網路", 36 | "Hostname:" : "主機名稱:", 37 | "DNS:" : "DNS:", 38 | "Gateway:" : "網路閘道:", 39 | "Status:" : "狀態:", 40 | "Speed:" : "速度:", 41 | "Duplex:" : "雙工:", 42 | "MAC:" : "MAC:", 43 | "IPv4:" : "IPv4:", 44 | "IPv6:" : "IPv6:", 45 | "Active users" : "活動中的使用者", 46 | "Total users:" : "總使用者:", 47 | "24 hours:" : "24小時:", 48 | "1 hour:" : "1小時:", 49 | "5 mins:" : "5分鐘:", 50 | "Shares" : "分享", 51 | "Users:" : "使用者:", 52 | "Groups:" : "群組:", 53 | "Links:" : "連結:", 54 | "Emails:" : "電子郵件:", 55 | "Federated sent:" : "聯盟傳送:", 56 | "Federated received:" : "聯盟接收:", 57 | "Talk conversations:" : "Talk 對話:", 58 | "PHP" : "PHP", 59 | "Version:" : "版本:", 60 | "Memory limit:" : "記憶體限制:", 61 | "Max execution time:" : "最大執行時間:", 62 | "Upload max size:" : "上傳至多:", 63 | "OPcache Revalidate Frequency:" : "OPcache 重新驗證頻率:", 64 | "Extensions:" : "擴充套件:", 65 | "Unable to list extensions" : "無法列出擴充套件", 66 | "Show phpinfo" : "顯示 phpinfo", 67 | "Database" : "資料庫", 68 | "Type:" : "類型:", 69 | "External monitoring tool" : "外部監控工具", 70 | "You can connect an external monitoring tool by using this end point:" : "您可以使用此端點連結外部監視工具:", 71 | "Copy" : "複製", 72 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "在 URL 結尾接上 \"?format=json\" 即可取得 JSON 格式的回傳結果。", 73 | "To use an access token, please generate one then set it using the following command:" : "要使用存取權杖,請產生一個,然後使用下列指令設定:", 74 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "然後在查詢上面的 URL 時,將權杖與「NC-Token」標頭一起傳遞。", 75 | "You will get a notification once one of your disks is nearly full." : "你將在硬碟使用量快要用完前收到一次通知。" 76 | }, 77 | "nplurals=1; plural=0;"); 78 | -------------------------------------------------------------------------------- /l10n/zh_HK.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "CPU 資訊暫時無法使用", 5 | "Load average: {cpu} (last minute)" : "平均負載:{cpu}(上一分鐘)", 6 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM:總計:{memTotalBytes}/當前使用情況:{memUsageBytes}", 7 | "RAM info not available" : "沒有可用的 RAM 資訊", 8 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP:總計:{swapTotalBytes}/當前使用量:{swapUsageBytes}", 9 | "SWAP info not available" : "沒有可用的 SWAP 資訊", 10 | "Not supported!" : "不支援!", 11 | "Press ⌘-C to copy." : "請按【⌘-C】以複製。", 12 | "Press Ctrl-C to copy." : "請按【Ctrl-C】以複製。", 13 | "System" : "系統", 14 | "Monitoring" : "監控", 15 | "Monitoring app with useful server information" : "使用有用的伺服器訊息以監控應用程式", 16 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "提供有用的伺服器訊息,例如CPU負載、記憶體使用情況、磁碟使用情況、用戶數等。", 17 | "Operating System:" : "作業系統:", 18 | "CPU:" : "CPU:", 19 | "Unknown Processor" : "處理器不詳", 20 | "Memory:" : "記憶體:", 21 | "Server time:" : "伺服器時間:", 22 | "Uptime:" : "運行時間:", 23 | "Temperature" : "體溫", 24 | "Load" : "負載", 25 | "Memory" : "記憶體", 26 | "Disk" : "硬碟", 27 | "Mount:" : "掛載:", 28 | "Filesystem:" : "檔案系統:", 29 | "Size:" : "大小:", 30 | "Available:" : "可用:", 31 | "Used:" : "已使用:", 32 | "Files:" : "檔案:", 33 | "Storages:" : "儲存設備:", 34 | "Free Space:" : "可用空間:", 35 | "Network" : "網絡", 36 | "Hostname:" : "主機名稱:", 37 | "DNS:" : "DNS:", 38 | "Gateway:" : "網關:", 39 | "Status:" : "狀態:", 40 | "Speed:" : "速度:", 41 | "Duplex:" : "複式︰", 42 | "MAC:" : "MAC:", 43 | "IPv4:" : "IPv4:", 44 | "IPv6:" : "IPv6:", 45 | "Active users" : "活躍用戶", 46 | "Total users:" : "總用戶:", 47 | "24 hours:" : "24 小時︰", 48 | "1 hour:" : "1 小時︰", 49 | "5 mins:" : "5 分鐘︰", 50 | "Shares" : "分享", 51 | "Users:" : "用戶︰", 52 | "Groups:" : "群組︰", 53 | "Links:" : "連結︰", 54 | "Emails:" : "電郵地址:", 55 | "Federated sent:" : "聯盟發送︰", 56 | "Federated received:" : "聯盟接收︰", 57 | "Talk conversations:" : "Talk 對話︰", 58 | "PHP" : "PHP", 59 | "Version:" : "版本:", 60 | "Memory limit:" : "記憶體限制:", 61 | "Max execution time:" : "最長執行時間:", 62 | "Upload max size:" : "上傳至多:", 63 | "OPcache Revalidate Frequency:" : "OPcache 重新驗證頻率:", 64 | "Extensions:" : "PHP 擴展:", 65 | "Unable to list extensions" : "無法列出 PHP 擴展", 66 | "Show phpinfo" : "顯示 phpinfo", 67 | "Database" : "數據庫", 68 | "Type:" : "類型:", 69 | "External monitoring tool" : "外部監控工具", 70 | "You can connect an external monitoring tool by using this end point:" : "您可以使用此終端連接外部監視工具:", 71 | "Copy" : "複製", 72 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "在URL後面連接參數 \"?format=json\" 將會得到json格式的回傳結果。", 73 | "To use an access token, please generate one then set it using the following command:" : "要使用存取權杖,請生成一個權杖,然後使用以下命令對其進行設置:", 74 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "然後在查詢上述 URL 時將權杖與 “ NC-Token” 標頭一起傳遞。", 75 | "You will get a notification once one of your disks is nearly full." : "你將在其中一個硬碟快滿前收到通知。" 76 | }, 77 | "nplurals=1; plural=0;"); 78 | -------------------------------------------------------------------------------- /l10n/nl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "CPU info niet beschikbaar", 3 | "Load average: {cpu} (last minute)" : "Gemiddelde belasting: {cpu} (laatste minuut)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: Totaal: {memTotalBytes}/Huidig gebruik: {memUsageBytes}", 5 | "RAM info not available" : "RAM-info niet beschikbaar", 6 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: Totaal: {swapTotalBytes}/Huidig gebruik: {swapUsageBytes}", 7 | "SWAP info not available" : "SWAP-info niet beschikbaar", 8 | "Not supported!" : "Niet ondersteund", 9 | "Press ⌘-C to copy." : "Druk op ⌘-C om te kopiëren.", 10 | "Press Ctrl-C to copy." : "Druk op Ctrl-C om te kopiëren.", 11 | "System" : "Systeem", 12 | "Monitoring" : "Monitoren", 13 | "Monitoring app with useful server information" : "Monitor app met nuttige serverinformatie", 14 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Toont nuttige serverinformatie, zoals CPU belasting, RAM gebruik, disk gebruik, aantal gebruikers, etc.", 15 | "Operating System:" : "Besturingssysteem:", 16 | "CPU:" : "CPU:", 17 | "Unknown Processor" : "Onbekende Processor", 18 | "Memory:" : "Geheugen:", 19 | "Server time:" : "Servertijd:", 20 | "Uptime:" : "Bedrijfstijd:", 21 | "Temperature" : "Temperatuur", 22 | "Load" : "Belasting", 23 | "Memory" : "Geheugen", 24 | "Disk" : "Schijf", 25 | "Filesystem:" : "Bestandssysteem:", 26 | "Size:" : "Grootte:", 27 | "Available:" : "Beschikbaar:", 28 | "Used:" : "Gebruikt:", 29 | "Files:" : "Bestanden:", 30 | "Storages:" : "Opslag:", 31 | "Free Space:" : "Vrije ruimte:", 32 | "Network" : "Netwerk", 33 | "DNS:" : "DNS:", 34 | "Gateway:" : "Gateway:", 35 | "Status:" : "Status:", 36 | "Speed:" : "Snelheid:", 37 | "MAC:" : "MAC:", 38 | "IPv4:" : "IPv4:", 39 | "IPv6:" : "IPv6:", 40 | "Active users" : "Actieve gebruikers", 41 | "Total users:" : "Totaal aantal gebruikers:", 42 | "Shares" : "Shares", 43 | "Users:" : "Gebruikers:", 44 | "PHP" : "PHP", 45 | "Version:" : "Versie:", 46 | "Memory limit:" : "Geheugen limiet:", 47 | "Upload max size:" : "Max uploadomvang:", 48 | "Extensions:" : "Extensies:", 49 | "Database" : "Database", 50 | "Type:" : "Type:", 51 | "External monitoring tool" : "Externe monitoring tool", 52 | "You can connect an external monitoring tool by using this end point:" : "Je kunt een externe monitor-tool verbinden door dit end point te gebruiken:", 53 | "Copy" : "Kopiëren", 54 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Wanneer je \"?format=json\" toevoegt aan het einde van de URL ontvang je het resultaat in JSON", 55 | "To use an access token, please generate one then set it using the following command:" : "Om een ​​toegangstoken te gebruiken, genereert u er een en stelt u deze in met de volgende opdracht:", 56 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "Geef vervolgens het token met de \"NC-Token\" -header door bij het opvragen van de bovenstaande URL.", 57 | "You will get a notification once one of your disks is nearly full." : "Je krijgt een melding als een van je schijven bijna vol is." 58 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 59 | } -------------------------------------------------------------------------------- /l10n/nl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "CPU info niet beschikbaar", 5 | "Load average: {cpu} (last minute)" : "Gemiddelde belasting: {cpu} (laatste minuut)", 6 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: Totaal: {memTotalBytes}/Huidig gebruik: {memUsageBytes}", 7 | "RAM info not available" : "RAM-info niet beschikbaar", 8 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: Totaal: {swapTotalBytes}/Huidig gebruik: {swapUsageBytes}", 9 | "SWAP info not available" : "SWAP-info niet beschikbaar", 10 | "Not supported!" : "Niet ondersteund", 11 | "Press ⌘-C to copy." : "Druk op ⌘-C om te kopiëren.", 12 | "Press Ctrl-C to copy." : "Druk op Ctrl-C om te kopiëren.", 13 | "System" : "Systeem", 14 | "Monitoring" : "Monitoren", 15 | "Monitoring app with useful server information" : "Monitor app met nuttige serverinformatie", 16 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Toont nuttige serverinformatie, zoals CPU belasting, RAM gebruik, disk gebruik, aantal gebruikers, etc.", 17 | "Operating System:" : "Besturingssysteem:", 18 | "CPU:" : "CPU:", 19 | "Unknown Processor" : "Onbekende Processor", 20 | "Memory:" : "Geheugen:", 21 | "Server time:" : "Servertijd:", 22 | "Uptime:" : "Bedrijfstijd:", 23 | "Temperature" : "Temperatuur", 24 | "Load" : "Belasting", 25 | "Memory" : "Geheugen", 26 | "Disk" : "Schijf", 27 | "Filesystem:" : "Bestandssysteem:", 28 | "Size:" : "Grootte:", 29 | "Available:" : "Beschikbaar:", 30 | "Used:" : "Gebruikt:", 31 | "Files:" : "Bestanden:", 32 | "Storages:" : "Opslag:", 33 | "Free Space:" : "Vrije ruimte:", 34 | "Network" : "Netwerk", 35 | "DNS:" : "DNS:", 36 | "Gateway:" : "Gateway:", 37 | "Status:" : "Status:", 38 | "Speed:" : "Snelheid:", 39 | "MAC:" : "MAC:", 40 | "IPv4:" : "IPv4:", 41 | "IPv6:" : "IPv6:", 42 | "Active users" : "Actieve gebruikers", 43 | "Total users:" : "Totaal aantal gebruikers:", 44 | "Shares" : "Shares", 45 | "Users:" : "Gebruikers:", 46 | "PHP" : "PHP", 47 | "Version:" : "Versie:", 48 | "Memory limit:" : "Geheugen limiet:", 49 | "Upload max size:" : "Max uploadomvang:", 50 | "Extensions:" : "Extensies:", 51 | "Database" : "Database", 52 | "Type:" : "Type:", 53 | "External monitoring tool" : "Externe monitoring tool", 54 | "You can connect an external monitoring tool by using this end point:" : "Je kunt een externe monitor-tool verbinden door dit end point te gebruiken:", 55 | "Copy" : "Kopiëren", 56 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Wanneer je \"?format=json\" toevoegt aan het einde van de URL ontvang je het resultaat in JSON", 57 | "To use an access token, please generate one then set it using the following command:" : "Om een ​​toegangstoken te gebruiken, genereert u er een en stelt u deze in met de volgende opdracht:", 58 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "Geef vervolgens het token met de \"NC-Token\" -header door bij het opvragen van de bovenstaande URL.", 59 | "You will get a notification once one of your disks is nearly full." : "Je krijgt een melding als een van je schijven bijna vol is." 60 | }, 61 | "nplurals=2; plural=(n != 1);"); 62 | -------------------------------------------------------------------------------- /l10n/et_EE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Protsessori info pole saadaval", 3 | "Load average: {cpu} (last minute)" : "Keskmine koormus: {cpu} (last minute)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "Mälu: Kokku: {memTotalBytes}/Kasutusel: {memUsageBytes}", 5 | "RAM info not available" : "Vahemälu info pole saadaval", 6 | "Not supported!" : "Pole toetatud!", 7 | "Press ⌘-C to copy." : "Kopeerimiseks vajuta ⌘+C.", 8 | "Press Ctrl-C to copy." : "Kopeerimiseks vajuta Ctrl+C.", 9 | "System" : "Süsteem", 10 | "Monitoring" : "Monitooring", 11 | "Monitoring app with useful server information" : "Monitoorimisrakendus kasuliku infoga serveri kohta", 12 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Näitab kasulikku infot serveri kohta, näiteks protsessori koormus, mälukasutus, kettaruum, kasutajate arv jne.", 13 | "Operating System:" : "Operatsioonisüsteem:", 14 | "CPU:" : "Protsessor:", 15 | "Unknown Processor" : "Tundmatu protsessor", 16 | "Memory:" : "Vahemälu:", 17 | "Server time:" : "Serveri aeg:", 18 | "Uptime:" : "Aktiivaeg:", 19 | "Temperature" : "Temperatuur", 20 | "Load" : "Koormus", 21 | "Memory" : "Vahemälu", 22 | "Disk" : "Ketas", 23 | "Mount:" : "Maunt:", 24 | "Filesystem:" : "Failisüsteem:", 25 | "Size:" : "Suurus:", 26 | "Available:" : "Saadaval:", 27 | "Used:" : "Kasutusel:", 28 | "Files:" : "Faile:", 29 | "Free Space:" : "Vaba ruum:", 30 | "Network" : "Võrk", 31 | "Hostname:" : "Hostinimi:", 32 | "DNS:" : "Nimeserver:", 33 | "Gateway:" : "Võrgulüüs:", 34 | "Status:" : "Seisund:", 35 | "Speed:" : "Kiirus:", 36 | "Duplex:" : "Dupleks:", 37 | "MAC:" : "MAC:", 38 | "IPv4:" : "IPv4:", 39 | "IPv6:" : "IPv6:", 40 | "Active users" : "Aktiivseid kasutajaid", 41 | "Total users:" : "Kasutajaid kokku:", 42 | "24 hours:" : "24 tundi:", 43 | "1 hour:" : "1 tund:", 44 | "5 mins:" : "5 minutit:", 45 | "Shares" : "Jaoskaustad", 46 | "Users:" : "Kasutajaid:", 47 | "Groups:" : "Gruppe:", 48 | "Links:" : "Linke:", 49 | "Emails:" : "E-kirju:", 50 | "PHP" : "PHP", 51 | "Version:" : "Versioon:", 52 | "Memory limit:" : "Mälulimiit:", 53 | "Max execution time:" : "Maksimaalne täitmisaeg:", 54 | "Upload max size:" : "Maksimaalne üleslaadimissuurus:", 55 | "Extensions:" : "Laiendused:", 56 | "Unable to list extensions" : "Laienduste loetlemine ebaõnnestus", 57 | "Database" : "Andmebaas", 58 | "Type:" : "Tüüp:", 59 | "External monitoring tool" : "Väline monitoorimistööriist", 60 | "You can connect an external monitoring tool by using this end point:" : "Saad välise monitoorimistööriista ühendada selle lõpp-punkti abil:", 61 | "Copy" : "Kopeeri", 62 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Lisades URL-i lõppu \"?format=json\", saad tulemused JSON-formaadis.", 63 | "To use an access token, please generate one then set it using the following command:" : "Ligipääsutunnuse kasutamiseks genereeri see ja seadista alljärgneva käsu abil:", 64 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "Seejärel saada tunnus ülaloleva URL-i pärimisel \"NC-Token\" päisega.", 65 | "You will get a notification once one of your disks is nearly full." : "Saad teavituse, kui mõni ketastest on peaaegu täis." 66 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 67 | } -------------------------------------------------------------------------------- /l10n/fi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Suorittimen tietoja ei ole saatavilla", 3 | "Load average: {cpu} (last minute)" : "Keskimääräinen kuorma: {cpu} (viimeisin minuutti)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: Yhteensä: {memTotalBytes}/Nykyinen käyttö: {memUsageBytes}", 5 | "RAM info not available" : "RAM-tietoja ei saatavilla", 6 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: Yhteensä: {swapTotalBytes}/Nykyinen käyttö: {swapUsageBytes}", 7 | "SWAP info not available" : "SWAP-tietoja ei saatavilla", 8 | "Not supported!" : "Ei tuettu!", 9 | "Press ⌘-C to copy." : "Paina ⌘-C kopioidaksesi.", 10 | "Press Ctrl-C to copy." : "Paina Ctrl-C kopioidaksesi.", 11 | "System" : "Järjestelmä", 12 | "Monitoring" : "Valvonta", 13 | "Monitoring app with useful server information" : "Valvontasovellus sisältäen hyödyllisiä tietoja palvelimesta", 14 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Näyttää hyödyllisiä tietoja palvelimesta, kuten suorittimen kuorman, muistin ja levytilan käytön, käyttäjien määrän jne.", 15 | "Operating System:" : "Käyttöjärjestelmä:", 16 | "CPU:" : "Suoritin:", 17 | "Unknown Processor" : "Tuntematon suoritin", 18 | "Memory:" : "Muisti:", 19 | "Server time:" : "Palvelimen aika:", 20 | "Uptime:" : "Käynnissäoloaika:", 21 | "Temperature" : "Lämpötila", 22 | "Load" : "Kuorma", 23 | "Memory" : "Muisti", 24 | "Disk" : "Levy", 25 | "Mount:" : "Liitospiste:", 26 | "Filesystem:" : "Tiedostojärjestelmä:", 27 | "Size:" : "Koko:", 28 | "Available:" : "Saatavilla:", 29 | "Used:" : "Käytetty:", 30 | "Files:" : "Tiedostoja:", 31 | "Storages:" : "Tallennustilat:", 32 | "Free Space:" : "Vapaata tilaa:", 33 | "Network" : "Verkko", 34 | "Hostname:" : "Tietokoneen nimi:", 35 | "DNS:" : "Nimipalvelu:", 36 | "Gateway:" : "Yhdyskäytävä:", 37 | "Status:" : "Tila:", 38 | "Speed:" : "Nopeus:", 39 | "MAC:" : "MAC:", 40 | "IPv4:" : "IPv4:", 41 | "IPv6:" : "IPv6:", 42 | "Active users" : "Aktiiviset käyttäjät", 43 | "Total users:" : "Käyttäjiä yhteensä:", 44 | "24 hours:" : "24 tuntia:", 45 | "1 hour:" : "1 tunti:", 46 | "5 mins:" : "5 min:", 47 | "Shares" : "Jaot", 48 | "Users:" : "Käyttäjiä:", 49 | "Groups:" : "Ryhmät:", 50 | "Links:" : "Linkit:", 51 | "Emails:" : "Sähköpostit:", 52 | "Talk conversations:" : "Talk-keskustelut:", 53 | "PHP" : "PHP", 54 | "Version:" : "Versio:", 55 | "Memory limit:" : "Muistin raja:", 56 | "Max execution time:" : "Suoritusaika enintään:", 57 | "Upload max size:" : "Suurin lähetyksen koko:", 58 | "Extensions:" : "Laajennukset:", 59 | "Unable to list extensions" : "Laajennuksia ei voi listata", 60 | "Database" : "Tietokanta", 61 | "Type:" : "Tyyppi:", 62 | "External monitoring tool" : "Ulkopuolinen valvontatyökalu", 63 | "You can connect an external monitoring tool by using this end point:" : "Voit yhdistää ulkopuolisen valvontatyökalun käyttämällä tätä liityntäkohtaa:", 64 | "Copy" : "Kopioi", 65 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Lisää \"?format=json\" URL-osoitteen loppuun saadaksesi tuloksen JSON-muodossa.", 66 | "You will get a notification once one of your disks is nearly full." : "Saat ilmoituksen, kun jokin levyistä on melkein täynnä." 67 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 68 | } -------------------------------------------------------------------------------- /l10n/et_EE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Protsessori info pole saadaval", 5 | "Load average: {cpu} (last minute)" : "Keskmine koormus: {cpu} (last minute)", 6 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "Mälu: Kokku: {memTotalBytes}/Kasutusel: {memUsageBytes}", 7 | "RAM info not available" : "Vahemälu info pole saadaval", 8 | "Not supported!" : "Pole toetatud!", 9 | "Press ⌘-C to copy." : "Kopeerimiseks vajuta ⌘+C.", 10 | "Press Ctrl-C to copy." : "Kopeerimiseks vajuta Ctrl+C.", 11 | "System" : "Süsteem", 12 | "Monitoring" : "Monitooring", 13 | "Monitoring app with useful server information" : "Monitoorimisrakendus kasuliku infoga serveri kohta", 14 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Näitab kasulikku infot serveri kohta, näiteks protsessori koormus, mälukasutus, kettaruum, kasutajate arv jne.", 15 | "Operating System:" : "Operatsioonisüsteem:", 16 | "CPU:" : "Protsessor:", 17 | "Unknown Processor" : "Tundmatu protsessor", 18 | "Memory:" : "Vahemälu:", 19 | "Server time:" : "Serveri aeg:", 20 | "Uptime:" : "Aktiivaeg:", 21 | "Temperature" : "Temperatuur", 22 | "Load" : "Koormus", 23 | "Memory" : "Vahemälu", 24 | "Disk" : "Ketas", 25 | "Mount:" : "Maunt:", 26 | "Filesystem:" : "Failisüsteem:", 27 | "Size:" : "Suurus:", 28 | "Available:" : "Saadaval:", 29 | "Used:" : "Kasutusel:", 30 | "Files:" : "Faile:", 31 | "Free Space:" : "Vaba ruum:", 32 | "Network" : "Võrk", 33 | "Hostname:" : "Hostinimi:", 34 | "DNS:" : "Nimeserver:", 35 | "Gateway:" : "Võrgulüüs:", 36 | "Status:" : "Seisund:", 37 | "Speed:" : "Kiirus:", 38 | "Duplex:" : "Dupleks:", 39 | "MAC:" : "MAC:", 40 | "IPv4:" : "IPv4:", 41 | "IPv6:" : "IPv6:", 42 | "Active users" : "Aktiivseid kasutajaid", 43 | "Total users:" : "Kasutajaid kokku:", 44 | "24 hours:" : "24 tundi:", 45 | "1 hour:" : "1 tund:", 46 | "5 mins:" : "5 minutit:", 47 | "Shares" : "Jaoskaustad", 48 | "Users:" : "Kasutajaid:", 49 | "Groups:" : "Gruppe:", 50 | "Links:" : "Linke:", 51 | "Emails:" : "E-kirju:", 52 | "PHP" : "PHP", 53 | "Version:" : "Versioon:", 54 | "Memory limit:" : "Mälulimiit:", 55 | "Max execution time:" : "Maksimaalne täitmisaeg:", 56 | "Upload max size:" : "Maksimaalne üleslaadimissuurus:", 57 | "Extensions:" : "Laiendused:", 58 | "Unable to list extensions" : "Laienduste loetlemine ebaõnnestus", 59 | "Database" : "Andmebaas", 60 | "Type:" : "Tüüp:", 61 | "External monitoring tool" : "Väline monitoorimistööriist", 62 | "You can connect an external monitoring tool by using this end point:" : "Saad välise monitoorimistööriista ühendada selle lõpp-punkti abil:", 63 | "Copy" : "Kopeeri", 64 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Lisades URL-i lõppu \"?format=json\", saad tulemused JSON-formaadis.", 65 | "To use an access token, please generate one then set it using the following command:" : "Ligipääsutunnuse kasutamiseks genereeri see ja seadista alljärgneva käsu abil:", 66 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "Seejärel saada tunnus ülaloleva URL-i pärimisel \"NC-Token\" päisega.", 67 | "You will get a notification once one of your disks is nearly full." : "Saad teavituse, kui mõni ketastest on peaaegu täis." 68 | }, 69 | "nplurals=2; plural=(n != 1);"); 70 | -------------------------------------------------------------------------------- /l10n/fi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "serverinfo_hetzner", 3 | { 4 | "CPU info not available" : "Suorittimen tietoja ei ole saatavilla", 5 | "Load average: {cpu} (last minute)" : "Keskimääräinen kuorma: {cpu} (viimeisin minuutti)", 6 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: Yhteensä: {memTotalBytes}/Nykyinen käyttö: {memUsageBytes}", 7 | "RAM info not available" : "RAM-tietoja ei saatavilla", 8 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: Yhteensä: {swapTotalBytes}/Nykyinen käyttö: {swapUsageBytes}", 9 | "SWAP info not available" : "SWAP-tietoja ei saatavilla", 10 | "Not supported!" : "Ei tuettu!", 11 | "Press ⌘-C to copy." : "Paina ⌘-C kopioidaksesi.", 12 | "Press Ctrl-C to copy." : "Paina Ctrl-C kopioidaksesi.", 13 | "System" : "Järjestelmä", 14 | "Monitoring" : "Valvonta", 15 | "Monitoring app with useful server information" : "Valvontasovellus sisältäen hyödyllisiä tietoja palvelimesta", 16 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Näyttää hyödyllisiä tietoja palvelimesta, kuten suorittimen kuorman, muistin ja levytilan käytön, käyttäjien määrän jne.", 17 | "Operating System:" : "Käyttöjärjestelmä:", 18 | "CPU:" : "Suoritin:", 19 | "Unknown Processor" : "Tuntematon suoritin", 20 | "Memory:" : "Muisti:", 21 | "Server time:" : "Palvelimen aika:", 22 | "Uptime:" : "Käynnissäoloaika:", 23 | "Temperature" : "Lämpötila", 24 | "Load" : "Kuorma", 25 | "Memory" : "Muisti", 26 | "Disk" : "Levy", 27 | "Mount:" : "Liitospiste:", 28 | "Filesystem:" : "Tiedostojärjestelmä:", 29 | "Size:" : "Koko:", 30 | "Available:" : "Saatavilla:", 31 | "Used:" : "Käytetty:", 32 | "Files:" : "Tiedostoja:", 33 | "Storages:" : "Tallennustilat:", 34 | "Free Space:" : "Vapaata tilaa:", 35 | "Network" : "Verkko", 36 | "Hostname:" : "Tietokoneen nimi:", 37 | "DNS:" : "Nimipalvelu:", 38 | "Gateway:" : "Yhdyskäytävä:", 39 | "Status:" : "Tila:", 40 | "Speed:" : "Nopeus:", 41 | "MAC:" : "MAC:", 42 | "IPv4:" : "IPv4:", 43 | "IPv6:" : "IPv6:", 44 | "Active users" : "Aktiiviset käyttäjät", 45 | "Total users:" : "Käyttäjiä yhteensä:", 46 | "24 hours:" : "24 tuntia:", 47 | "1 hour:" : "1 tunti:", 48 | "5 mins:" : "5 min:", 49 | "Shares" : "Jaot", 50 | "Users:" : "Käyttäjiä:", 51 | "Groups:" : "Ryhmät:", 52 | "Links:" : "Linkit:", 53 | "Emails:" : "Sähköpostit:", 54 | "Talk conversations:" : "Talk-keskustelut:", 55 | "PHP" : "PHP", 56 | "Version:" : "Versio:", 57 | "Memory limit:" : "Muistin raja:", 58 | "Max execution time:" : "Suoritusaika enintään:", 59 | "Upload max size:" : "Suurin lähetyksen koko:", 60 | "Extensions:" : "Laajennukset:", 61 | "Unable to list extensions" : "Laajennuksia ei voi listata", 62 | "Database" : "Tietokanta", 63 | "Type:" : "Tyyppi:", 64 | "External monitoring tool" : "Ulkopuolinen valvontatyökalu", 65 | "You can connect an external monitoring tool by using this end point:" : "Voit yhdistää ulkopuolisen valvontatyökalun käyttämällä tätä liityntäkohtaa:", 66 | "Copy" : "Kopioi", 67 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Lisää \"?format=json\" URL-osoitteen loppuun saadaksesi tuloksen JSON-muodossa.", 68 | "You will get a notification once one of your disks is nearly full." : "Saat ilmoituksen, kun jokin levyistä on melkein täynnä." 69 | }, 70 | "nplurals=2; plural=(n != 1);"); 71 | -------------------------------------------------------------------------------- /lib/Os.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * @license AGPL-3.0 9 | * 10 | * This code is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU Affero General Public License, version 3, 12 | * as published by the Free Software Foundation. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU Affero General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Affero General Public License, version 3, 20 | * along with this program. If not, see 21 | * 22 | */ 23 | 24 | namespace OCA\ServerInfoHetzner; 25 | 26 | use OCA\ServerInfoHetzner\OperatingSystems\Dummy; 27 | use OCA\ServerInfoHetzner\OperatingSystems\FreeBSD; 28 | use OCA\ServerInfoHetzner\OperatingSystems\IOperatingSystem; 29 | use OCA\ServerInfoHetzner\OperatingSystems\Linux; 30 | use OCA\ServerInfoHetzner\Resources\Memory; 31 | use OCP\IConfig; 32 | 33 | class Os implements IOperatingSystem { 34 | private IOperatingSystem $backend; 35 | 36 | public function __construct(IConfig $config) { 37 | $restrictedMode = $config->getAppValue('serverinfo_hetzner', 'restricted_mode', 'no') === 'yes'; 38 | $this->backend = $this->getBackend($restrictedMode ? 'Dummy' : PHP_OS); 39 | } 40 | 41 | public function supported(): bool { 42 | return $this->backend->supported(); 43 | } 44 | 45 | public function getHostname(): string { 46 | return 'N/A'; 47 | } 48 | 49 | /** 50 | * Get name of the operating system. 51 | */ 52 | public function getOSName(): string { 53 | return 'N/A'; 54 | } 55 | 56 | public function getMemory(): Memory { 57 | return $this->backend->getMemory(); 58 | } 59 | 60 | public function getCpuName(): string { 61 | return $this->backend->getCpuName(); 62 | } 63 | 64 | public function getTime(): string { 65 | return $this->backend->getTime(); 66 | } 67 | 68 | public function getUptime(): int { 69 | return $this->backend->getUptime(); 70 | } 71 | 72 | public function getDiskInfo(): array { 73 | return $this->backend->getDiskInfo(); 74 | } 75 | 76 | /** 77 | * Get diskdata will return a numerical list with two elements for each disk (used and available) where all values are in gigabyte. 78 | * [ 79 | * [used => 0, available => 0], 80 | * [used => 0, available => 0], 81 | * ] 82 | * 83 | * @return array 84 | */ 85 | public function getDiskData(): array { 86 | $data = []; 87 | 88 | foreach ($this->backend->getDiskInfo() as $disk) { 89 | $data[] = [ 90 | round($disk->getUsed() / 1024, 1), 91 | round($disk->getAvailable() / 1024, 1) 92 | ]; 93 | } 94 | 95 | return $data; 96 | } 97 | 98 | public function getNetworkInfo(): array { 99 | return $this->backend->getNetworkInfo(); 100 | } 101 | 102 | public function getNetworkInterfaces(): array { 103 | return $this->backend->getNetworkInterfaces(); 104 | } 105 | 106 | public function getThermalZones(): array { 107 | return $this->backend->getThermalZones(); 108 | } 109 | 110 | private function getBackend(string $os): IOperatingSystem { 111 | return match ($os) { 112 | 'Linux' => new Linux(), 113 | 'FreeBSD' => new FreeBSD(), 114 | default => new Dummy(), 115 | }; 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /l10n/lv.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Centrālā procesora informācija nav pieejama", 3 | "Load average: {cpu} (last minute)" : "Vidējā slodze: {cpu} (pēdējā minūte)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: Kopā: {memTotalBytes}/Pašreizējais lietojums: {memUsageBytes}", 5 | "RAM info not available" : "RAM informācija nav pieejama", 6 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: Kopā: {swapTotalBytes}/Pašreizējais lietojums: {swapUsageBytes}", 7 | "SWAP info not available" : "SWAP informācija nav pieejama", 8 | "Not supported!" : "Nav atbalstīts!", 9 | "Press ⌘-C to copy." : "Spied ⌘-C lai kopētu.", 10 | "Press Ctrl-C to copy." : "Spied Ctrl-C lai kopētu.", 11 | "System" : "Sistēma", 12 | "Monitoring" : "Uzraudzība", 13 | "Monitoring app with useful server information" : "Monitoringa lietotne ar noderīgu servera informāciju", 14 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Sniedz noderīgu servera informāciju, piemēram, CPU ielādi, RAM lietojumu, diska lietojumu, lietotāju skaitu utt.", 15 | "Operating System:" : "Operētājsistēma:", 16 | "CPU:" : "CPU:", 17 | "Unknown Processor" : "Nezināms procesors", 18 | "Memory:" : "Atmiņa:", 19 | "Server time:" : "Servera laiks:", 20 | "Uptime:" : "Darba laiks:", 21 | "Temperature" : "Temperatūra", 22 | "Load" : "Noslogojums", 23 | "Memory" : "Atmiņa", 24 | "Disk" : "Disks", 25 | "Mount:" : "Piemontēts:", 26 | "Filesystem:" : "Failu sistēma:", 27 | "Size:" : "Izmērs:", 28 | "Available:" : "Pieejams:", 29 | "Used:" : "Izmantots:", 30 | "Files:" : "Datnes:", 31 | "Storages:" : "Glabātavas:", 32 | "Free Space:" : "Brīva vieta:", 33 | "Network" : "Tīkls", 34 | "Hostname:" : "Resursa nosaukums:", 35 | "DNS:" : "DNS:", 36 | "Gateway:" : "Vārteja:", 37 | "Status:" : "Statuss:", 38 | "Speed:" : "Ātrums:", 39 | "MAC:" : "MAC:", 40 | "IPv4:" : "IPv4:", 41 | "IPv6:" : "IPv6:", 42 | "Active users" : "Aktīvie lietotāji", 43 | "Total users:" : "Kopējais lietotāju skaits:", 44 | "Shares" : "Koplietots", 45 | "Users:" : "Lietotāji:", 46 | "PHP" : "PHP", 47 | "Version:" : "Versija:", 48 | "Memory limit:" : "Atmiņas limits:", 49 | "Max execution time:" : "Maksimālais izpildes laiks:", 50 | "Upload max size:" : "Augšupielādes maksimālais izmērs:", 51 | "Extensions:" : "Paplašinājumi:", 52 | "Unable to list extensions" : "Nevar uzskaitīt paplašinājumus", 53 | "Database" : "Datubāze", 54 | "Type:" : "Tips:", 55 | "External monitoring tool" : "Ārējās uzraudzības instruments", 56 | "You can connect an external monitoring tool by using this end point:" : "Ārējo pārraudzības rīku var savienot, izmantojot šo beigu punktu:", 57 | "Copy" : "Kopēt", 58 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "URL beigās pievienojot “?format=json”, rezultāts tiek iegūts JSON formātā.", 59 | "To use an access token, please generate one then set it using the following command:" : "Lai izmantotu piekļuves talonu, lūdzu, ģenerējiet to un iestatiet to, izmantojot šādu komandu:", 60 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "Pēc tam nododiet marķieri ar galveni \"NC-Token\", veicot vaicājumu iepriekš norādītajam URL.", 61 | "You will get a notification once one of your disks is nearly full." : "Ja kāds no diskiem ir gandrīz pilns, saņemsiet paziņojumu." 62 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" 63 | } -------------------------------------------------------------------------------- /l10n/el.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "CPU info not available" : "Οι πληροφορίες επεξεργαστή CPU δεν είναι διαθέσιμες", 3 | "Load average: {cpu} (last minute)" : "Μέσος όρος φόρτου: {cpu} (τελευταίο λεπτό)", 4 | "RAM: Total: {memTotalBytes}/Current usage: {memUsageBytes}" : "RAM: Σύνολο: {memTotalBytes}/Τρέχουσα χρήση: {memUsageBytes}", 5 | "RAM info not available" : "Οι πληροφορίες RAM δεν είναι διαθέσιμες", 6 | "SWAP: Total: {swapTotalBytes}/Current usage: {swapUsageBytes}" : "SWAP: Σύνολο: {swapTotalBytes}/Τρέχουσα χρήση: {swapUsageBytes}", 7 | "SWAP info not available" : "Οι πληροφορίες SWAP δεν είναι διαθέσιμες", 8 | "Not supported!" : "Δεν υποστηρίζεται!", 9 | "Press ⌘-C to copy." : "Για αντιγραφή πατήστε ⌘-C.", 10 | "Press Ctrl-C to copy." : "Για αντιγραφή πατήστε Ctrl-C.", 11 | "System" : "Σύστημα", 12 | "Monitoring" : "Παρακολούθηση", 13 | "Monitoring app with useful server information" : "Εφαρμογή παρακολούθησης πληροφοριών διακομιστή", 14 | "Provides useful server information, such as CPU load, RAM usage, disk usage, number of users, etc." : "Εμφανίζει χρήσιμες πληροφορίες του διακομιστή, όπως χρήση CPU, RAM, σκληρού δίσκου, αριθμός χρηστών, κλτ.", 15 | "Operating System:" : "Λειτουργικό σύστημα", 16 | "Memory:" : "Μνήμη:", 17 | "Server time:" : "Ώρα διακομιστή:", 18 | "Uptime:" : "Διάρκεια λειτουργίας:", 19 | "Temperature" : "Θερμοκρασία", 20 | "Load" : "Χρήση", 21 | "Memory" : "Μνήμη", 22 | "Disk" : "Δίσκος", 23 | "Mount:" : "Προσάρτηση:", 24 | "Filesystem:" : "Σύστημα αρχείων:", 25 | "Size:" : "Μέγεθος:", 26 | "Available:" : "Διαθέσιμα:", 27 | "Used:" : "Σε χρήση:", 28 | "Files:" : "Αρχεία:", 29 | "Storages:" : "Αποθηκευτικοί χώροι:", 30 | "Free Space:" : "Ελεύθερος Χώρος:", 31 | "Network" : "Δίκτυο", 32 | "Hostname:" : "Όνομα υπολογιστή:", 33 | "Gateway:" : "Πύλη:", 34 | "Status:" : "Κατάσταση:", 35 | "Speed:" : "Ταχύτητα:", 36 | "Active users" : "Ενεργοί χρήστες", 37 | "Total users:" : "Σύνολο χρηστών:", 38 | "24 hours:" : "24 ώρες:", 39 | "1 hour:" : "1 ώρα:", 40 | "5 mins:" : "5 λεπτά:", 41 | "Shares" : "Κοινόχρηστοι φάκελοι", 42 | "Users:" : "Χρήστες:", 43 | "Groups:" : "Ομάδες:", 44 | "Links:" : "Σύνδεσμοι:", 45 | "Emails:" : "Email:", 46 | "PHP" : "PHP", 47 | "Version:" : "Έκδοση:", 48 | "Memory limit:" : "Όριο μνήμης:", 49 | "Max execution time:" : "Μέγιστος χρόνος εκτέλεσης:", 50 | "Upload max size:" : "Μέγιστο μέγεθος μεταφόρτωσης:", 51 | "Extensions:" : "Επεκτάσεις:", 52 | "Database" : "Βάση δεδομένων", 53 | "Type:" : "Τύπος:", 54 | "External monitoring tool" : "Εξωτερικό εργαλείο παρακολούθησης", 55 | "You can connect an external monitoring tool by using this end point:" : "Συνδεθείτε σε εξωτερικό εργαλείο παρακολούθησης με χρήση αυτού του σημείου:", 56 | "Copy" : "Αντιγραφή", 57 | "Appending \"?format=json\" at the end of the URL gives you the result in JSON." : "Προσθέτοντας το \"?format=json\" στο τέλος των URL σας δίνει αποτέλεσμα σε JSON!", 58 | "To use an access token, please generate one then set it using the following command:" : "Για να χρησιμοποιήσετε ένα αναγνωριστικό πρόσβασης (token), δημιουργήστε ένα και ορίστε το χρησιμοποιώντας την ακόλουθη εντολή:", 59 | "Then pass the token with the \"NC-Token\" header when querying the above URL." : "Στη συνέχεια, περάστε το αναγνωριστικό με την κεφαλίδα \"NC-Token\" όταν υποβάλετε ερώτημα στην παραπάνω διεύθυνση URL.", 60 | "You will get a notification once one of your disks is nearly full." : "Θα λάβετε ειδοποίηση λίγο πριν γεμίσει ένας από τους δίσκους." 61 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 62 | } --------------------------------------------------------------------------------