This commit is contained in:
cutemeli
2025-12-22 10:35:30 +00:00
parent 0bfc6c8425
commit 5ce7ca2c5d
38927 changed files with 0 additions and 4594700 deletions

View File

@@ -1 +0,0 @@
f5847346c27ac3302f3d68fcea0b90af8ef84a9a

View File

@@ -1,86 +0,0 @@
#!/usr/bin/perl
# Copyright 1999-2025. WebPros International GmbH. All rights reserved.
use vars qw(%config);
read_config();
correct_statistics();
sub read_config {
open FCONF, "< /etc/psa/psa.conf"
or die "Can't open Plesk configurational file\n";
while (<FCONF>) {
s/\#.*$//;
m/^\s*(\w+)\s+(.+?)\s*$/;
next unless $1;
$config{$1} = $2;
}
close FCONF;
$config{LOGIN} = 'admin';
$config{DBNAME} = 'psa';
open PASSWD, "< /etc/psa/.psa.shadow"
or die "Can't get Plesk administrator's password\n";
$ENV{MYSQL_PWD} = <PASSWD>;
chomp $ENV{MYSQL_PWD};
close PASSWD;
if (-x $config{MYSQL_BIN_D}.'/mariadb') {
$config{MYSQL} = $config{MYSQL_BIN_D}.'/mariadb -s -N -u'.shellArgQuote($config{LOGIN}).' -D'.$config{DBNAME};
} else {
$config{MYSQL} = $config{MYSQL_BIN_D}.'/mysql -s -N -u'.shellArgQuote($config{LOGIN}).' -D'.$config{DBNAME};
}
if (-e '/etc/SuSE-release' or -e '/etc/debian_version') {
$config{MYSQL_SCRIPT} = $config{PRODUCT_RC_D} . '/mysql';
} else {
$config{MYSQL_SCRIPT} = $config{PRODUCT_RC_D} . '/mysqld';
}
$config{FTPSERV} = $config{PRODUCT_ROOT_D}.'/admin/bin/ftpmng';
$config{WEBSTAT} = $config{PRODUCT_ROOT_D}.'/admin/bin/webstatmng';
$config{LOGROT} = $config{PRODUCT_ROOT_D}.'/admin/bin/logrot_mng';
return 0;
}
sub correct_statistics {
my @domains;
my $query = "SELECT d.name FROM domains d, hosting h WHERE d.id=h.dom_id AND d.htype='vrt_hst' AND h.webstat='awstats'";
my $command = $config{MYSQL}." -e \"$query\"";
open (QUERY, "$command |");
while (<QUERY>) {
if(m/^\s*([\S]+)\s*$/) {
push @domains, $1;
}
}
close QUERY;
my @dirs = ('webstat', 'anon_ftpstat', 'ftpstat', 'webstat-ssl');
foreach my $domain (@domains) {
foreach my $dir (@dirs) {
my $path = $config{HTTPD_VHOSTS_D}."/".$domain."/statistics/".$dir;
chdir($path);
(undef, undef, undef, undef, $mon, $year, undef, undef, undef) = gmtime(time());
$mon++; $mon=sprintf "%02d",$mon;
$year+=1900;
my $date_dir = $year."-".$mon;
if (! -d $date_dir) {
mkdir($date_dir);
system("mv * $date_dir > /dev/null 2>&1");
symlink($date_dir, "current");
}
}
system ($config{WEBSTAT}. " --set-configs --stat-prog=awstats --domain-name=$domain");
}
}
sub shellArgQuote($){
($_) = @_;
s/'/'\\''/g;
return "'$_'";
}

View File

@@ -1,16 +0,0 @@
log4cpp.rootCategory=DEBG, A1, A2
log4cpp.appender.A1=org.apache.log4cpp.RollingFileAppender
log4cpp.appender.A1.fileName=@@LOG_FILE_NAME@@
log4cpp.appender.A1.maxFileSize=104857600
log4cpp.appender.A1.layout=org.apache.log4cpp.PatternLayout
log4cpp.appender.A1.layout.ConversionPattern=[%d{%Y-%m-%d %H:%M:%S.%l}|%P] %p: %m%n
log4cpp.appender.A2=org.apache.log4cpp.StderrAppender
log4cpp.appender.A2.layout=org.apache.log4cpp.PatternLayout
log4cpp.appender.A2.layout.ConversionPattern=[%d{%Y-%m-%d %H:%M:%S.%l}|%P] %p: %m%n
log4cpp.appender.CUSTOMLOG=org.apache.log4cpp.FileAppender
log4cpp.appender.CUSTOMLOG.fileName=@@CUSTOM_LOG_FILE_NAME@@
log4cpp.appender.CUSTOMLOG.layout=org.apache.log4cpp.PatternLayout
log4cpp.appender.CUSTOMLOG.layout.ConversionPattern=[%d{%Y-%m-%d %H:%M:%S.%l}|%P] %p: %m%n

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,41 +0,0 @@
#!/bin/bash
### Copyright 1999-2025. WebPros International GmbH. All rights reserved.
# Converts spamassassin bases from db 1.85 to new db format or removes it if db utilities does not exist
#
# Argument is a directory with spamassassin bases
#
# Returns 1 if db format is not 1.85, 0 otherwise
[ -z "$1" ] && exit 1
LIST=`file $1/* | grep 1.85 | cut -f1 -d:`
[ -z "$LIST" ] && exit 1
if [ -x "/usr/bin/db_dump185" ]; then
DB_DUMP185=/usr/bin/db_dump185
elif [ -x "/usr/bin/db1_dump185" ]; then
DB_DUMP185=/usr/bin/db1_dump185
elif [ -x "/usr/bin/db3_dump185" ]; then
DB_DUMP185=/usr/bin/db3_dump185
fi
if [ -x "/usr/bin/db_load" ]; then
DB_LOAD=/usr/bin/db_load
elif [ -x "/usr/bin/db4.2_load" ]; then
DB_LOAD=/usr/bin/db4.2_load
elif [ -x "/usr/bin/db4.3_load" ]; then
DB_LOAD=/usr/bin/db4.3_load
fi
for F in $LIST; do
if [ -n "$DB_DUMP185" ] && [ -n "$DB_LOAD" ]; then
DB="$F.db"
$DB_DUMP185 $F | $DB_LOAD $DB
mv $DB $F
else
rm -f $F
fi
done
exit 0

View File

@@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 1999-2025. WebPros International GmbH. All rights reserved. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- execution-result -->
<xs:complexType name="ExecutionResultMixed">
<xs:sequence>
<xs:element name="backup" type="ExecutionResult" minOccurs="0"/>
<xs:element name="transfer" type="ExecutionResult" minOccurs="0"/>
<xs:element name="restore" type="ExecutionResultRestore" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="status" type="ExecutionResultStatus" use="required"/>
<xs:attribute name="log-location" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="ExecutionResultRestore">
<xs:sequence>
<xs:element name="conflict-resolve" type="ExecutionResult" minOccurs="0"/>
<xs:element name="import" type="ExecutionResult" minOccurs="0"/>
<xs:element name="deploy" type="ExecutionResult" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="status" type="ExecutionResultStatus" use="required"/>
<xs:attribute name="log-location" type="xs:string"/>
<xs:attribute name="custom-log-dir" type="xs:string"/>
</xs:complexType>
<xs:complexType name="ExecutionResult">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="message" type="MessageType"/>
<xs:element name="object" type="ObjectType"/>
</xs:choice>
<xs:attribute name="status" type="ExecutionResultStatus" use="required"/>
<xs:attribute name="log-location" type="xs:string" use="optional"/>
<xs:attribute name="local-dump-created" type="xs:boolean" use="required"/>
<xs:attribute name="export-dump-created" type="xs:boolean" use="required"/>
<xs:attribute name="local-dump-name" type="xs:string" use="optional"/>
<xs:attribute name="export-dump-name" type="xs:string" use="optional"/>
</xs:complexType>
<xs:simpleType name="ExecutionResultStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="error"/>
<xs:enumeration value="success"/>
<xs:enumeration value="warnings"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ObjectType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="message" type="MessageType"/>
<xs:element name="object" type="ObjectType"/>
</xs:choice>
<xs:attribute name="type" type="xs:string" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="MessageType">
<xs:sequence>
<xs:element name="description" type="DescriptionType"/>
<xs:element name="resolution" type="xs:string" minOccurs="0"/>
<xs:element name="message" type="MessageType" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="severity" type="xs:string" use="required"/>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="code"/>
</xs:complexType>
<xs:complexType name="DescriptionType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="encoding">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="base64"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="restore" type="ExecutionResultRestore"/>
<xs:element name="execution-result" type="ExecutionResult"/>
<xs:element name="backup" type="ExecutionResult"/>
<xs:element name="deploy" type="ExecutionResult"/>
<xs:element name="conflict-resolve" type="ExecutionResult"/>
<xs:element name="execution-result-mixed" type="ExecutionResultMixed"/>
</xs:schema>

File diff suppressed because it is too large Load Diff

View File

@@ -1,57 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 1999-2025. WebPros International GmbH. All rights reserved. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="Transformation">
<xs:sequence>
<xs:element name="node" type="TransformNode" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="type">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="dump-overview"/>
<xs:enumeration value="restore-specification"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="TransformNode">
<xs:sequence>
<xs:element name="context" type="Context" minOccurs="0"/>
<xs:element name="attributes" type="Attributes" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" use="required"/>
<xs:attribute name="children-processing-type">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="filter-out"/>
<xs:enumeration value="process-recursive"/>
<xs:enumeration value="copy"/>
<xs:enumeration value="skip"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="attributes-processing-type">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="copy"/>
<xs:enumeration value="skip"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="Context">
<xs:sequence>
<xs:element name="path" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Attributes">
<xs:sequence>
<xs:element name="attribute" type="Attribute" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Attribute">
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
<xs:element name="transformation" type="Transformation"/>
</xs:schema>

View File

@@ -1 +0,0 @@
{"key":"/opt/plesk/python/3","last_check":"2025-11-11T06:27:20Z","pypi_version":"25.3"}

View File

@@ -1,3 +0,0 @@
09610a07b53b409d97b66dd916041df944f85dcc {"key":"make-fetch-happen:request-cache:https://registry.npmjs.org/yarn","integrity":"sha512-p38qkNh5TegJrhbFpuqHBjPpvvz7/caqeqgg70b6LqgNHWAVaBjENTJpBSitUdl0MHe5qydfdP9C8cGpmzQsTw==","time":1763017625669,"size":432649,"metadata":{"time":1763017625669,"url":"https://registry.npmjs.org/yarn","reqHeaders":{"accept":"application/json"},"resHeaders":{"cache-control":"public, max-age=300","date":"Thu, 13 Nov 2025 07:07:05 GMT","etag":"\"2f7d5daf3466d3600cf8b315a6f2272c\"","last-modified":"Tue, 16 Apr 2024 04:46:28 GMT","vary":"Accept-Encoding","content-encoding":"gzip","content-type":"application/json"},"options":{"compress":true}}}
f7b924feab9653122b97d916a6f9571a7468355c {"key":"make-fetch-happen:request-cache:https://registry.npmjs.org/yarn","integrity":"sha512-3lD8YBoRIh09ibIYNAjVocizBRb2i8zoodZnlkzxRmys9b8VFR9BCO/lFdM1QASY2f6TMMFNRyZ1pyTTWWugDw==","time":1765436826005,"size":432480,"metadata":{"time":1765436825989,"url":"https://registry.npmjs.org/yarn","reqHeaders":{"accept":"application/json"},"resHeaders":{"cache-control":"public, max-age=300","content-encoding":"gzip","content-type":"application/json","date":"Thu, 11 Dec 2025 07:07:05 GMT","etag":"W/\"31b5af55cdd8e39a7a2ef70a8d463846\"","last-modified":"Thu, 27 Nov 2025 07:52:43 GMT","vary":"accept-encoding, accept"},"options":{"compress":true}}}

View File

@@ -1,2 +0,0 @@
03b59838c7fe28e61b671fbad3443e4c528a7f37 {"key":"make-fetch-happen:request-cache:https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz","integrity":"sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==","time":1758979815878,"size":1238429,"metadata":{"time":1758979815815,"url":"https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz","reqHeaders":{},"resHeaders":{"cache-control":"public, immutable, max-age=31557600","content-type":"application/octet-stream","date":"Sat, 27 Sep 2025 13:30:15 GMT","etag":"\"fbb8ac5ea2a88c51885e7302103e1d14\"","last-modified":"Sat, 09 Mar 2024 21:35:43 GMT","vary":"Accept-Encoding"},"options":{"compress":true}}}

View File

@@ -1,37 +0,0 @@
0 verbose cli /opt/plesk/node/24/bin/node /opt/plesk/node/24/bin/npm
1 info using npm@11.6.0
2 info using node@v24.9.0
3 silly config load:file:/opt/plesk/node/24/lib/node_modules/npm/npmrc
4 silly config load:file:/opt/psa/admin/.npmrc
5 silly config load:file:/opt/plesk/node/24/etc/npmrc
6 verbose title npm install yarn
7 verbose argv "install" "--global" "yarn"
8 verbose logfile logs-max:10 dir:/opt/psa/admin/.npm/_logs/2025-09-27T13_30_15_396Z-
9 verbose logfile /opt/psa/admin/.npm/_logs/2025-09-27T13_30_15_396Z-debug-0.log
10 silly packumentCache heap:2348810240 maxSize:587202560 maxEntrySize:293601280
11 silly logfile done cleaning log files
12 silly idealTree buildDeps
13 silly fetch manifest yarn@*
14 silly packumentCache full:https://registry.npmjs.org/yarn cache-miss
15 http fetch GET 200 https://registry.npmjs.org/yarn 77ms (cache miss)
16 silly packumentCache full:https://registry.npmjs.org/yarn set size:undefined disposed:false
17 silly placeDep ROOT yarn@1.22.22 OK for: want: *
18 http fetch GET 200 https://registry.npmjs.org/npm 124ms
19 silly reify moves {}
20 http cache yarn@https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz 0ms (cache hit)
21 silly tarball no local data for yarn@https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz. Extracting by manifest.
22 http fetch GET 200 https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz 101ms (cache miss)
23 info run yarn@1.22.22 preinstall node_modules/yarn :; (node ./preinstall.js > /dev/null 2>&1 || true)
24 info run yarn@1.22.22 preinstall { code: 0, signal: null }
25 silly ADD node_modules/yarn
26 verbose cwd /opt/psa/admin
27 verbose os Linux 6.8.0-84-generic
28 verbose node v24.9.0
29 verbose npm v11.6.0
30 notice
30 notice New patch version of npm available! 11.6.0 -> 11.6.1
30 notice Changelog: https://github.com/npm/cli/releases/tag/v11.6.1
30 notice To update run: npm install -g npm@11.6.1
30 notice { force: true, Symbol(proc-log.meta): true }
31 verbose exit 0
32 info ok

View File

@@ -1,29 +0,0 @@
0 verbose cli /opt/plesk/node/22/bin/node /opt/plesk/node/22/bin/npm
1 info using npm@10.9.3
2 info using node@v22.20.0
3 silly config load:file:/opt/plesk/node/22/lib/node_modules/npm/npmrc
4 silly config load:file:/opt/psa/admin/.npmrc
5 silly config load:file:/opt/plesk/node/22/etc/npmrc
6 verbose title npm install yarn
7 verbose argv "install" "--global" "yarn"
8 verbose logfile logs-max:10 dir:/opt/psa/admin/.npm/_logs/2025-09-27T13_30_20_146Z-
9 verbose logfile /opt/psa/admin/.npm/_logs/2025-09-27T13_30_20_146Z-debug-0.log
10 silly packumentCache heap:2197815296 maxSize:549453824 maxEntrySize:274726912
11 silly logfile done cleaning log files
12 silly idealTree buildDeps
13 silly fetch manifest yarn@*
14 silly packumentCache full:https://registry.npmjs.org/yarn cache-miss
15 http cache https://registry.npmjs.org/yarn 9ms (cache hit)
16 silly packumentCache full:https://registry.npmjs.org/yarn set size:432649 disposed:false
17 silly placeDep ROOT yarn@1.22.22 OK for: want: *
18 silly reify moves {}
19 http cache yarn@https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz 0ms (cache hit)
20 info run yarn@1.22.22 preinstall node_modules/yarn :; (node ./preinstall.js > /dev/null 2>&1 || true)
21 info run yarn@1.22.22 preinstall { code: 0, signal: null }
22 silly ADD node_modules/yarn
23 verbose cwd /opt/psa/admin
24 verbose os Linux 6.8.0-84-generic
25 verbose node v22.20.0
26 verbose npm v10.9.3
27 verbose exit 0
28 info ok

View File

@@ -1,35 +0,0 @@
0 verbose cli /opt/plesk/node/24/bin/node /opt/plesk/node/24/bin/npm
1 info using npm@11.6.1
2 info using node@v24.10.0
3 silly config load:file:/opt/plesk/node/24/lib/node_modules/npm/npmrc
4 silly config load:file:/opt/psa/admin/.npmrc
5 silly config load:file:/opt/plesk/node/24/etc/npmrc
6 verbose title npm install yarn
7 verbose argv "install" "--global" "yarn"
8 verbose logfile logs-max:10 dir:/opt/psa/admin/.npm/_logs/2025-10-09T07_07_05_591Z-
9 verbose logfile /opt/psa/admin/.npm/_logs/2025-10-09T07_07_05_591Z-debug-0.log
10 silly packumentCache heap:2348810240 maxSize:587202560 maxEntrySize:293601280
11 silly logfile done cleaning log files
12 silly idealTree buildDeps
13 silly fetch manifest yarn@*
14 silly packumentCache full:https://registry.npmjs.org/yarn cache-miss
15 http fetch GET 200 https://registry.npmjs.org/yarn 309ms (cache revalidated)
16 silly packumentCache full:https://registry.npmjs.org/yarn set size:432649 disposed:false
17 silly placeDep ROOT yarn@1.22.22 OK for: want: *
18 http fetch GET 200 https://registry.npmjs.org/npm 357ms
19 silly reify moves {}
20 http cache yarn@https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz 1ms (cache hit)
21 info run yarn@1.22.22 preinstall node_modules/yarn :; (node ./preinstall.js > /dev/null 2>&1 || true)
22 info run yarn@1.22.22 preinstall { code: 0, signal: null }
23 silly ADD node_modules/yarn
24 verbose cwd /opt/psa/admin
25 verbose os Linux 6.8.0-85-generic
26 verbose node v24.10.0
27 verbose npm v11.6.1
28 notice
28 notice New patch version of npm available! 11.6.1 -> 11.6.2
28 notice Changelog: https://github.com/npm/cli/releases/tag/v11.6.2
28 notice To update run: npm install -g npm@11.6.2
28 notice { force: true, Symbol(proc-log.meta): true }
29 verbose exit 0
30 info ok

View File

@@ -1,35 +0,0 @@
0 verbose cli /opt/plesk/node/22/bin/node /opt/plesk/node/22/bin/npm
1 info using npm@10.9.4
2 info using node@v22.21.0
3 silly config load:file:/opt/plesk/node/22/lib/node_modules/npm/npmrc
4 silly config load:file:/opt/psa/admin/.npmrc
5 silly config load:file:/opt/plesk/node/22/etc/npmrc
6 verbose title npm install yarn
7 verbose argv "install" "--global" "yarn"
8 verbose logfile logs-max:10 dir:/opt/psa/admin/.npm/_logs/2025-10-23T07_07_05_547Z-
9 verbose logfile /opt/psa/admin/.npm/_logs/2025-10-23T07_07_05_547Z-debug-0.log
10 silly packumentCache heap:2197815296 maxSize:549453824 maxEntrySize:274726912
11 silly logfile done cleaning log files
12 silly idealTree buildDeps
13 silly fetch manifest yarn@*
14 silly packumentCache full:https://registry.npmjs.org/yarn cache-miss
15 http fetch GET 200 https://registry.npmjs.org/yarn 70ms (cache revalidated)
16 silly packumentCache full:https://registry.npmjs.org/yarn set size:432649 disposed:false
17 silly placeDep ROOT yarn@1.22.22 OK for: want: *
18 silly reify moves {}
19 http cache yarn@https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz 0ms (cache hit)
20 http fetch GET 200 https://registry.npmjs.org/npm 136ms
21 info run yarn@1.22.22 preinstall node_modules/yarn :; (node ./preinstall.js > /dev/null 2>&1 || true)
22 info run yarn@1.22.22 preinstall { code: 0, signal: null }
23 silly ADD node_modules/yarn
24 verbose cwd /opt/psa/admin
25 verbose os Linux 6.8.0-85-generic
26 verbose node v22.21.0
27 verbose npm v10.9.4
28 notice
28 notice New major version of npm available! 10.9.4 -> 11.6.2
28 notice Changelog: https://github.com/npm/cli/releases/tag/v11.6.2
28 notice To update run: npm install -g npm@11.6.2
28 notice { force: true, [Symbol(proc-log.meta)]: true }
29 verbose exit 0
30 info ok

View File

@@ -1,29 +0,0 @@
0 verbose cli /opt/plesk/node/22/bin/node /opt/plesk/node/22/bin/npm
1 info using npm@10.9.4
2 info using node@v22.21.1
3 silly config load:file:/opt/plesk/node/22/lib/node_modules/npm/npmrc
4 silly config load:file:/opt/psa/admin/.npmrc
5 silly config load:file:/opt/plesk/node/22/etc/npmrc
6 verbose title npm install yarn
7 verbose argv "install" "--global" "yarn"
8 verbose logfile logs-max:10 dir:/opt/psa/admin/.npm/_logs/2025-10-29T06_26_15_724Z-
9 verbose logfile /opt/psa/admin/.npm/_logs/2025-10-29T06_26_15_724Z-debug-0.log
10 silly packumentCache heap:2197815296 maxSize:549453824 maxEntrySize:274726912
11 silly logfile done cleaning log files
12 silly idealTree buildDeps
13 silly fetch manifest yarn@*
14 silly packumentCache full:https://registry.npmjs.org/yarn cache-miss
15 http fetch GET 200 https://registry.npmjs.org/yarn 88ms (cache revalidated)
16 silly packumentCache full:https://registry.npmjs.org/yarn set size:432649 disposed:false
17 silly placeDep ROOT yarn@1.22.22 OK for: want: *
18 silly reify moves {}
19 http cache yarn@https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz 0ms (cache hit)
20 info run yarn@1.22.22 preinstall node_modules/yarn :; (node ./preinstall.js > /dev/null 2>&1 || true)
21 info run yarn@1.22.22 preinstall { code: 0, signal: null }
22 silly ADD node_modules/yarn
23 verbose cwd /
24 verbose os Linux 6.8.0-85-generic
25 verbose node v22.21.1
26 verbose npm v10.9.4
27 verbose exit 0
28 info ok

View File

@@ -1,29 +0,0 @@
0 verbose cli /opt/plesk/node/24/bin/node /opt/plesk/node/24/bin/npm
1 info using npm@11.6.1
2 info using node@v24.11.0
3 silly config load:file:/opt/plesk/node/24/lib/node_modules/npm/npmrc
4 silly config load:file:/opt/psa/admin/.npmrc
5 silly config load:file:/opt/plesk/node/24/etc/npmrc
6 verbose title npm install yarn
7 verbose argv "install" "--global" "yarn"
8 verbose logfile logs-max:10 dir:/opt/psa/admin/.npm/_logs/2025-10-29T06_26_20_759Z-
9 verbose logfile /opt/psa/admin/.npm/_logs/2025-10-29T06_26_20_759Z-debug-0.log
10 silly packumentCache heap:2348810240 maxSize:587202560 maxEntrySize:293601280
11 silly logfile done cleaning log files
12 silly idealTree buildDeps
13 silly fetch manifest yarn@*
14 silly packumentCache full:https://registry.npmjs.org/yarn cache-miss
15 http cache https://registry.npmjs.org/yarn 10ms (cache hit)
16 silly packumentCache full:https://registry.npmjs.org/yarn set size:432649 disposed:false
17 silly placeDep ROOT yarn@1.22.22 OK for: want: *
18 silly reify moves {}
19 http cache yarn@https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz 0ms (cache hit)
20 info run yarn@1.22.22 preinstall node_modules/yarn :; (node ./preinstall.js > /dev/null 2>&1 || true)
21 info run yarn@1.22.22 preinstall { code: 0, signal: null }
22 silly ADD node_modules/yarn
23 verbose cwd /
24 verbose os Linux 6.8.0-85-generic
25 verbose node v24.11.0
26 verbose npm v11.6.1
27 verbose exit 0
28 info ok

View File

@@ -1,30 +0,0 @@
0 verbose cli /opt/plesk/node/24/bin/node /opt/plesk/node/24/bin/npm
1 info using npm@11.6.2
2 info using node@v24.11.1
3 silly config load:file:/opt/plesk/node/24/lib/node_modules/npm/npmrc
4 silly config load:file:/opt/psa/admin/.npmrc
5 silly config load:file:/opt/plesk/node/24/etc/npmrc
6 verbose title npm install yarn
7 verbose argv "install" "--global" "yarn"
8 verbose logfile logs-max:10 dir:/opt/psa/admin/.npm/_logs/2025-11-13T07_07_05_370Z-
9 verbose logfile /opt/psa/admin/.npm/_logs/2025-11-13T07_07_05_370Z-debug-0.log
10 silly packumentCache heap:2348810240 maxSize:587202560 maxEntrySize:293601280
11 silly logfile done cleaning log files
12 silly idealTree buildDeps
13 silly fetch manifest yarn@*
14 silly packumentCache full:https://registry.npmjs.org/yarn cache-miss
15 http fetch GET 200 https://registry.npmjs.org/yarn 82ms (cache revalidated)
16 silly packumentCache full:https://registry.npmjs.org/yarn set size:432649 disposed:false
17 silly placeDep ROOT yarn@1.22.22 OK for: want: *
18 http fetch GET 200 https://registry.npmjs.org/npm 117ms
19 silly reify moves {}
20 http cache yarn@https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz 0ms (cache hit)
21 info run yarn@1.22.22 preinstall node_modules/yarn :; (node ./preinstall.js > /dev/null 2>&1 || true)
22 info run yarn@1.22.22 preinstall { code: 0, signal: null }
23 silly ADD node_modules/yarn
24 verbose cwd /opt/psa/admin
25 verbose os Linux 6.8.0-85-generic
26 verbose node v24.11.1
27 verbose npm v11.6.2
28 verbose exit 0
29 info ok

View File

@@ -1,35 +0,0 @@
0 verbose cli /opt/plesk/node/24/bin/node /opt/plesk/node/24/bin/npm
1 info using npm@11.6.2
2 info using node@v24.12.0
3 silly config load:file:/opt/plesk/node/24/lib/node_modules/npm/npmrc
4 silly config load:file:/opt/psa/admin/.npmrc
5 silly config load:file:/opt/plesk/node/24/etc/npmrc
6 verbose title npm install yarn
7 verbose argv "install" "--global" "yarn"
8 verbose logfile logs-max:10 dir:/opt/psa/admin/.npm/_logs/2025-12-11T07_07_05_721Z-
9 verbose logfile /opt/psa/admin/.npm/_logs/2025-12-11T07_07_05_721Z-debug-0.log
10 silly packumentCache heap:2348810240 maxSize:587202560 maxEntrySize:293601280
11 silly logfile done cleaning log files
12 silly idealTree buildDeps
13 silly fetch manifest yarn@*
14 silly packumentCache full:https://registry.npmjs.org/yarn cache-miss
15 http fetch GET 200 https://registry.npmjs.org/yarn 54ms (cache updated)
16 silly packumentCache full:https://registry.npmjs.org/yarn set size:undefined disposed:false
17 silly placeDep ROOT yarn@1.22.22 OK for: want: *
18 silly reify moves {}
19 http cache yarn@https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz 0ms (cache hit)
20 http fetch GET 200 https://registry.npmjs.org/npm 127ms
21 info run yarn@1.22.22 preinstall node_modules/yarn :; (node ./preinstall.js > /dev/null 2>&1 || true)
22 info run yarn@1.22.22 preinstall { code: 0, signal: null }
23 silly ADD node_modules/yarn
24 verbose cwd /opt/psa/admin
25 verbose os Linux 6.8.0-85-generic
26 verbose node v24.12.0
27 verbose npm v11.6.2
28 notice
28 notice New minor version of npm available! 11.6.2 -> 11.7.0
28 notice Changelog: https://github.com/npm/cli/releases/tag/v11.7.0
28 notice To update run: npm install -g npm@11.7.0
28 notice { force: true, Symbol(proc-log.meta): true }
29 verbose exit 0
30 info ok

View File

@@ -1,20 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'change-customer-owner.title' => 'جارٍ نقل العملاء إلى مالك آخر',
'change-customer-owner.description' => 'سيتم نقل حسابات العميل إلى مالك آخر. يمكنك تغيير خطط الخدمة لاشتراكات العميل. للحفاظ على الموارد المتوفرة لأحد العملاء، اترك الخطة المخصصة محددة.',
'change-customer-owner.ownerHint' => 'سيتم نقل العملاء إلى المالك المحدد:',
'change-customer-owner.ipAddressHint' => 'يتعذر الحفاظ على عنوان IP المخصص.',
'change-customer-owner.loading' => 'يُرجى الانتظار...',
'change-customer-owner.ipAddressNotSelected' => 'حدد عنوان IP واحدًا على الأقل لكل اشتراك.',
'change-customer-owner.ownerNotSelected' => 'تحديد مالك:',
'customer.title' => 'تحويل العملاء إلى بائعي التجزئة',
'customer.description' => 'سيتم تحويل حسابات العميل إلى حسابات بائع تجزئة. يمكنك اختيار خطط بائع التجزئة للحسابات المحوّلة. للحفاظ على الموارد المتوفرة لأحد العملاء، حدد الخطة المخصصة: سيكون لدى بائع التجزئة مجموعة من حصص الموارد والأذونات وتطبيقات جميع الاشتراكات.',
'customer.loading' => 'جارٍ التحويل...',
'reseller.title' => 'تحويل بائعي التجزئة إلى عملاء',
'reseller.description' => 'سيتم تحويل بائعي التجزئة إلى عملاء.',
'reseller.descriptionExtended' => 'اختر خطط الخدمة الجديدة لبائعي التجزئة الذين لديهم اشتراكات خاصة بهم. للحفاظ على الموارد المتوفرة لأحد بائعي التجزئة، حدد خطة الخدمة المخصصة. لنقل اشتراكات بائع التجزئة إلى إحدى خطط الخدمة الموجودة، حدد خطة خدمة موجودة.',
'reseller.loading' => 'جارٍ التحويل...',
];

View File

@@ -1,43 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'buttonLoginAsCustomer' => 'تسجيل الدخول كعميل',
'buttonLoginAsCustomerHint' => 'انتقل إلى لوحة العميل لإدارة مواقع الويب والبريد وأي خدمات أخرى مقدّمة إلى العميل.',
'buttonRemove' => 'إزالة عميل',
'buttonRemoveHint' => 'أزل حساب العميل وجميع الاشتراكات المقترنة به.',
'buttonEditContact' => 'تحرير معلومات جهة الاتصال',
'buttonEditContactHint' => 'تحرير معلومات جهة الاتصال: الاسم والبريد الإلكتروني والعنوان وغير ذلك',
'buttonChangePassword' => 'تغيير معلومات تسجيل الدخول',
'buttonChangePasswordHint' => 'تغيير كلمة المرور و/أو اسم المستخدم المستخدَم للوصول إلى لوحة العميل.',
'buttonSuspend' => 'تعليق',
'buttonSuspendHint' => 'إيقاف حساب العميل مؤقتًا: سيُحظر الوصول إلى لوحة العميل للعميل وجميع المستخدمين الخاصين به؛ وستوقف مجالات العميل مؤقتًا، ولن يعود ممكنًا وصول مستخدمي الإنترنت إلى خدمات الويب وFTP والبريد.',
'buttonActivate' => 'تنشيط',
'buttonActivateHint' => 'نشّط الحساب.',
'buttonIisAppPool' => 'مجموعة تطبيقات IIS',
'buttonIisAppPoolHint' => 'إدارة مجموعة تطبيقات IIS',
'buttonConvertToReseller' => 'تحويل إلى بائع التجزئة',
'buttonConvertToResellerHint' => 'حوّل حساب العميل هذا إلى حساب بائع التجزئة.',
'buttonChangeOwner' => 'انتقال إلى آخر',
'hintChangeOwner' => 'نقل هذا العميل إلى مالك آخر.',
'contactName' => 'اسم جهة الاتصال',
'emailAddress' => 'عنوان البريد الإلكتروني',
'companyName' => 'اسم الشركة',
'username' => 'اسم المستخدم',
'setupDate' => 'تاريخ الإنشاء',
'status' => 'الحالة',
'provider' => 'الموفر',
'buttonRemoveCustomerConfirmationTitle' => 'هل أنت متأكد من إزالة العميل %%name%%؟',
'buttonRemoveCustomerConfirmationDescription' => 'ستؤدي إزالة هذا العميل أيضًا إلى حذف جميع اشتراكاته.',
'infoPersonalInfoUpdated' => 'تم تحديث معلومات جهة الاتصال.',
'infoLoginInfoUpdated' => 'تم تحديث معلومات تسجيل الدخول.',
'infoCustomerActivated' => 'تم تفعيل الحساب.',
'infoCustomerSuspended' => 'تم إيقاف الحساب مؤقتًا.',
'customerStillSuspended' => 'لا يزال المجال موقفًا مؤقتًا للسبب التالي: %%reason%%',
'customerStatusOffByAdmin' => 'الحساب موقف مؤقتًا من قِبل المسؤول.',
'customerStatusOffByReseller' => 'الحساب موقف مؤقتًا من قِبل بائع التجزئة.',
'customerStatusOffWithParent' => 'الحساب موقف مؤقتًا نظرًا لإيقاف مالكه.',
'customerStatusOffBackupRestore' => 'الحساب موقف مؤقتًا لإجراء النسخ الاحتياطي أو الاستعادة.',
'customerStatusOff' => 'الحساب موقف مؤقتًا.',
'customerDeleted' => 'تمت إزالة الحساب.',
'nothingToDelete' => 'لا يوجد شيء لإزالته',
];

View File

@@ -1,32 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'health.stateGreen' => 'موافق',
'health.stateYellow' => 'بحاجة إلى الانتباه',
'health.stateRed' => 'مشكلة',
'health.moreInfo' => 'تقارير تفصيلية',
'health.persentUsage' => '%%units%%% المستخدمة',
'health.persentUsageOf' => '%%units%%% المُستخدَمة (من %%totalUnits%%%، %%cores%% وحدة (وحدات) الذاكرة الأساسية)',
'health.persentUsageOfShort' => '%%units%%% (من %%totalUnits%%%، %%cores%% وحدة (وحدات) الذاكرة الأساسية)',
'health.usage' => '%%units%% من %%totalUnits%%',
'health.percentThreshold' => 'عند الوصول إلى %%value%%%',
'health.trendThreshold' => 'عند زيادة value%%x%%',
'health.absoluteThreshold' => 'عند الوصول إلى %%value%%',
'health.thresholdOr' => 'أو',
'health.thresholdLevelRed' => 'إنذار باللون الأحمر ("مشكلة")',
'health.thresholdLevelYellow' => 'إنذار باللون الأصفر ("بحالة إلى الانتباه")',
'health.hintInfo' => '(؟)',
'status.onStateCustomer' => 'نشط',
'status.offStateCustomer' => 'موقف مؤقتًا',
'status.onStateReseller' => 'نشط',
'status.offStateReseller' => 'موقف مؤقتًا',
'status.onStateSubscription' => 'نشط',
'status.offStateSubscription' => 'موقف مؤقتًا',
'status.lockedStateDomain' => 'مؤمن',
'status.unsynchronizedStateDomain' => 'غير متزامن',
'status.lockedStateClient' => 'مؤمن',
'status.unsynchronizedStateClient' => 'غير متزامن',
'status.on' => 'تشغيل',
'status.off' => 'إيقاف تشغيل',
];

View File

@@ -1,5 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'leftFrameSwitcher' => 'إخفاء/إظهار جزء التنقل',
];

View File

@@ -1,19 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'recordsTotal' => 'إجمالي العناصر %%total%%',
'pages' => 'الصفحات',
'firstPage' => 'الأول',
'lastPage' => 'آخر',
'numberOfItemPerPage' => 'المدخلات حسب الصفحة',
'hideSearch' => 'إخفاء البحث',
'showSearch' => 'إظهار البحث',
'buttonSearch' => 'بحث',
'buttonResetSearch' => 'إعادة تعيين البحث',
'noEntriesFound' => 'لا توجد عناصر.',
'itemsNotSelected' => 'تحديد العناصر أولاً.',
'messageBoxButtonYes' => 'نعم',
'messageBoxButtonNo' => 'لا',
'messageBoxButtonOk' => 'موافق',
'allItems' => 'الجميع',
];

View File

@@ -1,986 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'adminaliases.statusActive' => 'الحساب نشط.',
'adminaliases.statusInactive' => 'الحساب موقف مؤقتًا: يتعذر على هذا المسؤول تسجيل الدخول إلى Plesk.',
'adminaliases.buttonRemoveAdminAlias' => 'إزالة',
'adminaliases.hintRemoveAdminAlias' => 'إزالة حسابات المسؤول المحددة.',
'adminaliases.confirmOnRemove' => 'هل ترغب حقًا في إزالة حسابات المسؤول المحددة؟',
'adminaliases.buttonAddNewAdminAlias' => 'إضافة حساب مسؤول',
'adminaliases.hintAddNewAdminAlias' => 'إنشاء حساب مسؤول إضافي.',
'adminaliases.buttonMoreActions' => 'المزيد',
'adminaliases.buttonActivateAdminAlias' => 'تنشيط',
'adminaliases.hintActivateAdminAlias' => 'تفعيل حسابات المسؤول الموقفة مؤقتًا.',
'adminaliases.buttonDeactivateAdminAlias' => 'تعليق',
'adminaliases.hintDeactivateAdminAlias' => 'تعليق حسابات المسؤول المحددة. سيرفض Plesk الوصول إلى هؤلاء المسؤولين.',
'adminaliases.confirmOnDelete' => 'هل ترغب حقًا في إزالة حسابات المسؤول المحددة؟',
'adminaliases.login' => 'اسم المستخدم',
'adminaliases.contact' => 'اسم جهة الاتصال',
'adminaliases.email' => 'البريد الإلكتروني',
'adminaliases.comments' => 'تعليقات',
'appinfo.installedAt' => 'مسار التثبيت',
'appinfo.noInstallationUrlAvailable' => 'بلا',
'appinfo.subscriptionName' => 'اشتراك',
'appinfo.subscriptionOwner' => 'مالك الاشتراك',
'appinfo.buttonLogin' => 'فتح في لوحة العميل',
'appinfo.buttonLoginClassicMode' => 'إدارة الاستضافة',
'appinfo.hintLogin' => 'فتح لوحة العميل الخاصة بالمشترك.',
'appinfo.hintAdminLogin' => 'إدارة خدمات الاستضافة المقترنة بحساب استضافة معين: المجالات وDNS وتطبيقات الويب وقواعد البيانات والبريد وغير ذلك.',
'appinfo.hintLoginClassicMode' => 'إدارة خدمات الاستضافة المقترنة بحساب استضافة معين: المجالات وDNS وتطبيقات الويب وقواعد البيانات والبريد وغير ذلك.',
'appinfo.update' => 'التحديثات متوفرة.',
'appinfo.updateFailed' => 'فشل في التحديث.',
'appinfo.noUpdates' => 'لا توجد تحديثات متوفرة.',
'appinfo.foundUpdates' => 'التحديثات متوفرة للتطبيقات التالية:',
'appinfo.buttonCheckForUpdates' => 'التحقق من وجود تحديثات',
'appinfo.buttonCheckForUpdatesDescription' => 'التحقق من التحديثات المتوفرة.',
'appinfo.buttonChangeSettings' => 'الإعدادات',
'appinfo.buttonChangeSettingsDescription' => 'تغيير إعدادات التطبيق على مستوى الخادم.',
'appinfo.appNotConfigured' => 'غير مكوّن',
'appuploaded.name' => 'الاسم',
'appuploaded.numberOfInstances' => 'عدد عمليات التثبيت',
'appuploaded.buttonUploadNewApp' => 'إضافة تطبيق',
'appuploaded.buttonUploadNewAppDescription' => 'إضافة حزمة التطبيق إلى الخادم.',
'appuploaded.buttonRemove' => 'إزالة',
'appuploaded.buttonRemoveDescription' => 'إزالة الحزم المحددة.',
'appuploaded.confirmOnDelete' => 'هل ترغب بالتأكيد في إزالة الحزم المحددة؟',
'appuploaded.appInvisible' => 'غير متوفر للعملاء',
'appuploaded.appGlobalSettingsNotSet' => 'غير مكوّن',
'appuploaded.buttonMakeAppVisible' => 'جعلها متوفرة',
'appuploaded.buttonMakeAppVisibleDescription' => 'اجعل التطبيقات متوفرة للتثبيت من قبل العملاء.',
'appuploaded.buttonMakeAppInvisible' => 'جعلها غير متوفرة',
'appuploaded.buttonMakeAppInvisibleDescription' => 'اجعل التطبيقات غير متوفرة للتثبيت من قبل العملاء.',
'appusage.name' => 'الاسم',
'appusage.numberOfInstances' => 'عدد عمليات التثبيت',
'appusage.buttonCleanApplicationCache' => 'مسح ذاكرة التخزين المؤقت',
'appusage.buttonCleanApplicationCacheDescription' => 'حذف الملفات المؤقتة التي تم تنزيلها أثناء تثبيت التطبيقات.',
'appusage.buttonRedirectToMarket' => 'الانتقال إلى المتجر عبر الإنترنت',
'appusage.buttonRedirectToMarketDescription' => 'شراء تراخيص التطبيقات للتثبيت على مواقع الويب.',
'appusage.updateFailed' => 'فشل في التحديث.',
'appusage.noUpdates' => 'لا توجد تحديثات متوفرة.',
'appusage.foundUpdates' => 'التحديثات متوفرة للتطبيقات التالية:',
'appusage.buttonCheckForUpdates' => 'التحقق من وجود تحديثات',
'appusage.buttonCheckForUpdatesDescription' => 'التحقق من التحديثات المتوفرة في كتالوج التطبيقات.',
'appusage.buttonUpdateSettings' => 'إعدادات التحديث',
'appusage.buttonUpdateSettingsDescription' => 'إعدادات تحديث التطبيق على مستوى الخادم.',
'controlpanelaccessnetworks.ipAddress' => '‫عنوان IP',
'controlpanelaccessnetworks.subnetMask' => '‫قناع الشبكة الفرعية‬',
'controlpanelaccessnetworks.buttonAddNewNetwork' => '‫إضافة شبكة‬',
'controlpanelaccessnetworks.buttonAddNewNetworkDescription' => '‫انقر لإضافة الشبكة للوصول إلى قائمة التقييد.',
'controlpanelaccessnetworks.buttonRemove' => '‫إزالة‬',
'controlpanelaccessnetworks.buttonRemoveDescription' => '‫انقر لإزالة الشبكات المحددة من القائمة.',
'controlpanelaccessnetworks.confirmOnDelete' => '‫هل ترغب في إزالة الشبكات المحددة؟‬',
'controlpanelaccessnetworks.buttonSettings' => '‫الإعدادات‬',
'controlpanelaccessnetworks.buttonSettingsDescription' => '‫انقر لتغيير الوصول إلى سياسة التقييد.',
'controlpanelaccessnetworks.loadingTitle' => '‫يُرجى الانتظار. ‫جارٍ التحميل...',
'customers.filterCustomerName' => 'اسم العميل',
'customers.filterSubscription' => 'اشتراك',
'customers.filterOptionSubscriptionAny' => 'أي',
'customers.filterOptionSubscriptionMy' => 'خططي',
'customers.filterOptionSubscriptionReseller' => 'خطط %%planOwnerContactName%%', // Note for translators: you can use here structure like "Plans of Reseller <name>" or alike if it is more convenient
'customers.filterOptionSubscriptionCustom' => 'مخصص',
'customers.filterOwnership' => 'الموفر',
'customers.filterOptionOwnershipAny' => 'جميع العملاء',
'customers.filterOptionOwnershipMy' => 'عملائي',
'customers.filterOwnershipReseller' => 'عملاء %%resellerContactName%%', //Note for translators: see 'filterOptionSubscriptionReseller'
'customers.filterResourceUsage' => 'استخدام الموارد',
'customers.filterOptionResourceUsageAny' => 'أي',
'customers.filterOptionResourceUsageOveruse' => 'موارد مستخدمة بشكل زائد',
'customers.filterOptionResourceUsageOk' => 'ضمن الحدود',
'customers.filterStatus' => 'الحالة',
'customers.filterOptionStatusAny' => 'أي',
'customers.filterOptionStatusSuspended' => 'موقف مؤقتًا',
'customers.filterOptionStatusActive' => 'نشط',
'customers.filterDescription' => 'الوصف',
'customers.statusOk' => 'حساب العميل نشط.',
'customers.statusInactive' => 'حساب العميل غير نشط: يُحظر وصول العميل إلى لوحة العميل.',
'customers.statusSuspended' => 'حساب العميل موقف مؤقتًا: يُحظر الوصول إلى لوحة العميل للعميل وجميع المستخدمين الخاصين به؛ وتوقف مجالات العميل مؤقتًا، ولن يعود ممكنًا وصول مستخدمي الإنترنت إلى خدمات الويب وFTP والبريد.',
'customers.customerName' => 'اسم العميل',
'customers.subscription' => 'اشتراك',
'customers.setupDate' => 'تاريخ الإعداد',
'customers.ownerName' => 'الموفر',
'customers.buttonLogin' => 'تسجيل الدخول كعميل',
'customers.buttonLoginClassicMode' => 'إدارة الاستضافة',
'customers.hintLogin' => 'سجّل الدخول كعميل.',
'customers.hintLoginClassicMode' => 'إدارة خدمات الاستضافة المقترنة بحساب استضافة العميل: المجالات وDNS وتطبيقات الويب وقواعد البيانات والبريد وغير ذلك.',
'customers.buttonRemoveCustomer' => 'إزالة',
'customers.hintRemoveCustomer' => 'إزالة العملاء المحددين.',
'customers.confirmOnRemove' => 'هل ترغب حقًا في إزالة حسابات العميل المحددة؟',
'customers.buttonConvertCustomersToReseller' => 'تحويل إلى بائعي التجزئة',
'customers.hintConvertCustomersToReseller' => 'تحويل حسابات العميل المحددة إلى حسابات بائع التجزئة.',
'customers.buttonAddNewCustomer' => 'إضافة عميل',
'customers.hintAddNewCustomer' => 'إنشاء حساب عميل لديه اشتراك.',
'customers.buttonChangeStatus' => 'تغيير الحالة',
'customers.hintChangeStatus' => 'تغيير حالة العميل إلى "نشط" أو "معلق"',
'customers.buttonSuspendCustomers' => 'تعليق',
'customers.hintSuspendCustomers' => 'إيقاف حسابات العميل المحددة مؤقتًا. سيُحظر الوصول إلى لوحة العميل للعملاء وجميع المستخدمين الخاصين بهم؛ وستوقف مجالات العملاء مؤقتًا، ولن يعود ممكنًا وصول مستخدمي الإنترنت إلى خدمات الويب وFTP والبريد.',
'customers.buttonActivateCustomers' => 'تنشيط',
'customers.hintActivateCustomers' => 'تفعيل حسابات العميل المحددة.',
'customers.buttonChangeOwner' => 'نقل إلى',
'customers.hintChangeOwner' => 'نقل العملاء المحددين إلى بائع تجزئة آخر.',
'customers.customPlanName' => 'مخصص',
'customers.selectNewIp' => 'حدد عنوان IP',
'customers.selectAnotherOwner' => 'تحديد مالك',
'customers.shared' => 'مشترك',
'customers.exclusive' => 'مخصص',
'customers.confirmOnDelete' => 'هل أنت متأكد من أنك تريد إزالة {count, plural, =1 {حساب عميل {name}} one {حساب العميل المحدد} other { # حسابات عملاء المحددين}}؟',
'customers.hintInfo' => '(؟)',
'customerserviceplans.planName' => 'اسم الخطة',
'customerserviceplans.planTraffic' => 'نسبة استخدام الشبكة',
'customerserviceplans.planDiskSpace' => 'مساحة القرص',
'customerserviceplans.planSubscriptions' => 'اشتراكات',
'customerserviceplans.planOwner' => 'الموفر',
'customerserviceplans.filterPlanItem' => 'عنصر الخطة المخصصة',
'customerserviceplans.filterOptionPlanItemAny' => 'أي',
'customerserviceplans.filterOwnership' => 'مالك الخطة',
'customerserviceplans.filterOptionOwnershipAny' => 'جميع الخطط',
'customerserviceplans.filterOptionOwnershipMy' => 'خططي',
'customerserviceplans.filterOwnershipReseller' => 'خطط %%resellerContactName%%',
'customerserviceplans.unlimited' => 'غير محدود',
'customerserviceplans.addonPlanType' => '(وظيفة إضافية)',
'customerserviceplans.buttonAddNewPlan' => 'إضافة خطة',
'customerserviceplans.hintAddNewPlan' => 'إنشاء خطة استضافة.',
'customerserviceplans.buttonDuplicatePlans' => 'استنساخ خطط',
'customerserviceplans.hintDuplicatePlans' => 'إنشاء نسخ من خطط الخدمة المحددة.',
'customerserviceplans.buttonAddNewAddonPlan' => 'إضافة وظيفة إضافية',
'customerserviceplans.hintAddNewAddonPlan' => 'إنشاء وظيفة إضافية لخطة الاستضافة.',
'customerserviceplans.buttonRemove' => 'إزالة',
'customerserviceplans.hintRemove' => 'إزالة خطط الخدمة المحددة.',
'customerserviceplans.buttonMoreActions' => 'المزيد من الإجراءات',
'customerserviceplans.confirmOnDelete' => 'هل ترغب حقًا في إزالة خطط الخدمة المحددة؟',
'customerserviceplans.disabledSelectHint' => 'تحتوي خطة الخدمة على اشتراك واحد على الأقل مقترن بها وتتعذر إزالته.',
'domains.filterHint' => 'تصفية المجالات حسب المعايير',
'domains.filterDomainName' => 'الاسم',
'domains.filterStatus' => 'الحالة',
'domains.filterOptionStatusAny' => 'أي',
'domains.filterOptionStatusSuspended' => 'موقف مؤقتًا',
'domains.filterOptionStatusDisabled' => 'مُعطَّل',
'domains.filterOptionStatusActive' => 'نشط',
'domains.filterHostingType' => 'نوع الاستضافة',
'domains.filterPhpHandler' => 'معالج PHP',
'domains.filterOptionPhpHandlerAny' => 'أي',
'domains.filterOptionHostingTypeAny' => 'أي',
'domains.filterOptionHostingTypeNone' => 'لا توجد استضافة',
'domains.filterOptionHostingTypeForward' => 'إعادة توجيه المجال',
'domains.filterOptionHostingTypeAlias' => 'اسم مستعار للمجال',
'domains.filterOptionHostingTypeVirtualHost' => 'استضافة المجال',
'domains.filterOptionHostingTypeSubdomain' => 'استضافة المجال الفرعي',
'domains.filterSubscriberName' => 'المشترك',
'domains.filterServiceNode' => 'عقدة الخدمة',
'domains.filterServiceNodeOptionAny' => 'أي',
'domains.filterDescription' => 'الوصف',
'domains.filterTitlePlaceholder' => 'العثور على المجالات...',
'domains.filterTitle' => 'عامل التصفية',
'domains.filterApply' => 'تطبيق عامل التصفية',
'domains.filterClear' => 'مسح',
'domains.statusDisabled' => 'المجال مُعطّل.',
'domains.statusSuspended' => 'المجال موقف مؤقتًا.',
'domains.domainName' => 'اسم المجال',
'domains.hostingType' => 'نوع الاستضافة',
'domains.ownerName' => 'المشترك',
'domains.setupDate' => 'تاريخ الإعداد',
'domains.expirationDate' => 'تاريخ انتهاء الصلاحية',
'domains.diskUsage' => 'استخدام القرص',
'domains.traffic' => 'نسبة استخدام الشبكة',
'domains.status' => '‫الحالة‬',
'domains.description' => 'الوصف',
'domains.resellerDescription' => 'بائع تجزئة',
'domains.ownerDescription' => 'العميل',
'domains.openSite' => '‫فتح‬',
'domains.previewSite' => '‫معاينة‬',
'domains.manageInResellerPanel' => 'الإدارة في لوحة بائع التجزئة',
'domains.manageInCustomerPanel' => 'الإدارة في لوحة العميل',
'domains.customPlanName' => 'مخصص',
'domains.website' => 'موقع ويب',
'domains.subdomainWebsite' => 'موقع الويب للمجال الفرعي',
'domains.noHosting' => 'لا توجد استضافة',
'domains.forwardingTo' => 'إعادة توجيه إلى',
'domains.aliasFor' => 'اسم مستعار لـ',
'domains.websiteIcon' => 'رمز الموقع الإلكتروني',
'domains.dnsIcon' => 'رمز DNS',
'domains.noHostingIcon' => 'لا يوجد رمز استضافة',
'domains.forwardingToIcon' => 'رمز إعادة التوجيه',
'domains.forwardingToDomain' => 'إعادة التوجيه إلى %%domain%%',
'domains.aliasForDomain' => 'الاسم المستعار لـ %%domain%%',
'domains.add' => 'إضافة',
'domains.buttonAddDomain' => 'إضافة مجال',
'domains.hintAddDomain' => 'إذا كنت ترغب في امتلاك عناوين بريد إلكتروني تحت اسم مجال ما فقط، فعليك استضافة موقع ويب جديد على هذا الخادم أو ضبط إعادة التوجيه إلى موقع ويب آخر أو إنشاء منطقة DNS للمجال.',
'domains.buttonAddSubdomain' => 'إضافة مجال فرعي',
'domains.hintAddSubdomain' => 'إنشاء موقع يحمل عنوان اسم مجال من المستوى الثالث، على سبيل المثال shop.example.com.',
'domains.buttonAddDomainAlias' => 'إضافة اسم مستعار للمجال',
'domains.hintAddDomainAlias' => 'إعداد اسم مجال إضافي لموقعك.',
'domains.hintRemove' => 'إزالة مواقع الويب المحددة وكل محتوى الويب بها والتطبيقات وقواعد البيانات والبريد.',
'domains.removeConfirmation' => 'هل أنت متأكد أنك تريد إزالة {count, plural, =1 {مجال {name}} one {المجال المحدد} other { # مجالات المحددة}}؟',
'domains.removeConfirmationSubscription' => "سيتم حذف النطاقات التالية أيضًا: %%domains%%",
'domains.buttonSetStatus' => 'تعيين الحالة',
'domains.hintSetStatus' => 'تغيير حالة المجال إلى "نشط"، أو "مُعلق"، أو "معطل"',
'domains.activateActionStatus' => 'نشط',
'domains.hintActivateDomains' => 'جعل المجالات المحددة نشطة.',
'domains.disableActionStatus' => 'معطل',
'domains.hintDisableDomains' => 'تعطيل المجالات المحددة.',
'domains.suspendActionStatus' => 'موقف مؤقتًا',
'domains.hintSuspendDomains' => 'تعليق المجالات المحددة.',
'domains.changeStatusNoItems' => 'تحديد مجال واحد أو أكثر لتغيير حالتهم',
'domains.removeNoItems' => 'تحديد مجال واحد أو أكثر لإزالته',
'domains.activated' => 'تم تفعيل المجالات أو الأسماء المستعارة المحددة',
'domains.disabled' => 'تم تعطيل المجالات والأسماء المستعارة المحددة',
'domains.suspended' => 'تم إيقاف المجالات والأسماء المستعارة المحددة مؤقتًا',
'dnsaclrecords.value' => 'عنوان IP',
'dnsaclrecords.add' => 'إضافة عنوان IP',
'dnsaclrecords.remove' => 'إزالة',
'dnsaclrecords.hintRemove' => 'حذف عناوين IP المحددة.',
'dnsaclrecords.confirmOnDelete' => 'هل تريد إزالة عناوين IP المحددة؟',
'dnsaclrecords.emptyViewTitle' => 'غير مسموح بنقل المنطقة',
'dnsaclrecords.emptyViewDescription1' => 'لأسباب تتعلق بالأمان، لا يمكنك السماح بنقل منطقة DNS سوى إلى الخوادم المحددة في سجلات NS للمنطقة.',
'dnsaclrecords.emptyViewDescription2' => 'لتحديد خادم واحد أو أكثر تسمح بالنقل إليه، انقر فوق "إضافة عنوان IP".',
'eventhandlers.event' => '‫الحدث‬',
'eventhandlers.priority' => '‫الأولوية‬',
'eventhandlers.priorityHighest' => '‫الأعلى (%%value%%)',
'eventhandlers.priorityHigh' => '‫عالية (%%value%%)',
'eventhandlers.priorityNormal' => '‫عادية (%%value%%)',
'eventhandlers.priorityLow' => '‫منخفضة (%%value%%)',
'eventhandlers.priorityLowest' => '‫الأدنى (%%value%%)',
'eventhandlers.user' => '‫المستخدم‬',
'eventhandlers.command' => '‫أمر‬',
'eventhandlers.buttonAddNewEventHandler' => '‫إضافة معالج أحداث‬',
'eventhandlers.buttonAddNewEventHandlerDescription' => '‫إعداد معالج أحداث جديد.',
'eventhandlers.buttonRemove' => '‫إزالة‬',
'eventhandlers.buttonRemoveDescription' => '‫إزالة معالجات الأحداث المحددة.',
'eventhandlers.confirmOnDelete' => '‫هل تريد إزالة معالجات الأحداث المحددة؟‬',
'firewallicmprules.status' => '‫الحالة‬',
'firewallicmprules.on' => 'القاعدة نشطة.',
'firewallicmprules.off' => 'القاعدة غير نشطة.',
'firewallicmprules.name' => 'اسم القاعدة',
'firewallicmprules.allowinboundrouterrequest' => 'السماح بطلب التوجيه الوارد',
'firewallicmprules.allowinboundtimestamprequest' => 'السماح بطلب الطابع الزمني الوارد',
'firewallicmprules.allowinboundmaskrequest' => 'السماح بطلب القناع الوارد',
'firewallicmprules.allowoutboundsourcequench' => 'السماح بكبح مصدر الصادر',
'firewallicmprules.allowoutboundparameterproblem' => 'السماح بمشكلة المعلمات الصادرة',
'firewallicmprules.allowredirect' => 'السماح بإعادة التوجيه',
'firewallicmprules.allowinboundechorequest' => 'السماح بطلب الارتداد الوارد',
'firewallicmprules.allowoutboundtimeexceeded' => 'السماح بوقت الصادر الذي تم تجاوزه',
'firewallicmprules.allowoutbounddestinationunreachable' => 'السماح بالوجهة الصادرة التي لا يمكن الوصول إليها',
'firewallinterfaces.firewall' => 'حالة جدار الحماية',
'firewallinterfaces.firewallOn' => 'تم تشغيل جدار الحماية لواجهة مستخدم الشبكة.',
'firewallinterfaces.firewallOff' => 'تم إيقاف تشغيل جدار الحماية لواجهة مستخدم الشبكة.',
'firewallinterfaces.connection' => 'حالة الواجهة',
'firewallinterfaces.connectionOn' => 'تم تشغيل اتصال واجهة الشبكة.',
'firewallinterfaces.connectionOff' => 'تم إيقاف تشغيل اتصال واجهة الشبكة.',
'firewallinterfaces.name' => 'اسم واجهة المستخدم',
'firewallinterfaces.type' => 'نوع واجهة المستخدم',
'firewallinterfaces.statusOn' => 'تشغيل',
'firewallinterfaces.statusOff' => 'إيقاف تشغيل',
'firewallrules.status' => '‫الحالة‬',
'firewallrules.on' => 'القاعدة نشطة.',
'firewallrules.off' => 'القاعدة غير نشطة.',
'firewallrules.name' => 'اسم القاعدة',
'firewallrules.description' => '‫الوصف‬',
'firewallrules.descriptionText' => '%%action%% الاتصالات الواردة من %%from%% على المنفذ %%port%%، ملفات التعريف: %%profiles%%',
'firewallrules.allow' => 'السماح',
'firewallrules.block' => 'رفض',
'firewallrules.fromAll' => 'الكل',
'firewallrules.groupAdd' => 'إضافة',
'firewallrules.buttonAdd' => 'إضافة قاعدة',
'firewallrules.buttonAddHint' => 'إضافة قاعدة إلى جدار الحماية',
'firewallrules.groupActions' => '‫الإجراءات‬',
'firewallrules.buttonRemove' => 'إزالة',
'firewallrules.removeEmptySelection' => 'لم تُحدّد أي قواعد لجدار الحماية.',
'firewallrules.removeConfirmation' => 'هل تريد إزالة {count, plural, =1 {قاعدة جدار الحماية {name}} one {الـ # قاعدة المحددة لجدار الحماية} other {الـ # قواعد المحددة لجدار الحماية}}؟',
'firewallrules.removeSuccess' => 'تمت إزالة قواعد جدار الحماية المحددة.',
'ftpsessions.buttonRemove' => '‫إغلاق‬',
'ftpsessions.buttonRemoveDescription' => '‫إغلاق جلسات عمل FTP المحددة‬',
'ftpsessions.buttonRefresh' => '‫تحديث‬',
'ftpsessions.buttonRefreshDescription' => '‫تحديث البيانات على الشاشة‬',
'ftpsessions.typeColumnName' => 'تيرا',
'ftpsessions.statusColumnName' => 'S',
'ftpsessions.loginColumnName' => '‫تسجيل الدخول‬',
'ftpsessions.domainColumnName' => '‫اسم المجال‬',
'ftpsessions.currentLocationColumnName' => '‫الموقع الحالي‬',
'ftpsessions.fileNameColumnName' => '‫اسم الملف‬',
'ftpsessions.speedColumnName' => '‫السرعة، كيلوبايت/ثانية‬',
'ftpsessions.progressColumnName' => '‫التقدم، %',
'ftpsessions.ipAddressColumnName' => '‫عنوان IP',
'ftpsessions.logonTimeColumnName' => '‫وقت الدخول‬',
'ftpsessions.idleTimeColumnName' => '‫وقت الخمول‬',
'ftpsessions.sessionTypeDomainAdminTooltip' => '‫جلسة مسؤول المجال.',
'ftpsessions.sessionTypeSubDomainAdminTooltip' => '‫جلسة مسؤول مجال فرعي.',
'ftpsessions.sessionTypeWebUserTooltip' => '‫جلسة مستخدم الويب.',
'ftpsessions.sessionTypeFtpAccountTooltip' => '‫جلسة عمل حساب FTP.',
'ftpsessions.sessionTypeAnonymousTooltip' => '‫جلسة مستخدم FTP مجهولة.',
'ftpsessions.sessionTypeNotPleskUserTooltip' => '‫مستخدم FTP غير مسجل في Plesk.',
'ftpsessions.sessionStatusIdle' => '‫وضع الخمول (لا توجد معاملات).',
'ftpsessions.sessionStatusUploadInProgress' => '‫التحميل قيد التقدم.',
'ftpsessions.sessionStatusDownloadInProgress' => '‫التنزيل قيد التقدم.',
'ftpsessions.sessionStatusDownloadingDirsList' => '‫تحميل قائمة الأدلة.',
'ftpsessions.sessionStatusLastCmdIsType' => '‫آخر أمر تم إرساله بواسطة العميل هو TYPE.',
'ftpsessions.sessionStatusLastCmdIsPass' => '‫آخر أمر تم إرساله بواسطة العميل هو PASS.',
'ftpsessions.sessionStatusLastCmdIsNoop' => '‫آخر أمر تم إرساله بواسطة العميل هو NOOP.',
'ftpsessions.sessionStatusNotKnown' => '‫نشاط FTP غير معروف.',
'ftpsessions.confirmOnDelete' => '‫هل ترغب بالتأكيد في إنهاء جلسات العمل المحددة؟‬',
'ipaddresses.buttonAddNewIpAddress' => 'إضافة عنوان IP',
'ipaddresses.buttonAddNewIpAddressDescription' => 'إضافة عنوان IP إلى مجموعة عناوين IP في الخادم.',
'ipaddresses.buttonRereadConfiguration' => 'إعادة قراءة عنوان IP',
'ipaddresses.buttonRereadConfigurationDescription' => 'مزامنة قائمة عناوين IP مع تكوين محولات الشبكة.',
'ipaddresses.buttonReloadPublic' => 'تحديث عناوين IP العامة',
'ipaddresses.buttonReloadPublicDescription' => 'حدِّث عناوين IP العامة بناءً على البيانات الوصفية لمثيل hyperscaler',
'ipaddresses.buttonFirewall' => 'جدار الحماية',
'ipaddresses.buttonFirewallDescription' => 'إعداد جدار الحماية.',
'ipaddresses.buttonRemove' => 'إزالة',
'ipaddresses.buttonRemoveDescription' => 'إزالة',
'ipaddresses.confirmOnDelete' => 'هل تمت إزالة عناوين IP المحددة؟',
'ipaddresses.address' => 'عنوان IP',
'ipaddresses.publicAddress' => 'عنوان IP العام',
'ipaddresses.type' => 'نوع IP',
'ipaddresses.interface' => 'واجهة المستخدم',
'ipaddresses.resellerCount' => 'بائعو التجزئة',
'ipaddresses.subscriptionCount' => 'المواقع',
'ipaddresses.typeAny' => 'أي',
'ipaddresses.typeShared' => 'مشترك',
'ipaddresses.typeExclusive' => 'مخصص',
'ipaddresses.typeSharedHint' => 'مشترك',
'ipaddresses.typeExclusiveHint' => 'مخصص',
'ipaddresses.ipAddressBroken' => 'عنوان IP هذا غير مُكوّن بطريقة صحيحة.',
'ipaddresses.ipAddressBlacklisted' => 'عنوان IP هذا مدرج بالقائمة السوداء.',
'ipaddresses.repair' => 'إصلاح',
'ipaddresses.buttonSearch' => 'بحث',
'ipaddresses.buttonResetSearch' => 'إعادة تعيين البحث',
'ipaddresses.removeConfirmation' => 'هل أنت متأكد أنك تريد إزالة {count, plural, =1 {عنوان IP {name}} one {الـ # عنوان IP المحددة} other {الـ # عناوين IP المحددة}}؟',
'ipaddresses.hint' => 'عرض عناوين IP وإضافتها وحذفها.',
'ipaddresses.hintWithResellers' => 'عرض عناوين IP وإضافتها وحذفها وتخصيصها لبائعي التجزئة.',
'ipaddresses.repairSuccess' => 'تمت مزامنة عنوان %%IP %%address مع النظام.',
'ipaddresses.removeSuccess' => 'تمت إزالة عناوين IP المحددة.',
'resourceusage.clientName' => 'اسم العميل',
'resourceusage.domainName' => 'المجال',
'resourceusage.webUsage' => 'ويب',
'resourceusage.mailUsage' => 'البريد',
'resourceusage.databaseUsage' => 'قاعدة بيانات',
'resourceusage.logsUsage' => 'السجلات',
'resourceusage.backupsUsage' => 'نسخ احتياطية',
'resourceusage.configsUsage' => 'ملفات التكوين',
'resourceusage.anonFtpUsage' => 'FTP مجهول',
'resourceusage.noResults' => 'لا توجد معلومات بخصوص استخدام موارد المجالات.',
'resourceusage.webStatistics' => 'إحصائيات SSL/TLS للويب',
'languages.headerStatus' => 'S',
'languages.headerCode' => 'حزمة اللغة',
'languages.headerLanguage' => 'اللغة',
'languages.headerCountry' => 'البلد',
'languages.headerUsed' => 'مستخدم',
'languages.filterCode' => 'حزمة اللغة',
'languages.buttonDisable' => 'تعطيل',
'languages.buttonDisableDescription' => 'جعل اللغات المحددة غير متاحة للمستخدمين.',
'languages.disableDone' => 'لم تعد اللغات المحددة متاحة للمستخدمين.',
'languages.buttonEnable' => 'تمكين',
'languages.buttonEnableDescription' => 'جعل اللغات المحددة متاحة للمستخدمين.',
'languages.enableDone' => 'أصبحت اللغات المحددة متاحة للمستخدمين.',
'languages.buttonMakeDefault' => 'تعيين كافتراضي',
'languages.buttonMakeDefaultDescription' => 'تعيين اللغة المحددة كافتراضية لموقع Plesk.',
'languages.makeDefaultDone' => 'تم تعيين اللغة المحددة لغةً افتراضية لموقع Plesk.',
'languages.makeDefaultSelectOne' => 'حدد لغةً تريد أن تعيّنها كلغة افتراضية لموقع Plesk.',
'languages.statusActive' => 'هذه اللغة متاحة لمستخدمي Plesk.',
'languages.statusActiveUnavailable' => 'أصبحت هذه اللغة غير متاحة للمستخدمين بسبب تجاوز حد عدد اللغات المسموح بها.',
'languages.buttonHintStatusActive' => 'انقر فوق هذا الرمز لجعل اللغة غير متاحة للمستخدمين.',
'languages.statusInactive' => 'هذه اللغة غير متاحة للمستخدمين.',
'languages.buttonHintStatusInactive' => 'انقر فوق هذا الرمز لجعل اللغة متاحة للمستخدمين.',
'languages.buttonHintStatusDefaultLangugage' => 'هذه هي اللغة الافتراضية: يتعذر عليك إلغاء إتاحتها للمستخدمين.',
'languages.langUnknown' => 'يتعذر التعرف على اللغة',
'languages.countryUnknown' => 'يتعذر التعرف على الرمز الفرعي للدولة',
'mailqueue.filterQueue' => 'قوائم الانتظار',
'mailqueue.filterSubject' => 'الموضوع',
'mailqueue.filterSender' => 'مرسِل',
'mailqueue.filterRecipients' => 'مستلِم',
'mailqueue.subject' => 'الموضوع',
'mailqueue.sender' => 'مرسِل',
'mailqueue.recipients' => 'المستلمون',
'mailqueue.date' => 'التاريخ',
'mailqueue.age' => 'العمر',
'mailqueue.size' => 'الحجم',
'mailqueue.buttonRefresh' => 'تحديث',
'mailqueue.buttonRefreshHint' => 'تحديث البيانات على الشاشة.',
'mailqueue.buttonRemove' => 'إزالة',
'mailqueue.buttonRemoveHint' => 'إزالة الرسائل المحددة من قائمة انتظار البريد.',
'mailqueue.confirmOnDelete' => 'هل ترغب حقًا في إزالة الرسائل المحددة من قائمة انتظار البريد؟',
'mailqueue.buttonClean' => 'مسح',
'mailqueue.buttonCleanHint' => 'مسح قائمة انتظار البريد لجميع الرسائل.',
'mailqueue.confirmOnClean' => 'هل ترغب حقًا في مسح قائمة انتظار البريد؟',
'mailqueue.queueAll' => 'الجميع',
'mailqueue.queueTodo' => 'غير معالجة مسبقًا',
'mailqueue.queueRemote' => 'بعيد',
'mailqueue.queueLocal' => 'محلي',
'mailqueue.queueLocalAndRemote' => 'محلي وبعيد',
'mailqueue.queueActive' => 'تفعيل قائمة انتظار الرسائل',
'mailqueue.queueCorrupted' => 'قائمة انتظار الرسائل التالفة',
'mailqueue.queueDeferred' => 'قائمة انتظار الرسائل المؤجلة',
'mailqueue.queueHold' => 'قائمة انتظار الرسائل قيد الانتظار',
'mailqueue.queueIncoming' => 'قائمة انتظار الرسائل الواردة',
'mailqueue.postfixHint' => 'الرسائل الموجودة في قائمة الانتظار: %%deferred%% مؤجل، %%hold%% الانتظار، %%incoming%% الوارد، %%active%% نشط، %%corrupted%% تالف، %%total%% الإجمالي.',
'mailqueue.qmailHint' => 'الرسائل الموجودة في قائمة الانتظار: %%todo%% غير معالجة مسبقًا، %%local%% محلي، %%remote%% بعيد، %%total%% الإجمالي.',
'mailqueue.messagesDeleted' => 'تمت إزالة الرسائل المحددة من قائمة انتظار البريد.',
'mailqueue.messagesNotDeleted' => 'تتعذر إزالة بعض الرسائل من قائمة انتظار البريد: %%error%%',
'mailqueue.queueCleaned' => 'تم مسح قائمة انتظار البريد بنجاح.',
'mailqueue.queueNotCleaned' => 'يتعذر مسح قائمة انتظار البريد: %%error%%.',
'phpextensions.enable' => 'تمكين الملحق',
'phpextensions.disable' => 'تعطيل الملحق',
'phpextensions.installable.status' => '‫الحالة‬',
'phpextensions.installable.notInstalled' => 'غير مثبت',
'phpextensions.installable.outdated' => 'إصدار قديم، أحدث إصدار هو %%latestVersion%%',
'phpextensions.installable.latest' => 'الأحدث',
'phpextensions.installable.name' => '‫الحزمة‬',
'phpextensions.installable.description' => '‫الوصف‬',
'phpextensions.installable.actionInstall' => 'تثبيت',
'phpextensions.installable.actionUpgrade' => 'الترقية للإصدار %%version%%',
'phpextensions.installable.actionDocs' => 'التوثيق',
'phpextensions.installable.actionUninstall' => 'إلغاء تثبيت',
'phpextensions.installable.uninstallConfirmation' => 'هل أنت متأكد أنك تريد إلغاء تثبيت حزمة %%name%%؟',
'phpextensions.installable.groupInstall' => 'تثبيت',
'phpextensions.installable.groupReload' => 'إعادة تحميل',
'phpextensions.installable.buttonInstallCustom' => 'تثبيت الحزمة',
'phpextensions.installable.buttonInstallCustomHint' => 'تثبيت أي حزمة PECL',
'phpextensions.installable.buttonReload' => 'إعادة تحميل',
'phpextensions.installable.buttonReloadHint' => 'إعادة تحميل حِزم PECL',
'phpextensions.installable.emptyViewFilteredTitle' => 'تعذر العثور على أي حِزم مطابقة لعامل التصفية',
'phpextensions.installable.emptyViewFilteredDescription' => 'حاول تثبيت الحزمة التي تبحث عنها.',
'phphandlers.name' => 'المعالج',
'phphandlers.domains' => 'المجالات',
'phphandlers.statusBroken' => 'هذا المعالج تالف.',
'phphandlers.statusDisallowedApacheModule' => 'لا يمكن تمكين المعالج بسبب إيقاف تشغيل وحدة Apache ذات الصلة.',
'phphandlers.domainsTitle' => '%%domains%% تستخدم المجالات PHP %%handler%%',
'phphandlers.closeTitle' => 'إغلاق',
'phphandlers.handlerOutdated' => '(قديم)',
'phphandlers.handlerDeprecated' => '(مهمل)',
'phphandlers.handlerOutdatedAndDeprecated' => '(قديم، مهمل)',
'planitems.name' => 'الاسم',
'planitems.numberOfPlans' => 'خطط الخدمة',
'planitems.numberOfSubscriptions' => 'اشتراكات',
'planitems.itemInvisible' => 'غير متوفر لبائعي التجزئة',
'planitems.buttonMakeItemVisible' => 'جعلها متوفرة',
'planitems.buttonMakeItemVisibleDescription' => 'اسمح لبائعي التجزئة بتوفير الخدمات المحددة مع خطط الاستضافة الخاصة بهم. ستظهر الخيارات المقابلة لهذه الخدمات في خصائص خطة الاستضافة، على علامة تبويب الخدمات الإضافية.',
'planitems.buttonMakeItemInvisible' => 'جعلها غير متوفرة',
'planitems.buttonMakeItemInvisibleDescription' => 'لا تسمح لبائعي التجزئة بتوفير الخدمات المحددة مع خطط الاستضافة الخاصة بهم. ستتم إزالة الخيارات المقابلة لهذه الخدمات من خصائص خطة الاستضافة.',
'planitems.buttonAddNewCustomItemButton' => 'إضافة خدمة',
'planitems.buttonAddNewCustomItemButtonDescription' => 'إضافة خدمة إلى خيارات الخطة.',
'planitems.buttonRemoveCustomItem' => 'إزالة الخدمة',
'planitems.buttonRemoveCustomItemDescription' => 'إزالة الخيارات المقابلة للخدمات المحددة من خصائص خطة الاستضافة.',
'planitems.confirmOnDeleteSupportButton' => 'هل ترغب بالتأكيد في إزالة الخيارات المحددة؟',
'pumpackages.buttonUpdate' => '‫تحديث‬',
'pumpackages.buttonUpdateDescription' => '‫تحديث الحزم المحددة.',
'pumpackages.buttonLock' => '‫تأمين‬',
'pumpackages.buttonLockDescription' => '‫تأمين الحزم المحددة لتفادي التحديثات.',
'pumpackages.buttonUnlock' => '‫إلغاء التأمين‬',
'pumpackages.buttonUnlockDescription' => '‫إلغاء تأمين الحزم المحددة للسماح بالتحديثات.',
'pumpackages.buttonCheckUpdates' => '‫التحقق من وجود تحديثات‬',
'pumpackages.buttonCheckUpdatesDescription' => '‫التحقق من تحديثات الحزمة.',
'pumpackages.name' => '‫الحزمة‬',
'pumpackages.summary' => '‫الوصف‬',
'pumpackages.updates' => '‫التحديثات‬',
'pumpackages.lockedCut' => 'L',
'pumpackages.lockedHint' => '‫الحزمة مؤمّنة.',
'pumpackages.unlockedHint' => '‫الحزمة غير مؤمّنة.',
'pumpackages.updated' => '‫مُحدّث‬',
'pumpackages.update' => '‫تحديث إلى %%version%%',
'pumpackages.unknownRepo' => 'غير معروف',
'pumpackages.allUpToDate' => '‫جميع الحزم مُحدّثة‬',
'pumpackages.allUpToDateLastChecked' => '‫تم التحقق في %%date%%.',
'pumpackages.recheckUpdates' => '‫إعادة التحقق الآن‬',
'pumpackages.popupInfoTitle' => '‫تفاصيل حزمة %%package%%',
'pumpackages.loading' => '‫يُرجى الانتظار...',
'pumpackages.error' => '‫يتعذر الوصول إلى قائمة الحزم: %%message%%',
'pumpackages.currentVersion' => '‫الإصدار الحالي: %%version%%',
'pumpackages.notInstalled' => '‫غير مثبت‬',
'pumpackages.popupUpdateTitle' => '‫تحديث الحزم‬',
'pumpackages.popupUpdatePackagesListTitle' => '‫تثبيت التحديثات التالية:',
'pumpackages.popupUpdateLockedPackagesListTitle' => '‫يتم تأمين الحزم المطلوبة التالية لتحديثها:',
'pumpackages.popupUpdateDependencies' => '%%count%% من الحزم التابعة‬',
'pumpackages.unlockPackagesForUpdateOnly' => '‫إلغاء تأمين الحزم لإفساح المجال أمام هذا التحديث فقط.',
'pumpackages.lockedError' => 'تثبت أداة تحديثات النظام التحديثات بالفعل في الوضع التلقائي. يرجى تكرار المحاولة في وقت لاحق.',
'pumpackages.duplicatesError' => 'خطأ: تعذر تلقي معلومات التحديث نظرًا لأن بعض الحزم بها نسخ مكررة. قم بإزالة التكرارات من الحزم التالية: %%duplicates%%',
'pumpackages.updateInfoError' => '‫الخطأ: يتعذر استلام معلومات التحديث للحزمة (الحزم)',
'pumpackages.selectedPackagesUpToDate' => '‫كل الحزم المحددة مُحدّثة.',
'pumpackages.taskUpdatingPackages' => 'جارٍ تحديث عدد %%count%% من الحزم...',
'pumpackages.popupLockTitle' => '‫تأمين الحزم‬',
'pumpackages.popupLockDescription' => 'إذا قمت بقفل حزمة، فلن يتم تحديثها بواسطة أداة تحديثات النظام (ما لم تقم بتحديث Plesk نفسه). إذا تطلبت الحزم الأخرى إصدارًا أجدد من هذه الحزمة لتحديثاتها، فلن يتم تحديثها. لاحظ أنه لا يزال بإمكانك تحديث حزمة تم قفلها عبر الوسائل الأصلية في وحدة التحكم. لتحديث حزمة تم قفلها من واجهة Plesk، قم بإلغاء قفلها أولاً.',
'pumpackages.popupLockPackagesListTitle' => '‫تأمين الحزم التالية:',
'pumpackages.popupUnlockTitle' => '‫إلغاء تأمين الحزم‬',
'pumpackages.popupUnlockDescription' => '‫يتعذر تحديث هذه الحزم لأنها مؤمّنة لتفادي التحديثات. ‫لاحظ أنه لا يزال يمكنك تحديث حزمة مؤمّنة بواسطة وسائل أصلية في وحدة التحكم، أو أثناء تحديث Plesk نفسه. ‫لتحديث حزم مؤمّنة من واجهة Plesk، ألغ تأمينها أولاً.',
'pumpackages.popupUnlockPackagesListTitle' => '‫إلغاء تأمين الحزم التالية:',
'pumpackages.updatesAvailable' => '‫تحديثات %%count%% من حزم الأنظمة متوفرة‬',
'pumpackages.lastedChecked' => '(تم التحقق في %%date%%)',
'pumpackages.updateAll' => '‫تحديث الكل‬',
'pumpackages.packageManagerDbInconsistent' => 'قد لا تكون المعلومات في بعض الحزم حقيقية: تم اكتشاف حالات عدم تناسق في قاعدة بيانات مدير حزم النظام. يُرجى حل هذه المشكلة يدويًا.',
'resellers.filterResellerName' => 'اسم بائع التجزئة',
'resellers.filterSubscription' => 'اشتراك',
'resellers.filterOptionSubscriptionAny' => 'أي',
'resellers.filterOptionSubscriptionCustom' => 'مخصص',
'resellers.filterResourceUsage' => 'استخدام الموارد',
'resellers.filterOptionResourceUsageAny' => 'أي',
'resellers.filterOptionResourceUsageOveruse' => 'موارد مستخدمة بشكل زائد',
'resellers.filterOptionResourceUsageOk' => 'ضمن الحدود',
'resellers.filterStatus' => 'الحالة',
'resellers.filterOptionStatusAny' => 'أي',
'resellers.filterOptionStatusSuspended' => 'موقف مؤقتًا',
'resellers.filterOptionStatusActive' => 'نشط',
'resellers.filterSubscriptionStatus' => 'حالة الاشتراك',
'resellers.filterOptionSubscriptionStatusAny' => 'أي',
'resellers.filterOptionSubscriptionStatusLocked' => 'مؤمن',
'resellers.filterOptionSubscriptionStatusUnsynchronized' => 'غير متزامن',
'resellers.filterDescription' => 'الوصف',
'resellers.buttonAddNewReseller' => 'إضافة بائع تجزئة',
'resellers.hintAddNewReseller' => 'إنشاء حساب بائع التجزئة.',
'resellers.buttonRemove' => 'إزالة',
'resellers.hintRemove' => 'إزالة بائعي التجزئة المحددين وجميع خطط الخدمة والعملاء والاشتراكات الخاصة بهم.',
'resellers.confirmOnDelete' => 'هل أنت متأكد من أنك تريد إزالة {count, plural,=1 {{name} حساب الموزع}one {حساب الموزع المحدد}other {# حسابات الموزع المحددة}} وجميع {count, plural,one {الخاصة به}other {الخاصة بهم}}، لخطط الخدمة والعملاء والاشتراكات؟',
'resellers.buttonConvertToCustomer' => 'تحويل إلى العملاء',
'resellers.hintConvertToCustomer' => 'تحويل بائعي التجزئة المحددين إلى العملاء.',
'resellers.buttonChangeStatus' => 'تغيير الحالة',
'resellers.hintChangeStatus' => 'تغيير حالة الموزع إلى "نشط" أو "معلق"',
'resellers.buttonActivateResellers' => 'تنشيط',
'resellers.hintActivateResellers' => 'تنشيط حسابات بائع التجزئة المحددة.',
'resellers.buttonSuspendResellers' => 'تعليق',
'resellers.hintSuspendResellers' => 'إيقاف حسابات بائع التجزئة المحددة مؤقتًا. سيُحظر الوصول إلى لوحة العميل لبائعي التجزئة وكل عملائهم؛ وستوقف مجالات بائعي التجزئة وعملائهم مؤقتًا، ولن يعود ممكنًا وصول مستخدمي الإنترنت إلى خدمات الويب وFTP والبريد.',
'resellers.resellerName' => 'اسم بائع التجزئة',
'resellers.planName' => 'خطة الخدمة',
'resellers.setupDate' => 'تاريخ الإعداد',
'resellers.customers' => 'العملاء',
'resellers.customPlanName' => 'مخصص',
'resellers.buttonLogin' => 'تسجيل الدخول كبائع تجزئة',
'resellers.hintLogin' => 'إدارة خدمات الاستضافة المقترنة بحساب استضافة بائع التجزئة.',
'resellers.statusOk' => 'حالة حساب بائع التجزئة هذا على ما يرام: الحساب نشط وتتم مزامنة الاشتراك مع الخطة.',
'resellers.statusSuspended' => 'حساب بائع التجزئة هذا موقف مؤقتًا: يُحظر الوصول إلى لوحة العميل لبائع التجزئة وكل عملائه؛ وتوقف مجالات بائع التجزئة وعملائه مؤقتًا، ولن يعود ممكنًا وصول مستخدمي الإنترنت إلى خدمات الويب وFTP والبريد.',
'resellers.statusLocked' => 'تُحظر مزامنة الاشتراك: يُستبعد الاشتراك من المزامنة مع خطة الخدمة نظرًا لتخصيص معلمات الاشتراك.',
'resellers.statusUnsynchronized' => 'لن تتم مزامنة الاشتراك مع خطة بائع التجزئة: توجد بعض الخدمات أو الموارد التي تقدمها خطة بائع التجزئة ولا يوفرها الاشتراك.',
'resellerserviceplans.planName' => 'اسم الخطة',
'resellerserviceplans.planTraffic' => 'نسبة استخدام الشبكة',
'resellerserviceplans.planDiskSpace' => 'مساحة القرص',
'resellerserviceplans.planSubscriptions' => 'بائعو التجزئة',
'resellerserviceplans.unlimited' => 'غير محدود',
'resellerserviceplans.buttonAddNewPlan' => 'إضافة خطة',
'resellerserviceplans.hintAddNewPlan' => 'إنشاء خطة بائع التجزئة.',
'resellerserviceplans.buttonDuplicatePlans' => 'استنساخ خطط',
'resellerserviceplans.hintDuplicatePlans' => 'إنشاء نسخ من خطط بائع التجزئة المحددة.',
'resellerserviceplans.buttonRemove' => 'إزالة',
'resellerserviceplans.hintRemove' => 'إزالة خطط بائع التجزئة المحددة.',
'resellerserviceplans.confirmOnDelete' => 'إزالة خطط بائع التجزئة المحددة؟',
'resellerserviceplans.disabledSelectHint' => 'تتعذر إزالة خطط بائع التجزئة مع اشتراك واحد مقترن على الأقل.',
'restricteddomains.name' => 'اسم المجال',
'restricteddomains.buttonAddNewDomain' => 'إضافة اسم المجال',
'restricteddomains.toggleProhibitedList' => 'منع إنشاء المجالات من القائمة أدناه',
'restricteddomains.toggleResolution' => 'منع إنشاء المجالات التي يتم تحويلها إلى خوادم أخرى',
'restricteddomains.hintAddNewDomain' => 'إضافة اسم مجال محظور.',
'restricteddomains.buttonDisableList' => 'تعطيل',
'restricteddomains.hintDisableList' => 'إيقاف ميزة التحقق من أسماء المجالات أثناء إنشاء المجال.',
'restricteddomains.buttonRemoveDomain' => 'إزالة',
'restricteddomains.hintRemoveDomain' => 'إزالة أسماء المجالات المحددة.',
'restricteddomains.confirmOnRemove' => 'إزالة أسماء المجالات المحددة?',
'restricteddomains.buttonMoreActions' => 'المزيد',
'servermailblacklist.groupAdd' => 'إضافة',
'servermailblacklist.buttonAdd' => 'إضافة مجال',
'servermailblacklist.buttonAddHint' => 'إضافة نطاق إلى القائمة السوداء',
'servermailblacklist.groupActions' => '‫الإجراءات‬',
'servermailblacklist.buttonRemove' => 'إزالة',
'servermailblacklist.entries' => 'المدخلات',
'servermailblacklist.action' => 'الإجراء',
'servermailblacklist.deleteAction' => 'الحذف من الخادم',
'servermailblacklist.spamAction' => 'تحديد كبريد عشوائي',
'servermailblacklist.spamAssassinDisabled' => 'لن تُحدَد المدخلات كرسائل بريد عشوائي نظرًا لعدم تثبيت SpamAssassin أو إيقاف تشغيله',
'servermailblacklist.removeEmptySelection' => 'لم يتم تحديد مدخلات.',
'servermailblacklist.removeConfirmation' => 'هل تريد إزالة {count, plural, =1 {إدخال {name}} one {الـ # إدخال المحدد} other {الـ # إدخالات المحددة}}؟',
'servermailblacklist.removeSuccess' => 'تمت إزالة الإدخالات المحددة.',
'servermailwhitelist.groupAdd' => 'إضافة',
'servermailwhitelist.buttonAdd' => '‫إضافة شبكة‬',
'servermailwhitelist.buttonAddHint' => 'إضافة شبكة إلى القائمة البيضاء',
'servermailwhitelist.groupActions' => '‫الإجراءات‬',
'servermailwhitelist.buttonRemove' => 'إزالة',
'servermailwhitelist.entries' => 'المدخلات',
'servermailwhitelist.whiteListNotEmpty' => 'لن تعمل القيود على البريد الصادر بالنسبة إلى مُرسلي البريد الذين توجد عناوين IP الخاصة بهم في القائمة البيضاء لخادم البريد. على سبيل المثال، في حالة وجود مضيف محلي (127.0.0.0 / 8، ::1 / 128) في القائمة البيضاء، سيتم إرسال جميع رسائل البريد الإلكتروني من الخادم المحلي بصرف النظر عن التقييدات. يمكن أن يستخدم مرسلو البريد إما عناوين IP المحلية (مواقع الويب والبرامج النصية المخصصة المستضافة على الخادم المحلي) أو العناوين الخارجية (العملاء الذين يرسلون البريد من عملاء البريد المثبتين على أجهزة الكمبيوتر أو الأجهزة المحمولة الخاصة بهم). لجعل القيود تعمل بالنسبة إلى جميع مرسلي البريد (كل من المحليين والخارجيين)، قم بإزالة جميع عناوين IP والشبكات من القائمة البيضاء. لاحظ أن إزالة المضيف المحلي (127.0.0.0 / 8، ::1 / 128) من القائمة البيضاء قد يعطل تشغيل مواقع الويب والبرامج النصية التي ترسل البريد من هذا الخادم. للحصول على تفاصيل حول التقييدات على البريد الصادر، راجع دليل المسؤول، والحماية من البريد العشوائي الخارجي.',
'servermailwhitelist.removeEmptySelection' => 'لم يتم تحديد مدخلات.',
'servermailwhitelist.removeConfirmation' => 'هل تريد إزالة {count, plural, =1 {إدخال {name}} one {الـ # إدخال المحدد} other {الـ # إدخالات المحددة}}؟',
'servermailwhitelist.webmailAffected' => 'إن إزالة {count, plural, =1 {الشبكة} one {الشبكة} other {الشبكات}} التالية قد يجعل إرسال رسالة البريد من بريد الويب أمرًا مستحيلًا: %%list%%',
'servermailwhitelist.webmailAffectedSingle' => 'إن إزالة هذه الشبكة قد تجعل إرسال رسالة البريد من بريد الويب أمرًا مستحيلًا.',
'servermailwhitelist.removeSuccess' => 'تمت إزالة الإدخالات المحددة.',
'serverprotection.bannedips.pageHint' => 'هنا يمكنك عرض عناوين IP المحظورة، قم برفع الحظر عنها أو نقلها إلى قائمة عناوين IP الموثوق بها.',
'serverprotection.bannedips.ip' => 'عنوان IP',
'serverprotection.bannedips.banDate' => 'تم حظره في',
'serverprotection.bannedips.jail' => 'الحماية المستخدمة',
'serverprotection.bannedips.buttonRemoveIp' => 'رفع الحظر',
'serverprotection.bannedips.hintRemoveIp' => 'إزالة عناوين IP المحددة من قائمة العناوين المحظورة.',
'serverprotection.bannedips.hintRemoveIpFail2BanDisabled' => 'لإلغاء حظر عناوين IP، تحتاج إلى تفعيل Fail2Ban.',
'serverprotection.bannedips.buttonMoveToTrustedIp' => 'نقل إلى عناوين IP الموثوق بها',
'serverprotection.bannedips.hintMoveToTrustedIp' => 'نقل عناوين IP المحددة إلى قائمة العناوين الموثوق بها.',
'serverprotection.bannedips.hintMoveToTrustedIpFail2BanDisabled' => 'لجعل عناوين IP موثوقة، تحتاج إلى تفعيل Fail2Ban.',
'serverprotection.bannedips.buttonEnable' => 'تشغيل ميزة الحظر على عنوان IP',
'serverprotection.bannedips.hintEnable' => 'تشغيل ميزة الحظر التلقائي على عناوين IP والشبكات التي تسبب مرورًا ضارًا على خادمك.',
'serverprotection.bannedips.buttonDisable' => 'إيقاف ميزة الحظر على عنوان IP',
'serverprotection.bannedips.hintDisable' => 'إيقاف ميزة الحظر التلقائي على عناوين IP والشبكات التي تسبب مرورًا ضارًا على خادمك.',
'serverprotection.bannedips.errorEnableFailed' => 'لا يمكن تشغيل ميزة حظر عنوان IP: %%error%%.',
'serverprotection.bannedips.errorDisableFailed' => 'لا يمكن إيقاف تشغيل ميزة حظر عنوان IP: %%error%%.',
'serverprotection.bannedips.buttonBanIp' => 'حظر عنوان IP',
'serverprotection.bannedips.hintBanIp' => 'إضافة عنوان IP إلى قائمة العناوين المحظورة.',
'serverprotection.bannedips.hintBanIpFail2BanDisabled' => 'لحظر عناوين IP، تحتاج إلى تفعيل Fail2Ban.',
'serverprotection.bannedips.hintBanIpNoActiveManualJails' => 'لحظر عناوين IP، تحتاج إلى تفعيل أداة حماية على الأقل من أدوات الحماية التالية: %%manualJailList%%.',
'serverprotection.filters.pageHint' => 'هنا يمكنك إدارة عوامل تصفية أدوات الحماية:',
'serverprotection.filters.buttonAddFilter' => 'إضافة عامل التصفية',
'serverprotection.filters.hintAddFilter' => 'إضافة عامل تصفية.',
'serverprotection.filters.buttonRemoveFilter' => 'إزالة',
'serverprotection.filters.hintRemoveFilter' => 'إزالة عوامل التصفية المحددة.',
'serverprotection.filters.name' => 'اسم عامل التصفية',
'serverprotection.jails.pageHint' => 'هنا يمكنك عرض قائمة بأدوات الحماية المستخدمة للكشف عن عناوين IP غير الصالحة.',
'serverprotection.jails.buttonAddJail' => 'إضافة أداة حماية',
'serverprotection.jails.hintAddJail' => 'إضافة أداة حماية.',
'serverprotection.jails.buttonDisableJails' => 'إيقاف التشغيل',
'serverprotection.jails.hintDisableJails' => 'إيقاف أدوات الحماية المحددة.',
'serverprotection.jails.buttonActivateJails' => 'تشغيل',
'serverprotection.jails.hintActivateJails' => 'تشغيل أدوات الحماية المحددة.',
'serverprotection.jails.buttonRemoveJail' => 'إزالة',
'serverprotection.jails.hintRemoveJail' => 'إزالة أدوات الحماية المحددة.',
'serverprotection.jails.buttonManageFilters' => 'إدارة عوامل التصفية',
'serverprotection.jails.hintManageFilters' => 'هنا يمكنك إدارة عوامل تصفية أدوات الحماية.',
'serverprotection.jails.name' => 'اسم أداة الحماية',
'serverprotection.jails.disabled' => 'غير نشط',
'serverprotection.jails.active' => 'نشط',
'serverprotection.jails.status' => 'الحالة',
'serverprotection.jails.confirmOnDelete' => 'هل ترغب حقًا في إزالة الحواجز المحددة؟',
'serverprotection.logs.pageHint' => 'هنا يمكنك عرض سجلات Fail2ban.',
'serverprotection.logs.name' => 'الملف',
'serverprotection.logs.viewHint' => 'عرض ملف السجل.',
'serverprotection.logs.buttonDownloadHint' => 'تنزيل ملف السجل',
'serverprotection.trustedips.pageHint' => 'هنا يمكنك عرض عناوين IP الموثوق بها وإضافة عناوين IP إليها أو إزالتها من قائمة العناوين الموثوق بها.',
'serverprotection.trustedips.ip' => 'عنوان IP',
'serverprotection.trustedips.ipDesc' => '‫الوصف‬',
'serverprotection.trustedips.addDate' => 'تمت الإضافة إلى الموثوق به في',
'serverprotection.trustedips.comment' => 'تعليق',
'serverprotection.trustedips.buttonRemoveIp' => 'إزالة',
'serverprotection.trustedips.hintRemoveIp' => 'إزالة عناوين IP المحددة من قائمة العناوين الموثوق بها.',
'serverprotection.trustedips.buttonAddTrustedIp' => 'إضافة عنوان IP موثوق به',
'serverprotection.trustedips.hintAddTrustedIp' => 'إضافة عنوان IP إلى قائمة عناوين IP الموثوق بها.',
'serverprotection.trustedips.buttonEditTrustedIp' => 'تحرير الوصف',
'serverprotection.trustedips.buttonEditHint' => 'تحرير وصف عنوان IP.',
'services.stateColumnHeader' => '‫الحالة‬',
'services.nameColumnHeader' => '‫الخدمة‬',
'services.startupTypeColumnHeader' => '‫نوع البدء‬',
'services.autoStartupType' => '‫تلقائي‬',
'services.manualStartupType' => '‫يدوي‬',
'services.disabledStartupType' => '‫مُعطَّل‬',
'services.changeStartupTypeTooltip' => '‫تغيير نوع البدء للخدمة‬',
'services.drwebName' => '‫برنامج Plesk Premium Antivirus',
'services.postgresqlName' => 'PostgreSQL',
'services.tomcatName' => 'Tomcat Java',
'services.imap-pop3Name' => 'Dovecot IMAP and POP3 server',
'services.pop3Name' => 'Courier POP3 server',
'services.pop3sName' => '‫خادم Courier POP3 مع دعم SSL/TLS',
'services.imapName' => '‫خادم Courier IMAP',
'services.imapsName' => '‫خادم Courier IMAP مع دعم SSL/TLS',
'services.authdaemonName' => '‫برنامج مصادقة Courier IMAP الذي يتم تشغيله في الخلفية‬',
'services.dnsName' => '‫خادم DNS (%%displayName%%)',
'services.fail2banName' => 'IP Address Banning (Fail2ban)',
'services.kavName' => '‫برنامج Kaspersky لمكافحة الفيروسات‬',
'services.milterName' => "‫عامل تصفية Plesk (%%displayName%%)",
'services.nginxName' => '‫عكس خادم الوكيل (nginx)',
'services.smtpName' => '‫خادم SMTP (%%displayName%%)',
'services.spamassassinName' => "SpamAssassin",
'services.webName' => "‫خادم الويب (%%displayName%%)",
'services.resctrlName' => "وحدة التحكم في الموارد (Cgroups)",
'services.activeState' => 'تشغيل',
'services.inActiveState' => 'إيقاف تشغيل',
'services.do-restart' => 'إعادة تشغيل',
'services.do-start' => 'بدء التشغيل',
'services.do-stop' => 'إيقاف التشغيل',
'services.do-changeStartup' => 'المعالجة',
'services.notConfiguredState' => 'غير مكوّن',
'services.notInstalledState' => 'غير مثبت',
'services.running-start' => 'تم بدء تشغيل الخدمة بالفعل.',
'services.notRunning-start' => 'بدء تشغيل الخدمة.',
'services.running-stop' => 'إيقاف الخدمة.',
'services.notRunning-stop' => 'الخدمة متوقفة بالفعل.',
'services.running-restart' => 'إعادة تشغيل الخدمة.',
'services.notRunning-restart' => 'الخدمة متوقفة.',
'services.startServiceDrWeb' => '‫لبدء خدمة مكافحة الفيروسات يجب أن يكون لديك علبة بريد واحدة على الأقل ممكَّن عليها فحص برنامج مكافحة الفيروسات.',
'services.serviceDisabled' => '‫لا تتوفر هذه الميزة لأنه إمّا مفتاح الترخيص الخاص بك لا يدعمها أو لم يتم تثبيت الخدمة أو تكوينها بشكل صحيح.',
'services.serviceDisabledStartupType' => '‫الخدمة معطّلة.',
'services.phpHandlerSettingsByOsVendor' => '%%displayName%% حسب بائع نظام التشغيل‬',
'services.phpFpm' => 'PHP-FPM %%displayName%%',
'services.urlrewriteComponentName' => "‫إعادة كتابة عنوان URL",
'services.dbconnectorComponentName' => "‫موصل قاعدة البيانات‬",
'services.tomcatComponentName' => 'Apache Tomcat',
'services.mysqlserverComponentName' => 'خادم MariaDB/MySQL',
'services.troubleshootingComponentName' => '‫استكشاف الأخطاء وإصلاحها‬',
'services.wafComponentName' => '‫جدار حماية تطبيق الويب‬',
'services.vcsComponentName' => '‫نظام التحكم في الإصدار‬',
'services.antivirusComponentName' => "‫برنامج مكافحة الفيروسات‬",
'services.databaseComponentName' => "‫خادم SQL",
'services.sqladminComponentName' => "MySQL Webadmin",
'services.sqladminmysqlComponentName' => "MySQL Webadmin",
'services.dnsserverComponentName' => "‫خادم DNS",
'services.firewallComponentName' => "‫جدار الحماية‬",
'services.ftpserverComponentName' => "‫خادم FTP",
'services.javaComponentName' => "Java",
'services.mailserverComponentName' => "‫خادم البريد‬",
'services.pleskagentComponentName' => "‫وكيل Plesk",
'services.psaComponentName' => "Plesk",
'services.scriptComponentName' => "‫البرمجة النصية للويب‬",
'services.spamfilterComponentName' => "‫عامل تصفية البريد العشوائي‬",
'services.statsComponentName' => "‫إحصائيات الويب‬",
'services.stunnelComponentName' => "غلاف SSL/TLS",
'services.webmailComponentName' => "‫بريد الويب‬",
'services.webpublishComponentName' => "‫نشر الويب‬",
'services.webserverComponentName' => "‫خادم الويب‬",
'services.backupsystemComponentName' => '‫النسخ الاحتياطي للنظام‬',
'services.networkComponentName' => '‫الشبكات‬',
'services.sitebuilderComponentName' => 'Presence Builder',
'services.saviComponentName' => 'واجهة Sophos Anti-Virus',
'services.waitMessage' => '‫من فضلك، انتظر‬',
'services.buttonRefreshComponents' => 'تحديث',
'services.searchTitle' => 'البحث عن الخدمات...',
'services.hintRefreshComponents' => 'قائمة تحديث المكونات',
'sessions.searchTitle' => '‫البحث عن جلسات العمل النشطة‬',
'sessions.buttonRefresh' => '‫تحديث‬',
'sessions.buttonRefreshDescription' => '‫مزامنة قائمة جلسات العمل مع جلسات العمل المفتوحة حاليًا.',
'sessions.buttonRemove' => '‫إغلاق‬',
'sessions.buttonRemoveDescription' => '‫إغلاق جلسات العمل المحددة.',
'sessions.removeConfirmMessage' => '‫هل ترغب في إغلاق جلسات العمل المحددة؟‬',
'sessions.buttonSettings' => '‫إعدادات الجلسة‬',
'sessions.buttonSettingsDescription' => '‫تغيير معلمات الجلسة.',
'sessions.headerType' => 'تيرا',
'sessions.headerLogin' => '‫تسجيل الدخول‬',
'sessions.headerIpAddress' => '‫عنوان IP',
'sessions.headerLogonTime' => '‫وقت الدخول‬',
'sessions.headerIdleTime' => '‫وقت الخمول‬',
'sessions.typeAdmin' => '‫جلسة المسؤول.',
'sessions.typeReseller' => '‫جلسة بائع التجزئة.',
'sessions.typeClient' => '‫جلسة العميل.',
'sessions.altAdminIcon' => '‫مسؤول النظام‬',
'sessions.altResellerIcon' => '‫بائع تجزئة‬',
'sessions.altClientIcon' => '‫العميل‬',
'sslcertificates.name' => 'الاسم',
'sslcertificates.used' => 'مُستخدَم',
'sslcertificates.csrHint' => 'مُكوّن CSR متوفر.',
'sslcertificates.noCsrHint' => 'مُكوّن CSR غير متوفر.',
'sslcertificates.privateKeyHint' => 'مُكوّن المفتاح الخاص متوفر.',
'sslcertificates.noPrivateKeyHint' => 'مُكوّن المفتاح الخاص غير متوفر.',
'sslcertificates.certificateHint' => 'مُكوّن الشهادة متوفر.',
'sslcertificates.noCertificateHint' => 'مُكوّن الشهادة غير متوفر.',
'sslcertificates.caCertificateHint' => 'مُكوّن شهادة المرجع المصدق متوفر.',
'sslcertificates.noCaCertificateHint' => 'مُكوّن شهادة المرجع المصدق غير متوفر.',
'sslcertificates.buttonDownloadHint' => 'قم بتنزيل جميع مكونات الشهادة.',
'sslcertificates.remove' => 'إزالة',
'sslcertificates.hintRemove' => 'إزالة شهادات SSL/TLS المحددة من مستودع النطاقات.',
'sslcertificates.confirmOnDelete' => 'إزالة شهادات SSL/TLS المحددة؟',
'sslcertificates.addCertificate' => 'إضافة',
'sslcertificates.hintAddCertificate' => 'إضافة شهادة SSL/TLS.',
'sslcertificates.viewCertificates' => 'عرض',
'sslcertificates.hintViewCertificates' => 'عرض قائمة بشهادات SSL/TLS التي اشتريتها من المزود التابع له.',
'sslcertificates.unableSetupPanelCertificate' => 'يتعذر تثبيت الشهادة في Plesk: محتويات المفتاح الخاص والشهادة مفقودة.',
'sslcertificates.makeDefault' => 'تعيين كافتراضي',
'sslcertificates.hintMakeDefault' => 'استخدم شهادة SSL/TLS المحددة لتأمين الاتصالات بمواقع الويب التي تم إنشاؤها حديثًا.',
'sslcertificates.unableMakeDefault' => 'يتعذر تثبيت الشهادة الافتراضية: لم تحدد أي شهادة مع المفتاح الخاص.',
'sslcertificates.successMakeDefault' => 'تم تكوين شهادة SSL/TLS المحددة باعتبارها الافتراضية. يمكن استخدامها لتأمين كل مواقع الويب الحالية والتي تم إنشاؤها حديثًا. ستستمر مواقع الويب المستخدمة للشهادة الافتراضية السابقة في استخدام تلك الشهادة.',
'sslcertificates.selectOne' => 'حدد شهادة SSL/TLS واحدة.',
'subscriptions.filterDomainName' => 'الاسم',
'subscriptions.filterSubscription' => 'خطة الخدمة',
'subscriptions.filterOptionSubscriptionAny' => 'أي',
'subscriptions.filterOptionSubscriptionMy' => 'خططي',
'subscriptions.filterOptionSubscriptionReseller' => 'خطط %%planOwnerContactName%%',
'subscriptions.filterOptionSubscriptionCustom' => 'مخصص',
'subscriptions.filterOptionSubscriptionAddonType' => '(وظيفة إضافية)',
'subscriptions.filterResourceUsage' => 'استخدام الموارد',
'subscriptions.filterOptionResourceUsageAny' => 'أي',
'subscriptions.filterOptionResourceUsageOveruse' => 'موارد مستخدمة بشكل زائد',
'subscriptions.filterOptionResourceUsageOk' => 'ضمن الحدود',
'subscriptions.filterPlanItem' => 'عنصر الخطة المخصصة',
'subscriptions.filterOptionPlanItemAny' => 'أي',
'subscriptions.filterProvider' => 'الموفر',
'subscriptions.filterOptionProviderAny' => 'جميع الاشتراكات',
'subscriptions.filterOptionProviderMy' => 'اشتراكاتي',
'subscriptions.filterProviderReseller' => 'اشتراكات %%resellerContactName%%',
'subscriptions.filterStatus' => 'الحالة',
'subscriptions.filterOptionStatusAny' => 'أي',
'subscriptions.filterOptionStatusSuspended' => 'موقف مؤقتًا',
'subscriptions.filterOptionStatusActive' => 'نشط',
'subscriptions.filterSubscriptionStatus' => 'حالة الاشتراك',
'subscriptions.filterOptionSubscriptionStatusAny' => 'أي',
'subscriptions.filterOptionSubscriptionStatusLocked' => 'مؤمن',
'subscriptions.filterOptionSubscriptionStatusUnsynchronized' => 'غير متزامن',
'subscriptions.filterSubscriberName' => 'المشترك',
'subscriptions.filterDescription' => 'الوصف',
'subscriptions.subscriptionName' => 'اشتراك',
'subscriptions.subscriberName' => 'المشترك',
'subscriptions.setupDate' => 'تاريخ الإعداد',
'subscriptions.expirationDate' => 'تاريخ انتهاء الصلاحية',
'subscriptions.description' => 'الوصف',
'subscriptions.resellerDescription' => 'بائع تجزئة',
'subscriptions.ownerDescription' => 'العميل',
'subscriptions.manageInResellerPanel' => 'الإدارة في لوحة بائع التجزئة',
'subscriptions.manageInCustomerPanel' => 'الإدارة في لوحة العميل',
'subscriptions.buttonAddNewOwnSubscription' => 'إضافة اشتراك المالك',
'subscriptions.hintAddNewOwnSubscription' => 'إنشاء اشتراك لاستخدامك الخاص.',
'subscriptions.buttonAddNewSubscription' => 'إضافة اشتراك',
'subscriptions.hintAddNewSubscription' => 'إنشاء اشتراك.',
'subscriptions.buttonChangeSubscription' => 'تغيير الخطة',
'subscriptions.hintChangeSubscription' => 'اقتران الاشتراكات المحددة مع خطة خدمة أخرى وإضافة الوظائف الإضافية للخطة أو إزالتها إذا عرضها موفر الاشتراكات.',
'subscriptions.buttonRemove' => 'إزالة',
'subscriptions.hintRemove' => 'إزالة الاشتراكات المحددة.',
'subscriptions.confirmOnRemove' => 'هل ترغب بالتأكيد في إزالة الاشتراكات المحددة؟',
'subscriptions.buttonSetStatus' => 'تعيين الحالة',
'subscriptions.hintSetStatus' => 'تغيير حالة الاشتراك إلى "نشط" أو "معلق"',
'subscriptions.buttonActivateSubscriptions' => 'نشط',
'subscriptions.hintActivateSubscriptions' => 'جعل الاشتراكات المحددة نشطة.',
'subscriptions.buttonSuspendSubscriptions' => 'موقف مؤقتًا',
'subscriptions.hintSuspendSubscriptions' => 'تعليق الاشتراكات المحددة. ستُجمد جميع الخدمات المقدّمة مع الاشتراكات ولن يسهل وصول مستخدمي الإنترنت إليها.',
'subscriptions.buttonChangeOwner' => 'تغيير المشترك',
'subscriptions.hintChangeOwner' => 'إعادة تعيين الاشتراكات المحددة إلى مشترك آخر. سيؤدي هذا أيضًا إلى تغيير موفر الاشتراكات وإلغاء الاشتراكات من خطط خدماتها وجعلها /"مخصصة/".',
'subscriptions.customPlanName' => 'مخصص',
'subscriptions.statusOk' => 'حالة الاشتراك على ما يرام: الاشتراك نشط ومتزامن مع الخطة.',
'subscriptions.statusSuspended' => 'الاشتراك موقف مؤقتًا: تُجمد جميع الخدمات المقدّمة مع الاشتراكات ولن يسهل وصول مستخدمي الإنترنت إليها.',
'subscriptions.statusSuspendedReasonExpired' => 'الاشتراك موقف مؤقتًا نظرًا لانتهاء صلاحيته: تُجمد جميع الخدمات المقدّمة مع الاشتراكات ولن يسهل وصول مستخدمي الإنترنت إليها.',
'subscriptions.statusLocked' => 'تُحظر مزامنة الاشتراك: يُستبعد الاشتراك من المزامنة مع خطة الخدمة نظرًا لتخصيص معلمات الاشتراك.',
'subscriptions.statusUnsynchronized' => 'تتم مزامنة الاشتراك مع خطة الخدمة: توجد بعض الخدمات أو الموارد التي تقدمها الخطة ولا يوفرها الاشتراك.',
'subscriptions.confirmOnDelete' => 'هل أنت متأكد أنك تريد إزالة {count, plural,=1 {اشتراك {name}}one {الاشتراك المحدد}other { # اشتراكات المحددة}}؟',
'subscriptions.hintInfo' => '(؟)',
'subscriptions.webserverConfigurationDomainHintAdmin' => "قد يكون تكوين خادم الويب للاشتراك's المجالات غير متناسق. يرجى إصلاح الأخطاء في ملف تكوين Apache وإعادة محاولة توليد ملف التكوين.",
'subscriptions.webserverConfigurationDomainHintReseller' => "قد يكون تكوين خادم الويب للاشتراك's المجالات غير متناسق. يُرجى الاتصال بمسؤول الخادم لحل المشكلة.",
'subscriptions.unlinkedDomainHint' => 'بعض عناوين بروتوكول الإنترنت (IP) للمجال غير معطلة ومستثناة من تكوين الخادم. تحقق من روابط IP الخاصة بالمجال وقم بتحديثها إذا لزم الأمر.',
'subscriptions.hintTitle' => 'ملخص الاشتراك',
'subscriptions.hintWaitMessage' => 'جاري التحميل.....',
'subscriptions.removeConfirmationSubscription' => "سيتم حذف النطاقات التالية أيضًا: %%domains%%",
'summaryreportlayouts.delivery' => 'التسليم',
'summaryreportlayouts.name' => 'الاسم',
'summaryreportlayouts.general' => 'عام',
'summaryreportlayouts.clients' => 'العملاء',
'summaryreportlayouts.resellers' => 'بائعو التجزئة',
'summaryreportlayouts.personalClients' => 'العملاء الشخصيون',
'summaryreportlayouts.domains' => 'المجالات',
'summaryreportlayouts.personalDomains' => 'المجالات الشخصية',
'summaryreportlayouts.section.FULL' => 'كامل',
'summaryreportlayouts.section.NONE' => 'لا شيء',
'summaryreportlayouts.section.SUMMARY' => 'ملخص',
'summaryreportlayouts.groupRemove' => 'إزالة',
'summaryreportlayouts.buttonRemove' => 'إزالة',
'summaryreportlayouts.buttonRemoveHint' => 'قم بإزالة المخططات المحددة.',
'summaryreportlayouts.removeEmptySelection' => 'حدد تخطيطًا واحدًا أو أكثر لإزالته',
'summaryreportlayouts.removeConfirmation' => 'هل تريد إزالة {count, plural, =1 {{name} مخطط} one {المخطط المحدد} other {# مخططات}}؟',
'summaryreportlayouts.groupAdd' => 'إضافة',
'summaryreportlayouts.buttonAdd' => 'إضافة تخطيط',
'summaryreportlayouts.buttonAddHint' => 'إضافة مخطط تقرير',
'summaryreportlayouts.autoDeliveryOn' => 'هذا التقرير مُجدوَل من أجل التسليم.',
'summaryreportlayouts.autoDeliveryOff' => 'لم يتم تسليم هذا التقرير تلقائيًا.',
'summaryreportlayouts.removeSuccess' => 'تمت إزالة المخططات المحددة.',
'summaryreportschedules.status' => 'S',
'summaryreportschedules.on' => 'مُمكّن',
'summaryreportschedules.off' => 'معطل',
'summaryreportschedules.period' => 'المعدل',
'summaryreportschedules.lastSentDate' => 'تاريخ آخر تسليم',
'summaryreportschedules.email' => 'التسليم إلى',
'summaryreportschedules.disabled' => 'تم إيقاف التشغيل',
'summaryreportschedules.day' => 'يوميًا',
'summaryreportschedules.week' => 'أسبوعيًا',
'summaryreportschedules.month' => 'شهريًا',
'summaryreportschedules.groupAdd' => 'إضافة',
'summaryreportschedules.buttonAdd' => 'إضافة جدول زمني',
'summaryreportschedules.buttonAddHint' => 'إضافة جدول زمني للتسليم',
'summaryreportschedules.groupRemove' => 'إزالة',
'summaryreportschedules.buttonRemove' => 'إزالة',
'summaryreportschedules.buttonRemoveHint' => 'قم بإزالة الجداول الزمنية المحددة.',
'summaryreportschedules.removeEmptySelection' => 'حدد واحدًا أو أكثر من الجداول الزمنية للتسليم لإزالتها.',
'summaryreportschedules.removeConfirmation' => 'هل تريد إزالة {count, plural, =1 {الجدول الزمني للتسليم المحدد} other {# جداول زمنية محددة للتسليم}}؟',
'summaryreportschedules.removeSuccess' => 'تمت إزالة الجداول الزمنية المحددة للتسليم.',
'traffichistory.year' => 'سنة',
'traffichistory.month' => 'شهر',
'traffichistory.trafficUsage' => 'استخدام حركة مرور البيانات',
'traffichistory.noData' => 'لا توجد بيانات محفوظات متوفرة.',
'webappfirewalllogfiles.name' => 'الاسم',
'webappfirewalllogfiles.modificationDate' => 'تاريخ التعديل',
'webappfirewalllogfiles.fileSize' => 'الحجم',
'webappfirewalllogfiles.remove' => 'إزالة',
'webappfirewalllogfiles.hintRemove' => 'إزالة ملفات السجل المحددة. يمكن فقط إزالة ملفات السجل المعالجة.',
'webappfirewalllogfiles.confirmOnDelete' => 'هل تريد إزالة ملفات السجل المحددة؟',
'webappfirewalllogfiles.viewHint' => 'انقر لعرض ملف السجل.',
'webappfirewalllogfiles.buttonDownloadHint' => 'انقر لتنزيل ملف السجل.',
'webmails.name' => 'الاسم',
'webmails.url' => 'عنوان URL',
'webmails.buttonAddNewWebmail' => 'تسجيل Webmail',
'webmails.hintAddNewWebmail' => 'تسجيل خدمة webmail إضافية في Plesk.',
'webmails.buttonEnableWebmail' => 'تمكين',
'webmails.hintEnableWebmail' => 'جعل خدمات webmail المحددة متوفرة للعملاء.',
'webmails.buttonDisableWebmail' => 'تعطيل',
'webmails.hintDisableWebmail' => 'جعل خدمات webmail المحددة غير متوفرة للعملاء.',
'webmails.buttonRemoveWebmail' => 'إزالة',
'webmails.hintRemoveWebmail' => 'إزالة تسجيل خدمات webmail الإضافية المحددة. لاحظ أنه تتعذر إزالة webmail المُثبّت باستخدام Plesk Installer هنا، لذلك استخدم الأدوات> التحديثات بدلاً من ذلك.',
'webmails.confirmOnDelete' => 'هل ترغب حقًا في إزالة عمليات تسجيل webmail المحددة من Plesk؟',
'webmails.statusSuspended' => 'Webmail غير متوفر.',
'webmails.statusOk' => 'Webmail متوفر.',
'serverMailStatistics.period.today' => 'اليوم',
'serverMailStatistics.period.yesterday' => 'أمس',
'serverMailStatistics.period.lastWeek' => 'الأسبوع الحالي',
'serverMailStatistics.period.prevWeek' => 'الأسبوع السابق',
'serverMailStatistics.period.lastMonth' => 'الشهر الحالي',
'serverMailStatistics.period.prevMonth' => 'الشهر السابق',
'serverMailStatistics.period.all' => 'دومًا',
'serverMailStatistics.period.custom' => 'التواريخ المخصصة',
'serverMailStatistics.summary.cleanTitle' => 'مسح',
'serverMailStatistics.summary.infectedTitle' => 'مصاب',
'serverMailStatistics.summary.protectedTitle' => 'محمي',
'serverMailStatistics.summary.skippedTitle' => 'لم يتم التحقق',
'serverMailStatistics.SpamRecipients.email' => 'البريد الإلكتروني',
'serverMailStatistics.SpamRecipients.count' => 'العدد',
'serverMailStatistics.SpamRecipients.ratio' => '% من الكل',
'serverMailStatistics.statisticsTypeSpamCategory' => 'بريد عشوائي',
'serverMailStatistics.statisticsTypeSpam' => 'مستلمو البريد العشوائي',
'serverMailStatistics.statisticsTypeVirusesCategory' => 'الفيروسات',
'serverMailStatistics.statisticsTypeVirusRecipients' => 'مستلمو الفيروسات',
'serverMailStatistics.statisticsTypeVirusViruses' => 'الفيروسات',
'serverMailStatistics.VirusRecipients.email' => 'البريد الإلكتروني',
'serverMailStatistics.VirusRecipients.count' => 'العدد',
'serverMailStatistics.VirusRecipients.ratio' => '% من الكل',
'serverMailStatistics.VirusViruses.name' => 'الاسم',
'serverMailStatistics.VirusViruses.count' => 'العدد',
'serverMailStatistics.VirusViruses.ratio' => '% من الكل',
'serverMailStatistics.refresh' => 'تحديث',
'serverMailStatistics.statisticsRefreshed' => 'تم تحديث الإحصائيات.',
'serverMailStatistics.statisticsRefreshFailed' => 'تعذر تحديث الإحصائيات.',
'selectAllAriaLabel' => 'تحديد الكل',
'selectItemAriaLabel' => 'تحديد عنصر',
];

View File

@@ -1,99 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'summary.full-p' => 'P',
'summary.full-s' => 'S',
'summary.full-h' => 'H',
'summary.full-reseller-name' => 'اسم بائع التجزئة',
'summary.full-client-name' => 'اسم العميل',
'summary.full-domain-name' => 'اسم النطاق',
'summary.full-owner' => 'المالك',
'summary.full-creation-date' => 'تاريخ الإنشاء',
'summary.full-traffic' => 'نسبة استخدام الشبكة',
'summary.full-active-clients' => 'عملاء نشطون',
'summary.full-clients' => 'العملاء',
'summary.full-active-domains' => 'مجالات نشطة',
'summary.full-domains' => 'المجالات',
'summary.full-subdomains' => 'المجال الفرعي',
'summary.full-mboxes' => 'علب البريد',
'summary.full-disk-space' => 'مساحة القرص',
'summary.full-mail-groups' => 'MForw',
'summary.full-mail-autoresp' => 'Resp',
'summary.full-mail-lists' => 'قائمة مراسلة',
'summary.full-web-users' => 'مستخدم الويب',
'summary.full-databases' => 'قاعدة البيانات',
'summary.full-mysqlDatabases' => 'قاعدة بيانات MariaDB/MySQL',
'summary.full-mssqlDatabases' => 'قاعدة بيانات MSSQL',
'summary.full-pgsqlDatabases' => 'قاعدة بيانات PgSQL',
'summary.section-general' => 'عام',
'summary.version' => 'إصدار المنتج',
'summary.build' => 'بنية المنتج',
'summary.status' => '‫الحالة‬',
'summary.company-name' => 'اسم الشركة',
'summary.personal-name' => 'الاسم الشخصي',
'summary.login' => 'اسم المُستخدِم',
'summary.description' => '‫الوصف‬',
'summary.phone' => 'الهاتف',
'summary.fax' => 'فاكس',
'summary.email' => 'البريد الإلكتروني',
'summary.address' => 'عنوان',
'summary.city' => 'المدينة',
'summary.state' => 'الولاية/المقاطعة',
'summary.zip-code' => 'الرمز البريدي',
'summary.country' => 'البلد',
'summary.creation-date' => 'تاريخ الإنشاء',
'summary.section-resellers' => 'بائعو التجزئة',
'summary.active-resellers' => 'بائعو التجزئة أصحاب الاشتراكات النشطة',
'summary.resellers' => 'بائعو التجزئة',
'summary.section-clients' => 'العملاء',
'summary.active-clients' => 'العملاء الذين لديهم اشتراكات نشطة',
'summary.clients' => 'العملاء',
'summary.section-personal-clients' => 'عملائي',
'summary.section-domains' => 'المجالات',
'summary.disk-usage' => 'استخدام القرص',
'summary.traffic' => 'نسبة استخدام الشبكة',
'summary.active-domains' => 'مجالات نشطة',
'summary.domains' => 'المجالات',
'summary.mboxes' => 'علب البريد',
'summary.mail-groups' => 'عمليات إعادة توجيه البريد',
'summary.mail-autoresp' => 'الردود التلقائية',
'summary.mail-lists' => 'القوائم البريدية',
'summary.web-users' => 'مستخدمو الويب',
'summary.databases' => 'قواعد البيانات',
'summary.mysqlDatabases' => 'قواعد بيانات MariaDB/MySQL',
'summary.mssqlDatabases' => 'قواعد بيانات MSSQL',
'summary.pgsqlDatabases' => 'قواعد بيانات PostgreSQL',
'summary.section-personal-domains' => 'المجالات الشخصية',
'summary.sitebuilder' => 'المواقع المنشورة باستخدام Presence Builder',
'summary.owner-pname' => "الاسم الشخصي لموفر الخدمة",
'summary.owner-login' => "اسم المستخدم لموفر الخدمة",
'summary.htype-vrt_hst' => 'الاستضافة المادية',
'summary.htype-sub_hst' => 'المجال الفرعي',
'summary.htype-std_fwd' => 'إعادة التوجيه القياسي',
'summary.htype-frm_fwd' => 'إعادة توجيه الإطار',
'summary.htype-none' => 'بلا',
'summary.client-ci-ok' => 'يعد استخدام المورد من قبل العميل ضمن الحدود.',
'summary.client-ci-!' => 'تجاوز استخدام المورد من قبل العميل الحدود.',
'summary.statusOk' => 'موافق',
'summary.statusProblem' => '!',
'summary.statusActive' => 'تشغيل',
'summary.statusInactive' => 'إيقاف تشغيل',
'resourceusage.title' => 'تقرير تلخيص المجال',
'resourceusage.clientName' => 'اسم العميل',
'resourceusage.domainName' => 'اسم النطاق',
'resourceusage.diskUsage' => 'DU',
'resourceusage.traffic' => 'TR',
'resourceusage.subDomainsCount' => 'SD',
'resourceusage.webUsersCount' => 'WU',
'resourceusage.databasesCount' => 'قاعدة البيانات',
'resourceusage.mailBoxesCount' => 'علبة البريد',
'resourceusage.autoRepliesCount' => 'MA',
'resourceusage.mailForwardingsCount' => 'MF',
'resourceusage.mailListsCount' => 'ML',
];

View File

@@ -1,59 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'overviewPanelTitle' => 'معلومات عامة',
'resourcesPanelTitle' => 'الموارد',
'loginPanelTitle' => 'الوصول إلى اللوحة',
'toolsPanelTitle' => 'المزيد من الأدوات',
'buttonEditContact' => 'تحرير معلومات جهة الاتصال',
'buttonEditContactHint' => 'تحرير معلومات جهة الاتصال: الاسم والبريد الإلكتروني والعنوان وغير ذلك',
'buttonChangeResellerSubscription' => 'تغيير الخطة',
'buttonChangeResellerSubscriptionHint' => 'تبديل إلى خطة بائع تجزئة آخر.',
'buttonManuallyEditSubscriptionParameters' => 'تخصيص',
'buttonManuallyEditSubscriptionParametersHint' => 'تحرير معلمات اشتراك بائع التجزئة بدون تغيير خطة الخدمة المقترنة. سيؤدي القيام بذلك إلى تأمين الاشتراك من أجل المزامنة مع الخطة.',
'buttonUnlockAndSync' => 'إلغاء التأمين والمزامنة',
'buttonUnlockAndSyncHint' => 'إلغاء تأمين الاشتراك ومزامنته مع الخطة.',
'buttonSync' => 'مزامنة',
'buttonSyncHint' => 'مزامنة الاشتراك مع خطة الخدمة',
'buttonIPAddresses' => 'عناوين IP',
'buttonIPAddressesHint' => 'إدارة عناوين IP المخصصة لبائع التجزئة.',
'buttonIisAppPool' => 'مجموعة تطبيقات IIS',
'buttonIisAppPoolHint' => 'إدارة مجموعة تطبيقات IIS',
'buttonLogin' => 'لوحة بائع التجزئة',
'buttonLoginHint' => 'إدارة خدمات الاستضافة المقترنة بحساب استضافة بائع التجزئة.',
'buttonChangePassword' => 'تغيير معلومات تسجيل الدخول',
'buttonChangePasswordHint' => 'تغيير كلمة المرور واسم المستخدم المستخدَمين للوصول إلى Plesk.',
'buttonSuspend' => 'توقف مؤقت',
'buttonSuspendHint' => 'إيقاف الحساب مؤقتًا: سيُحظر الوصول إلى Plesk لبائع التجزئة وجميع عملائه؛ وسيتم إيقاف مجالات بائعي التجزئة وعملائهم مؤقتًا، ولن يعود ممكنًا وصول مستخدمي الإنترنت إلى خدمات الويب وFTP والبريد الخاصة بهم.',
'buttonActivate' => 'تنشيط',
'buttonActivateHint' => 'نشّط الحساب.',
'buttonMoreStats' => 'عرض المزيد من الإحصائيات',
'buttonMoreStatsHint' => 'عرض ملخص عن استخدام الموارد وقائمة الخدمات والمزايا المُقدمة مع الاشتراك.',
'buttonConvertToCustomer' => 'تحويل إلى العملاء',
'buttonConvertToCustomerHint' => 'تحويل بائعي التجزئة المحددين إلى العملاء.',
'contactName' => 'اسم جهة الاتصال',
'companyName' => 'اسم الشركة',
'emailAddress' => 'عنوان البريد الإلكتروني',
'setupDate' => 'تاريخ الإنشاء',
'status' => '‫الحالة‬',
'plan' => 'خطة الخدمة',
'planCustom' => 'مخصص',
'ownCustomers' => 'العملاء الخاصين ببائع التجزئة',
'ownPlans' => 'الخطط الخاصة ببائع التجزئة',
'ownSubscriptions' => 'الاشتراكات الخاصة ببائع التجزئة',
'username' => 'اسم المستخدم',
'buttonRemove' => 'إزالة',
'buttonRemoveHint' => 'إزالة الحساب بالإضافة إلى جميع حسابات العملاء والاشتراكات المقترنة به.',
'buttonRemoveResellerConfirmationTitle' => 'هل أنت متأكد من إزالة حساب موزع %%name%%؟',
'buttonRemoveResellerConfirmationDescription' => 'ستؤدي إزالة حساب المورِّد هذا أيضًا إلى حذف جميع العملاء والاشتراكات المرتبطة به.',
'infoLoginInfoUpdated' => 'تم تحديث معلومات تسجيل الدخول.',
'resellerDeleted' => 'تمت إزالة بائع التجزئة %%name%%.',
'infoCustomerActivated' => 'تم تفعيل حساب بائِع التجزئة.',
'infoCustomerSuspended' => 'تم إيقاف حساب بائِع التجزئة مؤقتًا.',
'customerStillSuspended' => 'لا يزال حساب بائع التجزئة موقفًا بشكل مؤقت للأسباب التالية: %%reason%%',
'customerStatusOffByAdmin' => 'حساب بائع التجزئة موقف مؤقتًا من قِبل المسؤول.',
'customerStatusOffBackupRestore' => 'حساب بائع التجزئة موقف مؤقتًا لإجراء النسخ الاحتياطي أو الاستعادة.',
'customerStatusOff' => 'حساب بائع التجزئة موقف مؤقتًا.',
'customerDeleted' => 'تمت إزالة حساب بائع التجزئة.',
'infoResellerNotConverted' => 'غير قادر على تحويل %%name%% نظرًا لأن بائع التجزئة هذا لديه عملاء.',
];

View File

@@ -1,8 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'email.subjSuccess' => 'تم تحديث Plesk بنجاح',
'email.subjFailure' => 'فشل تحديث Plesk',
'email.bodySuccess' => "تنبيه، تم تحديث Plesk بنجاح. لعرض قائمة التغييرات، تفضل بزيارة %%link%%. تم إرسال هذه الرسالة تلقائيًا بواسطة تطبيق Plesk Installer.",
'email.bodyFailure' => "تنبيه، فشل تحديث Plesk. يمكنك تنزيل سجلات تطبيق Plesk Installer من الرابط التالي: %%link%%. اتصل على موفر الاستضافة للحصول على مساعدة الدعم. تم إرسال هذه الرسالة تلقائيًا بواسطة تطبيق Plesk Installer.",
];

View File

@@ -1,22 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'isEmpty' => 'هذا الحقل المطلوب فارغ. يجب عليك إدخال قيمة لهذا الحقل.',
'stringLengthTooShort' => "/\"%value%/\" أقل من %min% لطول الحروف.",
'stringLengthTooLong' => "/\"%value%/\" أكبر من %max% لطول الحروف.",
'regexNotMatch' => "/\"%value%/\" غير متطابقة مع النمط /\"%pattern%/\".",
'notAlnum' => "لا تحتوي /\"%value%/\" على حروف أبجدية رقمية. تأكد من استخدام حروف أبجدية رقمية فقط.",
'stringEmpty' => "/\"%value%/\" فارغة.",
'stringsNotEqual' => 'السلاسل غير متساوية.',
'passwordsNotEqual' => 'كلمات المرور التي أدخلتها غير متطابقة مع بعضها البعض.',
'passwordLengthTooShort' => "كلمة المرور أقصر من %min% من الحروف.",
'passwordLengthTooLong' => "كلمة المرور أطول من %max% من الحروف.",
'passwordRegexNotMatch' => "كلمة المرور غير متطابقة مع النمط /\"%pattern%/\"",
'invalidUrl' => 'العنوان المحدد غير صالح. يجب تحديد عنوان صالح مثل http://domain.com.',
'specialCharactersInIpAddress' => 'عنوان IP المُدخَل غير صالح.',
'massEmailContactsNotSelected' => 'حدد جهة اتصال واحدة على الأقل من القائمة.',
'ipAddressIsTooLong' => 'يجب ألا يزيد عنوان IP عن %max% أحرف.',
'ipAddressDescriptionTooLong' => 'يجب ألا يزيد الوصف عن %max% أحرف.',
'fail2ban.invalidIpOrCidr' => 'يجب أن يكون عنوان IP عنوان IP صالحًا أو قناع CIDR.',
];

View File

@@ -1,80 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'problem-detail.nginx-upstream-sent-too-big-header.name' => 'Nginx "بوابة غير صالحة 502: أرسل المصدر عنوانًا كبيرًا جدًا أثناء قراءة عنوان الاستجابة"',
'problem-detail.nginx-upstream-sent-too-big-header.description' => 'سيكون جاهزًا قريبًا.',
'problem-detail.nginx-upstream-sent-too-big-header.cause' => '',
'problem-detail.nginx-upstream-sent-too-big-header.solution1.title' => '',
'problem-detail.nginx-upstream-sent-too-big-header.solution1.text' => '',
'problem-detail.apache-followsymlinks-not-allowed.name' => 'Apache "خطأ في الخادم الداخلي 500: غير مسموح بالخيار FollowSymLinks هنا"',
'problem-detail.apache-followsymlinks-not-allowed.description' => 'سيكون جاهزًا قريبًا.',
'problem-detail.apache-followsymlinks-not-allowed.cause' => '',
'problem-detail.phpfpm-server-reached-max-children.name' => 'PHP-FPM "وصل الخادم إلى إعداد الحد الأقصى للأطفال"',
'problem-detail.phpfpm-server-reached-max-children.description' => '<h4>الأعراض</h4><ul><li><p>مواقع الويب التي جرى تعيين معالج PHP بها على أنه <strong>تطبيق FPM متوفر من قِبل Apache</strong> أو <strong>تطبيق FPM متوفر من قِبل nginx</strong> على <strong>النطاقات</strong> &gt؛ <strong>example.com</strong> &gt؛ تواجه <strong>إعدادات PHP</strong> إحدى المشكلات التالية:</p><ul><li><p>التحميل ببطء</p></li><li><p>لا يمكن الوصول إليها (بشكل دائم أو بشكل دوري) مع ظهور الخطأ 50x في متصفح الويب:</p><pre>502 بوابة غير صالحة</pre><hr><pre>503الخدمة غير متاحة مؤقتًا</pre><hr><pre>504 انتهت مهلة البوابة</pre></li></ul></li><li><p>تظهر الرسالة التالية في ملف سجل أخطاء PHP-FPM <code>/var/log/plesk-php<strong>XX</strong>-fpm/error.log</code> (حيثما يمثل الرمز <em>XX</em> إصدار PHP الذي تستخدمه مواقع الويب):</p><pre>تحذير: وصل خادم [pool example.com] إلى إعداد الحد الأقصى للأطفال (*)، يرجى مراعاة ارتفاعه</pre><ul><li><p>عادةً ما يصحب الرسالة الواردة أعلاه هذا الخطأ:</p><pre>يتعذر قراءة ما يقوله الطفل: واصف ملف غير صالح (9)</pre></li></ul></li><li><p>في حالة تمكين nginx على الخادم، فقد تظهر إحدى رسائل الخطأ التالية في ملف سجل أخطاء النطاق <code>/var/www/vhosts/system/example.com/logs/proxy_error_log</code>:</p><pre style="white-space: pre-wrap;">[error] 11456#0: *118348 اتصال () بـ unix:///var/www/vhosts/system/example.com/php-fpm.sock فشل (11: المورد غير متاح مؤقتًا) أثناء الاتصال بالمصدر، العميل: 203.0.113.2، الخادم: example.com، الطلب: "GET / HTTP/1.1"، المصدر: "fastcgi://unix:///var/www/vhosts/system/example.com/php-fpm.sock:"، المضيف: "example.com"</pre><hr><pre style="white-space: pre-wrap;">[error] 20058#0: *4725139 لقد أغلق اتصال المصدر قبل المدة المحددة أثناء قراءة عنوان الاستجابة من المصدر، العميل: 203.0.113.2، الخادم: example.com، الطلب: "POST /path/to/some/file HTTP/2.0"، المصدر:</pre></li></ul>',
'problem-detail.phpfpm-server-reached-max-children.cause' => ' وصل موقع الويب (مواقع الويب) إلى <p>PHP-FPM <code>pm.max_children</code>.</p>',
'problem-detail.phpfpm-server-reached-max-children.solution1.title' => 'يرجى زيادة حد pm.max_children',
'problem-detail.phpfpm-server-reached-max-children.solution1.text' => '<p>زيادة حد <code>pm.max_children</code> للنطاقات المتضررة:</p><ol><li><p>اتصل بخادم منصة Plesk عبر <a href="https://support.plesk.com/hc/en-us/articles/12377512781975" target="_blank" rel="noopener">SSH</a>.</p></li><li><p>ابحث عن النطاقات المتضررة باستخدام الأمر الوارد أدناه:</p><div class="pul-alert pul-alert--info pul-status-message pul-status-message--info"><span class="pul-icon pul-status-message__icon"><svg focusable="false"><use href="/ui-library/images/symbols.svg?6bd5879cb9a032639fb375ff6f1dcd26#info-circle-filled:16"></use></svg></span><strong>ملاحظة:</strong> يشير الرقم الموجود على اليسار إلى عدد مرات وصول موقع الويب إلى حد <code>pm.max_children</code>.</div><pre style="white-space: pre-wrap;"># grep -r "وصل الخادم إلى إعداد max_children" /var/log/*php*-fpm/error.log | cut -d\' \' -f5 | tr -d \']\' | sort | uniq -c | sort -nr<br><br>100 example.com<br>50 example.net<br>25 example.org<br>&lt;...&gt;</pre></li><li><p><a href="https://support.plesk.com/hc/en-us/articles/12377667582743" target="_blank" rel="noopener">سجِّل الدخول إلى منصة Plesk</a>.</p></li><li><p>انتقل إلى <strong>النطاقات</strong> &gt; <strong>example.com</strong> &gt; <strong>إعدادات PHP</strong> &gt; <strong>إعدادات PHP-FPM</strong>.</p></li><li><p>زيادة قيمة <code>pm.max_children</code> للنطاق وتطبيق التغييرات. قم بزيادة هذه القيمة لجميع النطاق المدرجة في الخطوة 2.</p></li></ol>',
'problem-detail.nginx-too-many-open-files.name' => 'Nginx "يوجد عدد كبير جدًا من الملفات مفتوحًا"',
'problem-detail.nginx-too-many-open-files.description' => '<p>يفشل nginx في البدء / إعادة التحميل على خادم منصة Plesk: يوجد عدد كبير جدًا من الملفات مفتوحًا</p><h4>الأعراض</h4><ul><li><p>تفشل خدمة nginx في البدء / إعادة التحميل مع ظهور الخطأ التالي في ملف <code>/var/log/nginx/error.log</code>:</p><pre style="white-space: pre-wrap;">nginx: [emerg] فتح () "/var/www/vhosts/system/example.com/logs/proxy_access_ssl_log" فشل (24: يوجد عدد كبير جدًا من الملفات مفتوحًا)</pre></li><li><p>لا يمكن الوصول إلى بعض من مواقع الويب أو كلها</p></li><li><p>يظهر تحذير في <strong>الأدوات&amp; الإعدادات &gt; التشخيص &amp; الإصلاح</strong>:</p><pre style="white-space: pre-wrap;">التحقق من nginx؛ عُثر على نطاقات N بقيمة ULIMIT على الخادم. يمكن حدوث مشكلة مع الحد الافتراضي لـ nginx للملفات المفتوحة</pre></li><li><p>تعرض تطبيقات الويب NodeJS وRuby خطأ 502 بوابة غير صالحة عند تنفيذ بعض مهام منصة Plesk مثل إنشاء النطاقات والاشتراكات والتغييرات على Apache أو Nginx وما إلى ذلك:</p><pre style="white-space: pre-wrap;">خطأ في الخادم<br>502 بوابة غير صالحة <br>تلقى خادم الويب استجابة غير صالحة أثناء العمل كبوابة أو خادم وكيل.</pre></li><li><p>بعد <a href="https://support.plesk.com/hc/en-us/articles/12377676289815-How-to-install-SSL-certificate-for-a-domain-in-Plesk" target="_blank" rel="noopener noreferrer">تثبيت شهادة جديدة للنطاق</a>، يستمر عرض الشهادة القديمة في مستعرض الويب، ومع ذلك، تُحدد الشهادة الصحيحة في صفحة <strong>النطاقات &gt; example.com &gt; إعدادات الاستضافة</strong>.</p></li></ul>',
'problem-detail.nginx-too-many-open-files.cause' => '<p>يفتح مضيف Nginx الافتراضي 4 ملفات سجل لكل مضيف افتراضي باستخدام استضافة فعلية:</p><ul><li>proxy_access_log</li><li>proxy_access_ssl_log</li><li>webmail_access_log</li><li>webmail_access_ssl_log</li></ul><p>ونتيجة لهذه الحقيقة، يتجاوز خادم nginx العدد الأقصى للملفات المفتوحة نظرًا لوجود عدد كبير من النطاقات (أكثر من 100 عادة).</p>',
'problem-detail.nginx-too-many-open-files.solution1.title' => 'يرجى زيادة حد الملفات المفتوحة',
'problem-detail.nginx-too-many-open-files.solution1.text' => '<div class="pul-alert pul-alert--warning pul-status-message pul-status-message--warning"><span class="pul-icon pul-status-message__icon"><svg focusable="false"><use href="/ui-library/images/symbols.svg?6bd5879cb9a032639fb375ff6f1dcd26#info-circle-filled:16"></use></svg></span><strong>تحذير:</strong> يؤدي تنفيذ الأداة المساعدة <code>websrv_ulimits</code> بدون الخيار <strong>--no-restart</strong> إلى بدء إعادة إنشاء ملفات تكوين الويب لجميع النطاقات ويمكن أن يتسبب في تعطل ملحوظ في حالة وجود عدد كبير من مواقع الويب المستضافة.<br><br>نفِّذ الأمر أثناء الإطار الزمني للصيانة.</div><p>ومن الممارسات الجيدة تعيين قيمة لحد الملفات المفتوحة تزيد عن<strong>عدد النطاقات في منصة Plesk * 16</strong> على الأقل. وفي المثال الوارد أدناه، أوضحت الإجراءات كيفية تعيين الحد إلى 4096:</p><ol><li><p>اتصل بالخادم عبر <a href="https://support.plesk.com/hc/en-us/articles/12377512781975" target="_blank" rel="noopener noreferrer">SSH</a></p></li><li><p>عيِّن حد الملفات المفتوحة على 4096 لكل من Apache وNginx:</p><pre># /usr/local/psa/admin/sbin/websrv_ulimits --set 4096 --no-restart</pre></li><li><p>أعد تشغيل خدمات Apache وnginx في<strong><a href="https://support.plesk.com/hc/en-us/articles/12377667582743" target="_blank" rel="noopener noreferrer">منصة Plesk</a> &gt;</strong> <strong>الأدوات المساعدة &amp; الإعدادات &gt; إدارة الخدمات</strong> لتطبيق التغييرات.</p></li><li><p>تأكد من تطبيق "الحد الأقصى للملفات المفتوحة" بشكل صحيح، بعد إعادة تشغيل خدمات الويب:</p><pre># grep \'Max open files\' /proc/$(cat /var/run/nginx.pid)/limits<br>الحد الأقصى للملفات المفتوحة 4096 4096 ملف</pre></li><li><p>في حالة عدم جدوى الحل المذكور أعلاه، عيِّن الحد الأقصى باستخدام الأداة المساعدة <code>ulimit</code>:</p><pre># ulimit -n 4096</pre></li></ol>',
'problem-detail.apache-modsec-response-body-too-large.name' => 'ModSecurity "النص الأساسي للاستجابة كبير جدًا"',
'problem-detail.apache-modsec-response-body-too-large.description' => 'سيكون جاهزًا قريبًا.',
'problem-detail.apache-modsec-response-body-too-large.cause' => '',
'problem-detail.modsec-access-denied.name' => 'ModSecurity "تم رفض الوصول مع ظهور الرمز 403"',
'problem-detail.modsec-access-denied.description' => '<h4>الأعراض</h4><ul><li><p>تم تثبيت ModSecurity وتمكينه في <strong>الأدوات والإعدادات > جدار حماية تطبيق الويب (ModSecurity) > وضع جدار حماية تطبيق الويب > تشغيل</strong>.</p></li><li>فشل تحميل موقع ويب مستضاف في منصة Plesk. لا يمكن إجراء أي عمليات على موقع الويب مثل إدارة WordPress أو الوصول إلى بريد الويب أو الوصول إلى ملف <code>robots.txt</code>. يمكن للمتصفح عرض أحد الأخطاء التالية: <pre>ERR_CONNECTION_REFUSED</pre><hr><pre>403 محظور</pre><hr><pre> 500 خطأ داخلي في الخادم</pre><hr><pre>ERR_CONNECTION_TIMED_OUT</pre></li><li>تظهر رسالة خطأ ModSecurity مثل الرسالة الواردة أدناه في ملف السجل <code>/var/log/modsec_audit.log</code> أو في صفحة السجلات في منصة Plesk (<strong>النطاقات</strong> &gt; <strong>example.com</strong> &gt; <strong>السجلات</strong>): <pre>ModSecurity: تم رفض الوصول باستخدام الرمز 403 (المرحلة 2). Operator GE matched 5 at TX:anomaly_score. [file "/etc/apache2/modsecurity.d/rules/owasp_modsecurity_crs_4-plesk/REQUEST-949-BLOCKING-EVALUATION.conf"] [line "57"] [id "949110"] [msg "Inbound Anomaly Score Exceeded (Total Score: 5)"] [severity "CRITICAL"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-generic"] [hostname "example.com"] [uri "/robots.txt"] [unique_id "XPsROH8AAQEAABEiZFcAAABC"]</pre></li>',
'problem-detail.modsec-access-denied.cause' => '<p>يتم تمكين جدار حماية تطبيق الويب ModSecurity مع مجموعة قواعد مقيدة للغاية مثل OWASP أو Comodo أو مجموعة قواعد مخصصة مثل Imunify360. يمكن أن تمنع مجموعات القواعد المقيدة بعض العمليات على موقع الويب.</p><p><Strong>ملاحظة:</strong> قد يشير خطأ ModSecurity إلى وجود هجوم على خادمك. لا تستخدم الحلول الموضحة أدناه سوى إذا كنت متأكدًا من أن ModSecurity يحظر الاستخدام الصحيح لموقعك على الويب.</p>',
'problem-detail.modsec-access-denied.solution1.title' => 'عطِّل مجموعة قواعد ModSecurity بواسطة المعرّف أو العلامة',
'problem-detail.modsec-access-denied.solution1.text' => '<ol><li><p>ابحث عن معرّف القاعدة التي تحظر الاستخدام المشروع لموقعك على الويب. يمكنك العثور على المعرّفات داخل رسائل الخطأ في ملف السجل <code>/var/log/modsec_audit.log</code>. المعرّف هو رقم صحيح بين علامتي اقتباس مع البادئة <code>id</code> بين قوسين معقوفين، على سبيل المثال، <strong>[id "210831"]</strong>.</p></li><li><a href="https://support.plesk.com/hc/en-us/articles/12377453278871" target="_blank" rel="noopener">تعطيل مجموعات قواعد معينة في منصة Plesk</a>.</li></ol>',
'problem-detail.modsec-access-denied.solution2.title' => 'بدِّل إلى مجموعة قواعد ModSecurity أخرى',
'problem-detail.modsec-access-denied.solution2.text' => '<ol><li><p>بدِّل إلى مجموعة قواعد ModSecurity أقل تقييدًا، على سبيل المثال، "مجموعة قواعد Atomic ModSecurity". للقيام بذلك، انتقل إلى <strong>الأدوات والإعدادات</strong> > <strong> جدار حماية تطبيق الويب (ModSecurity)</strong> > <strong>الإعدادات</strong>، حدد <strong>Atomic Standard</strong>، ثم انقر فوق <strong>موافق</strong> لتطبيق التغييرات.</p></li></ol>',
'problem-detail.php-allowed-memory-size-exhausted.name' => 'PHP "خطأ داخلي في الخادم 500: تم استنفاد حجم الذاكرة المسموح به البالغ XXX"',
'problem-detail.php-allowed-memory-size-exhausted.description' => '<h4>الأعراض</h4><ul><li><p>لا يمكن الوصول إلى موقع ويب مستضاف في منصة Plesk:</p><pre>500 خطأ داخلي في الخادم</pre></li><li><p>يظهر الخطأ التالي في سجل موقع الويب:</p><pre>حصلت على خطأ "رسالة PHP: خطأ فادح في PHP: تم استنفاد حجم الذاكرة المسموح به وهو 4194304 بايت (حاول تخصيص 4000032 بايت) في /var/www/vhosts/example.com/httpdocs/somethingBig.php في السطر 3</pre></li> </ul>',
'problem-detail.php-allowed-memory-size-exhausted.cause' => '<p>لا يحتوي موقع الويب على ذاكرة كافية مخصصة للمعالجة.</p>',
'problem-detail.php-allowed-memory-size-exhausted.solution1.title' => 'زيادة memory_limit "حد ذاكرة" الموقع',
'problem-detail.php-allowed-memory-size-exhausted.solution1.text' => '<ol><li><p><a href="https://support.plesk.com/hc/en-us/articles/12377510316183" target="_blank" rel="noopener">اقرأ مقالة قاعدة المعارف واتبع التعليمات</a>.</p></li></ol>',
'problem-detail.php-open-basedir-restriction-in-effect.name' => 'PHP "قيد open_basedir ساري المفعول"',
'problem-detail.php-open-basedir-restriction-in-effect.description' => '<h4>الأعراض</h4><ul><li><p>لا يمكن الوصول إلى موقع ويب مع وجود أحد الأخطاء التالية في متصفح الويب:</p><pre>404 الملف غير موجود</pre><hr><pre>500 خطأ في الخادم الداخلي</pre><hr><pre>خطأ 500 move_uploaded_file (): تقييد open_basedir ساري المفعول. الملف (/path/to/the/directory) ليس ضمن المسار (المسارات) المسموح بها:(/var/www/vhosts/example.com/:/tmp/)</pre></li><li><p>تظهر رسالة الخطأ التالية في صفحة سجلات النطاق (<strong>النطاقات</strong> > <strong>example.com</strong> > <strong>السجلات</strong>):</p><pre><...>تقييد open_basedir ساري المفعول. الملف (/path/to/the/directory) ليس ضمن المسار (المسارات) المسموح بها<...></pre><hr><pre>استثناء غير محدد: الجلسة: مسار الحفظ المكون "/path/to/the/directory" ليس دليلًا أو غير موجود أو لا يمكن إنشاؤه.</pre></li></ul>',
'problem-detail.php-open-basedir-restriction-in-effect.cause' => 'يحاول البرنامج النصي لـ PHP الوصول إلى الدليل الذي لا يُسمح بالوصول إليه. يُحدَّد هذا القيد من خلال توجيه PHP <code>open_basedir</code> بشكل فردي لكل نطاق. افتراضيًا، يسمح <code>open_basedir</code> بالوصول إلى <code>tmp</code> وأدلة جذر مستندات النطاق، بالإضافة إلى مسار الجلسات الافتراضية للنظام.',
'problem-detail.php-open-basedir-restriction-in-effect.solution1.title' => 'أضف المسار الإضافي إلى التوجيه open_basedir',
'problem-detail.php-open-basedir-restriction-in-effect.solution1.text' => '<ol><li><p><a href="https://support.plesk.com/hc/en-us/articles/12377510714135" target="_blank" rel="noopener">اقرأ مقالة قاعدة المعارف واتبع التعليمات</a>.</p></li></ol>',
'problem-detail.php-open-basedir-restriction-in-effect.solution2.title' => 'عطِّل التوجيه open_basedir',
'problem-detail.php-open-basedir-restriction-in-effect.solution2.text' => '<ol><li><p>انتقل إلى صفحة <strong>النطاقات &gt example.com &gt إعدادات PHP</strong> وعيِّن توجيه <code>open_basedir</code> إلى "لا شيء".</p></li></ol>',
'problem-detail.apache-client-denied-by-server.name' => 'Apache .htaccess "403 محظور AH01797: تم رفض العميل بواسطة تكوين الخادم"',
'problem-detail.apache-client-denied-by-server.description' => '<h4>الأعراض</h4><ul><li><p>يعرض موقع الويب خطأ مشابهًا للخطأ التالي:</p><pre>خطأ في الخادم 403<br>محظور</pre></li><li><p>يحتوي ملف السجل <code>/var/www/vhosts/system/example.com/logs/error_log</code> على أخطاء مثل الخطأ التالي:</p><pre>AH01797: تم رفض العميل بواسطة تكوين الخادم: /var/www/vhosts/example.com/index.php</pre></li></ul>',
'problem-detail.apache-client-denied-by-server.cause' => '<p>لا يسمح تكوين Apache الحالي بالوصول إلى موقع الويب.</p><p>بالنسبة لملفات مثل .htaccess و.htpasswd، من المتوقع هذا نظرًا لأن هذه الملفات يجب عدم الوصول إليها عبر خادم الويب.</p>',
'problem-detail.apache-client-denied-by-server.solution1.title' => 'تحقق من تكوين الخادم وملفات .htaccess',
'problem-detail.apache-client-denied-by-server.solution1.text' => '<ol><li><p><a href="https://support.plesk.com/hc/en-us/articles/12377654829463" target="_blank" rel="noopener">اقرأ مقالة قاعدة المعارف واتبع التعليمات</a>.</p></li></ol>',
'problem-detail.apache-no-directory-index.name' => 'Apache "لا يمكن الوصول إلى دليل موقع الويب في منصة Plesk: 403 محظور"',
'problem-detail.apache-no-directory-index.description' => '<h4>الأعراض</h4><ul><li><p>لا يمكن الوصول إلى موقع معين لموقع ويب، على سبيل المثال، <code>http://example.com/some_folder</code>. حدث الخطأ التالي: </p><pre>خطأ في الخادم 403<br>محظور</pre></li><li><p>يظهر الخطأ التالي في الملف <code>/var/www/vhosts/example.com/logs/error_log<code/>:</p><pre>[autoindex:error] [pid 16314:tid 140300215322368] [client 203.0.113.2:55714] AH01276: لا يمكن تقديم الدليل /var/www/vhosts/example.com/httpdocs/some_folder/: لم يُعثر على DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm,index.shtml) مطابق، وفهرس الدليل الذي تم إنشاؤه بواسطة الخادم محظور بواسطة توجيه الخيارات</pre></li></ul>',
'problem-detail.apache-no-directory-index.cause' => '<p>لا يحتوي الدليل المطلوب على ملفات فهرس أو لم يتم تمكين تصفح الدليل.</p>',
'problem-detail.apache-no-directory-index.solution1.title' => 'أضف ملف فهرس إلى الدليل',
'problem-detail.apache-no-directory-index.solution1.text' => '<ol><li><p><a href="https://support.plesk.com/hc/en-us/articles/12377654829463" target="_blank" rel="noopener">اقرأ مقالة قاعدة المعارف واتبع التعليمات</a>.</p></li></ol>',
'problem-detail.apache-no-directory-index.solution2.title' => 'تمكين تصفح الدليل',
'problem-detail.apache-no-directory-index.solution2.text' => '<ol><li><p><a href="https://support.plesk.com/hc/en-us/articles/12377172809495" target="_blank" rel="noopener">اقرأ مقالة قاعدة المعارف واتبع التعليمات</a>.</p></li></ol>',
'problem-detail.nginx-no-directory-index.name' => 'Nginx "لا يمكن الوصول إلى دليل موقع الويب في منصة Plesk: 403 محظور"',
'problem-detail.nginx-no-directory-index.description' => '<h4>الأعراض</h4><ul><li><p>لا يمكن الوصول إلى موقع معين لموقع ويب، على سبيل المثال، <code>http://example.com/some_folder</code>. حدث الخطأ التالي:</p><pre>خطأ في الخادم 403<br>محظور</pre></li><li><p>يظهر الخطأ التالي في <code>/var/www/vhosts/example.com/logs/error_log file</code>:</p><pre>[autoindex:error] [pid 16314:tid 140300215322368] [client 203.0.113.2:55714] AH01276: لا يمكن تقديم الدليل /var/www/vhosts/example.com/httpdocs/some_folder/: لم يُعثر على DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm,index.shtml) مطابق، وفهرس الدليل الذي تم إنشاؤه بواسطة الخادم محظور بواسطة توجيه الخيارات</pre></li></ul>',
'problem-detail.nginx-no-directory-index.cause' => '<p>لا يحتوي الدليل المطلوب على ملفات فهرس أو لم يتم تمكين تصفح الدليل.</p>',
'problem-detail.nginx-no-directory-index.solution1.title' => 'أضف ملف فهرس إلى الدليل',
'problem-detail.nginx-no-directory-index.solution1.text' => '<ol><li><p><a href="https://support.plesk.com/hc/en-us/articles/12377654829463" target="_blank" rel="noopener">اقرأ مقالة قاعدة المعارف واتبع التعليمات</a>.</p></li></ol>',
'problem-detail.nginx-no-directory-index.solution2.title' => 'تمكين تصفح الدليل',
'problem-detail.nginx-no-directory-index.solution2.text' => '<ol><li><p><a href="https://support.plesk.com/hc/en-us/articles/12377172809495" target="_blank" rel="noopener">اقرأ مقالة قاعدة المعارف واتبع التعليمات</a>.</p></li></ol>',
'problem-detail.apache-reached-max-request-workers.name' => 'Apache "وصل الخادم إلى إعداد MaxRequestWorkers"',
'problem-detail.apache-reached-max-request-workers.description' => 'سيكون جاهزًا قريبًا.',
'problem-detail.apache-reached-max-request-workers.cause' => '',
'problem-detail.php-post-content-length-exceeds-limit.name' => 'حد النص الأساسي لطلب PHP "ينوي العميل إرسال نص أساسي كبير للغاية"',
'problem-detail.php-post-content-length-exceeds-limit.description' => 'سيكون جاهزًا قريبًا.',
'problem-detail.php-post-content-length-exceeds-limit.cause' => '',
'problem-detail.nginx-client-sent-too-large-body.name' => 'حد النص الأساسي لطلب PHP "ينوي العميل إرسال نص أساسي كبير للغايى"',
'problem-detail.nginx-client-sent-too-large-body.description' => 'سيكون جاهزًا قريبًا.',
'problem-detail.nginx-client-sent-too-large-body.cause' => '',
'problem-detail.php-failed-to-read-session-data.name' => 'جلسات PHP "خطأ الخادم الداخلي 503" أو "فشلت قراءة بيانات الجلسة"',
'problem-detail.php-failed-to-read-session-data.description' => 'سيكون جاهزًا قريبًا.',
'problem-detail.php-failed-to-read-session-data.cause' => '',
'problem-detail.apache-unable-to-check-htaccess-file.name' => 'Apache .htaccess "403 ممنوع: pcfg_openfile: يتعذر فحص ملف htaccess، تأكد من أنه قابل للقراءة"',
'problem-detail.apache-unable-to-check-htaccess-file.description' => '<h4>الأعراض</h4><ul><li><p>لا يعمل موقع الويب المستضاف في منصة Plesk:</p><pre>ليس لديك إذن للوصول / على هذا الخادم. <br> بالإضافة إلى ذلك، تمت مصادفة الخطأ 403 محظور أثناء محاولة استخدام ErrorDocument لمعالجة الطلب.</pre><p>بدلاً من الخطأ الوارد أعلاه، يمكنك أيضًا مشاهدة الصفحة الفارغة.</p></li><li><p>يحتوي سجل أخطاء النطاق في <strong>النطاقات &gt example.com &gt السجلات</strong> على ما يلي:</p><pre>(13) تم رفض الإذن: [client 203.0.113.2:39024] AH00529: /var/www/vhosts/example.com/httpdocs/.htaccess pcfg_openfile: يتعذر التحقق من ملف htaccess، تأكد من أنه قابل للقراءة وأن "/var/www/vhosts/example.com/httpdocs/" قابل للتنفيذ</pre></li></ul>',
'problem-detail.apache-unable-to-check-htaccess-file.cause' => 'أذونات غير صحيحة لملفات أو مجلدات النطاق.',
'problem-detail.apache-unable-to-check-htaccess-file.solution1.title' => 'أذونات الإصلاح لمحتوى موقع الويب',
'problem-detail.apache-unable-to-check-htaccess-file.solution1.text' => '<ol><li><p><a href="https://support.plesk.com/hc/en-us/articles/12377773681815" target="_blank" rel="noopener">اقرأ مقالة قاعدة المعارف واتبع التعليمات</a>.</p></li></ol>',
];

View File

@@ -1,21 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'activate.infoAdminAliasActivated' => 'تم تنشيط حسابات المسؤول المحددة بنجاح.',
'activate.infoAdminAliasNotActivated' => 'لم يتم تنشيط بعض حسابات المسؤول المحددة.',
'create.title' => 'إضافة حساب مسؤول',
'create.infoNewAdminAliasCreated' => 'تم إنشاء حساب المسؤول الإضافي %%contact%% بنجاح.',
'deactivate.infoAdminAliasDeactivated' => 'تم إيقاف حسابات المسؤول المحددة مؤقتًا بنجاح.',
'deactivate.infoAdminAliasNotDeactivated' => 'لم يتم إيقاف بعض حسابات المسؤول المحددة مؤقتًا.',
'delete.infoAdminAliasDeleted' => 'تمت إزالة حسابات المسؤول المحددة بنجاح.',
'delete.infoAdminAliasNotDeleted' => 'لم تتم إزالة بعض حسابات المسؤول المحددة.',
'edit.title' => "%%contact%%",
'edit.infoNewAdminAliasUpdated' => 'تم تحديث حساب المسؤول بنجاح.',
'list.title' => 'حسابات المسؤول الإضافية',
'list.hint' => 'هنا يمكنك إنشاء حسابات مسؤول إضافية لمهندسي الدعم الفني لديك، مما يُمكّنهم من تنفيذ مجموعة متنوعة من المهام الإدارية.',
];

View File

@@ -1,11 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'gallery.titleScreenshot' => 'لقطات الشاشة لـ %%packageName%%',
'gallery.prevImage' => '< السابق',
'gallery.nextImage' => 'التالي>',
'gallery.closeGallery' => 'إغلاق',
'gallery.navigationOf' => 'من',
'gallery.typeScreenshot' => 'لقطات الشاشة',
'gallery.title' => 'لقطات الشاشة',
];

View File

@@ -1,43 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'clear-cache.apsCacheCleared' => 'تمت إزالة الملفات المؤقتة.',
'configure.title' => '%%name%%',
'configure.applicationNotFound' => "لم يتم العثور على التطبيق ذي المعرّف /\"%%id%%/\".",
'configure.applicationHasNoSettings' => 'التطبيق بلا إعدادات.',
'configure.settingsUpdated' => 'تم تحديث إعدادات التطبيق.',
'configure.settingsUpdateFailed' => 'فشل في تحديث إعدادات التطبيق: %%error%%',
'configure.instancesNotReconfigured' => 'لم يتم تكوين بعض مثيلات التطبيق.',
'index.title' => 'مخزن التطبيقات',
'info.title' => '%%name%%',
'info.hint' => 'تحتوي القائمة الموجودة أدناه على معلومات حول مواقع الويب التي يتم تثبيت التطبيق عليها. تشير القيمة "بدون" في عمود موقع الويب إلى أن التطبيق خارجي. يتعذر تثبيت هذا التطبيق على موقع ويب لعميل معين؛ فهو يوفر رابطًا فقط إلى إحدى الخدمات الخارجية.',
'remote-app-info.title' => 'تفاصيل التطبيق',
'update-settings.title' => 'إعدادات التحديث',
'update-settings.settingsUpdated' => 'تم تحديث الإعدادات.',
'update-settings.settingsUpdateFailed' => 'يتعذر تحديث الإعدادات: %%error%%',
'upload.title' => 'إضافة تطبيق',
'upload.packageInstallationError' => 'لا يمكن إضافة التطبيق: %%message%%.',
'upload.appUploaded' => 'تم تحميل التطبيق بنجاح.',
'upload.appDownloadStarted' => 'تنزيل التطبيقات المحددة.',
'uploaded.title' => 'تطبيقاتي',
'uploaded.hint' => 'هنا يمكنك إضافة التطبيقات أو إزالتها من مخزن التطبيقات وكذلك إدارة توفر التطبيقات للعملاء. يوجد سببان لإضافة التطبيقات: توسيع قائمة التطبيقات المتوفرة أو تكوين إعدادات التطبيقات على مستوى الخادم. يتعذر تثبيت بعض التطبيقات بدون هذا التكوين. تُدرج جميع التطبيقات المضافة أدناه.',
'uploaded.infoAppDeleted' => 'تم حذف التطبيقات المحددة.',
'uploaded.infoAppNotDeleted' => 'لم يتم حذف بعض التطبيقات المحددة.',
'uploaded.applicationsNowAvailable' => 'التطبيقات المحددة متوفرة الآن للتثبيت من قبل العملاء أو للتكوين.',
'uploaded.applicationsNowNotAvailable' => 'لم تعد التطبيقات المحددة متوفرة للتثبيت من قبل العملاء أو للتكوين.',
'uploaded.cantChangePackageProperties' => 'حدث خطأ عند محاولة تغيير إعدادات توفر التطبيق.',
'uploaded.appDownloaded' => 'تم تنزيل التطبيقات المحددة بنجاح.',
'uploaded.appNotDownloaded' => 'لم يتم تنزيل بعض التطبيقات المحددة.',
'uploaded.downloadInProgress' => 'يُرجى الانتظار...',
'usage.title' => 'تطبيقات مُثبّتة',
'usage.hint' => 'تحتوي القائمة الموجودة أدناه على جميع التطبيقات سواء التي تضيفها أو التي يُثبّتها عملاؤك. هنا يمكنك إدارة إعدادات التطبيق أو التحقق من التحديثات أو إزالة الملفات المؤقتة التي أُضيفت أثناء عمليات تثبيت التطبيقات.',
'usage.hintReseller' => 'تعرض القائمة الموجودة أدناه معلومات بشأن جميع عمليات تثبيت التطبيقات على مواقعك وعلى مواقع عملائك. انقر فوق اسم التطبيق لرؤية قائمة بمواقع الويب التي يتم تثبيت التطبيق عليها، وللتحقق من التحديثات المخصصة للتطبيق.',
];

View File

@@ -1,51 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'admin-customers-target-list.title' => 'عملاء مسؤول النظام الذين في حاجة للانتقال',
'admin-customers-target-list.hint-t1s1' => 'هذه قائمة بالعملاء تم إنشاؤها من العملاء المحظور عليهم تغيير حدود المجال وكان لديهم مجال واحد قبل الترقية.',
'admin-customers-target-list.hint-t1s2' => 'هذه قائمة بالعملاء تم إنشاؤها من العملاء المسموح لهم بتغيير حدود المجال وكان لديهم مجال واحد قبل الترقية.',
'admin-customers-target-list.hint-t1s3' => 'هذه قائمة بالعملاء تم إنشاؤها من العملاء المحظور عليهم إنشاء المجالات وتغيير حدود المجال وكان لديهم العديد من المجالات قبل الترقية.',
'admin-customers-target-list.hint-t1s6' => 'هذه قائمة بالعملاء تم إنشاؤها من العملاء المسموح لهم بإنشاء المجالات وتغيير حدود المجال وكان لديهم العديد من المجالات قبل الترقية.',
'admin-subscriptions-target-list.title' => 'اشتراك مسؤول النظام الذي في حاجة للانتقال',
'admin-subscriptions-target-list.hint' => 'هذه قائمة بالاشتراكات تم إنشاؤها من المجالات التي (أ) تنتمي إلى مسؤول النظام و(ب) تُمكّن حساب مسؤول المجال قبل الترقية.',
'bunch.title' => 'إكمال التبديل إلى نموذج الأعمال الجديد من Plesk',
'bunch.noActionsDescription' => 'لم يتبق أي عملاء واشتراكات تلائم السيناريوهات العامة في النظام، وبالتالي لا يوجد مجال لفعل أي شيء من أجلك على علامة التبويب هذه. يُرجى الانتقال إلى علامة التبويب التالية ونقل العملاء المتبقين.',
'bunch.description' => 'يختلف نموذج توزيع الموارد في Plesk 10 والإصدار الأحدث عن النموذج الموجود في الإصدارات السابقة: فمنذ إصدار Plesk 10، أصبح العملاء بلا موارد خاصة، كما كان الحال في الإصدار Plesk 8 والإصدار 9، لكن يتم الحصول عليها مع الاشتراكات. والآن، يوجد العديد من العملاء الذين لديهم موارد قديمة ينبغي انتقالها بشكل صحيح لملاءمة نموذج Plesk الجديد. استنادًا إلى السيناريوهات العامة لاستخدم Plesk، حلل Plesk هؤلاء العملاء وأنشأ قائمة بإجراءات الانتقال الموصى بها التي تراها بالأسفل. يمكنك المضي قدمًا في ذلك، أو تحديد مخطط انتقال لكل عميل. بمجرد انتقال أحد العملاء، يختفي من هذه القائمة.',
'bunch.help' => 'تعرف على المزيد حول الانتقال',
'bunch.applyed' => 'تم انتقال العملاء والاشتراكات المحددة.',
'bunch.failed' => 'يتعذر انتقال العملاء والاشتراكات المحددة.',
'customers.title' => 'إكمال التبديل إلى نموذج الأعمال الجديد من Plesk: الانتقال الانتقائي للعملاء',
'customers.description' => 'هذه قائمة كاملة بالعملاء الذين في حاجة للانتقال. جنبًا إلى جنب مع الحسابات التي تلائم السيناريوهات العامة، فإن ذلك يشمل الحسابات ذات الإعدادات غير الاعتيادية، التي لا تخصص لها إجراءات موصى بها. ينبغي عليك اختيار مخطط انتقال قابل للتطبيق بنفسك، استنادًا إلى إعدادات عميل سابق معين، مثل الحدود والأذونات والعدد الفعلي للمجالات وغير ذلك. لاكتشاف حدود عميل سابق وأذوناته، انقر فوق اسم العميل ثم /"مواردي/" في قائمة اشتراكات العميل.',
'customers.help' => 'تعرف على المزيد حول الانتقال',
'manual-customer-solution.appliedInfo' => 'تم انتقال العملاء المحددين.',
'manual-customer-solution.notAppliedInfo' => 'لم يتم انتقال كل العملاء المحددين أو العديد منهم.',
'manual-subscription-solution.appliedInfo' => 'تم انتقال الاشتراكات المحددة.',
'manual-subscription-solution.notAppliedInfo' => 'لم يتم انتقال كل الاشتراكات المحددة أو العديد منها.',
'notes.nonApplicableCustomers' => "%%count%% من العملاء لا يتناسب مع أي من السيناريوهات العامة، وبالتالي لا توجد إجراءات موصى بها لهم. لانتقال الحسابات، %%link%%.",
'notes.nonApplicableSubscriptions' => "%%count%% من الاشتراكات لا يتناسب مع أي من السيناريوهات العامة، وبالتالي لا توجد إجراءات موصى بها لها. لانتقال الاشتراكات، %%link%%.",
'notes.manualCustomersUpgradeLink' => 'تحديد مخطط مخصص لهم',
'notes.manualSubscriptionsUpgradeLink' => 'تحديد مخطط مخصص لهم',
'reseller-customers-target-list.title' => 'عملاء بائعي التجزئة الذين في حاجة للانتقال',
'reseller-customers-target-list.hint-t2s1' => 'هذه قائمة بالعملاء تم إنشاؤها من العملاء المحظور عليهم تغيير حدود المجال وكان لديهم مجال واحد قبل الترقية.',
'reseller-customers-target-list.hint-t2s2' => 'هذه قائمة بالعملاء تم إنشاؤها من العملاء المسموح لهم بتغيير حدود المجال وكان لديهم مجال واحد قبل الترقية.',
'reseller-customers-target-list.hint-t2s3' => 'هذه قائمة بالعملاء تم إنشاؤها من العملاء المحظور عليهم إنشاء المجالات وتغيير حدود المجال وكان لديهم العديد من المجالات قبل الترقية.',
'reseller-customers-target-list.hint-t2s6' => 'هذه قائمة بالعملاء تم إنشاؤها من العملاء المسموح لهم بإنشاء المجالات وتغيير حدود المجال وكان لديهم العديد من المجالات قبل الترقية.',
'reseller-subscriptions-target-list.title' => 'اشتراك بائعي التجزئة الذين في حاجة للانتقال',
'reseller-subscriptions-target-list.hint' => 'هذه قائمة بالاشتراكات تم إنشاؤها من المجالات التي (أ) تنتمي إلى بائعي التجزئة و(ب) تُمكّن حساب مسؤول المجال قبل الترقية.',
'subscriptions.title' => 'إكمال التبديل إلى نموذج الأعمال الجديد من Plesk: الانتقال الانتقائي للاشتراكات',
'subscriptions.description' => 'هذه قائمة بالاشتراكات التي في حاجة للانتقال، فإنها تحتوي على نفس الاشتراكات كصفحة الإجراءات الموصى بها، لكن يمكنك هنا تحديد مخطط الانتقال المناسب أكثر لاشتراك معين. هذه الاشتراكات تم إنشاؤها من المجالات التي (أ) تنتمي إلى مسؤول النظام أو بائع التجزئة و(ب) تُمكّن حساب مسؤول المجال.',
'subscriptions.help' => 'تعرف على المزيد حول الانتقال',
'tabs.bunch' => 'الإجراءات الموصى بها',
'tabs.customers' => 'انتقال العملاء الانتقائي',
'tabs.subscriptions' => 'انتقال الاشتراكات الانتقائي',
];

View File

@@ -1,21 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'add-network.title' => '‫إضافة شبكة‬',
'add-network.added' => '‫تمت إضافة الشبكة %%address%%.',
'delete-network.noNetworksSpecified' => '‫حدد شبكة واحدة أو شبكات متعددة من قائمة تقييد وصول IP.',
'delete-network.networksDeleted' => '‫تم حذف الشبكات المحددة.',
'delete-network.networksNotDeleted' => '‫لم يتم حذف بعض الشبكات المحددة. ‫تفاصيل: %%error%%.',
'edit-network.title' => '‫تحرير الشبكة‬',
'edit-network.updated' => '‫تم تحديث الشبكة %%address%%.',
'list.title' => '‫إدارة تقييد الوصول إلى IP',
'list.currentIpAddressDenied' => '‫يتم تكوين سياسة تقييد الوصول وقائمة الشبكات حاليًا بطريقة لا تُمكّنك من تسجيل الدخول بحقوق المسؤول من عنوان IP الخاص بك "%%remoteAddress%%".',
'list.allowHint' => '‫يُسمح بالوصول إلى Plesk بامتيازات المسؤول، باستثناء الشبكات الموجودة في القائمة.',
'list.denyHint' => '‫الوصول إلى Plesk بامتيازات المسؤول مرفوض من جميع الشبكات التي لم يتم إدراجها هنا.',
'settings.title' => '‫إعدادات تقييد الوصول إلى IP',
'settings.settingsSaved' => '‫تم حفظ سياسة تقييد الوصول إلى IP.',
];

View File

@@ -1,52 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'_shared.buttonConflictYes' => 'نعم',
'_shared.buttonConflictNo' => 'لا',
'_shared.sureToApplyConflictOptionTitle' => 'هل ترغب بالتأكيد في تطبيق هذا الإعداد؟',
'_shared.sureToApplyConflictOptionDescription' => 'يتعارض هذا الإعداد مع سياسة الأمان على مستوى الخادم.',
'_shared.foundConflictOptionsTitle' => 'توجد إعدادات تتعارض مع سياسة الأمان على مستوى الخادم. هل ترغب بالتأكيد في المتابعة؟',
'_shared.foundConflictOptionsDescription' => 'إذا كنت ترغب حقًا في إلغاء سياسة الأمان وتطبيق الإعدادات المتعارضة، فانقر فوق نعم. وإلا، فانقر فوق لا، ثم انقر فوق الرابط /"تطبيق التعيين المسبق للإعداد الآمن/" لاستخدام الإعدادات وفقًا لسياسة الأمان على مستوى الخادم. تتعارض الإعدادات التالية مع السياسة:',
'_shared.option_ssl' => 'دعم SSL/TLS',
'_shared.option_perl' => 'دعم Perl',
'_shared.option_python' => 'دعم Python',
'_shared.option_write_modify' => 'أذونات كتابة/تعديل إضافية',
'_shared.option_webdeploy' => 'نشر Web Deploy',
'_shared.option_php' => 'دعم PHP',
'_shared.option_cgi' => 'دعم CGI',
'_shared.option_fastcgi' => 'دعم FastCGI',
'_shared.option_ssi' => 'دعم SSI',
'_shared.option_asp_dot_net' => 'دعم Microsoft ASP.NET',
'_shared.option_asp' => 'دعم Apache ASP',
'_shared.option_errdocs' => 'مستندات خطأ مخصصة',
'_shared.option_webstat' => 'إحصائيات الويب',
'_shared.option_shell' => 'وعاء النظام',
'_shared.option_php_handler' => '‫إصدار PHP',
'_shared.option_php_handler_id' => '‫نوع معالج PHP',
'_shared.option_iis_app_pool' => 'تجمع تطبيقات IIS المخصصة',
'_shared.option_safe_mode_predefined' => 'safe_mode',
'_shared.option_webstat_protected_dir' => 'الوصول إلى إحصائيات الويب',
'_shared.option_ssl_redirect' => 'إعادة التوجيه الدائم SEO-safe 301 من HTTP إلى HTTPS',
'create-addon.title' => 'إنشاء خطة الوظيفة الإضافة',
'create-addon.hint' => 'هنا حيث تنشئ خطة الوظيفة الإضافة المقابلة لعرضك.',
'create.title' => 'إنشاء خطة استضافة',
'create.hint' => 'هنا حيث تنشئ خطة الخدمة المقابلة لعرض الاستضافة الخاص بك.',
'edit.title' => '%%name%%',
'edit.hint' => 'هنا حيث تغيّر خطة الخدمة المقابلة لعرضك. لاحظ أن تغيير الخطة تلقائيًا يؤدي إلى تحديث جميع الاشتراكات المقترنة بها، باستثناء الاشتراكات المخصصة المؤمنة ضد المزامنة.',
'edit.servicePlanIsSyncing' => 'الاشتراكات غير متزامنة حاليًا مع خطة الخدمة. يُرجى الانتظار حتى الانتهاء من عملية المزامنة.',
'edit.planNotFound' => 'خطة غير معروفة.',
'list.title' => 'خطط الخدمة',
'list.hint' => 'هنا حيث تُدير خطط الاستضافة الخاصة بك. خطة الاستضافة هي مجموعة من الموارد والخدمات المقدّمة مع عملاء خطة الاستضافة عند اشتراكهم بها. توجد خطط وظائف إضافية أيضًا تزيد من كمية الموارد والخدمات المقدّمة مع اشتراك معين.',
'list.tabTitle' => 'خطة الاستضافة',
'list.infoNewPlanCreated' => 'تم إنشاء خطة الخدمة %%name%%.',
'list.infoPlanUpdated' => 'تم تحديث خطة الخدمة %%name%%.',
'list.infoPlanUpdatedSynced' => 'تم تحديث خطة الخدمة %%name%%. تم تحديث جميع الاشتراكات المقترنة، باستثناء الاشتراكات المخصصة المؤمنة ضد المزامنة.',
'list.infoPlanDeleted' => 'تمت إزالة خطط الخدمة المحددة.',
'list.infoPlanNotDeleted' => 'لم تتم إزالة بعض خطط الخدمة المحددة.',
'list.infoPlanDuplicated' => 'تم تكرار خطط الخدمة المحددة بنجاح.',
'list.infoPlanNotDuplicated' => 'لم يتم تكرار بعض خطط الخدمة المحددة.',
];

View File

@@ -1,40 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'add-domain-alias.noDomains' => 'يتعذر إنشاء اسم مستعار: لا توجد نطاقات متاحة.',
'add-domain.noDomains' => 'يتعذر إنشاء نطاق الوظيفة الإضافية: لا توجد نطاقات متاحة.',
'add-subdomain.noDomains' => 'يتعذر إنشاء نطاق فرعي: لا توجد نطاقات متاحة.',
'change-owner.wrongOwnerId' => 'يتعذر العثور على مالك جديد لحساب العميل.',
'change.title' => 'تغيير الخطة والوظيفة الإضافية المقترنة بالاشتراكات',
'create.title' => 'إضافة عميل جديد',
'domains.title' => 'المجالات',
'list.title' => 'العملاء',
'list.infoNewCustomerCreated' => 'تم إنشاء العميل %%name%%.',
'list.infoCustomerActivated' => 'تم تفعيل العملاء المحددين.',
'list.infoCustomerNotActivated' => 'لم يتم تفعيل بعض العملاء المحددين.',
'list.infoCustomerSuspended' => 'تم إيقاف العملاء المحددين مؤقتًا.',
'list.infoCustomerNotSuspended' => 'لم يتم تعليق بعض العملاء المحددين.',
'list.infoCustomerDeleted' => 'تم حذف العملاء المحددين.',
'list.infoCustomerNotDeleted' => 'لم يتم حذف بعض العملاء المحددين.',
'list.upgrageCustomersHint' => 'لقد قمت بالترقية إلى Plesk 11، الذي يستخدم نموذجًا جديدًا للعميل والأعمال. للانتهاء من عملية التبديل إلى النموذج الجديد، حوّل حسابات الوكيل إلى حسابات عميل أو حسابات بائع تجزئة. إذا لم تقم بذلك، فلن يستطيع عملاؤك إنشاء مواقع الويب حتى في حالة منحهم هذا الإذن من قبل.',
'list.upgrageCustomersLink' => 'تحويل حسابات العميل.',
'list.infoCustomerToResellerConverted' => 'تم تحويل العملاء المحددين إلى بائعي تجزئة بنجاح.',
'list.errorCustomerToResellerNotConverted' => 'لم يتم تحويل بعض العملاء المحددين إلى بائعي تجزئة.',
'list.infoOwnerChanged' => 'تم نقل العملاء المحددين إلى %%name%%.',
'list.infoOwnerNotChanged' => 'لم يتم نقل بعض العملاء المحددين إلى %%name%%.',
'login-info.title' => 'تعديل معلومات تسجيل الدخول الخاصة بـ %%name%%',
'overview.title' => '%%name%%',
'personal-info.title' => 'تعديل معلومات جهة الاتصال الخاصة بـ %%name%%',
'subscriptions.title' => 'اشتراكات',
];

View File

@@ -1,13 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'assign-to-subscription.databasesSuccessfullyAssignedToSubscription' => 'تم نقل قواعد البيانات إلى الاشتراك /"%%subscriptionName%%/".',
'assign-to-subscription.databasesNotAssignedToSubscription' => 'يتعذر نقل قواعد البيانات إلى الاشتراك /"%%subscriptionName%%/".',
'assign-to-subscription.subscriptionNotFound' => 'لم يتم العثور على الاشتراك /"%%name%%/".',
'assign-to-subscription.isNotMainDomain' => '/"%%name%%/" ليس المجال الرئيسي على الاشتراك.',
'settings.title' => 'إعدادات استضافة قاعدة البيانات',
'settings.settingsSaved' => 'تم حفظ إعدادات استضافة قاعدة البيانات.',
'refresh.success' => 'تم تحديث معلومات خوادم قاعدة البيانات.',
];

View File

@@ -1,41 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'acl-records.title' => 'نقل قالب القيود',
'add-acl-record.title' => 'إضافة عنوان IP',
'add-acl-record.success' => 'أُضيفت عناوين IP المحددة بنجاح.',
'delete-acl-record.success' => 'تمت إزالة عناوين IP المحددة بنجاح.',
'index.title' => 'إعدادات DNS',
'records.title' => 'قالب سجلات المنطقة',
'reset-settings.success' => 'تمت استعادة الإعدادات الافتراضية بنجاح.',
'settings.title' => 'الإعدادات على مستوى الخادم',
'settings.success' => 'تم تحديث الإعدادات بنجاح.',
'soa-record.title' => 'قالب إعدادات المنطقة',
'restore-default.title' => 'استعادة قالب منطقة DNS الافتراضي',
'restore-default.text' => 'يرجى تأكيد رغبتك في استعادة التكوين الافتراضي لقالب منطقة DNS.',
'soa-sync.title' => 'تجاوز إعدادات البنية الخدمية "SOA" لجميع النطاقات الحالية',
'soa-sync.text' => 'تحديث سجلات SOA لجميع النطاقات المستضافة من خلال تطبيق التغييرات التي تم إجراؤها على نموذج SOA؟',
'sync.title' => 'تطبيق تغييرات قالب DNS',
'sync.type-option' => 'اختر أيًا مما يلي',
'sync.safe' => 'تطبيق التغييرات على المناطق التي لم يحدث لها تعديل. إذا تم تخصيص منطقة معينة (سجلات جديدة تمت إضافتها أو أخرى موجودة تم تغييرها)، فلن يطبق Plesk التغييرات من القالب على تلك المناطق.',
'sync.force' => 'تطبيق التغييرات على جميع المناطق. سيطبق Plesk التغييرات من القالب على جميع مناطق DNS ويشمل ذلك المناطق المخصصة. لاحظ أن السجلات المعدلة بواسطة المستخدم تظل كما هي. على سبيل المثال، إذا كان القالب يتضمن سجلاً جديدًا تمت إضافته بالفعل عن طريق أحد العملاء، فسيحتفظ Plesk بسجل العميل.',
'external-dns.title' => 'نظام DNS الخارجي',
'external-dns.hint' => 'هنا يمكنك تكوين خوادم DNS الخارجية',
'external-dns.success' => 'تم الحفظ',
'external-dns.configured' => 'تم تكوينه',
'external-dns.notConfigured' => 'غير مكوّن',
'external-dns.useExtension' => 'استخدم هذا الملحق',
'external-dns-edit.title' => 'نظام DNS الخارجي',
];

View File

@@ -1,21 +0,0 @@
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
$messages = [
'add.title' => 'إضافة اسم المجال',
'add.domainAdded' => 'تمت إضافة اسم المجال %%domain%% إلى قائمة الأسماء المحظورة بنجاح.',
'disable.listDisabled' => 'تم إيقاف ميزة التحقق من أسماء المجالات المحظورة.',
'edit.title' => '%%name%%',
'edit.domainUpdated' => 'تم تحديث اسم المجال %%domain%% بنجاح.',
'enable.listEnabled' => 'تم تشغيل ميزة التحقق من أسماء المجالات المحظورة.',
'list.title' => 'أسماء المجالات المحظورة',
'list.hint' => 'هنا يمكنك إدارة قائمة أسماء المجالات المحظورة التي تحتوي على المجالات الأكثر شيوعًا. في حالة تشغيل ميزة التحقق من أسماء المجالات المحظورة (عن طريق النقر فوق تمكين)، فلن يستطيع المستخدمون إنشاء المجالات باستخدام الأسماء الواردة من هذه القائمة. هذا القيد مفيد لمنع اعتراض البريد على سبيل المثال. في حالة إيقاف ميزة التحقق، يمكن تلقي رسائل البريد الإلكتروني التي أرسلها عملاؤك بواسطة العملاء الذين أعدوا المجالات باستخدام الأسماء نفسها التي تمتلكها هذه الشركات.',
'list.warningLisDisabled' => 'يتم إيقاف ميزة التحقق من أسماء المجالات المحظورة.',
'remove.domainRemoved' => 'تمت إزالة أسماء المجالات المحددة.',
'remove.domainNotRemoved' => 'لم تتم إزالة بعض أسماء المجالات المحددة.',
'remove.unableRemove' => 'لم تتم إزالة بعض أسماء المجالات المحددة.',
];

Some files were not shown because too many files have changed in this diff Show More