Add code to use OpenAI API to do transalations
This commit is contained in:
parent
a5f8e153a2
commit
d1ab8b4256
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Routines to be editted by the developer to provide validation for parameters
|
||||
# Routines to be edited by the developer to provide validation for parameters
|
||||
# and provison of the control data for table(s)
|
||||
#
|
||||
# Generated by SME2Gen version:0.7 Chameleon version:4.5.4 On Python:3.10.12 at 2024-05-06 08:40
|
||||
|
@ -1,8 +1,8 @@
|
||||
#
|
||||
# Routines to be editted by the developer to provide validation for parameters
|
||||
# Routines to be edited by the developer to provide validation for parameters
|
||||
# and provison of the control data for table(s)
|
||||
#
|
||||
# Generated by SME2Gen version:0.7 Chameleon version:4.5.4 On Python:3.10.12 at 2024-05-06 10:02
|
||||
# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-13 15:12
|
||||
#
|
||||
|
||||
use esmith::util;
|
||||
|
@ -1,16 +1,15 @@
|
||||
package SrvMngr::Controller::Nfsshare;
|
||||
#
|
||||
# Generated by version:SME2Gen version:0.7 Chameleon version:4.5.4 On Python:3.10.12 at 2024-05-06 10:02
|
||||
# Generated by version:SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-13 15:12
|
||||
#
|
||||
#----------------------------------------------------------------------
|
||||
# heading : Network
|
||||
# description : NFS data share
|
||||
# navigation : 2000 400
|
||||
#
|
||||
# name : nfsshare, method : get, url : /nfsshare, ctlact : nfsshare#main
|
||||
# name : nfsshareu, method : post, url : /nfsshareu, ctlact : nfsshare#do_update
|
||||
# name : nfsshared, method : get, url : /nfsshared, ctlact : nfsshare#do_display
|
||||
# name : nfssharee, method : post, url : /nfsshared, ctlact : nfsshare#do_display
|
||||
# name : nfsshare, method : get, url : /nfsshare, ctlact : Nfsshare#main
|
||||
# name : nfsshareu, method : post, url : /nfsshareu, ctlact : Nfsshare#do_update
|
||||
# name : nfsshared, method : get, url : /nfsshared, ctlact : Nfsshare#do_display
|
||||
#
|
||||
# routes : end
|
||||
#
|
||||
@ -87,7 +86,7 @@ sub main {
|
||||
modul => $modul,
|
||||
nfs_data => \%nfs_data
|
||||
);
|
||||
$c->render( template => "Nfsshare" );
|
||||
$c->render( template => "nfsshare" );
|
||||
}
|
||||
|
||||
# Post request with params - submit from the form
|
||||
@ -168,7 +167,7 @@ sub do_update {
|
||||
$c->stash(error => $c->l($ret));
|
||||
$c->render("Nfsshare");
|
||||
} else {
|
||||
$c->stash( success => $c->l('nfs_PARAMS_panel_action_was_successfull')); #A bit bland - edit it in the lex file
|
||||
$c->stash( success => $c->l('nfs_PARAMS_panel_action_was_successful')); #A bit bland - edit it in the lex file
|
||||
}
|
||||
}
|
||||
|
||||
@ -180,7 +179,7 @@ sub do_update {
|
||||
$c->stash(error => $c->l($ret));
|
||||
$c->render("Nfsshare");
|
||||
} else {
|
||||
$c->stash( success => $c->l('nfs_TABLE_panel_action_was_successfull')); #A bit bland - edit it in the lex file
|
||||
$c->stash( success => $c->l('nfs_TABLE_panel_action_was_successful')); #A bit bland - edit it in the lex file
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
%#
|
||||
%# Generated by SME2Gen version:0.7 Chameleon version:4.5.4 On Python:3.10.12 at 2024-05-06 10:02
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-13 15:12
|
||||
%#
|
||||
<div id="Nfsshare-PARAMS">
|
||||
<div id="Nfsshare-PARAMS" class="partial Nfsshare-PARAMS">
|
||||
<script>
|
||||
window.onload = function() {
|
||||
SelectInput();
|
||||
@ -24,9 +24,9 @@
|
||||
</p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Information_Bay_name'), class => 'label'
|
||||
%=l('nfs_Information_Bay_name')
|
||||
</span><span class=data>
|
||||
%= stash("IbayName"), class => 'data'
|
||||
%= stash("IbayName")
|
||||
</span></p>
|
||||
|
||||
<p><span class=label>
|
||||
@ -135,5 +135,5 @@
|
||||
</span>
|
||||
|
||||
%# Probably finally by a submit.
|
||||
% end
|
||||
%end
|
||||
</div>
|
||||
|
@ -1,7 +1,7 @@
|
||||
%#
|
||||
%# Generated by SME2Gen version:0.7 Chameleon version:4.5.4 On Python:3.10.12 at 2024-05-06 10:02
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-13 15:12
|
||||
%#
|
||||
<div id="Nfsshare-TABLE">
|
||||
<div id="Nfsshare-TABLE" class="partial Nfsshare-TABLE">
|
||||
<script>
|
||||
window.onload = function() {
|
||||
SelectInput();
|
||||
@ -19,23 +19,23 @@
|
||||
|
||||
<h2><%=l('nfs_Manage_NFS_Ibay_settings:')%></h2>
|
||||
|
||||
<br /><table class="sme-border TableSort">
|
||||
<br /><table class="sme-border TableSort sme-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='sme-border'><%=l('nfs_Name')%></th>
|
||||
<th class='sme-border'><%=l('nfs_Description')%></th>
|
||||
<th class='sme-border'><%=l('Nfs_status')%></th>
|
||||
<th class='sme-border'><%=l('nfs_Action')%></th>
|
||||
<tr table-head-row>
|
||||
<th class='sme-border table-head-col table-head-col-Name '><%=l('nfs_Name')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Description '><%=l('nfs_Description')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Nfs status '><%=l('Nfs_status')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Action '><%=l('nfs_Action')%></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
% my $control_data = $self->stash('ibays');
|
||||
% foreach my $row (@$control_data) {
|
||||
<tr>
|
||||
<td class='sme-border'><%=$c->render_to_string(inline=>$row->{Name})%></td>
|
||||
<td class='sme-border'><%=$c->render_to_string(inline=>$row->{Description})%></td>
|
||||
<td class='sme-border'><%=$c->render_to_string(inline=>$row->{flag})%></td>
|
||||
<td class='sme-border'><%=$c->render_to_string(inline=>$row->{Modify})%></td>
|
||||
<tr class='table-row'>
|
||||
<td class='sme-border table-col table-col-Name'><%=$c->render_to_string(inline=>$row->{Name})%></td>
|
||||
<td class='sme-border table-col table-col-Description'><%=$c->render_to_string(inline=>$row->{Description})%></td>
|
||||
<td class='sme-border table-col table-col-flag'><%=$c->render_to_string(inline=>$row->{flag})%></td>
|
||||
<td class='sme-border table-col table-col-Modify'><%=$c->render_to_string(inline=>$row->{Modify})%></td>
|
||||
</tr>
|
||||
%}
|
||||
</tbody>
|
||||
@ -43,5 +43,5 @@
|
||||
|
||||
|
||||
%# Probably finally by a submit.
|
||||
% end
|
||||
%end
|
||||
</div>
|
||||
|
@ -1,6 +1,6 @@
|
||||
% layout 'default', title => "Sme server 2 - NFS data share", share_dir => './';
|
||||
%#
|
||||
%# Generated by SME2Gen version:0.7 Chameleon version:4.5.4 On Python:3.10.12 at 2024-05-06 10:02
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.10.12 at 2024-06-13 15:12
|
||||
%#
|
||||
% content_for 'module' => begin
|
||||
<div id="module" class="module Nfsshare-panel">
|
28
Targets/nfsshare_bg.lex
Normal file
28
Targets/nfsshare_bg.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Разрешения за файловата система'
|
||||
'nfs_Write_(a)synchronously' => 'Пишете (а)синхронно'
|
||||
'nfs_Set_the_GID.' => 'Задайте GID.'
|
||||
'nfs_Hello_TABLE' => 'Здравей, МАСА'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'Действието на панела с параметри беше успешно'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Разрешени NFS клиенти'
|
||||
'nfs_Action' => 'Действие'
|
||||
'nfs_Set_the_uid_and_gid' => 'Задайте uid и gid, ако искате всички заявки да изглеждат като от един потребител или една група. В противен случай оставете празно.'
|
||||
'Nfs_status' => 'Статус'
|
||||
'nfs_Browse_the_parent_folders' => 'Прегледайте родителските папки'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'ПАНЕЛНОТО действие на ТАБЛИЦАТА беше успешно.'
|
||||
'nfs_NFS_data_share' => 'NFS споделяне на данни'
|
||||
'nfs_Name' => 'Име'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Управление на настройките на NFS Ibay:'
|
||||
'nfs_Save' => 'Запази'
|
||||
'nfs_Share_owner_Group' => 'Група на акционери'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'За разрешения за писане, позволяване на root потребителя и използване на несигурни портове, трябва да конфигурирате списък с по един IP адрес на ред, като част от локалната мрежа/мрежи.'
|
||||
'nfs_Information_Bay_name' => 'Име на информационен залив'
|
||||
'nfs_Requests_on_secure_ports' => 'Заявки на защитени портове'
|
||||
'nfs_Squash_the_power_of_users' => 'Смажете силата на потребителите'
|
||||
'nfs_Hello_PARAMS' => 'Здравейте, PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Тези параметри ще бъдат ефективни само ако споделянето е активирано. Споделянето е в /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => 'Приложи'
|
||||
'nfs_Set_the_UID.' => 'Задайте UID.'
|
||||
'nfs_Description' => 'Описание'
|
||||
'nfs_Enable_the_NFS_Share' => 'Разрешаване на NFS споделянето'
|
||||
'nfs_Delays_the_disk_writing' => 'Забавя записването на диска'
|
||||
'nfs_EnableShare_on_local_network' => 'Активиране на споделяне в локалната мрежа'
|
28
Targets/nfsshare_da.lex
Normal file
28
Targets/nfsshare_da.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Filsystemtilladelser'
|
||||
'nfs_Write_(a)synchronously' => 'Skriv (a)synkront'
|
||||
'nfs_Set_the_GID.' => 'Indstil GID'en.'
|
||||
'nfs_Hello_TABLE' => 'Hej BORD'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'PARAMS-panelets handling var vellykket'
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS-klient(er) tilladt'
|
||||
'nfs_Action' => 'Handling'
|
||||
'nfs_Set_the_uid_and_gid' => 'Sæt uid og gid, hvis du vil have, at alle forespørgsler skal se ud til at komme fra en bruger eller en gruppe. Ellers lad være tom.'
|
||||
'Nfs_status' => 'Status'
|
||||
'nfs_Browse_the_parent_folders' => 'Gennemse de overordnede mapper'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'TABEL panel handling var vellykket'
|
||||
'nfs_NFS_data_share' => 'NFS-dataandel'
|
||||
'nfs_Name' => 'Navn'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Administrer NFS Ibay-indstillinger:'
|
||||
'nfs_Save' => 'Gem'
|
||||
'nfs_Share_owner_Group' => 'Ejergruppe'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'For skrivetilladelser, tilladelse af root-brugeren og brug af usikre porte, skal du konfigurere en liste med én IP pr. linje, og disse skal være en del af det lokale netværk.'
|
||||
'nfs_Information_Bay_name' => 'Oplysningsbugt navn'
|
||||
'nfs_Requests_on_secure_ports' => 'Anmodninger på sikre porte'
|
||||
'nfs_Squash_the_power_of_users' => '"Knus brugernes magt"'
|
||||
'nfs_Hello_PARAMS' => 'Hej PARAMS'
|
||||
'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_APPLY' => 'Ansøg'
|
||||
'nfs_Set_the_UID.' => 'Sæt UID'en.'
|
||||
'nfs_Description' => 'Beskrivelse'
|
||||
'nfs_Enable_the_NFS_Share' => 'Aktivér NFS-deling'
|
||||
'nfs_Delays_the_disk_writing' => 'Forsinker disk-skrivningen'
|
||||
'nfs_EnableShare_on_local_network' => 'Aktiver deling på lokalt netværk'
|
28
Targets/nfsshare_de.lex
Normal file
28
Targets/nfsshare_de.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Dateisystemberechtigungen'
|
||||
'nfs_Write_(a)synchronously' => 'Schreiben Sie (a)synchron.'
|
||||
'nfs_Set_the_GID.' => 'Setze die GID.'
|
||||
'nfs_Hello_TABLE' => 'Hallo TISCH'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'Die Aktion des PARAMS-Panels war erfolgreich.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS-Client(s) zulässig'
|
||||
'nfs_Action' => 'Aktion'
|
||||
'nfs_Set_the_uid_and_gid' => 'Setzen Sie die UID und GID, wenn Sie möchten, dass alle Anfragen von einem Benutzer oder einer Gruppe zu stammen scheinen. Andernfalls lassen Sie das Feld leer.'
|
||||
'Nfs_status' => 'Status'
|
||||
'nfs_Browse_the_parent_folders' => 'Durchsuchen Sie die übergeordneten Ordner'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'TABELLE Panelaktion war erfolgreich.'
|
||||
'nfs_NFS_data_share' => 'NFS-Datenfreigabe'
|
||||
'nfs_Name' => 'Name in German is "Name".'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Verwalten Sie die NFS-Ibay-Einstellungen:'
|
||||
'nfs_Save' => '"Speichern"'
|
||||
'nfs_Share_owner_Group' => 'Anteilseignergruppe'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Für Schreibberechtigungen, das Zulassen des Root-Benutzers und die Verwendung unsicherer Ports, müssen Sie eine Liste von jeweils einer IP pro Zeile konfigurieren, die Teil des lokalen Netzwerks ist.'
|
||||
'nfs_Information_Bay_name' => 'Information Bay Name'
|
||||
'nfs_Requests_on_secure_ports' => 'Anfragen über sichere Ports'
|
||||
'nfs_Squash_the_power_of_users' => '"Macht der Benutzer unterdrücken"'
|
||||
'nfs_Hello_PARAMS' => 'Hallo PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Diese Parameter sind nur wirksam, wenn die Freigabe aktiviert ist. Die Freigabe befindet sich in /home/e-smith/files/ibays//files.'
|
||||
'nfs_APPLY' => 'Bewerben'
|
||||
'nfs_Set_the_UID.' => 'Setze die UID.'
|
||||
'nfs_Description' => 'Beschreibung'
|
||||
'nfs_Enable_the_NFS_Share' => 'Aktivieren Sie die NFS-Freigabe'
|
||||
'nfs_Delays_the_disk_writing' => 'Verzögert das Schreiben auf die Festplatte'
|
||||
'nfs_EnableShare_on_local_network' => '"Auf dem lokalen Netzwerk freigeben ermöglichen"'
|
28
Targets/nfsshare_el.lex
Normal file
28
Targets/nfsshare_el.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Δικαιώματα συστήματος αρχείων'
|
||||
'nfs_Write_(a)synchronously' => 'Γράψτε (α)συγχρόνως'
|
||||
'nfs_Set_the_GID.' => 'Ορίστε το GID.'
|
||||
'nfs_Hello_TABLE' => 'Γεια σου ΤΡΑΠΕΖΙ'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'Η ενέργεια του πίνακα PARAMS ήταν επιτυχής'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Επιτρέπονται οι πελάτες NFS'
|
||||
'nfs_Action' => 'Δράση'
|
||||
'nfs_Set_the_uid_and_gid' => 'Ορίστε το UID και το GID αν θέλετε όλες οι αιτήσεις να φαίνονται ότι προέρχονται από έναν χρήστη ή μία ομάδα. Διαφορετικά, αφήστε το κενό.'
|
||||
'Nfs_status' => 'Κατάσταση'
|
||||
'nfs_Browse_the_parent_folders' => 'Περιήγηση στους γονικούς φακέλους'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'Ο ΠΙΝΑΚΑΣ δράσης ήταν επιτυχής.'
|
||||
'nfs_NFS_data_share' => 'Κοινή χρήση δεδομένων NFS'
|
||||
'nfs_Name' => 'Όνομα'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Διαχείριση ρυθμίσεων NFS Ibay:'
|
||||
'nfs_Save' => 'Αποθήκευση'
|
||||
'nfs_Share_owner_Group' => 'Κάτοχος μετοχών Ομάδας'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Για άδειες εγγραφής, επιτρέποντας στον root χρήστη και χρησιμοποιώντας μη ασφαλείς θύρες, πρέπει να διαμορφώσετε μια λίστα με μία IP ανά γραμμή, που να είναι μέρος του τοπικού δικτύου (ή δικτύων).'
|
||||
'nfs_Information_Bay_name' => 'Όνομα Κόλπου Πληροφοριών'
|
||||
'nfs_Requests_on_secure_ports' => 'Αιτήματα σε ασφαλείς θύρες'
|
||||
'nfs_Squash_the_power_of_users' => 'Συμπίεσε τη δύναμη των χρηστών'
|
||||
'nfs_Hello_PARAMS' => 'Γειά σου PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Αυτές οι παράμετροι θα είναι αποτελεσματικές μόνο εάν η κοινή χρήση είναι ενεργοποιημένη. Η κοινή χρήση βρίσκεται στο /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => 'Εφαρμόζω'
|
||||
'nfs_Set_the_UID.' => 'Ορίστε το UID.'
|
||||
'nfs_Description' => 'Περιγραφή'
|
||||
'nfs_Enable_the_NFS_Share' => 'Ενεργοποιήστε την Κοινή Χρήση NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'Καθυστερεί τη γραφή του δίσκου'
|
||||
'nfs_EnableShare_on_local_network' => 'Ενεργοποίηση κοινής χρήσης σε τοπικό δίκτυο'
|
@ -1,28 +1,28 @@
|
||||
'nfs_Name' => 'Name',
|
||||
'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_Manage_NFS_Ibay_settings:' => 'Manage NFS Ibay settings:',
|
||||
'nfs_NFS_data_share' => 'NFS data share',
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS Client(s) allowed',
|
||||
'nfs_Hello_TABLE' => 'Hello TABLE',
|
||||
'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_Write_(a)synchronously' => 'Write (a)synchronously',
|
||||
'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_Set_the_UID.' => 'Set the UID. ',
|
||||
'nfs_File_system_permissions' => 'File system permissions',
|
||||
'nfs_Delays_the_disk_writing' => 'Delays the disk writing',
|
||||
'nfs_Squash_the_power_of_users' => 'Squash the power of users',
|
||||
'nfs_Information_Bay_name' => 'Information Bay name',
|
||||
'nfs_Share_owner_Group' => 'Share owner Group',
|
||||
'nfs_Save' => 'Save',
|
||||
'nfs_APPLY' => 'Apply',
|
||||
'nfs_Description' => 'Description',
|
||||
'nfs_Hello_PARAMS' => 'Hello PARAMS',
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'TABLE panel action was successfull',
|
||||
'nfs_Enable_the_NFS_Share' => 'Enable the NFS Share',
|
||||
'nfs_EnableShare_on_local_network' => 'Enableshare on local network',
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'PARAMS panel action was successfull',
|
||||
'nfs_Write_(a)synchronously' => 'Write (a)synchronously',
|
||||
'nfs_Set_the_GID.' => 'Set the GID. ',
|
||||
'nfs_Hello_TABLE' => 'Hello TABLE',
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'PARAMS panel action was successfull',
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS Client(s) allowed',
|
||||
'nfs_Action' => 'Action',
|
||||
'nfs_Browse_the_parent_folders' => 'Browse the parent folders',
|
||||
'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_status' => 'Status',
|
||||
'nfs_Browse_the_parent_folders' => 'Browse the parent folders',
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'TABLE panel action was successfull',
|
||||
'nfs_NFS_data_share' => 'NFS data share',
|
||||
'nfs_Name' => 'Name',
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Manage NFS Ibay settings:',
|
||||
'nfs_Save' => 'Save',
|
||||
'nfs_Share_owner_Group' => 'Share owner Group',
|
||||
'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_Information_Bay_name' => 'Information Bay name',
|
||||
'nfs_Requests_on_secure_ports' => 'Requests on secure ports',
|
||||
'nfs_Squash_the_power_of_users' => 'Squash the power of users',
|
||||
'nfs_Hello_PARAMS' => 'Hello PARAMS',
|
||||
'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_APPLY' => 'Apply',
|
||||
'nfs_Set_the_UID.' => 'Set the UID. ',
|
||||
'nfs_Description' => 'Description',
|
||||
'nfs_Enable_the_NFS_Share' => 'Enable the NFS Share',
|
||||
'nfs_Delays_the_disk_writing' => 'Delays the disk writing',
|
||||
'nfs_EnableShare_on_local_network' => 'Enableshare on local network',
|
||||
|
28
Targets/nfsshare_es.lex
Normal file
28
Targets/nfsshare_es.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Permisos del sistema de archivos'
|
||||
'nfs_Write_(a)synchronously' => 'Escribe (a)síncronamente'
|
||||
'nfs_Set_the_GID.' => 'Establecer el GID.'
|
||||
'nfs_Hello_TABLE' => 'Hola, MESA'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'La acción del panel PARAMS fue exitosa.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Cliente(s) NFS permitido(s)'
|
||||
'nfs_Action' => 'Acción'
|
||||
'nfs_Set_the_uid_and_gid' => 'Establezca el uid y gid si desea que todas las solicitudes parezcan provenir de un solo usuario o grupo. De lo contrario, déjelo en blanco.'
|
||||
'Nfs_status' => 'Estado'
|
||||
'nfs_Browse_the_parent_folders' => 'Examinar las carpetas principales'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'La acción del PANEL de la MESA fue exitosa.'
|
||||
'nfs_NFS_data_share' => 'Compartición de datos NFS'
|
||||
'nfs_Name' => 'Nombre'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Administrar configuraciones de NFS Ibay:'
|
||||
'nfs_Save' => 'Guardar'
|
||||
'nfs_Share_owner_Group' => 'Grupo de propietarios de acciones'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Para obtener permisos de escritura, permitir el usuario root y utilizar puertos inseguros, debe configurar una lista de una IP por línea, siendo parte de la(s) red(es) local(es).'
|
||||
'nfs_Information_Bay_name' => 'Nombre de la Bahía de Información'
|
||||
'nfs_Requests_on_secure_ports' => 'Solicitudes en puertos seguros'
|
||||
'nfs_Squash_the_power_of_users' => 'Aplasta el poder de los usuarios'
|
||||
'nfs_Hello_PARAMS' => 'Hola PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Estos parámetros serán efectivos solo si el recurso compartido está habilitado. El recurso compartido se encuentra en /home/e-smith/files/ibays//files.'
|
||||
'nfs_APPLY' => 'Aplicar'
|
||||
'nfs_Set_the_UID.' => 'Establecer el UID.'
|
||||
'nfs_Description' => 'Descripción'
|
||||
'nfs_Enable_the_NFS_Share' => 'Habilitar el recurso compartido NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'Retrasa la escritura del disco.'
|
||||
'nfs_EnableShare_on_local_network' => 'Habilitar compartir en la red local'
|
28
Targets/nfsshare_et.lex
Normal file
28
Targets/nfsshare_et.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Failisüsteemi õigused'
|
||||
'nfs_Write_(a)synchronously' => 'Kirjuta (a)sünkroonselt'
|
||||
'nfs_Set_the_GID.' => 'Määra GID.'
|
||||
'nfs_Hello_TABLE' => 'Tere LAUD'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'PARAMS paneeli tegevus oli edukas'
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS kliendid lubatud'
|
||||
'nfs_Action' => 'Tegevus'
|
||||
'nfs_Set_the_uid_and_gid' => 'Määrake UID ja GID, kui soovite, et kõik päringud tunduksid tulevat ühe kasutaja või ühe grupi poolt. Vastasel juhul jätke tühjaks.'
|
||||
'Nfs_status' => 'Staatus'
|
||||
'nfs_Browse_the_parent_folders' => 'Sirvi vanemkaustu'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'TABELI paneeli toiming oli edukas'
|
||||
'nfs_NFS_data_share' => 'NFS andmejagamine'
|
||||
'nfs_Name' => 'Nimi'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Halda NFS Ibay seadistusi:'
|
||||
'nfs_Save' => 'Salvesta'
|
||||
'nfs_Share_owner_Group' => 'Omanikegrupp'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Kirjutusõiguste andmiseks, juurkasutaja lubamiseks ja ebaturvaliste portide kasutamiseks peate konfigureerima loendi, kus igal real on üks IP-aadress, mis kuulub kohalikku võrkku(võrkudesse).'
|
||||
'nfs_Information_Bay_name' => 'The translation of "Information Bay name" to Estonian is "Teabejaama nimi".'
|
||||
'nfs_Requests_on_secure_ports' => 'Päringud on turvatud portidel.'
|
||||
'nfs_Squash_the_power_of_users' => 'Vähenda kasutajate võimu'
|
||||
'nfs_Hello_PARAMS' => 'Tere, PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Need parameetrid rakenduvad ainult siis, kui jagamine on lubatud. Jagamine asub /home/e-smith/files/ibays//files kaustas.'
|
||||
'nfs_APPLY' => 'Rakenda'
|
||||
'nfs_Set_the_UID.' => 'Määra UID.'
|
||||
'nfs_Description' => 'Kirjeldus'
|
||||
'nfs_Enable_the_NFS_Share' => 'Luba NFS-i jagamine'
|
||||
'nfs_Delays_the_disk_writing' => 'Viivitab ketta kirjutamisega'
|
||||
'nfs_EnableShare_on_local_network' => 'Koosta jagamine kohaliku võrgu kaudu'
|
28
Targets/nfsshare_fr.lex
Normal file
28
Targets/nfsshare_fr.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Permissions du système de fichiers'
|
||||
'nfs_Write_(a)synchronously' => 'Écrire (a)synchrone(ment)'
|
||||
'nfs_Set_the_GID.' => 'Définir le GID.'
|
||||
'nfs_Hello_TABLE' => 'Bonjour TABLE'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'L'action du panneau PARAMS a été réussie.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Client(s) NFS autorisé(s)'
|
||||
'nfs_Action' => 'Action can be translated to French as "Action".'
|
||||
'nfs_Set_the_uid_and_gid' => 'Définissez l'uid et le gid si vous souhaitez que toutes les demandes semblent provenir d'un utilisateur ou d'un groupe unique. Sinon, laissez vide.'
|
||||
'Nfs_status' => 'Statut'
|
||||
'nfs_Browse_the_parent_folders' => 'Parcourir les dossiers parents'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'L'action du panneau TABLE a été réussie.'
|
||||
'nfs_NFS_data_share' => 'Partage de données NFS'
|
||||
'nfs_Name' => 'Nom'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Gérer les paramètres NFS Ibay :'
|
||||
'nfs_Save' => '"Sauvegarder"'
|
||||
'nfs_Share_owner_Group' => '"Propriétaire de groupe"'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Pour les autorisations d'écriture, permettre à l'utilisateur root et utiliser des ports non sécurisés, vous devez configurer une liste d'une adresse IP par ligne, faisant partie du/des réseau(x) local/locaux.'
|
||||
'nfs_Information_Bay_name' => 'Nom de la baie d'information'
|
||||
'nfs_Requests_on_secure_ports' => 'Demandes sur des ports sécurisés'
|
||||
'nfs_Squash_the_power_of_users' => 'Écrasez le pouvoir des utilisateurs'
|
||||
'nfs_Hello_PARAMS' => 'Bonjour PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Ces paramètres seront effectifs uniquement si le partage est activé. Le partage se trouve dans /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => 'Appliquer'
|
||||
'nfs_Set_the_UID.' => 'Définir l'UID.'
|
||||
'nfs_Description' => 'Description'
|
||||
'nfs_Enable_the_NFS_Share' => 'Activer le partage NFS'
|
||||
'nfs_Delays_the_disk_writing' => '"Retarde l'écriture du disque"'
|
||||
'nfs_EnableShare_on_local_network' => 'Autoriser le partage sur le réseau local'
|
28
Targets/nfsshare_he.lex
Normal file
28
Targets/nfsshare_he.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'הרשאות מערכת קבצים'
|
||||
'nfs_Write_(a)synchronously' => 'כתוב בצורה (א)סינכרונית'
|
||||
'nfs_Set_the_GID.' => 'הגדר את ה-GID.'
|
||||
'nfs_Hello_TABLE' => 'שלום עליו'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'פעולת לוח PARAMS הצליחה'
|
||||
'nfs_NFS_Client(s)_allowed' => 'לקוח(ות) NFS מורשים'
|
||||
'nfs_Action' => 'פעולה'
|
||||
'nfs_Set_the_uid_and_gid' => 'הגדר את ה-uid וה-gid אם אתה רוצה שכל הבקשות ייראו כאילו הן מגיעות ממשתמש אחד או מקבוצה אחת, אחרת השאר ריק.'
|
||||
'Nfs_status' => 'סטָטוּס'
|
||||
'nfs_Browse_the_parent_folders' => 'עיין בתיקיות האב'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'הפעולה של לוח TABLE הצליחה'
|
||||
'nfs_NFS_data_share' => 'שיתוף נתונים NFS'
|
||||
'nfs_Name' => 'Sure, the translation of the word "Name" in Hebrew is "שם".'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'נהל הגדרות NFS Ibay:'
|
||||
'nfs_Save' => 'שמור'
|
||||
'nfs_Share_owner_Group' => 'בעל המניות קבוצת'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'לצורך מתן הרשאות כתיבה, הכנסת משתמש root והשימוש בפורטים לא מאובטחים, עליך להגדיר רשימה של כתובת IP אחת בכל שורה, שהן חלק מהרשת המקומית.'
|
||||
'nfs_Information_Bay_name' => 'שם אזור המידע'
|
||||
'nfs_Requests_on_secure_ports' => 'בקשות על נמלים מאובטחים'
|
||||
'nfs_Squash_the_power_of_users' => 'לְרַסֵּק אֶת הַכּוֹחַ שֶׁל הַמִּשְׁתַּמְּשִׁים'
|
||||
'nfs_Hello_PARAMS' => 'שלום PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'פרמטרים אלו יהיו יעילים רק אם השיתוף מופעל. השיתוף נמצא ב-/home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => 'להחיל'
|
||||
'nfs_Set_the_UID.' => 'הגדר את ה-UID.'
|
||||
'nfs_Description' => 'תיאור'
|
||||
'nfs_Enable_the_NFS_Share' => 'אפשר את שיתוף ה-NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'מעכב את כתיבת הדיסק'
|
||||
'nfs_EnableShare_on_local_network' => 'הפעל שיתוף ברשת המקומית'
|
30
Targets/nfsshare_hu.lex
Normal file
30
Targets/nfsshare_hu.lex
Normal file
@ -0,0 +1,30 @@
|
||||
'nfs_File_system_permissions' => 'Fájl rendszer jogosultságok'
|
||||
'nfs_Write_(a)synchronously' => 'Írj (a)szinkron módon'
|
||||
'nfs_Set_the_GID.' => 'Állítsa be a GID-t.'
|
||||
'nfs_Hello_TABLE' => 'Hello ASZTAL'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'A PARAMS panel művelet sikeres volt.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS kliens(ek) engedélyezve'
|
||||
'nfs_Action' => 'Akció'
|
||||
'nfs_Set_the_uid_and_gid' => 'Állítsa be az uid-t és a gid-t, ha azt szeretné, hogy minden kérés egy felhasználótól vagy egy csoporttól származzon. Egyébként hagyja üresen.'
|
||||
'Nfs_status' => 'Állapot'
|
||||
'nfs_Browse_the_parent_folders' => 'Tallózása a szülő mappák között'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'A TÁBLÁZAT panel művelet sikeres volt.'
|
||||
'nfs_NFS_data_share' => 'NFS adatmegosztás'
|
||||
'nfs_Name' => 'Név'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'NFS Ibay beállítások kezelése:'
|
||||
'nfs_Save' => 'Mentés'
|
||||
'nfs_Share_owner_Group' => 'Részvényes csoport'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Írási engedélyekhez, a root felhasználó engedélyezése és nem biztonságos portok használata esetén, konfigurálnia kell egy listát, amelyben minden sorban egy IP cím szerepel, amely a helyi hálózat(ok) része.'
|
||||
'nfs_Information_Bay_name' => 'Információs Öböl név'
|
||||
'nfs_Requests_on_secure_ports' => 'Kérések biztonságos portokon'
|
||||
'nfs_Squash_the_power_of_users' => 'Zúzd össze a felhasználók erejét'
|
||||
'nfs_Hello_PARAMS' => 'Hello PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Ezek a paraméterek csak akkor lesznek érvényesek, ha a megosztás engedélyezve van. A megosztás a következő helyen található: /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => 'Alkalmaz'
|
||||
'nfs_Set_the_UID.' => 'Állítsa be az UID-t.'
|
||||
'nfs_Description' => 'Leírás'
|
||||
'nfs_Enable_the_NFS_Share' => 'Sure, here is the translation:
|
||||
|
||||
"Engedélyezze az NFS megosztást"'
|
||||
'nfs_Delays_the_disk_writing' => 'Késlelteti a lemezírást'
|
||||
'nfs_EnableShare_on_local_network' => 'Helyi hálózaton történő megosztás engedélyezése'
|
28
Targets/nfsshare_id.lex
Normal file
28
Targets/nfsshare_id.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Izin sistem berkas'
|
||||
'nfs_Write_(a)synchronously' => 'Menulis (a)secara sinkron/asinkron'
|
||||
'nfs_Set_the_GID.' => 'Atur GID-nya.'
|
||||
'nfs_Hello_TABLE' => 'Halo MEJA'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'Tindakan panel PARAMS berhasil.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Klien NFS diizinkan'
|
||||
'nfs_Action' => 'Aksi'
|
||||
'nfs_Set_the_uid_and_gid' => 'Tentukan uid dan gid jika Anda ingin semua permintaan terlihat berasal dari satu pengguna atau satu grup, Jika tidak, biarkan kosong.'
|
||||
'Nfs_status' => 'Status'
|
||||
'nfs_Browse_the_parent_folders' => 'Jelajahi folder induk'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'Aksi panel TABEL berhasil.'
|
||||
'nfs_NFS_data_share' => 'Berbagi data NFS'
|
||||
'nfs_Name' => 'Nama'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Kelola pengaturan NFS Ibay:'
|
||||
'nfs_Save' => 'Menyimpan'
|
||||
'nfs_Share_owner_Group' => 'Pemilik Saham Grup'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Untuk izin penulisan, Mengizinkan pengguna root dan menggunakan port yang tidak aman, Anda harus mengonfigurasi daftar satu IP per baris, Menjadi bagian dari jaringan lokal.'
|
||||
'nfs_Information_Bay_name' => 'Nama Teluk Informasi'
|
||||
'nfs_Requests_on_secure_ports' => 'Permintaan di port aman'
|
||||
'nfs_Squash_the_power_of_users' => 'Hancurkan kekuatan pengguna'
|
||||
'nfs_Hello_PARAMS' => 'Halo PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Parameter ini hanya akan efektif jika share diaktifkan. Share tersebut berada di /home/e-smith/files/ibays//files.'
|
||||
'nfs_APPLY' => 'Mengajukan'
|
||||
'nfs_Set_the_UID.' => 'Tetapkan UID.'
|
||||
'nfs_Description' => 'Deskripsi'
|
||||
'nfs_Enable_the_NFS_Share' => 'Aktifkan Berbagi NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'Menunda penulisan disk'
|
||||
'nfs_EnableShare_on_local_network' => 'Mengaktifkan berbagi di jaringan lokal'
|
28
Targets/nfsshare_it.lex
Normal file
28
Targets/nfsshare_it.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Permessi del file system'
|
||||
'nfs_Write_(a)synchronously' => 'Scrivi (a)sincronamente'
|
||||
'nfs_Set_the_GID.' => 'Imposta il GID.'
|
||||
'nfs_Hello_TABLE' => 'Hello TAVOLO'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'L'azione del pannello PARAMS è stata completata con successo.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Client(s) NFS consentiti'
|
||||
'nfs_Action' => 'Azione'
|
||||
'nfs_Set_the_uid_and_gid' => 'Imposta uid e gid se desideri che tutte le richieste appaiano provenire da un solo utente o da un solo gruppo, altrimenti lasciare vuoto.'
|
||||
'Nfs_status' => 'Stato'
|
||||
'nfs_Browse_the_parent_folders' => 'Esplora le cartelle principali'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'L'azione del pannello TAVOLA è riuscita.'
|
||||
'nfs_NFS_data_share' => 'Condivisione dati NFS'
|
||||
'nfs_Name' => 'Nome'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Gestisci le impostazioni di NFS Ibay:'
|
||||
'nfs_Save' => 'Salva'
|
||||
'nfs_Share_owner_Group' => 'Gruppo proprietario di azioni'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Per le autorizzazioni di scrittura, consentire l'utente root e l'uso di porte non sicure, è necessario configurare un elenco di un IP per riga, facendo parte della rete locale.'
|
||||
'nfs_Information_Bay_name' => 'Nome dell'Information Bay'
|
||||
'nfs_Requests_on_secure_ports' => 'Richieste su porte sicure'
|
||||
'nfs_Squash_the_power_of_users' => '"Schiaccia il potere degli utenti"'
|
||||
'nfs_Hello_PARAMS' => 'Ciao PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Questi parametri saranno efficaci solo se la condivisione è abilitata. La condivisione si trova in /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => '"Applica"'
|
||||
'nfs_Set_the_UID.' => 'Imposta l'UID.'
|
||||
'nfs_Description' => 'Descrizione'
|
||||
'nfs_Enable_the_NFS_Share' => 'Abilita la condivisione NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'Ritarda la scrittura del disco'
|
||||
'nfs_EnableShare_on_local_network' => 'Abilita la condivisione sulla rete locale'
|
28
Targets/nfsshare_ja.lex
Normal file
28
Targets/nfsshare_ja.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'ファイルシステムの権限'
|
||||
'nfs_Write_(a)synchronously' => '非同期的および同期的に書く'
|
||||
'nfs_Set_the_GID.' => 'GIDを設定します。'
|
||||
'nfs_Hello_TABLE' => 'こんにちは、テーブル'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'PARAMSパネルのアクションは成功しました。'
|
||||
'nfs_NFS_Client(s)_allowed' => '許可されているNFSクライアント'
|
||||
'nfs_Action' => '行動 (こうどう)'
|
||||
'nfs_Set_the_uid_and_gid' => 'ユーザーまたはグループを統一させたい場合は、UIDとGIDを設定します。そうでない場合は空白のままにしてください。'
|
||||
'Nfs_status' => '状態'
|
||||
'nfs_Browse_the_parent_folders' => '親フォルダーを参照'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'テーブルパネルの操作が成功しました。'
|
||||
'nfs_NFS_data_share' => 'NFSデータ共有'
|
||||
'nfs_Name' => '名前'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'NFS Ibay 設定を管理する:'
|
||||
'nfs_Save' => '保存'
|
||||
'nfs_Share_owner_Group' => '株主グループ'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => '書き込み権限のために、ルートユーザーの許可と安全でないポートの使用を許可する場合、ローカルネットワークの一部である1行につき1つのIPアドレスのリストを構成する必要があります。'
|
||||
'nfs_Information_Bay_name' => '情報湾の名前'
|
||||
'nfs_Requests_on_secure_ports' => 'セキュアポートへのリクエスト'
|
||||
'nfs_Squash_the_power_of_users' => 'ユーザーの力を抑える'
|
||||
'nfs_Hello_PARAMS' => 'こんにちは、PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'これらのパラメータは、共有が有効になっている場合にのみ効果があります。共有は /home/e-smith/files/ibays//files にあります。'
|
||||
'nfs_APPLY' => '応募する'
|
||||
'nfs_Set_the_UID.' => 'UIDを設定する。'
|
||||
'nfs_Description' => '説明'
|
||||
'nfs_Enable_the_NFS_Share' => 'NFS共有を有効にする'
|
||||
'nfs_Delays_the_disk_writing' => 'ディスク書き込みを遅延させる'
|
||||
'nfs_EnableShare_on_local_network' => 'ローカルネットワークでの共有を有効にする'
|
28
Targets/nfsshare_nb.lex
Normal file
28
Targets/nfsshare_nb.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Filsystemtillatelser'
|
||||
'nfs_Write_(a)synchronously' => 'Skriv (a)synkront'
|
||||
'nfs_Set_the_GID.' => 'Sett GID-en.'
|
||||
'nfs_Hello_TABLE' => 'Hei BORD'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'PARAMS-panelhandlingen var vellykket'
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS Klient(er) tillatt'
|
||||
'nfs_Action' => 'Handling'
|
||||
'nfs_Set_the_uid_and_gid' => 'Sett uid og gid hvis du ønsker at alle forespørsler skal fremstå som fra én bruker eller én gruppe. Hvis ikke, la det stå tomt.'
|
||||
'Nfs_status' => 'Status'
|
||||
'nfs_Browse_the_parent_folders' => 'Bla gjennom de overordnede mappene'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'TABELL-panelet aksjonen var vellykket'
|
||||
'nfs_NFS_data_share' => 'NFS-delt dataområde'
|
||||
'nfs_Name' => 'Navn'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Administrer NFS Ibay-innstillinger:'
|
||||
'nfs_Save' => 'Lagre'
|
||||
'nfs_Share_owner_Group' => 'Eiergruppe'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'For skrivetillatelser, tillatelse til root-bruker og bruk av usikre porter, må du konfigurere en liste med én IP per linje som er del av det lokale nettverket(/-ene).'
|
||||
'nfs_Information_Bay_name' => 'Informasjonsbukt navn'
|
||||
'nfs_Requests_on_secure_ports' => 'Forespørsler på sikre porter'
|
||||
'nfs_Squash_the_power_of_users' => '"Knus brukernes makt"'
|
||||
'nfs_Hello_PARAMS' => 'Hei PARAMS'
|
||||
'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_APPLY' => 'Søk'
|
||||
'nfs_Set_the_UID.' => 'Sett UID-en.'
|
||||
'nfs_Description' => 'Beskrivelse'
|
||||
'nfs_Enable_the_NFS_Share' => 'Aktiver NFS-delingen'
|
||||
'nfs_Delays_the_disk_writing' => 'Forsinker disk skrivingen'
|
||||
'nfs_EnableShare_on_local_network' => 'Aktiver deling på lokalt nettverk'
|
28
Targets/nfsshare_nl.lex
Normal file
28
Targets/nfsshare_nl.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Bestandssysteemrechten'
|
||||
'nfs_Write_(a)synchronously' => 'Schrijf (a)synchroon'
|
||||
'nfs_Set_the_GID.' => 'Stel de GID in.'
|
||||
'nfs_Hello_TABLE' => 'Hallo TAFEL'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'De actie van het PARAMS-paneel is succesvol geweest.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS-client(s) toegestaan'
|
||||
'nfs_Action' => 'The translation of "Action" from English to Dutch is "Actie."'
|
||||
'nfs_Set_the_uid_and_gid' => 'Stel de uid en gid in als je wilt dat alle verzoeken van één gebruiker of één groep lijken te komen. Laat anders leeg.'
|
||||
'Nfs_status' => 'Sure, the translation of "Status" in Dutch is "Status".'
|
||||
'nfs_Browse_the_parent_folders' => 'Blader door de bovenliggende mappen'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'De actie van het TABEL-paneel was succesvol.'
|
||||
'nfs_NFS_data_share' => 'NFS-gegevensdeling'
|
||||
'nfs_Name' => 'Naam'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Beheer NFS Ibay-instellingen:'
|
||||
'nfs_Save' => 'Opslaan'
|
||||
'nfs_Share_owner_Group' => 'Deel eigenaar Groep'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Voor schrijfrechten: het toestaan van de rootgebruiker en het gebruik van onveilige poorten, moet u een lijst configureren met één IP per regel, als onderdeel van het lokale netwerk(en).'
|
||||
'nfs_Information_Bay_name' => 'Informatiebaai naam'
|
||||
'nfs_Requests_on_secure_ports' => 'Verzoeken op beveiligde poorten'
|
||||
'nfs_Squash_the_power_of_users' => 'De kracht van gebruikers onderdrukken'
|
||||
'nfs_Hello_PARAMS' => 'Hello PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Deze parameters zullen alleen effectief zijn als de share is ingeschakeld. De share bevindt zich in /home/e-smith/files/ibays//files.'
|
||||
'nfs_APPLY' => 'Toepassen'
|
||||
'nfs_Set_the_UID.' => 'Stel de UID in.'
|
||||
'nfs_Description' => 'Beschrijving'
|
||||
'nfs_Enable_the_NFS_Share' => 'De NFS-share inschakelen'
|
||||
'nfs_Delays_the_disk_writing' => '"Vertraagt het schrijven naar de schijf"'
|
||||
'nfs_EnableShare_on_local_network' => 'Mogelijkheid om te delen op lokaal netwerk'
|
28
Targets/nfsshare_pl.lex
Normal file
28
Targets/nfsshare_pl.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Uprawnienia systemu plików'
|
||||
'nfs_Write_(a)synchronously' => 'Pisz (a)synchronicznie'
|
||||
'nfs_Set_the_GID.' => 'Ustaw GID.'
|
||||
'nfs_Hello_TABLE' => 'Witaj STOŁе'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'Działanie panelu PARAMS zakończyło się sukcesem.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Dozwolony(e) klient(ów) NFS'
|
||||
'nfs_Action' => 'Akcja'
|
||||
'nfs_Set_the_uid_and_gid' => 'Ustaw uid i gid, jeśli chcesz, aby wszystkie żądania wyglądały na pochodzące od jednego użytkownika lub jednej grupy. W przeciwnym razie pozostaw puste.'
|
||||
'Nfs_status' => 'Status'
|
||||
'nfs_Browse_the_parent_folders' => 'Przeglądaj foldery nadrzędne'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'Działanie panelu TABLE zakończyło się pomyślnie.'
|
||||
'nfs_NFS_data_share' => 'Udział danych NFS'
|
||||
'nfs_Name' => 'Imię'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Zarządzaj ustawieniami NFS Ibay:'
|
||||
'nfs_Save' => 'Zapisz'
|
||||
'nfs_Share_owner_Group' => 'Grupa właścicieli udziałów'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Dla uprawnień do pisania, Zezwalanie użytkownikowi root oraz korzystanie z niezabezpieczonych portów, Musisz skonfigurować listę z jednym adresem IP na linię, Stanowiącego część sieci lokalnej (sieci).'
|
||||
'nfs_Information_Bay_name' => 'Nazwa zatoki informacji'
|
||||
'nfs_Requests_on_secure_ports' => 'Żądania na bezpiecznych portach'
|
||||
'nfs_Squash_the_power_of_users' => 'Zgnieść siłę użytkowników'
|
||||
'nfs_Hello_PARAMS' => 'Cześć PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Te parametry będą skuteczne tylko wtedy, gdy udział jest włączony. Udział znajduje się w /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => 'Zastosować'
|
||||
'nfs_Set_the_UID.' => 'Ustaw UID.'
|
||||
'nfs_Description' => 'Opis'
|
||||
'nfs_Enable_the_NFS_Share' => 'Włącz udostępnianie NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'Opóźnia zapis na dysku.'
|
||||
'nfs_EnableShare_on_local_network' => 'Włącz udostępnianie w sieci lokalnej'
|
30
Targets/nfsshare_pt-br.lex
Normal file
30
Targets/nfsshare_pt-br.lex
Normal file
@ -0,0 +1,30 @@
|
||||
'nfs_File_system_permissions' => 'Permissões do sistema de arquivos'
|
||||
'nfs_Write_(a)synchronously' => 'Escreva (a)síncronamente'
|
||||
'nfs_Set_the_GID.' => 'Defina o GID.'
|
||||
'nfs_Hello_TABLE' => 'Olá, MESA'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'A ação do painel PARAMS foi bem-sucedida.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Clientes NFS permitidos'
|
||||
'nfs_Action' => 'Ação'
|
||||
'nfs_Set_the_uid_and_gid' => 'Defina o uid e o gid se você quiser que todas as solicitações pareçam vir de um usuário ou grupo específico. Caso contrário, deixe em branco.'
|
||||
'Nfs_status' => 'Status in Brazilian Portuguese is "Status".'
|
||||
'nfs_Browse_the_parent_folders' => 'Navegar pelas pastas principais'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'A ação do painel da TABELA foi bem-sucedida.'
|
||||
'nfs_NFS_data_share' => 'Compartilhamento de dados NFS'
|
||||
'nfs_Name' => 'Nome'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Gerenciar configurações do NFS Ibay:'
|
||||
'nfs_Save' => 'Salvar'
|
||||
'nfs_Share_owner_Group' => 'Grupo de Proprietários de Ações'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Para permissões de escrita, permitindo o usuário root e utilizando portas inseguras, você deve configurar uma lista com um IP por linha, fazendo parte da(s) rede(s) local(is).'
|
||||
'nfs_Information_Bay_name' => 'Nome da Baía de Informações'
|
||||
'nfs_Requests_on_secure_ports' => 'Solicitações em portas seguras'
|
||||
'nfs_Squash_the_power_of_users' => 'Claro! Aqui está a tradução:
|
||||
|
||||
"Suprimir o poder dos usuários"'
|
||||
'nfs_Hello_PARAMS' => 'Olá PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Esses parâmetros só serão eficazes se o compartilhamento estiver habilitado. O compartilhamento está em /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => 'Aplicar'
|
||||
'nfs_Set_the_UID.' => 'Defina o UID.'
|
||||
'nfs_Description' => 'Descrição'
|
||||
'nfs_Enable_the_NFS_Share' => 'Habilitar o Compartilhamento NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'Atraso na gravação do disco'
|
||||
'nfs_EnableShare_on_local_network' => 'Habilitar compartilhamento na rede local'
|
28
Targets/nfsshare_pt.lex
Normal file
28
Targets/nfsshare_pt.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Permissões do sistema de arquivos'
|
||||
'nfs_Write_(a)synchronously' => 'Escrever (a)síncronamente'
|
||||
'nfs_Set_the_GID.' => 'Defina o GID.'
|
||||
'nfs_Hello_TABLE' => 'Olá MESA'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'A ação do painel PARAMS foi bem-sucedida.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Cliente(s) NFS permitido(s)'
|
||||
'nfs_Action' => 'Ação'
|
||||
'nfs_Set_the_uid_and_gid' => 'Defina o uid e gid se você quiser que todas as solicitações pareçam ser de um único usuário ou grupo. Caso contrário, deixe em branco.'
|
||||
'Nfs_status' => 'The translation of the word "Status" from English to Portuguese is "Status." The word remains the same in both languages.'
|
||||
'nfs_Browse_the_parent_folders' => 'Navegar pelas pastas-mãe'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'A ação do painel TABLE foi bem-sucedida'
|
||||
'nfs_NFS_data_share' => 'Compartilhamento de dados NFS'
|
||||
'nfs_Name' => 'The translation of the word "Name" to Portuguese is "Nome".'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Gerenciar configurações do NFS Ibay:'
|
||||
'nfs_Save' => 'Salvar'
|
||||
'nfs_Share_owner_Group' => 'Grupo de Acionistas'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Para permissões de escrita, permitir o usuário root e usar portas inseguras, você deve configurar uma lista de um IP por linha, fazendo parte da(s) rede(s) local(is).'
|
||||
'nfs_Information_Bay_name' => 'Nome da Baía de Informações'
|
||||
'nfs_Requests_on_secure_ports' => 'Solicitações em portas seguras'
|
||||
'nfs_Squash_the_power_of_users' => '"Suprimir o poder dos usuários"'
|
||||
'nfs_Hello_PARAMS' => 'Olá PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Esses parâmetros serão eficazes apenas se o compartilhamento estiver habilitado. O compartilhamento está em /home/e-smith/files/ibays//files.'
|
||||
'nfs_APPLY' => 'Aplicar'
|
||||
'nfs_Set_the_UID.' => 'Defina o UID.'
|
||||
'nfs_Description' => 'Descrição'
|
||||
'nfs_Enable_the_NFS_Share' => 'Habilitar o Compartilhamento NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'Atrasos na gravação do disco.'
|
||||
'nfs_EnableShare_on_local_network' => 'Habilitar compartilhamento na rede local.'
|
28
Targets/nfsshare_ro.lex
Normal file
28
Targets/nfsshare_ro.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Permisiuni ale sistemului de fișiere'
|
||||
'nfs_Write_(a)synchronously' => 'Scrie (a)sincron.'
|
||||
'nfs_Set_the_GID.' => 'Setați GID-ul.'
|
||||
'nfs_Hello_TABLE' => 'Bună, MASĂ'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'Acțiunea panoului PARAMS a fost realizată cu succes.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Client/Clienti NFS permisi'
|
||||
'nfs_Action' => 'Acțiune'
|
||||
'nfs_Set_the_uid_and_gid' => 'Setați uid și gid dacă doriți ca toate cererile să pară că provin de la un singur utilizator sau un singur grup, în caz contrar, lăsați necompletat.'
|
||||
'Nfs_status' => 'Stare'
|
||||
'nfs_Browse_the_parent_folders' => 'Răsfoiți dosarele părinte'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'Acțiunea panoului TABLE a fost reușită.'
|
||||
'nfs_NFS_data_share' => 'Partajare de date NFS'
|
||||
'nfs_Name' => 'Nume'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Gestionați setările NFS Ibay:'
|
||||
'nfs_Save' => '"Salvează"'
|
||||
'nfs_Share_owner_Group' => 'Proprietar al Grupului'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Pentru permisiunile de scriere, permițând utilizatorul root și folosind porturi nesigure, trebuie să configurați o listă cu un IP pe linie, făcând parte din rețeaua (rețelele) locală(e).'
|
||||
'nfs_Information_Bay_name' => 'Numele Golfului Informații'
|
||||
'nfs_Requests_on_secure_ports' => 'Cereri pe porturi sigure'
|
||||
'nfs_Squash_the_power_of_users' => 'Sure, here's the translation: "Zdrobește puterea utilizatorilor"'
|
||||
'nfs_Hello_PARAMS' => 'Bună PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Aceste paramentri vor fi eficienți doar dacă partajarea este activată. Partajarea se află în /home/e-smith/files/ibays/files.'
|
||||
'nfs_APPLY' => 'Aplicați'
|
||||
'nfs_Set_the_UID.' => 'Setează UID-ul.'
|
||||
'nfs_Description' => 'Descriere'
|
||||
'nfs_Enable_the_NFS_Share' => 'Activați partajarea NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'Întârzie scrierea pe disc.'
|
||||
'nfs_EnableShare_on_local_network' => 'Permite partajarea pe rețeaua locală'
|
28
Targets/nfsshare_ru.lex
Normal file
28
Targets/nfsshare_ru.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Права доступа файловой системы'
|
||||
'nfs_Write_(a)synchronously' => 'Пишите (а)синхронно'
|
||||
'nfs_Set_the_GID.' => 'Установите GID.'
|
||||
'nfs_Hello_TABLE' => 'Привет, СТОЛ'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'Действие панели PARAMS было успешным.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'Клиент(ы) NFS разрешены'
|
||||
'nfs_Action' => 'Действие'
|
||||
'nfs_Set_the_uid_and_gid' => 'Установите uid и gid, если хотите, чтобы все запросы выглядели как запросы от одного пользователя или одной группы. В противном случае оставьте поле пустым.'
|
||||
'Nfs_status' => 'Статус'
|
||||
'nfs_Browse_the_parent_folders' => 'Просмотреть родительские папки'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'ТАБЛИЧНАЯ панель была успешно выполнена'
|
||||
'nfs_NFS_data_share' => 'Распределение данных NFS'
|
||||
'nfs_Name' => 'Имя'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Управление настройками NFS Ibay:'
|
||||
'nfs_Save' => 'Сохранить'
|
||||
'nfs_Share_owner_Group' => 'Группа акционеров'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Для разрешения на запись, разрешения корневому пользователю и использования небезопасных портов, необходимо настроить список по одному IP на строку, являющихся частью локальных сетей.'
|
||||
'nfs_Information_Bay_name' => 'Название залива информации'
|
||||
'nfs_Requests_on_secure_ports' => 'Запросы на защищённых портах'
|
||||
'nfs_Squash_the_power_of_users' => 'Запретите силу пользователей'
|
||||
'nfs_Hello_PARAMS' => 'Здравствуйте, ПАРАМЫ'
|
||||
'nfs_These_parameters_will_be_effective' => 'Эти параметры будут действовать только при включении общего доступа. Общий доступ находится в /home/e-smith/files/ibays//files.'
|
||||
'nfs_APPLY' => 'Применить'
|
||||
'nfs_Set_the_UID.' => 'Установите UID.'
|
||||
'nfs_Description' => 'Описание'
|
||||
'nfs_Enable_the_NFS_Share' => 'Включить общий доступ по NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'Задерживает запись на диск'
|
||||
'nfs_EnableShare_on_local_network' => 'Включить общедоступный доступ в локальной сети'
|
28
Targets/nfsshare_sl.lex
Normal file
28
Targets/nfsshare_sl.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Dovoljenja datotečnega sistema'
|
||||
'nfs_Write_(a)synchronously' => 'Piši (a)sinkrono'
|
||||
'nfs_Set_the_GID.' => 'Nastavi GID.'
|
||||
'nfs_Hello_TABLE' => 'Zdravo MIZA'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'Akcija panela PARAMS je bila uspešna.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS odjemalci dovoljeni'
|
||||
'nfs_Action' => 'Akcija'
|
||||
'nfs_Set_the_uid_and_gid' => 'Nastavite uid in gid, če želite, da so vse zahteve videti, kot da prihajajo od enega uporabnika ali ene skupine, sicer pustite prazno.'
|
||||
'Nfs_status' => 'Stanje'
|
||||
'nfs_Browse_the_parent_folders' => 'Brskaj po nadrejenih mapah'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'Dejanje plošče TABLE je bilo uspešno.'
|
||||
'nfs_NFS_data_share' => 'Izmenjava podatkov NFS'
|
||||
'nfs_Name' => 'The translation of "Name" to Slovenian is "Ime".'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Upravljanje nastavitev NFS iBay:'
|
||||
'nfs_Save' => 'Shrani'
|
||||
'nfs_Share_owner_Group' => 'Skupina delničarjev'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Za pravice pisanja, Dovolitev uporabniku root in uporaba negotovih vrat, Morate konfigurirati seznam z enim IP-jem na vrstico, ki je del lokalnih omrežij.'
|
||||
'nfs_Information_Bay_name' => 'Ime bay za informacije'
|
||||
'nfs_Requests_on_secure_ports' => 'Zahteve na varnih vratih'
|
||||
'nfs_Squash_the_power_of_users' => 'Zmanjšajte moč uporabnikov'
|
||||
'nfs_Hello_PARAMS' => 'Pozdravljeni PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Ti parametri bodo učinkovali le, če je deljenje omogočeno. Deljenje se nahaja v /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => 'The translation of "Apply" to Slovenian is "Uporabi."'
|
||||
'nfs_Set_the_UID.' => 'Nastavi UID.'
|
||||
'nfs_Description' => 'Opis'
|
||||
'nfs_Enable_the_NFS_Share' => 'Omogoči NFS delež'
|
||||
'nfs_Delays_the_disk_writing' => 'Zamude pri zapisovanju na disk'
|
||||
'nfs_EnableShare_on_local_network' => 'Omogoči deljenje v lokalnem omrežju'
|
30
Targets/nfsshare_sv.lex
Normal file
30
Targets/nfsshare_sv.lex
Normal file
@ -0,0 +1,30 @@
|
||||
'nfs_File_system_permissions' => 'Filsystemsrättigheter'
|
||||
'nfs_Write_(a)synchronously' => 'Skriv (a)synkront'
|
||||
'nfs_Set_the_GID.' => 'Ställ in GID.'
|
||||
'nfs_Hello_TABLE' => 'Hej BORD'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'PARAMS-panelåtgärden lyckades.'
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS-klient(er) tillåtna'
|
||||
'nfs_Action' => 'In Swedish, "Action" can be translated to "Action" itself if referring to the genre of film or literature, or more specifically as "Handling" if referring to an act or deed. So, the translation would be "Action" or "Handling," depending on the context.'
|
||||
'nfs_Set_the_uid_and_gid' => 'Ställ in uid och gid om du vill att alla förfrågningar ska verka komma från en användare eller en grupp, annars lämna tomt.'
|
||||
'Nfs_status' => 'Status'
|
||||
'nfs_Browse_the_parent_folders' => 'Bläddra bland föräldramapparna'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'The translation of the text "TABLE panel action was successful" to Swedish is:
|
||||
|
||||
"Åtgärden för PANEL i TABELLEN lyckades."'
|
||||
'nfs_NFS_data_share' => 'NFS-datadelningsutrymme'
|
||||
'nfs_Name' => 'Namn'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Hantera NFS Ibay-inställningar:'
|
||||
'nfs_Save' => 'Spara'
|
||||
'nfs_Share_owner_Group' => 'Ägargrupp'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'För skrivbehörigheter, tillåta root-användaren och använda osäkra portar, måste du konfigurera en lista med en IP per rad som är en del av det lokala nätverket/de lokala nätverken.'
|
||||
'nfs_Information_Bay_name' => 'Informationsbuktens namn'
|
||||
'nfs_Requests_on_secure_ports' => 'Begäranden på säkra portar'
|
||||
'nfs_Squash_the_power_of_users' => 'Krossa användarnas makt'
|
||||
'nfs_Hello_PARAMS' => 'Hej PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Dessa parametrar kommer endast att vara effektiva om delningen är aktiverad. Delningen finns i /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => 'Ansök'
|
||||
'nfs_Set_the_UID.' => 'Ställ in UID.'
|
||||
'nfs_Description' => 'Beskrivning'
|
||||
'nfs_Enable_the_NFS_Share' => 'Aktivera NFS-delningsfunktionen'
|
||||
'nfs_Delays_the_disk_writing' => 'Fördröjer diskskrivningen'
|
||||
'nfs_EnableShare_on_local_network' => 'Aktivera delning på lokalt nätverk'
|
28
Targets/nfsshare_th.lex
Normal file
28
Targets/nfsshare_th.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'สิทธิ์การเข้าถึงระบบไฟล์'
|
||||
'nfs_Write_(a)synchronously' => 'เขียนแบบ(ไม่)พร้อมกัน'
|
||||
'nfs_Set_the_GID.' => 'ตั้งค่า GID'
|
||||
'nfs_Hello_TABLE' => 'สวัสดี โต๊ะ'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'พารามส์ พาเนล แอคชั่น สำเร็จอย่างสมบูรณ์'
|
||||
'nfs_NFS_Client(s)_allowed' => 'ลูกค้า NFS ที่ได้รับอนุญาต'
|
||||
'nfs_Action' => 'การกระทำ'
|
||||
'nfs_Set_the_uid_and_gid' => 'ตั้งค่า uid และ gid หากคุณต้องการให้การร้องขอทุกครั้งดูเหมือนมาจากผู้ใช้หนึ่งคนหรือกลุ่มหนึ่งกลุ่ม อย่าใส่อะไรถ้าไม่ต้องการ'
|
||||
'Nfs_status' => 'สถานะ'
|
||||
'nfs_Browse_the_parent_folders' => 'เรียกดูโฟลเดอร์หลัก'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'การดำเนินการของแผง TABLE สำเร็จแล้ว'
|
||||
'nfs_NFS_data_share' => 'แชร์ข้อมูล NFS'
|
||||
'nfs_Name' => 'ชื่อ'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'จัดการการตั้งค่า NFS Ibay'
|
||||
'nfs_Save' => 'บันทึก'
|
||||
'nfs_Share_owner_Group' => 'กลุ่มเจ้าของหุ้น'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'สำหรับการอนุญาตในการเขียน อนุญาตให้ผู้ใช้ root และการใช้พอร์ตที่ไม่ปลอดภัย คุณต้องกำหนดรายชื่อโดยให้มีหนึ่ง IP ต่อบรรทัด ที่เป็นส่วนหนึ่งของเครือข่ายภายในท้องถิ่น'
|
||||
'nfs_Information_Bay_name' => 'ชื่อของ Information Bay'
|
||||
'nfs_Requests_on_secure_ports' => 'คำขอบนพอร์ตที่ปลอดภัย'
|
||||
'nfs_Squash_the_power_of_users' => 'บดขยี้พลังของผู้ใช้'
|
||||
'nfs_Hello_PARAMS' => 'สวัสดี PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'พารามิเตอร์เหล่านี้จะมีผลก็ต่อเมื่อการแชร์ถูกเปิดใช้งาน การแชร์นั้นอยู่ใน /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => 'สมัคร'
|
||||
'nfs_Set_the_UID.' => 'ตั้งค่า UID'
|
||||
'nfs_Description' => 'คำอธิบาย'
|
||||
'nfs_Enable_the_NFS_Share' => 'เปิดใช้งานการแชร์ NFS'
|
||||
'nfs_Delays_the_disk_writing' => 'ทำให้การเขียนดิสก์ล่าช้า'
|
||||
'nfs_EnableShare_on_local_network' => 'เปิดใช้งานการแชร์บนเครือข่ายท้องถิ่น'
|
28
Targets/nfsshare_tr.lex
Normal file
28
Targets/nfsshare_tr.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => 'Dosya sistemi izinleri'
|
||||
'nfs_Write_(a)synchronously' => 'Senkron (a)senkron yazın'
|
||||
'nfs_Set_the_GID.' => 'GID'yi Ayarla.'
|
||||
'nfs_Hello_TABLE' => 'Merhaba TABLO'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'PARAMS panel eylemi başarılı oldu'
|
||||
'nfs_NFS_Client(s)_allowed' => 'İzin verilen NFS İstemcisi/İstemcileri'
|
||||
'nfs_Action' => 'The translation of "Action" to Turkish is "Aksiyon" or "Eylem."'
|
||||
'nfs_Set_the_uid_and_gid' => 'İsteklerin tek bir kullanıcıdan veya tek bir gruptan geliyormuş gibi görünmesini istiyorsanız, uid ve gid ayarlarını yapın, aksi takdirde boş bırakın.'
|
||||
'Nfs_status' => 'Durum'
|
||||
'nfs_Browse_the_parent_folders' => 'Ana klasörlere göz atın'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'TABLO panel eylemi başarılı oldu'
|
||||
'nfs_NFS_data_share' => 'NFS veri paylaşımı'
|
||||
'nfs_Name' => 'İsim'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'NFS Ibay ayarlarını yönetin:'
|
||||
'nfs_Save' => 'Kaydet'
|
||||
'nfs_Share_owner_Group' => 'Pay sahibi Grubu'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => 'Yazma izinleri için, root kullanıcısına izin vermek ve güvensiz portları kullanmak, Yerel ağın bir parçası olan, satır başına bir IP içeren bir listeyi yapılandırmalısınız.'
|
||||
'nfs_Information_Bay_name' => 'Bilgi Koyu adı'
|
||||
'nfs_Requests_on_secure_ports' => 'Güvenli portlardaki istekler'
|
||||
'nfs_Squash_the_power_of_users' => 'Kullanıcıların gücünü bastırın'
|
||||
'nfs_Hello_PARAMS' => 'Merhaba PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => 'Bu parametreler yalnızca paylaşım etkinleştirildiğinde etkili olacaktır. Paylaşım /home/e-smith/files/ibays//files dizinindedir.'
|
||||
'nfs_APPLY' => 'Uygula'
|
||||
'nfs_Set_the_UID.' => 'UID'yi ayarla.'
|
||||
'nfs_Description' => 'Açıklama'
|
||||
'nfs_Enable_the_NFS_Share' => 'NFS Paylaşımını Etkinleştir'
|
||||
'nfs_Delays_the_disk_writing' => 'Disk yazma işlemini geciktirir.'
|
||||
'nfs_EnableShare_on_local_network' => 'Yerel ağda Enableshare'
|
28
Targets/nfsshare_zh-cn.lex
Normal file
28
Targets/nfsshare_zh-cn.lex
Normal file
@ -0,0 +1,28 @@
|
||||
'nfs_File_system_permissions' => '文件系统权限'
|
||||
'nfs_Write_(a)synchronously' => '同步/异步编写'
|
||||
'nfs_Set_the_GID.' => '设置GID。'
|
||||
'nfs_Hello_TABLE' => '你好,桌子'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'PARAMS 面板操作成功。'
|
||||
'nfs_NFS_Client(s)_allowed' => '允许的NFS客户端'
|
||||
'nfs_Action' => '行动'
|
||||
'nfs_Set_the_uid_and_gid' => '如果你希望所有请求都显示为来自某个用户或某个组,请设置 uid 和 gid,否则请留空。'
|
||||
'Nfs_status' => '状态'
|
||||
'nfs_Browse_the_parent_folders' => '浏览父文件夹'
|
||||
'nfs_TABLE_panel_action_was_successfull' => '表格面板操作成功。'
|
||||
'nfs_NFS_data_share' => 'NFS 数据共享'
|
||||
'nfs_Name' => '姓名'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => '管理NFS Ibay设置:'
|
||||
'nfs_Save' => '保存'
|
||||
'nfs_Share_owner_Group' => '共享拥有者集团'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => '对于写入权限,允许root用户和使用不安全端口,您必须配置每行一个IP地址的列表,并且这些IP地址必须是本地网络的一部分。'
|
||||
'nfs_Information_Bay_name' => '信息栏名称'
|
||||
'nfs_Requests_on_secure_ports' => '安全端口上的请求'
|
||||
'nfs_Squash_the_power_of_users' => '压制用户的力量'
|
||||
'nfs_Hello_PARAMS' => '你好,PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => '这些参数只有在共享被启用时才会生效。共享目录在 /home/e-smith/files/ibays/files。'
|
||||
'nfs_APPLY' => '申请'
|
||||
'nfs_Set_the_UID.' => '设置UID。'
|
||||
'nfs_Description' => '描述'
|
||||
'nfs_Enable_the_NFS_Share' => '启用NFS共享'
|
||||
'nfs_Delays_the_disk_writing' => '延迟磁盘写入'
|
||||
'nfs_EnableShare_on_local_network' => '在本地网络上启用共享'
|
29
Targets/nfsshare_zh-tw.lex
Normal file
29
Targets/nfsshare_zh-tw.lex
Normal file
@ -0,0 +1,29 @@
|
||||
'nfs_File_system_permissions' => '檔案系統權限'
|
||||
'nfs_Write_(a)synchronously' => '同步或非同步寫入'
|
||||
'nfs_Set_the_GID.' => '設置 GID。'
|
||||
'nfs_Hello_TABLE' => '你好,TABLE'
|
||||
'nfs_PARAMS_panel_action_was_successfull' => 'PARAMS 面板操作成功。'
|
||||
'nfs_NFS_Client(s)_allowed' => '允許的 NFS 用戶端'
|
||||
'nfs_Action' => '行動'
|
||||
'nfs_Set_the_uid_and_gid' => '如需所有請求看起來都來自某個用戶或團體,請設置 uid 和 gid,否則請留空。'
|
||||
'Nfs_status' => '狀態'
|
||||
'nfs_Browse_the_parent_folders' => '瀏覽上層資料夾'
|
||||
'nfs_TABLE_panel_action_was_successfull' => 'TABLE面板操作成功。'
|
||||
'nfs_NFS_data_share' => 'NFS 數據共享'
|
||||
'nfs_Name' => '名字'
|
||||
'nfs_Manage_NFS_Ibay_settings:' => '管理 NFS Ibay 設定:'
|
||||
'nfs_Save' => '儲存'
|
||||
'nfs_Share_owner_Group' => '股東集團'
|
||||
'nfs_For_writing_permissions,allowing_the_root' => '為了寫入權限,允許 root 使用者並使用不安全的埠,您必須配置每行一個 IP 地址的清單,這些 IP 地址應屬於本地網路。'
|
||||
'nfs_Information_Bay_name' => '資訊灣名'
|
||||
'nfs_Requests_on_secure_ports' => '在安全端口上的請求'
|
||||
'nfs_Squash_the_power_of_users' => '壓制使用者的權力'
|
||||
'nfs_Hello_PARAMS' => 'Hello PARAMS
|
||||
您好,PARAMS'
|
||||
'nfs_These_parameters_will_be_effective' => '這些參數只有在共享啟用時才會生效。共享位置在 /home/e-smith/files/ibays//files'
|
||||
'nfs_APPLY' => '應用'
|
||||
'nfs_Set_the_UID.' => '設置 UID。'
|
||||
'nfs_Description' => '描述'
|
||||
'nfs_Enable_the_NFS_Share' => '啟用 NFS 共享'
|
||||
'nfs_Delays_the_disk_writing' => '延遲磁盤寫入'
|
||||
'nfs_EnableShare_on_local_network' => '在本地網絡上啟用共享'
|
@ -7,10 +7,9 @@ package SrvMngr::Controller::${PackageName};
|
||||
# description : ${MenuDescription}
|
||||
# navigation : ${MenuNavigation}
|
||||
#
|
||||
# name : ${lcPackageName}, method : get, url : /${lcPackageName}, ctlact : ${lcPackageName}#main
|
||||
# name : ${lcPackageName}u, method : post, url : /${lcPackageName}u, ctlact : ${lcPackageName}#do_update
|
||||
# name : ${lcPackageName}d, method : get, url : /${lcPackageName}d, ctlact : ${lcPackageName}#do_display
|
||||
# name : ${lcPackageName}e, method : post, url : /${lcPackageName}d, ctlact : ${lcPackageName}#do_display
|
||||
# name : ${lcPackageName}, method : get, url : /${lcPackageName}, ctlact : ${PackageName}#main
|
||||
# name : ${lcPackageName}u, method : post, url : /${lcPackageName}u, ctlact : ${PackageName}#do_update
|
||||
# name : ${lcPackageName}d, method : get, url : /${lcPackageName}d, ctlact : ${PackageName}#do_display
|
||||
#
|
||||
# routes : end
|
||||
#
|
||||
@ -89,7 +88,7 @@ sub main {
|
||||
modul => $modul,
|
||||
${prefix}_data => \%${prefix}_data
|
||||
);
|
||||
$c->render( template => "${PackageName}" );
|
||||
$c->render( template => "${lcPackageName}" );
|
||||
}
|
||||
|
||||
# Post request with params - submit from the form
|
||||
@ -164,7 +163,7 @@ sub do_update {
|
||||
$c->stash(error => $c->l($ret));
|
||||
$c->render("${PackageName}");
|
||||
} else {
|
||||
$c->stash( success => $c->l('${panel} panel action was successfull')); #A bit bland - edit it in the lex file
|
||||
$c->stash( success => $c->l('${panel} panel action was successful')); #A bit bland - edit it in the lex file
|
||||
}
|
||||
}
|
||||
</tal:block>
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Routines to be editted by the developer to provide validation for parameters
|
||||
# Routines to be edited by the developer to provide validation for parameters
|
||||
# and provison of the control data for table(s)
|
||||
#
|
||||
# Generated by ${version}
|
||||
|
@ -1,9 +1,9 @@
|
||||
<root>
|
||||
<Text><![CDATA[
|
||||
<p><span class=label>
|
||||
%=l('${prefix}_${Label}'), class => 'label'
|
||||
%=l('${prefix}_${Label}')
|
||||
</span><span class=data>
|
||||
%= ${Value}, class => 'data'
|
||||
%= ${Value}
|
||||
</span></p>
|
||||
]]></Text>
|
||||
|
||||
@ -92,7 +92,7 @@
|
||||
</email>
|
||||
|
||||
<password><![CDATA[
|
||||
<p><span class=label>
|
||||
<p><span class='label'>
|
||||
%=l('${Label}')
|
||||
</span><span class=data>
|
||||
</span>span></p>
|
||||
@ -100,17 +100,17 @@
|
||||
</password>
|
||||
|
||||
<Table><![CDATA[
|
||||
<br /><table class="sme-border TableSort">
|
||||
<br /><table class="sme-border TableSort sme-table">
|
||||
<thead>
|
||||
<tr><tal:block tal:repeat="ColHead TopHeadings">
|
||||
<th class='sme-border'><%=l('${ColHead}')%></th></tal:block>
|
||||
<tr table-head-row><tal:block tal:repeat="ColHead TopHeadings">
|
||||
<th class='sme-border table-head-col table-head-col-${ColHead} '><%=l('${ColHead}')%></th></tal:block>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
% my $control_data = $self->stash('${TableControl}');
|
||||
% foreach my $row (@$control_data) {
|
||||
<tr><tal:block tal:repeat="ColContent Columns">
|
||||
<td class='sme-border'><%=$c->render_to_string(inline=>$row->{${ColContent}})%></td></tal:block>
|
||||
<tr class='table-row'><tal:block tal:repeat="ColContent Columns">
|
||||
<td class='sme-border table-col table-col-${ColContent}'><%=$c->render_to_string(inline=>$row->{${ColContent}})%></td></tal:block>
|
||||
</tr>
|
||||
%}
|
||||
</tbody>
|
||||
|
@ -1,7 +1,7 @@
|
||||
%#
|
||||
%# Generated by ${version}
|
||||
%#
|
||||
<div id="${PackageName}-${route}">
|
||||
<div id="${PackageName}-${route}" class="partial ${PackageName}-${route}">
|
||||
<script>
|
||||
window.onload = function() {
|
||||
SelectInput();
|
||||
@ -17,5 +17,5 @@
|
||||
%= hidden_field 'trt' => $$${prefix}_data->{trt}
|
||||
%# Inputs etc in here.
|
||||
%# Probably finally by a submit.
|
||||
% end
|
||||
%end
|
||||
</div>
|
||||
|
27
languages.json
Normal file
27
languages.json
Normal file
@ -0,0 +1,27 @@
|
||||
[
|
||||
{"language": "Bulgarian", "code": "bg"},
|
||||
{"language": "Danish", "code": "da"},
|
||||
{"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": "Hungarian", "code": "hu"},
|
||||
{"language": "Indonesian", "code": "id"},
|
||||
{"language": "Italian", "code": "it"},
|
||||
{"language": "Japanese", "code": "ja"},
|
||||
{"language": "Norwegian Bokmål", "code": "nb"},
|
||||
{"language": "Dutch", "code": "nl"},
|
||||
{"language": "Polish", "code": "pl"},
|
||||
{"language": "Brazilian Portuguese", "code": "pt-br"},
|
||||
{"language": "Portuguese", "code": "pt"},
|
||||
{"language": "Romanian", "code": "ro"},
|
||||
{"language": "Russian", "code": "ru"},
|
||||
{"language": "Slovenian", "code": "sl"},
|
||||
{"language": "Swedish", "code": "sv"},
|
||||
{"language": "Thai", "code": "th"},
|
||||
{"language": "Turkish", "code": "tr"},
|
||||
{"language": "Simplified Chinese", "code": "zh-cn"},
|
||||
{"language": "Traditional Chinese", "code": "zh-tw"}
|
||||
]
|
861
sm2gen.py
861
sm2gen.py
@ -9,6 +9,9 @@ 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
|
||||
@ -16,113 +19,116 @@ import xml.etree.ElementTree as ET
|
||||
# 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.7'
|
||||
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')
|
||||
OPENAI_API_KEY = ""
|
||||
|
||||
def parse_json(json_obj, prefix=''):
|
||||
structured_list = []
|
||||
if isinstance(json_obj, dict):
|
||||
for k, v in json_obj.items():
|
||||
new_key = f"{prefix}.{k}" if prefix else k
|
||||
structured_list.extend(parse_json(v, new_key))
|
||||
elif isinstance(json_obj, list):
|
||||
for i, v in enumerate(json_obj):
|
||||
new_key = f"{prefix}[{i}]"
|
||||
structured_list.extend(parse_json(v, new_key))
|
||||
else:
|
||||
structured_list.append(f"{prefix}: {json_obj}")
|
||||
return structured_list
|
||||
structured_list = []
|
||||
if isinstance(json_obj, dict):
|
||||
for k, v in json_obj.items():
|
||||
new_key = f"{prefix}.{k}" if prefix else k
|
||||
structured_list.extend(parse_json(v, new_key))
|
||||
elif isinstance(json_obj, list):
|
||||
for i, v in enumerate(json_obj):
|
||||
new_key = f"{prefix}[{i}]"
|
||||
structured_list.extend(parse_json(v, new_key))
|
||||
else:
|
||||
structured_list.append(f"{prefix}: {json_obj}")
|
||||
return structured_list
|
||||
|
||||
def json5_to_list(filename):
|
||||
with open(filename, 'r') as file:
|
||||
data = json5.load(file)
|
||||
return parse_json(data)
|
||||
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:
|
||||
data = json5.load(file)
|
||||
print (data)
|
||||
return data.json_normalize(data)
|
||||
with open(filename, 'r') as file:
|
||||
data = json5.load(file)
|
||||
print (data)
|
||||
return data.json_normalize(data)
|
||||
|
||||
def json5_to_dict(filename):
|
||||
with open(filename, 'r') as file:
|
||||
data = json5.load(file)
|
||||
return data
|
||||
with open(filename, 'r') as file:
|
||||
data = json5.load(file)
|
||||
return data
|
||||
|
||||
def rec_print(data, prefix=''):
|
||||
# Check if this item is a dictionary.
|
||||
if isinstance(data, dict):
|
||||
for key, val in data.items():
|
||||
rec_print(val, f"{prefix}.{key}")
|
||||
# Check if this item is a list.
|
||||
elif isinstance(data, list):
|
||||
for idx, val in enumerate(data):
|
||||
rec_print(val, f"{prefix}[{idx}]")
|
||||
# If neither, it's a basic type.
|
||||
else:
|
||||
print(f"{prefix}: {data}")
|
||||
|
||||
# Check if this item is a dictionary.
|
||||
if isinstance(data, dict):
|
||||
for key, val in data.items():
|
||||
rec_print(val, f"{prefix}.{key}")
|
||||
# Check if this item is a list.
|
||||
elif isinstance(data, list):
|
||||
for idx, val in enumerate(data):
|
||||
rec_print(val, f"{prefix}[{idx}]")
|
||||
# If neither, it's a basic type.
|
||||
else:
|
||||
print(f"{prefix}: {data}")
|
||||
|
||||
def find_item(nested_dict, target_key):
|
||||
for key, val in nested_dict.items():
|
||||
if key == target_key:
|
||||
return val
|
||||
elif isinstance(val, dict):
|
||||
result = find_item(val, target_key)
|
||||
if result is not None:
|
||||
return result
|
||||
for key, val in nested_dict.items():
|
||||
if key == target_key:
|
||||
return val
|
||||
elif isinstance(val, dict):
|
||||
result = find_item(val, target_key)
|
||||
if result is not None:
|
||||
return result
|
||||
|
||||
def find_dicts_with_key(data, target_key):
|
||||
results = []
|
||||
if isinstance(data, dict):
|
||||
if target_key in data:
|
||||
results.append(data)
|
||||
for val in data.values():
|
||||
if isinstance(val, (dict, list)):
|
||||
results.extend(find_dicts_with_key(val, target_key))
|
||||
elif isinstance(data, list):
|
||||
for item in data:
|
||||
if isinstance(item, (dict, list)):
|
||||
results.extend(find_dicts_with_key(item, target_key))
|
||||
return results
|
||||
|
||||
results = []
|
||||
if isinstance(data, dict):
|
||||
if target_key in data:
|
||||
results.append(data)
|
||||
for val in data.values():
|
||||
if isinstance(val, (dict, list)):
|
||||
results.extend(find_dicts_with_key(val, target_key))
|
||||
elif isinstance(data, list):
|
||||
for item in data:
|
||||
if isinstance(item, (dict, list)):
|
||||
results.extend(find_dicts_with_key(item, target_key))
|
||||
return results
|
||||
|
||||
def find_values_with_key(data, target_key):
|
||||
results = []
|
||||
if isinstance(data, dict):
|
||||
if target_key in data:
|
||||
results.append(data[target_key])
|
||||
for val in data.values():
|
||||
if isinstance(val, (dict, list)):
|
||||
results.extend(find_values_with_key(val, target_key))
|
||||
elif isinstance(data, list):
|
||||
for item in data:
|
||||
if isinstance(item, (dict, list)):
|
||||
results.extend(find_values_with_key(item, target_key))
|
||||
return results
|
||||
|
||||
results = []
|
||||
if isinstance(data, dict):
|
||||
if target_key in data:
|
||||
results.append(data[target_key])
|
||||
for val in data.values():
|
||||
if isinstance(val, (dict, list)):
|
||||
results.extend(find_values_with_key(val, target_key))
|
||||
elif isinstance(data, list):
|
||||
for item in data:
|
||||
if isinstance(item, (dict, list)):
|
||||
results.extend(find_values_with_key(item, target_key))
|
||||
return results
|
||||
|
||||
def lint_json5(filename):
|
||||
try:
|
||||
with open(filename, 'r') as file:
|
||||
data = file.read()
|
||||
json5.loads(data)
|
||||
print(f"{filename} as JSON5 data is valid")
|
||||
except Exception as e:
|
||||
print(f"{filename} as JSON5 data is invalid")
|
||||
print("Error:", str(e))
|
||||
sys.exit()
|
||||
try:
|
||||
with open(filename, 'r') as file:
|
||||
data = file.read()
|
||||
json5.loads(data)
|
||||
print(f"{filename} as JSON5 data is valid")
|
||||
except Exception as e:
|
||||
print(f"{filename} as JSON5 data is invalid")
|
||||
print("Error:", str(e))
|
||||
sys.exit()
|
||||
|
||||
|
||||
def flatten_hash_of_lists(hash_of_lists):
|
||||
flattened = {}
|
||||
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
|
||||
flattened[new_key] = item
|
||||
else:
|
||||
flattened[key] = value
|
||||
return flattened
|
||||
|
||||
flattened = {}
|
||||
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
|
||||
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:
|
||||
@ -132,53 +138,53 @@ def hl(keyname):
|
||||
return 'None'
|
||||
|
||||
def get_all_routes():
|
||||
route_list = [html_block.get('route') for html_block in json5_dict.get('html', [])]
|
||||
return route_list
|
||||
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', [])]
|
||||
return route_list
|
||||
|
||||
# All routes in lower case
|
||||
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)
|
||||
last_modification_time = os.path.getmtime(file_path)
|
||||
print(f"{creation_time}*{last_modification_time}")
|
||||
quit()
|
||||
# Get the file's creation time and last modification time in Unix timestamp
|
||||
creation_time = os.path.getctime(file_path)
|
||||
last_modification_time = os.path.getmtime(file_path)
|
||||
print(f"{creation_time}*{last_modification_time}")
|
||||
quit()
|
||||
|
||||
# Compare the creation time and last modification time
|
||||
if creation_time < last_modification_time:
|
||||
return True # File has been modified after creation
|
||||
else:
|
||||
return False # File has not been modified after creation
|
||||
# Compare the creation time and last modification time
|
||||
if creation_time < last_modification_time:
|
||||
return True # File has been modified after creation
|
||||
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)
|
||||
root = tree.getroot()
|
||||
# Parse the XML file
|
||||
tree = ET.parse(xml_file)
|
||||
root = tree.getroot()
|
||||
|
||||
xml_dict = {} # Initialize an empty dictionary to store the data
|
||||
xml_dict = {} # Initialize an empty dictionary to store the data
|
||||
|
||||
# Iterate through the XML tree and extract data
|
||||
for elem in root:
|
||||
tag = elem.tag
|
||||
if elem.text:
|
||||
xml_dict[tag] = elem.text
|
||||
else:
|
||||
cdata_content = elem.find('.//').text # Extract CDATA text
|
||||
xml_dict[tag] = cdata_content
|
||||
# Iterate through the XML tree and extract data
|
||||
for elem in root:
|
||||
tag = elem.tag
|
||||
if elem.text:
|
||||
xml_dict[tag] = elem.text
|
||||
else:
|
||||
cdata_content = elem.find('.//').text # Extract CDATA text
|
||||
xml_dict[tag] = cdata_content
|
||||
|
||||
return xml_dict
|
||||
return xml_dict
|
||||
|
||||
def deduplicate_array(arr):
|
||||
# Convert the array to a set to remove duplicates
|
||||
unique_set = set(arr)
|
||||
|
||||
# Convert the set back to a list to maintain the order
|
||||
deduplicated_list = list(unique_set)
|
||||
|
||||
return deduplicated_list
|
||||
# Convert the array to a set to remove duplicates
|
||||
unique_set = set(arr)
|
||||
|
||||
# Convert the set back to a list to maintain the order
|
||||
deduplicated_list = list(unique_set)
|
||||
|
||||
return deduplicated_list
|
||||
|
||||
def get_db_fields():
|
||||
return []
|
||||
@ -187,308 +193,351 @@ def get_table_control_data():
|
||||
return find_values_with_key(json5_html_list,'TableControl')
|
||||
|
||||
def format_text(text):
|
||||
#
|
||||
# Turn a piece of text into something a bit better formatted - spaces after full stop and comma and also capitalise sentences
|
||||
#
|
||||
# Create a list to hold the formatted sentences
|
||||
formatted_sentences = []
|
||||
# Split the text into sentences
|
||||
sentences = text.split(".")
|
||||
words = sentences[0].split(" ")
|
||||
#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)
|
||||
# and splt into sub phrases, based on comma
|
||||
formatted_phrases = []
|
||||
phrases = sentence.split(",")
|
||||
#
|
||||
# Turn a piece of text into something a bit better formatted - spaces after full stop and comma and also capitalise sentences
|
||||
#
|
||||
# Create a list to hold the formatted sentences
|
||||
formatted_sentences = []
|
||||
# Split the text into sentences
|
||||
sentences = text.split(".")
|
||||
words = sentences[0].split(" ")
|
||||
#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)
|
||||
# and splt into sub phrases, based on comma
|
||||
formatted_phrases = []
|
||||
phrases = sentence.split(",")
|
||||
|
||||
for phrase in phrases:
|
||||
#print(phrase)
|
||||
phrase = phrase.lstrip()
|
||||
formatted_words = []
|
||||
words = phrase.split(' ')
|
||||
|
||||
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:
|
||||
formatted_words.append(word)
|
||||
else:
|
||||
# Capitalize the word
|
||||
formatted_words.append(word.capitalize())
|
||||
for phrase in phrases:
|
||||
#print(phrase)
|
||||
phrase = phrase.lstrip()
|
||||
formatted_words = []
|
||||
words = phrase.split(' ')
|
||||
|
||||
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:
|
||||
formatted_words.append(word)
|
||||
else:
|
||||
# Capitalize the word
|
||||
formatted_words.append(word.capitalize())
|
||||
|
||||
# Join the formatted words back together for this phrase
|
||||
formatted_phrase = ' '.join(formatted_words).lstrip()
|
||||
formatted_phrases.append(formatted_phrase)
|
||||
# and sentence
|
||||
formatted_sentence = ", ".join(formatted_phrases).lstrip()
|
||||
formatted_sentences.append(formatted_sentence)
|
||||
# Join the formatted sentences back together
|
||||
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)
|
||||
# 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"):
|
||||
prompt = f"Translate the following text from English to {language}: {message} :suitable for use in a Server manager application"
|
||||
translated_message = get_completion(prompt)
|
||||
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}
|
||||
formatted_dict = [{"id": key, "text": value} for key, value in data_dict.items()]
|
||||
return formatted_dict
|
||||
|
||||
# Join the formatted words back together for this phrase
|
||||
formatted_phrase = ' '.join(formatted_words).lstrip()
|
||||
formatted_phrases.append(formatted_phrase)
|
||||
# and sentence
|
||||
formatted_sentence = ", ".join(formatted_phrases).lstrip()
|
||||
formatted_sentences.append(formatted_sentence)
|
||||
# Join the formatted sentences back together
|
||||
formatted_text = ". ".join(formatted_sentences).lstrip()
|
||||
return formatted_text
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
chameleon_version = pkg_resources.get_distribution("Chameleon").version
|
||||
except pkg_resources.DistributionNotFound:
|
||||
chameleon_version = "Version information not available"
|
||||
python_version = sys.version
|
||||
python_version = python_version[:8]
|
||||
current_datetime = datetime.now()
|
||||
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M")
|
||||
try:
|
||||
chameleon_version = pkg_resources.get_distribution("Chameleon").version
|
||||
except pkg_resources.DistributionNotFound:
|
||||
chameleon_version = "Version information not available"
|
||||
python_version = sys.version
|
||||
python_version = python_version[:8]
|
||||
current_datetime = datetime.now()
|
||||
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M")
|
||||
|
||||
strVersion = "SME2Gen 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 = []
|
||||
json5_dict: dict = {}
|
||||
json5_html_list: list = []
|
||||
|
||||
print(f"SM2 code from JSON5 - {strVersion}")
|
||||
|
||||
print(f"SM2 code from JSON5 - {strVersion}")
|
||||
home_dir = "/home/brianr/clients/SM2/SM2Gen/"
|
||||
json_filename = f"{home_dir}nfsshare.json5"
|
||||
|
||||
# read open ai key from ini file
|
||||
# Check if the file exists
|
||||
if os.path.exists(ini_file_path):
|
||||
# Create a configparser object and read the file
|
||||
config = configparser.ConfigParser()
|
||||
config.read(ini_file_path)
|
||||
|
||||
filename = '/home/brianr/clients/SM2/SM2Gen/nfsshare.json5'
|
||||
|
||||
# Command line parameters
|
||||
parser = argparse.ArgumentParser(description="SM2Gen")
|
||||
parser.add_argument('-f', '--filename', help='Specify a filename for the JSON5 file', default=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()
|
||||
filename = args.filename
|
||||
print(f"JSON5 from {filename} with noController={args.noController}, noHtml={args.noHtml} and noLang={args.noLang}") #Not yet activated
|
||||
# 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)
|
||||
client = OpenAI(api_key=OPENAI_API_KEY)
|
||||
else:
|
||||
print("OPENAI_API_KEY not found in the configuration file.")
|
||||
else:
|
||||
print("Configuration file not found at:", file_path)
|
||||
|
||||
# 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")
|
||||
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
|
||||
|
||||
# check syntax of JSON5
|
||||
lint_json5(filename);
|
||||
|
||||
# Get dict of it all
|
||||
json5_dict = json5_to_dict(filename)
|
||||
|
||||
# Get dict of just the html bit
|
||||
json5_html_list = json5_dict['html']
|
||||
|
||||
#Identify message
|
||||
print(f"\nGenerating mojo panels for {hl('PackageName')}")
|
||||
print( "-----------------------------------")
|
||||
|
||||
# Routes for each panel
|
||||
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'
|
||||
|
||||
# see if it has been modified by developer - this did not work - the modified by was the same as the creation time/date
|
||||
#if has_file_been_modified(custom_controller_file):
|
||||
# custom_controller_file = custom_controller_file+'.new'
|
||||
|
||||
# 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')+'.html.ep'
|
||||
partial_files = list()
|
||||
for panel in routes:
|
||||
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
|
||||
|
||||
#Generate controller file
|
||||
try:
|
||||
controller_template = PageTemplateFile("Templates/controller.pm.tem")
|
||||
dbentries = get_db_fields() #Params which correspond to Db fields
|
||||
try:
|
||||
controller_perl = controller_template.render(version=strVersion,
|
||||
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']
|
||||
|
||||
#Identify message
|
||||
print(f"\nGenerating mojo panels for {hl('PackageName')}")
|
||||
print( "-----------------------------------")
|
||||
|
||||
# Routes for each panel
|
||||
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'
|
||||
# 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'
|
||||
partial_files = list()
|
||||
for panel in routes:
|
||||
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
|
||||
|
||||
#Generate controller file
|
||||
try:
|
||||
controller_template = PageTemplateFile("Templates/controller.pm.tem")
|
||||
dbentries = get_db_fields() #Params which correspond to Db fields
|
||||
try:
|
||||
controller_perl = controller_template.render(version=strVersion,
|
||||
tablecontrols=tablecontrols,
|
||||
dbentries=dbentries,
|
||||
**json5_dict,
|
||||
panels=routes,
|
||||
lcPackageName=json5_dict['PackageName'].lower()
|
||||
)
|
||||
with open(controller_file, 'w') as file:
|
||||
file.write(controller_perl)
|
||||
print(f"{controller_file} controller generated ok")
|
||||
except Exception as e:
|
||||
print(f"An chameleon controller render error occurred: {e}")
|
||||
except Exception as e:
|
||||
print(f"An chameleon controller template error occurred: {e}")
|
||||
|
||||
#Generate Custom controller file
|
||||
try:
|
||||
custom_controller_template = PageTemplateFile("Templates/custom.pm.tem")
|
||||
try:
|
||||
custom_controller_perl = custom_controller_template.render(version=strVersion,
|
||||
with open(controller_file, 'w') as file:
|
||||
file.write(controller_perl)
|
||||
print(f"{controller_file} controller generated ok")
|
||||
except Exception as e:
|
||||
print(f"A Chameleon controller render error occurred: {e}")
|
||||
except Exception as e:
|
||||
print(f"A Chameleon controller template error occurred: {e}")
|
||||
|
||||
#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
|
||||
)
|
||||
# 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:
|
||||
file.write(custom_controller_perl)
|
||||
print(f"{custom_controller_file} custom controller generated ok")
|
||||
except Exception as e:
|
||||
print(f"An chameleon custom controller render error occurred: {e}")
|
||||
except Exception as e:
|
||||
print(f"An chameleon custom controller template error occurred: {e}")
|
||||
# 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:
|
||||
file.write(custom_controller_perl)
|
||||
print(f"{custom_controller_file} custom controller generated ok")
|
||||
except Exception as e:
|
||||
print(f"A Chameleon custom controller render error occurred: {e}")
|
||||
except Exception as e:
|
||||
print(f"A Chameleon custom controller template error occurred: {e}")
|
||||
|
||||
#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:
|
||||
file.write(layout_mojo)
|
||||
print(f"{layout_file} mojo template layout file generated ok")
|
||||
except Exception as e:
|
||||
print(f"An chameleon render on layout file error occurred: {e}")
|
||||
except Exception as e:
|
||||
print(f"An 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')
|
||||
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}
|
||||
try:
|
||||
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"An chameleon render error on partial file {html['route']} occurred: {e}")
|
||||
except Exception as e:
|
||||
print(f"An chameleon html {html['route']} error occurred: {e}")
|
||||
#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:
|
||||
file.write(layout_mojo)
|
||||
print(f"{layout_file} mojo template layout file generated ok")
|
||||
except Exception as e:
|
||||
print(f"A Chameleon render on layout file error occurred: {e}")
|
||||
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')
|
||||
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}
|
||||
try:
|
||||
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}")
|
||||
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')
|
||||
for html_control in html:
|
||||
inner_html = html[html_control]
|
||||
if isinstance(inner_html, dict):
|
||||
try:
|
||||
control_template = PageTemplate(html_controls[inner_html['Type']])
|
||||
try:
|
||||
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"An chameleon render on partial file control {inner_html['Name']} error occurred: {e}")
|
||||
except Exception as e:
|
||||
print(f"An 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())
|
||||
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)
|
||||
all_controls_html = all_controls_html + simple_control_html
|
||||
except Exception as e:
|
||||
print(f"An chameleon render on partial file control {html_control} error occurred: {e}")
|
||||
except Exception as e:
|
||||
print(f"An 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:
|
||||
lines = file.readlines()
|
||||
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')
|
||||
|
||||
# Write the modified content back to the file
|
||||
with open(partial_files[i], 'w') as file:
|
||||
file.writelines(lines)
|
||||
print(f"Content modified and saved to {partial_files[i]}")
|
||||
i += 1
|
||||
|
||||
# Now generate the <name>.en file
|
||||
# Look through the generated files for the /l[\s|(]['|"](.*)['|"]\)/ strings.
|
||||
#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']])
|
||||
try:
|
||||
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}")
|
||||
except Exception as 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())
|
||||
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)
|
||||
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}")
|
||||
except Exception as 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:
|
||||
lines = file.readlines()
|
||||
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')
|
||||
|
||||
# Write the modified content back to the file
|
||||
with open(partial_files[i], 'w') as file:
|
||||
file.writelines(lines)
|
||||
print(f"Content modified and saved to {partial_files[i]}")
|
||||
i += 1
|
||||
|
||||
# Now generate the <name>.en file
|
||||
# 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_strings = []
|
||||
for filename in all_files:
|
||||
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
|
||||
all_strings = deduplicate_array(all_strings)
|
||||
# '<prefix>_english-message' => 'English Message',
|
||||
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
|
||||
# Map all spaces to "_" on left hand side
|
||||
# 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()):
|
||||
left_str = lex_message
|
||||
right_str = lex_message[len(hl('prefix'))+1:]
|
||||
# And take out any "_", map to " "
|
||||
else:
|
||||
left_str = hl('prefix')+"_"+lex_message
|
||||
right_str = lex_message
|
||||
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 = "_".join(words)
|
||||
next_lex_str = {"orig":original_str,"left":left_str,"right":right_str}
|
||||
string_lib.append(next_lex_str)
|
||||
#And write it to lex file
|
||||
# Now process them one by one into the lexical file
|
||||
lex_all = "";
|
||||
for lex_str in string_lib:
|
||||
lex_all += f"\'{lex_str['left']}\' => \'{lex_str['right']}\',\n"
|
||||
print(f"Writing {lex_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
|
||||
print("..and feed the lex string names back into other files")
|
||||
for filename in all_files:
|
||||
with open(filename, 'r') as file:
|
||||
file_content = file.read()
|
||||
# Scan through
|
||||
for item in string_lib:
|
||||
original_str = item["orig"]
|
||||
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+"')")
|
||||
# and write it back
|
||||
with open(filename, 'w') as file:
|
||||
file.write(file_content)
|
||||
print(f"Write out modified:{filename}")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# create a combined list of all the files
|
||||
all_files = [controller_file,layout_file]+partial_files
|
||||
all_strings = []
|
||||
for filename in all_files:
|
||||
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
|
||||
all_strings = deduplicate_array(all_strings)
|
||||
# '<prefix>_english-message' => 'English Message',
|
||||
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
|
||||
# Map all spaces to "_" on left hand side
|
||||
# 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()):
|
||||
left_str = lex_message
|
||||
right_str = lex_message[len(hl('prefix'))+1:]
|
||||
# And take out any "_", map to " "
|
||||
else:
|
||||
left_str = hl('prefix')+"_"+lex_message
|
||||
right_str = lex_message
|
||||
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 = "_".join(words)
|
||||
next_lex_str = {"orig":original_str,"left":left_str,"right":right_str}
|
||||
string_lib.append(next_lex_str)
|
||||
#And write it to lex file
|
||||
# Now process them one by one into the lexical file
|
||||
lex_all = "";
|
||||
for lex_str in string_lib:
|
||||
lex_all += f"\'{lex_str['left']}\' => \'{lex_str['right']}\',\n"
|
||||
print(f"Writing {lex_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
|
||||
print("..and feed the lex string names back into other files")
|
||||
for filename in all_files:
|
||||
with open(filename, 'r') as file:
|
||||
file_content = file.read()
|
||||
# Scan through
|
||||
for item in string_lib:
|
||||
original_str = item["orig"]
|
||||
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+"')")
|
||||
# and write it back
|
||||
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_str = file.read()
|
||||
lang_dict = json.loads(languages_str)
|
||||
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:
|
||||
print(f"Translating from english lex file to {lang_item['language']}")
|
||||
code = lang_item["code"]
|
||||
translated_dict = []
|
||||
for lex_item in eng_lex_dict:
|
||||
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']}")
|
||||
translated_lex_file = f"Targets/{hl('PackageName').lower()}_{code}.lex"
|
||||
with open(translated_lex_file, "w") as file:
|
||||
for item in translated_dict:
|
||||
file.write(f"'"+item['id']+"' => '"+item['text']+"'\n")
|
||||
#print(f"{item['id']} => {item['text']}\n")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user