Move to python venv so that upto date chameleon avaiable
This commit is contained in:
parent
20d5828803
commit
3813f55f68
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
bin/
|
||||
lib/
|
||||
lib64
|
||||
pyvenv.cfg
|
||||
|
117
LICENSE
117
LICENSE
@ -1,117 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and modification follow.
|
||||
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice
|
@ -1,3 +0,0 @@
|
||||
# SM2Gen
|
||||
|
||||
Python program to take a JSON5 description of an SM2 panel and spit out the perl controller, Mojo templates and I18 localise file for English.
|
63
Targets/CreateStarterWebsite/CreateStarterWebsite-Custom.pm
Normal file
63
Targets/CreateStarterWebsite/CreateStarterWebsite-Custom.pm
Normal file
@ -0,0 +1,63 @@
|
||||
#
|
||||
# Routines to be edited by the developer to provide validation for parameters
|
||||
# and provison of the control data for table(s)
|
||||
#
|
||||
# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:20
|
||||
#
|
||||
|
||||
use esmith::util;
|
||||
use esmith::HostsDB;
|
||||
use esmith::AccountsDB;
|
||||
use esmith::NetworksDB;
|
||||
use esmith::HostsDB;
|
||||
use esmith::DomainsDB;
|
||||
|
||||
|
||||
#The most common ones
|
||||
our $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
our $adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
our $ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
our $hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
our $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
|
||||
# Validation routines - parameters for each panel
|
||||
|
||||
sub validate_PARAMS {
|
||||
my $c = shift;
|
||||
my $prefix_data = shift; #Data hash as parameter
|
||||
my $ret = 'ok';
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
# Get control data for tables(s)
|
||||
|
||||
|
||||
# Return hash with values from row in which link clicked on table
|
||||
|
||||
sub get_selected_PARAMS {
|
||||
my $c = shift;
|
||||
my $selected = shift; #Parameter is name of selected row.
|
||||
my $is_new_record = shift; #Indicates new record required (defaults)
|
||||
my %ret = {};
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
#after sucessful modify or create or whatever and submit then perfom (if the params validate)
|
||||
|
||||
sub perform_PARAMS {
|
||||
my $c = shift;
|
||||
my $prefix_data = shift; #Data hash as parameter
|
||||
my $ret = 'ok';
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
sub create_link{
|
||||
# WIP
|
||||
my ($c,$route, $panel, $index) = shift;
|
||||
my $link = "$route?trt=$panel&Selected=$index";
|
||||
return $link;
|
||||
}
|
||||
1;
|
243
Targets/CreateStarterWebsite/CreateStarterWebsite.pm
Normal file
243
Targets/CreateStarterWebsite/CreateStarterWebsite.pm
Normal file
@ -0,0 +1,243 @@
|
||||
package SrvMngr::Controller::CreateStarterWebsite;
|
||||
#
|
||||
# Generated by version:SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:20
|
||||
#
|
||||
#----------------------------------------------------------------------
|
||||
# heading : Miscellaneous
|
||||
# description : Create Starter Website
|
||||
# navigation : 2000 400
|
||||
#
|
||||
# name : createstarterwebsite, method : get, url : /createstarterwebsite, ctlact : CreateStarterWebsite#main
|
||||
# name : createstarterwebsiteu, method : post, url : /createstarterwebsiteu, ctlact : CreateStarterWebsite#do_update
|
||||
# name : createstarterwebsited, method : get, url : /createstarterwebsited, ctlact : CreateStarterWebsite#do_display
|
||||
#
|
||||
# routes : end
|
||||
#
|
||||
# Documentation: https://wiki.contribs.org/CreateStarterWebsite
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Scheme of things:
|
||||
#
|
||||
# TBA!!
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Mojo::Base 'Mojolicious::Controller';
|
||||
|
||||
use constant FALSE => 0;
|
||||
use constant TRUE => 1;
|
||||
|
||||
use Locale::gettext;
|
||||
use SrvMngr::I18N;
|
||||
use SrvMngr qw(theme_list init_session);
|
||||
|
||||
use Data::Dumper;
|
||||
|
||||
use esmith::util;
|
||||
use esmith::HostsDB;
|
||||
use esmith::AccountsDB;
|
||||
use esmith::NetworksDB;
|
||||
use esmith::HostsDB;
|
||||
use esmith::DomainsDB;
|
||||
|
||||
|
||||
#The most common ones
|
||||
our $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
our $adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
our $ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
our $hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
our $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
|
||||
require '/usr/share/smanager/lib/SrvMngr/Controller/CreateStarterWebsite-Custom.pm'; #The code that is to be added by the developer
|
||||
|
||||
sub main {
|
||||
#
|
||||
# Initial entry - route is "/<whatever>"
|
||||
#
|
||||
#set initial panel
|
||||
#for initial panel:
|
||||
#Specifiy panel to enter
|
||||
#load up _data hash with DB fields
|
||||
#load up stash with pointer(s) to control fields hash(= get-))
|
||||
#and a pointer to the prefix_data hash
|
||||
#render initial panel
|
||||
|
||||
my $c = shift;
|
||||
$c->app->log->info( $c->log_req );
|
||||
|
||||
my %csw_data = ();
|
||||
my $title = $c->l('csw_Create_Starter_Website');
|
||||
my $modul = '';
|
||||
|
||||
$csw_data{'trt'} = 'PARAMS';
|
||||
|
||||
#Load any DB entries into the <prefix>_data area so as they are preset in the form
|
||||
# which DB - this only really works if the initial panel is a PARAMS type panel and not a TABLE
|
||||
my $db = $cdb; #pickup local or global db or Default to config
|
||||
|
||||
|
||||
# and table control fields
|
||||
|
||||
|
||||
$c->stash(
|
||||
title => $title,
|
||||
modul => $modul,
|
||||
csw_data => \%csw_data
|
||||
);
|
||||
$c->render( template => "createstarterwebsite" );
|
||||
}
|
||||
|
||||
# Post request with params - submit from the form
|
||||
sub do_update {
|
||||
#
|
||||
# Return after submit pushed on panel (this is a post) - route is "/<whatever>u"
|
||||
# parameters in the params hash.
|
||||
#
|
||||
#load up all params into prefix_data hash:
|
||||
#By panel (series of if statements - only one executed):
|
||||
#call validate-PANEL() - return ret = ok or error message
|
||||
|
||||
#if validation not ok:
|
||||
#render back to current panel with error message in stash
|
||||
#otherwise:
|
||||
#By panel (series of if statements - only one executed):
|
||||
#do whatever is required: call perform-PANEL() - return "ok" or Error Message
|
||||
#call signal-event for any global actions specified (check it exists - error and continue?)
|
||||
#if action smeserver-<whatever>-update exists
|
||||
#signal_event smeserver-<whatever>-update
|
||||
#call signal-event for any specific actions for thids panel (check it exists first - error and continue)
|
||||
#set success in stash
|
||||
#if no "nextpanel" entry:
|
||||
#set firstpanel
|
||||
#else
|
||||
#set nextpanel
|
||||
#call render
|
||||
|
||||
my $c = shift;
|
||||
$c->app->log->info($c->log_req);
|
||||
|
||||
my %csw_data = ();
|
||||
my $title = $c->l('csw_Create_Starter_Website');
|
||||
|
||||
# Accessing all POST parameters
|
||||
my %params = $c->req->params->to_hash;
|
||||
|
||||
# Get number of POST parameters
|
||||
my $num_params = keys %params;
|
||||
|
||||
#Params are available in the hash "params" - copy to the prefix_data hash
|
||||
while (my ($key, $value) = each %{$c->req->params->to_hash}) {
|
||||
$csw_data{$key} = $value;
|
||||
}
|
||||
|
||||
# the value of trt will tell you which panel has returned
|
||||
my $trt = $c->param('trt') || 'PARAMS'; #hidden control on every form.
|
||||
my $ret = 'ok';
|
||||
#Validate the parameters in a custom sub one for each panel (although only one of these will be executed)
|
||||
|
||||
my $thispanel;
|
||||
|
||||
if ($trt eq 'PARAMS'){
|
||||
#Validate form parameters for panel PARAMS
|
||||
$ret = $c->validate_PARAMS(\%csw_data);
|
||||
$thispanel = 'PARAMS';
|
||||
}
|
||||
|
||||
|
||||
if ($ret ne "ok") {
|
||||
# return to the panel with error message
|
||||
$c->stash(error => $c->l($ret));
|
||||
$c->render("createstarterwebsite");
|
||||
} else {
|
||||
#Do whatever is needed, including writing values to the DB
|
||||
|
||||
if ($trt eq 'PARAMS'){
|
||||
#do whatever is required ...
|
||||
$ret = $c->perform_PARAMS(\%csw_data);
|
||||
if ($ret ne "ok") {
|
||||
# return to the panel with error message
|
||||
$c->stash(error => $c->l($ret));
|
||||
$c->render("createstarterwebsite");
|
||||
} else {
|
||||
$c->stash( success => $c->l('csw_PARAMS_panel_action_was_successful')); #A bit bland - edit it in the lex file
|
||||
}
|
||||
}
|
||||
|
||||
# and call any signal-events needed
|
||||
|
||||
|
||||
# Setup shared data and call panel
|
||||
$c->stash(
|
||||
title => $title,
|
||||
csw_data => \%csw_data
|
||||
);
|
||||
if ('none' eq 'none') {
|
||||
$csw_data{'trt'} = 'PARAMS';
|
||||
} else {
|
||||
$csw_data{'trt'} = 'none';
|
||||
}
|
||||
$c->render("createstarterwebsite");
|
||||
}
|
||||
}
|
||||
|
||||
sub do_display {
|
||||
#
|
||||
# Return after link clicked in table (this is a get) - route is "/<whatever>d"
|
||||
# Expects ?trt=PANEL&selected="TableRowName" plus any other required
|
||||
#
|
||||
# OR it maybe a post from the main panel to add a new record
|
||||
#
|
||||
#load up all supplied params into prefix_data hash
|
||||
#call get-selected-PANEL() - returns hash of all relevent parameters
|
||||
#load up returned hash into prefix_data
|
||||
#render - to called panel
|
||||
|
||||
my $c = shift;
|
||||
$c->app->log->info($c->log_req);
|
||||
|
||||
my %csw_data = ();
|
||||
my $title = $c->l('csw_Create_Starter_Website');
|
||||
|
||||
# Accessing all parameters
|
||||
my %params = $c->req->params->to_hash;
|
||||
|
||||
# Get number of parameters
|
||||
my $num_params = keys %params;
|
||||
|
||||
#Tag as Post or Get (ie. create new entry or edit existing one
|
||||
my $is_new_record = ($c->req->method() eq 'POST');
|
||||
|
||||
#Params are available in the hash "params" - copy to the prefix_data hash
|
||||
while (my ($key, $value) = each %{$c->req->params->to_hash}) {
|
||||
$csw_data{$key} = $value;
|
||||
}
|
||||
|
||||
# the value of trt will tell you which panel has returned
|
||||
my $trt = $c->param('trt') || 'PARAMS'; #Indicates where to go now
|
||||
|
||||
# Now add in the params from the selected row from the table
|
||||
|
||||
my %selectedrow;
|
||||
|
||||
if ($trt eq 'PARAMS'){
|
||||
#Validate form parameters for panel PARAMS
|
||||
%selectedrow = $c->get_selected_PARAMS($csw_data{'Selected'},$is_new_record);
|
||||
}
|
||||
|
||||
|
||||
#Copy in the selected row params to the prefix_data hash to pass to the panel
|
||||
while (my ($key, $value) = each %selectedrow){
|
||||
$csw_data{$key} = $value;
|
||||
}
|
||||
# Where to go now
|
||||
$csw_data{'trt'} = $trt;
|
||||
|
||||
# Data for panel
|
||||
$c->stash(
|
||||
title => $title,
|
||||
csw_data => \%csw_data
|
||||
);
|
||||
$c->render("createstarterwebsite");
|
||||
}
|
||||
1;
|
@ -1,5 +1,5 @@
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 ( at 2024-09-12 19:31
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:20
|
||||
%#
|
||||
<div id="CreateStarterWebsite-PARAMS" class="partial CreateStarterWebsite-PARAMS">
|
||||
<script>
|
||||
@ -8,16 +8,16 @@
|
||||
};
|
||||
</script>
|
||||
<h2>
|
||||
%= l('csw Hello PARAMS');
|
||||
%= l('csw_Hello_PARAMS');
|
||||
</h2>
|
||||
% my $btn = l('APPLY');
|
||||
% my $btn = l('csw_APPLY');
|
||||
%= form_for "CreateStarterWebsited" => (method => 'POST') => begin
|
||||
|
||||
% param 'trt' => ${prefix}_data->{trt} unless param 'trt';
|
||||
%= hidden_field 'trt' => ${prefix}_data->{trt}
|
||||
% param 'trt' => $csw_data->{trt} unless param 'trt';
|
||||
%= hidden_field 'trt' => $csw_data->{trt}
|
||||
%# Inputs etc in here.
|
||||
|
||||
<h2><%=l('Manage CreateStarterWebsite settings:')%></h2>
|
||||
<h2><%=l('csw_Manage_CreateStarterWebsite_settings:')%></h2>
|
||||
|
||||
<p>
|
||||
%= l('To create a simple web page for your company, fill
|
||||
@ -25,7 +25,7 @@
|
||||
</p>
|
||||
|
||||
<p>
|
||||
%= l('You can leave any field blank if you do not need it.')
|
||||
%= l('csw_You_can_leave_any_field')
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -38,7 +38,7 @@
|
||||
</p>
|
||||
|
||||
<p>
|
||||
%= l('Do not use this optionif you have already customized your web site, since it will
|
||||
%= l('Do not use this option if you have already customized your web site, since it will
|
||||
overwrite the 'index.htm' file in your web site directory.')
|
||||
</p>
|
||||
|
||||
@ -67,7 +67,7 @@
|
||||
<span class=label>
|
||||
%=l('csw_')
|
||||
</span><span class=data>
|
||||
% param 'text1' => ${prefix}_data->{text1} unless param 'text1';
|
||||
% param 'text1' => $csw_data->{text1} unless param 'text1';
|
||||
%= text_area 'text1', cols=>40, rows=>10
|
||||
</span><br>
|
||||
|
||||
@ -90,7 +90,7 @@
|
||||
<span class=label>
|
||||
%=l('csw_')
|
||||
</span><span class=data>
|
||||
% param 'text2' => ${prefix}_data->{text2} unless param 'text2';
|
||||
% param 'text2' => $csw_data->{text2} unless param 'text2';
|
||||
%= text_area 'text2', cols=>40, rows=>10
|
||||
</span><br>
|
||||
|
||||
@ -101,7 +101,7 @@
|
||||
</p>
|
||||
|
||||
<p>
|
||||
%= l('Do you wish to proceed?')
|
||||
%= l('csw_Do_you_wish_to_proceed?')
|
||||
</p>
|
||||
|
||||
%# Probably finally by a submit.
|
@ -1,6 +1,6 @@
|
||||
% layout 'default', title => "Sme server 2 - Create Starter Website", share_dir => './';
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 ( at 2024-09-12 19:31
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:20
|
||||
%#
|
||||
% content_for 'module' => begin
|
||||
<div id="module" class="module CreateStarterWebsite-panel">
|
||||
@ -17,22 +17,22 @@
|
||||
%= $c->render_to_string(inline => stash('modul') );
|
||||
% }
|
||||
|
||||
%if (${prefix}_data->{first}) {
|
||||
%if ($csw_data->{first}) {
|
||||
<br><p>
|
||||
%=$c->render_to_string(inline =>$c->l(${prefix}_data->{first}))
|
||||
%=$c->render_to_string(inline =>$c->l($csw_data->{first}))
|
||||
</p>
|
||||
|
||||
%} elsif (${prefix}_data->{success}) {
|
||||
%} elsif ($csw_data->{success}) {
|
||||
<div class='sme-border'>
|
||||
<h2> Operation Status Report</h2><p>
|
||||
%= $c->l(${prefix}_data->{success});
|
||||
%= $c->l($csw_data->{success});
|
||||
</p>
|
||||
</div>
|
||||
|
||||
%} elsif (${prefix}_data->{error}) {
|
||||
%} elsif ($csw_data->{error}) {
|
||||
<div class='sme-error'>
|
||||
<h2> Operation Status Report - error</h2><p>
|
||||
%= $c->l(${prefix}_data->{error});
|
||||
%= $c->l($csw_data->{error});
|
||||
</p>
|
||||
</div>
|
||||
%}
|
||||
@ -40,7 +40,7 @@
|
||||
%#Routing to partials according to trt parameter.
|
||||
%#This ought to be cascading if/then/elsif, but is easier to just stack the if/then's rather like a case statement'
|
||||
|
||||
% if (${prefix}_data->{trt} eq "PARAMS") {
|
||||
% if ($csw_data->{trt} eq "PARAMS") {
|
||||
%= include 'partials/_csw_PARAMS'
|
||||
%}
|
||||
|
8
Targets/CreateStarterWebsite/createstarterwebsite_en.lex
Normal file
8
Targets/CreateStarterWebsite/createstarterwebsite_en.lex
Normal file
@ -0,0 +1,8 @@
|
||||
'csw_APPLY' => 'Apply',
|
||||
'csw_Do_you_wish_to_proceed?' => 'Do you wish to proceed?',
|
||||
'csw_PARAMS_panel_action_was_successful' => 'PARAMS panel action was successful',
|
||||
'csw_Manage_CreateStarterWebsite_settings:' => 'Manage CreateStarterWebsite settings:',
|
||||
'csw_Hello_PARAMS' => 'Hello PARAMS',
|
||||
'csw_' => '',
|
||||
'csw_You_can_leave_any_field' => 'You can leave any field blank if you do not need it. ',
|
||||
'csw_Create_Starter_Website' => 'Create Starter Website',
|
75
Targets/DiskUsage/Diskusage-Custom.pm
Normal file
75
Targets/DiskUsage/Diskusage-Custom.pm
Normal file
@ -0,0 +1,75 @@
|
||||
#
|
||||
# Routines to be edited by the developer to provide validation for parameters
|
||||
# and provison of the control data for table(s)
|
||||
#
|
||||
# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:18
|
||||
#
|
||||
|
||||
use esmith::util;
|
||||
use esmith::HostsDB;
|
||||
use esmith::AccountsDB;
|
||||
use esmith::NetworksDB;
|
||||
use esmith::HostsDB;
|
||||
use esmith::DomainsDB;
|
||||
|
||||
|
||||
#The most common ones
|
||||
our $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
our $adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
our $ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
our $hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
our $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
|
||||
# Validation routines - parameters for each panel
|
||||
|
||||
sub validate_PARAMS {
|
||||
my $c = shift;
|
||||
my $prefix_data = shift; #Data hash as parameter
|
||||
my $ret = 'ok';
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
# Get control data for tables(s)
|
||||
|
||||
sub get_Table1 {
|
||||
my $c = shift;
|
||||
my @ret = {};
|
||||
return \@ret
|
||||
}
|
||||
|
||||
sub get_Table2 {
|
||||
my $c = shift;
|
||||
my @ret = {};
|
||||
return \@ret
|
||||
}
|
||||
|
||||
|
||||
# Return hash with values from row in which link clicked on table
|
||||
|
||||
sub get_selected_PARAMS {
|
||||
my $c = shift;
|
||||
my $selected = shift; #Parameter is name of selected row.
|
||||
my $is_new_record = shift; #Indicates new record required (defaults)
|
||||
my %ret = {};
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
#after sucessful modify or create or whatever and submit then perfom (if the params validate)
|
||||
|
||||
sub perform_PARAMS {
|
||||
my $c = shift;
|
||||
my $prefix_data = shift; #Data hash as parameter
|
||||
my $ret = 'ok';
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
sub create_link{
|
||||
# WIP
|
||||
my ($c,$route, $panel, $index) = shift;
|
||||
my $link = "$route?trt=$panel&Selected=$index";
|
||||
return $link;
|
||||
}
|
||||
1;
|
245
Targets/DiskUsage/Diskusage.pm
Normal file
245
Targets/DiskUsage/Diskusage.pm
Normal file
@ -0,0 +1,245 @@
|
||||
package SrvMngr::Controller::Diskusage;
|
||||
#
|
||||
# Generated by version:SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:18
|
||||
#
|
||||
#----------------------------------------------------------------------
|
||||
# heading : Miscellaneous
|
||||
# description : Disk Usage
|
||||
# navigation : 2000 400
|
||||
#
|
||||
# name : diskusage, method : get, url : /diskusage, ctlact : Diskusage#main
|
||||
# name : diskusageu, method : post, url : /diskusageu, ctlact : Diskusage#do_update
|
||||
# name : diskusaged, method : get, url : /diskusaged, ctlact : Diskusage#do_display
|
||||
#
|
||||
# routes : end
|
||||
#
|
||||
# Documentation: https://wiki.contribs.org/Diskusage
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Scheme of things:
|
||||
#
|
||||
# TBA!!
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Mojo::Base 'Mojolicious::Controller';
|
||||
|
||||
use constant FALSE => 0;
|
||||
use constant TRUE => 1;
|
||||
|
||||
use Locale::gettext;
|
||||
use SrvMngr::I18N;
|
||||
use SrvMngr qw(theme_list init_session);
|
||||
|
||||
use Data::Dumper;
|
||||
|
||||
use esmith::util;
|
||||
use esmith::HostsDB;
|
||||
use esmith::AccountsDB;
|
||||
use esmith::NetworksDB;
|
||||
use esmith::HostsDB;
|
||||
use esmith::DomainsDB;
|
||||
|
||||
|
||||
#The most common ones
|
||||
our $cdb = esmith::ConfigDB->open() || die("Couldn't open config db");
|
||||
our $adb = esmith::AccountsDB->open() || die("Couldn't open Accounts db");
|
||||
our $ndb = esmith::NetworksDB->open() || die("Couldn't open Network db");
|
||||
our $hdb = esmith::HostsDB->open() || die("Couldn't open Hosts db");
|
||||
our $ddb = esmith::DomainsDB->open() || die("Couldn't open Domains db");
|
||||
|
||||
require '/usr/share/smanager/lib/SrvMngr/Controller/Diskusage-Custom.pm'; #The code that is to be added by the developer
|
||||
|
||||
sub main {
|
||||
#
|
||||
# Initial entry - route is "/<whatever>"
|
||||
#
|
||||
#set initial panel
|
||||
#for initial panel:
|
||||
#Specifiy panel to enter
|
||||
#load up _data hash with DB fields
|
||||
#load up stash with pointer(s) to control fields hash(= get-))
|
||||
#and a pointer to the prefix_data hash
|
||||
#render initial panel
|
||||
|
||||
my $c = shift;
|
||||
$c->app->log->info( $c->log_req );
|
||||
|
||||
my %du_data = ();
|
||||
my $title = $c->l('du_Disk_Usage');
|
||||
my $modul = '';
|
||||
|
||||
$du_data{'trt'} = 'PARAMS';
|
||||
|
||||
#Load any DB entries into the <prefix>_data area so as they are preset in the form
|
||||
# which DB - this only really works if the initial panel is a PARAMS type panel and not a TABLE
|
||||
my $db = $cdb; #pickup local or global db or Default to config
|
||||
|
||||
|
||||
# and table control fields
|
||||
$c->stash(Table1=>$c->get_Table1());
|
||||
$c->stash(Table2=>$c->get_Table2());
|
||||
|
||||
|
||||
$c->stash(
|
||||
title => $title,
|
||||
modul => $modul,
|
||||
du_data => \%du_data
|
||||
);
|
||||
$c->render( template => "diskusage" );
|
||||
}
|
||||
|
||||
# Post request with params - submit from the form
|
||||
sub do_update {
|
||||
#
|
||||
# Return after submit pushed on panel (this is a post) - route is "/<whatever>u"
|
||||
# parameters in the params hash.
|
||||
#
|
||||
#load up all params into prefix_data hash:
|
||||
#By panel (series of if statements - only one executed):
|
||||
#call validate-PANEL() - return ret = ok or error message
|
||||
|
||||
#if validation not ok:
|
||||
#render back to current panel with error message in stash
|
||||
#otherwise:
|
||||
#By panel (series of if statements - only one executed):
|
||||
#do whatever is required: call perform-PANEL() - return "ok" or Error Message
|
||||
#call signal-event for any global actions specified (check it exists - error and continue?)
|
||||
#if action smeserver-<whatever>-update exists
|
||||
#signal_event smeserver-<whatever>-update
|
||||
#call signal-event for any specific actions for thids panel (check it exists first - error and continue)
|
||||
#set success in stash
|
||||
#if no "nextpanel" entry:
|
||||
#set firstpanel
|
||||
#else
|
||||
#set nextpanel
|
||||
#call render
|
||||
|
||||
my $c = shift;
|
||||
$c->app->log->info($c->log_req);
|
||||
|
||||
my %du_data = ();
|
||||
my $title = $c->l('du_Disk_Usage');
|
||||
|
||||
# Accessing all POST parameters
|
||||
my %params = $c->req->params->to_hash;
|
||||
|
||||
# Get number of POST parameters
|
||||
my $num_params = keys %params;
|
||||
|
||||
#Params are available in the hash "params" - copy to the prefix_data hash
|
||||
while (my ($key, $value) = each %{$c->req->params->to_hash}) {
|
||||
$du_data{$key} = $value;
|
||||
}
|
||||
|
||||
# the value of trt will tell you which panel has returned
|
||||
my $trt = $c->param('trt') || 'PARAMS'; #hidden control on every form.
|
||||
my $ret = 'ok';
|
||||
#Validate the parameters in a custom sub one for each panel (although only one of these will be executed)
|
||||
|
||||
my $thispanel;
|
||||
|
||||
if ($trt eq 'PARAMS'){
|
||||
#Validate form parameters for panel PARAMS
|
||||
$ret = $c->validate_PARAMS(\%du_data);
|
||||
$thispanel = 'PARAMS';
|
||||
}
|
||||
|
||||
|
||||
if ($ret ne "ok") {
|
||||
# return to the panel with error message
|
||||
$c->stash(error => $c->l($ret));
|
||||
$c->render("diskusage");
|
||||
} else {
|
||||
#Do whatever is needed, including writing values to the DB
|
||||
|
||||
if ($trt eq 'PARAMS'){
|
||||
#do whatever is required ...
|
||||
$ret = $c->perform_PARAMS(\%du_data);
|
||||
if ($ret ne "ok") {
|
||||
# return to the panel with error message
|
||||
$c->stash(error => $c->l($ret));
|
||||
$c->render("diskusage");
|
||||
} else {
|
||||
$c->stash( success => $c->l('du_PARAMS_panel_action_was_successful')); #A bit bland - edit it in the lex file
|
||||
}
|
||||
}
|
||||
|
||||
# and call any signal-events needed
|
||||
|
||||
|
||||
# Setup shared data and call panel
|
||||
$c->stash(
|
||||
title => $title,
|
||||
du_data => \%du_data
|
||||
);
|
||||
if ('none' eq 'none') {
|
||||
$du_data{'trt'} = 'PARAMS';
|
||||
} else {
|
||||
$du_data{'trt'} = 'none';
|
||||
}
|
||||
$c->render("diskusage");
|
||||
}
|
||||
}
|
||||
|
||||
sub do_display {
|
||||
#
|
||||
# Return after link clicked in table (this is a get) - route is "/<whatever>d"
|
||||
# Expects ?trt=PANEL&selected="TableRowName" plus any other required
|
||||
#
|
||||
# OR it maybe a post from the main panel to add a new record
|
||||
#
|
||||
#load up all supplied params into prefix_data hash
|
||||
#call get-selected-PANEL() - returns hash of all relevent parameters
|
||||
#load up returned hash into prefix_data
|
||||
#render - to called panel
|
||||
|
||||
my $c = shift;
|
||||
$c->app->log->info($c->log_req);
|
||||
|
||||
my %du_data = ();
|
||||
my $title = $c->l('du_Disk_Usage');
|
||||
|
||||
# Accessing all parameters
|
||||
my %params = $c->req->params->to_hash;
|
||||
|
||||
# Get number of parameters
|
||||
my $num_params = keys %params;
|
||||
|
||||
#Tag as Post or Get (ie. create new entry or edit existing one
|
||||
my $is_new_record = ($c->req->method() eq 'POST');
|
||||
|
||||
#Params are available in the hash "params" - copy to the prefix_data hash
|
||||
while (my ($key, $value) = each %{$c->req->params->to_hash}) {
|
||||
$du_data{$key} = $value;
|
||||
}
|
||||
|
||||
# the value of trt will tell you which panel has returned
|
||||
my $trt = $c->param('trt') || 'PARAMS'; #Indicates where to go now
|
||||
|
||||
# Now add in the params from the selected row from the table
|
||||
|
||||
my %selectedrow;
|
||||
|
||||
if ($trt eq 'PARAMS'){
|
||||
#Validate form parameters for panel PARAMS
|
||||
%selectedrow = $c->get_selected_PARAMS($du_data{'Selected'},$is_new_record);
|
||||
}
|
||||
|
||||
|
||||
#Copy in the selected row params to the prefix_data hash to pass to the panel
|
||||
while (my ($key, $value) = each %selectedrow){
|
||||
$du_data{$key} = $value;
|
||||
}
|
||||
# Where to go now
|
||||
$du_data{'trt'} = $trt;
|
||||
|
||||
# Data for panel
|
||||
$c->stash(
|
||||
title => $title,
|
||||
du_data => \%du_data
|
||||
);
|
||||
$c->render("diskusage");
|
||||
}
|
||||
1;
|
@ -1,5 +1,5 @@
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 at 2024-09-13 15:33
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:18
|
||||
%#
|
||||
<div id="Diskusage-PARAMS" class="partial Diskusage-PARAMS">
|
||||
<script>
|
||||
@ -8,23 +8,23 @@
|
||||
};
|
||||
</script>
|
||||
<h2>
|
||||
%= l('du Hello PARAMS');
|
||||
%= l('du_Hello_PARAMS');
|
||||
</h2>
|
||||
% my $btn = l('APPLY');
|
||||
% my $btn = l('du_APPLY');
|
||||
%= form_for "Diskusaged" => (method => 'POST') => begin
|
||||
|
||||
% param 'trt' => ${prefix}_data->{trt} unless param 'trt';
|
||||
%= hidden_field 'trt' => ${prefix}_data->{trt}
|
||||
% param 'trt' => $du_data->{trt} unless param 'trt';
|
||||
%= hidden_field 'trt' => $du_data->{trt}
|
||||
%# Inputs etc in here.
|
||||
|
||||
<h2><%=l('Manage DiskUsage settings:')%></h2>
|
||||
<h2><%=l('du_Manage_DiskUsage_settings:')%></h2>
|
||||
|
||||
<p>
|
||||
%= l('&nbsp')
|
||||
%= l('du_&nbsp')
|
||||
</p>
|
||||
|
||||
<p>
|
||||
%= l('Wed Sep 11 19:01:00 BST 2024')
|
||||
%= l('du_Wed_Sep_11_19:01:00_BST')
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
@ -41,18 +41,18 @@ tmpfs 2.0G 648K 2.0G 1% /run
|
||||
<br /><table class="sme-border TableSort sme-table">
|
||||
<thead>
|
||||
<tr table-head-row>
|
||||
<th class='sme-border table-head-col table-head-col-I-bays '><%=l('I-bays')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Usage '><%=l('Usage')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Path '><%=l('Path')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-I-bays '><%=l('du_I-bays')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Usage '><%=l('du_Usage')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Path '><%=l('du_Path')%></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
% my $control_data = $self->stash('Table1');
|
||||
% foreach my $row (@$control_data) {
|
||||
<tr class='table-row'>
|
||||
<td class='sme-border table-col table-col-Table1-I-bays'><%=$c->render_to_string(inline=>$row->{Table1-I-bays})%></td>
|
||||
<td class='sme-border table-col table-col-Table1-Usage'><%=$c->render_to_string(inline=>$row->{Table1-Usage})%></td>
|
||||
<td class='sme-border table-col table-col-Table1-Path'><%=$c->render_to_string(inline=>$row->{Table1-Path})%></td>
|
||||
<td class='sme-border table-col table-col-Table1-I-bays'><%=$c->render_to_string(inline=>$row->{'Table1-I-bays'})%></td>
|
||||
<td class='sme-border table-col table-col-Table1-Usage'><%=$c->render_to_string(inline=>$row->{'Table1-Usage'})%></td>
|
||||
<td class='sme-border table-col table-col-Table1-Path'><%=$c->render_to_string(inline=>$row->{'Table1-Path'})%></td>
|
||||
</tr>
|
||||
%}
|
||||
</tbody>
|
||||
@ -60,15 +60,15 @@ tmpfs 2.0G 648K 2.0G 1% /run
|
||||
|
||||
|
||||
<p>
|
||||
%= l('&nbsp')
|
||||
%= l('du_&nbsp')
|
||||
</p>
|
||||
|
||||
<br /><table class="sme-border TableSort sme-table">
|
||||
<thead>
|
||||
<tr table-head-row>
|
||||
<th class='sme-border table-head-col table-head-col-Users '><%=l('Users')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Usage '><%=l('Usage')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Path '><%=l('Path')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Users '><%=l('du_Users')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Usage '><%=l('du_Usage')%></th>
|
||||
<th class='sme-border table-head-col table-head-col-Path '><%=l('du_Path')%></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
@ -1,6 +1,6 @@
|
||||
% layout 'default', title => "Sme server 2 - Disk Usage", share_dir => './';
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 at 2024-09-13 15:33
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:4.5.4 On Python:3.12.3 at 2024-09-13 19:18
|
||||
%#
|
||||
% content_for 'module' => begin
|
||||
<div id="module" class="module Diskusage-panel">
|
||||
@ -17,22 +17,22 @@
|
||||
%= $c->render_to_string(inline => stash('modul') );
|
||||
% }
|
||||
|
||||
%if (${prefix}_data->{first}) {
|
||||
%if ($du_data->{first}) {
|
||||
<br><p>
|
||||
%=$c->render_to_string(inline =>$c->l(${prefix}_data->{first}))
|
||||
%=$c->render_to_string(inline =>$c->l($du_data->{first}))
|
||||
</p>
|
||||
|
||||
%} elsif (${prefix}_data->{success}) {
|
||||
%} elsif ($du_data->{success}) {
|
||||
<div class='sme-border'>
|
||||
<h2> Operation Status Report</h2><p>
|
||||
%= $c->l(${prefix}_data->{success});
|
||||
%= $c->l($du_data->{success});
|
||||
</p>
|
||||
</div>
|
||||
|
||||
%} elsif (${prefix}_data->{error}) {
|
||||
%} elsif ($du_data->{error}) {
|
||||
<div class='sme-error'>
|
||||
<h2> Operation Status Report - error</h2><p>
|
||||
%= $c->l(${prefix}_data->{error});
|
||||
%= $c->l($du_data->{error});
|
||||
</p>
|
||||
</div>
|
||||
%}
|
||||
@ -40,7 +40,7 @@
|
||||
%#Routing to partials according to trt parameter.
|
||||
%#This ought to be cascading if/then/elsif, but is easier to just stack the if/then's rather like a case statement'
|
||||
|
||||
% if (${prefix}_data->{trt} eq "PARAMS") {
|
||||
% if ($du_data->{trt} eq "PARAMS") {
|
||||
%= include 'partials/_du_PARAMS'
|
||||
%}
|
||||
|
11
Targets/DiskUsage/diskusage_bg.lex
Normal file
11
Targets/DiskUsage/diskusage_bg.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "Приложи",
|
||||
'du_Usage' => "Употреба",
|
||||
'du_Path' => "Път",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Сряда, 11 септември 19:01:00 BST 2024",
|
||||
'du_PARAMS_panel_action_was_successful' => "Панелът PARAMS беше успешен",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Управление на настройките за използване на диска:",
|
||||
'du_Disk_Usage' => "Дисково използване",
|
||||
'du_Hello_PARAMS' => "~~~Здравейте PARAMS~~~",
|
||||
'du_I-bays' => "I-бейове",
|
||||
'du_Users' => "~~~Потребители~~~",
|
11
Targets/DiskUsage/diskusage_de.lex
Normal file
11
Targets/DiskUsage/diskusage_de.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "Anwenden",
|
||||
'du_Usage' => "~~~Verwendung~~~",
|
||||
'du_Path' => "Pfad",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "~~~Mi Sep 11 19:01:00 BST 2024~~~",
|
||||
'du_PARAMS_panel_action_was_successful' => "Die PARAMS-Panel-Aktion war erfolgreich",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Festplattennutzungs-Einstellungen verwalten:",
|
||||
'du_Disk_Usage' => "~~~Festplattennutzung~~~",
|
||||
'du_Hello_PARAMS' => "~~~Hallo PARAMS~~~",
|
||||
'du_I-bays' => "I-Bays",
|
||||
'du_Users' => "Benutzer",
|
11
Targets/DiskUsage/diskusage_dk.lex
Normal file
11
Targets/DiskUsage/diskusage_dk.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "Anvend",
|
||||
'du_Usage' => "Brug",
|
||||
'du_Path' => "Sti",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Ons d. 11. sep 2024 19:01:00 BST",
|
||||
'du_PARAMS_panel_action_was_successful' => "~~~PARAMS-panelets handling var vellykket~~~",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Administrer indstillinger for diskforbrug:",
|
||||
'du_Disk_Usage' => "Diskforbrug",
|
||||
'du_Hello_PARAMS' => "Hej PARAMS",
|
||||
'du_I-bays' => "I-bays",
|
||||
'du_Users' => "Brugere",
|
11
Targets/DiskUsage/diskusage_el.lex
Normal file
11
Targets/DiskUsage/diskusage_el.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "Εφαρμογή",
|
||||
'du_Usage' => "Χρήση",
|
||||
'du_Path' => "Διαδρομή",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "~~~Τετ 11 Σεπ 19:01:00 EET 2024~~~",
|
||||
'du_PARAMS_panel_action_was_successful' => "Η ενέργεια του πίνακα PARAMS ήταν επιτυχής",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Διαχείριση ρυθμίσεων Χρήσης Δίσκου:",
|
||||
'du_Disk_Usage' => "Χρήση Δίσκου",
|
||||
'du_Hello_PARAMS' => "Γειά σου PARAMS",
|
||||
'du_I-bays' => "Κόλποι I",
|
||||
'du_Users' => "Χρήστες",
|
11
Targets/DiskUsage/diskusage_en.lex
Normal file
11
Targets/DiskUsage/diskusage_en.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => 'Apply',
|
||||
'du_Usage' => 'Usage',
|
||||
'du_Path' => 'Path',
|
||||
'du_Wed_Sep_11_19:01:00_BST' => 'Wed Sep 11 19:01:00 BST 2024',
|
||||
'du_PARAMS_panel_action_was_successful' => 'PARAMS panel action was successful',
|
||||
'du_&nbsp' => '&nbsp',
|
||||
'du_Manage_DiskUsage_settings:' => 'Manage DiskUsage settings:',
|
||||
'du_Disk_Usage' => 'Disk Usage',
|
||||
'du_Hello_PARAMS' => 'Hello PARAMS',
|
||||
'du_I-bays' => 'I-bays',
|
||||
'du_Users' => 'Users',
|
11
Targets/DiskUsage/diskusage_es.lex
Normal file
11
Targets/DiskUsage/diskusage_es.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "Aplicar",
|
||||
'du_Usage' => "Uso",
|
||||
'du_Path' => "Ruta",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Mié Sep 11 19:01:00 BST 2024",
|
||||
'du_PARAMS_panel_action_was_successful' => "La acción del panel PARAMS fue exitosa",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Administrar configuraciones de uso de disco:",
|
||||
'du_Disk_Usage' => "Uso de Disco",
|
||||
'du_Hello_PARAMS' => "Hola PARAMS",
|
||||
'du_I-bays' => "I-bays",
|
||||
'du_Users' => "Usuarios",
|
11
Targets/DiskUsage/diskusage_et.lex
Normal file
11
Targets/DiskUsage/diskusage_et.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "Rakenda",
|
||||
'du_Usage' => "Kasutus",
|
||||
'du_Path' => "Tee",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Kolm, 11. september 2024, 19:01:00 BST",
|
||||
'du_PARAMS_panel_action_was_successful' => "PARAMS paneeli toiming oli edukas",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Halda kettakasutuse seadeid:",
|
||||
'du_Disk_Usage' => "Kettakasutus",
|
||||
'du_Hello_PARAMS' => "Tere PARAMS",
|
||||
'du_I-bays' => "I-lahed",
|
||||
'du_Users' => "Kasutajad",
|
11
Targets/DiskUsage/diskusage_fr.lex
Normal file
11
Targets/DiskUsage/diskusage_fr.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "Appliquer",
|
||||
'du_Usage' => "Utilisation",
|
||||
'du_Path' => "Chemin",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Mer 11 Sep 19:01:00 BST 2024",
|
||||
'du_PARAMS_panel_action_was_successful' => "L\'action du panneau PARAMS a été réussie",
|
||||
'du_&nbsp' => " ",
|
||||
'du_Manage_DiskUsage_settings:' => "Gérer les paramètres d\'utilisation du disque :",
|
||||
'du_Disk_Usage' => "Utilisation du disque",
|
||||
'du_Hello_PARAMS' => "~~~Bonjour PARAMÈTRES~~~",
|
||||
'du_I-bays' => "Baies I",
|
||||
'du_Users' => "Utilisateurs",
|
11
Targets/DiskUsage/diskusage_hu.lex
Normal file
11
Targets/DiskUsage/diskusage_hu.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "Alkalmazás",
|
||||
'du_Usage' => "Használat",
|
||||
'du_Path' => "Útvonal",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "2024. szeptember 11., szerda, 19:01:00 BST",
|
||||
'du_PARAMS_panel_action_was_successful' => "~~~PARAMS panel művelet sikeres volt~~~",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Lemezhasználati beállítások kezelése:",
|
||||
'du_Disk_Usage' => "Lemezhasználat",
|
||||
'du_Hello_PARAMS' => "~~~Helló PARAMS~~~",
|
||||
'du_I-bays' => "I-bayok",
|
||||
'du_Users' => "Felhasználók",
|
11
Targets/DiskUsage/diskusage_id.lex
Normal file
11
Targets/DiskUsage/diskusage_id.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "Terapkan",
|
||||
'du_Usage' => "Penggunaan",
|
||||
'du_Path' => "Jalur",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "~~~Rab 11 Sep 19:01:00 WIB 2024~~~",
|
||||
'du_PARAMS_panel_action_was_successful' => "Panel PARAMS berhasil dijalankan",
|
||||
'du_&nbsp' => "~~~ ~~~",
|
||||
'du_Manage_DiskUsage_settings:' => "Kelola pengaturan Penggunaan Disk:",
|
||||
'du_Disk_Usage' => "Penggunaan Disk",
|
||||
'du_Hello_PARAMS' => "~~~Halo PARAMS~~~",
|
||||
'du_I-bays' => "I-bays",
|
||||
'du_Users' => "Pengguna",
|
11
Targets/DiskUsage/diskusage_il.lex
Normal file
11
Targets/DiskUsage/diskusage_il.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "החל",
|
||||
'du_Usage' => "שימוש",
|
||||
'du_Path' => "נתיב",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "~~~ד׳ ספטמבר 11 19:01:00 שעון קיץ בריטי 2024~~~",
|
||||
'du_PARAMS_panel_action_was_successful' => "פעולת לוח PARAMS הצליחה",
|
||||
'du_&nbsp' => " ",
|
||||
'du_Manage_DiskUsage_settings:' => "נהל הגדרות שימוש בדיסק:",
|
||||
'du_Disk_Usage' => "שימוש בדיסק",
|
||||
'du_Hello_PARAMS' => "שלום PARAMS",
|
||||
'du_I-bays' => "מפרצים",
|
||||
'du_Users' => "משתמשים",
|
11
Targets/DiskUsage/diskusage_it.lex
Normal file
11
Targets/DiskUsage/diskusage_it.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "Applica",
|
||||
'du_Usage' => "Utilizzo",
|
||||
'du_Path' => "Percorso",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "Mer 11 Set 19:01:00 BST 2024",
|
||||
'du_PARAMS_panel_action_was_successful' => "L\'azione del pannello PARAMS è stata completata con successo",
|
||||
'du_&nbsp' => " ",
|
||||
'du_Manage_DiskUsage_settings:' => "Gestisci impostazioni di utilizzo del disco:",
|
||||
'du_Disk_Usage' => "Utilizzo del Disco",
|
||||
'du_Hello_PARAMS' => "Ciao PARAMS",
|
||||
'du_I-bays' => "I-bay",
|
||||
'du_Users' => "Utenti",
|
11
Targets/DiskUsage/diskusage_jp.lex
Normal file
11
Targets/DiskUsage/diskusage_jp.lex
Normal file
@ -0,0 +1,11 @@
|
||||
'du_APPLY' => "適用",
|
||||
'du_Usage' => "使用",
|
||||
'du_Path' => "パス",
|
||||
'du_Wed_Sep_11_19:01:00_BST' => "2024年9月11日(水) 19:01:00 BST",
|
||||
'du_PARAMS_panel_action_was_successful' => "~~~PARAMSパネルの操作が成功しました~~~",
|
||||
'du_&nbsp' => " ",
|
||||
'du_Manage_DiskUsage_settings:' => "ディスク使用量設定の管理:",
|
||||
'du_Disk_Usage' => "ディスク使用量",
|
||||
'du_Hello_PARAMS' => "こんにちは PARAMS",
|
||||
'du_I-bays' => "I-bays",
|
||||
'du_Users' => "ユーザー",
|
@ -1,5 +1,5 @@
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 ( at 2024-09-12 19:29
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 at 2024-09-13 18:38
|
||||
%#
|
||||
<div id="Nfsshare-PARAMS" class="partial Nfsshare-PARAMS">
|
||||
<script>
|
@ -1,5 +1,5 @@
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 ( at 2024-09-12 19:29
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 at 2024-09-13 18:38
|
||||
%#
|
||||
<div id="Nfsshare-TABLE" class="partial Nfsshare-TABLE">
|
||||
<script>
|
139
Targets/Nfsshare/nfs_PARAMS.html.ep
Normal file
139
Targets/Nfsshare/nfs_PARAMS.html.ep
Normal file
@ -0,0 +1,139 @@
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 at 2024-09-14 05:33
|
||||
%#
|
||||
<div id="Nfsshare-PARAMS" class="partial Nfsshare-PARAMS">
|
||||
<script>
|
||||
window.onload = function() {
|
||||
SelectInput();
|
||||
};
|
||||
</script>
|
||||
<h2>
|
||||
%= l('nfs_Hello_PARAMS');
|
||||
</h2>
|
||||
% my $btn = l('nfs_APPLY');
|
||||
%= form_for "Nfsshared" => (method => 'POST') => begin
|
||||
|
||||
% param 'trt' => ${prefix}_data->{trt} unless param 'trt';
|
||||
%= hidden_field 'trt' => ${prefix}_data->{trt}
|
||||
%# Inputs etc in here.
|
||||
|
||||
<h2><%=l('nfs_Manage_NFS_Ibay_settings:')%></h2>
|
||||
|
||||
<p>
|
||||
%= l('nfs_These_parameters_will_be_effective')
|
||||
</p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Information_Bay_name')
|
||||
</span><span class=data>
|
||||
%= stash("IbayName")
|
||||
</span></p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Share_owner_Group')
|
||||
</span><span class=data>
|
||||
% my @ShareOwnerGrp_options = ['Write = admin, Read = group', 'Write = group, Read = everyone', 'Write = group, Read = group'];
|
||||
% param 'ShareOwnerGrp' => ${prefix}_data->{ShareOwnerGrp} unless param 'ShareOwnerGrp';
|
||||
%= select_field 'ShareOwnerGrp' => @ShareOwnerGrp_options, class => 'input'
|
||||
<br></span> </p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Enable_the_NFS_Share')
|
||||
</span><span class=data>
|
||||
% my @EnableNFSshare_options = ['Disabled', 'Enabled'];
|
||||
% param 'EnableNFSshare' => ${prefix}_data->{EnableNFSshare} unless param 'EnableNFSshare';
|
||||
%= select_field 'EnableNFSshare' => @EnableNFSshare_options, class => 'input'
|
||||
<br></span> </p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_EnableShare_on_local_network')
|
||||
</span><span class=data>
|
||||
% my @ShareOnLocalNetwork_options = ['Disabled', 'Enabled'];
|
||||
% param 'ShareOnLocalNetwork' => ${prefix}_data->{ShareOnLocalNetwork} unless param 'ShareOnLocalNetwork';
|
||||
%= select_field 'ShareOnLocalNetwork' => @ShareOnLocalNetwork_options, class => 'input'
|
||||
<br></span> </p>
|
||||
|
||||
<p>
|
||||
%= l('nfs_For_writing_permissions,allowing_the_root')
|
||||
</p>
|
||||
|
||||
<span class=label>
|
||||
%=l('nfs_NFS_Client(s)_allowed')
|
||||
</span><span class=data>
|
||||
% param 'NFSClientsAllowed' => ${prefix}_data->{NFSClientsAllowed} unless param 'NFSClientsAllowed';
|
||||
%= text_area 'NFSClientsAllowed', cols=>40, rows=>5
|
||||
</span><br>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_File_system_permissions')
|
||||
</span><span class=data>
|
||||
% my @FileSystemPermissions_options = ['Read only', 'Read and Write'];
|
||||
% param 'FileSystemPermissions' => ${prefix}_data->{FileSystemPermissions} unless param 'FileSystemPermissions';
|
||||
%= select_field 'FileSystemPermissions' => @FileSystemPermissions_options, class => 'input'
|
||||
<br></span> </p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Write_(a)synchronously')
|
||||
</span><span class=data>
|
||||
% my @WriteAsync_options = ['Synchronous', 'Asynchronous'];
|
||||
% param 'WriteAsync' => ${prefix}_data->{WriteAsync} unless param 'WriteAsync';
|
||||
%= select_field 'WriteAsync' => @WriteAsync_options, class => 'input'
|
||||
<br></span> </p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Delays_the_disk_writing')
|
||||
</span><span class=data>
|
||||
% my @DelayWrite_options = ['Write delay', 'No write delay'];
|
||||
% param 'DelayWrite' => ${prefix}_data->{DelayWrite} unless param 'DelayWrite';
|
||||
%= select_field 'DelayWrite' => @DelayWrite_options, class => 'input'
|
||||
<br></span> </p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Squash_the_power_of_users')
|
||||
</span><span class=data>
|
||||
% my @Squash_options = ['All users squash', 'No root squash', 'root squash'];
|
||||
% param 'Squash' => ${prefix}_data->{Squash} unless param 'Squash';
|
||||
%= select_field 'Squash' => @Squash_options, class => 'input'
|
||||
<br></span> </p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Browse_the_parent_folders')
|
||||
</span><span class=data>
|
||||
% my @BrowseParents_options = ['Hide folder', 'Show folder'];
|
||||
% param 'BrowseParents' => ${prefix}_data->{BrowseParents} unless param 'BrowseParents';
|
||||
%= select_field 'BrowseParents' => @BrowseParents_options, class => 'input'
|
||||
<br></span> </p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Requests_on_secure_ports')
|
||||
</span><span class=data>
|
||||
% my @SecurePorts_options = ['Secure', 'Insecure'];
|
||||
% param 'SecurePorts' => ${prefix}_data->{SecurePorts} unless param 'SecurePorts';
|
||||
%= select_field 'SecurePorts' => @SecurePorts_options, class => 'input'
|
||||
<br></span> </p>
|
||||
|
||||
<p>
|
||||
%= l('nfs_Set_the_uid_and_gid')
|
||||
</p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Set_the_UID.')
|
||||
</span><span class=data>
|
||||
% param 'SetUID' => ${prefix}_data->{SetUID} unless param 'SetUID';
|
||||
%= text_field 'SetUID', size => '50', class => 'input' , pattern=>'.*' , placeholder=>'SetUID'
|
||||
<br></span></p>
|
||||
|
||||
<p><span class=label>
|
||||
%=l('nfs_Set_the_GID.')
|
||||
</span><span class=data>
|
||||
% param 'SetGID' => ${prefix}_data->{SetGID} unless param 'SetGID';
|
||||
%= text_field 'SetGID', size => '50', class => 'input' , pattern=>'.*' , placeholder=>'SetGID'
|
||||
<br></span></p>
|
||||
|
||||
<span class='data'>
|
||||
%= submit_button l('nfs_Save'), class => 'action'
|
||||
</span>
|
||||
|
||||
%# Probably finally by a submit.
|
||||
%end
|
||||
</div>
|
47
Targets/Nfsshare/nfs_TABLE.html.ep
Normal file
47
Targets/Nfsshare/nfs_TABLE.html.ep
Normal file
@ -0,0 +1,47 @@
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 at 2024-09-14 05:33
|
||||
%#
|
||||
<div id="Nfsshare-TABLE" class="partial Nfsshare-TABLE">
|
||||
<script>
|
||||
window.onload = function() {
|
||||
SelectInput();
|
||||
};
|
||||
</script>
|
||||
<h2>
|
||||
%= l('nfs_Hello_TABLE');
|
||||
</h2>
|
||||
% my $btn = l('nfs_APPLY');
|
||||
%= form_for "Nfsshared" => (method => 'POST') => begin
|
||||
|
||||
% param 'trt' => ${prefix}_data->{trt} unless param 'trt';
|
||||
%= hidden_field 'trt' => ${prefix}_data->{trt}
|
||||
%# Inputs etc in here.
|
||||
|
||||
<h2><%=l('nfs_Manage_NFS_Ibay_settings:')%></h2>
|
||||
|
||||
<br /><table class="sme-border TableSort sme-table">
|
||||
<thead>
|
||||
<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 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>
|
||||
</table>
|
||||
|
||||
|
||||
%# Probably finally by a submit.
|
||||
%end
|
||||
</div>
|
@ -1,6 +1,6 @@
|
||||
% layout 'default', title => "Sme server 2 - NFS data share", share_dir => './';
|
||||
%#
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 ( at 2024-09-12 19:29
|
||||
%# Generated by SM2Gen version:0.8 Chameleon version:3.8.1 On Python:3.12.3 at 2024-09-14 05:33
|
||||
%#
|
||||
% content_for 'module' => begin
|
||||
<div id="module" class="module Nfsshare-panel">
|
@ -1,28 +1,28 @@
|
||||
'nfs_Squash_the_power_of_users' => 'Squash the power of users',
|
||||
'nfs_Hello_TABLE' => 'Hello TABLE',
|
||||
'nfs_Write_(a)synchronously' => 'Write (a)synchronously',
|
||||
'nfs_TABLE_panel_action_was_successful' => 'TABLE panel action was successful',
|
||||
'nfs_Hello_PARAMS' => 'Hello PARAMS',
|
||||
'nfs_Save' => 'Save',
|
||||
'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_Enable_the_NFS_Share' => 'Enable the NFS Share',
|
||||
'nfs_Action' => 'Action',
|
||||
'nfs_EnableShare_on_local_network' => 'Enableshare on local network',
|
||||
'nfs_Browse_the_parent_folders' => 'Browse the parent folders',
|
||||
'Nfs_status' => 'Status',
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Manage NFS Ibay settings:',
|
||||
'nfs_Set_the_uid_and_gid' => 'Set the uid and gid if you want all requests appear to be from one user or one group, Otherwise leave blank',
|
||||
'nfs_Set_the_GID.' => 'Set the GID. ',
|
||||
'nfs_File_system_permissions' => 'File system permissions',
|
||||
'nfs_Share_owner_Group' => 'Share owner Group',
|
||||
'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_Name' => 'Name',
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS Client(s) allowed',
|
||||
'nfs_Requests_on_secure_ports' => 'Requests on secure ports',
|
||||
'nfs_APPLY' => 'Apply',
|
||||
'nfs_Delays_the_disk_writing' => 'Delays the disk writing',
|
||||
'nfs_Information_Bay_name' => 'Information Bay name',
|
||||
'nfs_Description' => 'Description',
|
||||
'nfs_NFS_data_share' => 'NFS data share',
|
||||
'nfs_Manage_NFS_Ibay_settings:' => 'Manage NFS Ibay settings:',
|
||||
'nfs_PARAMS_panel_action_was_successful' => 'PARAMS panel action was successful',
|
||||
'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_Action' => 'Action',
|
||||
'nfs_Hello_PARAMS' => 'Hello PARAMS',
|
||||
'nfs_Save' => 'Save',
|
||||
'nfs_Squash_the_power_of_users' => 'Squash the power of users',
|
||||
'nfs_Set_the_UID.' => 'Set the UID. ',
|
||||
'nfs_PARAMS_panel_action_was_successful' => 'PARAMS panel action was successful',
|
||||
'nfs_TABLE_panel_action_was_successful' => 'TABLE panel action was successful',
|
||||
'nfs_APPLY' => 'Apply',
|
||||
'nfs_Enable_the_NFS_Share' => 'Enable the NFS Share',
|
||||
'nfs_Name' => 'Name',
|
||||
'nfs_EnableShare_on_local_network' => 'Enableshare on local network',
|
||||
'nfs_These_parameters_will_be_effective' => 'These parameters will be effective only if the share is enabled. The share is in /home/e-smith/files/ibays//files',
|
||||
'nfs_Share_owner_Group' => 'Share owner Group',
|
||||
'nfs_Browse_the_parent_folders' => 'Browse the parent folders',
|
||||
'nfs_NFS_Client(s)_allowed' => 'NFS Client(s) allowed',
|
||||
'Nfs_status' => 'Status',
|
||||
'nfs_Information_Bay_name' => 'Information Bay name',
|
||||
'nfs_Requests_on_secure_ports' => 'Requests on secure ports',
|
||||
'nfs_NFS_data_share' => 'NFS data share',
|
||||
'nfs_Delays_the_disk_writing' => 'Delays the disk writing',
|
||||
'nfs_Hello_TABLE' => 'Hello TABLE',
|
||||
'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_Description' => 'Description',
|
||||
'nfs_Write_(a)synchronously' => 'Write (a)synchronously',
|
@ -244,19 +244,3 @@ sub do_display {
|
||||
$c->render("${lcPackageName}");
|
||||
}
|
||||
1;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -66,9 +66,4 @@ sub create_link{
|
||||
my $link = "$route?trt=$panel&Selected=$index";
|
||||
return $link;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -110,7 +110,7 @@
|
||||
% my $control_data = $self->stash('${TableControl}');
|
||||
% foreach my $row (@$control_data) {
|
||||
<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>
|
||||
<td class='sme-border table-col table-col-${ColContent}'><%=$c->render_to_string(inline=>$row->{'${ColContent}'})%></td></tal:block>
|
||||
</tr>
|
||||
%}
|
||||
</tbody>
|
||||
|
@ -1,52 +0,0 @@
|
||||
|
||||
* Scheme of things:
|
||||
|
||||
main:
|
||||
#
|
||||
# Initial entry - route is "/<whatever>"
|
||||
#
|
||||
set initial panel
|
||||
for initial panel:
|
||||
load up _data hash with DB fields
|
||||
load up stash with pointer(s) to control fields hash(= get-))
|
||||
and a pointer to the prefix_data hash
|
||||
render initial panel
|
||||
|
||||
do_update:
|
||||
#
|
||||
# Return after submit pushed on panel (this is a post) - route is "/<whatever>u"
|
||||
# parameters in the params hash.
|
||||
#
|
||||
load up all params into prefix_data hash:
|
||||
By panel (series of if statements - only one executed):
|
||||
call validate-PANEL() - return ret = ok or error message
|
||||
|
||||
if validation not ok:
|
||||
render back to current panel with error message in stash
|
||||
otherwise:
|
||||
By panel (series of if statements - only one executed):
|
||||
Copy back to DB all relevant params (is this just the DB params for this panel?)
|
||||
do whatever is required: call perform-PANEL() - return "ok" or Error Message
|
||||
call signal-event for any global actions specified (check it exists - error and continue?)
|
||||
if action smeserver-<whatever>-update exists
|
||||
signal_event smeserver-<whatever>-update
|
||||
call signal-event for any specific actions for thids panel (check it exists first - error and continue)
|
||||
set success in stash
|
||||
if no "nextpanel" entry:
|
||||
set firstpanel
|
||||
else
|
||||
set nextpanel
|
||||
call render
|
||||
|
||||
do_display:
|
||||
#
|
||||
# Return after link clicked in table (this is a get) - route is "/<whatever>d"
|
||||
# Expects ?trt=PANEL&selected="TableRowName" plus any other required
|
||||
#
|
||||
load up all supplied params into prefix_data hash
|
||||
call get-selected-PANEL() - returns hash of all relevent parameters
|
||||
load up returned hash into prefix_data
|
||||
render - to called panel
|
||||
|
||||
|
||||
|
@ -1,102 +0,0 @@
|
||||
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>SME Server sme11.thereadclan.me.uk</title>
|
||||
<link rev="made" href="mailto:bugs%40koozali.org">
|
||||
<meta name="copyright" content="(head.tmpl)Copyright 2003-2004 Mitel Corporation">
|
||||
<link rel="stylesheet" type="text/css" href="/server-common/css/sme_core.css">
|
||||
<style type="text/css">
|
||||
@import url("/server-common/css/sme_main.css");
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="sme-error"><h5>
|
||||
Warning: a reconfigure and reboot is required before proceeding! Failure to do so now
|
||||
may leave your system in an unknown state!</h5></div><div class="sme-error"><h5>
|
||||
URGENT NOTICE: As per June 30th 2024, SME Server 10 is obsolete, and potentially INSECURE. NO support will be offered for any issue found with this installed version.
|
||||
Please migrate IMMEDIATELY to Koozali SME Server 11 or higher version. Failure to upgrade may lead to the compromise of this server.
|
||||
</br>Please, consult <a href="https://wiki.koozali.org/SME_Server:Download" target="_blank">https://wiki.koozali.org/SME_Server:Download</a> to get last available version.</h5></div>
|
||||
<h1>Create a starter website</h1>
|
||||
<form method="POST" action="starterwebsite" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="page" value="0">
|
||||
<input type="hidden" name="page_stack" value="">
|
||||
<input type=hidden name=".id" value="53ee9f713d94b5ba86a563429440d21e">
|
||||
<input type="hidden" name="csrf_token" value="iEskwobsBAfGQ8A05yW8QPL7guJPZVEylHcHb4RlmkB">
|
||||
<table class="sme-noborders">
|
||||
<tr><td colspan="2"><p><p>
|
||||
To create a simple web page for your company, fill
|
||||
in the fields below and click on <b>Create</b>.
|
||||
</p>
|
||||
<p>
|
||||
You can leave any field blank if you do not need it.
|
||||
</p>
|
||||
<p>
|
||||
The text that you enter below will be line wrapped
|
||||
for a nicer appearance in your web page. Leave a blank line
|
||||
whenever you want to start a new paragraph. If you need
|
||||
to force a line break without starting a new paragraph (for
|
||||
example after each line of a mailing address), then type
|
||||
the four-character sequence
|
||||
<blockquote><BR></blockquote>
|
||||
where you would like each line break.
|
||||
</p>
|
||||
<p>
|
||||
<em>Do not use this option</em>
|
||||
if you have already customized your web site, since it will
|
||||
overwrite the "index.htm" file in your web site directory.
|
||||
</p></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="sme-noborders-label">Company name
|
||||
<td class="sme-noborders-content"><INPUT TYPE="text" SIZE="48" VALUE="" NAME="companyName"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><p>First header, typically used for short phrases such
|
||||
as "Leader in the field of textile manufacturing"</p></td>
|
||||
</tr> <tr>
|
||||
<td class="sme-noborders-label">
|
||||
<td class="sme-noborders-content"><INPUT TYPE="text" NAME="header1" SIZE="48" VALUE=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><p>Text following first header, typically used for a
|
||||
paragraph of marketing information.</p></td>
|
||||
</tr> <tr>
|
||||
<td class="sme-noborders-label">
|
||||
<td class="sme-noborders-content"><TEXTAREA COLS="60" ROWS="5" NAME="text1"></TEXTAREA></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><p>Second header, typically used for short phrases such
|
||||
as "For more information" or "To order our products":</p></td>
|
||||
</tr> <tr>
|
||||
<td class="sme-noborders-label">
|
||||
<td class="sme-noborders-content"><INPUT TYPE="text" NAME="header2" VALUE="" SIZE="48"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><p>Text following second header, typically used for contact
|
||||
or ordering information:</p></td>
|
||||
</tr> <tr>
|
||||
<td class="sme-noborders-label">
|
||||
<td class="sme-noborders-content"><TEXTAREA ROWS="5" NAME="text2" COLS="60"></TEXTAREA></td>
|
||||
</tr>
|
||||
<tr><td colspan=2><p>When you create this web page, the file
|
||||
"index.htm" will be overwritten
|
||||
in your web site directory.</p>
|
||||
<p>Do you wish to proceed?</p></td></tr> </table>
|
||||
<table width=100%><tr><th class="sme-layout"><input type="submit" name="Next" value="Create"></th></tr></table>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<HR class="sme-copyrightbar">
|
||||
<FONT class="sme-copyright">
|
||||
SME Server 11.0.0<BR>Copyright 1999-2006 Mitel Corporation<BR>All rights reserved.
|
||||
|
||||
<BR>Copyright (c) 2013 - 2021 Koozali Foundation Inc.<BR>
|
||||
</FONT>
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
||||
|
@ -1,93 +0,0 @@
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>SME Server sme10.thereadclan.me.uk</title>
|
||||
<link rev="made" href="mailto:bugs%40koozali.org">
|
||||
<meta name="copyright" content="(head.tmpl)Copyright 2003-2004 Mitel Corporation">
|
||||
<link rel="stylesheet" type="text/css" href="/server-common/css/sme_core.css">
|
||||
<style type="text/css">
|
||||
@import url("/server-common/css/sme_main.css");
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Disk usage</h1>
|
||||
<form method="POST" action="diskusage" enctype="application/x-www-form-urlencoded">
|
||||
<input type="hidden" name="page" value="0">
|
||||
<input type="hidden" name="page_stack" value="">
|
||||
<input type=hidden name=".id" value="65306129a4e734ea46f31f7f8630a65d">
|
||||
<input type="hidden" name="csrf_token" value="QbCmcx81coESLmdiNA5k9GiTKg2k7sJQLiY00BxtwXS">
|
||||
<table class="sme-noborders">
|
||||
<p> 
|
||||
</p>
|
||||
<p>Wed Sep 11 19:01:00 BST 2024
|
||||
</p>
|
||||
<p><pre>Filesystem Size Used Avail Use% Mounted on
|
||||
/dev/mapper/main-root 29G 4.8G 24G 17% /
|
||||
devtmpfs 2.0G 0 2.0G 0% /dev
|
||||
tmpfs 2.0G 12K 2.0G 1% /dev/shm
|
||||
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
|
||||
tmpfs 2.0G 648K 2.0G 1% /run
|
||||
/dev/sda1 497M 111M 386M 23% /boot
|
||||
</pre></p>
|
||||
<table class="sme-border">
|
||||
<tr>
|
||||
<th colspan="1" class="sme-border">I-bays</th>
|
||||
<th colspan="1" class="sme-border">Usage</th>
|
||||
<th colspan="1" class="sme-border">Path</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" class="sme-border">Primary</td>
|
||||
<td colspan="1" class="sme-border">4.0K</td>
|
||||
<td colspan="1" class="sme-border">/home/e-smith/files/ibays/Primary</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" class="sme-border">anibay</td>
|
||||
<td colspan="1" class="sme-border">4.0K</td>
|
||||
<td colspan="1" class="sme-border">/home/e-smith/files/ibays/anibay</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" class="sme-border">opt</td>
|
||||
<td colspan="1" class="sme-border">410M</td>
|
||||
<td colspan="1" class="sme-border">/opt</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p> 
|
||||
</p>
|
||||
<table class="sme-border">
|
||||
<tr>
|
||||
<th colspan="1" class="sme-border">Users</th>
|
||||
<th colspan="1" class="sme-border">Usage</th>
|
||||
<th colspan="1" class="sme-border">Path</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" class="sme-border">root</td>
|
||||
<td colspan="1" class="sme-border">2.1M</td>
|
||||
<td colspan="1" class="sme-border">/root</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" class="sme-border">brianr</td>
|
||||
<td colspan="1" class="sme-border">16K</td>
|
||||
<td colspan="1" class="sme-border">/home/e-smith/files/users/brianr</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<HR class="sme-copyrightbar">
|
||||
<FONT class="sme-copyright">
|
||||
SME Server 10.1
|
||||
<BR>Copyright 1999-2006 Mitel Corporation
|
||||
<BR>All rights reserved.
|
||||
|
||||
<BR>Copyright (c) 2013 - 2021 Koozali Foundation Inc.
|
||||
<BR>
|
||||
</FONT>
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@ -1,622 +0,0 @@
|
||||
Bulgarian (bg), Field: Backup or restore, English: Backup or restore, Translated: Архивиране или възстановяване
|
||||
Bulgarian (bg), Field: Report a bug, English: Report a bug, Translated: Докладвай за грешка
|
||||
Bulgarian (bg), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Антивирус (ClamAV)
|
||||
Bulgarian (bg), Field: Date and time, English: Date and time, Translated: Дата и час
|
||||
Bulgarian (bg), Field: Directory, English: Directory, Translated: Директория
|
||||
Bulgarian (bg), Field: Domains, English: Domains, Translated: Домейни
|
||||
Bulgarian (bg), Field: E-mail, English: E-mail, Translated: Имейл
|
||||
Bulgarian (bg), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Имена на хостове и адреси
|
||||
Bulgarian (bg), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Споделени области (беше ibays)
|
||||
Bulgarian (bg), Field: Home, English: Home, Translated: Начало
|
||||
Bulgarian (bg), Field: Legacy panel, English: Legacy panel, Translated: Наследствен панел
|
||||
Bulgarian (bg), Field: Local networks, English: Local networks, Translated: Местни мрежи
|
||||
Bulgarian (bg), Field: Logout, English: Logout, Translated: Изход
|
||||
Bulgarian (bg), Field: Online manual, English: Online manual, Translated: Онлайн ръководство
|
||||
Bulgarian (bg), Field: NFS data share, English: NFS data share, Translated: Дял за данни NFS
|
||||
Bulgarian (bg), Field: Port forwarding, English: Port forwarding, Translated: Пренасочване на портове
|
||||
Bulgarian (bg), Field: Printers, English: Printers, Translated: Принтери
|
||||
Bulgarian (bg), Field: Proxy settings, English: Proxy settings, Translated: Настройки на прокси
|
||||
Bulgarian (bg), Field: Pseudonyms, English: Pseudonyms, Translated: Псевдоними
|
||||
Bulgarian (bg), Field: Mail log file analysis, English: Mail log file analysis, Translated: Анализ на журнали с поща
|
||||
Bulgarian (bg), Field: Quotas, English: Quotas, Translated: Квоти
|
||||
Bulgarian (bg), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Рестартиране или изключване
|
||||
Bulgarian (bg), Field: Review configuration, English: Review configuration, Translated: Преглед на конфигурацията
|
||||
Bulgarian (bg), Field: Support and licensing, English: Support and licensing, Translated: Поддръжка и лицензиране
|
||||
Bulgarian (bg), Field: Users, English: Users, Translated: Потребители
|
||||
Bulgarian (bg), Field: User Panel Access, English: User Panel Access, Translated: Достъп до потребителския панел
|
||||
Bulgarian (bg), Field: Change password, English: Change password, Translated: Промяна на паролата
|
||||
Bulgarian (bg), Field: View log files, English: View log files, Translated: Преглед на log файлове
|
||||
Bulgarian (bg), Field: Samba workgroup, English: Samba workgroup, Translated: Работна група Samba
|
||||
Bulgarian (bg), Field: Software installer, English: Software installer, Translated: Инсталиране на софтуер
|
||||
File not found for language: Danish (dk)
|
||||
German (de), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
|
||||
German (de), Field: Domains, English: Domains, Translated: Domains: Domänen
|
||||
German (de), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Geteilte Bereiche (ehemals ibays)
|
||||
German (de), Field: Home, English: Home, Translated: Startseite
|
||||
German (de), Field: Legacy panel, English: Legacy panel, Translated: Altes Bedienfeld
|
||||
German (de), Field: Logout, English: Logout, Translated: Abmelden
|
||||
German (de), Field: NFS data share, English: NFS data share, Translated: NFS-Datenfreigabe
|
||||
German (de), Field: User Panel Access, English: User Panel Access, Translated: Benutzerbereich Zugriff
|
||||
German (de), Field: Change password, English: Change password, Translated: Passwort ändern
|
||||
German (de), Field: Samba workgroup, English: Samba workgroup, Translated: Samba-Arbeitsgruppe
|
||||
File not found for language: Greek (gr)
|
||||
|
||||
Spanish (es), Field: Report a bug, English: Report a bug, Translated: Informar de un error
|
||||
Spanish (es), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
|
||||
Spanish (es), Field: Domains, English: Domains, Translated: Dominios
|
||||
Spanish (es), Field: E-mail, English: E-mail, Translated: Correo electrónico
|
||||
Spanish (es), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Áreas compartidas (anteriormente ibays)
|
||||
Spanish (es), Field: Home, English: Home, Translated: Inicio
|
||||
Spanish (es), Field: Legacy panel, English: Legacy panel, Translated: Panel heredado
|
||||
Spanish (es), Field: Logout, English: Logout, Translated: Cerrar sesión
|
||||
Spanish (es), Field: NFS data share, English: NFS data share, Translated: Comparte de datos NFS
|
||||
Spanish (es), Field: User Panel Access, English: User Panel Access, Translated: Acceso al Panel de Usuario
|
||||
Spanish (es), Field: Change password, English: Change password, Translated: Cambiar contraseña
|
||||
Spanish (es), Field: Samba workgroup, English: Samba workgroup, Translated: Grupo de trabajo de Samba
|
||||
|
||||
Estonian (et), Field: Backup or restore, English: Backup or restore, Translated: Varundamine või taastamine
|
||||
Estonian (et), Field: Report a bug, English: Report a bug, Translated: Teata veast
|
||||
Estonian (et), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Viirusevastane (ClamAV)
|
||||
Estonian (et), Field: Date and time, English: Date and time, Translated: Kuupäev ja kellaaeg
|
||||
Estonian (et), Field: Directory, English: Directory, Translated: Kataloog
|
||||
Estonian (et), Field: Domains, English: Domains, Translated: Domeenid
|
||||
Estonian (et), Field: E-mail, English: E-mail, Translated: E-post
|
||||
Estonian (et), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Hostinimed ja aadressid
|
||||
Estonian (et), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Jagatud alad (oli ibays)
|
||||
Estonian (et), Field: Home, English: Home, Translated: Kodu
|
||||
Estonian (et), Field: Legacy panel, English: Legacy panel, Translated: Pärandpaneel
|
||||
Estonian (et), Field: Local networks, English: Local networks, Translated: Kohalikud võrgud
|
||||
Estonian (et), Field: Logout, English: Logout, Translated: Logi välja
|
||||
Estonian (et), Field: Online manual, English: Online manual, Translated: Veebimanuaal
|
||||
Estonian (et), Field: NFS data share, English: NFS data share, Translated: NFS andmete jagamine
|
||||
Estonian (et), Field: Port forwarding, English: Port forwarding, Translated: Pordi edastamine
|
||||
Estonian (et), Field: Printers, English: Printers, Translated: Printerid
|
||||
Estonian (et), Field: Proxy settings, English: Proxy settings, Translated: Puhverserveri seaded
|
||||
Estonian (et), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonüümid
|
||||
Estonian (et), Field: Mail log file analysis, English: Mail log file analysis, Translated: Posti logifaili analüüs
|
||||
Estonian (et), Field: Quotas, English: Quotas, Translated: Kvoodid
|
||||
Estonian (et), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Taaskäivitus või sulgemine
|
||||
Estonian (et), Field: Remote access, English: Remote access, Translated: Kaugjuurdepääs
|
||||
Estonian (et), Field: Review configuration, English: Review configuration, Translated: Konfiguratsiooni ülevaade
|
||||
Estonian (et), Field: Support and licensing, English: Support and licensing, Translated: Toetus ja litsentsimine
|
||||
Estonian (et), Field: Users, English: Users, Translated: Kasutajad
|
||||
Estonian (et), Field: User Panel Access, English: User Panel Access, Translated: Kasutajapaneeli Juurdepääs
|
||||
Estonian (et), Field: Change password, English: Change password, Translated: Muuda parooli
|
||||
Estonian (et), Field: View log files, English: View log files, Translated: Vaata logifaile
|
||||
Estonian (et), Field: Samba workgroup, English: Samba workgroup, Translated: Samba töögrupp
|
||||
Estonian (et), Field: Software installer, English: Software installer, Translated: Tarkvara paigaldaja
|
||||
|
||||
French (fr), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
|
||||
French (fr), Field: Domains, English: Domains, Translated: Domaines
|
||||
French (fr), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Zones partagées (anciennement ibays)
|
||||
French (fr), Field: Legacy panel, English: Legacy panel, Translated: Panneau Hérité
|
||||
French (fr), Field: NFS data share, English: NFS data share, Translated: Partage de données NFS
|
||||
French (fr), Field: Quotas, English: Quotas, Translated: Quotas
|
||||
French (fr), Field: User Panel Access, English: User Panel Access, Translated: Accès au Panneau Utilisateur
|
||||
French (fr), Field: Change password, English: Change password, Translated: Changer le mot de passe
|
||||
French (fr), Field: Samba workgroup, English: Samba workgroup, Translated: Groupe de travail Samba
|
||||
|
||||
Hebrew (il), Field: Backup or restore, English: Backup or restore, Translated: גיבוי או שחזור
|
||||
Hebrew (il), Field: Report a bug, English: Report a bug, Translated: דווח על באג
|
||||
Hebrew (il), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: אנטי וירוס (ClamAV)
|
||||
Hebrew (il), Field: Date and time, English: Date and time, Translated: תאריך ושעה
|
||||
Hebrew (il), Field: Directory, English: Directory, Translated: ספרייה
|
||||
Hebrew (il), Field: Domains, English: Domains, Translated: דומיינים
|
||||
Hebrew (il), Field: E-mail, English: E-mail, Translated: אימייל
|
||||
Hebrew (il), Field: Groups, English: Groups, Translated: קבוצות
|
||||
Hebrew (il), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: שמות מארחים וכתובות
|
||||
Hebrew (il), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: אזורים משותפים (היו ibays)
|
||||
Hebrew (il), Field: Home, English: Home, Translated: דף הבית
|
||||
Hebrew (il), Field: Legacy panel, English: Legacy panel, Translated: לוח מיושן
|
||||
Hebrew (il), Field: Local networks, English: Local networks, Translated: רשתות מקומיות
|
||||
Hebrew (il), Field: Logout, English: Logout, Translated: התנתקות
|
||||
Hebrew (il), Field: Online manual, English: Online manual, Translated: מדריך מקוון
|
||||
Hebrew (il), Field: NFS data share, English: NFS data share, Translated: שיתוף נתונים NFS
|
||||
Hebrew (il), Field: Port forwarding, English: Port forwarding, Translated: העברת פורטים
|
||||
Hebrew (il), Field: Printers, English: Printers, Translated: מדפסות
|
||||
Hebrew (il), Field: Proxy settings, English: Proxy settings, Translated: הגדרות פרוקסי
|
||||
Hebrew (il), Field: Pseudonyms, English: Pseudonyms, Translated: פסבדונים
|
||||
Hebrew (il), Field: Mail log file analysis, English: Mail log file analysis, Translated: ניתוח קובץ יומן דואר
|
||||
Hebrew (il), Field: Quotas, English: Quotas, Translated: מכסות
|
||||
Hebrew (il), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: אתחל או כבה
|
||||
Hebrew (il), Field: Remote access, English: Remote access, Translated: גישה מרחוק
|
||||
Hebrew (il), Field: Review configuration, English: Review configuration, Translated: סקירת תצורה
|
||||
Hebrew (il), Field: Support and licensing, English: Support and licensing, Translated: תמיכה ורישוי
|
||||
Hebrew (il), Field: Users, English: Users, Translated: משתמשים
|
||||
Hebrew (il), Field: User Panel Access, English: User Panel Access, Translated: גישה לפאנל המשתמש
|
||||
Hebrew (il), Field: Change password, English: Change password, Translated: שנה סיסמה
|
||||
Hebrew (il), Field: View log files, English: View log files, Translated: צפה בקבצי יומן
|
||||
Hebrew (il), Field: Samba workgroup, English: Samba workgroup, Translated: קבוצת עבודה של Samba
|
||||
Hebrew (il), Field: Software installer, English: Software installer, Translated: מתקין תוכנה
|
||||
|
||||
Hungarian (hu), Field: Backup or restore, English: Backup or restore, Translated: Biztonsági mentés vagy visszaállítás
|
||||
Hungarian (hu), Field: Report a bug, English: Report a bug, Translated: Hiba jelentése
|
||||
Hungarian (hu), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Vírusirtó (ClamAV)
|
||||
Hungarian (hu), Field: Date and time, English: Date and time, Translated: Dátum és idő
|
||||
Hungarian (hu), Field: Directory, English: Directory, Translated: Könyvtár
|
||||
Hungarian (hu), Field: Domains, English: Domains, Translated: Tartományok
|
||||
Hungarian (hu), Field: E-mail, English: E-mail, Translated: E-mail
|
||||
Hungarian (hu), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Hosztnevek és címek
|
||||
Hungarian (hu), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Megosztott területek (korábban ibays)
|
||||
Hungarian (hu), Field: Home, English: Home, Translated: Kezdőlap
|
||||
Hungarian (hu), Field: Legacy panel, English: Legacy panel, Translated: Klasszikus panel
|
||||
Hungarian (hu), Field: Local networks, English: Local networks, Translated: Helyi hálózatok
|
||||
Hungarian (hu), Field: Logout, English: Logout, Translated: Kijelentkezés
|
||||
Hungarian (hu), Field: Online manual, English: Online manual, Translated: Online kézikönyv
|
||||
Hungarian (hu), Field: NFS data share, English: NFS data share, Translated: NFS adatmegosztás
|
||||
Hungarian (hu), Field: Port forwarding, English: Port forwarding, Translated: Port továbbítás
|
||||
Hungarian (hu), Field: Printers, English: Printers, Translated: Nyomtatók
|
||||
Hungarian (hu), Field: Proxy settings, English: Proxy settings, Translated: Proxy beállítások
|
||||
Hungarian (hu), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonimok
|
||||
Hungarian (hu), Field: Mail log file analysis, English: Mail log file analysis, Translated: Levél naplófájl elemzése
|
||||
Hungarian (hu), Field: Quotas, English: Quotas, Translated: Kvóták
|
||||
Hungarian (hu), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Újraindítás vagy leállítás
|
||||
Hungarian (hu), Field: Remote access, English: Remote access, Translated: Távoli hozzáférés
|
||||
Hungarian (hu), Field: Review configuration, English: Review configuration, Translated: Konfiguráció áttekintése
|
||||
Hungarian (hu), Field: Support and licensing, English: Support and licensing, Translated: Támogatás és licencelés
|
||||
Hungarian (hu), Field: Users, English: Users, Translated: Felhasználók
|
||||
Hungarian (hu), Field: User Panel Access, English: User Panel Access, Translated: Felhasználói panel hozzáférés
|
||||
Hungarian (hu), Field: Change password, English: Change password, Translated: Jelszó megváltoztatása
|
||||
Hungarian (hu), Field: View log files, English: View log files, Translated: Naplófájlok megtekintése
|
||||
Hungarian (hu), Field: Samba workgroup, English: Samba workgroup, Translated: Samba munkacsoport
|
||||
Hungarian (hu), Field: Software installer, English: Software installer, Translated: Szoftvertelepítő
|
||||
Indonesian (id), Field: Backup or restore, English: Backup or restore, Translated: Cadangkan atau pulihkan
|
||||
Indonesian (id), Field: Report a bug, English: Report a bug, Translated: Laporkan Bug
|
||||
Indonesian (id), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
|
||||
Indonesian (id), Field: Date and time, English: Date and time, Translated: Tanggal dan waktu
|
||||
Indonesian (id), Field: Directory, English: Directory, Translated: Direktori
|
||||
Indonesian (id), Field: Domains, English: Domains, Translated: Domain
|
||||
Indonesian (id), Field: E-mail, English: E-mail, Translated: E-mail
|
||||
Indonesian (id), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Nama host dan alamat
|
||||
Indonesian (id), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Area bersama (sebelumnya ibays)
|
||||
Indonesian (id), Field: Home, English: Home, Translated: Beranda
|
||||
Indonesian (id), Field: Legacy panel, English: Legacy panel, Translated: Panel warisan
|
||||
Indonesian (id), Field: Local networks, English: Local networks, Translated: Jaringan lokal
|
||||
Indonesian (id), Field: Logout, English: Logout, Translated: Keluar
|
||||
Indonesian (id), Field: Online manual, English: Online manual, Translated: Manual daring
|
||||
Indonesian (id), Field: NFS data share, English: NFS data share, Translated: Berbagi data NFS
|
||||
Indonesian (id), Field: Port forwarding, English: Port forwarding, Translated: Penerusan port
|
||||
Indonesian (id), Field: Printers, English: Printers, Translated: Printer
|
||||
Indonesian (id), Field: Proxy settings, English: Proxy settings, Translated: Pengaturan proxy
|
||||
Indonesian (id), Field: Pseudonyms, English: Pseudonyms, Translated: Nama Samaran
|
||||
Indonesian (id), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analisis file log surat
|
||||
Indonesian (id), Field: Quotas, English: Quotas, Translated: Kuota
|
||||
Indonesian (id), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Mulai Ulang atau Matikan
|
||||
Indonesian (id), Field: Remote access, English: Remote access, Translated: Akses jarak jauh
|
||||
Indonesian (id), Field: Review configuration, English: Review configuration, Translated: Tinjau konfigurasi
|
||||
Indonesian (id), Field: Support and licensing, English: Support and licensing, Translated: Dukungan dan Lisensi
|
||||
Indonesian (id), Field: Users, English: Users, Translated: Pengguna
|
||||
Indonesian (id), Field: User Panel Access, English: User Panel Access, Translated: Akses Panel Pengguna
|
||||
Indonesian (id), Field: Change password, English: Change password, Translated: Ubah kata sandi
|
||||
Indonesian (id), Field: View log files, English: View log files, Translated: Lihat file log
|
||||
Indonesian (id), Field: Samba workgroup, English: Samba workgroup, Translated: Grup kerja Samba
|
||||
Indonesian (id), Field: Software installer, English: Software installer, Translated: Penginstal perangkat lunak
|
||||
|
||||
Italian (it), Field: Report a bug, English: Report a bug, Translated: Segnala un bug
|
||||
Italian (it), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
|
||||
Italian (it), Field: Domains, English: Domains, Translated: Domini
|
||||
Italian (it), Field: E-mail, English: E-mail, Translated: E-mail
|
||||
Italian (it), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Aree condivise (precedentemente ibay)
|
||||
Italian (it), Field: Home, English: Home, Translated: Home
|
||||
Italian (it), Field: Legacy panel, English: Legacy panel, Translated: Pannello legacy
|
||||
Italian (it), Field: Logout, English: Logout, Translated: Esci
|
||||
Italian (it), Field: NFS data share, English: NFS data share, Translated: Condivisione dati NFS
|
||||
Italian (it), Field: Port forwarding, English: Port forwarding, Translated: Inoltro delle porte
|
||||
Italian (it), Field: User Panel Access, English: User Panel Access, Translated: Accesso Pannello Utente
|
||||
Italian (it), Field: Change password, English: Change password, Translated: Cambia password
|
||||
Italian (it), Field: Samba workgroup, English: Samba workgroup, Translated: Gruppo di lavoro Samba
|
||||
|
||||
Japanese (jp), Field: Report a bug, English: Report a bug, Translated: バグを報告
|
||||
Japanese (jp), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: アンチウイルス (ClamAV)
|
||||
Japanese (jp), Field: Date and time, English: Date and time, Translated: 日付と時刻
|
||||
Japanese (jp), Field: Domains, English: Domains, Translated: ドメイン
|
||||
Japanese (jp), Field: E-mail, English: E-mail, Translated: Eメール
|
||||
Japanese (jp), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: ホスト名とアドレス
|
||||
Japanese (jp), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: 共有エリア(以前のアイベイズ)
|
||||
Japanese (jp), Field: Home, English: Home, Translated: ホーム
|
||||
Japanese (jp), Field: Legacy panel, English: Legacy panel, Translated: レガシーパネル
|
||||
Japanese (jp), Field: Local networks, English: Local networks, Translated: ローカルネットワーク
|
||||
Japanese (jp), Field: Logout, English: Logout, Translated: ログアウト
|
||||
Japanese (jp), Field: NFS data share, English: NFS data share, Translated: NFSデータ共有
|
||||
Japanese (jp), Field: Port forwarding, English: Port forwarding, Translated: ポートフォワーディング
|
||||
Japanese (jp), Field: Printers, English: Printers, Translated: プリンター
|
||||
Japanese (jp), Field: Proxy settings, English: Proxy settings, Translated: プロキシ設定
|
||||
Japanese (jp), Field: Pseudonyms, English: Pseudonyms, Translated: 仮名
|
||||
Japanese (jp), Field: Mail log file analysis, English: Mail log file analysis, Translated: メールログファイル解析
|
||||
Japanese (jp), Field: Quotas, English: Quotas, Translated: クォータ
|
||||
Japanese (jp), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: 再起動またはシャットダウン
|
||||
Japanese (jp), Field: Remote access, English: Remote access, Translated: リモートアクセス
|
||||
Japanese (jp), Field: Review configuration, English: Review configuration, Translated: 構成の確認
|
||||
Japanese (jp), Field: User Panel Access, English: User Panel Access, Translated: ユーザーパネルアクセス
|
||||
Japanese (jp), Field: Change password, English: Change password, Translated: パスワードの変更
|
||||
Japanese (jp), Field: View log files, English: View log files, Translated: ログファイルを表示
|
||||
Japanese (jp), Field: Samba workgroup, English: Samba workgroup, Translated: Samba ワークグループ
|
||||
Japanese (jp), Field: Software installer, English: Software installer, Translated: ソフトウェアインストーラ
|
||||
|
||||
Norwegian Bokmål (no), Field: Backup or restore, English: Backup or restore, Translated: Sikkerhetskopiere eller gjenopprette
|
||||
Norwegian Bokmål (no), Field: Report a bug, English: Report a bug, Translated: Rapporter en feil
|
||||
Norwegian Bokmål (no), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
|
||||
Norwegian Bokmål (no), Field: Date and time, English: Date and time, Translated: Dato og tid
|
||||
Norwegian Bokmål (no), Field: Directory, English: Directory, Translated: Katalog
|
||||
Norwegian Bokmål (no), Field: Domains, English: Domains, Translated: Domener
|
||||
Norwegian Bokmål (no), Field: E-mail, English: E-mail, Translated: E-post
|
||||
Norwegian Bokmål (no), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Vertsnavn og adresser
|
||||
Norwegian Bokmål (no), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Delte områder (tidligere ibays)
|
||||
Norwegian Bokmål (no), Field: Home, English: Home, Translated: Hjem
|
||||
Norwegian Bokmål (no), Field: Legacy panel, English: Legacy panel, Translated: Legacy-panel
|
||||
Norwegian Bokmål (no), Field: Local networks, English: Local networks, Translated: Lokale nettverk
|
||||
Norwegian Bokmål (no), Field: Logout, English: Logout, Translated: Logg ut
|
||||
Norwegian Bokmål (no), Field: Online manual, English: Online manual, Translated: Online manual → Online brukerveiledning
|
||||
Norwegian Bokmål (no), Field: NFS data share, English: NFS data share, Translated: NFS-datalagring
|
||||
Norwegian Bokmål (no), Field: Port forwarding, English: Port forwarding, Translated: Port videresending
|
||||
Norwegian Bokmål (no), Field: Printers, English: Printers, Translated: Skrivere
|
||||
Norwegian Bokmål (no), Field: Proxy settings, English: Proxy settings, Translated: Proxy-innstillinger
|
||||
Norwegian Bokmål (no), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonymer
|
||||
Norwegian Bokmål (no), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analyser postloggfil
|
||||
Norwegian Bokmål (no), Field: Quotas, English: Quotas, Translated: Kvoter
|
||||
Norwegian Bokmål (no), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Omstart eller avstenging
|
||||
Norwegian Bokmål (no), Field: Remote access, English: Remote access, Translated: Fjernstyring
|
||||
Norwegian Bokmål (no), Field: Review configuration, English: Review configuration, Translated: Gjennomgå konfigurasjon
|
||||
Norwegian Bokmål (no), Field: Support and licensing, English: Support and licensing, Translated: Støtte og lisensiering
|
||||
Norwegian Bokmål (no), Field: Users, English: Users, Translated: Brukere
|
||||
Norwegian Bokmål (no), Field: User Panel Access, English: User Panel Access, Translated: Brukerpanelets tilgang
|
||||
Norwegian Bokmål (no), Field: Change password, English: Change password, Translated: Endre passord
|
||||
Norwegian Bokmål (no), Field: View log files, English: View log files, Translated: Vis loggfiler
|
||||
Norwegian Bokmål (no), Field: Samba workgroup, English: Samba workgroup, Translated: Samba arbeidsgruppe
|
||||
Norwegian Bokmål (no), Field: Software installer, English: Software installer, Translated: Programvareinstallatør
|
||||
|
||||
Dutch (nl), Field: Report a bug, English: Report a bug, Translated: Een bug melden
|
||||
Dutch (nl), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
|
||||
Dutch (nl), Field: Domains, English: Domains, Translated: Domeinen
|
||||
Dutch (nl), Field: E-mail, English: E-mail, Translated: E-mail
|
||||
Dutch (nl), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Gedeelde gebieden (voorheen ibays)
|
||||
Dutch (nl), Field: Home, English: Home, Translated: Startpagina
|
||||
Dutch (nl), Field: Legacy panel, English: Legacy panel, Translated: Ouder paneel
|
||||
Dutch (nl), Field: Local networks, English: Local networks, Translated: Lokale netwerken
|
||||
Dutch (nl), Field: Logout, English: Logout, Translated: Uitloggen
|
||||
Dutch (nl), Field: NFS data share, English: NFS data share, Translated: NFS-gegevensdeling
|
||||
Dutch (nl), Field: Printers, English: Printers, Translated: Printers
|
||||
Dutch (nl), Field: Support and licensing, English: Support and licensing, Translated: Ondersteuning en licenties
|
||||
Dutch (nl), Field: User Panel Access, English: User Panel Access, Translated: Gebruikerspaneel Toegang
|
||||
Dutch (nl), Field: Change password, English: Change password, Translated: Wijzig wachtwoord
|
||||
Dutch (nl), Field: Samba workgroup, English: Samba workgroup, Translated: Samba-werkgroep
|
||||
Dutch (nl), Field: Software installer, English: Software installer, Translated: Software-installatieprogramma
|
||||
|
||||
Polish (pl), Field: Backup or restore, English: Backup or restore, Translated: Kopia zapasowa lub przywracanie
|
||||
Polish (pl), Field: Report a bug, English: Report a bug, Translated: Zgłoś błąd
|
||||
Polish (pl), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antywirus (ClamAV)
|
||||
Polish (pl), Field: Date and time, English: Date and time, Translated: Data i godzina
|
||||
Polish (pl), Field: Directory, English: Directory, Translated: Katalog
|
||||
Polish (pl), Field: Domains, English: Domains, Translated: Domeny
|
||||
Polish (pl), Field: E-mail, English: E-mail, Translated: E-mail
|
||||
Polish (pl), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Nazwy hostów i adresy
|
||||
Polish (pl), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Obszary udostępnione (dawniej ibays)
|
||||
Polish (pl), Field: Home, English: Home, Translated: Strona główna
|
||||
Polish (pl), Field: Legacy panel, English: Legacy panel, Translated: Starszy panel
|
||||
Polish (pl), Field: Local networks, English: Local networks, Translated: Sieci lokalne
|
||||
Polish (pl), Field: Logout, English: Logout, Translated: Wyloguj się
|
||||
Polish (pl), Field: Online manual, English: Online manual, Translated: Instrukcja online
|
||||
Polish (pl), Field: NFS data share, English: NFS data share, Translated: Udostępnianie danych NFS
|
||||
Polish (pl), Field: Port forwarding, English: Port forwarding, Translated: Przekierowanie portów
|
||||
Polish (pl), Field: Printers, English: Printers, Translated: Drukarki
|
||||
Polish (pl), Field: Proxy settings, English: Proxy settings, Translated: Ustawienia proxy
|
||||
Polish (pl), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonimy
|
||||
Polish (pl), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analiza pliku dziennika poczty
|
||||
Polish (pl), Field: Quotas, English: Quotas, Translated: Limity
|
||||
Polish (pl), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Uruchom ponownie lub wyłącz
|
||||
Polish (pl), Field: Remote access, English: Remote access, Translated: Zdalny dostęp
|
||||
Polish (pl), Field: Review configuration, English: Review configuration, Translated: Przegląd konfiguracji
|
||||
Polish (pl), Field: Support and licensing, English: Support and licensing, Translated: Wsparcie i licencjonowanie
|
||||
Polish (pl), Field: Users, English: Users, Translated: Użytkownicy
|
||||
Polish (pl), Field: User Panel Access, English: User Panel Access, Translated: Dostęp do Panelu Użytkownika
|
||||
Polish (pl), Field: Change password, English: Change password, Translated: Zmień hasło
|
||||
Polish (pl), Field: View log files, English: View log files, Translated: Wyświetl pliki dziennika
|
||||
Polish (pl), Field: Samba workgroup, English: Samba workgroup, Translated: Grupa robocza Samba
|
||||
|
||||
Polish (pl), Field: Software installer, English: Software installer, Translated: Instalator oprogramowania
|
||||
Brazilian Portuguese (pt-br), Field: Report a bug, English: Report a bug, Translated: Relatar um bug
|
||||
Brazilian Portuguese (pt-br), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivírus (ClamAV)
|
||||
Brazilian Portuguese (pt-br), Field: Date and time, English: Date and time, Translated: Data e hora
|
||||
Brazilian Portuguese (pt-br), Field: Directory, English: Directory, Translated: Diretório
|
||||
Brazilian Portuguese (pt-br), Field: Domains, English: Domains, Translated: Domínios
|
||||
Brazilian Portuguese (pt-br), Field: E-mail, English: E-mail, Translated: E-mail
|
||||
Brazilian Portuguese (pt-br), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Nomes de host e endereços
|
||||
Brazilian Portuguese (pt-br), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Áreas compartilhadas (eram ibays)
|
||||
Brazilian Portuguese (pt-br), Field: Home, English: Home, Translated: Início
|
||||
Brazilian Portuguese (pt-br), Field: Legacy panel, English: Legacy panel, Translated: Painel Legado
|
||||
Brazilian Portuguese (pt-br), Field: Local networks, English: Local networks, Translated: Redes locais
|
||||
Brazilian Portuguese (pt-br), Field: Logout, English: Logout, Translated: Finalizar Sessão
|
||||
Brazilian Portuguese (pt-br), Field: Online manual, English: Online manual, Translated: Manual online
|
||||
Brazilian Portuguese (pt-br), Field: NFS data share, English: NFS data share, Translated: Compartilhamento de dados NFS
|
||||
Brazilian Portuguese (pt-br), Field: Port forwarding, English: Port forwarding, Translated: Encaminhamento de porta
|
||||
Brazilian Portuguese (pt-br), Field: Printers, English: Printers, Translated: Impressoras
|
||||
Brazilian Portuguese (pt-br), Field: Proxy settings, English: Proxy settings, Translated: Configurações de proxy
|
||||
Brazilian Portuguese (pt-br), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudônimos
|
||||
Brazilian Portuguese (pt-br), Field: Mail log file analysis, English: Mail log file analysis, Translated: Análise de arquivo de log de email
|
||||
Brazilian Portuguese (pt-br), Field: Quotas, English: Quotas, Translated: Quotas
|
||||
Brazilian Portuguese (pt-br), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Reiniciar ou desligar
|
||||
Brazilian Portuguese (pt-br), Field: Remote access, English: Remote access, Translated: Acesso remoto
|
||||
Brazilian Portuguese (pt-br), Field: Review configuration, English: Review configuration, Translated: Revisar configuração
|
||||
Brazilian Portuguese (pt-br), Field: Support and licensing, English: Support and licensing, Translated: Suporte e licenciamento
|
||||
Brazilian Portuguese (pt-br), Field: Users, English: Users, Translated: Usuários
|
||||
Brazilian Portuguese (pt-br), Field: User Panel Access, English: User Panel Access, Translated: Acesso ao Painel do Usuário
|
||||
Brazilian Portuguese (pt-br), Field: Change password, English: Change password, Translated: Alterar senha
|
||||
Brazilian Portuguese (pt-br), Field: View log files, English: View log files, Translated: Ver arquivos de log
|
||||
Brazilian Portuguese (pt-br), Field: Samba workgroup, English: Samba workgroup, Translated: Grupo de trabalho do Samba
|
||||
Brazilian Portuguese (pt-br), Field: Software installer, English: Software installer, Translated: Instalador de software
|
||||
|
||||
Portuguese (pt), Field: Report a bug, English: Report a bug, Translated: Relatar um erro
|
||||
Portuguese (pt), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivírus (ClamAV)
|
||||
Portuguese (pt), Field: Date and time, English: Date and time, Translated: Data e hora
|
||||
Portuguese (pt), Field: Domains, English: Domains, Translated: Domínios
|
||||
Portuguese (pt), Field: E-mail, English: E-mail, Translated: E-mail
|
||||
Portuguese (pt), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Áreas compartilhadas (antigamente ibays)
|
||||
Portuguese (pt), Field: Home, English: Home, Translated: Início
|
||||
Portuguese (pt), Field: Legacy panel, English: Legacy panel, Translated: Painel legado
|
||||
Portuguese (pt), Field: Local networks, English: Local networks, Translated: Redes Locais
|
||||
Portuguese (pt), Field: Logout, English: Logout, Translated: Logout
|
||||
Portuguese (pt), Field: NFS data share, English: NFS data share, Translated: Compartilhamento de dados NFS
|
||||
Portuguese (pt), Field: Port forwarding, English: Port forwarding, Translated: Encaminhamento de portas
|
||||
Portuguese (pt), Field: Proxy settings, English: Proxy settings, Translated: Configurações de proxy
|
||||
Portuguese (pt), Field: Remote access, English: Remote access, Translated: Acesso remoto
|
||||
Portuguese (pt), Field: User Panel Access, English: User Panel Access, Translated: Acesso ao Painel do Usuário
|
||||
Portuguese (pt), Field: Change password, English: Change password, Translated: Alterar senha
|
||||
Portuguese (pt), Field: Samba workgroup, English: Samba workgroup, Translated: Grupo de trabalho Samba
|
||||
Portuguese (pt), Field: Software installer, English: Software installer, Translated: Instalador de software
|
||||
|
||||
Romanian (ro), Field: Backup or restore, English: Backup or restore, Translated: Backup sau restaurare
|
||||
Romanian (ro), Field: Report a bug, English: Report a bug, Translated: Raportați o eroare
|
||||
Romanian (ro), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
|
||||
Romanian (ro), Field: Date and time, English: Date and time, Translated: Data și ora
|
||||
Romanian (ro), Field: Directory, English: Directory, Translated: Director
|
||||
Romanian (ro), Field: Domains, English: Domains, Translated: Domenii
|
||||
Romanian (ro), Field: E-mail, English: E-mail, Translated: E-mail
|
||||
Romanian (ro), Field: Groups, English: Groups, Translated: Grupuri
|
||||
Romanian (ro), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Nume gazdă și adrese
|
||||
Romanian (ro), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Zone partajate (au fost ibays)
|
||||
Romanian (ro), Field: Home, English: Home, Translated: Acasă
|
||||
Romanian (ro), Field: Legacy panel, English: Legacy panel, Translated: Panou vechi
|
||||
Romanian (ro), Field: Local networks, English: Local networks, Translated: Rețele locale
|
||||
Romanian (ro), Field: Logout, English: Logout, Translated: Deconectare
|
||||
Romanian (ro), Field: Online manual, English: Online manual, Translated: Manual online
|
||||
Romanian (ro), Field: NFS data share, English: NFS data share, Translated: Partajare date NFS
|
||||
Romanian (ro), Field: Port forwarding, English: Port forwarding, Translated: Port forwarding
|
||||
Romanian (ro), Field: Printers, English: Printers, Translated: Imprimante
|
||||
Romanian (ro), Field: Proxy settings, English: Proxy settings, Translated: Setări proxy
|
||||
Romanian (ro), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonime
|
||||
Romanian (ro), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analiza fișierului jurnal de e-mail
|
||||
Romanian (ro), Field: Quotas, English: Quotas, Translated: Cote
|
||||
Romanian (ro), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Repornește sau oprește
|
||||
Romanian (ro), Field: Remote access, English: Remote access, Translated: Acces de la distanță
|
||||
Romanian (ro), Field: Review configuration, English: Review configuration, Translated: Revizuire configurație
|
||||
Romanian (ro), Field: Support and licensing, English: Support and licensing, Translated: Suport și licențiere
|
||||
Romanian (ro), Field: Users, English: Users, Translated: Utilizatori
|
||||
Romanian (ro), Field: User Panel Access, English: User Panel Access, Translated: Acces Panou Utilizator
|
||||
Romanian (ro), Field: Change password, English: Change password, Translated: Schimbă parola
|
||||
Romanian (ro), Field: View log files, English: View log files, Translated: Vizualizare fișiere jurnal
|
||||
Romanian (ro), Field: Samba workgroup, English: Samba workgroup, Translated: Grup de lucru Samba
|
||||
Romanian (ro), Field: Software installer, English: Software installer, Translated: Instalator software
|
||||
|
||||
Russian (ru), Field: Backup or restore, English: Backup or restore, Translated: Резервное копирование или восстановление
|
||||
Russian (ru), Field: Report a bug, English: Report a bug, Translated: Сообщить об ошибке
|
||||
Russian (ru), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Антивирус (ClamAV)
|
||||
Russian (ru), Field: Date and time, English: Date and time, Translated: Дата и время
|
||||
Russian (ru), Field: Directory, English: Directory, Translated: Каталог
|
||||
Russian (ru), Field: Domains, English: Domains, Translated: Домены
|
||||
Russian (ru), Field: E-mail, English: E-mail, Translated: Электронная почта
|
||||
Russian (ru), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Имена хостов и адреса
|
||||
Russian (ru), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Общие области (бывшие ibays)
|
||||
Russian (ru), Field: Home, English: Home, Translated: Главная
|
||||
Russian (ru), Field: Legacy panel, English: Legacy panel, Translated: Панель наследия
|
||||
Russian (ru), Field: Local networks, English: Local networks, Translated: Местные сети
|
||||
Russian (ru), Field: Logout, English: Logout, Translated: Выйти
|
||||
Russian (ru), Field: Online manual, English: Online manual, Translated: Онлайн-руководство
|
||||
Russian (ru), Field: NFS data share, English: NFS data share, Translated: Общий доступ к данным NFS
|
||||
Russian (ru), Field: Port forwarding, English: Port forwarding, Translated: Переадресация портов
|
||||
Russian (ru), Field: Printers, English: Printers, Translated: Принтеры
|
||||
Russian (ru), Field: Proxy settings, English: Proxy settings, Translated: Настройки прокси
|
||||
Russian (ru), Field: Pseudonyms, English: Pseudonyms, Translated: Псевдонимы
|
||||
Russian (ru), Field: Mail log file analysis, English: Mail log file analysis, Translated: Анализ журнала почты
|
||||
Russian (ru), Field: Quotas, English: Quotas, Translated: Квоты
|
||||
Russian (ru), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Перезагрузить или завершить работу
|
||||
Russian (ru), Field: Remote access, English: Remote access, Translated: Удаленный доступ
|
||||
Russian (ru), Field: Review configuration, English: Review configuration, Translated: Просмотр конфигурации
|
||||
Russian (ru), Field: Support and licensing, English: Support and licensing, Translated: Поддержка и лицензирование
|
||||
Russian (ru), Field: Users, English: Users, Translated: Пользователи
|
||||
Russian (ru), Field: User Panel Access, English: User Panel Access, Translated: Доступ к панели пользователя
|
||||
Russian (ru), Field: Change password, English: Change password, Translated: Сменить пароль
|
||||
Russian (ru), Field: View log files, English: View log files, Translated: Просмотр файлов журнала
|
||||
Russian (ru), Field: Samba workgroup, English: Samba workgroup, Translated: Рабочая группа Samba
|
||||
Russian (ru), Field: Software installer, English: Software installer, Translated: Установщик программного обеспечения
|
||||
|
||||
Slovenian (sl), Field: Backup or restore, English: Backup or restore, Translated: Varnostna kopija ali obnovitev
|
||||
Slovenian (sl), Field: Report a bug, English: Report a bug, Translated: Prijavi hrošča
|
||||
Slovenian (sl), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
|
||||
Slovenian (sl), Field: Date and time, English: Date and time, Translated: Datum in čas
|
||||
Slovenian (sl), Field: Directory, English: Directory, Translated: Imenik
|
||||
Slovenian (sl), Field: Domains, English: Domains, Translated: Domene
|
||||
Slovenian (sl), Field: E-mail, English: E-mail, Translated: E-pošta
|
||||
Slovenian (sl), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Imena gostiteljev in naslovi
|
||||
Slovenian (sl), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Skupna območja (prej ibays)
|
||||
Slovenian (sl), Field: Home, English: Home, Translated: Domov
|
||||
Slovenian (sl), Field: Legacy panel, English: Legacy panel, Translated: Zapuščena plošča
|
||||
Slovenian (sl), Field: Local networks, English: Local networks, Translated: Lokalna omrežja
|
||||
Slovenian (sl), Field: Logout, English: Logout, Translated: Odjava
|
||||
Slovenian (sl), Field: Online manual, English: Online manual, Translated: Spletni priročnik
|
||||
Slovenian (sl), Field: NFS data share, English: NFS data share, Translated: Souporaba podatkov NFS
|
||||
Slovenian (sl), Field: Port forwarding, English: Port forwarding, Translated: Posredovanje vrat
|
||||
Slovenian (sl), Field: Printers, English: Printers, Translated: Tiskalniki
|
||||
Slovenian (sl), Field: Proxy settings, English: Proxy settings, Translated: Nastavitve proxyja
|
||||
Slovenian (sl), Field: Pseudonyms, English: Pseudonyms, Translated: Psevdonimi
|
||||
Slovenian (sl), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analiza datotek dnevnika pošte
|
||||
Slovenian (sl), Field: Quotas, English: Quotas, Translated: Kvote
|
||||
Slovenian (sl), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Znova zaženi ali izklopi
|
||||
Slovenian (sl), Field: Remote access, English: Remote access, Translated: Oddaljen dostop
|
||||
Slovenian (sl), Field: Review configuration, English: Review configuration, Translated: Preglej konfiguracijo
|
||||
Slovenian (sl), Field: Support and licensing, English: Support and licensing, Translated: Podpora in licenciranje
|
||||
Slovenian (sl), Field: Users, English: Users, Translated: Uporabniki
|
||||
Slovenian (sl), Field: User Panel Access, English: User Panel Access, Translated: Dostop do uporabniške plošče
|
||||
Slovenian (sl), Field: Change password, English: Change password, Translated: Spremeni geslo
|
||||
Slovenian (sl), Field: View log files, English: View log files, Translated: Ogled dnevniških datotek
|
||||
Slovenian (sl), Field: Samba workgroup, English: Samba workgroup, Translated: Delovna skupina Samba
|
||||
Slovenian (sl), Field: Software installer, English: Software installer, Translated: Namestitveni program
|
||||
|
||||
Swedish (sv), Field: Backup or restore, English: Backup or restore, Translated: Säkerhetskopiera eller återställ
|
||||
Swedish (sv), Field: Report a bug, English: Report a bug, Translated: Rapportera ett fel
|
||||
Swedish (sv), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirus (ClamAV)
|
||||
Swedish (sv), Field: Date and time, English: Date and time, Translated: Datum och tid
|
||||
Swedish (sv), Field: Directory, English: Directory, Translated: Katalog
|
||||
Swedish (sv), Field: Domains, English: Domains, Translated: Domäner
|
||||
Swedish (sv), Field: E-mail, English: E-mail, Translated: E-post
|
||||
Swedish (sv), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Värdnamn och adresser
|
||||
Swedish (sv), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Delade områden (tidigare ibays)
|
||||
Swedish (sv), Field: Home, English: Home, Translated: Hem
|
||||
Swedish (sv), Field: Legacy panel, English: Legacy panel, Translated: Äldre panel
|
||||
Swedish (sv), Field: Local networks, English: Local networks, Translated: Lokala nätverk
|
||||
Swedish (sv), Field: Logout, English: Logout, Translated: Logga ut
|
||||
Swedish (sv), Field: Online manual, English: Online manual, Translated: Online-manual
|
||||
Swedish (sv), Field: NFS data share, English: NFS data share, Translated: NFS-datadelning
|
||||
Swedish (sv), Field: Port forwarding, English: Port forwarding, Translated: Portvidarebefordran
|
||||
Swedish (sv), Field: Printers, English: Printers, Translated: Skrivare
|
||||
Swedish (sv), Field: Proxy settings, English: Proxy settings, Translated: Proxyinställningar
|
||||
Swedish (sv), Field: Pseudonyms, English: Pseudonyms, Translated: Pseudonymer
|
||||
Swedish (sv), Field: Mail log file analysis, English: Mail log file analysis, Translated: Analys av e-postloggfiler
|
||||
Swedish (sv), Field: Quotas, English: Quotas, Translated: Kvoter
|
||||
Swedish (sv), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Starta om eller stäng av
|
||||
Swedish (sv), Field: Remote access, English: Remote access, Translated: Fjärråtkomst
|
||||
Swedish (sv), Field: Review configuration, English: Review configuration, Translated: Granska konfiguration
|
||||
Swedish (sv), Field: Support and licensing, English: Support and licensing, Translated: Support och licensiering
|
||||
Swedish (sv), Field: Users, English: Users, Translated: Användare
|
||||
Swedish (sv), Field: User Panel Access, English: User Panel Access, Translated: Användarpanel Åtkomst
|
||||
Swedish (sv), Field: Change password, English: Change password, Translated: Byt lösenord
|
||||
Swedish (sv), Field: View log files, English: View log files, Translated: Visa loggfiler
|
||||
Swedish (sv), Field: Samba workgroup, English: Samba workgroup, Translated: Samba arbetsgrupp
|
||||
Swedish (sv), Field: Software installer, English: Software installer, Translated: Programvaruinstallatör
|
||||
|
||||
Thai (th), Field: Backup or restore, English: Backup or restore, Translated: สำรองหรือกู้คืน
|
||||
Thai (th), Field: Report a bug, English: Report a bug, Translated: รายงานข้อบกพร่อง
|
||||
Thai (th), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: แอนติไวรัส (ClamAV)
|
||||
Thai (th), Field: Date and time, English: Date and time, Translated: วันที่และเวลา
|
||||
Thai (th), Field: Directory, English: Directory, Translated: ไดเรกทอรี
|
||||
Thai (th), Field: Domains, English: Domains, Translated: โดเมน
|
||||
Thai (th), Field: E-mail, English: E-mail, Translated: อีเมล
|
||||
Thai (th), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: ชื่อโฮสต์และที่อยู่
|
||||
Thai (th), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: พื้นที่ใช้ร่วมกัน (เดิมเรียกว่า ibays)
|
||||
Thai (th), Field: Home, English: Home, Translated: หน้าแรก
|
||||
Thai (th), Field: Legacy panel, English: Legacy panel, Translated: แผงควบคุมแบบเก่า
|
||||
Thai (th), Field: Local networks, English: Local networks, Translated: เครือข่ายภายใน
|
||||
Thai (th), Field: Logout, English: Logout, Translated: ออกจากระบบ
|
||||
Thai (th), Field: Online manual, English: Online manual, Translated: คู่มือออนไลน์
|
||||
Thai (th), Field: NFS data share, English: NFS data share, Translated: การแบ่งปันข้อมูล NFS
|
||||
Thai (th), Field: Port forwarding, English: Port forwarding, Translated: การส่งต่อพอร์ต
|
||||
Thai (th), Field: Printers, English: Printers, Translated: เครื่องพิมพ์
|
||||
Thai (th), Field: Proxy settings, English: Proxy settings, Translated: การตั้งค่า Proxy
|
||||
Thai (th), Field: Pseudonyms, English: Pseudonyms, Translated: ชื่อแฝง
|
||||
Thai (th), Field: Mail log file analysis, English: Mail log file analysis, Translated: การวิเคราะห์ไฟล์บันทึกจดหมาย
|
||||
Thai (th), Field: Quotas, English: Quotas, Translated: โควตา
|
||||
Thai (th), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: รีบูตหรือปิดระบบ
|
||||
Thai (th), Field: Remote access, English: Remote access, Translated: การเข้าถึงระยะไกล
|
||||
Thai (th), Field: Review configuration, English: Review configuration, Translated: ตรวจสอบการกำหนดค่า
|
||||
Thai (th), Field: Support and licensing, English: Support and licensing, Translated: การสนับสนุนและการอนุญาตใช้งาน
|
||||
Thai (th), Field: Users, English: Users, Translated: ผู้ใช้
|
||||
Thai (th), Field: User Panel Access, English: User Panel Access, Translated: การเข้าถึงแผงผู้ใช้
|
||||
Thai (th), Field: Change password, English: Change password, Translated: เปลี่ยนรหัสผ่าน
|
||||
Thai (th), Field: View log files, English: View log files, Translated: ดูไฟล์บันทึก
|
||||
Thai (th), Field: Samba workgroup, English: Samba workgroup, Translated: กลุ่มการทำงานของ Samba
|
||||
Thai (th), Field: Software installer, English: Software installer, Translated: เครื่องมือติดตั้งซอฟต์แวร์
|
||||
|
||||
Turkish (tr), Field: Backup or restore, English: Backup or restore, Translated: Yedekleme veya geri yükleme
|
||||
Turkish (tr), Field: Report a bug, English: Report a bug, Translated: Bir hata bildir
|
||||
Turkish (tr), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: Antivirüs (ClamAV)
|
||||
Turkish (tr), Field: Date and time, English: Date and time, Translated: Tarih ve Saat
|
||||
Turkish (tr), Field: Directory, English: Directory, Translated: Dizin
|
||||
Turkish (tr), Field: Domains, English: Domains, Translated: Alanlar
|
||||
Turkish (tr), Field: E-mail, English: E-mail, Translated: E-posta
|
||||
Turkish (tr), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: Ana Bilgisayar İsimleri ve Adresler
|
||||
Turkish (tr), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: Paylaşılan alanlar (önceki ibays)
|
||||
Turkish (tr), Field: Home, English: Home, Translated: Ana Sayfa
|
||||
Turkish (tr), Field: Legacy panel, English: Legacy panel, Translated: Eski panel
|
||||
Turkish (tr), Field: Local networks, English: Local networks, Translated: Yerel ağlar
|
||||
Turkish (tr), Field: Logout, English: Logout, Translated: Oturumu Kapat
|
||||
Turkish (tr), Field: Online manual, English: Online manual, Translated: Çevrimiçi Kılavuz
|
||||
Turkish (tr), Field: NFS data share, English: NFS data share, Translated: NFS veri paylaşımı
|
||||
Turkish (tr), Field: Port forwarding, English: Port forwarding, Translated: Port yönlendirme
|
||||
Turkish (tr), Field: Printers, English: Printers, Translated: Yazıcılar
|
||||
Turkish (tr), Field: Proxy settings, English: Proxy settings, Translated: Proxy ayarları
|
||||
Turkish (tr), Field: Pseudonyms, English: Pseudonyms, Translated: Takma Adlar
|
||||
Turkish (tr), Field: Mail log file analysis, English: Mail log file analysis, Translated: Posta günlük dosyası analizi
|
||||
Turkish (tr), Field: Quotas, English: Quotas, Translated: Kotalar
|
||||
Turkish (tr), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: Yeniden Başlat veya Kapat
|
||||
Turkish (tr), Field: Remote access, English: Remote access, Translated: Uzaktan erişim
|
||||
Turkish (tr), Field: Review configuration, English: Review configuration, Translated: Yapılandırmayı İncele
|
||||
Turkish (tr), Field: Support and licensing, English: Support and licensing, Translated: Destek ve lisanslama
|
||||
Turkish (tr), Field: Users, English: Users, Translated: Kullanıcılar
|
||||
Turkish (tr), Field: User Panel Access, English: User Panel Access, Translated: Kullanıcı Paneli Erişimi
|
||||
Turkish (tr), Field: Change password, English: Change password, Translated: Şifreyi değiştir
|
||||
Turkish (tr), Field: View log files, English: View log files, Translated: Günlük dosyalarını görüntüle
|
||||
Turkish (tr), Field: Samba workgroup, English: Samba workgroup, Translated: Samba çalışma grubu
|
||||
Turkish (tr), Field: Software installer, English: Software installer, Translated: Yazılım Yükleyici
|
||||
|
||||
Simplified Chinese (zh-cn), Field: Backup or restore, English: Backup or restore, Translated: 备份或还原
|
||||
Simplified Chinese (zh-cn), Field: Report a bug, English: Report a bug, Translated: 报告错误
|
||||
Simplified Chinese (zh-cn), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: 杀毒软件(ClamAV)
|
||||
Simplified Chinese (zh-cn), Field: Date and time, English: Date and time, Translated: 日期和时间
|
||||
Simplified Chinese (zh-cn), Field: Directory, English: Directory, Translated: 目录
|
||||
Simplified Chinese (zh-cn), Field: Domains, English: Domains, Translated: 域名
|
||||
Simplified Chinese (zh-cn), Field: E-mail, English: E-mail, Translated: 电子邮件
|
||||
Simplified Chinese (zh-cn), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: 主机名和地址
|
||||
Simplified Chinese (zh-cn), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: 共享区域(原 ibays)
|
||||
Simplified Chinese (zh-cn), Field: Home, English: Home, Translated: 主页
|
||||
Simplified Chinese (zh-cn), Field: Legacy panel, English: Legacy panel, Translated: 旧版控制面板
|
||||
Simplified Chinese (zh-cn), Field: Local networks, English: Local networks, Translated: 本地网络
|
||||
Simplified Chinese (zh-cn), Field: Logout, English: Logout, Translated: 注销
|
||||
Simplified Chinese (zh-cn), Field: Online manual, English: Online manual, Translated: 在线手册
|
||||
Simplified Chinese (zh-cn), Field: NFS data share, English: NFS data share, Translated: NFS 数据共享
|
||||
Simplified Chinese (zh-cn), Field: Port forwarding, English: Port forwarding, Translated: 端口转发
|
||||
Simplified Chinese (zh-cn), Field: Printers, English: Printers, Translated: 打印机
|
||||
Simplified Chinese (zh-cn), Field: Proxy settings, English: Proxy settings, Translated: 代理设置
|
||||
Simplified Chinese (zh-cn), Field: Pseudonyms, English: Pseudonyms, Translated: 假名
|
||||
Simplified Chinese (zh-cn), Field: Mail log file analysis, English: Mail log file analysis, Translated: 邮件日志文件分析
|
||||
Simplified Chinese (zh-cn), Field: Quotas, English: Quotas, Translated: 配额
|
||||
Simplified Chinese (zh-cn), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: 重新启动或关机
|
||||
Simplified Chinese (zh-cn), Field: Remote access, English: Remote access, Translated: 远程访问
|
||||
Simplified Chinese (zh-cn), Field: Review configuration, English: Review configuration, Translated: 查看配置
|
||||
Simplified Chinese (zh-cn), Field: Support and licensing, English: Support and licensing, Translated: 支持与授权
|
||||
Simplified Chinese (zh-cn), Field: Users, English: Users, Translated: 用户
|
||||
Simplified Chinese (zh-cn), Field: User Panel Access, English: User Panel Access, Translated: 用户面板访问
|
||||
Simplified Chinese (zh-cn), Field: Change password, English: Change password, Translated: 更改密码
|
||||
Simplified Chinese (zh-cn), Field: View log files, English: View log files, Translated: 查看日志文件
|
||||
Simplified Chinese (zh-cn), Field: Samba workgroup, English: Samba workgroup, Translated: Samba 工作组
|
||||
Simplified Chinese (zh-cn), Field: Software installer, English: Software installer, Translated: 软件安装程序
|
||||
|
||||
Traditional Chinese (zh-tw), Field: Backup or restore, English: Backup or restore, Translated: 備份或恢復
|
||||
Traditional Chinese (zh-tw), Field: Report a bug, English: Report a bug, Translated: 回報錯誤
|
||||
Traditional Chinese (zh-tw), Field: Antivirus (ClamAV), English: Antivirus (ClamAV), Translated: 防毒軟體 (ClamAV)
|
||||
Traditional Chinese (zh-tw), Field: Date and time, English: Date and time, Translated: 日期和時間
|
||||
Traditional Chinese (zh-tw), Field: Directory, English: Directory, Translated: 目錄
|
||||
Traditional Chinese (zh-tw), Field: Domains, English: Domains, Translated: 網域
|
||||
Traditional Chinese (zh-tw), Field: E-mail, English: E-mail, Translated: 電子郵件
|
||||
Traditional Chinese (zh-tw), Field: Hostnames and addresses, English: Hostnames and addresses, Translated: 主機名稱和地址
|
||||
Traditional Chinese (zh-tw), Field: Shared areas (was ibays), English: Shared areas (was ibays), Translated: 共享區域(原 ibays)
|
||||
Traditional Chinese (zh-tw), Field: Home, English: Home, Translated: 首頁
|
||||
Traditional Chinese (zh-tw), Field: Legacy panel, English: Legacy panel, Translated: 傳統面板
|
||||
Traditional Chinese (zh-tw), Field: Local networks, English: Local networks, Translated: 本地網路
|
||||
Traditional Chinese (zh-tw), Field: Logout, English: Logout, Translated: 登出
|
||||
Traditional Chinese (zh-tw), Field: Online manual, English: Online manual, Translated: 線上手冊
|
||||
Traditional Chinese (zh-tw), Field: NFS data share, English: NFS data share, Translated: NFS 資料共享
|
||||
Traditional Chinese (zh-tw), Field: Port forwarding, English: Port forwarding, Translated: 端口轉發
|
||||
Traditional Chinese (zh-tw), Field: Printers, English: Printers, Translated: 印表機
|
||||
Traditional Chinese (zh-tw), Field: Proxy settings, English: Proxy settings, Translated: 代理設定
|
||||
Traditional Chinese (zh-tw), Field: Pseudonyms, English: Pseudonyms, Translated: 化名
|
||||
Traditional Chinese (zh-tw), Field: Mail log file analysis, English: Mail log file analysis, Translated: 郵件日誌文件分析
|
||||
Traditional Chinese (zh-tw), Field: Quotas, English: Quotas, Translated: 配額
|
||||
Traditional Chinese (zh-tw), Field: Reboot or shutdown, English: Reboot or shutdown, Translated: 重新啟動或關機
|
||||
Traditional Chinese (zh-tw), Field: Remote access, English: Remote access, Translated: 遠端存取
|
||||
Traditional Chinese (zh-tw), Field: Review configuration, English: Review configuration, Translated: 檢視設定
|
||||
Traditional Chinese (zh-tw), Field: Support and licensing, English: Support and licensing, Translated: 支援與授權
|
||||
Traditional Chinese (zh-tw), Field: Users, English: Users, Translated: 用戶
|
||||
Traditional Chinese (zh-tw), Field: User Panel Access, English: User Panel Access, Translated: 用戶面板存取
|
||||
Traditional Chinese (zh-tw), Field: Change password, English: Change password, Translated: 更改密碼
|
||||
Traditional Chinese (zh-tw), Field: View log files, English: View log files, Translated: 檢視日誌檔案
|
||||
Traditional Chinese (zh-tw), Field: Samba workgroup, English: Samba workgroup, Translated: Samba 工作群組
|
||||
Traditional Chinese (zh-tw), Field: Software installer, English: Software installer, Translated: 軟體安裝程式
|
147
nfsshare.json5
147
nfsshare.json5
@ -1,147 +0,0 @@
|
||||
{
|
||||
PackageName: 'Nfsshare',
|
||||
prefix: 'nfs',
|
||||
MenuHeading: 'Network',
|
||||
MenuDescription: 'NFS data share',
|
||||
MenuNavigation: '2000 400',
|
||||
firstPanel: 'TABLE',
|
||||
signalEvent: 'smeserver-nfsshare-update',
|
||||
html: [
|
||||
{
|
||||
Name: 'params',
|
||||
route: 'PARAMS',
|
||||
Header: 'NFS Share Contrib',
|
||||
SubHeader: 'Manage NFS Ibay settings:',
|
||||
Paragraph1: 'These parameters will be effective only if the share is enabled. The share is in /home/e-smith/files/ibays//files',
|
||||
Input1: {
|
||||
Name: 'IbayName',
|
||||
Type: 'Text',
|
||||
Label: 'Information Bay name',
|
||||
Value: 'stash("IbayName")',
|
||||
},
|
||||
Input2: {
|
||||
Name: 'ShareOwnerGrp',
|
||||
Type: 'Selection',
|
||||
Label: 'Share owner Group',
|
||||
Value: [
|
||||
'Write = admin, Read = group',
|
||||
'Write = group, Read = everyone',
|
||||
'Write = group, Read = group',
|
||||
],
|
||||
Default: 0,
|
||||
},
|
||||
Input3: {
|
||||
Name: 'EnableNFSshare',
|
||||
Type: 'Selection',
|
||||
Label: 'Enable the NFS Share',
|
||||
Value: [
|
||||
'Disabled',
|
||||
'Enabled',
|
||||
],
|
||||
Default: 0,
|
||||
},
|
||||
Input4: {
|
||||
Name: 'ShareOnLocalNetwork',
|
||||
Type: 'Selection',
|
||||
Label: 'EnableShare on local network',
|
||||
Value: [
|
||||
'Disabled',
|
||||
'Enabled',
|
||||
],
|
||||
Default: 0,
|
||||
},
|
||||
Paragraph2: '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).',
|
||||
Input5: {
|
||||
Name: 'NFSClientsAllowed',
|
||||
Type: 'Textarea',
|
||||
Label: 'NFS Client(s) allowed',
|
||||
rows : 5
|
||||
},
|
||||
Input6: {
|
||||
Name: 'FileSystemPermissions',
|
||||
Type: 'Selection',
|
||||
Label: 'File system permissions',
|
||||
Value: [
|
||||
'Read only',
|
||||
'Read and Write',
|
||||
],
|
||||
Default: 0,
|
||||
},
|
||||
Input7: {
|
||||
Name: 'WriteAsync',
|
||||
Type: 'Selection',
|
||||
Label: 'Write (a)synchronously',
|
||||
Value: [
|
||||
'Synchronous',
|
||||
'Asynchronous',
|
||||
],
|
||||
},
|
||||
Input8: {
|
||||
Name: 'DelayWrite',
|
||||
Type: 'Selection',
|
||||
Label: 'Delays the disk writing',
|
||||
Value: [
|
||||
'Write delay',
|
||||
'No write delay',
|
||||
],
|
||||
Default: 1,
|
||||
},
|
||||
Input9: {
|
||||
Name: 'Squash',
|
||||
Type: 'Selection',
|
||||
Label: 'Squash the power of users',
|
||||
Value: [
|
||||
'All users squash',
|
||||
'No root squash',
|
||||
'root squash',
|
||||
],
|
||||
Default: 2,
|
||||
},
|
||||
Input10: {
|
||||
Name: 'BrowseParents',
|
||||
Type: 'Selection',
|
||||
Label: 'Browse the parent folders',
|
||||
Value: [
|
||||
'Hide folder',
|
||||
'Show folder',
|
||||
],
|
||||
Default: 0,
|
||||
},
|
||||
Input11: {
|
||||
Name: 'SecurePorts',
|
||||
Type: 'Selection',
|
||||
Label: 'Requests on secure ports',
|
||||
Value: [
|
||||
'Secure',
|
||||
'Insecure',
|
||||
],
|
||||
Default: 0,
|
||||
},
|
||||
Paragraph3: 'Set the uid and gid if you want all requests appear to be from one user or one group, otherwise leave blank',
|
||||
Input12: {
|
||||
Name: 'SetUID',
|
||||
Type: 'Textinput',
|
||||
Label: 'Set the UID.',
|
||||
},
|
||||
Input13: {
|
||||
Name: 'SetGID',
|
||||
Type: 'Textinput',
|
||||
Label: 'Set the GID.',
|
||||
},
|
||||
Submit: 'Save',
|
||||
},
|
||||
{
|
||||
Name: 'select_ibay',
|
||||
route:'TABLE',
|
||||
Header: 'NFS Share Contrib',
|
||||
SubHeader: 'Manage NFS Ibay settings:',
|
||||
Nextpanel: 'PARAMS',
|
||||
Table1: {
|
||||
Type:'Table',
|
||||
TableControl:"ibays",
|
||||
TopHeadings: ['Name','Description','Nfs status', 'Action'],
|
||||
Columns: ['Name','Description','flag','Modify']
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
111
sm2gen.py
111
sm2gen.py
@ -10,6 +10,8 @@ from datetime import datetime
|
||||
from openai import OpenAI
|
||||
import configparser
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
#
|
||||
# To Do
|
||||
@ -362,25 +364,31 @@ if __name__ == "__main__":
|
||||
"-nco",
|
||||
"--noController",
|
||||
help="Stop it creating a controller file",
|
||||
default="no",
|
||||
default="yes",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-nh", "--noHtml", help="Stop it creating html files(s)", default="no"
|
||||
"-nh", "--noHtml", help="Stop it creating html files(s)", default="yes"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-nl",
|
||||
"--noLang",
|
||||
help="Stop it creating language localise files(s)",
|
||||
default="no",
|
||||
default="yes",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-ncu", "--noCust", help="Stop it creating Custom controller file", default="no"
|
||||
"-ncu", "--noCust", help="Stop it creating Custom controller file", default="yes"
|
||||
)
|
||||
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 if json5 file exists
|
||||
json_file_path = Path(json_filename)
|
||||
if not json_file_path.exists():
|
||||
print(f"json5 file: {json_filename} not found")
|
||||
quit(1)
|
||||
|
||||
# check syntax of JSON5
|
||||
lint_json5(json_filename)
|
||||
@ -400,17 +408,23 @@ if __name__ == "__main__":
|
||||
lc_routes = lc_get_all_routes()
|
||||
|
||||
# File names
|
||||
controller_file = "Targets/" + hl("PackageName") + ".pm"
|
||||
custom_controller_file = "Targets/" + hl("PackageName") + "-Custom.pm"
|
||||
# Define the path for the generated files
|
||||
directory_path = Path("Targets/" + hl("PackageName"))
|
||||
# Create the directory if it doesn't exist
|
||||
directory_path.mkdir(parents=True, exist_ok=True)
|
||||
target_directory_path = "Targets/" + hl("PackageName")+"/"
|
||||
|
||||
controller_file = target_directory_path + hl("PackageName") + ".pm"
|
||||
custom_controller_file = target_directory_path + 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"
|
||||
layout_file = target_directory_path + 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"
|
||||
partial_files.append(target_directory_path + hl("prefix") + "_" + panel + ".html.ep")
|
||||
print(f"Partial files to be created:{partial_files}")
|
||||
lex_file = target_directory_path + hl("PackageName").lower() + "_en.lex"
|
||||
tablecontrols = (
|
||||
get_table_control_data()
|
||||
) # arrays of hashes used to drive rows in tables
|
||||
@ -619,43 +633,44 @@ if __name__ == "__main__":
|
||||
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 = "Templates/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_lex_file = f"Targets/{hl('PackageName').lower()}_{code}.lex"
|
||||
# Only do it if the lex file is missing
|
||||
if not os.path.exists(translated_lex_file):
|
||||
translated_dict = []
|
||||
for lex_item in eng_lex_dict:
|
||||
# Get it from ChatGPT
|
||||
translated_text = get_translation(
|
||||
lex_item["text"], lang_item["language"]
|
||||
)
|
||||
translated_dict.append({"id": lex_item["id"], "text": translated_text})
|
||||
print(f"Writing out lex file for {lang_item['code']}")
|
||||
with open(translated_lex_file, "w") as file:
|
||||
for item in translated_dict:
|
||||
# escape any nasties
|
||||
translated_text = (
|
||||
item["text"]
|
||||
.replace("\\", r"\\")
|
||||
.replace('"', r"\"")
|
||||
.replace("'", r"\'")
|
||||
# Now generate all the translated lex files from a list of the languages and codes
|
||||
# if specifically requested
|
||||
if not args.noLang:
|
||||
languages_path = "Templates/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_lex_file = f"{target_directory_path}{hl('PackageName').lower()}_{code}.lex"
|
||||
# Only do it if the lex file is missing
|
||||
if not os.path.exists(translated_lex_file):
|
||||
translated_dict = []
|
||||
for lex_item in eng_lex_dict:
|
||||
# Get it from ChatGPT
|
||||
translated_text = get_translation(
|
||||
lex_item["text"], lang_item["language"]
|
||||
)
|
||||
line = "'" + item["id"] + "' => " + '"' + translated_text + '",\n'
|
||||
file.write(line)
|
||||
# print(f"{item['id']} => {item['text']}\n")
|
||||
else:
|
||||
print(
|
||||
f"Skipping the creation of {translated_lex_file} as it exists already"
|
||||
)
|
||||
translated_dict.append({"id": lex_item["id"], "text": translated_text})
|
||||
print(f"Writing out lex file for {lang_item['code']}")
|
||||
with open(translated_lex_file, "w") as file:
|
||||
for item in translated_dict:
|
||||
# escape any nasties
|
||||
translated_text = (
|
||||
item["text"]
|
||||
.replace("\\", r"\\")
|
||||
.replace('"', r"\"")
|
||||
.replace("'", r"\'")
|
||||
)
|
||||
line = "'" + item["id"] + "' => " + '"' + translated_text + '",\n'
|
||||
file.write(line)
|
||||
# print(f"{item['id']} => {item['text']}\n")
|
||||
else:
|
||||
print(
|
||||
f"Skipping the creation of {translated_lex_file} as it exists already"
|
||||
)
|
||||
quit() # end of the program
|
||||
|
Loading…
Reference in New Issue
Block a user