use ruff to reformat

This commit is contained in:
Brian Read 2024-08-26 14:25:11 +01:00
parent 07f7954a5a
commit 822fe8d26f
20 changed files with 1543 additions and 630 deletions

View File

@ -2,7 +2,7 @@
# Routines to be edited by the developer to provide validation for parameters
# and provison of the control data for table(s)
#
# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-20 16:05
# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-29 11:35
#
use esmith::util;

View File

@ -1,6 +1,6 @@
package SrvMngr::Controller::Nfsshare;
#
# Generated by version:SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-20 16:05
# Generated by version:SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-29 11:35
#
#----------------------------------------------------------------------
# heading : Network

View File

@ -1,5 +1,5 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-20 16:05
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-29 11:35
%#
<div id="Nfsshare-PARAMS" class="partial Nfsshare-PARAMS">
<script>

View File

@ -1,5 +1,5 @@
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-20 16:05
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-29 11:35
%#
<div id="Nfsshare-TABLE" class="partial Nfsshare-TABLE">
<script>

Binary file not shown.

View File

@ -1,6 +1,6 @@
% layout 'default', title => "Sme server 2 - NFS data share", share_dir => './';
%#
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-20 16:05
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-29 11:35
%#
% content_for 'module' => begin
<div id="module" class="module Nfsshare-panel">

View File

@ -1,28 +0,0 @@
'nfs_Save' => "Gem",
'nfs_Hello_TABLE' => "Hej TABEL",
'nfs_Hello_PARAMS' => "Hej PARAMS",
'nfs_Requests_on_secure_ports' => "Anmodninger på sikre porte",
'nfs_File_system_permissions' => "Filsystemtilladelser",
'nfs_NFS_Client(s)_allowed' => "NFS-klient(er) tilladt",
'nfs_NFS_data_share' => "NFS-deling af data",
'nfs_APPLY' => "Anvend",
'nfs_Enable_the_NFS_Share' => "Aktivér NFS-delingen",
'nfs_For_writing_permissions,allowing_the_root' => "Til skrive-tilladelser, Tillad rodbrugeren og brug usikre porte, Du skal konfigurere en liste med én IP per linje, Vær en del af det lokale netværk/netværkene.",
'nfs_Set_the_uid_and_gid' => "Indstil uid og gid, hvis du ønsker, at alle anmodninger skal fremstå som fra én bruger eller én gruppe. Ellers lad det være tomt.",
'nfs_Set_the_GID.' => "Indstil GID.",
'nfs_TABLE_panel_action_was_successful' => "TABEL-panehandling var vellykket",
'Nfs_status' => "Status",
'nfs_PARAMS_panel_action_was_successful' => "~~~PARAMS-panelet handling lykkedes~~~",
'nfs_Information_Bay_name' => "Informationsbugt navn",
'nfs_Delays_the_disk_writing' => "Forsinker disk skrivning",
'nfs_Share_owner_Group' => "Del ejergruppe",
'nfs_Description' => "Beskrivelse",
'nfs_Write_(a)synchronously' => "Skriv (a)synkront",
'nfs_Manage_NFS_Ibay_settings:' => "Administrer NFS Ibay-indstillinger:",
'nfs_Name' => "Navn",
'nfs_Set_the_UID.' => "Indstil UID.",
'nfs_Squash_the_power_of_users' => "~~~Nedjuster brugernes rettigheder~~~",
'nfs_EnableShare_on_local_network' => "Aktiver deling på lokalt netværk",
'nfs_These_parameters_will_be_effective' => "Disse parametre vil kun være effektive, hvis delingen er aktiveret. Delingen er i /home/e-smith/files/ibays//files",
'nfs_Browse_the_parent_folders' => "~~~Gennemse de overordnede mapper~~~",
'nfs_Action' => "Handling",

28
Targets/nfsshare_dk.lex Normal file
View File

@ -0,0 +1,28 @@
'nfs_APPLY' => "Anvend",
'nfs_NFS_Client(s)_allowed' => "Tilladte NFS-klient(er)",
'nfs_TABLE_panel_action_was_successful' => "Handlingspanelet for TABEL var vellykket",
'nfs_Share_owner_Group' => "Del ejergruppe",
'nfs_Information_Bay_name' => "Information Bay navn",
'nfs_Write_(a)synchronously' => "Skriv (a)synkront",
'nfs_Squash_the_power_of_users' => "Knus brugernes magt",
'nfs_For_writing_permissions,allowing_the_root' => "For at skrive tilladelser, Tillade root-brugeren og bruge usikre porte, Du skal konfigurere en liste med én IP pr. linje, Som er en del af de lokale netværk.",
'nfs_Hello_PARAMS' => "~~~Hej PARAMS~~~",
'nfs_PARAMS_panel_action_was_successful' => "PARAMS panelet var vellykket",
'nfs_Enable_the_NFS_Share' => "Aktiver NFS-deling",
'nfs_NFS_data_share' => "NFS-deling af data",
'nfs_Set_the_UID.' => "Indstil UID.",
'nfs_Manage_NFS_Ibay_settings:' => "Administrer NFS Ibay indstillinger:",
'nfs_Browse_the_parent_folders' => "Gennemse de overordnede mapper",
'nfs_These_parameters_will_be_effective' => "Disse parametre vil kun træde i kraft, hvis delingen er aktiveret. Delingen er i /home/e-smith/files/ibays//files",
'nfs_Hello_TABLE' => "~~~Hej TABEL~~~",
'nfs_Description' => "Beskrivelse",
'nfs_Set_the_uid_and_gid' => "Indstil uid og gid, hvis du ønsker, at alle forespørgsler skal se ud til at være fra en bruger eller en gruppe. Ellers lad det være tomt.",
'nfs_EnableShare_on_local_network' => "Aktiver deling på lokalt netværk",
'nfs_Set_the_GID.' => "Indstil GID.",
'nfs_Save' => "Gem",
'nfs_Requests_on_secure_ports' => "Anmodninger på sikre porte",
'nfs_Action' => "Handling",
'nfs_Delays_the_disk_writing' => "Forsinker disk skrivning",
'Nfs_status' => "Status",
'nfs_Name' => "Navn",
'nfs_File_system_permissions' => "Filsystem tilladelser",

View File

@ -1,28 +1,28 @@
'nfs_Save' => 'Save',
'nfs_Hello_TABLE' => 'Hello TABLE',
'nfs_Hello_PARAMS' => 'Hello PARAMS',
'nfs_Requests_on_secure_ports' => 'Requests on secure ports',
'nfs_File_system_permissions' => 'File system permissions',
'nfs_NFS_Client(s)_allowed' => 'NFS Client(s) allowed',
'nfs_NFS_data_share' => 'NFS data share',
'nfs_APPLY' => 'Apply',
'nfs_Enable_the_NFS_Share' => 'Enable the NFS Share',
'nfs_For_writing_permissions,allowing_the_root' => 'For writing permissions, Allowing the root user and using insecure ports, You must configure a list of one IP per line, Being part of the local network(s). ',
'nfs_Set_the_uid_and_gid' => 'Set the uid and gid if you want all requests appear to be from one user or one group, Otherwise leave blank',
'nfs_Set_the_GID.' => 'Set the GID. ',
'nfs_NFS_Client(s)_allowed' => 'NFS Client(s) allowed',
'nfs_TABLE_panel_action_was_successful' => 'TABLE panel action was successful',
'Nfs_status' => 'Status',
'nfs_PARAMS_panel_action_was_successful' => 'PARAMS panel action was successful',
'nfs_Information_Bay_name' => 'Information Bay name',
'nfs_Delays_the_disk_writing' => 'Delays the disk writing',
'nfs_Share_owner_Group' => 'Share owner Group',
'nfs_Description' => 'Description',
'nfs_Information_Bay_name' => 'Information Bay name',
'nfs_Write_(a)synchronously' => 'Write (a)synchronously',
'nfs_Manage_NFS_Ibay_settings:' => 'Manage NFS Ibay settings:',
'nfs_Name' => 'Name',
'nfs_Set_the_UID.' => 'Set the UID. ',
'nfs_Squash_the_power_of_users' => 'Squash the power of users',
'nfs_EnableShare_on_local_network' => 'Enableshare on local network',
'nfs_These_parameters_will_be_effective' => 'These parameters will be effective only if the share is enabled. The share is in /home/e-smith/files/ibays//files',
'nfs_For_writing_permissions,allowing_the_root' => 'For writing permissions, Allowing the root user and using insecure ports, You must configure a list of one IP per line, Being part of the local network(s). ',
'nfs_Hello_PARAMS' => 'Hello PARAMS',
'nfs_PARAMS_panel_action_was_successful' => 'PARAMS panel action was successful',
'nfs_Enable_the_NFS_Share' => 'Enable the NFS Share',
'nfs_NFS_data_share' => 'NFS data share',
'nfs_Set_the_UID.' => 'Set the UID. ',
'nfs_Manage_NFS_Ibay_settings:' => 'Manage NFS Ibay settings:',
'nfs_Browse_the_parent_folders' => 'Browse the parent folders',
'nfs_These_parameters_will_be_effective' => 'These parameters will be effective only if the share is enabled. The share is in /home/e-smith/files/ibays//files',
'nfs_Hello_TABLE' => 'Hello TABLE',
'nfs_Description' => 'Description',
'nfs_Set_the_uid_and_gid' => 'Set the uid and gid if you want all requests appear to be from one user or one group, Otherwise leave blank',
'nfs_EnableShare_on_local_network' => 'Enableshare on local network',
'nfs_Set_the_GID.' => 'Set the GID. ',
'nfs_Save' => 'Save',
'nfs_Requests_on_secure_ports' => 'Requests on secure ports',
'nfs_Action' => 'Action',
'nfs_Delays_the_disk_writing' => 'Delays the disk writing',
'Nfs_status' => 'Status',
'nfs_Name' => 'Name',
'nfs_File_system_permissions' => 'File system permissions',

94
Targets/nfsshare_en.po Normal file
View File

@ -0,0 +1,94 @@
#
msgid ""
msgstr ""
msgid "nfs_APPLY"
msgstr "Apply',"
msgid "nfs_NFS_Client(s)_allowed"
msgstr "NFS Client(s) allowed',"
msgid "nfs_TABLE_panel_action_was_successful"
msgstr "TABLE panel action was successful',"
msgid "nfs_Share_owner_Group"
msgstr "Share owner Group',"
msgid "nfs_Information_Bay_name"
msgstr "Information Bay name',"
msgid "nfs_Write_(a)synchronously"
msgstr "Write (a)synchronously',"
msgid "nfs_Squash_the_power_of_users"
msgstr "Squash the power of users',"
msgid "nfs_For_writing_permissions,allowing_the_root"
msgstr ""
"For writing permissions, Allowing the root user and using insecure ports, "
"You must configure a list of one IP per line, Being part of the local "
"network(s). ',"
msgid "nfs_Hello_PARAMS"
msgstr "Hello PARAMS',"
msgid "nfs_PARAMS_panel_action_was_successful"
msgstr "PARAMS panel action was successful',"
msgid "nfs_Enable_the_NFS_Share"
msgstr "Enable the NFS Share',"
msgid "nfs_NFS_data_share"
msgstr "NFS data share',"
msgid "nfs_Set_the_UID."
msgstr "Set the UID. ',"
msgid "nfs_Manage_NFS_Ibay_settings:"
msgstr "Manage NFS Ibay settings:',"
msgid "nfs_Browse_the_parent_folders"
msgstr "Browse the parent folders',"
msgid "nfs_These_parameters_will_be_effective"
msgstr ""
"These parameters will be effective only if the share is enabled. The share "
"is in /home/e-smith/files/ibays//files',"
msgid "nfs_Hello_TABLE"
msgstr "Hello TABLE',"
msgid "nfs_Description"
msgstr "Description',"
msgid "nfs_Set_the_uid_and_gid"
msgstr ""
"Set the uid and gid if you want all requests appear to be from one user or "
"one group, Otherwise leave blank',"
msgid "nfs_EnableShare_on_local_network"
msgstr "Enableshare on local network',"
msgid "nfs_Set_the_GID."
msgstr "Set the GID. ',"
msgid "nfs_Save"
msgstr "Save',"
msgid "nfs_Requests_on_secure_ports"
msgstr "Requests on secure ports',"
msgid "nfs_Action"
msgstr "Action',"
msgid "nfs_Delays_the_disk_writing"
msgstr "Delays the disk writing',"
msgid "Nfs_status"
msgstr "Status',"
msgid "nfs_Name"
msgstr "Name',"
msgid "nfs_File_system_permissions"
msgstr "File system permissions',"

95
Targets/nfsshare_es.po Normal file
View File

@ -0,0 +1,95 @@
#
msgid ""
msgstr ""
msgid "nfs_Save"
msgstr "\"Guardar\","
msgid "nfs_Hello_TABLE"
msgstr "\"~~~Hola MESA~~~\","
msgid "nfs_Hello_PARAMS"
msgstr "\"~~~Hola PARAMS~~~\","
msgid "nfs_Requests_on_secure_ports"
msgstr "\"~~Solicitudes en puertos seguros~~\","
msgid "nfs_File_system_permissions"
msgstr "\"Permisos del sistema de archivos\","
msgid "nfs_NFS_Client(s)_allowed"
msgstr "\"Clientes NFS permitidos\","
msgid "nfs_NFS_data_share"
msgstr "\"Compartición de datos NFS\","
msgid "nfs_APPLY"
msgstr "\"Aplicar\","
msgid "nfs_Enable_the_NFS_Share"
msgstr "\"~~~Habilitar el recurso compartido NFS~~~\","
msgid "nfs_For_writing_permissions,allowing_the_root"
msgstr ""
"\"Para permisos de escritura, permitiendo al usuario root y usando puertos "
"inseguros, debe configurar una lista de una IP por línea, siendo parte de "
"la(s) red(es) local(es).\","
msgid "nfs_Set_the_uid_and_gid"
msgstr ""
"\"Establezca el uid y gid si desea que todas las solicitudes parezcan ser de"
" un solo usuario o de un solo grupo, de lo contrario, deje en blanco\","
msgid "nfs_Set_the_GID."
msgstr "\"Establecer el GID.\","
msgid "nfs_TABLE_panel_action_was_successful"
msgstr "\"Acción de panel de TABLA fue exitosa\","
msgid "Nfs_status"
msgstr "\"Estado\","
msgid "nfs_PARAMS_panel_action_was_successful"
msgstr "\"La acción del panel de PARAMS fue exitosa\","
msgid "nfs_Information_Bay_name"
msgstr "\"Nombre de la Bahía de Información\","
msgid "nfs_Delays_the_disk_writing"
msgstr "\"Retrasa la escritura en disco\","
msgid "nfs_Share_owner_Group"
msgstr "\"Compartir grupo de propietarios\","
msgid "nfs_Description"
msgstr "\"Descripción\","
msgid "nfs_Write_(a)synchronously"
msgstr "\"Escribir (a)síncronamente\","
msgid "nfs_Manage_NFS_Ibay_settings:"
msgstr "\"Administrar configuraciones de NFS Ibay:\","
msgid "nfs_Name"
msgstr "\"Nombre\","
msgid "nfs_Set_the_UID."
msgstr "\"Establecer el UID.\","
msgid "nfs_Squash_the_power_of_users"
msgstr "\"Aplastar el poder de los usuarios\","
msgid "nfs_EnableShare_on_local_network"
msgstr "\"Habilitar compartir en la red local\","
msgid "nfs_These_parameters_will_be_effective"
msgstr ""
"\"Estos parámetros serán efectivos solo si el recurso compartido está "
"habilitado. El recurso compartido está en "
"/home/e-smith/files/ibays//files\","
msgid "nfs_Browse_the_parent_folders"
msgstr "\"Explorar las carpetas principales\","
msgid "nfs_Action"
msgstr "\"Acción\","

View File

@ -1,30 +0,0 @@
'nfs_Save' => "שמור",
'nfs_Hello_TABLE' => "שלום טבלה",
'nfs_Hello_PARAMS' => "שלום PARAMS",
'nfs_Requests_on_secure_ports' => "בקשות על יציאות מאובטחות",
'nfs_File_system_permissions' => "הרשאות מערכת קבצים",
'nfs_NFS_Client(s)_allowed' => "לקוחות NFS מורשים",
'nfs_NFS_data_share' => "שיתוף נתונים NFS",
'nfs_APPLY' => "יישם",
'nfs_Enable_the_NFS_Share' => "הפעל את שיתוף NFS",
'nfs_For_writing_permissions,allowing_the_root' => "~~~עבור הרשאות כתיבה, אישור משתמש root ושימוש בפורטים לא מאובטחים, עליכם להגדיר רשימה של כתובת IP אחת בשורה, ולהיות חלק מהרשת המקומית.~~~",
'nfs_Set_the_uid_and_gid' => "הגדר את ה-uid וה-gid אם ברצונך שכל הבקשות ייראו כבאילו הן ממשתמש אחד או מקבוצה אחת, אחרת השאר ריק",
'nfs_Set_the_GID.' => "קבע את ה-GID.",
'nfs_TABLE_panel_action_was_successful' => "הפעולה של לוח TABLE הצליחה",
'Nfs_status' => "סטטוס",
'nfs_PARAMS_panel_action_was_successful' => "פעולת לוח PARAMS הצליחה",
'nfs_Information_Bay_name' => "~~~שם מפרץ המידע~~~",
'nfs_Delays_the_disk_writing' => "~~~מעכב את כתיבת הדיסק~~~",
'nfs_Share_owner_Group' => "שתף קבוצת בעלים",
'nfs_Description' => "תיאור",
'nfs_Write_(a)synchronously' => "כתוב (א)סינכרוני",
'nfs_Manage_NFS_Ibay_settings:' => "נהל הגדרות NFS Ibay:",
'nfs_Name' => "שם",
'nfs_Set_the_UID.' => "~~~
הגדר את מזהה המשתמש
~~~",
'nfs_Squash_the_power_of_users' => "מנע כוח ממשתמשים",
'nfs_EnableShare_on_local_network' => "‏‏אפשר שיתוף ברשת המקומית",
'nfs_These_parameters_will_be_effective' => "פרמטרים אלה יהיו בתוקף רק אם השיתוף מופעל. השיתוף נמצא ב-/home/e-smith/files/ibays//files",
'nfs_Browse_the_parent_folders' => "עיין בתיקיות האב",
'nfs_Action' => "פעולה",

28
Targets/nfsshare_il.lex Normal file
View File

@ -0,0 +1,28 @@
'nfs_APPLY' => "החל",
'nfs_NFS_Client(s)_allowed' => "לקוחות NFS מורשים",
'nfs_TABLE_panel_action_was_successful' => "הפעולה של לוח TABLE הצליחה",
'nfs_Share_owner_Group' => "שתף קבוצת בעלי מניות",
'nfs_Information_Bay_name' => "שם מפרץ המידע",
'nfs_Write_(a)synchronously' => "~~~כתוב (באופן) סינכרוני/אסינכרוני~~~",
'nfs_Squash_the_power_of_users' => "~~~להמעיט את כוח המשתמשים~~~",
'nfs_For_writing_permissions,allowing_the_root' => "כדי לקבל הרשאות כתיבה, לאפשר את משתמש השורש ולהשתמש ביציאות לא מאובטחות, יש להגדיר רשימה של כתובת IP אחת בכל שורה, כחלק מהרשת המקומית.",
'nfs_Hello_PARAMS' => "שלום PARAMS",
'nfs_PARAMS_panel_action_was_successful' => "פאנל הדֶפָאוֹת ביצע את הפעולה בהצלחה",
'nfs_Enable_the_NFS_Share' => "אפשר שיתוף NFS",
'nfs_NFS_data_share' => "שיתוף נתונים NFS",
'nfs_Set_the_UID.' => "הגדר את ה-UID.",
'nfs_Manage_NFS_Ibay_settings:' => "נהל הגדרות NFS Ibay:",
'nfs_Browse_the_parent_folders' => "עיין בתיקיות האב",
'nfs_These_parameters_will_be_effective' => "פרמטרים אלו יהיו בתוקף רק אם השיתוף מופעל. השיתוף נמצא ב-/home/e-smith/files/ibays/files",
'nfs_Hello_TABLE' => "~~~שלום TABLE~~~",
'nfs_Description' => "תיאור",
'nfs_Set_the_uid_and_gid' => "~~~הגדר את ה-uid וה-gid אם ברצונך שכל הבקשות ייראו כאילו הן מגיעות ממשתמש אחד או מקבוצה אחת, אחרת השאר ריק~~~",
'nfs_EnableShare_on_local_network' => "אפשר שיתוף ברשת המקומית",
'nfs_Set_the_GID.' => "קבע את ה-GID.",
'nfs_Save' => "שמור",
'nfs_Requests_on_secure_ports' => "בקשות על יציאות מאובטחות",
'nfs_Action' => "פעולה",
'nfs_Delays_the_disk_writing' => "מעכב את כתיבת הדיסק",
'Nfs_status' => "סטטוס",
'nfs_Name' => "~~שם~~",
'nfs_File_system_permissions' => "הרשאות מערכת קבצים",

View File

@ -1,28 +0,0 @@
'nfs_Save' => "保存",
'nfs_Hello_TABLE' => "こんにちは、テーブル",
'nfs_Hello_PARAMS' => "こんにちは PARAMS",
'nfs_Requests_on_secure_ports' => "セキュアポートのリクエスト",
'nfs_File_system_permissions' => "ファイルシステム権限",
'nfs_NFS_Client(s)_allowed' => "NFS クライアントの許可",
'nfs_NFS_data_share' => "~~~NFSデータ共有~~~",
'nfs_APPLY' => "適用",
'nfs_Enable_the_NFS_Share' => "NFS共有を有効にする",
'nfs_For_writing_permissions,allowing_the_root' => "~~~書き込み権限について、rootユーザーの許可と安全でないポートの使用、ローカルネットワークの一部であることを条件に、1行に1つのIPのリストを設定する必要があります。~~~",
'nfs_Set_the_uid_and_gid' => "すべてのリクエストを1人のユーザーまたは1つのグループからのものとして表示させたい場合は、uidとgidを設定してください。それ以外の場合は空白のままにしてください。",
'nfs_Set_the_GID.' => "GIDを設定する。",
'nfs_TABLE_panel_action_was_successful' => "テーブルパネルの操作が成功しました",
'Nfs_status' => "ステータス",
'nfs_PARAMS_panel_action_was_successful' => "PARAMSパネルの操作が成功しました",
'nfs_Information_Bay_name' => "情報ベイ名",
'nfs_Delays_the_disk_writing' => "ディスク書き込みの遅延",
'nfs_Share_owner_Group' => "グループの所有者を共有",
'nfs_Description' => "説明",
'nfs_Write_(a)synchronously' => "非同期に書き込む",
'nfs_Manage_NFS_Ibay_settings:' => "NFS Ibayの設定を管理する:",
'nfs_Name' => "名前",
'nfs_Set_the_UID.' => "UIDを設定する。",
'nfs_Squash_the_power_of_users' => "ユーザーの権限を抑制",
'nfs_EnableShare_on_local_network' => "ローカルネットワークで共有を有効にする",
'nfs_These_parameters_will_be_effective' => "共有が有効になっている場合にのみ、これらのパラメータは有効になります。共有は/home/e-smith/files/ibays//filesにあります。",
'nfs_Browse_the_parent_folders' => "親フォルダーを参照する",
'nfs_Action' => "アクション",

28
Targets/nfsshare_jp.lex Normal file
View File

@ -0,0 +1,28 @@
'nfs_APPLY' => "適用",
'nfs_NFS_Client(s)_allowed' => "NFS クライアント(許可)",
'nfs_TABLE_panel_action_was_successful' => "テーブルパネルの操作が成功しました",
'nfs_Share_owner_Group' => "オーナーグループを共有",
'nfs_Information_Bay_name' => "情報ベイ名称",
'nfs_Write_(a)synchronously' => "非同期的に書き込み",
'nfs_Squash_the_power_of_users' => "ユーザーの権限を制限する",
'nfs_For_writing_permissions,allowing_the_root' => "ローカルネットワークの一部として、書き込み権限、ルートユーザーの許可、不安全なポートの使用には、1行に1つのIPアドレスのリストを設定する必要があります。",
'nfs_Hello_PARAMS' => "こんにちは PARAMS",
'nfs_PARAMS_panel_action_was_successful' => "~~~PARAMSパネルのアクションが成功しました~~~",
'nfs_Enable_the_NFS_Share' => "NFS 共有を有効にする",
'nfs_NFS_data_share' => "NFSデータ共有",
'nfs_Set_the_UID.' => "UIDを設定する。",
'nfs_Manage_NFS_Ibay_settings:' => "NFS Ibayの設定を管理する:",
'nfs_Browse_the_parent_folders' => "親フォルダーを参照",
'nfs_These_parameters_will_be_effective' => "共有が有効の場合のみ、これらのパラメーターが適用されます。共有は/home/e-smith/files/ibays/files にあります。",
'nfs_Hello_TABLE' => "~~~こんにちは、テーブル~~~",
'nfs_Description' => "説明",
'nfs_Set_the_uid_and_gid' => "すべてのリクエストが1人のユーザーまたは1つのグループからのものとして表示されるようにする場合は、uidとgidを設定してください。それ以外の場合は空白のままにしてください。",
'nfs_EnableShare_on_local_network' => "ローカルネットワークで共有を有効にする",
'nfs_Set_the_GID.' => "GIDを設定する。",
'nfs_Save' => "保存",
'nfs_Requests_on_secure_ports' => "セキュアポートへのリクエスト",
'nfs_Action' => "アクション",
'nfs_Delays_the_disk_writing' => "ディスク書き込みの遅延",
'Nfs_status' => "ステータス",
'nfs_Name' => "名前",
'nfs_File_system_permissions' => "ファイルシステムの権限",

View File

@ -1,30 +0,0 @@
'nfs_Save' => "Lagre",
'nfs_Hello_TABLE' => "~~~Hallo TABELL~~~",
'nfs_Hello_PARAMS' => "Hei PARAMS",
'nfs_Requests_on_secure_ports' => "Forespørsler på sikre porter",
'nfs_File_system_permissions' => "~~~Filsystemtillatelser~~~",
'nfs_NFS_Client(s)_allowed' => "Tillatte NFS-klient(er)",
'nfs_NFS_data_share' => "NFS-datadeling",
'nfs_APPLY' => "~~~
Søke
~~",
'nfs_Enable_the_NFS_Share' => "Aktiver NFS-delingen",
'nfs_For_writing_permissions,allowing_the_root' => "For skrivetillatelser, å tillate root-bruker og bruke usikre porter, må du konfigurere en liste med én IP per linje, som er en del av det lokale nettverket.",
'nfs_Set_the_uid_and_gid' => "Sett uid og gid hvis du vil at alle forespørsler skal fremstå som fra én bruker eller én gruppe. Ellers, la stå tomt.",
'nfs_Set_the_GID.' => "Sett GID.",
'nfs_TABLE_panel_action_was_successful' => "Paneletabellhandlingen var vellykket",
'Nfs_status' => "Status",
'nfs_PARAMS_panel_action_was_successful' => "Panelhandling var vellykket",
'nfs_Information_Bay_name' => "Informasjonsnavn på bukt",
'nfs_Delays_the_disk_writing' => "Forsinker diskskriving",
'nfs_Share_owner_Group' => "Dele eiergruppe",
'nfs_Description' => "Beskrivelse",
'nfs_Write_(a)synchronously' => "Skriv (a)synkront",
'nfs_Manage_NFS_Ibay_settings:' => "Administrer NFS Ibay-innstillinger:",
'nfs_Name' => "Navn",
'nfs_Set_the_UID.' => "Angi UID.",
'nfs_Squash_the_power_of_users' => "Knekk brukernes kraft",
'nfs_EnableShare_on_local_network' => "Aktiver deling på lokalt nettverk",
'nfs_These_parameters_will_be_effective' => "Disse parameterne vil bare være effektive hvis delingen er aktivert. Delingen er i /home/e-smith/files/ibays//files",
'nfs_Browse_the_parent_folders' => "~~~Bla gjennom overordnede mapper~~~",
'nfs_Action' => "~~Aksjon~~",

32
Targets/nfsshare_no.lex Normal file
View File

@ -0,0 +1,32 @@
'nfs_APPLY' => "Bruk",
'nfs_NFS_Client(s)_allowed' => "Tillatte NFS-klienter",
'nfs_TABLE_panel_action_was_successful' => "TABELL-handling var vellykket",
'nfs_Share_owner_Group' => "Dele eiergruppe",
'nfs_Information_Bay_name' => "Informasjon Bay-navn",
'nfs_Write_(a)synchronously' => "~~~Skriv (a)synkront~~~",
'nfs_Squash_the_power_of_users' => "~~~Undertrykk kraften til brukerne~~~",
'nfs_For_writing_permissions,allowing_the_root' => "For skrive-tillatelser, Tillate root-brukeren og bruke usikre porter, Du må konfigurere en liste med én IP per linje, Som er en del av det lokale nettverket.",
'nfs_Hello_PARAMS' => "~~~Hallo PARAMS~~~",
'nfs_PARAMS_panel_action_was_successful' => "~~PARAMS-panelet aksjonen var vellykket~~",
'nfs_Enable_the_NFS_Share' => "Aktiver NFS-deling",
'nfs_NFS_data_share' => "NFS-datadeling",
'nfs_Set_the_UID.' => "Sett UID.",
'nfs_Manage_NFS_Ibay_settings:' => "Administrer NFS Ibay-innstillinger:",
'nfs_Browse_the_parent_folders' => "~~~Bla gjennom overordnede mapper~~~",
'nfs_These_parameters_will_be_effective' => "Disse parametrene vil bare være effektive hvis delingen er aktivert. Delingen er i /home/e-smith/files/ibays/files",
'nfs_Hello_TABLE' => "~~~
Hallo TABELL
~~~",
'nfs_Description' => "Beskrivelse",
'nfs_Set_the_uid_and_gid' => "Sett uid og gid hvis du vil at alle forespørsler skal fremstå som fra én bruker eller én gruppe. Ellers la være tomt.",
'nfs_EnableShare_on_local_network' => "Aktiver deling på lokalt nettverk",
'nfs_Set_the_GID.' => "~~~
Angi GID.
~~~",
'nfs_Save' => "Lagre",
'nfs_Requests_on_secure_ports' => "Forespørsler på sikre porter",
'nfs_Action' => "~~Handling~~",
'nfs_Delays_the_disk_writing' => "Forsinker diskskrivingen",
'Nfs_status' => "Status",
'nfs_Name' => "Navn",
'nfs_File_system_permissions' => "Filsystemtillatelser",

View File

@ -1,17 +1,17 @@
[
{"language": "Bulgarian", "code": "bg"},
{"language": "Danish", "code": "da"},
{"language": "Danish", "code": "dk"},
{"language": "German", "code": "de"},
{"language": "Greek", "code": "el"},
{"language": "Spanish", "code": "es"},
{"language": "Estonian", "code": "et"},
{"language": "French", "code": "fr"},
{"language": "Hebrew", "code": "he"},
{"language": "Hebrew", "code": "il"},
{"language": "Hungarian", "code": "hu"},
{"language": "Indonesian", "code": "id"},
{"language": "Italian", "code": "it"},
{"language": "Japanese", "code": "ja"},
{"language": "Norwegian Bokmål", "code": "nb"},
{"language": "Japanese", "code": "jp"},
{"language": "Norwegian Bokmål", "code": "no"},
{"language": "Dutch", "code": "nl"},
{"language": "Polish", "code": "pl"},
{"language": "Brazilian Portuguese", "code": "pt-br"},

622
menu-translations.txt Normal file
View File

@ -0,0 +1,622 @@
Bulgarian (bg), Field: Backup or restore, English: Backup or restore, Translated: Архивиране или възстановяване
Bulgarian (bg), Field: Report a bug, English: Report a bug, Translated: Докладвай за грешка
Bulgarian (bg), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Антивирус (ClamAV)
Bulgarian (bg), Field: Date and time, English: Date and time, Translated: Дата и час
Bulgarian (bg), Field: Directory, English: Directory, Translated: Директория
Bulgarian (bg), Field: Domains, English: Domains, Translated: Домейни
Bulgarian (bg), Field: E-mail, English: E-mail, Translated: Имейл
Bulgarian (bg), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Имена на хостове и адреси
Bulgarian (bg), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Споделени области (беше ibays)
Bulgarian (bg), Field: Home, English: Home, Translated: Начало
Bulgarian (bg), Field: Legacy panel, English: Legacy panel, Translated: Наследствен панел
Bulgarian (bg), Field: Local networks, English: Local networks, Translated: Местни мрежи
Bulgarian (bg), Field: Logout, English: Logout, Translated: Изход
Bulgarian (bg), Field: Online manual, English: Online manual, Translated: Онлайн ръководство
Bulgarian (bg), Field: NFS data share, English: NFS data share, Translated: Дял за данни NFS
Bulgarian (bg), Field: Port forwarding, English: Port forwarding, Translated: Пренасочване на портове
Bulgarian (bg), Field: Printers, English: Printers, Translated: Принтери
Bulgarian (bg), Field: Proxy settings, English: Proxy settings, Translated: Настройки на прокси
Bulgarian (bg), Field: Pseudonyms, English: Pseudonyms, Translated: Псевдоними
Bulgarian (bg), Field: Mail log file analysis, English: Mail log file analysis, Translated: Анализ на журнали с поща
Bulgarian (bg), Field: Quotas, English: Quotas, Translated: Квоти
Bulgarian (bg), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Рестартиране или изключване
Bulgarian (bg), Field: Review configuration, English: Review configuration, Translated: Преглед на конфигурацията
Bulgarian (bg), Field: Support and licensing, English: Support and licensing, Translated: Поддръжка и лицензиране
Bulgarian (bg), Field: Users, English: Users, Translated: Потребители
Bulgarian (bg), Field: User Panel Access, English: User Panel Access, Translated: Достъп до потребителския панел
Bulgarian (bg), Field: Change password, English: Change password, Translated: Промяна на паролата
Bulgarian (bg), Field: View log files, English: View log files, Translated: Преглед на log файлове
Bulgarian (bg), Field: Samba workgroup, English: Samba workgroup, Translated: Работна група Samba
Bulgarian (bg), Field: Software installer, English: Software installer, Translated: Инсталиране на софтуер
File not found for language: Danish (dk)
German (de), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
German (de), Field: Domains, English: Domains, Translated: Domains: Domänen
German (de), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Geteilte Bereiche (ehemals ibays)
German (de), Field: Home, English: Home, Translated: Startseite
German (de), Field: Legacy panel, English: Legacy panel, Translated: Altes Bedienfeld
German (de), Field: Logout, English: Logout, Translated: Abmelden
German (de), Field: NFS data share, English: NFS data share, Translated: NFS-Datenfreigabe
German (de), Field: User Panel Access, English: User Panel Access, Translated: Benutzerbereich Zugriff
German (de), Field: Change password, English: Change password, Translated: Passwort ändern
German (de), Field: Samba workgroup, English: Samba workgroup, Translated: Samba-Arbeitsgruppe
File not found for language: Greek (gr)
Spanish (es), Field: Report a bug, English: Report a bug, Translated: Informar de un error
Spanish (es), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
Spanish (es), Field: Domains, English: Domains, Translated: Dominios
Spanish (es), Field: E-mail, English: E-mail, Translated: Correo electrónico
Spanish (es), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Áreas compartidas (anteriormente ibays)
Spanish (es), Field: Home, English: Home, Translated: Inicio
Spanish (es), Field: Legacy panel, English: Legacy panel, Translated: Panel heredado
Spanish (es), Field: Logout, English: Logout, Translated: Cerrar sesión
Spanish (es), Field: NFS data share, English: NFS data share, Translated: Comparte de datos NFS
Spanish (es), Field: User Panel Access, English: User Panel Access, Translated: Acceso al Panel de Usuario
Spanish (es), Field: Change password, English: Change password, Translated: Cambiar contraseña
Spanish (es), Field: Samba workgroup, English: Samba workgroup, Translated: Grupo de trabajo de Samba
Estonian (et), Field: Backup or restore, English: Backup or restore, Translated: Varundamine või taastamine
Estonian (et), Field: Report a bug, English: Report a bug, Translated: Teata veast
Estonian (et), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Viirusevastane (ClamAV)
Estonian (et), Field: Date and time, English: Date and time, Translated: Kuupäev ja kellaaeg
Estonian (et), Field: Directory, English: Directory, Translated: Kataloog
Estonian (et), Field: Domains, English: Domains, Translated: Domeenid
Estonian (et), Field: E-mail, English: E-mail, Translated: E-post
Estonian (et), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Hostinimed ja aadressid
Estonian (et), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Jagatud alad (oli ibays)
Estonian (et), Field: Home, English: Home, Translated: Kodu
Estonian (et), Field: Legacy panel, English: Legacy panel, Translated: Pärandpaneel
Estonian (et), Field: Local networks, English: Local networks, Translated: Kohalikud võrgud
Estonian (et), Field: Logout, English: Logout, Translated: Logi välja
Estonian (et), Field: Online manual, English: Online manual, Translated: Veebimanuaal
Estonian (et), Field: NFS data share, English: NFS data share, Translated: NFS andmete jagamine
Estonian (et), Field: Port forwarding, English: Port forwarding, Translated: Pordi edastamine
Estonian (et), Field: Printers, English: Printers, Translated: Printerid
Estonian (et), Field: Proxy settings, English: Proxy settings, Translated: Puhverserveri seaded
Estonian (et), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonüümid
Estonian (et), Field: Mail log file analysis, English: Mail log file analysis, Translated: Posti logifaili analüüs
Estonian (et), Field: Quotas, English: Quotas, Translated: Kvoodid
Estonian (et), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Taaskäivitus või sulgemine
Estonian (et), Field: Remote access, English: Remote access, Translated: Kaugjuurdepääs
Estonian (et), Field: Review configuration, English: Review configuration, Translated: Konfiguratsiooni ülevaade
Estonian (et), Field: Support and licensing, English: Support and licensing, Translated: Toetus ja litsentsimine
Estonian (et), Field: Users, English: Users, Translated: Kasutajad
Estonian (et), Field: User Panel Access, English: User Panel Access, Translated: Kasutajapaneeli Juurdepääs
Estonian (et), Field: Change password, English: Change password, Translated: Muuda parooli
Estonian (et), Field: View log files, English: View log files, Translated: Vaata logifaile
Estonian (et), Field: Samba workgroup, English: Samba workgroup, Translated: Samba töögrupp
Estonian (et), Field: Software installer, English: Software installer, Translated: Tarkvara paigaldaja
French (fr), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
French (fr), Field: Domains, English: Domains, Translated: Domaines
French (fr), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Zones partagées (anciennement ibays)
French (fr), Field: Legacy panel, English: Legacy panel, Translated: Panneau Hérité
French (fr), Field: NFS data share, English: NFS data share, Translated: Partage de données NFS
French (fr), Field: Quotas, English: Quotas, Translated: Quotas
French (fr), Field: User Panel Access, English: User Panel Access, Translated: Accès au Panneau Utilisateur
French (fr), Field: Change password, English: Change password, Translated: Changer le mot de passe
French (fr), Field: Samba workgroup, English: Samba workgroup, Translated: Groupe de travail Samba
Hebrew (il), Field: Backup or restore, English: Backup or restore, Translated: גיבוי או שחזור
Hebrew (il), Field: Report a bug, English: Report a bug, Translated: דווח על באג
Hebrew (il), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: אנטי וירוס (ClamAV)
Hebrew (il), Field: Date and time, English: Date and time, Translated: תאריך ושעה
Hebrew (il), Field: Directory, English: Directory, Translated: ספרייה
Hebrew (il), Field: Domains, English: Domains, Translated: דומיינים
Hebrew (il), Field: E-mail, English: E-mail, Translated: אימייל
Hebrew (il), Field: Groups, English: Groups, Translated: קבוצות
Hebrew (il), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: שמות מארחים וכתובות
Hebrew (il), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: אזורים משותפים (היו ibays)
Hebrew (il), Field: Home, English: Home, Translated: דף הבית
Hebrew (il), Field: Legacy panel, English: Legacy panel, Translated: לוח מיושן
Hebrew (il), Field: Local networks, English: Local networks, Translated: רשתות מקומיות
Hebrew (il), Field: Logout, English: Logout, Translated: התנתקות
Hebrew (il), Field: Online manual, English: Online manual, Translated: מדריך מקוון
Hebrew (il), Field: NFS data share, English: NFS data share, Translated: שיתוף נתונים NFS
Hebrew (il), Field: Port forwarding, English: Port forwarding, Translated: העברת פורטים
Hebrew (il), Field: Printers, English: Printers, Translated: מדפסות
Hebrew (il), Field: Proxy settings, English: Proxy settings, Translated: הגדרות פרוקסי
Hebrew (il), Field: Pseudonyms, English: Pseudonyms, Translated: פסבדונים
Hebrew (il), Field: Mail log file analysis, English: Mail log file analysis, Translated: ניתוח קובץ יומן דואר
Hebrew (il), Field: Quotas, English: Quotas, Translated: מכסות
Hebrew (il), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: אתחל או כבה
Hebrew (il), Field: Remote access, English: Remote access, Translated: גישה מרחוק
Hebrew (il), Field: Review configuration, English: Review configuration, Translated: סקירת תצורה
Hebrew (il), Field: Support and licensing, English: Support and licensing, Translated: תמיכה ורישוי
Hebrew (il), Field: Users, English: Users, Translated: משתמשים
Hebrew (il), Field: User Panel Access, English: User Panel Access, Translated: גישה לפאנל המשתמש
Hebrew (il), Field: Change password, English: Change password, Translated: שנה סיסמה
Hebrew (il), Field: View log files, English: View log files, Translated: צפה בקבצי יומן
Hebrew (il), Field: Samba workgroup, English: Samba workgroup, Translated: קבוצת עבודה של Samba
Hebrew (il), Field: Software installer, English: Software installer, Translated: מתקין תוכנה
Hungarian (hu), Field: Backup or restore, English: Backup or restore, Translated: Biztonsági mentés vagy visszaállítás
Hungarian (hu), Field: Report a bug, English: Report a bug, Translated: Hiba jelentése
Hungarian (hu), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Vírusirtó (ClamAV)
Hungarian (hu), Field: Date and time, English: Date and time, Translated: Dátum és idő
Hungarian (hu), Field: Directory, English: Directory, Translated: Könyvtár
Hungarian (hu), Field: Domains, English: Domains, Translated: Tartományok
Hungarian (hu), Field: E-mail, English: E-mail, Translated: E-mail
Hungarian (hu), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Hosztnevek és címek
Hungarian (hu), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Megosztott területek (korábban ibays)
Hungarian (hu), Field: Home, English: Home, Translated: Kezdőlap
Hungarian (hu), Field: Legacy panel, English: Legacy panel, Translated: Klasszikus panel
Hungarian (hu), Field: Local networks, English: Local networks, Translated: Helyi hálózatok
Hungarian (hu), Field: Logout, English: Logout, Translated: Kijelentkezés
Hungarian (hu), Field: Online manual, English: Online manual, Translated: Online kézikönyv
Hungarian (hu), Field: NFS data share, English: NFS data share, Translated: NFS adatmegosztás
Hungarian (hu), Field: Port forwarding, English: Port forwarding, Translated: Port továbbítás
Hungarian (hu), Field: Printers, English: Printers, Translated: Nyomtatók
Hungarian (hu), Field: Proxy settings, English: Proxy settings, Translated: Proxy beállítások
Hungarian (hu), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonimok
Hungarian (hu), Field: Mail log file analysis, English: Mail log file analysis, Translated: Levél naplófájl elemzése
Hungarian (hu), Field: Quotas, English: Quotas, Translated: Kvóták
Hungarian (hu), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Újraindítás vagy leállítás
Hungarian (hu), Field: Remote access, English: Remote access, Translated: Távoli hozzáférés
Hungarian (hu), Field: Review configuration, English: Review configuration, Translated: Konfiguráció áttekintése
Hungarian (hu), Field: Support and licensing, English: Support and licensing, Translated: Támogatás és licencelés
Hungarian (hu), Field: Users, English: Users, Translated: Felhasználók
Hungarian (hu), Field: User Panel Access, English: User Panel Access, Translated: Felhasználói panel hozzáférés
Hungarian (hu), Field: Change password, English: Change password, Translated: Jelszó megváltoztatása
Hungarian (hu), Field: View log files, English: View log files, Translated: Naplófájlok megtekintése
Hungarian (hu), Field: Samba workgroup, English: Samba workgroup, Translated: Samba munkacsoport
Hungarian (hu), Field: Software installer, English: Software installer, Translated: Szoftvertelepítő
Indonesian (id), Field: Backup or restore, English: Backup or restore, Translated: Cadangkan atau pulihkan
Indonesian (id), Field: Report a bug, English: Report a bug, Translated: Laporkan Bug
Indonesian (id), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
Indonesian (id), Field: Date and time, English: Date and time, Translated: Tanggal dan waktu
Indonesian (id), Field: Directory, English: Directory, Translated: Direktori
Indonesian (id), Field: Domains, English: Domains, Translated: Domain
Indonesian (id), Field: E-mail, English: E-mail, Translated: E-mail
Indonesian (id), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Nama host dan alamat
Indonesian (id), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Area bersama (sebelumnya ibays)
Indonesian (id), Field: Home, English: Home, Translated: Beranda
Indonesian (id), Field: Legacy panel, English: Legacy panel, Translated: Panel warisan
Indonesian (id), Field: Local networks, English: Local networks, Translated: Jaringan lokal
Indonesian (id), Field: Logout, English: Logout, Translated: Keluar
Indonesian (id), Field: Online manual, English: Online manual, Translated: Manual daring
Indonesian (id), Field: NFS data share, English: NFS data share, Translated: Berbagi data NFS
Indonesian (id), Field: Port forwarding, English: Port forwarding, Translated: Penerusan port
Indonesian (id), Field: Printers, English: Printers, Translated: Printer
Indonesian (id), Field: Proxy settings, English: Proxy settings, Translated: Pengaturan proxy
Indonesian (id), Field: Pseudonyms, English: Pseudonyms, Translated: Nama Samaran
Indonesian (id), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analisis file log surat
Indonesian (id), Field: Quotas, English: Quotas, Translated: Kuota
Indonesian (id), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Mulai Ulang atau Matikan
Indonesian (id), Field: Remote access, English: Remote access, Translated: Akses jarak jauh
Indonesian (id), Field: Review configuration, English: Review configuration, Translated: Tinjau konfigurasi
Indonesian (id), Field: Support and licensing, English: Support and licensing, Translated: Dukungan dan Lisensi
Indonesian (id), Field: Users, English: Users, Translated: Pengguna
Indonesian (id), Field: User Panel Access, English: User Panel Access, Translated: Akses Panel Pengguna
Indonesian (id), Field: Change password, English: Change password, Translated: Ubah kata sandi
Indonesian (id), Field: View log files, English: View log files, Translated: Lihat file log
Indonesian (id), Field: Samba workgroup, English: Samba workgroup, Translated: Grup kerja Samba
Indonesian (id), Field: Software installer, English: Software installer, Translated: Penginstal perangkat lunak
Italian (it), Field: Report a bug, English: Report a bug, Translated: Segnala un bug
Italian (it), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
Italian (it), Field: Domains, English: Domains, Translated: Domini
Italian (it), Field: E-mail, English: E-mail, Translated: E-mail
Italian (it), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Aree condivise (precedentemente ibay)
Italian (it), Field: Home, English: Home, Translated: Home
Italian (it), Field: Legacy panel, English: Legacy panel, Translated: Pannello legacy
Italian (it), Field: Logout, English: Logout, Translated: Esci
Italian (it), Field: NFS data share, English: NFS data share, Translated: Condivisione dati NFS
Italian (it), Field: Port forwarding, English: Port forwarding, Translated: Inoltro delle porte
Italian (it), Field: User Panel Access, English: User Panel Access, Translated: Accesso Pannello Utente
Italian (it), Field: Change password, English: Change password, Translated: Cambia password
Italian (it), Field: Samba workgroup, English: Samba workgroup, Translated: Gruppo di lavoro Samba
Japanese (jp), Field: Report a bug, English: Report a bug, Translated: バグを報告
Japanese (jp), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: アンチウイルス (ClamAV)
Japanese (jp), Field: Date and time, English: Date and time, Translated: 日付と時刻
Japanese (jp), Field: Domains, English: Domains, Translated: ドメイン
Japanese (jp), Field: E-mail, English: E-mail, Translated: Eメール
Japanese (jp), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: ホスト名とアドレス
Japanese (jp), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: 共有エリア(以前のアイベイズ)
Japanese (jp), Field: Home, English: Home, Translated: ホーム
Japanese (jp), Field: Legacy panel, English: Legacy panel, Translated: レガシーパネル
Japanese (jp), Field: Local networks, English: Local networks, Translated: ローカルネットワーク
Japanese (jp), Field: Logout, English: Logout, Translated: ログアウト
Japanese (jp), Field: NFS data share, English: NFS data share, Translated: NFSデータ共有
Japanese (jp), Field: Port forwarding, English: Port forwarding, Translated: ポートフォワーディング
Japanese (jp), Field: Printers, English: Printers, Translated: プリンター
Japanese (jp), Field: Proxy settings, English: Proxy settings, Translated: プロキシ設定
Japanese (jp), Field: Pseudonyms, English: Pseudonyms, Translated: 仮名
Japanese (jp), Field: Mail log file analysis, English: Mail log file analysis, Translated: メールログファイル解析
Japanese (jp), Field: Quotas, English: Quotas, Translated: クォータ
Japanese (jp), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: 再起動またはシャットダウン
Japanese (jp), Field: Remote access, English: Remote access, Translated: リモートアクセス
Japanese (jp), Field: Review configuration, English: Review configuration, Translated: 構成の確認
Japanese (jp), Field: User Panel Access, English: User Panel Access, Translated: ユーザーパネルアクセス
Japanese (jp), Field: Change password, English: Change password, Translated: パスワードの変更
Japanese (jp), Field: View log files, English: View log files, Translated: ログファイルを表示
Japanese (jp), Field: Samba workgroup, English: Samba workgroup, Translated: Samba ワークグループ
Japanese (jp), Field: Software installer, English: Software installer, Translated: ソフトウェアインストーラ
Norwegian Bokmål (no), Field: Backup or restore, English: Backup or restore, Translated: Sikkerhetskopiere eller gjenopprette
Norwegian Bokmål (no), Field: Report a bug, English: Report a bug, Translated: Rapporter en feil
Norwegian Bokmål (no), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
Norwegian Bokmål (no), Field: Date and time, English: Date and time, Translated: Dato og tid
Norwegian Bokmål (no), Field: Directory, English: Directory, Translated: Katalog
Norwegian Bokmål (no), Field: Domains, English: Domains, Translated: Domener
Norwegian Bokmål (no), Field: E-mail, English: E-mail, Translated: E-post
Norwegian Bokmål (no), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Vertsnavn og adresser
Norwegian Bokmål (no), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Delte områder (tidligere ibays)
Norwegian Bokmål (no), Field: Home, English: Home, Translated: Hjem
Norwegian Bokmål (no), Field: Legacy panel, English: Legacy panel, Translated: Legacy-panel
Norwegian Bokmål (no), Field: Local networks, English: Local networks, Translated: Lokale nettverk
Norwegian Bokmål (no), Field: Logout, English: Logout, Translated: Logg ut
Norwegian Bokmål (no), Field: Online manual, English: Online manual, Translated: Online manual → Online brukerveiledning
Norwegian Bokmål (no), Field: NFS data share, English: NFS data share, Translated: NFS-datalagring
Norwegian Bokmål (no), Field: Port forwarding, English: Port forwarding, Translated: Port videresending
Norwegian Bokmål (no), Field: Printers, English: Printers, Translated: Skrivere
Norwegian Bokmål (no), Field: Proxy settings, English: Proxy settings, Translated: Proxy-innstillinger
Norwegian Bokmål (no), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonymer
Norwegian Bokmål (no), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analyser postloggfil
Norwegian Bokmål (no), Field: Quotas, English: Quotas, Translated: Kvoter
Norwegian Bokmål (no), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Omstart eller avstenging
Norwegian Bokmål (no), Field: Remote access, English: Remote access, Translated: Fjernstyring
Norwegian Bokmål (no), Field: Review configuration, English: Review configuration, Translated: Gjennomgå konfigurasjon
Norwegian Bokmål (no), Field: Support and licensing, English: Support and licensing, Translated: Støtte og lisensiering
Norwegian Bokmål (no), Field: Users, English: Users, Translated: Brukere
Norwegian Bokmål (no), Field: User Panel Access, English: User Panel Access, Translated: Brukerpanelets tilgang
Norwegian Bokmål (no), Field: Change password, English: Change password, Translated: Endre passord
Norwegian Bokmål (no), Field: View log files, English: View log files, Translated: Vis loggfiler
Norwegian Bokmål (no), Field: Samba workgroup, English: Samba workgroup, Translated: Samba arbeidsgruppe
Norwegian Bokmål (no), Field: Software installer, English: Software installer, Translated: Programvareinstallatør
Dutch (nl), Field: Report a bug, English: Report a bug, Translated: Een bug melden
Dutch (nl), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
Dutch (nl), Field: Domains, English: Domains, Translated: Domeinen
Dutch (nl), Field: E-mail, English: E-mail, Translated: E-mail
Dutch (nl), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Gedeelde gebieden (voorheen ibays)
Dutch (nl), Field: Home, English: Home, Translated: Startpagina
Dutch (nl), Field: Legacy panel, English: Legacy panel, Translated: Ouder paneel
Dutch (nl), Field: Local networks, English: Local networks, Translated: Lokale netwerken
Dutch (nl), Field: Logout, English: Logout, Translated: Uitloggen
Dutch (nl), Field: NFS data share, English: NFS data share, Translated: NFS-gegevensdeling
Dutch (nl), Field: Printers, English: Printers, Translated: Printers
Dutch (nl), Field: Support and licensing, English: Support and licensing, Translated: Ondersteuning en licenties
Dutch (nl), Field: User Panel Access, English: User Panel Access, Translated: Gebruikerspaneel Toegang
Dutch (nl), Field: Change password, English: Change password, Translated: Wijzig wachtwoord
Dutch (nl), Field: Samba workgroup, English: Samba workgroup, Translated: Samba-werkgroep
Dutch (nl), Field: Software installer, English: Software installer, Translated: Software-installatieprogramma
Polish (pl), Field: Backup or restore, English: Backup or restore, Translated: Kopia zapasowa lub przywracanie
Polish (pl), Field: Report a bug, English: Report a bug, Translated: Zgłoś błąd
Polish (pl), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antywirus (ClamAV)
Polish (pl), Field: Date and time, English: Date and time, Translated: Data i godzina
Polish (pl), Field: Directory, English: Directory, Translated: Katalog
Polish (pl), Field: Domains, English: Domains, Translated: Domeny
Polish (pl), Field: E-mail, English: E-mail, Translated: E-mail
Polish (pl), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Nazwy hostów i adresy
Polish (pl), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Obszary udostępnione (dawniej ibays)
Polish (pl), Field: Home, English: Home, Translated: Strona główna
Polish (pl), Field: Legacy panel, English: Legacy panel, Translated: Starszy panel
Polish (pl), Field: Local networks, English: Local networks, Translated: Sieci lokalne
Polish (pl), Field: Logout, English: Logout, Translated: Wyloguj się
Polish (pl), Field: Online manual, English: Online manual, Translated: Instrukcja online
Polish (pl), Field: NFS data share, English: NFS data share, Translated: Udostępnianie danych NFS
Polish (pl), Field: Port forwarding, English: Port forwarding, Translated: Przekierowanie portów
Polish (pl), Field: Printers, English: Printers, Translated: Drukarki
Polish (pl), Field: Proxy settings, English: Proxy settings, Translated: Ustawienia proxy
Polish (pl), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonimy
Polish (pl), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analiza pliku dziennika poczty
Polish (pl), Field: Quotas, English: Quotas, Translated: Limity
Polish (pl), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Uruchom ponownie lub wyłącz
Polish (pl), Field: Remote access, English: Remote access, Translated: Zdalny dostęp
Polish (pl), Field: Review configuration, English: Review configuration, Translated: Przegląd konfiguracji
Polish (pl), Field: Support and licensing, English: Support and licensing, Translated: Wsparcie i licencjonowanie
Polish (pl), Field: Users, English: Users, Translated: Użytkownicy
Polish (pl), Field: User Panel Access, English: User Panel Access, Translated: Dostęp do Panelu Użytkownika
Polish (pl), Field: Change password, English: Change password, Translated: Zmień hasło
Polish (pl), Field: View log files, English: View log files, Translated: Wyświetl pliki dziennika
Polish (pl), Field: Samba workgroup, English: Samba workgroup, Translated: Grupa robocza Samba
Polish (pl), Field: Software installer, English: Software installer, Translated: Instalator oprogramowania
Brazilian Portuguese (pt-br), Field: Report a bug, English: Report a bug, Translated: Relatar um bug
Brazilian Portuguese (pt-br), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivírus (ClamAV)
Brazilian Portuguese (pt-br), Field: Date and time, English: Date and time, Translated: Data e hora
Brazilian Portuguese (pt-br), Field: Directory, English: Directory, Translated: Diretório
Brazilian Portuguese (pt-br), Field: Domains, English: Domains, Translated: Domínios
Brazilian Portuguese (pt-br), Field: E-mail, English: E-mail, Translated: E-mail
Brazilian Portuguese (pt-br), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Nomes de host e endereços
Brazilian Portuguese (pt-br), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Áreas compartilhadas (eram ibays)
Brazilian Portuguese (pt-br), Field: Home, English: Home, Translated: Início
Brazilian Portuguese (pt-br), Field: Legacy panel, English: Legacy panel, Translated: Painel Legado
Brazilian Portuguese (pt-br), Field: Local networks, English: Local networks, Translated: Redes locais
Brazilian Portuguese (pt-br), Field: Logout, English: Logout, Translated: Finalizar Sessão
Brazilian Portuguese (pt-br), Field: Online manual, English: Online manual, Translated: Manual online
Brazilian Portuguese (pt-br), Field: NFS data share, English: NFS data share, Translated: Compartilhamento de dados NFS
Brazilian Portuguese (pt-br), Field: Port forwarding, English: Port forwarding, Translated: Encaminhamento de porta
Brazilian Portuguese (pt-br), Field: Printers, English: Printers, Translated: Impressoras
Brazilian Portuguese (pt-br), Field: Proxy settings, English: Proxy settings, Translated: Configurações de proxy
Brazilian Portuguese (pt-br), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudônimos
Brazilian Portuguese (pt-br), Field: Mail log file analysis, English: Mail log file analysis, Translated: Análise de arquivo de log de email
Brazilian Portuguese (pt-br), Field: Quotas, English: Quotas, Translated: Quotas
Brazilian Portuguese (pt-br), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Reiniciar ou desligar
Brazilian Portuguese (pt-br), Field: Remote access, English: Remote access, Translated: Acesso remoto
Brazilian Portuguese (pt-br), Field: Review configuration, English: Review configuration, Translated: Revisar configuração
Brazilian Portuguese (pt-br), Field: Support and licensing, English: Support and licensing, Translated: Suporte e licenciamento
Brazilian Portuguese (pt-br), Field: Users, English: Users, Translated: Usuários
Brazilian Portuguese (pt-br), Field: User Panel Access, English: User Panel Access, Translated: Acesso ao Painel do Usuário
Brazilian Portuguese (pt-br), Field: Change password, English: Change password, Translated: Alterar senha
Brazilian Portuguese (pt-br), Field: View log files, English: View log files, Translated: Ver arquivos de log
Brazilian Portuguese (pt-br), Field: Samba workgroup, English: Samba workgroup, Translated: Grupo de trabalho do Samba
Brazilian Portuguese (pt-br), Field: Software installer, English: Software installer, Translated: Instalador de software
Portuguese (pt), Field: Report a bug, English: Report a bug, Translated: Relatar um erro
Portuguese (pt), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivírus (ClamAV)
Portuguese (pt), Field: Date and time, English: Date and time, Translated: Data e hora
Portuguese (pt), Field: Domains, English: Domains, Translated: Domínios
Portuguese (pt), Field: E-mail, English: E-mail, Translated: E-mail
Portuguese (pt), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Áreas compartilhadas (antigamente ibays)
Portuguese (pt), Field: Home, English: Home, Translated: Início
Portuguese (pt), Field: Legacy panel, English: Legacy panel, Translated: Painel legado
Portuguese (pt), Field: Local networks, English: Local networks, Translated: Redes Locais
Portuguese (pt), Field: Logout, English: Logout, Translated: Logout
Portuguese (pt), Field: NFS data share, English: NFS data share, Translated: Compartilhamento de dados NFS
Portuguese (pt), Field: Port forwarding, English: Port forwarding, Translated: Encaminhamento de portas
Portuguese (pt), Field: Proxy settings, English: Proxy settings, Translated: Configurações de proxy
Portuguese (pt), Field: Remote access, English: Remote access, Translated: Acesso remoto
Portuguese (pt), Field: User Panel Access, English: User Panel Access, Translated: Acesso ao Painel do Usuário
Portuguese (pt), Field: Change password, English: Change password, Translated: Alterar senha
Portuguese (pt), Field: Samba workgroup, English: Samba workgroup, Translated: Grupo de trabalho Samba
Portuguese (pt), Field: Software installer, English: Software installer, Translated: Instalador de software
Romanian (ro), Field: Backup or restore, English: Backup or restore, Translated: Backup sau restaurare
Romanian (ro), Field: Report a bug, English: Report a bug, Translated: Raportați o eroare
Romanian (ro), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
Romanian (ro), Field: Date and time, English: Date and time, Translated: Data și ora
Romanian (ro), Field: Directory, English: Directory, Translated: Director
Romanian (ro), Field: Domains, English: Domains, Translated: Domenii
Romanian (ro), Field: E-mail, English: E-mail, Translated: E-mail
Romanian (ro), Field: Groups, English: Groups, Translated: Grupuri
Romanian (ro), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Nume gazdă și adrese
Romanian (ro), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Zone partajate (au fost ibays)
Romanian (ro), Field: Home, English: Home, Translated: Acasă
Romanian (ro), Field: Legacy panel, English: Legacy panel, Translated: Panou vechi
Romanian (ro), Field: Local networks, English: Local networks, Translated: Rețele locale
Romanian (ro), Field: Logout, English: Logout, Translated: Deconectare
Romanian (ro), Field: Online manual, English: Online manual, Translated: Manual online
Romanian (ro), Field: NFS data share, English: NFS data share, Translated: Partajare date NFS
Romanian (ro), Field: Port forwarding, English: Port forwarding, Translated: Port forwarding
Romanian (ro), Field: Printers, English: Printers, Translated: Imprimante
Romanian (ro), Field: Proxy settings, English: Proxy settings, Translated: Setări proxy
Romanian (ro), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonime
Romanian (ro), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analiza fișierului jurnal de e-mail
Romanian (ro), Field: Quotas, English: Quotas, Translated: Cote
Romanian (ro), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Repornește sau oprește
Romanian (ro), Field: Remote access, English: Remote access, Translated: Acces de la distanță
Romanian (ro), Field: Review configuration, English: Review configuration, Translated: Revizuire configurație
Romanian (ro), Field: Support and licensing, English: Support and licensing, Translated: Suport și licențiere
Romanian (ro), Field: Users, English: Users, Translated: Utilizatori
Romanian (ro), Field: User Panel Access, English: User Panel Access, Translated: Acces Panou Utilizator
Romanian (ro), Field: Change password, English: Change password, Translated: Schimbă parola
Romanian (ro), Field: View log files, English: View log files, Translated: Vizualizare fișiere jurnal
Romanian (ro), Field: Samba workgroup, English: Samba workgroup, Translated: Grup de lucru Samba
Romanian (ro), Field: Software installer, English: Software installer, Translated: Instalator software
Russian (ru), Field: Backup or restore, English: Backup or restore, Translated: Резервное копирование или восстановление
Russian (ru), Field: Report a bug, English: Report a bug, Translated: Сообщить об ошибке
Russian (ru), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Антивирус (ClamAV)
Russian (ru), Field: Date and time, English: Date and time, Translated: Дата и время
Russian (ru), Field: Directory, English: Directory, Translated: Каталог
Russian (ru), Field: Domains, English: Domains, Translated: Домены
Russian (ru), Field: E-mail, English: E-mail, Translated: Электронная почта
Russian (ru), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Имена хостов и адреса
Russian (ru), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Общие области (бывшие ibays)
Russian (ru), Field: Home, English: Home, Translated: Главная
Russian (ru), Field: Legacy panel, English: Legacy panel, Translated: Панель наследия
Russian (ru), Field: Local networks, English: Local networks, Translated: Местные сети
Russian (ru), Field: Logout, English: Logout, Translated: Выйти
Russian (ru), Field: Online manual, English: Online manual, Translated: Онлайн-руководство
Russian (ru), Field: NFS data share, English: NFS data share, Translated: Общий доступ к данным NFS
Russian (ru), Field: Port forwarding, English: Port forwarding, Translated: Переадресация портов
Russian (ru), Field: Printers, English: Printers, Translated: Принтеры
Russian (ru), Field: Proxy settings, English: Proxy settings, Translated: Настройки прокси
Russian (ru), Field: Pseudonyms, English: Pseudonyms, Translated: Псевдонимы
Russian (ru), Field: Mail log file analysis, English: Mail log file analysis, Translated: Анализ журнала почты
Russian (ru), Field: Quotas, English: Quotas, Translated: Квоты
Russian (ru), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Перезагрузить или завершить работу
Russian (ru), Field: Remote access, English: Remote access, Translated: Удаленный доступ
Russian (ru), Field: Review configuration, English: Review configuration, Translated: Просмотр конфигурации
Russian (ru), Field: Support and licensing, English: Support and licensing, Translated: Поддержка и лицензирование
Russian (ru), Field: Users, English: Users, Translated: Пользователи
Russian (ru), Field: User Panel Access, English: User Panel Access, Translated: Доступ к панели пользователя
Russian (ru), Field: Change password, English: Change password, Translated: Сменить пароль
Russian (ru), Field: View log files, English: View log files, Translated: Просмотр файлов журнала
Russian (ru), Field: Samba workgroup, English: Samba workgroup, Translated: Рабочая группа Samba
Russian (ru), Field: Software installer, English: Software installer, Translated: Установщик программного обеспечения
Slovenian (sl), Field: Backup or restore, English: Backup or restore, Translated: Varnostna kopija ali obnovitev
Slovenian (sl), Field: Report a bug, English: Report a bug, Translated: Prijavi hrošča
Slovenian (sl), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
Slovenian (sl), Field: Date and time, English: Date and time, Translated: Datum in čas
Slovenian (sl), Field: Directory, English: Directory, Translated: Imenik
Slovenian (sl), Field: Domains, English: Domains, Translated: Domene
Slovenian (sl), Field: E-mail, English: E-mail, Translated: E-pošta
Slovenian (sl), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Imena gostiteljev in naslovi
Slovenian (sl), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Skupna območja (prej ibays)
Slovenian (sl), Field: Home, English: Home, Translated: Domov
Slovenian (sl), Field: Legacy panel, English: Legacy panel, Translated: Zapuščena plošča
Slovenian (sl), Field: Local networks, English: Local networks, Translated: Lokalna omrežja
Slovenian (sl), Field: Logout, English: Logout, Translated: Odjava
Slovenian (sl), Field: Online manual, English: Online manual, Translated: Spletni priročnik
Slovenian (sl), Field: NFS data share, English: NFS data share, Translated: Souporaba podatkov NFS
Slovenian (sl), Field: Port forwarding, English: Port forwarding, Translated: Posredovanje vrat
Slovenian (sl), Field: Printers, English: Printers, Translated: Tiskalniki
Slovenian (sl), Field: Proxy settings, English: Proxy settings, Translated: Nastavitve proxyja
Slovenian (sl), Field: Pseudonyms, English: Pseudonyms, Translated: Psevdonimi
Slovenian (sl), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analiza datotek dnevnika pošte
Slovenian (sl), Field: Quotas, English: Quotas, Translated: Kvote
Slovenian (sl), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Znova zaženi ali izklopi
Slovenian (sl), Field: Remote access, English: Remote access, Translated: Oddaljen dostop
Slovenian (sl), Field: Review configuration, English: Review configuration, Translated: Preglej konfiguracijo
Slovenian (sl), Field: Support and licensing, English: Support and licensing, Translated: Podpora in licenciranje
Slovenian (sl), Field: Users, English: Users, Translated: Uporabniki
Slovenian (sl), Field: User Panel Access, English: User Panel Access, Translated: Dostop do uporabniške plošče
Slovenian (sl), Field: Change password, English: Change password, Translated: Spremeni geslo
Slovenian (sl), Field: View log files, English: View log files, Translated: Ogled dnevniških datotek
Slovenian (sl), Field: Samba workgroup, English: Samba workgroup, Translated: Delovna skupina Samba
Slovenian (sl), Field: Software installer, English: Software installer, Translated: Namestitveni program
Swedish (sv), Field: Backup or restore, English: Backup or restore, Translated: Säkerhetskopiera eller återställ
Swedish (sv), Field: Report a bug, English: Report a bug, Translated: Rapportera ett fel
Swedish (sv), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
Swedish (sv), Field: Date and time, English: Date and time, Translated: Datum och tid
Swedish (sv), Field: Directory, English: Directory, Translated: Katalog
Swedish (sv), Field: Domains, English: Domains, Translated: Domäner
Swedish (sv), Field: E-mail, English: E-mail, Translated: E-post
Swedish (sv), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Värdnamn och adresser
Swedish (sv), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Delade områden (tidigare ibays)
Swedish (sv), Field: Home, English: Home, Translated: Hem
Swedish (sv), Field: Legacy panel, English: Legacy panel, Translated: Äldre panel
Swedish (sv), Field: Local networks, English: Local networks, Translated: Lokala nätverk
Swedish (sv), Field: Logout, English: Logout, Translated: Logga ut
Swedish (sv), Field: Online manual, English: Online manual, Translated: Online-manual
Swedish (sv), Field: NFS data share, English: NFS data share, Translated: NFS-datadelning
Swedish (sv), Field: Port forwarding, English: Port forwarding, Translated: Portvidarebefordran
Swedish (sv), Field: Printers, English: Printers, Translated: Skrivare
Swedish (sv), Field: Proxy settings, English: Proxy settings, Translated: Proxyinställningar
Swedish (sv), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonymer
Swedish (sv), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analys av e-postloggfiler
Swedish (sv), Field: Quotas, English: Quotas, Translated: Kvoter
Swedish (sv), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Starta om eller stäng av
Swedish (sv), Field: Remote access, English: Remote access, Translated: Fjärråtkomst
Swedish (sv), Field: Review configuration, English: Review configuration, Translated: Granska konfiguration
Swedish (sv), Field: Support and licensing, English: Support and licensing, Translated: Support och licensiering
Swedish (sv), Field: Users, English: Users, Translated: Användare
Swedish (sv), Field: User Panel Access, English: User Panel Access, Translated: Användarpanel Åtkomst
Swedish (sv), Field: Change password, English: Change password, Translated: Byt lösenord
Swedish (sv), Field: View log files, English: View log files, Translated: Visa loggfiler
Swedish (sv), Field: Samba workgroup, English: Samba workgroup, Translated: Samba arbetsgrupp
Swedish (sv), Field: Software installer, English: Software installer, Translated: Programvaruinstallatör
Thai (th), Field: Backup or restore, English: Backup or restore, Translated: สำรองหรือกู้คืน
Thai (th), Field: Report a bug, English: Report a bug, Translated: รายงานข้อบกพร่อง
Thai (th), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: แอนติไวรัส (ClamAV)
Thai (th), Field: Date and time, English: Date and time, Translated: วันที่และเวลา
Thai (th), Field: Directory, English: Directory, Translated: ไดเรกทอรี
Thai (th), Field: Domains, English: Domains, Translated: โดเมน
Thai (th), Field: E-mail, English: E-mail, Translated: อีเมล
Thai (th), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: ชื่อโฮสต์และที่อยู่
Thai (th), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: พื้นที่ใช้ร่วมกัน (เดิมเรียกว่า ibays)
Thai (th), Field: Home, English: Home, Translated: หน้าแรก
Thai (th), Field: Legacy panel, English: Legacy panel, Translated: แผงควบคุมแบบเก่า
Thai (th), Field: Local networks, English: Local networks, Translated: เครือข่ายภายใน
Thai (th), Field: Logout, English: Logout, Translated: ออกจากระบบ
Thai (th), Field: Online manual, English: Online manual, Translated: คู่มือออนไลน์
Thai (th), Field: NFS data share, English: NFS data share, Translated: การแบ่งปันข้อมูล NFS
Thai (th), Field: Port forwarding, English: Port forwarding, Translated: การส่งต่อพอร์ต
Thai (th), Field: Printers, English: Printers, Translated: เครื่องพิมพ์
Thai (th), Field: Proxy settings, English: Proxy settings, Translated: การตั้งค่า Proxy
Thai (th), Field: Pseudonyms, English: Pseudonyms, Translated: ชื่อแฝง
Thai (th), Field: Mail log file analysis, English: Mail log file analysis, Translated: การวิเคราะห์ไฟล์บันทึกจดหมาย
Thai (th), Field: Quotas, English: Quotas, Translated: โควตา
Thai (th), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: รีบูตหรือปิดระบบ
Thai (th), Field: Remote access, English: Remote access, Translated: การเข้าถึงระยะไกล
Thai (th), Field: Review configuration, English: Review configuration, Translated: ตรวจสอบการกำหนดค่า
Thai (th), Field: Support and licensing, English: Support and licensing, Translated: การสนับสนุนและการอนุญาตใช้งาน
Thai (th), Field: Users, English: Users, Translated: ผู้ใช้
Thai (th), Field: User Panel Access, English: User Panel Access, Translated: การเข้าถึงแผงผู้ใช้
Thai (th), Field: Change password, English: Change password, Translated: เปลี่ยนรหัสผ่าน
Thai (th), Field: View log files, English: View log files, Translated: ดูไฟล์บันทึก
Thai (th), Field: Samba workgroup, English: Samba workgroup, Translated: กลุ่มการทำงานของ Samba
Thai (th), Field: Software installer, English: Software installer, Translated: เครื่องมือติดตั้งซอฟต์แวร์
Turkish (tr), Field: Backup or restore, English: Backup or restore, Translated: Yedekleme veya geri yükleme
Turkish (tr), Field: Report a bug, English: Report a bug, Translated: Bir hata bildir
Turkish (tr), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirüs (ClamAV)
Turkish (tr), Field: Date and time, English: Date and time, Translated: Tarih ve Saat
Turkish (tr), Field: Directory, English: Directory, Translated: Dizin
Turkish (tr), Field: Domains, English: Domains, Translated: Alanlar
Turkish (tr), Field: E-mail, English: E-mail, Translated: E-posta
Turkish (tr), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Ana Bilgisayar İsimleri ve Adresler
Turkish (tr), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Paylaşılan alanlar (önceki ibays)
Turkish (tr), Field: Home, English: Home, Translated: Ana Sayfa
Turkish (tr), Field: Legacy panel, English: Legacy panel, Translated: Eski panel
Turkish (tr), Field: Local networks, English: Local networks, Translated: Yerel ağlar
Turkish (tr), Field: Logout, English: Logout, Translated: Oturumu Kapat
Turkish (tr), Field: Online manual, English: Online manual, Translated: Çevrimiçi Kılavuz
Turkish (tr), Field: NFS data share, English: NFS data share, Translated: NFS veri paylaşımı
Turkish (tr), Field: Port forwarding, English: Port forwarding, Translated: Port yönlendirme
Turkish (tr), Field: Printers, English: Printers, Translated: Yazıcılar
Turkish (tr), Field: Proxy settings, English: Proxy settings, Translated: Proxy ayarları
Turkish (tr), Field: Pseudonyms, English: Pseudonyms, Translated: Takma Adlar
Turkish (tr), Field: Mail log file analysis, English: Mail log file analysis, Translated: Posta günlük dosyası analizi
Turkish (tr), Field: Quotas, English: Quotas, Translated: Kotalar
Turkish (tr), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Yeniden Başlat veya Kapat
Turkish (tr), Field: Remote access, English: Remote access, Translated: Uzaktan erişim
Turkish (tr), Field: Review configuration, English: Review configuration, Translated: Yapılandırmayı İncele
Turkish (tr), Field: Support and licensing, English: Support and licensing, Translated: Destek ve lisanslama
Turkish (tr), Field: Users, English: Users, Translated: Kullanıcılar
Turkish (tr), Field: User Panel Access, English: User Panel Access, Translated: Kullanıcı Paneli Erişimi
Turkish (tr), Field: Change password, English: Change password, Translated: Şifreyi değiştir
Turkish (tr), Field: View log files, English: View log files, Translated: Günlük dosyalarını görüntüle
Turkish (tr), Field: Samba workgroup, English: Samba workgroup, Translated: Samba çalışma grubu
Turkish (tr), Field: Software installer, English: Software installer, Translated: Yazılım Yükleyici
Simplified Chinese (zh-cn), Field: Backup or restore, English: Backup or restore, Translated: 备份或还原
Simplified Chinese (zh-cn), Field: Report a bug, English: Report a bug, Translated: 报告错误
Simplified Chinese (zh-cn), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: 杀毒软件ClamAV
Simplified Chinese (zh-cn), Field: Date and time, English: Date and time, Translated: 日期和时间
Simplified Chinese (zh-cn), Field: Directory, English: Directory, Translated: 目录
Simplified Chinese (zh-cn), Field: Domains, English: Domains, Translated: 域名
Simplified Chinese (zh-cn), Field: E-mail, English: E-mail, Translated: 电子邮件
Simplified Chinese (zh-cn), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: 主机名和地址
Simplified Chinese (zh-cn), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: 共享区域(原 ibays
Simplified Chinese (zh-cn), Field: Home, English: Home, Translated: 主页
Simplified Chinese (zh-cn), Field: Legacy panel, English: Legacy panel, Translated: 旧版控制面板
Simplified Chinese (zh-cn), Field: Local networks, English: Local networks, Translated: 本地网络
Simplified Chinese (zh-cn), Field: Logout, English: Logout, Translated: 注销
Simplified Chinese (zh-cn), Field: Online manual, English: Online manual, Translated: 在线手册
Simplified Chinese (zh-cn), Field: NFS data share, English: NFS data share, Translated: NFS 数据共享
Simplified Chinese (zh-cn), Field: Port forwarding, English: Port forwarding, Translated: 端口转发
Simplified Chinese (zh-cn), Field: Printers, English: Printers, Translated: 打印机
Simplified Chinese (zh-cn), Field: Proxy settings, English: Proxy settings, Translated: 代理设置
Simplified Chinese (zh-cn), Field: Pseudonyms, English: Pseudonyms, Translated: 假名
Simplified Chinese (zh-cn), Field: Mail log file analysis, English: Mail log file analysis, Translated: 邮件日志文件分析
Simplified Chinese (zh-cn), Field: Quotas, English: Quotas, Translated: 配额
Simplified Chinese (zh-cn), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: 重新启动或关机
Simplified Chinese (zh-cn), Field: Remote access, English: Remote access, Translated: 远程访问
Simplified Chinese (zh-cn), Field: Review configuration, English: Review configuration, Translated: 查看配置
Simplified Chinese (zh-cn), Field: Support and licensing, English: Support and licensing, Translated: 支持与授权
Simplified Chinese (zh-cn), Field: Users, English: Users, Translated: 用户
Simplified Chinese (zh-cn), Field: User Panel Access, English: User Panel Access, Translated: 用户面板访问
Simplified Chinese (zh-cn), Field: Change password, English: Change password, Translated: 更改密码
Simplified Chinese (zh-cn), Field: View log files, English: View log files, Translated: 查看日志文件
Simplified Chinese (zh-cn), Field: Samba workgroup, English: Samba workgroup, Translated: Samba 工作组
Simplified Chinese (zh-cn), Field: Software installer, English: Software installer, Translated: 软件安装程序
Traditional Chinese (zh-tw), Field: Backup or restore, English: Backup or restore, Translated: 備份或恢復
Traditional Chinese (zh-tw), Field: Report a bug, English: Report a bug, Translated: 回報錯誤
Traditional Chinese (zh-tw), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: 防毒軟體 (ClamAV)
Traditional Chinese (zh-tw), Field: Date and time, English: Date and time, Translated: 日期和時間
Traditional Chinese (zh-tw), Field: Directory, English: Directory, Translated: 目錄
Traditional Chinese (zh-tw), Field: Domains, English: Domains, Translated: 網域
Traditional Chinese (zh-tw), Field: E-mail, English: E-mail, Translated: 電子郵件
Traditional Chinese (zh-tw), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: 主機名稱和地址
Traditional Chinese (zh-tw), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: 共享區域(原 ibays
Traditional Chinese (zh-tw), Field: Home, English: Home, Translated: 首頁
Traditional Chinese (zh-tw), Field: Legacy panel, English: Legacy panel, Translated: 傳統面板
Traditional Chinese (zh-tw), Field: Local networks, English: Local networks, Translated: 本地網路
Traditional Chinese (zh-tw), Field: Logout, English: Logout, Translated: 登出
Traditional Chinese (zh-tw), Field: Online manual, English: Online manual, Translated: 線上手冊
Traditional Chinese (zh-tw), Field: NFS data share, English: NFS data share, Translated: NFS 資料共享
Traditional Chinese (zh-tw), Field: Port forwarding, English: Port forwarding, Translated: 端口轉發
Traditional Chinese (zh-tw), Field: Printers, English: Printers, Translated: 印表機
Traditional Chinese (zh-tw), Field: Proxy settings, English: Proxy settings, Translated: 代理設定
Traditional Chinese (zh-tw), Field: Pseudonyms, English: Pseudonyms, Translated: 化名
Traditional Chinese (zh-tw), Field: Mail log file analysis, English: Mail log file analysis, Translated: 郵件日誌文件分析
Traditional Chinese (zh-tw), Field: Quotas, English: Quotas, Translated: 配額
Traditional Chinese (zh-tw), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: 重新啟動或關機
Traditional Chinese (zh-tw), Field: Remote access, English: Remote access, Translated: 遠端存取
Traditional Chinese (zh-tw), Field: Review configuration, English: Review configuration, Translated: 檢視設定
Traditional Chinese (zh-tw), Field: Support and licensing, English: Support and licensing, Translated: 支援與授權
Traditional Chinese (zh-tw), Field: Users, English: Users, Translated: 用戶
Traditional Chinese (zh-tw), Field: User Panel Access, English: User Panel Access, Translated: 用戶面板存取
Traditional Chinese (zh-tw), Field: Change password, English: Change password, Translated: 更改密碼
Traditional Chinese (zh-tw), Field: View log files, English: View log files, Translated: 檢視日誌檔案
Traditional Chinese (zh-tw), Field: Samba workgroup, English: Samba workgroup, Translated: Samba 工作群組
Traditional Chinese (zh-tw), Field: Software installer, English: Software installer, Translated: 軟體安裝程式

346
sm2gen.py
View File

@ -1,32 +1,31 @@
import json5
import sys
import argparse
from chameleon import PageTemplateFile,PageTemplate
from chameleon import PageTemplateFile, PageTemplate
import pkg_resources
import xml.etree.ElementTree as ET
import re
import os
import pkg_resources
from datetime import datetime
import xml.etree.ElementTree as ET
from openai import OpenAI
import configparser
import json
#
#To Do
# To Do
# 1. Get routing working
# 2. Deal with ? and ! as sentence ends in text-format
# 3. Make lexical scan work with double or single quotes (if possible)
SME2Gen_version = '0.8'
SME2Gen_version = "0.8"
json5_dict: dict = {}
json5_html_list: list = []
# Define the path to the INI file
ini_file_path = os.path.expanduser('~/.smegit/conf')
ini_file_path = os.path.expanduser("~/.smegit/conf")
OPENAI_API_KEY = ""
def parse_json(json_obj, prefix=''):
def parse_json(json_obj, prefix=""):
structured_list = []
if isinstance(json_obj, dict):
for k, v in json_obj.items():
@ -40,23 +39,27 @@ def parse_json(json_obj, prefix=''):
structured_list.append(f"{prefix}: {json_obj}")
return structured_list
def json5_to_list(filename):
with open(filename, 'r') as file:
with open(filename, "r") as file:
data = json5.load(file)
return parse_json(data)
def json5_to_pandas(filename):
with open(filename, 'r') as file:
with open(filename, "r") as file:
data = json5.load(file)
print (data)
print(data)
return data.json_normalize(data)
def json5_to_dict(filename):
with open(filename, 'r') as file:
with open(filename, "r") as file:
data = json5.load(file)
return data
def rec_print(data, prefix=''):
def rec_print(data, prefix=""):
# Check if this item is a dictionary.
if isinstance(data, dict):
for key, val in data.items():
@ -69,6 +72,7 @@ def rec_print(data, prefix=''):
else:
print(f"{prefix}: {data}")
def find_item(nested_dict, target_key):
for key, val in nested_dict.items():
if key == target_key:
@ -78,6 +82,7 @@ def find_item(nested_dict, target_key):
if result is not None:
return result
def find_dicts_with_key(data, target_key):
results = []
if isinstance(data, dict):
@ -92,6 +97,7 @@ def find_dicts_with_key(data, target_key):
results.extend(find_dicts_with_key(item, target_key))
return results
def find_values_with_key(data, target_key):
results = []
if isinstance(data, dict):
@ -106,9 +112,10 @@ def find_values_with_key(data, target_key):
results.extend(find_values_with_key(item, target_key))
return results
def lint_json5(filename):
try:
with open(filename, 'r') as file:
with open(filename, "r") as file:
data = file.read()
json5.loads(data)
print(f"{filename} as JSON5 data is valid")
@ -123,29 +130,37 @@ def flatten_hash_of_lists(hash_of_lists):
for key, value in hash_of_lists.items():
if isinstance(value, list):
for i, item in enumerate(value):
new_key = f"{key}_{i}" # Appending index to the key to maintain uniqueness
new_key = (
f"{key}_{i}" # Appending index to the key to maintain uniqueness
)
flattened[new_key] = item
else:
flattened[key] = value
return flattened
def hl(keyname):
# Return highest level value for the keyname
if keyname in json5_dict:
return json5_dict[keyname]
else:
print(f"{keyname} not found in JSON5 - top level")
return 'None'
return "None"
def get_all_routes():
route_list = [html_block.get('route') for html_block in json5_dict.get('html', [])]
route_list = [html_block.get("route") for html_block in json5_dict.get("html", [])]
return route_list
def lc_get_all_routes():
# All routes in lower case
route_list = [html_block.get('route').lower() for html_block in json5_dict.get('html', [])]
route_list = [
html_block.get("route").lower() for html_block in json5_dict.get("html", [])
]
return route_list
def has_file_been_modified(file_path):
# Get the file's creation time and last modification time in Unix timestamp
creation_time = os.path.getctime(file_path)
@ -159,6 +174,7 @@ def has_file_been_modified(file_path):
else:
return False # File has not been modified after creation
def parse_xml_to_dict(xml_file):
# Parse the XML file
tree = ET.parse(xml_file)
@ -172,11 +188,12 @@ def parse_xml_to_dict(xml_file):
if elem.text:
xml_dict[tag] = elem.text
else:
cdata_content = elem.find('.//').text # Extract CDATA text
cdata_content = elem.find(".//").text # Extract CDATA text
xml_dict[tag] = cdata_content
return xml_dict
def deduplicate_array(arr):
# Convert the array to a set to remove duplicates
unique_set = set(arr)
@ -186,11 +203,14 @@ def deduplicate_array(arr):
return deduplicated_list
def get_db_fields():
return []
def get_table_control_data():
return find_values_with_key(json5_html_list,'TableControl')
return find_values_with_key(json5_html_list, "TableControl")
def format_text(text):
#
@ -201,25 +221,25 @@ def format_text(text):
# Split the text into sentences
sentences = text.split(".")
words = sentences[0].split(" ")
#print(len(sentences))
# print(len(sentences))
# Deal with one capitalised word
if sentences[0].isupper() and len(sentences) == 1 and len(words) == 1:
return sentences[0].capitalize()
else:
for sentence in sentences:
#print(sentence)
# print(sentence)
# and splt into sub phrases, based on comma
formatted_phrases = []
phrases = sentence.split(",")
for phrase in phrases:
#print(phrase)
# print(phrase)
phrase = phrase.lstrip()
formatted_words = []
words = phrase.split(' ')
words = phrase.split(" ")
for i,word in enumerate(words):
#print(i,word)
for i, word in enumerate(words):
# print(i,word)
# Check if the word is fully uppercase or not the first
word = word.lstrip()
if word.isupper() or i != 0:
@ -229,7 +249,7 @@ def format_text(text):
formatted_words.append(word.capitalize())
# Join the formatted words back together for this phrase
formatted_phrase = ' '.join(formatted_words).lstrip()
formatted_phrase = " ".join(formatted_words).lstrip()
formatted_phrases.append(formatted_phrase)
# and sentence
formatted_sentence = ", ".join(formatted_phrases).lstrip()
@ -238,29 +258,47 @@ def format_text(text):
formatted_text = ". ".join(formatted_sentences).lstrip()
return formatted_text
def get_completion(prompt):
response = client.chat.completions.create(model="gpt-4o",
messages=[{'role':"user", 'content':prompt}],
max_tokens=100)
#
# temperature: Controls the randomness of the response. Lower values make the output more focused and deterministic, while higher values make it more creative and random.
# top_p: Controls the diversity of the response. It relates to nucleus sampling, where the model considers only the tokens with the top p probability mass.
# n: Number of completions to generate for each prompt.
# stop: A string or list of strings. Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.
# presence_penalty: A number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
# frequency_penalty: A number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
# logit_bias: A dictionary that allows you to manipulate the likelihood of specified tokens appearing in the output.
#
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}],
temperature=0,
max_tokens=100,
)
# Extracting the content message from the JSON data
response_data = response.to_dict()
content_message = response_data["choices"][0]["message"]["content"]
return content_message.strip()
def get_translation(message="Hello",language="french"):
def get_translation(message="Hello", language="french"):
prompt = f"""Translate the following text in triple ~~~ so that it is suitable for a server management application menu
and only return the actual translation; translate it from from English to {language} ~~~{message}~~~"""
translated_message = get_completion(prompt)
# Look for over long messages
if len(message)/len(translated_message) < 0.2:
if len(message) / len(translated_message) < 0.2:
print(f"{message} translated to {translated_message}")
quit()
return translated_message
def convert_lex_to_dict(pairs_string):
# Splitting pairs string by comma and newline, excluding empty lines
pairs_list = [line for line in pairs_string.split(",\n") if line.strip()]
data_dict = {pair.split(" => ")[0].strip("'"): pair.split(" => ")[1].strip("'") for pair in pairs_list}
data_dict = {
pair.split(" => ")[0].strip("'"): pair.split(" => ")[1].strip("'")
for pair in pairs_list
}
formatted_dict = [{"id": key, "text": value} for key, value in data_dict.items()]
return formatted_dict
@ -275,7 +313,16 @@ if __name__ == "__main__":
current_datetime = datetime.now()
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M")
strVersion = "SM2Gen version:"+SME2Gen_version+" Chameleon version:"+chameleon_version+" On Python:"+python_version+" at "+formatted_datetime
strVersion = (
"SM2Gen version:"
+ SME2Gen_version
+ " Chameleon version:"
+ chameleon_version
+ " On Python:"
+ python_version
+ " at "
+ formatted_datetime
)
json5_dict: dict = {}
json5_html_list: list = []
@ -293,9 +340,9 @@ if __name__ == "__main__":
config.read(ini_file_path)
# Read the value of "OPENAI_API_KEY"
if 'OPENAI_API_KEY' in config['smegit']:
OPENAI_API_KEY = config['smegit']['OPENAI_API_KEY']
#print("API Key:", OPENAI_API_KEY)
if "OPENAI_API_KEY" in config["smegit"]:
OPENAI_API_KEY = config["smegit"]["OPENAI_API_KEY"]
# print("API Key:", OPENAI_API_KEY)
client = OpenAI(api_key=OPENAI_API_KEY)
else:
print("OPENAI_API_KEY not found in the configuration file.")
@ -304,59 +351,83 @@ if __name__ == "__main__":
# Command line parameters - not in use
parser = argparse.ArgumentParser(description="SM2Gen")
parser.add_argument('-f', '--filename', help='Specify a filename for the JSON5 file', default=json_filename)
parser.add_argument('-nco', '--noController', help='Stop it creating a controller file', default="no")
parser.add_argument('-nh', '--noHtml', help='Stop it creating html files(s)', default="no")
parser.add_argument('-nl', '--noLang', help='Stop it creating language localise files(s)', default="no")
parser.add_argument('-ncu', '--noCust', help='Stop it creating Custom controller file', default="no")
parser.add_argument(
"-f",
"--filename",
help="Specify a filename for the JSON5 file",
default=json_filename,
)
parser.add_argument(
"-nco",
"--noController",
help="Stop it creating a controller file",
default="no",
)
parser.add_argument(
"-nh", "--noHtml", help="Stop it creating html files(s)", default="no"
)
parser.add_argument(
"-nl",
"--noLang",
help="Stop it creating language localise files(s)",
default="no",
)
parser.add_argument(
"-ncu", "--noCust", help="Stop it creating Custom controller file", default="no"
)
args = parser.parse_args()
json_filename = args.filename
print(f"JSON5 from {json_filename} with noController={args.noController}, noHtml={args.noHtml} and noLang={args.noLang}") #Not yet activated
print(
f"JSON5 from {json_filename} with noController={args.noController}, noHtml={args.noHtml} and noLang={args.noLang}"
) # Not yet activated
# check syntax of JSON5
lint_json5(json_filename);
lint_json5(json_filename)
# Get dict of it all
json5_dict = json5_to_dict(json_filename)
# Get dict of just the html bit
json5_html_list = json5_dict['html']
json5_html_list = json5_dict["html"]
#Identify message
# Identify message
print(f"\nGenerating mojo panels for {hl('PackageName')}")
print( "-----------------------------------")
print("-----------------------------------")
# Routes for each panel
routes = get_all_routes();
lc_routes =lc_get_all_routes();
routes = get_all_routes()
lc_routes = lc_get_all_routes()
#File names
controller_file = 'Targets/'+hl('PackageName')+'.pm'
custom_controller_file = 'Targets/'+hl('PackageName')+'-Custom.pm'
# File names
controller_file = "Targets/" + hl("PackageName") + ".pm"
custom_controller_file = "Targets/" + hl("PackageName") + "-Custom.pm"
# Call it .new if one is already there (and may have been editted by the developer)
if os.path.exists(custom_controller_file):
custom_controller_file = custom_controller_file+'.new'
layout_file = 'Targets/'+hl('PackageName').lower()+'.html.ep'
custom_controller_file = custom_controller_file + ".new"
layout_file = "Targets/" + hl("PackageName").lower() + ".html.ep"
partial_files = list()
for panel in routes:
partial_files.append('Targets/_'+hl('prefix')+"_"+panel+'.html.ep')
partial_files.append("Targets/_" + hl("prefix") + "_" + panel + ".html.ep")
print(partial_files)
lex_file = 'Targets/'+hl('PackageName').lower()+'_en.lex'
tablecontrols = get_table_control_data() #arrays of hashes used to drive rows in tables
lex_file = "Targets/" + hl("PackageName").lower() + "_en.lex"
tablecontrols = (
get_table_control_data()
) # arrays of hashes used to drive rows in tables
#Generate controller file
# Generate controller file
try:
controller_template = PageTemplateFile("Templates/controller.pm.tem")
dbentries = get_db_fields() #Params which correspond to Db fields
dbentries = get_db_fields() # Params which correspond to Db fields
try:
controller_perl = controller_template.render(version=strVersion,
controller_perl = controller_template.render(
version=strVersion,
tablecontrols=tablecontrols,
dbentries=dbentries,
**json5_dict,
panels=routes,
lcPackageName=json5_dict['PackageName'].lower()
lcPackageName=json5_dict["PackageName"].lower(),
)
with open(controller_file, 'w') as file:
with open(controller_file, "w") as file:
file.write(controller_perl)
print(f"{controller_file} controller generated ok")
except Exception as e:
@ -364,16 +435,15 @@ if __name__ == "__main__":
except Exception as e:
print(f"A Chameleon controller template error occurred: {e}")
#Generate Custom controller file
# Generate Custom controller file
try:
custom_controller_template = PageTemplateFile("Templates/custom.pm.tem")
try:
custom_controller_perl = custom_controller_template.render(version=strVersion,
panels=routes,
tablecontrols=tablecontrols
custom_controller_perl = custom_controller_template.render(
version=strVersion, panels=routes, tablecontrols=tablecontrols
)
# We must be careful to not overwrite the custom file if the developer has already written to it - TBD
with open(custom_controller_file, 'w') as file:
with open(custom_controller_file, "w") as file:
file.write(custom_controller_perl)
print(f"{custom_controller_file} custom controller generated ok")
except Exception as e:
@ -381,12 +451,14 @@ if __name__ == "__main__":
except Exception as e:
print(f"A Chameleon custom controller template error occurred: {e}")
#generate Layout file
# generate Layout file
layout_template = PageTemplateFile("Templates/layout.html.ep.tem")
try:
try:
layout_mojo = layout_template.render(version=strVersion,**json5_dict,conditions=routes)
with open(layout_file, 'w') as file:
layout_mojo = layout_template.render(
version=strVersion, **json5_dict, conditions=routes
)
with open(layout_file, "w") as file:
file.write(layout_mojo)
print(f"{layout_file} mojo template layout file generated ok")
except Exception as e:
@ -394,66 +466,85 @@ if __name__ == "__main__":
except Exception as e:
print(f"A Chameleon template layout file error occurred: {e}")
#Generate a partial file for each of the entries in the html list
#Pull in the template code for each of the input types
#html_controls = json5_to_dict('Templates/html_controls.html.ep.tem')
html_controls = parse_xml_to_dict('Templates/html_controls.html.ep.xml')
# Generate a partial file for each of the entries in the html list
# Pull in the template code for each of the input types
# html_controls = json5_to_dict('Templates/html_controls.html.ep.tem')
html_controls = parse_xml_to_dict("Templates/html_controls.html.ep.xml")
i = 0
for html in json5_html_list:
# Generate a mojo template file, and then add in the controls
# main file first
try:
partial_template = PageTemplateFile("Templates/partial.html.ep.tem")
partial_mojo_context = {**json5_dict,**html}
partial_mojo_context = {**json5_dict, **html}
try:
partial_mojo_template = partial_template.render(version=strVersion,**partial_mojo_context)
with open( partial_files[i], 'w') as file:
partial_mojo_template = partial_template.render(
version=strVersion, **partial_mojo_context
)
with open(partial_files[i], "w") as file:
file.write(partial_mojo_template)
print(f"{partial_files[i]} mojo template generated ok - phase 1")
except Exception as e:
print(f"A Chameleon render error on partial file {html['route']} occurred: {e}")
print(
f"A Chameleon render error on partial file {html['route']} occurred: {e}"
)
except Exception as e:
print(f"A Chameleon html {html['route']} error occurred: {e}")
#Now generate the controls from the rest of the entries in the dict.
all_controls_html = "";
prefix_is = hl('prefix')
# Now generate the controls from the rest of the entries in the dict.
all_controls_html = ""
prefix_is = hl("prefix")
for html_control in html:
inner_html = html[html_control]
if isinstance(inner_html, dict):
try:
control_template = PageTemplate(html_controls[inner_html['Type']])
control_template = PageTemplate(html_controls[inner_html["Type"]])
try:
control_html = control_template.render(version=strVersion,**inner_html,prefix=prefix_is)
control_html = control_template.render(
version=strVersion, **inner_html, prefix=prefix_is
)
all_controls_html = all_controls_html + control_html
except Exception as e:
print(f"A Chameleon render on partial file control {inner_html['Name']} error occurred: {e}")
print(
f"A Chameleon render on partial file control {inner_html['Name']} error occurred: {e}"
)
except Exception as e:
print(f"A Chameleon render on partial file control {inner_html['Name']} error occurred: {e}")
print(
f"A Chameleon render on partial file control {inner_html['Name']} error occurred: {e}"
)
else:
#just a simple entry - name less numerics is type
html_Type = ''.join(char for char in html_control if not char.isdigit())
# just a simple entry - name less numerics is type
html_Type = "".join(char for char in html_control if not char.isdigit())
try:
simple_control_template = PageTemplate(html_controls[html_Type])
try:
simple_control_html = simple_control_template.render(version=strVersion,value=inner_html,prefix=prefix_is)
simple_control_html = simple_control_template.render(
version=strVersion, value=inner_html, prefix=prefix_is
)
all_controls_html = all_controls_html + simple_control_html
except Exception as e:
print(f"A Chameleon render on partial file control {html_control} error occurred: {e}")
print(
f"A Chameleon render on partial file control {html_control} error occurred: {e}"
)
except Exception as e:
print(f"A Chameleon template partial file control {html_control} error occurred: {e}")
print(
f"A Chameleon template partial file control {html_control} error occurred: {e}"
)
# Now insert it into the partial file in the correct place.
# Read in the text file and split at "%# Inputs etc in here."
with open(partial_files[i], 'r') as file:
with open(partial_files[i], "r") as file:
lines = file.readlines()
index = next((i for i, line in enumerate(lines) if "%# Inputs etc in here." in line), len(lines))
index = next(
(i for i, line in enumerate(lines) if "%# Inputs etc in here." in line),
len(lines),
)
# Insert the string at the specified index
lines.insert(index+1, all_controls_html + '\n')
lines.insert(index + 1, all_controls_html + "\n")
# Write the modified content back to the file
with open(partial_files[i], 'w') as file:
with open(partial_files[i], "w") as file:
file.writelines(lines)
print(f"Content modified and saved to {partial_files[i]}")
i += 1
@ -462,20 +553,20 @@ if __name__ == "__main__":
# Look through the generated files for the /l[\s|(]['|"](.*)['|"]\)/ strings.
# create a combined list of all the files
all_files = [controller_file,layout_file]+partial_files
all_files = [controller_file, layout_file] + partial_files
all_strings = []
for filename in all_files:
with open(filename, 'r') as file:
with open(filename, "r") as file:
file_content = file.read()
# Define the regular expression pattern to match the strings you want to extract
pattern = r"l[\s|(][\'|\"](.*)[\'|\"]\)"
# Use re.findall to extract all occurrences of the pattern from the file content
extracted_strings = re.findall(pattern, file_content)
all_strings = all_strings + extracted_strings
#Take out any duplicates
# Take out any duplicates
all_strings = deduplicate_array(all_strings)
# '<prefix>_english-message' => 'English Message',
string_lib = [] #Array of dicts
string_lib = [] # Array of dicts
for lex_message in all_strings:
# If has a prefix - leave it for left hand side but delete it for the right
# If has no prefix - add one for left hand side but and leave it for the right
@ -483,33 +574,33 @@ if __name__ == "__main__":
# amd truncate it to max five words
original_str = lex_message
# Checkif it starts with the prefix (any case|)
if lex_message.lower().startswith(hl('prefix').lower()):
if lex_message.lower().startswith(hl("prefix").lower()):
left_str = lex_message
right_str = lex_message[len(hl('prefix'))+1:]
right_str = lex_message[len(hl("prefix")) + 1 :]
# And take out any "_", map to " "
else:
left_str = hl('prefix')+"_"+lex_message
left_str = hl("prefix") + "_" + lex_message
right_str = lex_message
right_str = right_str.replace("_"," ")
#print(f"Right:{right_str}")
right_str = right_str.replace("_", " ")
# print(f"Right:{right_str}")
right_str = format_text(right_str)
left_str = left_str.replace(" ","_")
words = left_str.split('_')[:6]
left_str = left_str.replace(" ", "_")
words = left_str.split("_")[:6]
left_str = "_".join(words)
next_lex_str = {"orig":original_str,"left":left_str,"right":right_str}
next_lex_str = {"orig": original_str, "left": left_str, "right": right_str}
string_lib.append(next_lex_str)
#And write it to lex file
# And write it to lex file
# Now process them one by one into the lexical file
lex_all = "";
lex_all = ""
for lex_str in string_lib:
lex_all += f"\'{lex_str['left']}\' => \'{lex_str['right']}\',\n"
lex_all += f"'{lex_str['left']}' => '{lex_str['right']}',\n"
print(f"Writing {lex_file}")
with open( lex_file, 'w') as file:
with open(lex_file, "w") as file:
file.write(lex_all)
#and then play the strings back into the partials and the layout file
# and then play the strings back into the partials and the layout file
print("..and feed the lex string names back into other files")
for filename in all_files:
with open(filename, 'r') as file:
with open(filename, "r") as file:
file_content = file.read()
# Scan through
for item in string_lib:
@ -517,19 +608,21 @@ if __name__ == "__main__":
left_str = item["left"]
right_str = item["right"]
# Replace all occurrences of original string with left string in 'contents'
file_content = file_content.replace("l('"+original_str+"')", "l('"+left_str+"')")
file_content = file_content.replace(
"l('" + original_str + "')", "l('" + left_str + "')"
)
# and write it back
with open(filename, 'w') as file:
with open(filename, "w") as file:
file.write(file_content)
print(f"Write out modified:{filename}")
# Now generate all the translated lex files from a list of the languages and codes
home_dir = os.path.dirname(json_filename)
languages_path =f"{home_dir}/languages.json"
with open(languages_path,'r') as file:
languages_path = f"{home_dir}/languages.json"
with open(languages_path, "r") as file:
languages_str = file.read()
lang_dict = json.loads(languages_str)
with open(lex_file,'r') as file:
with open(lex_file, "r") as file:
lex_str = file.read()
eng_lex_dict = convert_lex_to_dict(lex_str)
for lang_item in lang_dict:
@ -541,16 +634,25 @@ if __name__ == "__main__":
translated_dict = []
for lex_item in eng_lex_dict:
# Get it from ChatGPT
translated_text = get_translation(lex_item["text"], lang_item["language"])
translated_text = get_translation(
lex_item["text"], lang_item["language"]
)
translated_dict.append({"id": lex_item["id"], "text": translated_text})
print(f"Writing out lex file for {lang_item['code']}")
with open(translated_lex_file, "w") as file:
for item in translated_dict:
# escape any nasties
translated_text = item['text'].replace('\\', r'\\').replace('"', r'\"').replace("'", r"\'")
line = "'"+item['id']+"' => "+'"'+translated_text+'",\n'
translated_text = (
item["text"]
.replace("\\", r"\\")
.replace('"', r"\"")
.replace("'", r"\'")
)
line = "'" + item["id"] + "' => " + '"' + translated_text + '",\n'
file.write(line)
#print(f"{item['id']} => {item['text']}\n")
# print(f"{item['id']} => {item['text']}\n")
else:
print(f"Skipping the creation of {translated_lex_file} as it exists already")
quit() #end of the program
print(
f"Skipping the creation of {translated_lex_file} as it exists already"
)
quit() # end of the program