Merge remote-tracking branch 'Dolibarr/16.0' into 16_fix_warning_dispatch

This commit is contained in:
Francis Appels 2022-08-24 10:42:53 +02:00
commit ce8489724e
716 changed files with 12021 additions and 8982 deletions

3
.gitignore vendored
View File

@ -42,6 +42,8 @@ htdocs/includes/sebastian/
htdocs/includes/squizlabs/ htdocs/includes/squizlabs/
htdocs/includes/webmozart/ htdocs/includes/webmozart/
htdocs/.well-known/apple-developer-merchantid-domain-association htdocs/.well-known/apple-developer-merchantid-domain-association
/factory/
/output/
# Node Modules # Node Modules
build/yarn-error.log build/yarn-error.log
@ -55,4 +57,3 @@ yarn.lock
package-lock.json package-lock.json
doc/install.lock doc/install.lock
/factory/

View File

@ -124,7 +124,7 @@ NEW: Added MMK currency (Myanmar Kyat)
Modules Modules
NEW: Module Partnership Management NEW: Module Partnership Management
NEW: Experimental module Event Organization Management NEW: Module Event Organization Management
For developers or integrators: For developers or integrators:

View File

@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
# Script used by the Dockerfile.
# See README.md to know how to create a Dolibarr env with docker
usermod -u ${HOST_USER_ID} www-data usermod -u ${HOST_USER_ID} www-data
groupmod -g ${HOST_USER_ID} www-data groupmod -g ${HOST_USER_ID} www-data

View File

@ -174,7 +174,7 @@ if [ -s "$mydir/initdemopostsql.sql" ]; then
echo A file initdemopostsql.sql was found, we execute it. echo A file initdemopostsql.sql was found, we execute it.
mysql -P$port $base < "$mydir/initdemopostsql.sql" mysql -P$port $base < "$mydir/initdemopostsql.sql"
else else
echo No file initdemopostsql.sql found, we extra sql action done. echo No file initdemopostsql.sql found, so no extra sql action done.
fi fi

View File

@ -10,6 +10,7 @@
# Syntax # Syntax
if [ "x$1" != "xlist" -a "x$1" != "xfix" ] if [ "x$1" != "xlist" -a "x$1" != "xfix" ]
then then
echo "Detect .sh and .spec files that does not contains any tab inside"
echo "Usage: fixnotabfiles.sh [list|fix]" echo "Usage: fixnotabfiles.sh [list|fix]"
fi fi

View File

@ -17,14 +17,14 @@ fi
# To detec # To detec
if [ "x$1" = "xlist" ] if [ "x$1" = "xlist" ]
then then
find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep CRLF find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v "CRLF" | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep CRLF
# find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" \) -exec file "{}" + | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep -v 'htdocs\/includes' | grep CRLF # find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" \) -exec file "{}" + | grep -v "CRLF" | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep -v 'htdocs\/includes' | grep CRLF
fi fi
# To convert # To convert
if [ "x$1" = "xfix" ] if [ "x$1" = "xfix" ]
then then
for fic in `find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep CRLF | awk -F':' '{ print $1 }' ` for fic in `find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v "CRLF" | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep CRLF | awk -F':' '{ print $1 }' `
do do
echo "Fix file $fic" echo "Fix file $fic"
dos2unix "$fic" dos2unix "$fic"

View File

@ -39,13 +39,14 @@ optimize_image()
max_input_size=$(expr $max_input_size + $input_file_size) max_input_size=$(expr $max_input_size + $input_file_size)
if [ "${1##*.}" = "png" ]; then if [ "${1##*.}" = "png" ]; then
#optipng -o1 -clobber -quiet $1 -out $2.firstpass #optipng -o1 -clobber -quiet "$1" -out "$2.firstpass"
optipng -o1 -quiet $1 -out $2.firstpass echo optipng -o1 -quiet "$1" -out "$2.firstpass"
pngcrush -q -rem alla -reduce $2.firstpass $2 >/dev/null optipng -o1 -quiet "$1" -out "$2.firstpass"
rm -fr $2.firstpass pngcrush -q -rem alla -reduce "$2.firstpass" "$2" >/dev/null
rm -fr "$2.firstpass"
fi fi
if [ "${1##*.}" = "jpg" -o "${1##*.}" = "jpeg" ]; then if [ "${1##*.}" = "jpg" -o "${1##*.}" = "jpeg" ]; then
jpegtran -copy none -progressive $1 > $2 jpegtran -copy none -progressive "$1" > $2
fi fi
output_file_size=$(stat -c%s "$2") output_file_size=$(stat -c%s "$2")
@ -120,8 +121,8 @@ main()
# Search of all jpg/jpeg/png in $INPUT # Search of all jpg/jpeg/png in $INPUT
# We remove images from $OUTPUT if $OUTPUT is a subdirectory of $INPUT # We remove images from $OUTPUT if $OUTPUT is a subdirectory of $INPUT
echo "Scan $INPUT to find images" echo "Scan $INPUT to find images with find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v '/gource/' | grep -v '/includes/' | grep -v '/custom/' | grep -v $OUTPUT"
IMAGES=$(find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v $OUTPUT) IMAGES=$(find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v '/gource/' | grep -v '/includes/' | grep -v '/custom/' | grep -v '/documents/' | grep -v $OUTPUT)
if [ "$QUIET" == "0" ]; then if [ "$QUIET" == "0" ]; then
echo --- Optimizing $INPUT --- echo --- Optimizing $INPUT ---
@ -135,11 +136,11 @@ main()
printf '%*.*s' 0 $((linelength - ${#filename} - ${#sDone} )) "$pad" printf '%*.*s' 0 $((linelength - ${#filename} - ${#sDone} )) "$pad"
fi fi
optimize_image $CURRENT_IMAGE $OUTPUT/$filename optimize_image "$CURRENT_IMAGE" "$OUTPUT/$filename"
# Replace file # Replace file
if [[ "$INPLACE" == "1" ]]; then if [[ "$INPLACE" == "1" ]]; then
mv $OUTPUT/$filename $CURRENT_IMAGE mv "$OUTPUT/$filename" "$CURRENT_IMAGE"
fi fi
if [ "$QUIET" == "0" ]; then if [ "$QUIET" == "0" ]; then

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2016 Olivier Geffroy <jeff@jeffinfo.com> /* Copyright (C) 2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2016 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2016 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2016-2021 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016-2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -40,6 +40,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
$langs->loadLangs(array("accountancy", "compta")); $langs->loadLangs(array("accountancy", "compta"));
$action = GETPOST('action', 'aZ09'); $action = GETPOST('action', 'aZ09');
$optioncss = GETPOST('optioncss', 'alpha');
$contextpage = GETPOST('contextpage', 'aZ09'); $contextpage = GETPOST('contextpage', 'aZ09');
// Load variable for pagination // Load variable for pagination
@ -158,7 +159,8 @@ if (empty($user->rights->accounting->mouvements->lire)) {
* Action * Action
*/ */
$parameters = array('socid'=>$socid); $parameters = array();
$arrayfields = array();
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) { if ($reshook < 0) {
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');

View File

@ -863,7 +863,7 @@ class AccountingAccount extends CommonObject
if (!empty($buyer->code_compta_product)) { if (!empty($buyer->code_compta_product)) {
$code_t = $buyer->code_compta_product; $code_t = $buyer->code_compta_product;
$suggestedid = $accountingAccount['thirdparty']; $suggestedid = $accountingAccount['thirdparty'];
$suggestedaccountingaccountfor = 'thridparty'; $suggestedaccountingaccountfor = 'thirdparty';
} }
} }

View File

@ -281,7 +281,7 @@ class AccountingJournal extends CommonObject
} }
$label_link = $this->code; $label_link = $this->code;
if ($withlabel) { if ($withlabel && !empty($this->label)) {
$label_link .= ' - '.($nourl ? '<span class="opacitymedium">' : '').$langs->transnoentities($this->label).($nourl ? '</span>' : ''); $label_link .= ' - '.($nourl ? '<span class="opacitymedium">' : '').$langs->transnoentities($this->label).($nourl ? '</span>' : '');
} }

View File

@ -1543,7 +1543,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
// Create form popup // Create form popup
$formquestion = array(); $formquestion = array();
if ($object->email) { if ($object->email) {
$formquestion[] = array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => ($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL ?true:false)); $formquestion[] = array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => (getDolGlobalString('ADHERENT_DEFAULT_SENDINFOBYMAIL') ? true : false));
} }
if (!empty($conf->mailman->enabled) && !empty($conf->global->ADHERENT_USE_MAILMAN)) { if (!empty($conf->mailman->enabled) && !empty($conf->global->ADHERENT_USE_MAILMAN)) {
$formquestion[] = array('type'=>'other', 'label'=>$langs->transnoentitiesnoconv("SynchroMailManEnabled"), 'value'=>''); $formquestion[] = array('type'=>'other', 'label'=>$langs->transnoentitiesnoconv("SynchroMailManEnabled"), 'value'=>'');
@ -1574,7 +1574,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
$outputlangs->loadLangs(array("main", "members")); $outputlangs->loadLangs(array("main", "members"));
// Get email content from template // Get email content from template
$arraydefaultmessage = null; $arraydefaultmessage = null;
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_CANCELATION; $labeltouse = getDolGlobalString('ADHERENT_EMAIL_TEMPLATE_CANCELATION');
if (!empty($labeltouse)) { if (!empty($labeltouse)) {
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'member', $user, $outputlangs, 0, 1, $labeltouse); $arraydefaultmessage = $formmail->getEMailTemplate($db, 'member', $user, $outputlangs, 0, 1, $labeltouse);

View File

@ -961,10 +961,10 @@ class Adherent extends CommonObject
} }
/** /**
* Fonction qui supprime l'adherent et les donnees associees * Fonction to delete a member and its data
* *
* @param int $rowid Id of member to delete * @param int $rowid Id of member to delete
* @param User $user User object * @param User $user User object
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @param int $notrigger 1=Does not execute triggers, 0= execute triggers
* @return int <0 if KO, 0=nothing to do, >0 if OK * @return int <0 if KO, 0=nothing to do, >0 if OK
*/ */
@ -1813,7 +1813,7 @@ class Adherent extends CommonObject
if (!$error) { if (!$error) {
// Create payment line for invoice // Create payment line for invoice
$paiement_id = $paiement->create($user); $paiement_id = $paiement->create($user);
if (!$paiement_id > 0) { if (!($paiement_id > 0)) {
$this->error = $paiement->error; $this->error = $paiement->error;
$this->errors = $paiement->errors; $this->errors = $paiement->errors;
$error++; $error++;

View File

@ -434,6 +434,7 @@ class AdherentType extends CommonObject
/** /**
* Function to delete the member's status * Function to delete the member's status
* TODO Add param "User $user"
* *
* @return int > 0 if OK, 0 if not found, < 0 if KO * @return int > 0 if OK, 0 if not found, < 0 if KO
*/ */

View File

@ -41,6 +41,7 @@ $langs->load("members");
$rowid = GETPOST('rowid', 'int'); $rowid = GETPOST('rowid', 'int');
$action = GETPOST('action', 'aZ09'); $action = GETPOST('action', 'aZ09');
$cancel = GETPOST('cancel', 'alpha'); $cancel = GETPOST('cancel', 'alpha');
$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : str_replace('_', '', basename(dirname(__FILE__)).basename(__FILE__, '.php')); // To manage different context of search
$backtopage = GETPOST('backtopage', 'alpha'); $backtopage = GETPOST('backtopage', 'alpha');
$sall = GETPOST("sall", "alpha"); $sall = GETPOST("sall", "alpha");
@ -200,7 +201,7 @@ if ($action == 'update' && $user->rights->adherent->configurer) {
exit; exit;
} }
if ($action == 'confirm_delete' && $user->rights->adherent->configurer) { if ($action == 'confirm_delete' && !empty($user->rights->adherent->configurer)) {
$object->fetch($rowid); $object->fetch($rowid);
$res = $object->delete(); $res = $object->delete();
@ -439,7 +440,7 @@ if ($rowid > 0) {
print '<div class="fichecenter">'; print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>'; print '<div class="underbanner clearboth"></div>';
print '<table class="border centpercent">'; print '<table class="tableforfield border centpercent">';
// Morphy // Morphy
print '<tr><td>'.$langs->trans("MembersNature").'</td><td class="valeur" >'.$object->getmorphylib($object->morphy).'</td>'; print '<tr><td>'.$langs->trans("MembersNature").'</td><td class="valeur" >'.$object->getmorphylib($object->morphy).'</td>';
@ -669,20 +670,23 @@ if ($rowid > 0) {
print_liste_field_titre("Action", $_SERVER["PHP_SELF"], "", $param, "", 'width="60" align="center"', $sortfield, $sortorder); print_liste_field_titre("Action", $_SERVER["PHP_SELF"], "", $param, "", 'width="60" align="center"', $sortfield, $sortorder);
print "</tr>\n"; print "</tr>\n";
while ($i < $num && $i < $conf->liste_limit) { $adh = new Adherent($db);
$imaxinloop = ($limit ? min($num, $limit) : $num);
while ($i < $imaxinloop) {
$objp = $db->fetch_object($resql); $objp = $db->fetch_object($resql);
$datefin = $db->jdate($objp->datefin); $datefin = $db->jdate($objp->datefin);
$adh = new Adherent($db);
$adh->lastname = $objp->lastname; $adh->lastname = $objp->lastname;
$adh->firstname = $objp->firstname; $adh->firstname = $objp->firstname;
$adh->datefin = $datefin; $adh->datefin = $datefin;
$adh->need_subscription = $objp->subscription; $adh->need_subscription = $objp->subscription;
$adh->statut = $objp->status; $adh->statut = $objp->status;
// Lastname
print '<tr class="oddeven">'; print '<tr class="oddeven">';
// Lastname
if ($objp->company != '') { if ($objp->company != '') {
print '<td><a href="card.php?rowid='.$objp->rowid.'">'.img_object($langs->trans("ShowMember"), "user", 'class="paddingright"').$adh->getFullName($langs, 0, -1, 20).' / '.dol_trunc($objp->company, 12).'</a></td>'."\n"; print '<td><a href="card.php?rowid='.$objp->rowid.'">'.img_object($langs->trans("ShowMember"), "user", 'class="paddingright"').$adh->getFullName($langs, 0, -1, 20).' / '.dol_trunc($objp->company, 12).'</a></td>'."\n";
} else { } else {
@ -690,7 +694,7 @@ if ($rowid > 0) {
} }
// Login // Login
print "<td>".$objp->login."</td>\n"; print "<td>".dol_escape_htmltag($objp->login)."</td>\n";
// Type // Type
/*print '<td class="nowrap">'; /*print '<td class="nowrap">';
@ -747,11 +751,15 @@ if ($rowid > 0) {
$i++; $i++;
} }
if ($i == 0) {
print '<tr><td colspan="7"><span class="opacitymedium">'.$langs->trans("None").'</span></td></tr>';
}
print "</table>\n"; print "</table>\n";
print '</div>'; print '</div>';
print '</form>'; print '</form>';
if ($num > $conf->liste_limit) { if ($num > $limit) {
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, ''); print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, '');
} }
} else { } else {

View File

@ -34,7 +34,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php';
// Load translation files required by the page // Load translation files required by the page
$langs->loadLangs(array('members', 'languages')); $langs->loadLangs(array('members', 'languages'));
$id = GETPOST('rowid', 'int'); $id = GETPOST('rowid', 'int') ? GETPOST('rowid', 'int') : GETPOST('id', 'int');
$action = GETPOST('action', 'aZ09'); $action = GETPOST('action', 'aZ09');
$cancel = GETPOST('cancel', 'alpha'); $cancel = GETPOST('cancel', 'alpha');
$ref = GETPOST('ref', 'alphanohtml'); $ref = GETPOST('ref', 'alphanohtml');
@ -61,7 +61,12 @@ if ($cancel == $langs->trans("Cancel")) {
if ($action == 'delete' && GETPOST('langtodelete', 'alpha')) { if ($action == 'delete' && GETPOST('langtodelete', 'alpha')) {
$object = new AdherentType($db); $object = new AdherentType($db);
$object->fetch($id); $object->fetch($id);
$object->delMultiLangs(GETPOST('langtodelete', 'alpha'), $user); $result = $object->delMultiLangs(GETPOST('langtodelete', 'alpha'), $user);
if ($result > 0) {
setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs');
header("Location: ".$_SERVER["PHP_SELF"].'?id='.$id);
exit;
}
} }
// Add translation // Add translation

View File

@ -66,7 +66,7 @@ if (preg_match('/set_(.*)/', $action, $reg)) {
$value = (GETPOST($code) ? GETPOST($code) : 1); $value = (GETPOST($code) ? GETPOST($code) : 1);
$res = dolibarr_set_const($db, $code, $value, 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, $code, $value, 'chaine', 0, '', $conf->entity);
if (!$res > 0) { if (!($res > 0)) {
$error++; $error++;
$errors[] = $db->lasterror(); $errors[] = $db->lasterror();
} }
@ -86,7 +86,7 @@ if (preg_match('/set_(.*)/', $action, $reg)) {
$code = $reg[1]; $code = $reg[1];
$res = dolibarr_del_const($db, $code, $conf->entity); $res = dolibarr_del_const($db, $code, $conf->entity);
if (!$res > 0) { if (!($res > 0)) {
$error++; $error++;
$errors[] = $db->lasterror(); $errors[] = $db->lasterror();
} }

View File

@ -142,7 +142,7 @@ if ($action == 'updateMask') {
$value = GETPOST('activate_hideClosedServiceByDefault', 'alpha'); $value = GETPOST('activate_hideClosedServiceByDefault', 'alpha');
$res3 = dolibarr_set_const($db, "CONTRACT_HIDE_CLOSED_SERVICES_BY_DEFAULT", $value, 'chaine', 0, '', $conf->entity); $res3 = dolibarr_set_const($db, "CONTRACT_HIDE_CLOSED_SERVICES_BY_DEFAULT", $value, 'chaine', 0, '', $conf->entity);
if (!$res1 > 0 || !$res2 > 0 || !$res3 > 0) { if (!($res1 > 0) || !($res2 > 0) || !($res3 > 0)) {
$error++; $error++;
} }

View File

@ -228,14 +228,14 @@ if ($action == 'edit') {
if ($val['type'] == 'textarea') { if ($val['type'] == 'textarea') {
print '<textarea class="flat" name="'.$constname.'" id="'.$constname.'" cols="50" rows="5" wrap="soft">' . "\n"; print '<textarea class="flat" name="'.$constname.'" id="'.$constname.'" cols="50" rows="5" wrap="soft">' . "\n";
print $conf->global->{$constname}; print getDolGlobalString($constname);
print "</textarea>\n"; print "</textarea>\n";
} elseif ($val['type']== 'html') { } elseif ($val['type']== 'html') {
require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php';
$doleditor = new DolEditor($constname, $conf->global->{$constname}, '', 160, 'dolibarr_notes', '', false, false, $conf->fckeditor->enabled, ROWS_5, '90%'); $doleditor = new DolEditor($constname, getDolGlobalString($constname), '', 160, 'dolibarr_notes', '', false, false, $conf->fckeditor->enabled, ROWS_5, '90%');
$doleditor->Create(); $doleditor->Create();
} elseif ($val['type'] == 'yesno') { } elseif ($val['type'] == 'yesno') {
print $form->selectyesno($constname, $conf->global->{$constname}, 1); print $form->selectyesno($constname, getDolGlobalString($constname), 1);
} elseif (preg_match('/emailtemplate:/', $val['type'])) { } elseif (preg_match('/emailtemplate:/', $val['type'])) {
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php'; include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
$formmail = new FormMail($db); $formmail = new FormMail($db);
@ -255,7 +255,7 @@ if ($action == 'edit') {
$arrayofmessagename[$modelmail->id] = $langs->trans(preg_replace('/\(|\)/', '', $modelmail->label)) . $moreonlabel; $arrayofmessagename[$modelmail->id] = $langs->trans(preg_replace('/\(|\)/', '', $modelmail->label)) . $moreonlabel;
} }
} }
print $form->selectarray($constname, $arrayofmessagename, $conf->global->{$constname}, 'None', 0, 0, '', 0, 0, 0, '', '', 1); print $form->selectarray($constname, $arrayofmessagename, getDolGlobalString($constname), 'None', 0, 0, '', 0, 0, 0, '', '', 1);
} elseif (preg_match('/category:/', $val['type'])) { } elseif (preg_match('/category:/', $val['type'])) {
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
@ -263,13 +263,13 @@ if ($action == 'edit') {
$tmp = explode(':', $val['type']); $tmp = explode(':', $val['type']);
print img_picto('', 'category', 'class="pictofixedwidth"'); print img_picto('', 'category', 'class="pictofixedwidth"');
print $formother->select_categories($tmp[1], $conf->global->{$constname}, $constname, 0, $langs->trans('CustomersProspectsCategoriesShort')); print $formother->select_categories($tmp[1], getDolGlobalString($constname), $constname, 0, $langs->trans('CustomersProspectsCategoriesShort'));
} elseif (preg_match('/thirdparty_type/', $val['type'])) { } elseif (preg_match('/thirdparty_type/', $val['type'])) {
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
$formcompany = new FormCompany($db); $formcompany = new FormCompany($db);
print $formcompany->selectProspectCustomerType($conf->global->{$constname}, $constname, 'customerorprospect', 'form', '', 1); print $formcompany->selectProspectCustomerType(getDolGlobalString($constname), $constname, 'customerorprospect', 'form', '', 1);
} elseif ($val['type'] == 'securekey') { } elseif ($val['type'] == 'securekey') {
print '<input required="required" type="text" class="flat" id="'.$constname.'" name="'.$constname.'" value="'.(GETPOST($constname, 'alpha') ?GETPOST($constname, 'alpha') : $conf->global->{$constname}).'" size="40">'; print '<input type="text" class="flat" id="'.$constname.'" name="'.$constname.'" value="'.(GETPOST($constname, 'alpha') ?GETPOST($constname, 'alpha') : getDolGlobalString($constname)).'" size="40">';
if (!empty($conf->use_javascript_ajax)) { if (!empty($conf->use_javascript_ajax)) {
print '&nbsp;'.img_picto($langs->trans('Generate'), 'refresh', 'id="generate_token'.$constname.'" class="linkobject"'); print '&nbsp;'.img_picto($langs->trans('Generate'), 'refresh', 'id="generate_token'.$constname.'" class="linkobject"');
} }
@ -294,7 +294,7 @@ if ($action == 'edit') {
$form->select_produits($selected, $constname, '', 0); $form->select_produits($selected, $constname, '', 0);
} }
} else { } else {
print '<input name="' . $constname . '" class="flat ' . (empty($val['css']) ? 'minwidth200' : $val['css']) . '" value="' . $conf->global->{$constname} . '">'; print '<input name="' . $constname . '" class="flat ' . (empty($val['css']) ? 'minwidth200' : $val['css']) . '" value="' . getDolGlobalString($constname) . '">';
} }
print '</td></tr>'; print '</td></tr>';
} }
@ -320,28 +320,28 @@ if ($action == 'edit') {
print '</td><td>'; print '</td><td>';
if ($val['type'] == 'textarea') { if ($val['type'] == 'textarea') {
print dol_nl2br($conf->global->{$constname}); print dol_nl2br(getDolGlobalString($constname));
} elseif ($val['type']== 'html') { } elseif ($val['type']== 'html') {
print $conf->global->{$constname}; print getDolGlobalString($constname);
} elseif ($val['type'] == 'yesno') { } elseif ($val['type'] == 'yesno') {
print ajax_constantonoff($constname); print ajax_constantonoff($constname);
} elseif (preg_match('/emailtemplate:/', $val['type'])) { } elseif (preg_match('/emailtemplate:/', $val['type'])) {
if (!empty($conf->global->{$constname})) { if (getDolGlobalString($constname)) {
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php'; include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
$formmail = new FormMail($db); $formmail = new FormMail($db);
$tmp = explode(':', $val['type']); $tmp = explode(':', $val['type']);
$template = $formmail->getEMailTemplate($db, $tmp[1], $user, $langs, $conf->global->{$constname}); $template = $formmail->getEMailTemplate($db, $tmp[1], $user, $langs, getDolGlobalString($constname));
if ($template < 0) { if ($template < 0) {
setEventMessages(null, $formmail->errors, 'errors'); setEventMessages(null, $formmail->errors, 'errors');
} }
print $langs->trans($template->label); print $langs->trans($template->label);
} }
} elseif (preg_match('/category:/', $val['type'])) { } elseif (preg_match('/category:/', $val['type'])) {
if (!empty($conf->global->{$constname})) { if (getDolGlobalString($constname)) {
$c = new Categorie($db); $c = new Categorie($db);
$result = $c->fetch($conf->global->{$constname}); $result = $c->fetch(getDolGlobalString($constname));
if ($result < 0) { if ($result < 0) {
setEventMessages(null, $c->errors, 'errors'); setEventMessages(null, $c->errors, 'errors');
} }
@ -353,25 +353,25 @@ if ($action == 'edit') {
print '<div class="select2-container-multi-dolibarr" style="width: 90%;"><ul class="select2-choices-dolibarr">' . implode(' ', $toprint) . '</ul></div>'; print '<div class="select2-container-multi-dolibarr" style="width: 90%;"><ul class="select2-choices-dolibarr">' . implode(' ', $toprint) . '</ul></div>';
} }
} elseif (preg_match('/thirdparty_type/', $val['type'])) { } elseif (preg_match('/thirdparty_type/', $val['type'])) {
if ($conf->global->{$constname}==2) { if (getDolGlobalString($constname)==2) {
print $langs->trans("Prospect"); print $langs->trans("Prospect");
} elseif ($conf->global->{$constname}==3) { } elseif (getDolGlobalString($constname)==3) {
print $langs->trans("ProspectCustomer"); print $langs->trans("ProspectCustomer");
} elseif ($conf->global->{$constname}==1) { } elseif (getDolGlobalString($constname)==1) {
print $langs->trans("Customer"); print $langs->trans("Customer");
} elseif ($conf->global->{$constname}==0) { } elseif (getDolGlobalString($constname)==0) {
print $langs->trans("NorProspectNorCustomer"); print $langs->trans("NorProspectNorCustomer");
} }
} elseif ($val['type'] == 'product') { } elseif ($val['type'] == 'product') {
$product = new Product($db); $product = new Product($db);
$resprod = $product->fetch($conf->global->{$constname}); $resprod = $product->fetch(getDolGlobalString($constname));
if ($resprod > 0) { if ($resprod > 0) {
print $product->getNomUrl(1); print $product->getNomUrl(1);
} elseif ($resprod < 0) { } elseif ($resprod < 0) {
setEventMessages(null, $object->errors, "errors"); setEventMessages($product->error, $product->errors, "errors");
} }
} else { } else {
print $conf->global->{$constname}; print getDolGlobalString($constname);
} }
print '</td></tr>'; print '</td></tr>';
} }

View File

@ -59,12 +59,12 @@ if ($action == 'set') {
if (!$error) { if (!$error) {
$res1 = dolibarr_set_const($db, "GEOIP_VERSION", GETPOST('geoipversion', 'aZ09'), 'chaine', 0, '', $conf->entity); $res1 = dolibarr_set_const($db, "GEOIP_VERSION", GETPOST('geoipversion', 'aZ09'), 'chaine', 0, '', $conf->entity);
if (!$res1 > 0) { if (!($res1 > 0)) {
$error++; $error++;
} }
$res2 = dolibarr_set_const($db, "GEOIPMAXMIND_COUNTRY_DATAFILE", $gimcdf, 'chaine', 0, '', $conf->entity); $res2 = dolibarr_set_const($db, "GEOIPMAXMIND_COUNTRY_DATAFILE", $gimcdf, 'chaine', 0, '', $conf->entity);
if (!$res2 > 0) { if (!($res2 > 0)) {
$error++; $error++;
} }

View File

@ -141,7 +141,7 @@ if ($action == 'updateMask') {
$draft = GETPOST('HOLIDAY_DRAFT_WATERMARK', 'alpha'); $draft = GETPOST('HOLIDAY_DRAFT_WATERMARK', 'alpha');
$res2 = dolibarr_set_const($db, "HOLIDAY_DRAFT_WATERMARK", trim($draft), 'chaine', 0, '', $conf->entity); $res2 = dolibarr_set_const($db, "HOLIDAY_DRAFT_WATERMARK", trim($draft), 'chaine', 0, '', $conf->entity);
if (!$res1 > 0 || !$res2 > 0) { if (!($res1 > 0) || !($res2 > 0)) {
$error++; $error++;
} }

View File

@ -178,63 +178,63 @@ $elementList = array();
$elementList['all'] = '-- '.dol_escape_htmltag($langs->trans("All")).' --'; $elementList['all'] = '-- '.dol_escape_htmltag($langs->trans("All")).' --';
$elementList['none'] = '-- '.dol_escape_htmltag($langs->trans("None")).' --'; $elementList['none'] = '-- '.dol_escape_htmltag($langs->trans("None")).' --';
$elementList['user'] = img_picto('', 'user', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToUser')); $elementList['user'] = img_picto('', 'user', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToUser'));
if (!empty($conf->adherent->enabled) && !empty($user->rights->adherent->lire)) { if (!empty($conf->adherent->enabled) && !empty($user->rights->adherent->lire)) {
$elementList['member'] = img_picto('', 'object_member', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToMember')); $elementList['member'] = img_picto('', 'object_member', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToMember'));
} }
if (!empty($conf->recruitment->enabled) && !empty($user->rights->recruitment->recruitmentjobposition->read)) { if (!empty($conf->recruitment->enabled) && !empty($user->rights->recruitment->recruitmentjobposition->read)) {
$elementList['recruitmentcandidature_send'] = img_picto('', 'recruitmentcandidature', 'class="paddingright"').dol_escape_htmltag($langs->trans('RecruitmentCandidatures')); $elementList['recruitmentcandidature_send'] = img_picto('', 'recruitmentcandidature', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('RecruitmentCandidatures'));
} }
if (!empty($conf->societe->enabled) && !empty($user->rights->societe->lire)) { if (!empty($conf->societe->enabled) && !empty($user->rights->societe->lire)) {
$elementList['thirdparty'] = img_picto('', 'company', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToThirdparty')); $elementList['thirdparty'] = img_picto('', 'company', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToThirdparty'));
} }
if (!empty($conf->project->enabled)) { if (!empty($conf->project->enabled)) {
$elementList['project'] = img_picto('', 'project', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToProject')); $elementList['project'] = img_picto('', 'project', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToProject'));
} }
if (!empty($conf->propal->enabled) && !empty($user->rights->propal->lire)) { if (!empty($conf->propal->enabled) && !empty($user->rights->propal->lire)) {
$elementList['propal_send'] = img_picto('', 'propal', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendProposal')); $elementList['propal_send'] = img_picto('', 'propal', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendProposal'));
} }
if (!empty($conf->commande->enabled) && !empty($user->rights->commande->lire)) { if (!empty($conf->commande->enabled) && !empty($user->rights->commande->lire)) {
$elementList['order_send'] = img_picto('', 'order', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendOrder')); $elementList['order_send'] = img_picto('', 'order', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendOrder'));
} }
if (isModEnabled('facture') && !empty($user->rights->facture->lire)) { if (isModEnabled('facture') && !empty($user->rights->facture->lire)) {
$elementList['facture_send'] = img_picto('', 'bill', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendInvoice')); $elementList['facture_send'] = img_picto('', 'bill', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendInvoice'));
} }
if (!empty($conf->expedition->enabled)) { if (!empty($conf->expedition->enabled)) {
$elementList['shipping_send'] = img_picto('', 'dolly', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendShipment')); $elementList['shipping_send'] = img_picto('', 'dolly', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendShipment'));
} }
if (!empty($conf->reception->enabled)) { if (!empty($conf->reception->enabled)) {
$elementList['reception_send'] = img_picto('', 'dollyrevert', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendReception')); $elementList['reception_send'] = img_picto('', 'dollyrevert', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendReception'));
} }
if (!empty($conf->ficheinter->enabled)) { if (!empty($conf->ficheinter->enabled)) {
$elementList['fichinter_send'] = img_picto('', 'intervention', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendIntervention')); $elementList['fichinter_send'] = img_picto('', 'intervention', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendIntervention'));
} }
if (!empty($conf->supplier_proposal->enabled)) { if (!empty($conf->supplier_proposal->enabled)) {
$elementList['supplier_proposal_send'] = img_picto('', 'propal', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendSupplierRequestForQuotation')); $elementList['supplier_proposal_send'] = img_picto('', 'propal', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendSupplierRequestForQuotation'));
} }
if ((!empty($conf->fournisseur->enabled) && !empty($user->rights->fournisseur->commande->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || (!empty($conf->supplier_order->enabled) && !empty($user->rights->supplier_order->lire))) { if ((!empty($conf->fournisseur->enabled) && !empty($user->rights->fournisseur->commande->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || (!empty($conf->supplier_order->enabled) && !empty($user->rights->supplier_order->lire))) {
$elementList['order_supplier_send'] = img_picto('', 'order', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendSupplierOrder')); $elementList['order_supplier_send'] = img_picto('', 'order', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendSupplierOrder'));
} }
if ((!empty($conf->fournisseur->enabled) && !empty($user->rights->fournisseur->facture->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || (!empty($conf->supplier_invoice->enabled) && !empty($user->rights->supplier_invoice->lire))) { if ((!empty($conf->fournisseur->enabled) && !empty($user->rights->fournisseur->facture->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || (!empty($conf->supplier_invoice->enabled) && !empty($user->rights->supplier_invoice->lire))) {
$elementList['invoice_supplier_send'] = img_picto('', 'bill', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendSupplierInvoice')); $elementList['invoice_supplier_send'] = img_picto('', 'bill', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendSupplierInvoice'));
} }
if (!empty($conf->contrat->enabled) && !empty($user->rights->contrat->lire)) { if (!empty($conf->contrat->enabled) && !empty($user->rights->contrat->lire)) {
$elementList['contract'] = img_picto('', 'contract', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendContract')); $elementList['contract'] = img_picto('', 'contract', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendContract'));
} }
if (!empty($conf->ticket->enabled) && !empty($user->rights->ticket->read)) { if (!empty($conf->ticket->enabled) && !empty($user->rights->ticket->read)) {
$elementList['ticket_send'] = img_picto('', 'ticket', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToTicket')); $elementList['ticket_send'] = img_picto('', 'ticket', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToTicket'));
} }
if (!empty($conf->expensereport->enabled) && !empty($user->rights->expensereport->lire)) { if (!empty($conf->expensereport->enabled) && !empty($user->rights->expensereport->lire)) {
$elementList['expensereport_send'] = img_picto('', 'trip', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToTExpenseReport')); $elementList['expensereport_send'] = img_picto('', 'trip', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToExpenseReport'));
} }
if (isModEnabled('agenda')) { if (isModEnabled('agenda')) {
$elementList['actioncomm_send'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventPush')); $elementList['actioncomm_send'] = img_picto('', 'action', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendEventPush'));
} }
if (!empty($conf->eventorganization->enabled) && !empty($user->rights->eventorganization->read)) { if (!empty($conf->eventorganization->enabled) && !empty($user->rights->eventorganization->read)) {
$elementList['conferenceorbooth'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventOrganization')); $elementList['conferenceorbooth'] = img_picto('', 'action', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToSendEventOrganization'));
} }
if (!empty($conf->partnership->enabled) && !empty($user->rights->partnership->read)) { if (!empty($conf->partnership->enabled) && !empty($user->rights->partnership->read)) {
$elementList['partnership_send'] = img_picto('', 'partnership', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToPartnership')); $elementList['partnership_send'] = img_picto('', 'partnership', 'class="pictofixedwidth"').dol_escape_htmltag($langs->trans('MailToPartnership'));
} }
$parameters = array('elementList'=>$elementList); $parameters = array('elementList'=>$elementList);

View File

@ -77,7 +77,7 @@ if ($action == 'setconst' && $user->admin) {
$constnote = dol_escape_htmltag($setupconst['note']); $constnote = dol_escape_htmltag($setupconst['note']);
$result = dolibarr_set_const($db, $constname, $constvalue, $consttype, 0, $constnote, $conf->entity); $result = dolibarr_set_const($db, $constname, $constvalue, $consttype, 0, $constnote, $conf->entity);
if (!$result > 0) { if (!($result > 0)) {
$error++; $error++;
} }
} }
@ -96,7 +96,7 @@ if ($action == 'setvalue' && $user->admin) {
$db->begin(); $db->begin();
$result = dolibarr_set_const($db, $varname, $value, 'chaine', 0, '', $conf->entity); $result = dolibarr_set_const($db, $varname, $value, 'chaine', 0, '', $conf->entity);
if (!$result > 0) { if (!($result > 0)) {
$error++; $error++;
} }
@ -218,7 +218,6 @@ if ($mode == 'setup' && $user->admin) {
$tokenobj = null; $tokenobj = null;
// Token // Token
require_once DOL_DOCUMENT_ROOT.'/includes/OAuth/bootstrap.php'; require_once DOL_DOCUMENT_ROOT.'/includes/OAuth/bootstrap.php';
require_once DOL_DOCUMENT_ROOT.'/includes/OAuth/bootstrap.php';
// Dolibarr storage // Dolibarr storage
$storage = new DoliStorage($db, $conf); $storage = new DoliStorage($db, $conf);
try { try {

View File

@ -183,8 +183,8 @@ if ($action == 'testtemplate' && $user->admin) {
// test // test
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$object = new Facture($db); $object = new Facture($db);
//$object->initAsSpecimen(); $object->initAsSpecimen();
$object->fetch(18); //$object->fetch(18);
//var_dump($object->lines); //var_dump($object->lines);
$ret = $printer->sendToPrinter($object, $templateid, 1); $ret = $printer->sendToPrinter($object, $templateid, 1);
if ($ret == 0) { if ($ret == 0) {

View File

@ -78,9 +78,10 @@ if ($action == 'updateMask') {
$maskconststocktransfer = GETPOST('maskconststocktransfer', 'alpha'); $maskconststocktransfer = GETPOST('maskconststocktransfer', 'alpha');
$maskstocktransfer = GETPOST('maskStockTransfer', 'alpha'); $maskstocktransfer = GETPOST('maskStockTransfer', 'alpha');
if ($maskconststocktransfer) $res = dolibarr_set_const($db, $maskconststocktransfer, $maskstocktransfer, 'chaine', 0, '', $conf->entity); if ($maskconststocktransfer) {
$res = dolibarr_set_const($db, $maskconststocktransfer, $maskstocktransfer, 'chaine', 0, '', $conf->entity);
if (!$res > 0) $error++; if ($res <= 0) $error++;
}
if (!$error) { if (!$error) {
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');

View File

@ -216,7 +216,9 @@ class CActionComm
if ($obj->module == 'shipping' && !empty($conf->expedition->enabled) && !empty($user->rights->expedition->lire)) { if ($obj->module == 'shipping' && !empty($conf->expedition->enabled) && !empty($user->rights->expedition->lire)) {
$qualified = 1; $qualified = 1;
} }
if (preg_split("/@/", $obj->module, -1)[1] == 'eventorganization' && !empty($conf->eventorganization->enabled)) { // For case module = 'myobject@eventorganization'
$tmparray = preg_split("/@/", $obj->module, -1);
if (count($tmparray) > 1 && $tmparray[1] == 'eventorganization' && !empty($conf->eventorganization->enabled)) {
$qualified = 1; $qualified = 1;
} }
// For the generic case with type = 'module...' and module = 'myobject@mymodule' // For the generic case with type = 'module...' and module = 'myobject@mymodule'

View File

@ -1507,12 +1507,13 @@ class Propal extends CommonObject
/** /**
* Load a proposal from database. Get also lines. * Load a proposal from database. Get also lines.
* *
* @param int $rowid id of object to load * @param int $rowid Id of object to load
* @param string $ref Ref of proposal * @param string $ref Ref of proposal
* @param string $ref_ext Ref ext of proposal * @param string $ref_ext Ref ext of proposal
* @return int >0 if OK, <0 if KO * @param int $forceentity Entity id to force when searching on ref or ref_ext
* @return int >0 if OK, <0 if KO
*/ */
public function fetch($rowid, $ref = '', $ref_ext = '') public function fetch($rowid, $ref = '', $ref_ext = '', $forceentity = 0)
{ {
$sql = "SELECT p.rowid, p.ref, p.entity, p.remise, p.remise_percent, p.remise_absolue, p.fk_soc"; $sql = "SELECT p.rowid, p.ref, p.entity, p.remise, p.remise_percent, p.remise_absolue, p.fk_soc";
$sql .= ", p.total_ttc, p.total_tva, p.localtax1, p.localtax2, p.total_ht"; $sql .= ", p.total_ttc, p.total_tva, p.localtax1, p.localtax2, p.total_ht";
@ -1551,10 +1552,15 @@ class Propal extends CommonObject
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_input_reason as dr ON p.fk_input_reason = dr.rowid'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_input_reason as dr ON p.fk_input_reason = dr.rowid';
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON p.fk_incoterms = i.rowid'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON p.fk_incoterms = i.rowid';
if ($ref) { if (!empty($ref)) {
$sql .= " WHERE p.entity IN (".getEntity('propal').")"; // Dont't use entity if you use rowid if (!empty($forceentity)) {
$sql .= " WHERE p.entity = ".(int) $forceentity; // Check only the current entity because we may have the same reference in several entities
} else {
$sql .= " WHERE p.entity IN (".getEntity('propal').")";
}
$sql .= " AND p.ref='".$this->db->escape($ref)."'"; $sql .= " AND p.ref='".$this->db->escape($ref)."'";
} else { } else {
// Dont't use entity if you use rowid
$sql .= " WHERE p.rowid = ".((int) $rowid); $sql .= " WHERE p.rowid = ".((int) $rowid);
} }
@ -3798,7 +3804,7 @@ class Propal extends CommonObject
* @param int $hidedetails Hide details of lines * @param int $hidedetails Hide details of lines
* @param int $hidedesc Hide description * @param int $hidedesc Hide description
* @param int $hideref Hide ref * @param int $hideref Hide ref
* @param null|array $moreparams Array to provide more information * @param null|array $moreparams Array to provide more information
* @return int 0 if KO, 1 if OK * @return int 0 if KO, 1 if OK
*/ */
public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null)

View File

@ -1,9 +1,10 @@
<?php <?php
/* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2019 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2019 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2017 Pierre-Henry Favre <support@atm-consulting.fr> * Copyright (C) 2017 Pierre-Henry Favre <support@atm-consulting.fr>
* Copyright (C) 2020 Maxime DEMAREST <maxime@indelog.fr> * Copyright (C) 2020 Maxime DEMAREST <maxime@indelog.fr>
* Copyright (C) 2021 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr> * Copyright (C) 2021 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
* Copyright (C) 2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -594,6 +595,7 @@ print '</form>'."\n";
print dol_get_fiche_end(); print dol_get_fiche_end();
$param = '';
if (!empty($date_start) && !empty($date_stop)) { if (!empty($date_start) && !empty($date_stop)) {
$param .= '&date_startday='.GETPOST('date_startday', 'int'); $param .= '&date_startday='.GETPOST('date_startday', 'int');
$param .= '&date_startmonth='.GETPOST('date_startmonth', 'int'); $param .= '&date_startmonth='.GETPOST('date_startmonth', 'int');

View File

@ -357,7 +357,7 @@ if (GETPOST('save') && !$cancel && !empty($user->rights->banque->modifier)) {
$error++; $error++;
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors'); setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors');
} }
if (!$bankaccountid > 0) { if (!($bankaccountid > 0)) {
$error++; $error++;
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("BankAccount")), null, 'errors'); setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("BankAccount")), null, 'errors');
} }

View File

@ -618,7 +618,7 @@ class Account extends CommonObject
$this->error = $this->db->lasterror(); $this->error = $this->db->lasterror();
$this->db->rollback(); $this->db->rollback();
return -3; return -4;
} }
} }
@ -630,7 +630,7 @@ class Account extends CommonObject
$this->errors = $accline->errors; $this->errors = $accline->errors;
$this->db->rollback(); $this->db->rollback();
return -2; return -5;
} }
} }

View File

@ -4213,7 +4213,7 @@ if ($action == 'create') {
// Cree un tableau formulaire // Cree un tableau formulaire
$formquestion = array('text' => $langs->trans("ConfirmCancelBillQuestion"), array('type' => 'radio', 'name' => 'close_code', 'label' => $langs->trans("Reason"), 'values' => $arrayreasons), array('type' => 'text', 'name' => 'close_note', 'label' => $langs->trans("Comment"), 'value' => '', 'morecss' => 'minwidth300')); $formquestion = array('text' => $langs->trans("ConfirmCancelBillQuestion"), array('type' => 'radio', 'name' => 'close_code', 'label' => $langs->trans("Reason"), 'values' => $arrayreasons), array('type' => 'text', 'name' => 'close_note', 'label' => $langs->trans("Comment"), 'value' => '', 'morecss' => 'minwidth300'));
$formconfirm = $form->formconfirm($_SERVER['PHP_SELF'].'?facid='.$object->id, $langs->trans('CancelBill'), $langs->trans('ConfirmCancelBill', $object->ref), 'confirm_canceled', $formquestion, "yes", 1, 250); $formconfirm = $form->formconfirm($_SERVER['PHP_SELF'].'?facid='.$object->id, $langs->trans('CancelBill'), $langs->trans('ConfirmCancelBill', $object->ref), 'confirm_canceled', $formquestion, "yes", 1, 270);
} }
} }
@ -5105,7 +5105,7 @@ if ($action == 'create') {
print '</td>'; print '</td>';
print '<td class="right"><span class="amount">'.price($obj->amount_ttc).'</span></td>'; print '<td class="right"><span class="amount">'.price($obj->amount_ttc).'</span></td>';
print '<td class="right">'; print '<td class="right">';
print '<a href="'.$_SERVER["PHP_SELF"].'?facid='.$object->id.'&action=unlinkdiscount&discountid='.$obj->rowid.'">'.img_delete().'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?facid='.$object->id.'&action=unlinkdiscount&token='.newToken().'&discountid='.$obj->rowid.'">'.img_delete().'</a>';
print '</td></tr>'; print '</td></tr>';
$i++; $i++;
if ($invoice->type == Facture::TYPE_CREDIT_NOTE) { if ($invoice->type == Facture::TYPE_CREDIT_NOTE) {
@ -5190,7 +5190,9 @@ if ($action == 'create') {
} }
print '</span>'; print '</span>';
print '</td>'; print '</td>';
print '<td class="right'.($resteapayeraffiche ? ' amountremaintopay' : (' '.$cssforamountpaymentcomplete)).'">'.(!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency).' '.price(price2num($object->multicurrency_tx*$resteapayeraffiche, 'MT')).'</td><td>&nbsp;</td></tr>'; print '<td class="right'.($resteapayeraffiche ? ' amountremaintopay' : (' '.$cssforamountpaymentcomplete)).'">';
//print (empty($object->multicurrency_code) ? $conf->currency : $object->multicurrency_code).' ';
print price(price2num($object->multicurrency_tx*$resteapayeraffiche, 'MT'), 1, $langs, 1, -1, -1, (empty($object->multicurrency_code) ? $conf->currency : $object->multicurrency_code)).'</td><td>&nbsp;</td></tr>';
} }
// Retained warranty : usualy use on construction industry // Retained warranty : usualy use on construction industry

View File

@ -1524,7 +1524,7 @@ if ($resql) {
// Status // Status
if (!empty($arrayfields['f.fk_statut']['checked'])) { if (!empty($arrayfields['f.fk_statut']['checked'])) {
print '<td class="liste_titre maxwidthonsmartphone right">'; print '<td class="liste_titre maxwidthonsmartphone right">';
$liststatus = array('0'=>$langs->trans("BillShortStatusDraft"), '1'=>$langs->trans("BillShortStatusNotPaid"), '0,1'=>$langs->trans("BillShortStatusDraft").'+'.$langs->trans("BillShortStatusNotPaid"), '2'=>$langs->trans("BillShortStatusPaid"), '1,2'=>$langs->trans("BillShortStatusNotPaid").'+'.$langs->trans("BillShortStatusPaid"), '3'=>$langs->trans("BillShortStatusCanceled")); $liststatus = array('0'=>$langs->trans("BillShortStatusDraft"), '0,1'=>$langs->trans("BillShortStatusDraft").'+'.$langs->trans("BillShortStatusNotPaid"), '1'=>$langs->trans("BillShortStatusNotPaid"), '1,2'=>$langs->trans("BillShortStatusNotPaid").'+'.$langs->trans("BillShortStatusPaid"), '2'=>$langs->trans("BillShortStatusPaid"), '3'=>$langs->trans("BillShortStatusCanceled"));
print $form->selectarray('search_status', $liststatus, $search_status, 1, 0, 0, '', 0, 0, 0, '', '', 1); print $form->selectarray('search_status', $liststatus, $search_status, 1, 0, 0, '', 0, 0, 0, '', '', 1);
print '</td>'; print '</td>';
} }
@ -1752,6 +1752,7 @@ if ($resql) {
$facturestatic->situation_cycle_ref = $obj->situation_cycle_ref; $facturestatic->situation_cycle_ref = $obj->situation_cycle_ref;
$facturestatic->situation_counter = $obj->situation_counter; $facturestatic->situation_counter = $obj->situation_counter;
} }
$companystatic->id = $obj->socid; $companystatic->id = $obj->socid;
$companystatic->name = $obj->name; $companystatic->name = $obj->name;
$companystatic->name_alias = $obj->alias; $companystatic->name_alias = $obj->alias;
@ -2385,7 +2386,7 @@ if ($resql) {
// Status // Status
if (!empty($arrayfields['f.fk_statut']['checked'])) { if (!empty($arrayfields['f.fk_statut']['checked'])) {
print '<td class="nowrap right">'; print '<td class="nowrap right">';
print $facturestatic->LibStatut($obj->paye, $obj->fk_statut, 5, $paiement, $obj->type); print $facturestatic->getLibStatut(5, $paiement);
print "</td>"; print "</td>";
if (!$i) { if (!$i) {
$totalarray['nbfield']++; $totalarray['nbfield']++;

View File

@ -250,6 +250,7 @@ if ($date_endyear) {
print '<table class="noborder centpercent">'; print '<table class="noborder centpercent">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
if ($modecompta == 'BOOKKEEPING') { if ($modecompta == 'BOOKKEEPING') {
print_liste_field_titre("PredefinedGroups", $_SERVER["PHP_SELF"], 'f.thirdparty_code,f.rowid', '', $param, '', $sortfield, $sortorder, 'width200 '); print_liste_field_titre("PredefinedGroups", $_SERVER["PHP_SELF"], 'f.thirdparty_code,f.rowid', '', $param, '', $sortfield, $sortorder, 'width200 ');
} else { } else {
@ -261,6 +262,8 @@ if ($modecompta == 'BOOKKEEPING') {
} else { } else {
if ($modecompta == 'CREANCES-DETTES') { if ($modecompta == 'CREANCES-DETTES') {
print_liste_field_titre("AmountHT", $_SERVER["PHP_SELF"], 'amount_ht', '', $param, 'class="right"', $sortfield, $sortorder); print_liste_field_titre("AmountHT", $_SERVER["PHP_SELF"], 'amount_ht', '', $param, 'class="right"', $sortfield, $sortorder);
} else {
print_liste_field_titre(''); // Make 4 columns in total whatever $modecompta is
} }
print_liste_field_titre("AmountTTC", $_SERVER["PHP_SELF"], 'amount_ttc', '', $param, 'class="right"', $sortfield, $sortorder); print_liste_field_titre("AmountTTC", $_SERVER["PHP_SELF"], 'amount_ttc', '', $param, 'class="right"', $sortfield, $sortorder);
} }
@ -1525,18 +1528,24 @@ print '</tr>';
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Income").'</td>'; print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Income").'</td>';
if ($modecompta == 'CREANCES-DETTES') { if ($modecompta == 'CREANCES-DETTES') {
print '<td class="liste_total right">'.price(price2num($total_ht_income, 'MT')).'</td>'; print '<td class="liste_total right">'.price(price2num($total_ht_income, 'MT')).'</td>';
} else {
print '<td></td>';
} }
print '<td class="liste_total right">'.price(price2num($total_ttc_income, 'MT')).'</td>'; print '<td class="liste_total right">'.price(price2num($total_ttc_income, 'MT')).'</td>';
print '</tr>'; print '</tr>';
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Outcome").'</td>'; print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Outcome").'</td>';
if ($modecompta == 'CREANCES-DETTES') { if ($modecompta == 'CREANCES-DETTES') {
print '<td class="liste_total right">'.price(price2num(-$total_ht_outcome, 'MT')).'</td>'; print '<td class="liste_total right">'.price(price2num(-$total_ht_outcome, 'MT')).'</td>';
} else {
print '<td></td>';
} }
print '<td class="liste_total right">'.price(price2num(-$total_ttc_outcome, 'MT')).'</td>'; print '<td class="liste_total right">'.price(price2num(-$total_ttc_outcome, 'MT')).'</td>';
print '</tr>'; print '</tr>';
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Profit").'</td>'; print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Profit").'</td>';
if ($modecompta == 'CREANCES-DETTES') { if ($modecompta == 'CREANCES-DETTES') {
print '<td class="liste_total right">'.price(price2num($total_ht, 'MT')).'</td>'; print '<td class="liste_total right">'.price(price2num($total_ht, 'MT')).'</td>';
} else {
print '<td></td>';
} }
print '<td class="liste_total right">'.price(price2num($total_ttc, 'MT')).'</td>'; print '<td class="liste_total right">'.price(price2num($total_ttc, 'MT')).'</td>';
print '</tr>'; print '</tr>';

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2016-2017 Jamal Elbaz <jamelbaz@gmail.com> /* Copyright (C) 2016-2017 Jamal Elbaz <jamelbaz@gmail.com>
* Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016-2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2018-2020 Laurent Destailleur <eldy@destailleur.fr> * Copyright (C) 2018-2020 Laurent Destailleur <eldy@destailleur.fr>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
* *
@ -228,7 +228,7 @@ if ($modecompta == "CREANCES-DETTES") {
$period .= ' &nbsp; &nbsp; '.$langs->trans("DetailByAccount").' '.$form->selectarray('showaccountdetail', $arraylist, $showaccountdetail, 0); $period .= ' &nbsp; &nbsp; '.$langs->trans("DetailByAccount").' '.$form->selectarray('showaccountdetail', $arraylist, $showaccountdetail, 0);
$periodlink = $textprevyear.$textnextyear; $periodlink = $textprevyear.$textnextyear;
$exportlink = ''; $exportlink = '';
$description = $langs->trans("RulesResultBookkeepingPersonalized"). $description = $langs->trans("RulesResultBookkeepingPersonalized");
$description .= ' ('.$langs->trans("SeePageForSetup", DOL_URL_ROOT.'/accountancy/admin/categories_list.php?search_country_id='.$mysoc->country_id.'&mainmenu=accountancy&leftmenu=accountancy_admin', $langs->transnoentitiesnoconv("Accountancy").' / '.$langs->transnoentitiesnoconv("Setup").' / '.$langs->transnoentitiesnoconv("AccountingCategory")).')'; $description .= ' ('.$langs->trans("SeePageForSetup", DOL_URL_ROOT.'/accountancy/admin/categories_list.php?search_country_id='.$mysoc->country_id.'&mainmenu=accountancy&leftmenu=accountancy_admin', $langs->transnoentitiesnoconv("Accountancy").' / '.$langs->transnoentitiesnoconv("Setup").' / '.$langs->transnoentitiesnoconv("AccountingCategory")).')';
//if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $description.= $langs->trans("DepositsAreNotIncluded"); //if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $description.= $langs->trans("DepositsAreNotIncluded");
//else $description.= $langs->trans("DepositsAreIncluded"); //else $description.= $langs->trans("DepositsAreIncluded");

View File

@ -192,7 +192,7 @@ if ($action == 'add' && $user->rights->tax->charges->creer) {
} elseif (!$dateperiod) { } elseif (!$dateperiod) {
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Period")), null, 'errors'); setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Period")), null, 'errors');
$action = 'create'; $action = 'create';
} elseif (!$actioncode > 0) { } elseif (!($actioncode > 0)) {
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Type")), null, 'errors'); setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Type")), null, 'errors');
$action = 'create'; $action = 'create';
} elseif (empty($amount)) { } elseif (empty($amount)) {

View File

@ -1,6 +1,7 @@
<?php <?php
/* Copyright (C) 2018 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2018 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2018-2021 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018-2021 Frédéric France <frederic.france@netlogic.fr>
* Copyright (C) 2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -54,7 +55,9 @@ if (empty($year)) {
} }
$date_start = dol_mktime(0, 0, 0, GETPOST("date_startmonth"), GETPOST("date_startday"), GETPOST("date_startyear"), 'tzserver'); // We use timezone of server so report is same from everywhere $date_start = dol_mktime(0, 0, 0, GETPOST("date_startmonth"), GETPOST("date_startday"), GETPOST("date_startyear"), 'tzserver'); // We use timezone of server so report is same from everywhere
$date_end = dol_mktime(23, 59, 59, GETPOST("date_endmonth"), GETPOST("date_endday"), GETPOST("date_endyear"), 'tzserver'); // We use timezone of server so report is same from everywhere $date_end = dol_mktime(23, 59, 59, GETPOST("date_endmonth"), GETPOST("date_endday"), GETPOST("date_endyear"), 'tzserver'); // We use timezone of server so report is same from everywhere
// Quarter // Quarter
$q = '';
if (empty($date_start) || empty($date_end)) { // We define date_start and date_end if (empty($date_start) || empty($date_end)) { // We define date_start and date_end
$q = GETPOST("q", "int"); $q = GETPOST("q", "int");
if (empty($q)) { if (empty($q)) {
@ -155,10 +158,12 @@ foreach ($listofparams as $param) {
llxHeader('', $langs->trans("TurnoverReport"), '', '', 0, 0, '', '', $morequerystring); llxHeader('', $langs->trans("TurnoverReport"), '', '', 0, 0, '', '', $morequerystring);
$exportlink="";
$namelink="";
//print load_fiche_titre($langs->trans("VAT"),""); //print load_fiche_titre($langs->trans("VAT"),"");
//$fsearch.='<br>'; //$fsearch.='<br>';
$fsearch = '';
$fsearch .= ' <input type="hidden" name="year" value="'.$year.'">'; $fsearch .= ' <input type="hidden" name="year" value="'.$year.'">';
$fsearch .= ' <input type="hidden" name="modetax" value="'.$modetax.'">'; $fsearch .= ' <input type="hidden" name="modetax" value="'.$modetax.'">';
//$fsearch.=' '.$langs->trans("SalesTurnoverMinimum").': '; //$fsearch.=' '.$langs->trans("SalesTurnoverMinimum").': ';
@ -198,14 +203,17 @@ if ($nextquarter < 4) {
$nextquarter = 1; $nextquarter = 1;
$nextyear++; $nextyear++;
} }
$description .= $fsearch; $description = $fsearch;
$builddate = dol_now(); $builddate = dol_now();
if (!empty($conf->global->MAIN_MODULE_ACCOUNTING)) {
$description .= '<br>'.$langs->trans("ThisIsAnEstimatedValue");
}
if ($conf->global->TAX_MODE_SELL_PRODUCT == 'invoice') { if ($conf->global->TAX_MODE_SELL_PRODUCT == 'invoice') {
$description .= $langs->trans("RulesVATDueProducts"); $description .= '<br>'.$langs->trans("RulesVATDueProducts");
} }
if ($conf->global->TAX_MODE_SELL_PRODUCT == 'payment') { if ($conf->global->TAX_MODE_SELL_PRODUCT == 'payment') {
$description .= $langs->trans("RulesVATInProducts"); $description .= '<br>'.$langs->trans("RulesVATInProducts");
} }
if ($conf->global->TAX_MODE_SELL_SERVICE == 'invoice') { if ($conf->global->TAX_MODE_SELL_SERVICE == 'invoice') {
$description .= '<br>'.$langs->trans("RulesVATDueServices"); $description .= '<br>'.$langs->trans("RulesVATDueServices");
@ -216,9 +224,6 @@ if ($conf->global->TAX_MODE_SELL_SERVICE == 'payment') {
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
$description .= '<br>'.$langs->trans("DepositsAreNotIncluded"); $description .= '<br>'.$langs->trans("DepositsAreNotIncluded");
} }
if (!empty($conf->global->MAIN_MODULE_ACCOUNTING)) {
$description .= '<br>'.$langs->trans("ThisIsAnEstimatedValue");
}
// Customers invoices // Customers invoices
$elementcust = $langs->trans("CustomersInvoices"); $elementcust = $langs->trans("CustomersInvoices");
@ -229,9 +234,6 @@ $amountcust = $langs->trans("AmountHT");
$elementsup = $langs->trans("SuppliersInvoices"); $elementsup = $langs->trans("SuppliersInvoices");
$productsup = $productcust; $productsup = $productcust;
$amountsup = $amountcust; $amountsup = $amountcust;
$namesup = $namecust;
// TODO Report from bookkeeping not yet available, so we switch on report on business events // TODO Report from bookkeeping not yet available, so we switch on report on business events
if ($modecompta == "BOOKKEEPING") { if ($modecompta == "BOOKKEEPING") {
@ -247,7 +249,7 @@ if ($modecompta == "CREANCES-DETTES") {
$calcmode = $langs->trans("CalcModeDebt"); $calcmode = $langs->trans("CalcModeDebt");
//$calcmode.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modecompta=RECETTES-DEPENSES">','</a>').')'; //$calcmode.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modecompta=RECETTES-DEPENSES">','</a>').')';
$description = $langs->trans("RulesCADue"); $description .= '<br>'.$langs->trans("RulesCADue");
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
$description .= $langs->trans("DepositsAreNotIncluded"); $description .= $langs->trans("DepositsAreNotIncluded");
} else { } else {
@ -260,7 +262,7 @@ if ($modecompta == "CREANCES-DETTES") {
$calcmode = $langs->trans("CalcModeEngagement"); $calcmode = $langs->trans("CalcModeEngagement");
//$calcmode.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modecompta=CREANCES-DETTES">','</a>').')'; //$calcmode.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modecompta=CREANCES-DETTES">','</a>').')';
$description = $langs->trans("RulesCAIn"); $description .= $langs->trans("RulesCAIn");
$description .= $langs->trans("DepositsAreIncluded"); $description .= $langs->trans("DepositsAreIncluded");
$builddate = dol_now(); $builddate = dol_now();

View File

@ -3,6 +3,7 @@
* Copyright (C) 2013-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2013-2016 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
* Copyright (C) 2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -186,7 +187,9 @@ if (!empty($year)) {
if (!empty($month)) { if (!empty($month)) {
$headerparams['month'] = $month; $headerparams['month'] = $month;
} }
$headerparams['q'] = $q; if (!empty($q)) {
$headerparams['q'] = $q;
}
$tableparams = array(); $tableparams = array();
if (!empty($selected_cat)) { if (!empty($selected_cat)) {
@ -205,6 +208,7 @@ $allparams = array_merge($commonparams, $headerparams, $tableparams);
$headerparams = array_merge($commonparams, $headerparams); $headerparams = array_merge($commonparams, $headerparams);
$tableparams = array_merge($commonparams, $tableparams); $tableparams = array_merge($commonparams, $tableparams);
$paramslink="";
foreach ($allparams as $key => $value) { foreach ($allparams as $key => $value) {
$paramslink .= '&'.$key.'='.$value; $paramslink .= '&'.$key.'='.$value;
} }
@ -227,6 +231,9 @@ if ($modecompta == "BOOKKEEPINGCOLLECTED") {
$modecompta = "RECETTES-DEPENSES"; $modecompta = "RECETTES-DEPENSES";
} }
$exportlink="";
$namelink="";
// Show report header // Show report header
if ($modecompta == "CREANCES-DETTES") { if ($modecompta == "CREANCES-DETTES") {
$name = $langs->trans("Turnover").', '.$langs->trans("ByProductsAndServices"); $name = $langs->trans("Turnover").', '.$langs->trans("ByProductsAndServices");

View File

@ -4,6 +4,7 @@
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr> * Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
* Copyright (C) 2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -135,23 +136,36 @@ $commonparams['sortorder'] = $sortorder;
$commonparams['sortfield'] = $sortfield; $commonparams['sortfield'] = $sortfield;
$headerparams = array(); $headerparams = array();
$headerparams['date_startyear'] = $date_startyear; if (!empty($date_startyear)) {
$headerparams['date_startmonth'] = $date_startmonth; $headerparams['date_startyear'] = $date_startyear;
$headerparams['date_startday'] = $date_startday; }
$headerparams['date_endyear'] = $date_endyear; if (!empty($date_startmonth)) {
$headerparams['date_endmonth'] = $date_endmonth; $headerparams['date_startmonth'] = $date_startmonth;
$headerparams['date_endday'] = $date_endday; }
$headerparams['q'] = $q; if (!empty($date_startday)) {
$headerparams['date_startday'] = $date_startday;
}
if (!empty($date_endyear)) {
$headerparams['date_endyear'] = $date_endyear;
}
if (!empty($date_endmonth)) {
$headerparams['date_endmonth'] = $date_endmonth;
}
if (!empty($date_endday)) {
$headerparams['date_endday'] = $date_endday;
}
if (!empty($q)) {
$headerparams['q'] = $q;
}
$tableparams = array(); $tableparams = array();
$tableparams['search_categ'] = $selected_cat;
$tableparams['subcat'] = ($subcat === true) ? 'yes' : '';
// Adding common parameters // Adding common parameters
$allparams = array_merge($commonparams, $headerparams, $tableparams); $allparams = array_merge($commonparams, $headerparams, $tableparams);
$headerparams = array_merge($commonparams, $headerparams); $headerparams = array_merge($commonparams, $headerparams);
$tableparams = array_merge($commonparams, $tableparams); $tableparams = array_merge($commonparams, $tableparams);
$paramslink="";
foreach ($allparams as $key => $value) { foreach ($allparams as $key => $value) {
$paramslink .= '&'.$key.'='.$value; $paramslink .= '&'.$key.'='.$value;
} }
@ -172,6 +186,9 @@ if ($modecompta == "BOOKKEEPINGCOLLECTED") {
$modecompta = "RECETTES-DEPENSES"; $modecompta = "RECETTES-DEPENSES";
} }
$exportlink="";
$namelink="";
// Show report header // Show report header
if ($modecompta == "CREANCES-DETTES") { if ($modecompta == "CREANCES-DETTES") {
$name = $langs->trans("Turnover").', '.$langs->trans("ByUserAuthorOfInvoice"); $name = $langs->trans("Turnover").', '.$langs->trans("ByUserAuthorOfInvoice");
@ -230,6 +247,8 @@ foreach ($headerparams as $key => $value) {
} }
$catotal = 0; $catotal = 0;
$catotal_ht = 0;
if ($modecompta == 'CREANCES-DETTES') { if ($modecompta == 'CREANCES-DETTES') {
$sql = "SELECT u.rowid as rowid, u.lastname as name, u.firstname as firstname, sum(f.total_ht) as amount, sum(f.total_ttc) as amount_ttc"; $sql = "SELECT u.rowid as rowid, u.lastname as name, u.firstname as firstname, sum(f.total_ht) as amount, sum(f.total_ttc) as amount_ttc";
$sql .= " FROM ".MAIN_DB_PREFIX."user as u"; $sql .= " FROM ".MAIN_DB_PREFIX."user as u";
@ -245,8 +264,8 @@ if ($modecompta == 'CREANCES-DETTES') {
} }
} elseif ($modecompta == "RECETTES-DEPENSES") { } elseif ($modecompta == "RECETTES-DEPENSES") {
/* /*
* Liste des paiements (les anciens paiements ne sont pas vus par cette requete car, sur les * List of payments (old payments are not seen by this query because on older versions,
* vieilles versions, ils n'etaient pas lies via paiement_facture. On les ajoute plus loin) * they were not linked via the table llx_paiement_facture. They are added later)
*/ */
$sql = "SELECT u.rowid as rowid, u.lastname as name, u.firstname as firstname, sum(pf.amount) as amount_ttc"; $sql = "SELECT u.rowid as rowid, u.lastname as name, u.firstname as firstname, sum(pf.amount) as amount_ttc";
$sql .= " FROM ".MAIN_DB_PREFIX."user as u"; $sql .= " FROM ".MAIN_DB_PREFIX."user as u";
@ -287,7 +306,7 @@ if ($result) {
dol_print_error($db); dol_print_error($db);
} }
// Adding old-version payments, non-bound by "paiement_facture" then without User // Adding old-version payments, non-bound by table llx_paiement_facture then without User
if ($modecompta == 'RECETTES-DEPENSES') { if ($modecompta == 'RECETTES-DEPENSES') {
$sql = "SELECT -1 as rowidx, '' as name, '' as firstname, sum(DISTINCT p.amount) as amount_ttc"; $sql = "SELECT -1 as rowidx, '' as name, '' as firstname, sum(DISTINCT p.amount) as amount_ttc";
$sql .= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql .= " FROM ".MAIN_DB_PREFIX."bank as b";

View File

@ -6,6 +6,7 @@
* Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr> * Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr>
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
* Copyright (C) 2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -158,13 +159,27 @@ $commonparams['sortorder'] = $sortorder;
$commonparams['sortfield'] = $sortfield; $commonparams['sortfield'] = $sortfield;
$headerparams = array(); $headerparams = array();
$headerparams['date_startyear'] = $date_startyear; if (!empty($date_startyear)) {
$headerparams['date_startmonth'] = $date_startmonth; $headerparams['date_startyear'] = $date_startyear;
$headerparams['date_startday'] = $date_startday; }
$headerparams['date_endyear'] = $date_endyear; if (!empty($date_startmonth)) {
$headerparams['date_endmonth'] = $date_endmonth; $headerparams['date_startmonth'] = $date_startmonth;
$headerparams['date_endday'] = $date_endday; }
$headerparams['q'] = $q; if (!empty($date_startday)) {
$headerparams['date_startday'] = $date_startday;
}
if (!empty($date_endyear)) {
$headerparams['date_endyear'] = $date_endyear;
}
if (!empty($date_endmonth)) {
$headerparams['date_endmonth'] = $date_endmonth;
}
if (!empty($date_endday)) {
$headerparams['date_endday'] = $date_endday;
}
if (!empty($q)) {
$headerparams['q'] = $q;
}
$tableparams = array(); $tableparams = array();
$tableparams['search_categ'] = $selected_cat; $tableparams['search_categ'] = $selected_cat;
@ -250,8 +265,10 @@ $name = array();
// Show Array // Show Array
$catotal = 0; $catotal = 0;
$catotal_ht = 0;
if ($modecompta == 'CREANCES-DETTES') { if ($modecompta == 'CREANCES-DETTES') {
$sql = "SELECT DISTINCT s.rowid as socid, s.nom as name, s.zip, s.town, s.fk_pays,"; $sql = "SELECT DISTINCT s.rowid as socid, s.nom as name, s.name_alias, s.zip, s.town, s.fk_pays,";
$sql .= " sum(f.total_ht) as amount, sum(f.total_ttc) as amount_ttc"; $sql .= " sum(f.total_ht) as amount, sum(f.total_ttc) as amount_ttc";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."societe as s"; $sql .= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."societe as s";
if ($selected_cat === -2) { // Without any category if ($selected_cat === -2) { // Without any category
@ -281,10 +298,10 @@ if ($modecompta == 'CREANCES-DETTES') {
} }
} elseif ($modecompta == "RECETTES-DEPENSES") { } elseif ($modecompta == "RECETTES-DEPENSES") {
/* /*
* Liste des paiements (les anciens paiements ne sont pas vus par cette requete car, sur les * List of payments (old payments are not seen by this query because on older versions,
* vieilles versions, ils n'etaient pas lies via paiement_facture. On les ajoute plus loin) * they were not linked via the table llx_paiement_facture. They are added later)
*/ */
$sql = "SELECT s.rowid as socid, s.nom as name, s.zip, s.town, s.fk_pays, sum(pf.amount) as amount_ttc"; $sql = "SELECT s.rowid as socid, s.nom as name, s.name_alias, s.zip, s.town, s.fk_pays, sum(pf.amount) as amount_ttc";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql .= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql .= ", ".MAIN_DB_PREFIX."paiement_facture as pf"; $sql .= ", ".MAIN_DB_PREFIX."paiement_facture as pf";
$sql .= ", ".MAIN_DB_PREFIX."paiement as p"; $sql .= ", ".MAIN_DB_PREFIX."paiement as p";
@ -329,7 +346,7 @@ $sql .= " AND f.entity IN (".getEntity('invoice').")";
if ($socid) { if ($socid) {
$sql .= " AND f.fk_soc = ".((int) $socid); $sql .= " AND f.fk_soc = ".((int) $socid);
} }
$sql .= " GROUP BY s.rowid, s.nom, s.zip, s.town, s.fk_pays"; $sql .= " GROUP BY s.rowid, s.nom, s.name_alias, s.zip, s.town, s.fk_pays";
$sql .= " ORDER BY s.rowid"; $sql .= " ORDER BY s.rowid";
//echo $sql; //echo $sql;
@ -344,7 +361,11 @@ if ($result) {
$obj = $db->fetch_object($result); $obj = $db->fetch_object($result);
$amount_ht[$obj->socid] = $obj->amount; $amount_ht[$obj->socid] = $obj->amount;
$amount[$obj->socid] = $obj->amount_ttc; $amount[$obj->socid] = $obj->amount_ttc;
$name[$obj->socid] = $obj->name.' '.$obj->firstname; $fullname = $obj->name;
if (!empty($obj->name_alias)) {
$fullname .= ' ('.$obj->name_alias.')';
}
$name[$obj->socid] = $fullname;
$address_zip[$obj->socid] = $obj->zip; $address_zip[$obj->socid] = $obj->zip;
$address_town[$obj->socid] = $obj->town; $address_town[$obj->socid] = $obj->town;
$address_pays[$obj->socid] = getCountry($obj->fk_pays); $address_pays[$obj->socid] = getCountry($obj->fk_pays);
@ -356,7 +377,7 @@ if ($result) {
dol_print_error($db); dol_print_error($db);
} }
// On ajoute les paiements anciennes version, non lies par paiement_facture // We add the old versions of payments, not linked by table llx_paiement_facture
if ($modecompta == "RECETTES-DEPENSES") { if ($modecompta == "RECETTES-DEPENSES") {
$sql = "SELECT '0' as socid, 'Autres' as name, sum(p.amount) as amount_ttc"; $sql = "SELECT '0' as socid, 'Autres' as name, sum(p.amount) as amount_ttc";
$sql .= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql .= " FROM ".MAIN_DB_PREFIX."bank as b";
@ -409,7 +430,7 @@ print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" :
// Category filter // Category filter
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'; print '<td class="nowraponall">';
print img_picto('', 'category', 'class="paddingrightonly"'); print img_picto('', 'category', 'class="paddingrightonly"');
print $formother->select_categories(Categorie::TYPE_CUSTOMER, $selected_cat, 'search_categ', 0, $langs->trans("Category")); print $formother->select_categories(Categorie::TYPE_CUSTOMER, $selected_cat, 'search_categ', 0, $langs->trans("Category"));
print ' '; print ' ';
@ -435,7 +456,7 @@ print '<td class="liste_titre left">';
print '<input class="flat" size="6" type="text" name="search_town" value="'.dol_escape_htmltag($search_town).'">'; print '<input class="flat" size="6" type="text" name="search_town" value="'.dol_escape_htmltag($search_town).'">';
print '</td>'; print '</td>';
print '<td class="liste_titre left">'; print '<td class="liste_titre left">';
print $form->select_country($search_country, 'search_country'); print $form->select_country($search_country, 'search_country', '', 0, 'minwidth100imp maxwidth100');
//print '<input class="flat" size="6" type="text" name="search_country" value="'.$search_country.'">'; //print '<input class="flat" size="6" type="text" name="search_country" value="'.$search_country.'">';
print '</td>'; print '</td>';
print '<td class="liste_titre">&nbsp;</td>'; print '<td class="liste_titre">&nbsp;</td>';

View File

@ -375,7 +375,7 @@ if (empty($reshook)) {
$newfile = $dir.'/'.dol_sanitizeFileName($_FILES['photo']['name']); $newfile = $dir.'/'.dol_sanitizeFileName($_FILES['photo']['name']);
$result = dol_move_uploaded_file($_FILES['photo']['tmp_name'], $newfile, 1); $result = dol_move_uploaded_file($_FILES['photo']['tmp_name'], $newfile, 1);
if (!$result > 0) { if (!($result > 0)) {
$errors[] = "ErrorFailedToSaveFile"; $errors[] = "ErrorFailedToSaveFile";
} else { } else {
$object->photo = dol_sanitizeFileName($_FILES['photo']['name']); $object->photo = dol_sanitizeFileName($_FILES['photo']['name']);
@ -883,8 +883,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
//Default language //Default language
if (!empty($conf->global->MAIN_MULTILANGS)) { if (!empty($conf->global->MAIN_MULTILANGS)) {
print '<tr><td>'.$form->editfieldkey('DefaultLang', 'default_lang', '', $object, 0).'</td><td colspan="3" class="maxwidthonsmartphone">'."\n"; print '<tr><td>'.$form->editfieldkey('DefaultLang', 'default_lang', '', $object, 0).'</td><td colspan="3" class="maxwidthonsmartphone">'."\n";
print $formadmin->select_language(GETPOST('default_lang', 'alpha') ?GETPOST('default_lang', 'alpha') : ($object->default_lang ? $object->default_lang : ''), 'default_lang', 0, 0, 1, 0, 0, 'maxwidth200onsmartphone', 0, 0, 0, null, 1); print img_picto('', 'language', 'class="pictofixedwidth"').$formadmin->select_language(GETPOST('default_lang', 'alpha') ? GETPOST('default_lang', 'alpha') : ($object->default_lang ? $object->default_lang : ''), 'default_lang', 0, 0, 1, 0, 0, 'maxwidth200onsmartphone');
print '</td>'; print '</td>';
print '</tr>'; print '</tr>';
} }
@ -1171,8 +1170,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
//Default language //Default language
if (!empty($conf->global->MAIN_MULTILANGS)) { if (!empty($conf->global->MAIN_MULTILANGS)) {
print '<tr><td>'.$form->editfieldkey('DefaultLang', 'default_lang', '', $object, 0).'</td><td colspan="3" class="maxwidthonsmartphone">'."\n"; print '<tr><td>'.$form->editfieldkey('DefaultLang', 'default_lang', '', $object, 0).'</td><td colspan="3" class="maxwidthonsmartphone">'."\n";
print $formadmin->select_language($object->default_lang, 'default_lang', 0, 0, 1, 0, 0, '', 0, 0, 0, null, 1); print img_picto('', 'language', 'class="pictofixedwidth"').$formadmin->select_language(GETPOST('default_lang', 'alpha') ? GETPOST('default_lang', 'alpha') : ($object->default_lang ? $object->default_lang : ''), 'default_lang', 0, 0, 1, 0, 0, 'maxwidth200onsmartphone');
print '</td>'; print '</td>';
print '</tr>'; print '</tr>';
} }
@ -1403,7 +1401,8 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
//$s=picto_from_langcode($object->default_lang); //$s=picto_from_langcode($object->default_lang);
//print ($s?$s.' ':''); //print ($s?$s.' ':'');
$langs->load("languages"); $langs->load("languages");
$labellang = ($object->default_lang ? $langs->trans('Language_'.$object->default_lang.'_'.strtoupper($object->default_lang)) : ''); $labellang = ($object->default_lang ? $langs->trans('Language_'.$object->default_lang) : '');
print picto_from_langcode($object->default_lang, 'class="paddingrightonly saturatemedium opacitylow"');
print $labellang; print $labellang;
print '</td></tr>'; print '</td></tr>';
} }

View File

@ -33,6 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php';
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print') $optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print')
$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : str_replace('_', '', basename(dirname(__FILE__)).basename(__FILE__, '.php')); // To manage different context of search
$id = GETPOST('id', 'int'); $id = GETPOST('id', 'int');
@ -46,7 +47,7 @@ if (empty($object->thirdparty)) {
$socid = $object->thirdparty->id; $socid = $object->thirdparty->id;
// Sort & Order fields // Sort & Order fields
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; $limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit;
$sortfield = GETPOST('sortfield', 'aZ09comma'); $sortfield = GETPOST('sortfield', 'aZ09comma');
$sortorder = GETPOST('sortorder', 'aZ09comma'); $sortorder = GETPOST('sortorder', 'aZ09comma');
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
@ -230,7 +231,7 @@ if ($type_element == 'fichinter') { // Customer : show products from invoices
$tables_from .= ' INNER JOIN '.MAIN_DB_PREFIX.'element_contact ec ON ec.element_id=c.rowid AND ec.fk_socpeople = '.((int) $object->id); $tables_from .= ' INNER JOIN '.MAIN_DB_PREFIX.'element_contact ec ON ec.element_id=c.rowid AND ec.fk_socpeople = '.((int) $object->id);
$tables_from .= ' INNER JOIN '.MAIN_DB_PREFIX."c_type_contact tc ON (ec.fk_c_type_contact=tc.rowid and tc.element='propal' and tc.source='external' and tc.active=1)"; $tables_from .= ' INNER JOIN '.MAIN_DB_PREFIX."c_type_contact tc ON (ec.fk_c_type_contact=tc.rowid and tc.element='propal' and tc.source='external' and tc.active=1)";
$where = ' WHERE c.entity IN ('.getEntity('propal').')'; $where = ' WHERE c.entity IN ('.getEntity('propal').')';
$datePrint = 'c.datep'; $dateprint = 'c.datep';
$doc_number = 'c.ref'; $doc_number = 'c.ref';
$thirdTypeSelect = 'customer'; $thirdTypeSelect = 'customer';
} elseif ($type_element == 'order') { } elseif ($type_element == 'order') {
@ -443,6 +444,8 @@ if ($sql_select) {
$i = 0; $i = 0;
$total_qty = 0;
$total_ht = 0;
while (($objp = $db->fetch_object($resql)) && $i < min($num, $limit)) { while (($objp = $db->fetch_object($resql)) && $i < min($num, $limit)) {
$documentstatic->id = $objp->doc_id; $documentstatic->id = $objp->doc_id;
$documentstatic->ref = $objp->doc_number; $documentstatic->ref = $objp->doc_number;

View File

@ -76,7 +76,11 @@ if ($id) {
$linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>'; $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
$morehtmlref = '<div class="refidno">'; $morehtmlref = '<a href="'.DOL_URL_ROOT.'/contact/vcard.php?id='.$object->id.'" class="refid">';
$morehtmlref .= img_picto($langs->trans("Download").' '.$langs->trans("VCard"), 'vcard.png', 'class="valignmiddle marginleftonly paddingrightonly"');
$morehtmlref .= '</a>';
$morehtmlref .= '<div class="refidno">';
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS) && !empty($socid)) { if (empty($conf->global->SOCIETE_DISABLE_CONTACTS) && !empty($socid)) {
$object->thirdparty->fetch($socid); $object->thirdparty->fetch($socid);
// Thirdparty // Thirdparty

View File

@ -44,7 +44,6 @@ if ($result <= 0) {
exit; exit;
} }
$physicalperson = 1;
$company = new Societe($db); $company = new Societe($db);
if ($contact->socid) { if ($contact->socid) {
@ -107,7 +106,7 @@ if ($company->id) {
} }
// Si contact lie a un tiers non de type "particulier" // Si contact lie a un tiers non de type "particulier"
if ($contact->typent_code != 'TE_PRIVATE') { if ($company->typent_code != 'TE_PRIVATE') {
$v->setOrg($company->name); $v->setOrg($company->name);
} }
} }

View File

@ -77,7 +77,7 @@ if (!isset($mode) || $mode != 'noajax') { // For ajax call
$ecmdir = new EcmDirectory($db); $ecmdir = new EcmDirectory($db);
if ($section > 0) { if ($section > 0) {
$result = $ecmdir->fetch($section); $result = $ecmdir->fetch($section);
if (!$result > 0) { if (!($result > 0)) {
//dol_print_error($db,$ecmdir->error); //dol_print_error($db,$ecmdir->error);
//exit; //exit;
} }
@ -90,7 +90,7 @@ if (!isset($mode) || $mode != 'noajax') { // For ajax call
$relativepath = ''; $relativepath = '';
if ($section > 0) { if ($section > 0) {
$result = $ecmdir->fetch($section); $result = $ecmdir->fetch($section);
if (!$result > 0) { if (!($result > 0)) {
dol_print_error($db, $ecmdir->error); dol_print_error($db, $ecmdir->error);
exit; exit;
} }

View File

@ -53,6 +53,7 @@ if (is_numeric($entity)) {
define("DOLENTITY", $entity); define("DOLENTITY", $entity);
} }
include '../../main.inc.php'; include '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$action = GETPOST('action', 'aZ09'); $action = GETPOST('action', 'aZ09');
@ -69,10 +70,10 @@ $type = $mode;
// Check securitykey // Check securitykey
$securekeyseed = ''; $securekeyseed = '';
if ($type == 'proposal') { if ($type == 'proposal') {
$securekeyseed = isset($conf->global->PROPOSAL_ONLINE_SIGNATURE_SECURITY_TOKEN) ? $conf->global->PROPOSAL_ONLINE_SIGNATURE_SECURITY_TOKEN : ''; $securekeyseed = getDolGlobalString('PROPOSAL_ONLINE_SIGNATURE_SECURITY_TOKEN');
} }
if (empty($SECUREKEY) || !dol_verifyHash($securekeyseed.$type.$ref, $SECUREKEY, '0')) { if (empty($SECUREKEY) || !dol_verifyHash($securekeyseed.$type.$ref.(empty($conf->multicompany->enabled) ? '' : $entity), $SECUREKEY, '0')) {
http_response_code(403); http_response_code(403);
print 'Bad value for securitykey. Value provided '.dol_escape_htmltag($SECUREKEY).' does not match expected value for ref='.dol_escape_htmltag($ref); print 'Bad value for securitykey. Value provided '.dol_escape_htmltag($SECUREKEY).' does not match expected value for ref='.dol_escape_htmltag($ref);
exit(-1); exit(-1);
@ -123,33 +124,64 @@ if ($action == "importSignature") {
if (!$error) { if (!$error) {
// Defined modele of doc // Defined modele of doc
$directdownloadlink = $object->getLastMainDocLink('proposal'); $last_main_doc_file = $object->last_main_doc;
$directdownloadlink = $object->getLastMainDocLink('proposal'); // url to download the $object->last_main_doc
if (preg_match('/\.pdf/i', $directdownloadlink)) { if (preg_match('/\.pdf/i', $last_main_doc_file)) {
// TODO Use the $last_main_doc_file to defined the $newpdffilename and $sourcefile
$newpdffilename = $upload_dir.$ref."_signed-".$date.".pdf"; $newpdffilename = $upload_dir.$ref."_signed-".$date.".pdf";
$sourcefile = $upload_dir.$ref.".pdf"; $sourcefile = $upload_dir.$ref.".pdf";
if (dol_is_file($sourcefile)) { if (dol_is_file($sourcefile)) {
// We build the new PDF
$pdf = pdf_getInstance(); $pdf = pdf_getInstance();
$pdf->Open(); if (class_exists('TCPDF')) {
$pdf->AddPage(); $pdf->setPrintHeader(false);
$pagecount = $pdf->setSourceFile($sourcefile); // original PDF $pdf->setPrintFooter(false);
}
$pdf->SetFont(pdf_getPDFFont($langs));
for ($i=1; $i<($pagecount+1); $i++) { if (getDolGlobalString('MAIN_DISABLE_PDF_COMPRESSION')) {
if ($i>1) $pdf->AddPage(); $pdf->SetCompression(false);
$tppl=$pdf->importPage($i);
$pdf->useTemplate($tppl);
} }
$pdf->Image($upload_dir.$filename, 129, 239.6, 60, 15); // FIXME Position will be wrong with non A4 format. Use a value from width and height of page minus relative offset.
$pdf->Close(); //$pdf->Open();
$pagecount = $pdf->setSourceFile($sourcefile); // original PDF
$s = array(); // Array with size of each page. Exemple array(w'=>210, 'h'=>297);
for ($i=1; $i<($pagecount+1); $i++) {
try {
$tppl = $pdf->importPage($i);
$s = $pdf->getTemplatesize($tppl);
$pdf->AddPage($s['h'] > $s['w'] ? 'P' : 'L');
$pdf->useTemplate($tppl);
} catch (Exception $e) {
dol_syslog("Error when manipulating some PDF by onlineSign: ".$e->getMessage(), LOG_ERR);
$response = $e->getMessage();
$error++;
}
}
// A signature image file is 720 x 180 (ratio 1/4) but we use only the size into PDF
// TODO Get position of box from PDF template
$xforimgstart = (empty($s['w']) ? 120 : round($s['w'] / 2) + 15);
$yforimgstart = (empty($s['h']) ? 240 : $s['h'] - 60);
$wforimg = $s['w'] - 20 - $xforimgstart;
$pdf->Image($upload_dir.$filename, $xforimgstart, $yforimgstart, $wforimg, round($wforimg / 4));
//$pdf->Close();
$pdf->Output($newpdffilename, "F"); $pdf->Output($newpdffilename, "F");
// Index the new file and update the last_main_doc property of object. // Index the new file and update the last_main_doc property of object.
$object->indexFile($newpdffilename, 1); $object->indexFile($newpdffilename, 1);
} }
} elseif (preg_match('/\.odt/i', $last_main_doc_file)) {
// Adding signature on .ODT not yet supported
// TODO
} else { } else {
// Adding signature on doc not yet supported // Document format not supported to insert online signature.
// We should just create an image file with the signature.
} }
} }

View File

@ -574,8 +574,13 @@ abstract class CommonInvoice extends CommonObject
$labelStatus = $langs->transnoentitiesnoconv('BillStatusDraft'); $labelStatus = $langs->transnoentitiesnoconv('BillStatusDraft');
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusDraft'); $labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusDraft');
} elseif (($status == 3 || $status == 2) && $alreadypaid <= 0) { } elseif (($status == 3 || $status == 2) && $alreadypaid <= 0) {
$labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedUnpaid'); if ($status == 3) {
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusClosedUnpaid'); $labelStatus = $langs->transnoentitiesnoconv('BillStatusCanceled');
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusCanceled');
} else {
$labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedUnpaid');
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusClosedUnpaid');
}
$statusType = 'status5'; $statusType = 'status5';
} elseif (($status == 3 || $status == 2) && $alreadypaid > 0) { } elseif (($status == 3 || $status == 2) && $alreadypaid > 0) {
$labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedPaidPartially'); $labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedPaidPartially');

View File

@ -1032,7 +1032,8 @@ abstract class CommonObject
// Add entry into index // Add entry into index
if ($initsharekey) { if ($initsharekey) {
require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php';
// TODO We can't, we dont' have full path of file, only last_main_doc adn ->element, so we must rebuild full path first
// TODO We can't, we dont' have full path of file, only last_main_doc and ->element, so we must first rebuild full path $destfull
/* /*
$ecmfile->filepath = $rel_dir; $ecmfile->filepath = $rel_dir;
$ecmfile->filename = $filename; $ecmfile->filename = $filename;

View File

@ -1013,7 +1013,9 @@ class Conf
} }
if (empty($handler_file_found)) { if (empty($handler_file_found)) {
throw new Exception('Missing log handler file '.$handler.'.php'); // If log handler has been removed of is badly setup, we must be able to continue code.
//throw new Exception('Missing log handler file '.$handler.'.php');
continue;
} }
require_once $handler_file_found; require_once $handler_file_found;

View File

@ -1583,7 +1583,7 @@ class ExtraFields
if (!empty($value)) { if (!empty($value)) {
//$value=price($value); //$value=price($value);
$sizeparts = explode(",", $size); $sizeparts = explode(",", $size);
$number_decimals = $sizeparts[1]; $number_decimals = array_key_exists(1, $sizeparts) ? $sizeparts[1] : 0;
$value = price($value, 0, $langs, 0, 0, $number_decimals, ''); $value = price($value, 0, $langs, 0, 0, $number_decimals, '');
} }
} elseif ($type == 'boolean') { } elseif ($type == 'boolean') {

View File

@ -233,21 +233,21 @@ class Form
} }
if (preg_match('/^(string|safehtmlstring|email)/', $typeofdata)) { if (preg_match('/^(string|safehtmlstring|email)/', $typeofdata)) {
$tmp = explode(':', $typeofdata); $tmp = explode(':', $typeofdata);
$ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.($editvalue ? $editvalue : $value).'"'.($tmp[1] ? ' size="'.$tmp[1].'"' : '').' autofocus>'; $ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.($editvalue ? $editvalue : $value).'"'.(empty($tmp[1]) ? '' : ' size="'.$tmp[1].'"').' autofocus>';
} elseif (preg_match('/^(integer)/', $typeofdata)) { } elseif (preg_match('/^(integer)/', $typeofdata)) {
$tmp = explode(':', $typeofdata); $tmp = explode(':', $typeofdata);
$valuetoshow = price2num($editvalue ? $editvalue : $value, 0); $valuetoshow = price2num($editvalue ? $editvalue : $value, 0);
$ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.$valuetoshow.'"'.($tmp[1] ? ' size="'.$tmp[1].'"' : '').' autofocus>'; $ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.$valuetoshow.'"'.(empty($tmp[1]) ? '' : ' size="'.$tmp[1].'"').' autofocus>';
} elseif (preg_match('/^(numeric|amount)/', $typeofdata)) { } elseif (preg_match('/^(numeric|amount)/', $typeofdata)) {
$tmp = explode(':', $typeofdata); $tmp = explode(':', $typeofdata);
$valuetoshow = price2num($editvalue ? $editvalue : $value); $valuetoshow = price2num($editvalue ? $editvalue : $value);
$ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.($valuetoshow != '' ? price($valuetoshow) : '').'"'.($tmp[1] ? ' size="'.$tmp[1].'"' : '').' autofocus>'; $ret .= '<input type="text" id="'.$htmlname.'" name="'.$htmlname.'" value="'.($valuetoshow != '' ? price($valuetoshow) : '').'"'.(empty($tmp[1]) ? '' : ' size="'.$tmp[1].'"').' autofocus>';
} elseif (preg_match('/^(checkbox)/', $typeofdata)) { } elseif (preg_match('/^(checkbox)/', $typeofdata)) {
$tmp = explode(':', $typeofdata); $tmp = explode(':', $typeofdata);
$ret .= '<input type="checkbox" id="' . $htmlname . '" name="' . $htmlname . '" value="' . $value . '"' . ($tmp[1] ? $tmp[1] : '') . '/>'; $ret .= '<input type="checkbox" id="' . $htmlname . '" name="' . $htmlname . '" value="' . $value . '"' . (empty($tmp[1]) ? '' : $tmp[1]) . '/>';
} elseif (preg_match('/^text/', $typeofdata) || preg_match('/^note/', $typeofdata)) { // if wysiwyg is enabled $typeofdata = 'ckeditor' } elseif (preg_match('/^text/', $typeofdata) || preg_match('/^note/', $typeofdata)) { // if wysiwyg is enabled $typeofdata = 'ckeditor'
$tmp = explode(':', $typeofdata); $tmp = explode(':', $typeofdata);
$cols = $tmp[2]; $cols = (empty($tmp[2]) ? '' : $tmp[2]);
$morealt = ''; $morealt = '';
if (preg_match('/%/', $cols)) { if (preg_match('/%/', $cols)) {
$morealt = ' style="width: '.$cols.'"'; $morealt = ' style="width: '.$cols.'"';
@ -255,7 +255,7 @@ class Form
} }
$valuetoshow = ($editvalue ? $editvalue : $value); $valuetoshow = ($editvalue ? $editvalue : $value);
$ret .= '<textarea id="'.$htmlname.'" name="'.$htmlname.'" wrap="soft" rows="'.($tmp[1] ? $tmp[1] : '20').'"'.($cols ? ' cols="'.$cols.'"' : 'class="quatrevingtpercent"').$morealt.'" autofocus>'; $ret .= '<textarea id="'.$htmlname.'" name="'.$htmlname.'" wrap="soft" rows="'.(empty($tmp[1]) ? '20' : $tmp[1]).'"'.($cols ? ' cols="'.$cols.'"' : 'class="quatrevingtpercent"').$morealt.'" autofocus>';
// textarea convert automatically entities chars into simple chars. // textarea convert automatically entities chars into simple chars.
// So we convert & into &amp; so a string like 'a &lt; <b>b</b><br>é<br>&lt;script&gt;alert('X');&lt;script&gt;' stay a correct html and is not converted by textarea component when wysiwig is off. // So we convert & into &amp; so a string like 'a &lt; <b>b</b><br>é<br>&lt;script&gt;alert('X');&lt;script&gt;' stay a correct html and is not converted by textarea component when wysiwig is off.
$valuetoshow = str_replace('&', '&amp;', $valuetoshow); $valuetoshow = str_replace('&', '&amp;', $valuetoshow);
@ -277,7 +277,7 @@ class Form
} elseif (preg_match('/^ckeditor/', $typeofdata)) { } elseif (preg_match('/^ckeditor/', $typeofdata)) {
$tmp = explode(':', $typeofdata); // Example: ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols:uselocalbrowser $tmp = explode(':', $typeofdata); // Example: ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols:uselocalbrowser
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
$doleditor = new DolEditor($htmlname, ($editvalue ? $editvalue : $value), ($tmp[2] ? $tmp[2] : ''), ($tmp[3] ? $tmp[3] : '100'), ($tmp[1] ? $tmp[1] : 'dolibarr_notes'), 'In', ($tmp[5] ? $tmp[5] : 0), (isset($tmp[8]) ? ($tmp[8] ?true:false) : true), true, ($tmp[6] ? $tmp[6] : '20'), ($tmp[7] ? $tmp[7] : '100')); $doleditor = new DolEditor($htmlname, ($editvalue ? $editvalue : $value), (empty($tmp[2]) ? '' : $tmp[2]), (empty($tmp[3]) ? '100' : $tmp[3]), (empty($tmp[1]) ? 'dolibarr_notes' : $tmp[1]), 'In', (empty($tmp[5]) ? 0 : $tmp[5]), (isset($tmp[8]) ? ($tmp[8] ? true : false) : true), true, (empty($tmp[6]) ? '20' : $tmp[6]), (empty($tmp[7]) ? '100' : $tmp[7]));
$ret .= $doleditor->Create(1); $ret .= $doleditor->Create(1);
} }
if (empty($notabletag)) { if (empty($notabletag)) {
@ -5026,7 +5026,7 @@ class Form
$more .= '<div clas="tagtd'.(empty($input['tdclass']) ? '' : (' "'.$input['tdclass'])).'">&nbsp;</div>'; $more .= '<div clas="tagtd'.(empty($input['tdclass']) ? '' : (' "'.$input['tdclass'])).'">&nbsp;</div>';
} }
$more .= '<div class="tagtd'.($i == 0 ? ' tdtop' : '').'"><input type="radio" class="flat'.$morecss.'" id="'.dol_escape_htmltag($input['name'].$selkey).'" name="'.dol_escape_htmltag($input['name']).'" value="'.$selkey.'"'.$moreattr; $more .= '<div class="tagtd'.($i == 0 ? ' tdtop' : '').'"><input type="radio" class="flat'.$morecss.'" id="'.dol_escape_htmltag($input['name'].$selkey).'" name="'.dol_escape_htmltag($input['name']).'" value="'.$selkey.'"'.$moreattr;
if ($input['disabled']) { if (!empty($input['disabled'])) {
$more .= ' disabled'; $more .= ' disabled';
} }
if (isset($input['default']) && $input['default'] === $selkey) { if (isset($input['default']) && $input['default'] === $selkey) {

View File

@ -1805,7 +1805,7 @@ class FormFile
} }
} }
if (!$found > 0 || !is_object($this->cache_objects[$modulepart.'_'.$id.'_'.$ref])) { if ($found <= 0 || !is_object($this->cache_objects[$modulepart.'_'.$id.'_'.$ref])) {
continue; // We do not show orphelins files continue; // We do not show orphelins files
} }

View File

@ -93,19 +93,19 @@ $object = null;
$ObjectClassName = ''; $ObjectClassName = '';
// Objects available by default // Objects available by default
$arrayoftype = array( $arrayoftype = array(
'thirdparty' => array('label' => 'ThirdParties', 'ObjectClassName' => 'Societe', 'enabled' => $conf->societe->enabled, 'ClassPath' => "/societe/class/societe.class.php"), 'thirdparty' => array('label' => 'ThirdParties', 'ObjectClassName' => 'Societe', 'enabled' => isModEnabled('societe'), 'ClassPath' => "/societe/class/societe.class.php"),
'contact' => array('label' => 'Contacts', 'ObjectClassName' => 'Contact', 'enabled' => $conf->societe->enabled, 'ClassPath' => "/contact/class/contact.class.php"), 'contact' => array('label' => 'Contacts', 'ObjectClassName' => 'Contact', 'enabled' => isModEnabled('societ'), 'ClassPath' => "/contact/class/contact.class.php"),
'proposal' => array('label' => 'Proposals', 'ObjectClassName' => 'Propal', 'enabled' => $conf->propal->enabled, 'ClassPath' => "/comm/propal/class/propal.class.php"), 'proposal' => array('label' => 'Proposals', 'ObjectClassName' => 'Propal', 'enabled' => isModEnabled('propal'), 'ClassPath' => "/comm/propal/class/propal.class.php"),
'order' => array('label' => 'Orders', 'ObjectClassName' => 'Commande', 'enabled' => $conf->commande->enabled, 'ClassPath' => "/commande/class/commande.class.php"), 'order' => array('label' => 'Orders', 'ObjectClassName' => 'Commande', 'enabled' => isModEnabled('commande'), 'ClassPath' => "/commande/class/commande.class.php"),
'invoice' => array('label' => 'Invoices', 'ObjectClassName' => 'Facture', 'enabled' => $conf->facture->enabled, 'ClassPath' => "/compta/facture/class/facture.class.php"), 'invoice' => array('label' => 'Invoices', 'ObjectClassName' => 'Facture', 'enabled' => isModEnabled('facture'), 'ClassPath' => "/compta/facture/class/facture.class.php"),
'invoice_template'=>array('label' => 'PredefinedInvoices', 'ObjectClassName' => 'FactureRec', 'enabled' => $conf->facture->enabled, 'ClassPath' => "/compta/class/facturerec.class.php", 'langs'=>'bills'), 'invoice_template'=>array('label' => 'PredefinedInvoices', 'ObjectClassName' => 'FactureRec', 'enabled' => isModEnabled('facture'), 'ClassPath' => "/compta/class/facturerec.class.php", 'langs'=>'bills'),
'contract' => array('label' => 'Contracts', 'ObjectClassName' => 'Contrat', 'enabled' => $conf->contrat->enabled, 'ClassPath' => "/contrat/class/contrat.class.php", 'langs'=>'contracts'), 'contract' => array('label' => 'Contracts', 'ObjectClassName' => 'Contrat', 'enabled' => isModEnabled('contrat'), 'ClassPath' => "/contrat/class/contrat.class.php", 'langs'=>'contracts'),
'contractdet' => array('label' => 'ContractLines', 'ObjectClassName' => 'ContratLigne', 'enabled' => $conf->contrat->enabled, 'ClassPath' => "/contrat/class/contrat.class.php", 'langs'=>'contracts'), 'contractdet' => array('label' => 'ContractLines', 'ObjectClassName' => 'ContratLigne', 'enabled' => isModEnabled('contrat'), 'ClassPath' => "/contrat/class/contrat.class.php", 'langs'=>'contracts'),
'bom' => array('label' => 'BOM', 'ObjectClassName' => 'Bom', 'enabled' => $conf->bom->enabled), 'bom' => array('label' => 'BOM', 'ObjectClassName' => 'Bom', 'enabled' => isModEnabled('bom')),
'mo' => array('label' => 'MO', 'ObjectClassName' => 'Mo', 'enabled' => $conf->mrp->enabled, 'ClassPath' => "/mrp/class/mo.class.php"), 'mo' => array('label' => 'MO', 'ObjectClassName' => 'Mo', 'enabled' => isModEnabled('mrp'), 'ClassPath' => "/mrp/class/mo.class.php"),
'ticket' => array('label' => 'Ticket', 'ObjectClassName' => 'Ticket', 'enabled' => $conf->ticket->enabled), 'ticket' => array('label' => 'Ticket', 'ObjectClassName' => 'Ticket', 'enabled' => isModEnabled('ticket')),
'member' => array('label' => 'Adherent', 'ObjectClassName' => 'Adherent', 'enabled' => $conf->adherent->enabled, 'ClassPath' => "/adherents/class/adherent.class.php", 'langs'=>'members'), 'member' => array('label' => 'Adherent', 'ObjectClassName' => 'Adherent', 'enabled' => isModEnabled('adherent'), 'ClassPath' => "/adherents/class/adherent.class.php", 'langs'=>'members'),
'cotisation' => array('label' => 'Subscriptions', 'ObjectClassName' => 'Subscription', 'enabled' => $conf->adherent->enabled, 'ClassPath' => "/adherents/class/subscription.class.php", 'langs'=>'members'), 'cotisation' => array('label' => 'Subscriptions', 'ObjectClassName' => 'Subscription', 'enabled' => isModEnabled('adherent'), 'ClassPath' => "/adherents/class/subscription.class.php", 'langs'=>'members'),
); );
// Complete $arrayoftype by external modules // Complete $arrayoftype by external modules

View File

@ -1552,10 +1552,10 @@ function complete_elementList_with_modules(&$elementList)
// We discard modules according to features level (PS: if module is activated we always show it) // We discard modules according to features level (PS: if module is activated we always show it)
$const_name = 'MAIN_MODULE_'.strtoupper(preg_replace('/^mod/i', '', get_class($objMod))); $const_name = 'MAIN_MODULE_'.strtoupper(preg_replace('/^mod/i', '', get_class($objMod)));
if ($objMod->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2 && !$conf->global->$const_name) { if ($objMod->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2 && getDolGlobalString($const_name)) {
$modulequalified = 0; $modulequalified = 0;
} }
if ($objMod->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1 && !$conf->global->$const_name) { if ($objMod->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1 && getDolGlobalString($const_name)) {
$modulequalified = 0; $modulequalified = 0;
} }
//If module is not activated disqualified //If module is not activated disqualified

View File

@ -3302,8 +3302,8 @@ function dol_print_phone($phone, $countrycode = '', $cid = 0, $socid = 0, $addli
$newphone = substr($newphone, 0, 5).$separ.substr($newphone, 5, 3).$separ.substr($newphone, 8, 4); $newphone = substr($newphone, 0, 5).$separ.substr($newphone, 5, 3).$separ.substr($newphone, 8, 4);
} }
} elseif (strtoupper($countrycode) == "MG") {//Madagascar } elseif (strtoupper($countrycode) == "MG") {//Madagascar
if (dol_strlen($phone) == 13) {//ex: +261_AB_CD_EF_GHI if (dol_strlen($phone) == 13) {//ex: +261_AB_CD_EFG_HI
$newphone = substr($newphone, 0, 4).$separ.substr($newphone, 4, 2).$separ.substr($newphone, 6, 2).$separ.substr($newphone, 8, 2).$separ.substr($newphone, 10, 3); $newphone = substr($newphone, 0, 4).$separ.substr($newphone, 4, 2).$separ.substr($newphone, 6, 2).$separ.substr($newphone, 8, 3).$separ.substr($newphone, 11, 2);
} }
} elseif (strtoupper($countrycode) == "GB") {//Royaume uni } elseif (strtoupper($countrycode) == "GB") {//Royaume uni
if (dol_strlen($phone) == 13) {//ex: +44_ABCD_EFG_HIJ if (dol_strlen($phone) == 13) {//ex: +44_ABCD_EFG_HIJ

View File

@ -233,19 +233,20 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
if ($filetowrite) { if ($filetowrite) {
$imgfonction = ''; $imgfonction = '';
switch ($newExt) { switch ($newExt) {
case 'gif': // IMG_GIF case 'gif': // IMG_GIF
$imgfonction = 'imagecreatefromgif'; $imgfonction = 'imagecreatefromgif';
break; break;
case 'jpg': // IMG_JPG case 'jpg': // IMG_JPG
case 'jpeg': // IMG_JPEG
$imgfonction = 'imagecreatefromjpeg'; $imgfonction = 'imagecreatefromjpeg';
break; break;
case 'png': // IMG_PNG case 'png': // IMG_PNG
$imgfonction = 'imagecreatefrompng'; $imgfonction = 'imagecreatefrompng';
break; break;
case 'bmp': // IMG_WBMP case 'bmp': // IMG_WBMP
$imgfonction = 'imagecreatefromwbmp'; $imgfonction = 'imagecreatefromwbmp';
break; break;
case 'webp': // IMG_WEBP case 'webp': // IMG_WEBP
$imgfonction = 'imagecreatefromwebp'; $imgfonction = 'imagecreatefromwebp';
break; break;
} }
@ -300,12 +301,14 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
} }
// Set transparent color according to image extension // Set transparent color according to image extension
$trans_colour = -1; // By default, undefined
switch ($newExt) { switch ($newExt) {
case 'gif': // Gif case 'gif': // Gif
$trans_colour = imagecolorallocate($imgTarget, 255, 255, 255); // On procede autrement pour le format GIF $trans_colour = imagecolorallocate($imgTarget, 255, 255, 255); // On procede autrement pour le format GIF
imagecolortransparent($imgTarget, $trans_colour); imagecolortransparent($imgTarget, $trans_colour);
break; break;
case 'jpg': // Jpg case 'jpg': // Jpg
case 'jpeg': // Jpeg
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0); $trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0);
break; break;
case 'png': // Png case 'png': // Png
@ -319,11 +322,11 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 127); $trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 127);
break; break;
} }
if (function_exists("imagefill")) { if (function_exists("imagefill") && $trans_colour > 0) {
imagefill($imgTarget, 0, 0, $trans_colour); imagefill($imgTarget, 0, 0, $trans_colour);
} }
dol_syslog("dol_imageResizeOrCrop: convert image from ($imgWidth x $imgHeight) at position ($src_x x $src_y) to ($newWidth x $newHeight) as $extImg"); dol_syslog("dol_imageResizeOrCrop: convert image from ($imgWidth x $imgHeight) at position ($src_x x $src_y) to ($newWidth x $newHeight) as a $extImg");
//imagecopyresized($imgTarget, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight); // Insere l'image de base redimensionnee //imagecopyresized($imgTarget, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight); // Insere l'image de base redimensionnee
imagecopyresampled($imgTarget, $img, 0, 0, $src_x, $src_y, $newWidth, $newHeight, ($mode == 0 ? $imgWidth : $newWidth), ($mode == 0 ? $imgHeight : $newHeight)); // Insere l'image de base redimensionnee imagecopyresampled($imgTarget, $img, 0, 0, $src_x, $src_y, $newWidth, $newHeight, ($mode == 0 ? $imgWidth : $newWidth), ($mode == 0 ? $imgHeight : $newHeight)); // Insere l'image de base redimensionnee
@ -338,6 +341,7 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
imagegif($imgTarget, $imgTargetName); imagegif($imgTarget, $imgTargetName);
break; break;
case 'jpg': // Jpg case 'jpg': // Jpg
case 'jpeg': // Jpeg
$newquality = ($newquality ? $newquality : '100'); // % quality maximum $newquality = ($newquality ? $newquality : '100'); // % quality maximum
imagejpeg($imgTarget, $imgTargetName, $newquality); imagejpeg($imgTarget, $imgTargetName, $newquality);
break; break;
@ -353,6 +357,8 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
$newquality = ($newquality ? $newquality : '100'); // % quality maximum $newquality = ($newquality ? $newquality : '100'); // % quality maximum
imagewebp($imgTarget, $imgTargetName, $newquality); imagewebp($imgTarget, $imgTargetName, $newquality);
break; break;
default:
dol_syslog("images.lib.php::imageResizeOrCrop() Format ".$newExt." is not supported", LOG_WARNING);
} }
// Set permissions on file // Set permissions on file

View File

@ -90,7 +90,7 @@ function getOnlineSignatureUrl($mode, $type, $ref = '', $localorexternal = 1)
if ($mode == 1) { if ($mode == 1) {
$out .= "hash('".$securekeyseed."' + '".$type."' + proposal_ref)"; $out .= "hash('".$securekeyseed."' + '".$type."' + proposal_ref)";
} else { } else {
$out .= '&securekey='.dol_hash($securekeyseed.$type.$ref, '0'); $out .= '&securekey='.dol_hash($securekeyseed.$type.$ref.(empty($conf->multicompany->enabled) ? '' : $object->entity), '0');
} }
/* /*
if ($mode == 1) { if ($mode == 1) {

View File

@ -56,7 +56,7 @@ class modEventOrganization extends DolibarrModules
$this->description = "EventOrganizationDescription"; $this->description = "EventOrganizationDescription";
$this->descriptionlong = "EventOrganizationDescriptionLong"; $this->descriptionlong = "EventOrganizationDescriptionLong";
$this->version = 'experimental'; $this->version = 'dolibarr';
// Key used in llx_const table to save module status enabled/disabled (where EVENTORGANIZATION is value of property name of module in uppercase) // Key used in llx_const table to save module status enabled/disabled (where EVENTORGANIZATION is value of property name of module in uppercase)

View File

@ -54,7 +54,7 @@ class modFTP extends DolibarrModules
// Module description used if translation string 'ModuleXXXDesc' not found (XXX is id value) // Module description used if translation string 'ModuleXXXDesc' not found (XXX is id value)
$this->description = "FTP Client"; $this->description = "FTP Client";
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version // Possible values for version are: 'development', 'experimental', 'dolibarr' or version
$this->version = 'dolibarr'; $this->version = 'dolibarr_deprecated';
// Key used in llx_const table to save module status enabled/disabled (XXX is id value) // Key used in llx_const table to save module status enabled/disabled (XXX is id value)
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
// Name of png file (without png) used for this module // Name of png file (without png) used for this module

View File

@ -123,7 +123,7 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup
$texte .= '<input type="hidden" name="page_y" value="">'; $texte .= '<input type="hidden" name="page_y" value="">';
$texte .= '<input type="hidden" name="action" value="setModuleOptions">'; $texte .= '<input type="hidden" name="action" value="setModuleOptions">';
$texte .= '<input type="hidden" name="param1" value="USERGROUP_ADDON_PDF_ODT_PATH">'; $texte .= '<input type="hidden" name="param1" value="USERGROUP_ADDON_PDF_ODT_PATH">';
if ($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT > 0) { if (!empty($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT)) {
$texte .= '<input type="hidden" name="param2" value="USERGROUP_ADDON_PDF_ODT_DEFAULT">'; $texte .= '<input type="hidden" name="param2" value="USERGROUP_ADDON_PDF_ODT_DEFAULT">';
$texte .= '<input type="hidden" name="param3" value="USERGROUP_ADDON_PDF_ODT_TOBILL">'; $texte .= '<input type="hidden" name="param3" value="USERGROUP_ADDON_PDF_ODT_TOBILL">';
$texte .= '<input type="hidden" name="param4" value="USERGROUP_ADDON_PDF_ODT_CLOSED">'; $texte .= '<input type="hidden" name="param4" value="USERGROUP_ADDON_PDF_ODT_CLOSED">';
@ -169,7 +169,7 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup
if (count($listofdir)) { if (count($listofdir)) {
$texte .= $langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>'; $texte .= $langs->trans("NumberOfModelFilesFound").': <b>'.count($listoffiles).'</b>';
if ($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT > 0) { if (!empty($conf->global->MAIN_PROPAL_CHOOSE_ODT_DOCUMENT)) {
// Model for creation // Model for creation
$list = ModelePDFUserGroup::liste_modeles($this->db); $list = ModelePDFUserGroup::liste_modeles($this->db);
$texte .= '<table width="50%;">'; $texte .= '<table width="50%;">';

View File

@ -56,13 +56,13 @@ if ($modulepart == 'produit' || $modulepart == 'product' || $modulepart == 'serv
$accessallowed = 1; $accessallowed = 1;
} elseif ($modulepart == 'project') { } elseif ($modulepart == 'project') {
$result = restrictedArea($user, 'projet', $id); $result = restrictedArea($user, 'projet', $id);
if (!$user->rights->projet->lire) { if (empty($user->rights->projet->lire)) {
accessforbidden(); accessforbidden();
} }
$accessallowed = 1; $accessallowed = 1;
} elseif ($modulepart == 'bom') { } elseif ($modulepart == 'bom') {
$result = restrictedArea($user, $modulepart, $id, 'bom_bom'); $result = restrictedArea($user, $modulepart, $id, 'bom_bom');
if (!$user->rights->bom->read) { if (empty($user->rights->bom->read)) {
accessforbidden(); accessforbidden();
} }
$accessallowed = 1; $accessallowed = 1;
@ -73,14 +73,14 @@ if ($modulepart == 'produit' || $modulepart == 'product' || $modulepart == 'serv
} }
$accessallowed = 1; $accessallowed = 1;
} elseif ($modulepart == 'user') { } elseif ($modulepart == 'user') {
$result = restrictedArea($user, $modulepart, $id, $modulepart); $result = restrictedArea($user, $modulepart, $id, $modulepart, $modulepart);
if (!$user->rights->user->user->lire) { if (empty($user->rights->user->user->lire)) {
accessforbidden(); accessforbidden();
} }
$accessallowed = 1; $accessallowed = 1;
} elseif ($modulepart == 'tax') { } elseif ($modulepart == 'tax') {
$result = restrictedArea($user, $modulepart, $id, 'chargesociales', 'charges'); $result = restrictedArea($user, $modulepart, $id, 'chargesociales', 'charges');
if (!$user->rights->tax->charges->lire) { if (empty($user->rights->tax->charges->lire)) {
accessforbidden(); accessforbidden();
} }
$accessallowed = 1; $accessallowed = 1;

View File

@ -63,7 +63,7 @@ if ($action == 'setvalue' && $user->admin) {
$result = dolibarr_set_const($db, $sub, GETPOST($sub), 'chaine', 0, '', $conf->entity); $result = dolibarr_set_const($db, $sub, GETPOST($sub), 'chaine', 0, '', $conf->entity);
$sub = "DATAPOLICIESREFUSE_".$l; $sub = "DATAPOLICIESREFUSE_".$l;
$result = dolibarr_set_const($db, $sub, GETPOST($sub), 'chaine', 0, '', $conf->entity); $result = dolibarr_set_const($db, $sub, GETPOST($sub), 'chaine', 0, '', $conf->entity);
if (!$result > 0) { if (!($result > 0)) {
$error++; $error++;
} }
if (!$error) { if (!$error) {

View File

@ -111,7 +111,7 @@ if ($action == 'add_payment') {
if (!$error) { if (!$error) {
$result = $payment->addPaymentToBank($user, 'payment_donation', '(DonationPayment)', GETPOST('accountid', 'int'), '', ''); $result = $payment->addPaymentToBank($user, 'payment_donation', '(DonationPayment)', GETPOST('accountid', 'int'), '', '');
if (!$result > 0) { if (!($result > 0)) {
$errmsg = $payment->error; $errmsg = $payment->error;
setEventMessages($errmsg, null, 'errors'); setEventMessages($errmsg, null, 'errors');
$error++; $error++;

View File

@ -85,7 +85,7 @@ if (!$sortfield) {
$ecmdir = new EcmDirectory($db); $ecmdir = new EcmDirectory($db);
if (!empty($section)) { if (!empty($section)) {
$result = $ecmdir->fetch($section); $result = $ecmdir->fetch($section);
if (!$result > 0) { if (!($result > 0)) {
dol_print_error($db, $ecmdir->error); dol_print_error($db, $ecmdir->error);
exit; exit;
} }

View File

@ -76,7 +76,7 @@ if (!$urlfile) {
// Load ecm object // Load ecm object
$ecmdir = new EcmDirectory($db); $ecmdir = new EcmDirectory($db);
$result = $ecmdir->fetch(GETPOST("section", 'alpha')); $result = $ecmdir->fetch(GETPOST("section", 'alpha'));
if (!$result > 0) { if (!($result > 0)) {
dol_print_error($db, $ecmdir->error); dol_print_error($db, $ecmdir->error);
exit; exit;
} }

View File

@ -80,7 +80,7 @@ if (!$urlfile) {
// Load ecm object // Load ecm object
$ecmdir = new EcmDirectory($db); $ecmdir = new EcmDirectory($db);
$result = $ecmdir->fetch(GETPOST("section", 'alpha')); $result = $ecmdir->fetch(GETPOST("section", 'alpha'));
if (!$result > 0) { if (!($result > 0)) {
dol_print_error($db, $ecmdir->error); dol_print_error($db, $ecmdir->error);
exit; exit;
} }

View File

@ -64,7 +64,7 @@ if (!$sortfield) {
$ecmdir = new EcmDirectory($db); $ecmdir = new EcmDirectory($db);
if ($section > 0) { if ($section > 0) {
$result = $ecmdir->fetch($section); $result = $ecmdir->fetch($section);
if (!$result > 0) { if (!($result > 0)) {
dol_print_error($db, $ecmdir->error); dol_print_error($db, $ecmdir->error);
exit; exit;
} }

View File

@ -74,7 +74,7 @@ if ($module == 'invoice_supplier' && $sortfield == "fullname") {
$ecmdir = new EcmDirectory($db); $ecmdir = new EcmDirectory($db);
if ($section) { if ($section) {
$result = $ecmdir->fetch($section); $result = $ecmdir->fetch($section);
if (!$result > 0) { if (!($result > 0)) {
dol_print_error($db, $ecmdir->error); dol_print_error($db, $ecmdir->error);
exit; exit;
} }

View File

@ -78,7 +78,7 @@ if (!$sortfield) {
$ecmdir = new EcmDirectory($db); $ecmdir = new EcmDirectory($db);
if (!empty($section)) { if (!empty($section)) {
$result = $ecmdir->fetch($section); $result = $ecmdir->fetch($section);
if (!$result > 0) { if (!($result > 0)) {
dol_print_error($db, $ecmdir->error); dol_print_error($db, $ecmdir->error);
exit; exit;
} }

View File

@ -1950,7 +1950,7 @@ if ($action == 'create') {
// Payments already done (from payment on this expensereport) // Payments already done (from payment on this expensereport)
$sql = "SELECT p.rowid, p.num_payment, p.datep as dp, p.amount, p.fk_bank,"; $sql = "SELECT p.rowid, p.num_payment, p.datep as dp, p.amount, p.fk_bank,";
$sql .= "c.code as p_code, c.libelle as payment_type,"; $sql .= "c.code as payment_code, c.libelle as payment_type,";
$sql .= "ba.rowid as baid, ba.ref as baref, ba.label, ba.number as banumber, ba.account_number, ba.fk_accountancy_journal"; $sql .= "ba.rowid as baid, ba.ref as baref, ba.label, ba.number as banumber, ba.account_number, ba.fk_accountancy_journal";
$sql .= " FROM ".MAIN_DB_PREFIX."expensereport as e, ".MAIN_DB_PREFIX."payment_expensereport as p"; $sql .= " FROM ".MAIN_DB_PREFIX."expensereport as e, ".MAIN_DB_PREFIX."payment_expensereport as p";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as c ON p.fk_typepayment = c.id"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as c ON p.fk_typepayment = c.id";
@ -1969,18 +1969,20 @@ if ($action == 'create') {
$objp = $db->fetch_object($resql); $objp = $db->fetch_object($resql);
$paymentexpensereportstatic->id = $objp->rowid; $paymentexpensereportstatic->id = $objp->rowid;
$paymentexpensereportstatic->datepaye = $db->jdate($objp->dp); $paymentexpensereportstatic->datep = $db->jdate($objp->dp);
$paymentexpensereportstatic->ref = $objp->rowid; $paymentexpensereportstatic->ref = $objp->rowid;
$paymentexpensereportstatic->num_payment = $objp->num_payment; $paymentexpensereportstatic->num_payment = $objp->num_payment;
$paymentexpensereportstatic->payment_code = $objp->payment_code; $paymentexpensereportstatic->type_code = $objp->payment_code;
$paymentexpensereportstatic->type_label = $objp->payment_type;
print '<tr class="oddseven">'; print '<tr class="oddseven">';
print '<td>'; print '<td>';
print $paymentexpensereportstatic->getNomUrl(1); print $paymentexpensereportstatic->getNomUrl(1);
print '</td>'; print '</td>';
print '<td>'.dol_print_date($db->jdate($objp->dp), 'day')."</td>\n"; print '<td>'.dol_print_date($db->jdate($objp->dp), 'day')."</td>\n";
$labeltype = $langs->trans("PaymentType".$objp->p_code) != ("PaymentType".$objp->p_code) ? $langs->trans("PaymentType".$objp->p_code) : $objp->payment_type; $labeltype = $langs->trans("PaymentType".$objp->payment_code) != ("PaymentType".$objp->payment_code) ? $langs->trans("PaymentType".$objp->payment_code) : $objp->payment_type;
print "<td>".$labeltype.' '.$objp->num_payment."</td>\n"; print "<td>".$labeltype.' '.$objp->num_payment."</td>\n";
// Bank account
if (!empty($conf->banque->enabled)) { if (!empty($conf->banque->enabled)) {
$bankaccountstatic->id = $objp->baid; $bankaccountstatic->id = $objp->baid;
$bankaccountstatic->ref = $objp->baref; $bankaccountstatic->ref = $objp->baref;

View File

@ -137,14 +137,17 @@ class PaymentExpenseReport extends CommonObject
if (isset($this->note_public)) { if (isset($this->note_public)) {
$this->note_public = trim($this->note_public); $this->note_public = trim($this->note_public);
} }
if (isset($this->note_private)) {
$this->note_private = trim($this->note_private);
}
if (isset($this->fk_bank)) { if (isset($this->fk_bank)) {
$this->fk_bank = trim($this->fk_bank); $this->fk_bank = ((int) $this->fk_bank);
} }
if (isset($this->fk_user_creat)) { if (isset($this->fk_user_creat)) {
$this->fk_user_creat = trim($this->fk_user_creat); $this->fk_user_creat = ((int) $this->fk_user_creat);
} }
if (isset($this->fk_user_modif)) { if (isset($this->fk_user_modif)) {
$this->fk_user_modif = trim($this->fk_user_modif); $this->fk_user_modif = ((int) $this->fk_user_modif);
} }
$totalamount = 0; $totalamount = 0;
@ -170,7 +173,7 @@ class PaymentExpenseReport extends CommonObject
$sql .= " '".$this->db->idate($this->datepaid)."',"; $sql .= " '".$this->db->idate($this->datepaid)."',";
$sql .= " ".price2num($totalamount).","; $sql .= " ".price2num($totalamount).",";
$sql .= " ".((int) $this->fk_typepayment).", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_public)."', ".((int) $user->id).","; $sql .= " ".((int) $this->fk_typepayment).", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_public)."', ".((int) $user->id).",";
$sql .= " 0)"; $sql .= " 0)"; // fk_bank is ID of transaction into ll_bank
dol_syslog(get_class($this)."::create", LOG_DEBUG); dol_syslog(get_class($this)."::create", LOG_DEBUG);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
@ -540,7 +543,7 @@ class PaymentExpenseReport extends CommonObject
); );
// Update fk_bank in llx_paiement. // Update fk_bank in llx_paiement.
// On connait ainsi le paiement qui a genere l'ecriture bancaire // So we wil know the payment that have generated the bank transaction
if ($bank_line_id > 0) { if ($bank_line_id > 0) {
$result = $this->update_fk_bank($bank_line_id); $result = $this->update_fk_bank($bank_line_id);
if ($result <= 0) { if ($result <= 0) {
@ -585,6 +588,7 @@ class PaymentExpenseReport extends CommonObject
} }
} else { } else {
$this->error = $acc->error; $this->error = $acc->error;
$this->errors = $acc->errors;
$error++; $error++;
} }
} }

View File

@ -75,6 +75,7 @@ if ($action == 'add_payment') {
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Date")), null, 'errors'); setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Date")), null, 'errors');
$error++; $error++;
} }
if (!empty($conf->banque->enabled) && !($accountid > 0)) { if (!empty($conf->banque->enabled) && !($accountid > 0)) {
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountToDebit")), null, 'errors'); setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountToDebit")), null, 'errors');
$error++; $error++;
@ -87,14 +88,16 @@ if ($action == 'add_payment') {
// Read possible payments // Read possible payments
foreach ($_POST as $key => $value) { foreach ($_POST as $key => $value) {
if (substr($key, 0, 7) == 'amount_') { if (substr($key, 0, 7) == 'amount_') {
$amounts[$expensereport->fk_user_author] = price2num(GETPOST($key)); if (GETPOST($key)) {
$total += price2num(GETPOST($key)); $amounts[$expensereport->fk_user_author] = price2num(GETPOST($key));
$total += price2num(GETPOST($key));
}
} }
} }
if (count($amounts) <= 0) { if (count($amounts) <= 0) {
$error++; $error++;
$errmsg = 'ErrorNoPaymentDefined'; setEventMessages('ErrorNoPaymentDefined', null, 'errors');
} }
if (!$error) { if (!$error) {
@ -109,6 +112,7 @@ if ($action == 'add_payment') {
$payment->fk_typepayment = GETPOST("fk_typepayment", 'int'); $payment->fk_typepayment = GETPOST("fk_typepayment", 'int');
$payment->num_payment = GETPOST("num_payment", 'alphanothtml'); $payment->num_payment = GETPOST("num_payment", 'alphanothtml');
$payment->note_public = GETPOST("note_public", 'restricthtml'); $payment->note_public = GETPOST("note_public", 'restricthtml');
$payment->fk_bank = $accountid;
if (!$error) { if (!$error) {
$paymentid = $payment->create($user); $paymentid = $payment->create($user);
@ -120,7 +124,7 @@ if ($action == 'add_payment') {
if (!$error) { if (!$error) {
$result = $payment->addPaymentToBank($user, 'payment_expensereport', '(ExpenseReportPayment)', $accountid, '', ''); $result = $payment->addPaymentToBank($user, 'payment_expensereport', '(ExpenseReportPayment)', $accountid, '', '');
if (!$result > 0) { if ($result <= 0) {
setEventMessages($payment->error, $payment->errors, 'errors'); setEventMessages($payment->error, $payment->errors, 'errors');
$error++; $error++;
} }
@ -130,7 +134,7 @@ if ($action == 'add_payment') {
$payment->fetch($paymentid); $payment->fetch($paymentid);
if ($expensereport->total_ttc - $payment->amount == 0) { if ($expensereport->total_ttc - $payment->amount == 0) {
$result = $expensereport->setPaid($expensereport->id, $user); $result = $expensereport->setPaid($expensereport->id, $user);
if (!$result > 0) { if (!($result > 0)) {
setEventMessages($payment->error, $payment->errors, 'errors'); setEventMessages($payment->error, $payment->errors, 'errors');
$error++; $error++;
} }
@ -202,7 +206,7 @@ if ($action == 'create' || empty($action)) {
print '<table class="border centpercent">'."\n"; print '<table class="border centpercent">'."\n";
print '<tr><td class="titlefield">'.$langs->trans("Period").'</td><td>'.get_date_range($expensereport->date_debut, $expensereport->date_fin, "", $langs, 0).'</td></tr>'; print '<tr><td class="titlefield">'.$langs->trans("Period").'</td><td>'.get_date_range($expensereport->date_debut, $expensereport->date_fin, "", $langs, 0).'</td></tr>';
print '<tr><td>'.$langs->trans("Amount").'</td><td>'.price($expensereport->total_ttc, 0, $outputlangs, 1, -1, -1, $conf->currency).'</td></tr>'; print '<tr><td>'.$langs->trans("Amount").'</td><td><span class="amount">'.price($expensereport->total_ttc, 0, $langs, 1, -1, -1, $conf->currency).'</span></td></tr>';
$sql = "SELECT sum(p.amount) as total"; $sql = "SELECT sum(p.amount) as total";
$sql .= " FROM ".MAIN_DB_PREFIX."payment_expensereport as p, ".MAIN_DB_PREFIX."expensereport as e"; $sql .= " FROM ".MAIN_DB_PREFIX."payment_expensereport as p, ".MAIN_DB_PREFIX."expensereport as e";
@ -214,8 +218,8 @@ if ($action == 'create' || empty($action)) {
$sumpaid = $obj->total; $sumpaid = $obj->total;
$db->free($resql); $db->free($resql);
} }
print '<tr><td>'.$langs->trans("AlreadyPaid").'</td><td>'.price($sumpaid, 0, $outputlangs, 1, -1, -1, $conf->currency).'</td></tr>'; print '<tr><td>'.$langs->trans("AlreadyPaid").'</td><td><span class="amount">'.price($sumpaid, 0, $langs, 1, -1, -1, $conf->currency).'</span></td></tr>';
print '<tr><td class="tdtop">'.$langs->trans("RemainderToPay").'</td><td>'.price($total - $sumpaid, 0, $outputlangs, 1, -1, -1, $conf->currency).'</td></tr>'; print '<tr><td class="tdtop">'.$langs->trans("RemainderToPay").'</td><td><span class="amount">'.price($total - $sumpaid, 0, $langs, 1, -1, -1, $conf->currency).'</span></td></tr>';
print '</table>'; print '</table>';
@ -223,6 +227,8 @@ if ($action == 'create' || empty($action)) {
print dol_get_fiche_end(); print dol_get_fiche_end();
print '<br>';
print dol_get_fiche_head(); print dol_get_fiche_head();
print '<table class="border centpercent">'."\n"; print '<table class="border centpercent">'."\n";
@ -243,7 +249,8 @@ if ($action == 'create' || empty($action)) {
print '<tr>'; print '<tr>';
print '<td class="fieldrequired">'.$langs->trans('AccountToDebit').'</td>'; print '<td class="fieldrequired">'.$langs->trans('AccountToDebit').'</td>';
print '<td colspan="2">'; print '<td colspan="2">';
$form->select_comptes(GETPOSTISSET("accountid") ? GETPOST("accountid", "int") : $expensereport->accountid, "accountid", 0, '', 2); // Show open bank account list print img_picto('', 'bank_account', 'class="pictofixedwidth"');
$form->select_comptes(GETPOSTISSET("accountid") ? GETPOST("accountid", "int") : 0, "accountid", 0, '', 2); // Show open bank account list
print '</td></tr>'; print '</td></tr>';
} }
@ -277,7 +284,7 @@ if ($action == 'create' || empty($action)) {
print '<td class="center">'.$langs->trans("Amount").'</td>'; print '<td class="center">'.$langs->trans("Amount").'</td>';
print "</tr>\n"; print "</tr>\n";
$total = 0; $total_ttc = 0;
$totalrecu = 0; $totalrecu = 0;
while ($i < $num) { while ($i < $num) {
@ -298,7 +305,7 @@ if ($action == 'create' || empty($action)) {
} }
$remaintopay = $objp->total_ttc - $sumpaid; // autofill remainder amount $remaintopay = $objp->total_ttc - $sumpaid; // autofill remainder amount
print '<input type=hidden class="sum_remain" name="'.$nameRemain.'" value="'.$remaintopay.'">'; // autofill remainder amount print '<input type=hidden class="sum_remain" name="'.$nameRemain.'" value="'.$remaintopay.'">'; // autofill remainder amount
print '<input type="text" size="8" name="'.$namef.'" id="'.$namef.'">'; print '<input type="text" class="width75" name="'.$namef.'" id="'.$namef.'" value="'.GETPOST($namef).'">';
} else { } else {
print '-'; print '-';
} }
@ -306,9 +313,8 @@ if ($action == 'create' || empty($action)) {
print "</tr>\n"; print "</tr>\n";
$total += $objp->total;
$total_ttc += $objp->total_ttc; $total_ttc += $objp->total_ttc;
$totalrecu += $objp->am; $totalrecu += $sumpaid;
$i++; $i++;
} }
if ($i > 1) { if ($i > 1) {

View File

@ -7,7 +7,7 @@
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es>
* Copyright (C) 2018-2021 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018-2021 Frédéric France <frederic.france@netlogic.fr>
* Copyright (C) 2018-2020 Charlene Benke <charlie@patas-monkey.com> * Copyright (C) 2018-2022 Charlene Benke <charlene@patas-monkey.com>
* Copyright (C) 2019 Nicolas Zabouri <info@inovea-conseil.com> * Copyright (C) 2019 Nicolas Zabouri <info@inovea-conseil.com>
* Copyright (C) 2021 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
* *
@ -1535,6 +1535,7 @@ if ($resql) {
$totalarray = array('nbfield' => 0, 'val' => array(), 'pos' => array()); $totalarray = array('nbfield' => 0, 'val' => array(), 'pos' => array());
$totalarray['val']['cf.total_ht'] = 0; $totalarray['val']['cf.total_ht'] = 0;
$totalarray['val']['cf.total_ttc'] = 0; $totalarray['val']['cf.total_ttc'] = 0;
$totalarray['val']['cf.total_tva'] = 0;
$imaxinloop = ($limit ? min($num, $limit) : $num); $imaxinloop = ($limit ? min($num, $limit) : $num);
while ($i < $imaxinloop) { while ($i < $imaxinloop) {

View File

@ -1434,8 +1434,8 @@ if ($resql) {
} }
// Zip // Zip
if (!empty($arrayfields['s.zip']['checked'])) { if (!empty($arrayfields['s.zip']['checked'])) {
print '<td class="nocellnopadd center">'; print '<td class="nocellnopadd center tdoverflowmax100" title="'.dol_escape_htmltag($obj->zip).'">';
print $obj->zip; print dol_escape_htmltag($obj->zip);
print '</td>'; print '</td>';
if (!$i) { if (!$i) {
$totalarray['nbfield']++; $totalarray['nbfield']++;

View File

@ -199,7 +199,7 @@ if (empty($reshook)) {
if ($result <= 0) { if ($result <= 0) {
dol_print_error($db); dol_print_error($db);
} }
$multicurrency_amountsresttopay[$cursorfacid] = price2num($tmpinvoice->total_ttc - $tmpinvoice->getSommePaiement(1)); $multicurrency_amountsresttopay[$cursorfacid] = price2num($tmpinvoice->multicurrency_total_ttc - $tmpinvoice->getSommePaiement(1));
if ($multicurrency_amounts[$cursorfacid]) { if ($multicurrency_amounts[$cursorfacid]) {
// Check amount // Check amount
if ($multicurrency_amounts[$cursorfacid] && (abs($multicurrency_amounts[$cursorfacid]) > abs($multicurrency_amountsresttopay[$cursorfacid]))) { if ($multicurrency_amounts[$cursorfacid] && (abs($multicurrency_amounts[$cursorfacid]) > abs($multicurrency_amountsresttopay[$cursorfacid]))) {

View File

@ -92,8 +92,8 @@ if ($socid > 0) {
print '<td>&nbsp;</td>'; print '<td>&nbsp;</td>';
print '</tr>'; print '</tr>';
if (!$num > 0) { if ($num <= 0) {
print '<tr><td colspan="7">'.$langs->trans("NoInvoice").'</td></tr>'; print '<tr><td colspan="7"><span class="opacitymedium">'.$langs->trans("NoInvoice").'</span></td></tr>';
} }
$solde = 0; $solde = 0;

View File

@ -100,7 +100,7 @@ if (GETPOST("sendit") && !empty($conf->global->MAIN_UPLOAD_DOC)) {
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$result = $ecmdir->fetch(GETPOST("section", 'int')); $result = $ecmdir->fetch(GETPOST("section", 'int'));
if (!$result > 0) { if (!($result > 0)) {
dol_print_error($db, $ecmdir->error); dol_print_error($db, $ecmdir->error);
exit; exit;
} }

View File

@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2007-2016 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2007-2022 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2011 Dimitri Mouillard <dmouillard@teclib.com> * Copyright (C) 2011 Dimitri Mouillard <dmouillard@teclib.com>
* Copyright (C) 2013 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2013 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2016 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2016 Regis Houssin <regis.houssin@inodbox.com>
@ -130,12 +130,15 @@ if (empty($reshook)) {
// Si il y a une action de mise à jour // Si il y a une action de mise à jour
if ($action == 'update' && GETPOSTISSET('update_cp')) { if ($action == 'update' && GETPOSTISSET('update_cp')) {
$error = 0; $error = 0;
$nbok = 0;
$typeleaves = $holiday->getTypes(1, 1); $typeleaves = $holiday->getTypes(1, 1);
$userID = array_keys(GETPOST('update_cp')); $userID = array_keys(GETPOST('update_cp'));
$userID = $userID[0]; $userID = $userID[0];
$db->begin();
foreach ($typeleaves as $key => $val) { foreach ($typeleaves as $key => $val) {
$userValue = GETPOST('nb_holiday_'.$val['rowid']); $userValue = GETPOST('nb_holiday_'.$val['rowid']);
$userValue = $userValue[$userID]; $userValue = $userValue[$userID];
@ -150,20 +153,26 @@ if (empty($reshook)) {
$note_holiday = GETPOST('note_holiday'); $note_holiday = GETPOST('note_holiday');
$comment = ((isset($note_holiday[$userID]) && !empty($note_holiday[$userID])) ? ' ('.$note_holiday[$userID].')' : ''); $comment = ((isset($note_holiday[$userID]) && !empty($note_holiday[$userID])) ? ' ('.$note_holiday[$userID].')' : '');
//print 'holiday: '.$val['rowid'].'-'.$userValue; //print 'holiday: '.$val['rowid'].'-'.$userValue;exit;
if ($userValue != '') { if ($userValue != '') {
// We add the modification to the log (must be before update of sold because we read current value of sold) // We add the modification to the log (must be done before the update of balance because we read current value of balance inside this method)
$result = $holiday->addLogCP($user->id, $userID, $langs->transnoentitiesnoconv('ManualUpdate').$comment, $userValue, $val['rowid']); $result = $holiday->addLogCP($user->id, $userID, $langs->transnoentitiesnoconv('ManualUpdate').$comment, $userValue, $val['rowid']);
if ($result < 0) { if ($result < 0) {
setEventMessages($holiday->error, $holiday->errors, 'errors'); setEventMessages($holiday->error, $holiday->errors, 'errors');
$error++; $error++;
} elseif ($result == 0) {
setEventMessages($langs->trans("HolidayQtyNotModified", $user->login), null, 'warnings');
} }
// Update of the days of the employee // Update of the days of the employee
$result = $holiday->updateSoldeCP($userID, $userValue, $val['rowid']); if ($result > 0) {
if ($result < 0) { $nbok++;
setEventMessages($holiday->error, $holiday->errors, 'errors');
$error++; $result = $holiday->updateSoldeCP($userID, $userValue, $val['rowid']);
if ($result < 0) {
setEventMessages($holiday->error, $holiday->errors, 'errors');
$error++;
}
} }
// If it first update of balance, we set date to avoid to have sold incremented by new month // If it first update of balance, we set date to avoid to have sold incremented by new month
@ -179,7 +188,13 @@ if (empty($reshook)) {
} }
if (!$error) { if (!$error) {
setEventMessages('UpdateConfCPOK', '', 'mesgs'); $db->commit();
if ($nbok > 0) {
setEventMessages('UpdateConfCPOK', '', 'mesgs');
}
} else {
$db->rollback();
} }
} }
} }

View File

@ -159,15 +159,15 @@ if (empty($reshook)) {
// Definition of fields for lists // Definition of fields for lists
$arrayfields = array( $arrayfields = array(
'cpl.rowid'=>array('label'=>$langs->trans("ID"), 'checked'=>1), 'cpl.rowid'=>array('label'=>"ID", 'checked'=>1),
'cpl.date_action'=>array('label'=>$langs->trans("Date"), 'checked'=>1), 'cpl.date_action'=>array('label'=>"Date", 'checked'=>1),
'cpl.fk_user_action'=>array('label'=>$langs->trans("ActionByCP"), 'checked'=>1), 'cpl.fk_user_action'=>array('label'=>"ActionByCP", 'checked'=>1),
'cpl.fk_user_update'=>array('label'=>$langs->trans("UserUpdateCP"), 'checked'=>1), 'cpl.fk_user_update'=>array('label'=>"UserUpdateCP", 'checked'=>1),
'cpl.type_action'=>array('label'=>$langs->trans("Description"), 'checked'=>1), 'cpl.type_action'=>array('label'=>"Description", 'checked'=>1),
'cpl.fk_type'=>array('label'=>$langs->trans("Type"), 'checked'=>1), 'cpl.fk_type'=>array('label'=>"Type", 'checked'=>1),
'cpl.prev_solde'=>array('label'=>$langs->trans("PrevSoldeCP"), 'checked'=>1), 'cpl.prev_solde'=>array('label'=>"PrevSoldeCP", 'checked'=>1),
'variation'=>array('label'=>$langs->trans("Variation"), 'checked'=>1), 'variation'=>array('label'=>"Variation", 'checked'=>1),
'cpl.new_solde'=>array('label'=>$langs->trans("NewSoldeCP"), 'checked'=>1), 'cpl.new_solde'=>array('label'=>"NewSoldeCP", 'checked'=>1),
); );
@ -403,7 +403,7 @@ print '</tr>';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
if (!empty($arrayfields['cpl.rowid']['checked'])) { if (!empty($arrayfields['cpl.rowid']['checked'])) {
print_liste_field_titre($arrayfields['cpl.rowid']['label'], $_SERVER["PHP_SELF"], 'rowid', '', '', '', $sortfield, $sortorder); print_liste_field_titre($arrayfields['cpl.rowid']['label'], $_SERVER["PHP_SELF"], 'cpl.rowid', '', '', '', $sortfield, $sortorder);
} }
if (!empty($arrayfields['cpl.date_action']['checked'])) { if (!empty($arrayfields['cpl.date_action']['checked'])) {
print_liste_field_titre($arrayfields['cpl.date_action']['label'], $_SERVER["PHP_SELF"], 'date_action', '', '', '', $sortfield, $sortorder, 'center '); print_liste_field_titre($arrayfields['cpl.date_action']['label'], $_SERVER["PHP_SELF"], 'date_action', '', '', '', $sortfield, $sortorder, 'center ');
@ -484,11 +484,12 @@ while ($i < min($num, $limit)) {
// Description // Description
if (!empty($arrayfields['cpl.type_action']['checked'])) { if (!empty($arrayfields['cpl.type_action']['checked'])) {
print '<td>'.$holidaylogstatic->description.'</td>'; print '<td class="tdoverflowmax400" title="'.dol_escape_htmltag($holidaylogstatic->description).'">'.dol_escape_htmltag($holidaylogstatic->description).'</td>';
} }
// Type // Type
if (!empty($arrayfields['cpl.fk_type']['checked'])) { if (!empty($arrayfields['cpl.fk_type']['checked'])) {
$label = '';
if (!empty($alltypeleaves[$holidaylogstatic->type])) { if (!empty($alltypeleaves[$holidaylogstatic->type])) {
if ($alltypeleaves[$holidaylogstatic->type]['code'] && $langs->trans($alltypeleaves[$holidaylogstatic->type]['code']) != $alltypeleaves[$holidaylogstatic->type]['code']) { if ($alltypeleaves[$holidaylogstatic->type]['code'] && $langs->trans($alltypeleaves[$holidaylogstatic->type]['code']) != $alltypeleaves[$holidaylogstatic->type]['code']) {
$label = $langs->trans($alltypeleaves[$holidaylogstatic->type]['code']); $label = $langs->trans($alltypeleaves[$holidaylogstatic->type]['code']);
@ -510,8 +511,13 @@ while ($i < min($num, $limit)) {
// Variation // Variation
if (!empty($arrayfields['variation']['checked'])) { if (!empty($arrayfields['variation']['checked'])) {
$delta = price2num($holidaylogstatic->balance_new - $holidaylogstatic->balance_previous, 5); $delta = price2num($holidaylogstatic->balance_new - $holidaylogstatic->balance_previous, 5);
$detasign = ($delta > 0 ? '+' : ''); print '<td style="text-align: right;">';
print '<td style="text-align: right;">'.$detasign.$delta.'</td>'; if ($delta > 0) {
print '<span class="stockmovemententry fontsizeunset">+'.$delta.'</span>';
} else {
print '<span class="stockmovementexit fontsizeunset">'.$delta.'</span>';
}
print '</td>';
} }
// New Balance // New Balance

0
htdocs/includes/OAuth/OAuth2/Service/WordPress.php Executable file → Normal file
View File

View File

@ -16,6 +16,8 @@
-- --
-- ======================================================================== -- ========================================================================
-- This table contains the contacts by default of a thirdparty
-- Such contacts will be added to document automatiall if their role match the one expected by the document.
create table llx_societe_contacts create table llx_societe_contacts
( (

View File

@ -83,7 +83,7 @@ if ($db->ok) {
print '<input id="login" name="login" type="text" value="'.(GETPOSTISSET("login") ? GETPOST("login", 'alpha') : (isset($force_install_dolibarrlogin) ? $force_install_dolibarrlogin : '')).'"'.(@$force_install_noedit == 2 && $force_install_dolibarrlogin !== null ? ' disabled' : '').' autofocus></td></tr>'; print '<input id="login" name="login" type="text" value="'.(GETPOSTISSET("login") ? GETPOST("login", 'alpha') : (isset($force_install_dolibarrlogin) ? $force_install_dolibarrlogin : '')).'"'.(@$force_install_noedit == 2 && $force_install_dolibarrlogin !== null ? ' disabled' : '').' autofocus></td></tr>';
print '<tr><td><label for="pass">'.$langs->trans("Password").' :</label></td><td>'; print '<tr><td><label for="pass">'.$langs->trans("Password").' :</label></td><td>';
print '<input type="password" id="pass" name="pass" autocomplete="new-password" minlength="8"></td></tr>'; print '<input type="password" id="pass" name="pass" autocomplete="new-password" minlength="8"></td></tr>';
print '<tr><td><label for="pass_verif">'.$langs->trans("PasswordAgain").' :</label></td><td>'; print '<tr><td><label for="pass_verif">'.$langs->trans("PasswordRetype").' :</label></td><td>';
print '<input type="password" id="pass_verif" name="pass_verif" autocomplete="new-password" minlength="8"></td></tr>'; print '<input type="password" id="pass_verif" name="pass_verif" autocomplete="new-password" minlength="8"></td></tr>';
print '</table>'; print '</table>';

View File

@ -99,13 +99,12 @@ if (!$sortorder) {
$search_all = GETPOST('search_all', 'alphanohtml'); $search_all = GETPOST('search_all', 'alphanohtml');
$search = array(); $search = array();
foreach ($object->fields as $key => $val) { foreach ($object->fields as $key => $val) {
if (GETPOST('search_'.$key, 'alpha') !== '') { if ($key == "lang") {
if ($key == "lang") { $search[$key] = GETPOST('search_'.$key, 'alpha')!='0' ? GETPOST('search_'.$key, 'alpha') : '';
$search[$key] = GETPOST('search_'.$key, 'alpha')!='0' ? GETPOST('search_'.$key, 'alpha') : ''; } else {
} else { $search[$key] = GETPOST('search_'.$key, 'alpha');
$search[$key] = GETPOST('search_'.$key, 'alpha');
}
} }
if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) {
$search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int'));
$search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int'));

View File

@ -1,2 +1,5 @@
# Dolibarr language file - Source file is en_US - accountancy # Dolibarr language file - Source file is en_US - accountancy
MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s Selectformat=حدد حجم الملف
ACCOUNTING_EXPORT_FORMAT=حدد حجم الملف
BackToChartofaccounts=مخطط إرجاع الحسابات
CountriesNotInEEC=بلدان غير أعضاء في المجموعة اﻹقتصادية أﻷوروبية

View File

@ -37,8 +37,8 @@ OtherInfo=معلومات اخرى
DeleteCptCategory=إزالة حساب المحاسبة من المجموعة DeleteCptCategory=إزالة حساب المحاسبة من المجموعة
ConfirmDeleteCptCategory=هل أنت متأكد أنك تريد إزالة هذا الحساب المحاسبي من مجموعة حسابات المحاسبة؟ ConfirmDeleteCptCategory=هل أنت متأكد أنك تريد إزالة هذا الحساب المحاسبي من مجموعة حسابات المحاسبة؟
JournalizationInLedgerStatus=حالة اليوميات JournalizationInLedgerStatus=حالة اليوميات
AlreadyInGeneralLedger=Already transferred to accounting journals and ledger AlreadyInGeneralLedger=تم نقلها بالفعل إلى دفاتر اليومية المحاسبية ودفتر الأستاذ
NotYetInGeneralLedger=Not yet transferred to accouting journals and ledger NotYetInGeneralLedger=لم يتم نقلها بعد إلى المجلات ودفتر الأستاذ
GroupIsEmptyCheckSetup=المجموعة فارغة ، تحقق من إعداد مجموعة المحاسبة المخصصة GroupIsEmptyCheckSetup=المجموعة فارغة ، تحقق من إعداد مجموعة المحاسبة المخصصة
DetailByAccount=إظهار التفاصيل حسب الحساب DetailByAccount=إظهار التفاصيل حسب الحساب
AccountWithNonZeroValues=الحسابات ذات القيم غير الصفرية AccountWithNonZeroValues=الحسابات ذات القيم غير الصفرية
@ -62,24 +62,24 @@ MainAccountForSubscriptionPaymentNotDefined=حساب المحاسبة الرئي
AccountancyArea=منطقة المحاسبة AccountancyArea=منطقة المحاسبة
AccountancyAreaDescIntro=استخدام وحدة المحاسبة تم في عدة خطوات: AccountancyAreaDescIntro=استخدام وحدة المحاسبة تم في عدة خطوات:
AccountancyAreaDescActionOnce=عادة ما يتم تنفيذ الإجراءات التالية مرة واحدة فقط ، أو مرة واحدة في السنة. AccountancyAreaDescActionOnce=عادة ما يتم تنفيذ الإجراءات التالية مرة واحدة فقط ، أو مرة واحدة في السنة.
AccountancyAreaDescActionOnceBis=Next steps should be done to save you time in future by suggesting you automaticaly the correct default accounting account when transferring data in accounting AccountancyAreaDescActionOnceBis=يجب القيام بالخطوات التالية لتوفير الوقت في المستقبل من خلال اقتراح حساب المحاسبة الافتراضي الصحيح تلقائيًا عند نقل البيانات في المحاسبة
AccountancyAreaDescActionFreq=يتم تنفيذ الإجراءات التالية عادةً كل شهر أو أسبوع أو كل يوم للشركات الكبيرة جدًا . AccountancyAreaDescActionFreq=يتم تنفيذ الإجراءات التالية عادةً كل شهر أو أسبوع أو كل يوم للشركات الكبيرة جدًا .
AccountancyAreaDescJournalSetup=STEP %s: Check content of your journal list from menu %s AccountancyAreaDescJournalSetup=الخطوة %s: تحقق من محتوى قائمة مجلاتك من القائمة %s
AccountancyAreaDescChartModel=الخطوة %s: تحقق من وجود نموذج لمخطط الحساب أو قم بإنشاء نموذج من القائمة %s AccountancyAreaDescChartModel=الخطوة %s: تحقق من وجود نموذج لمخطط الحساب أو قم بإنشاء نموذج من القائمة %s
AccountancyAreaDescChart=الخطوة %s : حدد و / أو أكمل مخطط حسابك من القائمة %s AccountancyAreaDescChart=الخطوة %s : حدد و / أو أكمل مخطط حسابك من القائمة %s
AccountancyAreaDescVat=الخطوة %s: تحديد حسابات المحاسبة لكل معدلات ضريبة القيمة المضافة. لهذا ، استخدم إدخال القائمة %s. AccountancyAreaDescVat=الخطوة %s: تحديد حسابات المحاسبة لكل معدلات ضريبة القيمة المضافة. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescDefault=الخطوة %s: تحديد حسابات المحاسبة الافتراضية. لهذا ، استخدم إدخال القائمة %s. AccountancyAreaDescDefault=الخطوة %s: تحديد حسابات المحاسبة الافتراضية. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescExpenseReport=STEP %s: Define default accounting accounts for each type of Expense report. For this, use the menu entry %s. AccountancyAreaDescExpenseReport=الخطوة %s: تحديد حسابات المحاسبة الافتراضية لكل نوع من أنواع تقرير المصاريف. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescSal=الخطوة %s: تحديد حسابات المحاسبة الافتراضية لدفع الرواتب. لهذا ، استخدم إدخال القائمة %s. AccountancyAreaDescSal=الخطوة %s: تحديد حسابات المحاسبة الافتراضية لدفع الرواتب. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescContrib=STEP %s: Define default accounting accounts for Taxes (special expenses). For this, use the menu entry %s. AccountancyAreaDescContrib=الخطوة %s: تحديد حسابات المحاسبة الافتراضية للضرائب (نفقات خاصة). لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescDonation=الخطوة %s: تحديد حسابات المحاسبة الافتراضية للتبرع. لهذا ، استخدم إدخال القائمة %s. AccountancyAreaDescDonation=الخطوة %s: تحديد حسابات المحاسبة الافتراضية للتبرع. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescSubscription=الخطوة %s: تحديد حسابات المحاسبة الافتراضية لاشتراك الأعضاء. لهذا ، استخدم إدخال القائمة %s. AccountancyAreaDescSubscription=الخطوة %s: تحديد حسابات المحاسبة الافتراضية لاشتراك الأعضاء. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescMisc=الخطوة %s: تحديد الحساب الافتراضي الإلزامي وحسابات المحاسبة الافتراضية للمعاملات المتنوعة. لهذا ، استخدم إدخال القائمة %s. AccountancyAreaDescMisc=الخطوة %s: تحديد الحساب الافتراضي الإلزامي وحسابات المحاسبة الافتراضية للمعاملات المتنوعة. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescLoan=الخطوة %s: تحديد حسابات المحاسبة الافتراضية للقروض. لهذا ، استخدم إدخال القائمة %s. AccountancyAreaDescLoan=الخطوة %s: تحديد حسابات المحاسبة الافتراضية للقروض. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescBank=الخطوة %s: تحديد الحسابات المحاسبية ورمز دفتر اليومية لكل حساب بنكي والحسابات المالية. لهذا ، استخدم إدخال القائمة %s. AccountancyAreaDescBank=الخطوة %s: تحديد الحسابات المحاسبية ورمز دفتر اليومية لكل حساب بنكي والحسابات المالية. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescProd=STEP %s: Define accounting accounts on your Products/Services. For this, use the menu entry %s. AccountancyAreaDescProd=الخطوة %s: تحديد حسابات المحاسبة لمنتجاتك / خدماتك. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescBind=الخطوة %s: تحقق من الربط بين سطور %s الحالية وحساب المحاسبة ، لتمكين التطبيق من تسجيل المعاملات في دفتر الأستاذ بنقرة واحدة. إكمال الارتباطات المفقودة. لهذا ، استخدم إدخال القائمة %s. AccountancyAreaDescBind=الخطوة %s: تحقق من الربط بين سطور %s الحالية وحساب المحاسبة ، لتمكين التطبيق من تسجيل المعاملات في دفتر الأستاذ بنقرة واحدة. إكمال الارتباطات المفقودة. لهذا ، استخدم إدخال القائمة %s.
AccountancyAreaDescWriteRecords=الخطوة %s: اكتب المعاملات في دفتر الأستاذ. لهذا ، انتقل إلى القائمة <strong> %s </strong> ، وانقر فوق الزر <strong> %s </strong>. AccountancyAreaDescWriteRecords=الخطوة %s: اكتب المعاملات في دفتر الأستاذ. لهذا ، انتقل إلى القائمة <strong> %s </strong> ، وانقر فوق الزر <strong> %s </strong>.
@ -112,7 +112,7 @@ MenuAccountancyClosure=اغلاق
MenuAccountancyValidationMovements=اعتماد الحركات MenuAccountancyValidationMovements=اعتماد الحركات
ProductsBinding=حسابات المنتجات ProductsBinding=حسابات المنتجات
TransferInAccounting=التحويل في المحاسبة TransferInAccounting=التحويل في المحاسبة
RegistrationInAccounting=Recording in accounting RegistrationInAccounting=التسجيل في المحاسبة
Binding=ربط للحسابات Binding=ربط للحسابات
CustomersVentilation=ربط فاتورة العميل CustomersVentilation=ربط فاتورة العميل
SuppliersVentilation=ربط فاتورة المورد SuppliersVentilation=ربط فاتورة المورد
@ -120,7 +120,7 @@ ExpenseReportsVentilation=ربط تقرير المصاريف
CreateMvts=إنشاء معاملة جديدة CreateMvts=إنشاء معاملة جديدة
UpdateMvts=تعديل معاملة UpdateMvts=تعديل معاملة
ValidTransaction=اعتماد المعاملة ValidTransaction=اعتماد المعاملة
WriteBookKeeping=Record transactions in accounting WriteBookKeeping=تسجيل المعاملات في المحاسبة
Bookkeeping=دفتر حسابات Bookkeeping=دفتر حسابات
BookkeepingSubAccount=حساب استاذ فرعي BookkeepingSubAccount=حساب استاذ فرعي
AccountBalance=رصيد الحساب AccountBalance=رصيد الحساب
@ -132,7 +132,7 @@ InvoiceLinesDone=بنود الفواتير المقيدة
ExpenseReportLines=بنود تقارير المصاريف المراد ربطها ExpenseReportLines=بنود تقارير المصاريف المراد ربطها
ExpenseReportLinesDone=البنود المقيدة لتقارير المصروفات ExpenseReportLinesDone=البنود المقيدة لتقارير المصروفات
IntoAccount=ربط البند مع حساب المحاسبة IntoAccount=ربط البند مع حساب المحاسبة
TotalForAccount=Total accounting account TotalForAccount=حساب المحاسبة الإجمالي
Ventilate=ربط Ventilate=ربط
@ -156,12 +156,12 @@ ACCOUNTING_LENGTH_DESCRIPTION=اقتطاع وصف المنتج والخدمات
ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=اقتطاع نموذج وصف حساب المنتجات والخدمات في القوائم بعد حرف x (الأفضل = 50) ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=اقتطاع نموذج وصف حساب المنتجات والخدمات في القوائم بعد حرف x (الأفضل = 50)
ACCOUNTING_LENGTH_GACCOUNT=طول حسابات المحاسبة العامة (إذا قمت بتعيين القيمة إلى 6 هنا ، فسيظهر الحساب "706" مثل "706000" على الشاشة) ACCOUNTING_LENGTH_GACCOUNT=طول حسابات المحاسبة العامة (إذا قمت بتعيين القيمة إلى 6 هنا ، فسيظهر الحساب "706" مثل "706000" على الشاشة)
ACCOUNTING_LENGTH_AACCOUNT=طول حسابات الطرف الثالث المحاسبية (إذا قمت بتعيين القيمة إلى 6 هنا ، فسيظهر الحساب "401" مثل "401000" على الشاشة) ACCOUNTING_LENGTH_AACCOUNT=طول حسابات الطرف الثالث المحاسبية (إذا قمت بتعيين القيمة إلى 6 هنا ، فسيظهر الحساب "401" مثل "401000" على الشاشة)
ACCOUNTING_MANAGE_ZERO=السماح بإدارة عدد مختلف من الأصفار في نهاية الحساب المحاسبي. تحتاجه بعض الدول (مثل سويسرا). إذا تم الضبط على إيقاف (افتراضي) ، يمكنك تعيين المعاملين التاليتين لتطلب من التطبيق إضافة أصفار افتراضية. ACCOUNTING_MANAGE_ZERO=السماح بإدارة عدد مختلف من الأصفار في نهاية الحساب المحاسبي. تحتاجه بعض الدول (مثل سويسرا). إذا تم الضبط على إيقاف (افتراضي) ، يمكنك برمجة اﻹعدادين التاليين لتطلب من التطبيق إضافة أصفار افتراضية.
BANK_DISABLE_DIRECT_INPUT=تعطيل التسجيل المباشر للمعاملة في الحساب المصرفي BANK_DISABLE_DIRECT_INPUT=تعطيل التسجيل المباشر للمعاملة في الحساب المصرفي
ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=تفعيل تصدير المسودة الى دفتر اليومية ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=إتاحة تصدير المسودة الى الدفتر اليومي\n
ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) ACCOUNTANCY_COMBO_FOR_AUX=تمكين قائمة التحرير والسرد للحساب الفرعي (قد يكون بطيئًا إذا كان لديك الكثير من الأطراف الثالثة ، أو كسر القدرة على البحث عن جزء من القيمة)
ACCOUNTING_DATE_START_BINDING=تحديد موعد لبدء الربط والتحويل في المحاسبة. بعد هذا التاريخ ، لن يتم تحويل المعاملات إلى المحاسبة. ACCOUNTING_DATE_START_BINDING=تحديد موعد لبدء الربط والتحويل في المحاسبة. بعد هذا التاريخ ، لن يتم تحويل المعاملات إلى المحاسبة.
ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=في نقل المحاسبة ، حدد فترة العرض بشكل افتراضي ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=في تحويل المحاسبة ، ما هي الفترة المحددة افتراضيا
ACCOUNTING_SELL_JOURNAL=دفتر البيع اليومي ACCOUNTING_SELL_JOURNAL=دفتر البيع اليومي
ACCOUNTING_PURCHASE_JOURNAL=دفتر الشراء اليومي ACCOUNTING_PURCHASE_JOURNAL=دفتر الشراء اليومي
@ -182,7 +182,7 @@ DONATION_ACCOUNTINGACCOUNT=حساب تسجيل التبرعات
ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=حساب تسجيل الاشتراكات ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=حساب تسجيل الاشتراكات
ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=حساب افتراضي لتسجيل إيداع العميل ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=حساب افتراضي لتسجيل إيداع العميل
UseAuxiliaryAccountOnCustomerDeposit=Use sub-accounts on customer deposit lines UseAuxiliaryAccountOnCustomerDeposit=تخزين حساب العميل كحساب فردي في دفتر الأستاذ الفرعي لخطوط الدفعات المقدمة (إذا تم تعطيله ، فسيظل الحساب الفردي لبنود الدَفعة المقدمة فارغًا)
ACCOUNTING_PRODUCT_BUY_ACCOUNT=حساب افتراضي للمنتجات المشتراة (يستخدم إذا لم يتم تحديده في ورقة المنتج) ACCOUNTING_PRODUCT_BUY_ACCOUNT=حساب افتراضي للمنتجات المشتراة (يستخدم إذا لم يتم تحديده في ورقة المنتج)
ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=حساب افتراضي للمنتجات المشتراة في الاتحاد الاوروبي (يستخدم إذا لم يتم تحديده في ورقة المنتج) ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=حساب افتراضي للمنتجات المشتراة في الاتحاد الاوروبي (يستخدم إذا لم يتم تحديده في ورقة المنتج)
@ -193,7 +193,7 @@ ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=حساب افتراضي للمنتجات
ACCOUNTING_SERVICE_BUY_ACCOUNT=حساب افتراضي للخدمات المشتراة (يُستخدم إذا لم يتم تحديده في ورقة الخدمة) ACCOUNTING_SERVICE_BUY_ACCOUNT=حساب افتراضي للخدمات المشتراة (يُستخدم إذا لم يتم تحديده في ورقة الخدمة)
ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=حساب افتراضي للخدمات المشتراة في الاتحاد الاوروبي (يستخدم إذا لم يتم تحديده في ورقة الخدمة) ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=حساب افتراضي للخدمات المشتراة في الاتحاد الاوروبي (يستخدم إذا لم يتم تحديده في ورقة الخدمة)
ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=حساب افتراضي للخدمات المشتراة والمستوردة من الاتحاد الاوروبي (تُستخدم إذا لم يتم تحديدها في ورقة الخدمة) ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=حساب افتراضي للخدمات المشتراة والمستوردة من المجموعة اﻹقتصادية اﻷوروبية(تُستخدم إذا لم يتم تحديدها في ورقة الخدمة)
ACCOUNTING_SERVICE_SOLD_ACCOUNT=حساب افتراضي للخدمات المباعة (يُستخدم إذا لم يتم تحديده في ورقة الخدمة) ACCOUNTING_SERVICE_SOLD_ACCOUNT=حساب افتراضي للخدمات المباعة (يُستخدم إذا لم يتم تحديده في ورقة الخدمة)
ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=حساب افتراضي للخدمات المباعة في الاتحاد الاوروبي (يُستخدم إذا لم يتم تحديده في ورقة الخدمة) ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=حساب افتراضي للخدمات المباعة في الاتحاد الاوروبي (يُستخدم إذا لم يتم تحديده في ورقة الخدمة)
ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=حساب افتراضي للخدمات المباعة والمصدرة من الاتحاد الاوروبي (تُستخدم إذا لم يتم تحديدها في ورقة الخدمة) ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=حساب افتراضي للخدمات المباعة والمصدرة من الاتحاد الاوروبي (تُستخدم إذا لم يتم تحديدها في ورقة الخدمة)
@ -203,29 +203,29 @@ Docdate=التاريخ
Docref=مرجع Docref=مرجع
LabelAccount=Label account LabelAccount=Label account
LabelOperation=Label operation LabelOperation=Label operation
Sens=الاتجاه Sens=الادارة
AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received<br>For an accounting account of a supplier, use Debit to record a payment you made AccountingDirectionHelp=بالنسبة لحساب محاسبي لعميل ، استخدم الائتمان لتسجيل دفعة تلقيتها <br> بالنسبة لحساب محاسبي لمورد ، استخدم الخصم لتسجيل دفعة قمت بها
LetteringCode=Lettering code LetteringCode=Lettering code
Lettering=Lettering Lettering=Lettering
Codejournal=دفتر اليومية Codejournal=دفتر اليومية
JournalLabel=اسم دفتر اليومية JournalLabel=اسم دفتر اليومية
NumPiece=Piece number NumPiece=رقم القطعة
TransactionNumShort=رقم. العملية TransactionNumShort=رقم. العملية
AccountingCategory=Custom group AccountingCategory=مجموعة مخصصة
GroupByAccountAccounting=تجميع حسب حساب دفتر الأستاذ العام GroupByAccountAccounting=تجميع حسب حساب دفتر الأستاذ العام
GroupBySubAccountAccounting=تجميع حسب حساب دفتر الأستاذ الفرعي GroupBySubAccountAccounting=تجميع حسب حساب دفتر الأستاذ الفرعي
AccountingAccountGroupsDesc=يمكنك هنا تحديد بعض مجموعات الحساب. سيتم استخدامها لتقارير المحاسبة الشخصية. AccountingAccountGroupsDesc=يمكنك هنا تحديد بعض مجموعات الحساب. سيتم استخدامها لتقارير المحاسبة الشخصية.
ByAccounts=حسب الحسابات ByAccounts=حسب الحسابات
ByPredefinedAccountGroups=من خلال مجموعات محددة مسبقًا ByPredefinedAccountGroups=من خلال مجموعات محددة مسبقًا
ByPersonalizedAccountGroups=بواسطة مجموعات شخصية ByPersonalizedAccountGroups=بواسطة مجموعات شخصية
ByYear=بحلول العام ByYear=سنويا
NotMatch=Not Set NotMatch=Not Set
DeleteMvt=Delete some lines from accounting DeleteMvt=حذف بعض البنود من المحاسبة
DelMonth=شهر للحذف DelMonth=شهر للحذف
DelYear=السنة للحذف DelYear=السنة للحذف
DelJournal=دفتر يومية للحذف DelJournal=دفتر يومية للحذف
ConfirmDeleteMvt=This will delete all lines in accountancy for the year/month and/or for a specific journal (At least one criterion is required). You will have to reuse the feature '%s' to have the deleted record back in the ledger. ConfirmDeleteMvt=سيؤدي هذا إلى حذف جميع سطور المحاسبة للسنة / الشهر و / أو لمجلة معينة (مطلوب معيار واحد على الأقل). سيتعين عليك إعادة استخدام الميزة "%s" لإعادة السجل المحذوف إلى دفتر الأستاذ.
ConfirmDeleteMvtPartial=This will delete the transaction from the accounting (all lines related to the same transaction will be deleted) ConfirmDeleteMvtPartial=سيؤدي هذا إلى حذف المعاملة من المحاسبة (سيتم حذف جميع الأسطر المتعلقة بنفس المعاملة)
FinanceJournal=دفتر المالية اليومي FinanceJournal=دفتر المالية اليومي
ExpenseReportsJournal=دفتر تقارير المصاريف ExpenseReportsJournal=دفتر تقارير المصاريف
DescFinanceJournal=دفتر المالية اليومي المتضمن لجميع الدفعات عن طريق الحساب المصرفي DescFinanceJournal=دفتر المالية اليومي المتضمن لجميع الدفعات عن طريق الحساب المصرفي
@ -247,9 +247,9 @@ DescThirdPartyReport=راجع هنا قائمة العملاء والموردي
ListAccounts=قائمة الحسابات المحاسبية ListAccounts=قائمة الحسابات المحاسبية
UnknownAccountForThirdparty=حساب طرف ثالث غير معروف. سوف نستخدم %s UnknownAccountForThirdparty=حساب طرف ثالث غير معروف. سوف نستخدم %s
UnknownAccountForThirdpartyBlocking=حساب طرف ثالث غير معروف. خطأ في المنع UnknownAccountForThirdpartyBlocking=حساب طرف ثالث غير معروف. خطأ في المنع
ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknown=حساب دفتر الأستاذ الفرعي غير محدد أو الطرف الثالث أو المستخدم غير معروف. سوف نستخدم %s
ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=طرف ثالث غير معروف ودفتر الأستاذ الفرعي غير محدد في الدفعة. سنبقي قيمة حساب دفتر الأستاذ الفرعي فارغة. ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=طرف ثالث غير معروف ودفتر الأستاذ الفرعي غير محدد في الدفعة. سنبقي قيمة حساب دفتر الأستاذ الفرعي فارغة.
ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=حساب دفتر الأستاذ الفرعي غير محدد أو الطرف الثالث أو المستخدم غير معروف. خطأ في المنع.
UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=حساب طرف ثالث وحساب قيد الانتظار غير معرّفين. خطأ في المنع UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=حساب طرف ثالث وحساب قيد الانتظار غير معرّفين. خطأ في المنع
PaymentsNotLinkedToProduct=الدفع غير مرتبط بأي منتج / خدمة PaymentsNotLinkedToProduct=الدفع غير مرتبط بأي منتج / خدمة
OpeningBalance=الرصيد الافتتاحي OpeningBalance=الرصيد الافتتاحي
@ -279,31 +279,31 @@ DescVentilExpenseReportMore=إذا قمت بإعداد حساب على نوع ب
DescVentilDoneExpenseReport=راجع هنا قائمة بنود تقارير المصروفات وحساب رسومها DescVentilDoneExpenseReport=راجع هنا قائمة بنود تقارير المصروفات وحساب رسومها
Closure=الإغلاق السنوي Closure=الإغلاق السنوي
DescClosure=Consult here the number of movements by month who are not yet validated & locked DescClosure=Consult here the number of movements by month not yet validated & locked
OverviewOfMovementsNotValidated=Overview of movements not validated and locked OverviewOfMovementsNotValidated=نظرة عامة على الحركات التي لم يتم التحقق من صحتها وإغلاقها
AllMovementsWereRecordedAsValidated=All movements were recorded as validated and locked AllMovementsWereRecordedAsValidated=تم تسجيل جميع الحركات على أنها محققة ومغلقة
NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated and locked NotAllMovementsCouldBeRecordedAsValidated=لا يمكن تسجيل جميع الحركات على أنها تم التحقق من صحتها وقفلها
ValidateMovements=Validate and lock record... ValidateMovements=التحقق من صحة السجل وقفله ...
DescValidateMovements=سيتم حظر أي تعديل أو حذف للكتابة والحروف. يجب اعتماد جميع الإدخالات الخاصة بالتمرين وإلا فلن يكون الإغلاق ممكنًا DescValidateMovements=سيتم حظر أي تعديل أو حذف للكتابة والحروف. يجب اعتماد جميع الإدخالات الخاصة بالتمرين وإلا فلن يكون الإغلاق ممكنًا
ValidateHistory=ربط تلقائي ValidateHistory=ربط تلقائي
AutomaticBindingDone=Automatic bindings done (%s) - Automatic binding not possible for some record (%s) AutomaticBindingDone=تم إجراء عمليات ربط تلقائية (%s) - الربط التلقائي غير ممكن لبعض السجلات (%s)
ErrorAccountancyCodeIsAlreadyUse=خطأ، لا يمكنك حذف هذا الحساب المحاسبي لأنه مستخدم ErrorAccountancyCodeIsAlreadyUse=خطأ، لا يمكنك حذف هذا الحساب المحاسبي لأنه مستخدم
MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s & Credit = %s MvtNotCorrectlyBalanced=الحركة غير متوازنة بشكل صحيح. الخصم = %s والائتمان = %s
Balancing=موازنة Balancing=موازنة
FicheVentilation=بطاقة مرتبطة FicheVentilation=بطاقة مرتبطة
GeneralLedgerIsWritten=المعاملات مكتوبة في دفتر الأستاذ GeneralLedgerIsWritten=المعاملات مكتوبة في دفتر الأستاذ
GeneralLedgerSomeRecordWasNotRecorded=لا يمكن تسجيل بعض المعاملات. إذا لم تكن هناك رسالة خطأ أخرى ، فربما يكون ذلك بسبب تسجيلها في دفتر اليومية بالفعل. GeneralLedgerSomeRecordWasNotRecorded=لا يمكن تسجيل بعض المعاملات. إذا لم تكن هناك رسالة خطأ أخرى ، فربما يكون ذلك بسبب تسجيلها في دفتر اليومية بالفعل.
NoNewRecordSaved=No more record to transfer NoNewRecordSaved=لا يوجد المزيد من السجلات لنقلها
ListOfProductsWithoutAccountingAccount=قائمة المنتجات غير مرتبطة بأي حساب ListOfProductsWithoutAccountingAccount=قائمة المنتجات غير مرتبطة بأي حساب
ChangeBinding=تغيير الربط ChangeBinding=تغيير الربط
Accounted=حسب في دفتر الأستاذ Accounted=حسب في دفتر الأستاذ
NotYetAccounted=Not yet transferred to accounting NotYetAccounted=لم يتم تحويلها بعد إلى المحاسبة
ShowTutorial=عرض البرنامج التعليمي ShowTutorial=عرض البرنامج التعليمي
NotReconciled=لم يتم تسويتة NotReconciled=لم يتم تسويتة
WarningRecordWithoutSubledgerAreExcluded=Warning, all lines without subledger account defined are filtered and excluded from this view WarningRecordWithoutSubledgerAreExcluded=تحذير ، كل الأسطر التي لم يتم تحديد حساب دفتر الأستاذ الفرعي تتم تصفيتها واستبعادها من طريقة العرض هذه
AccountRemovedFromCurrentChartOfAccount=Accounting account that does not exist in the current chart of accounts AccountRemovedFromCurrentChartOfAccount=حساب محاسبي غير موجود في مخطط الحسابات الحالي
## Admin ## Admin
BindingOptions=خيارات الربط BindingOptions=خيارات الربط
@ -320,7 +320,7 @@ AccountingJournalType2=مبيعات
AccountingJournalType3=مشتريات AccountingJournalType3=مشتريات
AccountingJournalType4=بنك AccountingJournalType4=بنك
AccountingJournalType5=تقرير مصروفات AccountingJournalType5=تقرير مصروفات
AccountingJournalType8=المخزون AccountingJournalType8=الجرد
AccountingJournalType9=Has-new AccountingJournalType9=Has-new
ErrorAccountingJournalIsAlreadyUse=هذه الدفتر مستخدم بالفعل ErrorAccountingJournalIsAlreadyUse=هذه الدفتر مستخدم بالفعل
AccountingAccountForSalesTaxAreDefinedInto=ملاحظة: تم تعريف حساب ضريبة المبيعات في القائمة <b> %s </b> - <b> %s </b> AccountingAccountForSalesTaxAreDefinedInto=ملاحظة: تم تعريف حساب ضريبة المبيعات في القائمة <b> %s </b> - <b> %s </b>
@ -331,10 +331,10 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=تعطيل الربط والتحويل
ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=تعطيل الربط والتحويل في المحاسبة على تقارير المصروفات (لن يتم أخذ تقارير المصروفات في الاعتبار في المحاسبة) ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=تعطيل الربط والتحويل في المحاسبة على تقارير المصروفات (لن يتم أخذ تقارير المصروفات في الاعتبار في المحاسبة)
## Export ## Export
NotifiedExportDate=Flag exported lines as Exported <span class="warning">(to modify a line, you will need to delete the whole transaction and re-transfert it into accounting)</span> NotifiedExportDate=ضع علامة على الخطوط المصدرة كـ <span class="warning"> (لتعديل سطر ، ستحتاج إلى حذف المعاملة بالكامل وإعادة تحويلها إلى المحاسبة) </span>
NotifiedValidationDate=Validate and Lock the exported entries <span class="warning">(same effect than the "Closure" feature, modification and deletion of the lines will DEFINITELY not be possible)</span> NotifiedValidationDate=Validate and Lock the exported entries <span class="warning">(same effect than the "Closure" feature, modification and deletion of the lines will DEFINITELY not be possible)</span>
DateValidationAndLock=Date validation and lock DateValidationAndLock=التحقق من صحة التاريخ والقفل
ConfirmExportFile=Confirmation of the generation of the accounting export file ? ConfirmExportFile=تأكيد إنشاء ملف محاسبي تصدير؟
ExportDraftJournal=تصدير مسودة دفتر اليومية ExportDraftJournal=تصدير مسودة دفتر اليومية
Modelcsv=نموذج التصدير Modelcsv=نموذج التصدير
Selectmodelcsv=تحديد نموذج للتصدير Selectmodelcsv=تحديد نموذج للتصدير
@ -342,11 +342,11 @@ Modelcsv_normal=تصدير كلاسيكي
Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_CEGID=Export for CEGID Expert Comptabilité
Modelcsv_COALA=Export for Sage Coala Modelcsv_COALA=Export for Sage Coala
Modelcsv_bob50=Export for Sage BOB 50 Modelcsv_bob50=Export for Sage BOB 50
Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_ciel=تصدير لـ Sage50 أو Ciel Compta أو Compta Evo. (تنسيق XIMPORT)
Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_quadratus=Export for Quadratus QuadraCompta
Modelcsv_ebp=Export for EBP Modelcsv_ebp=Export for EBP
Modelcsv_cogilog=Export for Cogilog Modelcsv_cogilog=Export for Cogilog
Modelcsv_agiris=Export for Agiris Isacompta Modelcsv_agiris=تصدير إلى Agiris Isacompta
Modelcsv_LDCompta=Export for LD Compta (v9) (Test) Modelcsv_LDCompta=Export for LD Compta (v9) (Test)
Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) Modelcsv_LDCompta10=Export for LD Compta (v10 & higher)
Modelcsv_openconcerto=Export for OpenConcerto (Test) Modelcsv_openconcerto=Export for OpenConcerto (Test)
@ -354,10 +354,10 @@ Modelcsv_configurable=Export CSV Configurable
Modelcsv_FEC=Export FEC Modelcsv_FEC=Export FEC
Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed) Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed)
Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
Modelcsv_winfic=Export for Winfic - eWinfic - WinSis Compta Modelcsv_winfic=تصدير لـ Winfic - eWinfic - WinSis Compta
Modelcsv_Gestinumv3=Export for Gestinum (v3) Modelcsv_Gestinumv3=Export for Gestinum (v3)
Modelcsv_Gestinumv5=Export for Gestinum (v5) Modelcsv_Gestinumv5=تصدير لـ Gestinum (v5)
Modelcsv_charlemagne=Export for Aplim Charlemagne Modelcsv_charlemagne=تصدير لأبليم شارلمان
ChartofaccountsId=معرف دليل الحسابات ChartofaccountsId=معرف دليل الحسابات
## Tools - Init accounting account on product / service ## Tools - Init accounting account on product / service
@ -390,27 +390,27 @@ SaleExport=بيع تصدير
SaleEEC=بيع في الاتحاد الاوروبي SaleEEC=بيع في الاتحاد الاوروبي
SaleEECWithVAT=البيع في EEC مع ضريبة القيمة المضافة ليست فارغة ، لذلك نفترض أن هذا ليس بيعًا داخل الاتحاد والحساب المقترح هو حساب المنتج القياسي. SaleEECWithVAT=البيع في EEC مع ضريبة القيمة المضافة ليست فارغة ، لذلك نفترض أن هذا ليس بيعًا داخل الاتحاد والحساب المقترح هو حساب المنتج القياسي.
SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed. SaleEECWithoutVATNumber=Sale in EEC with no VAT but the VAT ID of thirdparty is not defined. We fallback on the product account for standard sales. You can fix the VAT ID of thirdparty or the product account if needed.
ForbiddenTransactionAlreadyExported=Forbidden: The transaction has been validated and/or exported. ForbiddenTransactionAlreadyExported=ممنوع: تم التحقق من صحة المعاملة و / أو تصديرها.
ForbiddenTransactionAlreadyValidated=Forbidden: The transaction has been validated. ForbiddenTransactionAlreadyValidated=ممنوع: تم التحقق من صحة المعاملة.
## Dictionary ## Dictionary
Range=نطاق الحساب Range=نطاق الحساب
Calculated=تم حسابه Calculated=تم حسابه
Formula=معادلة Formula=معادلة
## Reconcile ## Reconcile
Unlettering=Unreconcile Unlettering=غير قابل للتوفيق
AccountancyNoLetteringModified=No reconcile modified AccountancyNoLetteringModified=لم يتم تعديل تسوية
AccountancyOneLetteringModifiedSuccessfully=One reconcile successfully modified AccountancyOneLetteringModifiedSuccessfully=تم تعديل أحد التوفيق بنجاح
AccountancyLetteringModifiedSuccessfully=%s reconcile successfully modified AccountancyLetteringModifiedSuccessfully=تعديل %s بنجاح
AccountancyNoUnletteringModified=No unreconcile modified AccountancyNoUnletteringModified=لم يتم تعديل عدم التوفيق بينها
AccountancyOneUnletteringModifiedSuccessfully=One unreconcile successfully modified AccountancyOneUnletteringModifiedSuccessfully=تم تعديل أحد ملفات التوفيق بنجاح
AccountancyUnletteringModifiedSuccessfully=%s unreconcile successfully modified AccountancyUnletteringModifiedSuccessfully=تم تعديل %s بنجاح
## Confirm box ## Confirm box
ConfirmMassUnlettering=Bulk Unreconcile confirmation ConfirmMassUnlettering=تأكيد مجمّع غير قابل للتسوية
ConfirmMassUnletteringQuestion=Are you sure you want to Unreconcile the %s selected record(s)? ConfirmMassUnletteringQuestion=هل أنت متأكد من أنك تريد إلغاء التوفيق بين التسجيلة (السجلات) المحددة %s؟
ConfirmMassDeleteBookkeepingWriting=تأكيد الحذف الضخم ConfirmMassDeleteBookkeepingWriting=تأكيد الحذف الضخم
ConfirmMassDeleteBookkeepingWritingQuestion=This will delete the transaction from the accounting (all lines related to the same transaction will be deleted) Are you sure you want to delete the %s selected record(s)? ConfirmMassDeleteBookkeepingWritingQuestion=سيؤدي هذا إلى حذف المعاملة من المحاسبة (سيتم حذف جميع الأسطر المتعلقة بنفس المعاملة) هل أنت متأكد من أنك تريد حذف السجل (السجلات) المحددة %s؟
## Error ## Error
SomeMandatoryStepsOfSetupWereNotDone=لم يتم تنفيذ بعض خطوات الإعداد الإلزامية ، يرجى إكمالها SomeMandatoryStepsOfSetupWereNotDone=لم يتم تنفيذ بعض خطوات الإعداد الإلزامية ، يرجى إكمالها
@ -423,32 +423,33 @@ NoJournalDefined=لم يتم تحديد دفتر
Binded=البنود مرتبطة Binded=البنود مرتبطة
ToBind=بنود للربط ToBind=بنود للربط
UseMenuToSetBindindManualy=البنود غير مرتبطة بعد ، استخدم القائمة <a href="%s"> %s </a> لإجراء الربط يدويًا UseMenuToSetBindindManualy=البنود غير مرتبطة بعد ، استخدم القائمة <a href="%s"> %s </a> لإجراء الربط يدويًا
SorryThisModuleIsNotCompatibleWithTheExperimentalFeatureOfSituationInvoices=Sorry this module is not compatible with the experimental feature of situation invoices SorryThisModuleIsNotCompatibleWithTheExperimentalFeatureOfSituationInvoices=عذرًا ، هذه الوحدة غير متوافقة مع الميزة التجريبية لفواتير الحالة
AccountancyErrorMismatchLetterCode=Mismatch in reconcile code AccountancyErrorMismatchLetterCode=عدم تطابق في التوفيق بين الكود
AccountancyErrorMismatchBalanceAmount=The balance (%s) is not equal to 0 AccountancyErrorMismatchBalanceAmount=الرصيد (%s) لا يساوي 0
AccountancyErrorLetteringBookkeeping=Errors have occurred concerning the transactions: %s AccountancyErrorLetteringBookkeeping=حدثت أخطاء بخصوص المعاملات: %s
ErrorAccountNumberAlreadyExists=رقم المحاسبة %s موجود بالفعل
## Import ## Import
ImportAccountingEntries=مداخيل حسابية ImportAccountingEntries=مداخيل حسابية
ImportAccountingEntriesFECFormat=Accounting entries - FEC format ImportAccountingEntriesFECFormat=قيود المحاسبة - شكل FEC
FECFormatJournalCode=Code journal (JournalCode) FECFormatJournalCode=مجلة الكود (JournalCode)
FECFormatJournalLabel=Label journal (JournalLib) FECFormatJournalLabel=مجلة التسمية (JournalLib)
FECFormatEntryNum=Piece number (EcritureNum) FECFormatEntryNum=رقم القطعة (EcritureNum)
FECFormatEntryDate=Piece date (EcritureDate) FECFormatEntryDate=تاريخ القطعة (EcritureDate)
FECFormatGeneralAccountNumber=General account number (CompteNum) FECFormatGeneralAccountNumber=رقم الحساب العام (CompteNum)
FECFormatGeneralAccountLabel=General account label (CompteLib) FECFormatGeneralAccountLabel=تصنيف الحساب العام (CompteLib)
FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) FECFormatSubledgerAccountNumber=رقم حساب دفتر الأستاذ الفرعي (CompAuxNum)
FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) FECFormatSubledgerAccountLabel=رقم حساب دفتر الأستاذ الفرعي (CompAuxLib)
FECFormatPieceRef=Piece ref (PieceRef) FECFormatPieceRef=مرجع القطعة (PieceRef)
FECFormatPieceDate=Piece date creation (PieceDate) FECFormatPieceDate=إنشاء تاريخ القطعة (تاريخ القطعة)
FECFormatLabelOperation=Label operation (EcritureLib) FECFormatLabelOperation=عملية التسمية (EcritureLib)
FECFormatDebit=مدين (مدين) FECFormatDebit=مدين (مدين)
FECFormatCredit=دائن (دائن) FECFormatCredit=دائن (دائن)
FECFormatReconcilableCode=Reconcilable code (EcritureLet) FECFormatReconcilableCode=كود قابل للتوفيق (EcritureLet)
FECFormatReconcilableDate=Reconcilable date (DateLet) FECFormatReconcilableDate=تاريخ قابل للتسوية (DateLet)
FECFormatValidateDate=Piece date validated (ValidDate) FECFormatValidateDate=تم التحقق من تاريخ القطعة (ValidDate)
FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise) FECFormatMulticurrencyAmount=مبلغ متعدد العملات (Montantdevise)
FECFormatMulticurrencyCode=Multicurrency code (Idevise) FECFormatMulticurrencyCode=كود متعدد العملات (ايديفيز)
DateExport=تاريخ التصدير DateExport=تاريخ التصدير
WarningReportNotReliable=تحذير ، هذا التقرير لا يستند إلى دفتر الأستاذ ، لذلك لا يحتوي على معاملة تم تعديلها يدويًا في دفتر الأستاذ. إذا كان تسجيل دفتر اليومية الخاص بك محدثًا ، فسيكون عرض مسك الدفاتر أكثر دقة. WarningReportNotReliable=تحذير ، هذا التقرير لا يستند إلى دفتر الأستاذ ، لذلك لا يحتوي على معاملة تم تعديلها يدويًا في دفتر الأستاذ. إذا كان تسجيل دفتر اليومية الخاص بك محدثًا ، فسيكون عرض مسك الدفاتر أكثر دقة.

File diff suppressed because it is too large Load Diff

View File

@ -31,20 +31,21 @@ ViewWeek=عرض اسبوعي
ViewPerUser=لكل وجهة نظر المستخدم ViewPerUser=لكل وجهة نظر المستخدم
ViewPerType=العرض حسب النوع ViewPerType=العرض حسب النوع
AutoActions= إكمال تلقائي AutoActions= إكمال تلقائي
AgendaAutoActionDesc= Here you may define events which you want Dolibarr to create automatically in Agenda. If nothing is checked, only manual actions will be included in logs and displayed in Agenda. Automatic tracking of business actions done on objects (validation, status change) will not be saved. AgendaAutoActionDesc= هنا يمكنك تحديد الأحداث التي تريد أن ينشئها Dolibarr تلقائيًا في الأجندة. إذا لم يتم تحديد أي شيء ، فسيتم تضمين الإجراءات اليدوية فقط في السجلات وعرضها في الأجندة. لن يتم حفظ التتبع التلقائي لإجراءات العمل التي تتم على الكائنات (التحقق من الصحة ، تغيير الحالة).
AgendaSetupOtherDesc= This page provides options to allow the export of your Dolibarr events into an external calendar (Thunderbird, Google Calendar etc...) AgendaSetupOtherDesc= توفر هذه الصفحة خيارات للسماح بتصدير أحداث Dolibarr إلى تقويم خارجي (Thunderbird وتقويم Google وما إلى ذلك ...)
AgendaExtSitesDesc=تسمح هذه الصفحة بالإعلان عن المصادر الخارجية للتقويمات لرؤية أحداثها في جدول أعمال Dolibarr. AgendaExtSitesDesc=تسمح هذه الصفحة بالإعلان عن المصادر الخارجية للتقويمات لرؤية أحداثها في جدول أعمال Dolibarr.
ActionsEvents=الأحداث التي سيقوم دوليبار بإنشاء أعمال في جدول الأعمال بشكل تلقائي ActionsEvents=الأحداث التي سيقوم دوليبار بإنشاء أعمال في جدول الأعمال بشكل تلقائي
EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. EventRemindersByEmailNotEnabled=لم يتم تمكين تذكيرات الأحداث عبر البريد الإلكتروني في إعداد الوحدة النمطية %s.
##### Agenda event labels ##### ##### Agenda event labels #####
NewCompanyToDolibarr=تم إنشاء الطرف الثالث %s NewCompanyToDolibarr=تم إنشاء الطرف الثالث %s
COMPANY_MODIFYInDolibarr=Third party %s modified COMPANY_MODIFYInDolibarr=الطرف الثالث %s تم تعديله
COMPANY_DELETEInDolibarr=Third party %s deleted COMPANY_DELETEInDolibarr=تم حذف %s الخاص بالطرف الثالث
ContractValidatedInDolibarr=العقد%s تم التأكد من صلاحيته ContractValidatedInDolibarr=العقد%s تم التأكد من صلاحيته
CONTRACT_DELETEInDolibarr=Contract %s deleted CONTRACT_DELETEInDolibarr=تم حذف العقد %s
PropalClosedSignedInDolibarr=الإقتراح%sتم توقعية PropalClosedSignedInDolibarr=الإقتراح%sتم توقعية
PropalClosedRefusedInDolibarr=الإقتراح%s تم رفضة PropalClosedRefusedInDolibarr=الإقتراح%s تم رفضة
PropalValidatedInDolibarr=اقتراح %s التحقق من صحة PropalValidatedInDolibarr=اقتراح %s التحقق من صحة
PropalBackToDraftInDolibarr=الاقتراح %s يعود إلى حالة المسودة
PropalClassifiedBilledInDolibarr=الإقتراح%s تصنف تم دفعة PropalClassifiedBilledInDolibarr=الإقتراح%s تصنف تم دفعة
InvoiceValidatedInDolibarr=تم التحقق من صحة الفاتورة %s InvoiceValidatedInDolibarr=تم التحقق من صحة الفاتورة %s
InvoiceValidatedInDolibarrFromPos=الفاتورة%s تم التأكد من صلاحيتها من نقاط البيع InvoiceValidatedInDolibarrFromPos=الفاتورة%s تم التأكد من صلاحيتها من نقاط البيع
@ -56,16 +57,17 @@ MemberValidatedInDolibarr=العضو%s التأكد من صلاحيته
MemberModifiedInDolibarr=العضو %sتم تعديلة MemberModifiedInDolibarr=العضو %sتم تعديلة
MemberResiliatedInDolibarr=العضو %sتم إنهاؤه MemberResiliatedInDolibarr=العضو %sتم إنهاؤه
MemberDeletedInDolibarr=العضو %s تم حذفة MemberDeletedInDolibarr=العضو %s تم حذفة
MemberSubscriptionAddedInDolibarr=Subscription %s for member %s added MemberSubscriptionAddedInDolibarr=تمت إضافة اشتراك %s للعضو %s
MemberSubscriptionModifiedInDolibarr=Subscription %s for member %s modified MemberSubscriptionModifiedInDolibarr=اشتراك %s للعضو %s معدّل
MemberSubscriptionDeletedInDolibarr=Subscription %s for member %s deleted MemberSubscriptionDeletedInDolibarr=تم حذف الاشتراك %s للعضو %s
ShipmentValidatedInDolibarr=شحنة%s التأكد من صلاحيتها ShipmentValidatedInDolibarr=شحنة%s التأكد من صلاحيتها
ShipmentClassifyClosedInDolibarr=الشحنة %sتم تصنيفها مدفوعة ShipmentClassifyClosedInDolibarr=الشحنة %sتم تصنيفها مدفوعة
ShipmentUnClassifyCloseddInDolibarr=Shipment %s classified re-open ShipmentUnClassifyCloseddInDolibarr=إعادة فتح الشحنة %s المصنفة
ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status ShipmentBackToDraftInDolibarr=تعود الشحنة %s إلى حالة المسودة
ShipmentDeletedInDolibarr=الشحنة%sتم حذفها ShipmentDeletedInDolibarr=الشحنة%sتم حذفها
ShipmentCanceledInDolibarr=Shipment %s canceled ShipmentCanceledInDolibarr=تم إلغاء الشحنة %s
ReceptionValidatedInDolibarr=Reception %s validated ReceptionValidatedInDolibarr=تم التحقق من صحة الاستقبال %s
ReceptionClassifyClosedInDolibarr=الاستقبال %s مصنف مغلق
OrderCreatedInDolibarr=الطلب %s تم إنشاؤة OrderCreatedInDolibarr=الطلب %s تم إنشاؤة
OrderValidatedInDolibarr=الطلب %s تم التحقق منه OrderValidatedInDolibarr=الطلب %s تم التحقق منه
OrderDeliveredInDolibarr=الطلب %s مصنف تم التوصيل OrderDeliveredInDolibarr=الطلب %s مصنف تم التوصيل
@ -74,31 +76,31 @@ OrderBilledInDolibarr=الطلب%s مصنف تم الدفع
OrderApprovedInDolibarr=الطلب %s تم الموافقة علية OrderApprovedInDolibarr=الطلب %s تم الموافقة علية
OrderRefusedInDolibarr=الطلب %s تم رفضه OrderRefusedInDolibarr=الطلب %s تم رفضه
OrderBackToDraftInDolibarr=الطلب %s تم إرجاعة إلى حالة المسودة OrderBackToDraftInDolibarr=الطلب %s تم إرجاعة إلى حالة المسودة
ProposalSentByEMail=Commercial proposal %s sent by email ProposalSentByEMail=تم إرسال الاقتراح التجاري %s عبر البريد الإلكتروني
ContractSentByEMail=Contract %s sent by email ContractSentByEMail=تم إرسال العقد %s عن طريق البريد الإلكتروني
OrderSentByEMail=Sales order %s sent by email OrderSentByEMail=تم إرسال أمر المبيعات %s عبر البريد الإلكتروني
InvoiceSentByEMail=Customer invoice %s sent by email InvoiceSentByEMail=فاتورة العميل رقم %s مُرسلة عبر البريد الإلكتروني
SupplierOrderSentByEMail=Purchase order %s sent by email SupplierOrderSentByEMail=تم إرسال أمر الشراء %s عبر البريد الإلكتروني
ORDER_SUPPLIER_DELETEInDolibarr=Purchase order %s deleted ORDER_SUPPLIER_DELETEInDolibarr=تم حذف أمر الشراء %s
SupplierInvoiceSentByEMail=Vendor invoice %s sent by email SupplierInvoiceSentByEMail=فاتورة البائع %s مُرسلة عبر البريد الإلكتروني
ShippingSentByEMail=Shipment %s sent by email ShippingSentByEMail=شحنة %s أرسلت عن طريق البريد الإلكتروني
ShippingValidated= الشحنة %s تم التأكد من صلاحيتها ShippingValidated= الشحنة %s تم التأكد من صلاحيتها
InterventionSentByEMail=Intervention %s sent by email InterventionSentByEMail=تم إرسال التدخل %s عبر البريد الإلكتروني
ProposalDeleted=تم حذف العرض ProposalDeleted=تم حذف العرض
OrderDeleted=تم حذف الطلب OrderDeleted=تم حذف الطلب
InvoiceDeleted=تم حذف الفاتورة InvoiceDeleted=تم حذف الفاتورة
DraftInvoiceDeleted=Draft invoice deleted DraftInvoiceDeleted=تم حذف مسودة الفاتورة
CONTACT_CREATEInDolibarr=Contact %s created CONTACT_CREATEInDolibarr=تم إنشاء جهة الاتصال %s
CONTACT_MODIFYInDolibarr=Contact %s modified CONTACT_MODIFYInDolibarr=تعديل الاتصال %s
CONTACT_DELETEInDolibarr=Contact %s deleted CONTACT_DELETEInDolibarr=تم حذف جهة الاتصال %s
PRODUCT_CREATEInDolibarr=المنتج %s تم انشاؤه PRODUCT_CREATEInDolibarr=المنتج %s تم انشاؤه
PRODUCT_MODIFYInDolibarr=المنتج %sتم تعديلة PRODUCT_MODIFYInDolibarr=المنتج %sتم تعديلة
PRODUCT_DELETEInDolibarr=المنتج%s تم حذفة PRODUCT_DELETEInDolibarr=المنتج%s تم حذفة
HOLIDAY_CREATEInDolibarr=Request for leave %s created HOLIDAY_CREATEInDolibarr=تم إنشاء طلب إجازة %s
HOLIDAY_MODIFYInDolibarr=Request for leave %s modified HOLIDAY_MODIFYInDolibarr=طلب إجازة تعديل %s
HOLIDAY_APPROVEInDolibarr=Request for leave %s approved HOLIDAY_APPROVEInDolibarr=طلب إجازة تمت الموافقة على %s
HOLIDAY_VALIDATEInDolibarr=Request for leave %s validated HOLIDAY_VALIDATEInDolibarr=تم التحقق من صحة طلب المغادرة %s
HOLIDAY_DELETEInDolibarr=Request for leave %s deleted HOLIDAY_DELETEInDolibarr=طلب إجازة %s محذوف
EXPENSE_REPORT_CREATEInDolibarr=تقرير المصروفات %sتم إنشاؤة EXPENSE_REPORT_CREATEInDolibarr=تقرير المصروفات %sتم إنشاؤة
EXPENSE_REPORT_VALIDATEInDolibarr=تقرير المصروفات %s تم التحقق من صحتة EXPENSE_REPORT_VALIDATEInDolibarr=تقرير المصروفات %s تم التحقق من صحتة
EXPENSE_REPORT_APPROVEInDolibarr=تقرير المصروفات %s تم الموافقة عليه EXPENSE_REPORT_APPROVEInDolibarr=تقرير المصروفات %s تم الموافقة عليه
@ -107,22 +109,22 @@ EXPENSE_REPORT_REFUSEDInDolibarr=تقرير المصروفات%s تم رفضة
PROJECT_CREATEInDolibarr=مشروع٪ الصورة التي تم إنشاؤها PROJECT_CREATEInDolibarr=مشروع٪ الصورة التي تم إنشاؤها
PROJECT_MODIFYInDolibarr=المشروع %s تم تعديلة PROJECT_MODIFYInDolibarr=المشروع %s تم تعديلة
PROJECT_DELETEInDolibarr=المشروع %s تم حذفة PROJECT_DELETEInDolibarr=المشروع %s تم حذفة
TICKET_CREATEInDolibarr=Ticket %s created TICKET_CREATEInDolibarr=تم إنشاء التذكرة %s
TICKET_MODIFYInDolibarr=Ticket %s modified TICKET_MODIFYInDolibarr=تم تعديل التذكرة %s
TICKET_ASSIGNEDInDolibarr=Ticket %s assigned TICKET_ASSIGNEDInDolibarr=تم تعيين التذكرة %s
TICKET_CLOSEInDolibarr=Ticket %s closed TICKET_CLOSEInDolibarr=تم إغلاق التذكرة %s
TICKET_DELETEInDolibarr=Ticket %s deleted TICKET_DELETEInDolibarr=تم حذف التذكرة %s
BOM_VALIDATEInDolibarr=BOM validated BOM_VALIDATEInDolibarr=تم التحقق من صحة BOM
BOM_UNVALIDATEInDolibarr=BOM unvalidated BOM_UNVALIDATEInDolibarr=لم يتم التحقق من BOM
BOM_CLOSEInDolibarr=BOM disabled BOM_CLOSEInDolibarr=تم تعطيل BOM
BOM_REOPENInDolibarr=BOM reopen BOM_REOPENInDolibarr=إعادة فتح BOM
BOM_DELETEInDolibarr=BOM deleted BOM_DELETEInDolibarr=تم حذف BOM
MRP_MO_VALIDATEInDolibarr=MO validated MRP_MO_VALIDATEInDolibarr=تم التحقق من صحة MO
MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_UNVALIDATEInDolibarr=تم تعيين MO على وضع المسودة
MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_PRODUCEDInDolibarr=أنتجت MO
MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_DELETEInDolibarr=تم حذف MO
MRP_MO_CANCELInDolibarr=MO canceled MRP_MO_CANCELInDolibarr=تم إلغاء MO
PAIDInDolibarr=%s paid PAIDInDolibarr=%s المدفوعة
##### End agenda events ##### ##### End agenda events #####
AgendaModelModule=نماذج المستندات للحدث AgendaModelModule=نماذج المستندات للحدث
DateActionStart=تاريخ البدء DateActionStart=تاريخ البدء
@ -131,10 +133,10 @@ AgendaUrlOptions1=يمكنك أيضا إضافة المعايير التالية
AgendaUrlOptions3=<b>وجينا =%sإلى</b> تقييد الإخراج إلى الإجراءات التي يملكها المستخدم<b>%s</b>. AgendaUrlOptions3=<b>وجينا =%sإلى</b> تقييد الإخراج إلى الإجراءات التي يملكها المستخدم<b>%s</b>.
AgendaUrlOptionsNotAdmin=<b>لوجينا=!%s</b> لمنع اخراج الجراءات التى لا يمتلكها المستخدم <b>%s</b>. AgendaUrlOptionsNotAdmin=<b>لوجينا=!%s</b> لمنع اخراج الجراءات التى لا يمتلكها المستخدم <b>%s</b>.
AgendaUrlOptions4=<b>لوجينت =%s</b> لتقييد الإخراج على الإجراءات المعينة للمستخدم <b>%s</b> (المالك والآخرين). AgendaUrlOptions4=<b>لوجينت =%s</b> لتقييد الإخراج على الإجراءات المعينة للمستخدم <b>%s</b> (المالك والآخرين).
AgendaUrlOptionsProject=<b>project=__PROJECT_ID__</b> to restrict output to actions linked to project <b>__PROJECT_ID__</b>. AgendaUrlOptionsProject= مشروع <b> = __ PROJECT_ID__ </b> لتقييد الإخراج بالإجراءات المرتبطة بالمشروع <b> __PROJECT_ID__ </b>.
AgendaUrlOptionsNotAutoEvent=<b>notactiontype=systemauto</b> to exclude automatic events. AgendaUrlOptionsNotAutoEvent= <b> notactiontype = systemauto </b> لاستبعاد الأحداث التلقائية.
AgendaUrlOptionsIncludeHolidays=<b>includeholidays=1</b> to include events of holidays. AgendaUrlOptionsIncludeHolidays= <b> تشمل الإجازات = 1 </b> لتضمين أحداث الأعياد.
AgendaShowBirthdayEvents=Birthdays of contacts AgendaShowBirthdayEvents=أعياد ميلاد جهات الاتصال
AgendaHideBirthdayEvents=إخفاء تواريخ ميلاد جهات الإتصال AgendaHideBirthdayEvents=إخفاء تواريخ ميلاد جهات الإتصال
Busy=مشغول Busy=مشغول
ExportDataset_event1=قائمة الأحداث في جدول الأعمال ExportDataset_event1=قائمة الأحداث في جدول الأعمال
@ -143,9 +145,9 @@ DefaultWorkingHours=افتراضي ساعات العمل في اليوم (على
# External Sites ical # External Sites ical
ExportCal=تصدير التقويم ExportCal=تصدير التقويم
ExtSites=استيراد التقويمات الخارجية ExtSites=استيراد التقويمات الخارجية
ExtSitesEnableThisTool=Show external calendars (defined in global setup) in Agenda. Does not affect external calendars defined by users. ExtSitesEnableThisTool=إظهار التقويمات الخارجية (المحددة في الإعداد العام) في الأجندة. لا يؤثر على التقويمات الخارجية التي حددها المستخدمون.
ExtSitesNbOfAgenda=عدد التقويمات ExtSitesNbOfAgenda=عدد التقويمات
AgendaExtNb=Calendar no. %s AgendaExtNb=التقويم لا. %s
ExtSiteUrlAgenda=عنوان المتصفح للدخول لملف .ical ExtSiteUrlAgenda=عنوان المتصفح للدخول لملف .ical
ExtSiteNoLabel=لا يوجد وصف ExtSiteNoLabel=لا يوجد وصف
VisibleTimeRange=نطاق زمني مرئي VisibleTimeRange=نطاق زمني مرئي
@ -156,19 +158,19 @@ ActionType=نوع الحدث
DateActionBegin=تاريخ البدء الحدث DateActionBegin=تاريخ البدء الحدث
ConfirmCloneEvent=هل انت متأكد انك ترغب في استنساخ الحدث <b>%s</b> ؟ ConfirmCloneEvent=هل انت متأكد انك ترغب في استنساخ الحدث <b>%s</b> ؟
RepeatEvent=تكرار الحدث RepeatEvent=تكرار الحدث
OnceOnly=Once only OnceOnly=مرة واحدة فقط
EveryWeek=كل اسبوع EveryWeek=كل اسبوع
EveryMonth=كل شهر EveryMonth=كل شهر
DayOfMonth=يوم من الشهر DayOfMonth=يوم من الشهر
DayOfWeek=يوم من الأسبوع DayOfWeek=يوم من الأسبوع
DateStartPlusOne=تاريخ بدء + 1 ساعة DateStartPlusOne=تاريخ بدء + 1 ساعة
SetAllEventsToTodo=Set all events to todo SetAllEventsToTodo=اضبط كل الأحداث على ما يجب فعله
SetAllEventsToInProgress=Set all events to in progress SetAllEventsToInProgress=اضبط كل الأحداث على قيد التقدم
SetAllEventsToFinished=Set all events to finished SetAllEventsToFinished=اضبط جميع الأحداث على الانتهاء
ReminderTime=Reminder period before the event ReminderTime=فترة تذكير قبل الحدث
TimeType=Duration type TimeType=نوع المدة
ReminderType=Callback type ReminderType=نوع رد الاتصال
AddReminder=Create an automatic reminder notification for this event AddReminder=إنشاء إشعار تذكير تلقائي لهذا الحدث
ErrorReminderActionCommCreation=Error creating the reminder notification for this event ErrorReminderActionCommCreation=خطأ في إنشاء إشعار التذكير لهذا الحدث
BrowserPush=Browser Popup Notification BrowserPush=إعلام المتصفح المنبثق
ActiveByDefault=Enabled by default ActiveByDefault=يتم التمكين افتراضيًا

View File

@ -18,13 +18,13 @@ BoxLastActions=أحدث الإجراءات
BoxLastContracts=أحدث العقود BoxLastContracts=أحدث العقود
BoxLastContacts=أحدث الاتصالات | العناوين BoxLastContacts=أحدث الاتصالات | العناوين
BoxLastMembers=أحدث الأعضاء BoxLastMembers=أحدث الأعضاء
BoxLastModifiedMembers=Latest modified members BoxLastModifiedMembers=أحدث الأعضاء المعدلين
BoxLastMembersSubscriptions=Latest member subscriptions BoxLastMembersSubscriptions=أحدث اشتراكات الأعضاء
BoxFicheInter=أحدث التدخلات BoxFicheInter=أحدث التدخلات
BoxCurrentAccounts=ميزان الحسابات المفتوحة BoxCurrentAccounts=ميزان الحسابات المفتوحة
BoxTitleMemberNextBirthdays=أعياد الميلاد لهذا الشهر (الأعضاء) BoxTitleMemberNextBirthdays=أعياد الميلاد لهذا الشهر (الأعضاء)
BoxTitleMembersByType=Members by type BoxTitleMembersByType=الأعضاء حسب النوع والحالة
BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year BoxTitleMembersSubscriptionsByYear=اشتراكات الأعضاء حسب السنة
BoxTitleLastRssInfos=آخر أخبار %s من %s BoxTitleLastRssInfos=آخر أخبار %s من %s
BoxTitleLastProducts=المنتجات | الخدمات: آخر %s معدل BoxTitleLastProducts=المنتجات | الخدمات: آخر %s معدل
BoxTitleProductsAlertStock=المنتجات: تنبيه المخزون BoxTitleProductsAlertStock=المنتجات: تنبيه المخزون
@ -46,11 +46,11 @@ BoxMyLastBookmarks=الإشارات المرجعية: أحدث %s
BoxOldestExpiredServices=أقدم الخدمات النشطة منتهية الصلاحية BoxOldestExpiredServices=أقدم الخدمات النشطة منتهية الصلاحية
BoxLastExpiredServices=أحدث %s أقدم جهات اتصال مع خدمات منتهية الصلاحية نشطة BoxLastExpiredServices=أحدث %s أقدم جهات اتصال مع خدمات منتهية الصلاحية نشطة
BoxTitleLastActionsToDo=أحدث إجراءات %s للقيام بها BoxTitleLastActionsToDo=أحدث إجراءات %s للقيام بها
BoxTitleLastContracts=Latest %s contracts which were modified BoxTitleLastContracts=أحدث عقود %s التي تم تعديلها
BoxTitleLastModifiedDonations=Latest %s donations which were modified BoxTitleLastModifiedDonations=آخر التبرعات %s التي تم تعديلها
BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified BoxTitleLastModifiedExpenses=أحدث تقارير المصروفات %s التي تم تعديلها
BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified BoxTitleLatestModifiedBoms=أحدث %s BOMs التي تم تعديلها
BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified BoxTitleLatestModifiedMos=أحدث أوامر التصنيع %s التي تم تعديلها
BoxTitleLastOutstandingBillReached=العملاء الذين تجاوزا الحد الاقصى BoxTitleLastOutstandingBillReached=العملاء الذين تجاوزا الحد الاقصى
BoxGlobalActivity=النشاط العام (الفواتير ، العروض ، الطلبات) BoxGlobalActivity=النشاط العام (الفواتير ، العروض ، الطلبات)
BoxGoodCustomers=عملاء جيدون BoxGoodCustomers=عملاء جيدون
@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=أوامر الموردين: آخر %s تع
BoxTitleLastModifiedCustomerBills=فواتير العميل: آخر %s تعديل BoxTitleLastModifiedCustomerBills=فواتير العميل: آخر %s تعديل
BoxTitleLastModifiedCustomerOrders=أوامر المبيعات: آخر %s تعديل BoxTitleLastModifiedCustomerOrders=أوامر المبيعات: آخر %s تعديل
BoxTitleLastModifiedPropals=أحدث %s العروض المعدلة BoxTitleLastModifiedPropals=أحدث %s العروض المعدلة
BoxTitleLatestModifiedJobPositions=Latest %s modified job positions BoxTitleLatestModifiedJobPositions=أحدث وظائف %s المعدلة
BoxTitleLatestModifiedCandidatures=Latest %s modified job applications BoxTitleLatestModifiedCandidatures=أحدث %s تطبيقات العمل المعدلة
ForCustomersInvoices=فواتير العملاء ForCustomersInvoices=فواتير العملاء
ForCustomersOrders=أوامر العملاء ForCustomersOrders=أوامر العملاء
ForProposals=عروض ForProposals=عروض
@ -112,9 +112,9 @@ BoxTitleLastCustomerShipments=أحدث %s شحنات العملاء
NoRecordedShipments=لا توجد شحنة مسجلة للعملاء NoRecordedShipments=لا توجد شحنة مسجلة للعملاء
BoxCustomersOutstandingBillReached=العملاء الذين بلغوا الحد الأقصى المسموح به BoxCustomersOutstandingBillReached=العملاء الذين بلغوا الحد الأقصى المسموح به
# Pages # Pages
UsersHome=Home users and groups UsersHome=المستخدمون والمجموعات الرئيسية
MembersHome=Home Membership MembersHome=عضوية المنزل
ThirdpartiesHome=Home Thirdparties ThirdpartiesHome=الصفحة الرئيسية الأطراف الثالثة
TicketsHome=Home Tickets TicketsHome=تذاكر المنزل
AccountancyHome=Home Accountancy AccountancyHome=محاسبة المنزل
ValidatedProjects=المشاريع المعتمدة ValidatedProjects=المشاريع المعتمدة

View File

@ -16,7 +16,7 @@ AddThisArticle=إضافة هذا العنصر
RestartSelling=التراجع عن بيع RestartSelling=التراجع عن بيع
SellFinished=اكتمل البيع SellFinished=اكتمل البيع
PrintTicket=طباعة التذكرة PrintTicket=طباعة التذكرة
SendTicket=Send ticket SendTicket=أرسل التذكرة
NoProductFound=لم يتم العثور على عناصر NoProductFound=لم يتم العثور على عناصر
ProductFound=تم العثور على المنتج ProductFound=تم العثور على المنتج
NoArticle=لا يوجد عناصر NoArticle=لا يوجد عناصر
@ -31,106 +31,109 @@ ShowCompany=عرض الشركة
ShowStock=عرض المستودع ShowStock=عرض المستودع
DeleteArticle=انقر لإزالة هذا العنصر DeleteArticle=انقر لإزالة هذا العنصر
FilterRefOrLabelOrBC=بحث (المرجع / الملصق) FilterRefOrLabelOrBC=بحث (المرجع / الملصق)
UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that uses POS needs to have permission to edit stock. UserNeedPermissionToEditStockToUsePos=أنت تطلب تقليل المخزون عند إنشاء الفاتورة ، لذلك يحتاج المستخدم الذي يستخدم نقاط البيع إلى الحصول على إذن لتحرير المخزون.
DolibarrReceiptPrinter=طابعة إيصال دوليبار DolibarrReceiptPrinter=طابعة إيصال دوليبار
PointOfSale=Point of Sale PointOfSale=نقطة البيع
PointOfSaleShort=POS PointOfSaleShort=نقاط البيع
CloseBill=Close Bill CloseBill=أغلق بيل
Floors=Floors Floors=طوابق
Floor=Floor Floor=أرضية
AddTable=Add table AddTable=أضف الجدول
Place=Place Place=مكان
TakeposConnectorNecesary='TakePOS Connector' required TakeposConnectorNecesary=مطلوب "موصل TakePOS"
OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) OrderPrinters=أضف زرًا لإرسال الطلب إلى بعض الطابعات المحددة ، دون دفع (على سبيل المثال لإرسال طلب إلى مطبخ)
NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser NotAvailableWithBrowserPrinter=غير متاح عندما تكون الطابعة للإيصال مضبوطة على المتصفح
SearchProduct=Search product SearchProduct=البحث عن المنتج
Receipt=ورود Receipt=ورود
Header=Header Header=رأس
Footer=Footer Footer=تذييل
AmountAtEndOfPeriod=Amount at end of period (day, month or year) AmountAtEndOfPeriod=المبلغ في نهاية الفترة (اليوم أو الشهر أو السنة)
TheoricalAmount=Theorical amount TheoricalAmount=المبلغ النظري
RealAmount=Real amount RealAmount=المبلغ الحقيقي
CashFence=Cash desk closing CashFence=إغلاق صندوق النقد
CashFenceDone=Cash desk closing done for the period CashFenceDone=تم إغلاق الصندوق النقدي للفترة
NbOfInvoices=ملاحظة : من الفواتير NbOfInvoices=ملاحظة : من الفواتير
Paymentnumpad=Type of Pad to enter payment Paymentnumpad=نوع الوسادة للدفع
Numberspad=Numbers Pad Numberspad=لوحة الأرقام
BillsCoinsPad=Coins and banknotes Pad BillsCoinsPad=وسادة عملات وأوراق نقدية
DolistorePosCategory=TakePOS modules and other POS solutions for Dolibarr DolistorePosCategory=وحدات TakePOS وحلول نقاط البيع الأخرى لـ Dolibarr
TakeposNeedsCategories=TakePOS needs at least one product categorie to work TakeposNeedsCategories=يحتاج TakePOS إلى فئة منتج واحدة على الأقل للعمل
TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category <b>%s</b> to work TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=يحتاج TakePOS إلى فئة منتج واحدة على الأقل ضمن الفئة <b> %s </b> للعمل
OrderNotes=Can add some notes to each ordered items OrderNotes=يمكن إضافة بعض الملاحظات على كل العناصر المطلوبة
CashDeskBankAccountFor=Default account to use for payments in CashDeskBankAccountFor=الحساب الافتراضي لاستخدامه في عمليات الدفع
NoPaimementModesDefined=No paiment mode defined in TakePOS configuration NoPaimementModesDefined=لم يتم تحديد وضع paiment في تكوين TakePOS
TicketVatGrouped=Group VAT by rate in tickets|receipts TicketVatGrouped=تجميع ضريبة القيمة المضافة حسب معدل التذاكر | الإيصالات
AutoPrintTickets=Automatically print tickets|receipts AutoPrintTickets=طباعة التذاكر | الإيصالات تلقائيًا
PrintCustomerOnReceipts=Print customer on tickets|receipts PrintCustomerOnReceipts=طباعة العميل على التذاكر | الإيصالات
EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant EnableBarOrRestaurantFeatures=تمكين ميزات للبار أو المطعم
ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? ConfirmDeletionOfThisPOSSale=هل تؤكد حذف هذا البيع الحالي؟
ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? ConfirmDiscardOfThisPOSSale=هل تريد تجاهل هذا البيع الحالي؟
History=التاريخ History=التاريخ
ValidateAndClose=Validate and close ValidateAndClose=التحقق من صحة وإغلاق
Terminal=Terminal Terminal=صالة
NumberOfTerminals=Number of Terminals NumberOfTerminals=عدد المحطات
TerminalSelect=Select terminal you want to use: TerminalSelect=حدد المحطة التي تريد استخدامها:
POSTicket=POS Ticket POSTicket=تذكرة نقاط البيع
POSTerminal=POS Terminal POSTerminal=محطة نقاط البيع
POSModule=POS Module POSModule=وحدة نقاط البيع
BasicPhoneLayout=Use basic layout for phones BasicPhoneLayout=استخدم التخطيط الأساسي للهواتف
SetupOfTerminalNotComplete=Setup of terminal %s is not complete SetupOfTerminalNotComplete=لم يكتمل إعداد الجهاز %s
DirectPayment=Direct payment DirectPayment=دفع مباشر
DirectPaymentButton=Add a "Direct cash payment" button DirectPaymentButton=أضف زر "دفع نقدي مباشر"
InvoiceIsAlreadyValidated=Invoice is already validated InvoiceIsAlreadyValidated=تم التحقق من صحة الفاتورة بالفعل
NoLinesToBill=No lines to bill NoLinesToBill=لا خطوط للفوترة
CustomReceipt=Custom Receipt CustomReceipt=إيصال مخصص
ReceiptName=Receipt Name ReceiptName=اسم الإيصال
ProductSupplements=Manage supplements of products ProductSupplements=إدارة مكملات المنتجات
SupplementCategory=Supplement category SupplementCategory=فئة الملحق
ColorTheme=Color theme ColorTheme=موضوع اللون
Colorful=Colorful Colorful=زاهى الألوان
HeadBar=Head Bar HeadBar=رئيس بار
SortProductField=Field for sorting products SortProductField=مجال لفرز المنتجات
Browser=المتصفح Browser=المتصفح
BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. BrowserMethodDescription=طباعة إيصالات بسيطة وسهلة. فقط عدد قليل من المعلمات لتكوين الإيصال. اطبع عبر المتصفح.
TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. TakeposConnectorMethodDescription=وحدة خارجية مع ميزات إضافية. إمكانية الطباعة من السحابة.
PrintMethod=Print method PrintMethod=طريقة الطباعة
ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). ReceiptPrinterMethodDescription=طريقة قوية مع الكثير من المعلمات. قابل للتخصيص بالكامل مع القوالب. لا يمكن أن يكون الخادم الذي يستضيف التطبيق في السحابة (يجب أن يكون قادرًا على الوصول إلى الطابعات في شبكتك).
ByTerminal=By terminal ByTerminal=عن طريق المحطة
TakeposNumpadUsePaymentIcon=Use icon instead of text on payment buttons of numpad TakeposNumpadUsePaymentIcon=استخدم الرمز بدلاً من النص الموجود على أزرار الدفع الخاصة بلوحة الأرقام
CashDeskRefNumberingModules=Numbering module for POS sales CashDeskRefNumberingModules=وحدة الترقيم لمبيعات نقاط البيع
CashDeskGenericMaskCodes6 = <br><b>{TN}</b> tag is used to add the terminal number CashDeskGenericMaskCodes6 = <br> <b> {TN} تُستخدم علامة </b> لإضافة رقم المحطة
TakeposGroupSameProduct=Group same products lines TakeposGroupSameProduct=تجميع نفس خطوط المنتجات
StartAParallelSale=Start a new parallel sale StartAParallelSale=ابدأ بيعًا موازيًا جديدًا
SaleStartedAt=Sale started at %s SaleStartedAt=بدأ البيع في %s
ControlCashOpening=Open the "Control cash" popup when opening the POS ControlCashOpening=افتح النافذة المنبثقة "Control cash box" عند فتح POS
CloseCashFence=Close cash desk control CloseCashFence=إغلاق التحكم في صندوق النقد
CashReport=Cash report CashReport=تقرير النقدية
MainPrinterToUse=Main printer to use MainPrinterToUse=الطابعة الرئيسية لاستخدامها
OrderPrinterToUse=Order printer to use OrderPrinterToUse=طلب الطابعة لاستخدامها
MainTemplateToUse=Main template to use MainTemplateToUse=النموذج الرئيسي المراد استخدامه
OrderTemplateToUse=Order template to use OrderTemplateToUse=طلب نموذج للاستخدام
BarRestaurant=Bar Restaurant BarRestaurant=مطعم بار
AutoOrder=Order by the customer himself AutoOrder=طلب من قبل الزبون نفسه
RestaurantMenu=Menu RestaurantMenu=قائمة الطعام
CustomerMenu=Customer menu CustomerMenu=قائمة العملاء
ScanToMenu=Scan QR code to see the menu ScanToMenu=امسح رمز الاستجابة السريعة لرؤية القائمة
ScanToOrder=Scan QR code to order ScanToOrder=امسح رمز الاستجابة السريعة للطلب
Appearance=Appearance Appearance=مظهر
HideCategoryImages=Hide Category Images HideCategoryImages=إخفاء صور الفئة
HideProductImages=Hide Product Images HideProductImages=إخفاء صور المنتج
NumberOfLinesToShow=Number of lines of images to show NumberOfLinesToShow=عدد سطور الصور المراد عرضها
DefineTablePlan=Define tables plan DefineTablePlan=تحديد خطة الجداول
GiftReceiptButton=Add a "Gift receipt" button GiftReceiptButton=أضف زر "إيصال الهدية"
GiftReceipt=Gift receipt GiftReceipt=استلام هدية
ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first ModuleReceiptPrinterMustBeEnabled=يجب تمكين طابعة استلام الوحدة أولاً
AllowDelayedPayment=Allow delayed payment AllowDelayedPayment=السماح بالدفع المتأخر
PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts PrintPaymentMethodOnReceipts=طباعة طريقة الدفع على التذاكر | الإيصالات
WeighingScale=Weighing scale WeighingScale=جهاز قياس الوزن
ShowPriceHT = Display the column with the price excluding tax (on screen) ShowPriceHT = عرض العمود بالسعر غير شامل الضريبة (على الشاشة)
ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) ShowPriceHTOnReceipt = اعرض العمود بالسعر غير شامل الضريبة (على الإيصال)
CustomerDisplay=Customer display CustomerDisplay=عرض العملاء
SplitSale=Split sale SplitSale=بيع سبليت
PrintWithoutDetailsButton=Add "Print without details" button PrintWithoutDetailsButton=أضف زر "طباعة بدون تفاصيل"
PrintWithoutDetailsLabelDefault=Line label by default on printing without details PrintWithoutDetailsLabelDefault=تسمية الخط بشكل افتراضي عند الطباعة بدون تفاصيل
PrintWithoutDetails=Print without details PrintWithoutDetails=اطبع بدون تفاصيل
YearNotDefined=Year is not defined YearNotDefined=لم يتم تحديد السنة
TakeposBarcodeRuleToInsertProduct=قاعدة الباركود لإدخال المنتج
TakeposBarcodeRuleToInsertProductDesc=قاعدة لاستخراج مرجع المنتج + كمية من الباركود الممسوح ضوئيًا. <br> إذا كان فارغًا (القيمة الافتراضية) ، سيستخدم التطبيق الباركود الكامل الممسوح ضوئيًا للعثور على المنتج. <br> <br> If defined, syntax must be: <br> <b> ref:NB+qu:NB+qd:NB+other:NB </b> <br> where NB is the number of characters to use to extract data from the scanned barcode with: <ul> <li> <b> ref </b> : product reference </li> <li> <b> qu </b> : quantity to set when inserting item (units) <l/i> <li> <b> qd </b> : quantity to set when inserting item (decimals) </li> <li> <b> other </b> : others characters </li> </ul>
AlreadyPrinted=طبعت بالفعل

View File

@ -2,9 +2,9 @@
ErrorCompanyNameAlreadyExists=اسم الشركة %s موجود بالفعل. اختر واحد اخر. ErrorCompanyNameAlreadyExists=اسم الشركة %s موجود بالفعل. اختر واحد اخر.
ErrorSetACountryFirst=اضبط البلد أولاً ErrorSetACountryFirst=اضبط البلد أولاً
SelectThirdParty=حدد طرفًا ثالثًا SelectThirdParty=حدد طرفًا ثالثًا
ConfirmDeleteCompany=Are you sure you want to delete this company and all related information? ConfirmDeleteCompany=هل أنت متأكد أنك تريد حذف هذه الشركة وجميع المعلومات ذات الصلة؟
DeleteContact=حذف جهة اتصال | عنوان DeleteContact=حذف جهة اتصال | عنوان
ConfirmDeleteContact=Are you sure you want to delete this contact and all related information? ConfirmDeleteContact=هل أنت متأكد أنك تريد حذف جهة الاتصال هذه وجميع المعلومات ذات الصلة؟
MenuNewThirdParty=طرف ثالث جديد MenuNewThirdParty=طرف ثالث جديد
MenuNewCustomer=عميل جديد MenuNewCustomer=عميل جديد
MenuNewProspect=فرصة جديدة MenuNewProspect=فرصة جديدة
@ -19,7 +19,7 @@ ProspectionArea=منطقة الفرص
IdThirdParty=معرف الطرف الثالث IdThirdParty=معرف الطرف الثالث
IdCompany=معرف الشركة IdCompany=معرف الشركة
IdContact=معرف جهة الاتصال IdContact=معرف جهة الاتصال
ThirdPartyAddress=Third-party address ThirdPartyAddress=عنوان الطرف الثالث
ThirdPartyContacts=جهات اتصال الطرف الثالث ThirdPartyContacts=جهات اتصال الطرف الثالث
ThirdPartyContact=جهة اتصال | عنوان الطرف الثالث ThirdPartyContact=جهة اتصال | عنوان الطرف الثالث
Company=شركة Company=شركة
@ -52,27 +52,28 @@ CivilityCode=قواعد السلوك
RegisteredOffice=مكتب مسجل RegisteredOffice=مكتب مسجل
Lastname=اللقب Lastname=اللقب
Firstname=الاسم الاول Firstname=الاسم الاول
RefEmployee=Employee reference RefEmployee=مرجع الموظف
NationalRegistrationNumber=National registration number NationalRegistrationNumber=رقم التسجيل الوطني
PostOrFunction=الوظيفه PostOrFunction=الوظيفه
UserTitle=العنوان UserTitle=العنوان
NatureOfThirdParty=طبيعة الطرف الثالث NatureOfThirdParty=طبيعة الطرف الثالث
NatureOfContact=طبيعة الاتصال NatureOfContact=طبيعة الاتصال
Address=عنوان Address=عنوان
State=الولاية / المقاطعة State=الولاية / المقاطعة
StateId=معرف الدولة
StateCode=رمز الولاية / المقاطعة StateCode=رمز الولاية / المقاطعة
StateShort=الولاية StateShort=الولاية
Region=المنطقة Region=المنطقة
Region-State=المنطقة - الولاية Region-State=المنطقة - الولاية
Country=الدولة Country=الدولة
CountryCode=رمز البلد CountryCode=رمز البلد
CountryId=معرف البلد CountryId=معرف الدولة
Phone=الهاتف Phone=الهاتف
PhoneShort=الهاتف PhoneShort=الهاتف
Skype=سكايب Skype=سكايب
Call=مكالمة Call=مكالمة
Chat=دردشة Chat=دردشة
PhonePro=Bus. phone PhonePro=أوتوبيس. هاتف
PhonePerso=الهاتف الشخصي PhonePerso=الهاتف الشخصي
PhoneMobile=الجوال PhoneMobile=الجوال
No_Email=رفض الرسائل الإلكترونية الجماعية No_Email=رفض الرسائل الإلكترونية الجماعية
@ -81,9 +82,9 @@ Zip=الرمز البريدي
Town=مدينة Town=مدينة
Web=الويب Web=الويب
Poste= المنصب Poste= المنصب
DefaultLang=Default language DefaultLang=اللغة الافتراضية
VATIsUsed=تطبق ضريبة المبيعات VATIsUsed=تطبق ضريبة المبيعات
VATIsUsedWhenSelling=This defines if this third party includes a sales tax or not when it makes an invoice to its own customers VATIsUsedWhenSelling=يحدد هذا ما إذا كان هذا الطرف الثالث يتضمن ضريبة مبيعات أم لا عندما يُصدر فاتورة لعملائه
VATIsNotUsed=لا تطبق ضريبة المبيعات VATIsNotUsed=لا تطبق ضريبة المبيعات
CopyAddressFromSoc=نسخ العنوان من تفاصيل الطرف الثالث CopyAddressFromSoc=نسخ العنوان من تفاصيل الطرف الثالث
ThirdpartyNotCustomerNotSupplierSoNoRef=لا عميل ولا مورد، ولا توجد كائنات مرجعية متاحة ThirdpartyNotCustomerNotSupplierSoNoRef=لا عميل ولا مورد، ولا توجد كائنات مرجعية متاحة
@ -105,7 +106,7 @@ WrongSupplierCode=كود المورد غير صالح
CustomerCodeModel=العميل رمز النموذج CustomerCodeModel=العميل رمز النموذج
SupplierCodeModel=نموذج كود المورد SupplierCodeModel=نموذج كود المورد
Gencod=الباركود Gencod=الباركود
GencodBuyPrice=Barcode of price ref GencodBuyPrice=الباركود السعر المرجع
##### Professional ID ##### ##### Professional ID #####
ProfId1Short=هوية مهنية 1 ProfId1Short=هوية مهنية 1
ProfId2Short=هوية مهنية 2 ProfId2Short=هوية مهنية 2
@ -161,16 +162,16 @@ ProfId3CL=-
ProfId4CL=- ProfId4CL=-
ProfId5CL=- ProfId5CL=-
ProfId6CL=- ProfId6CL=-
ProfId1CM=Id. prof. 1 (Trade Register) ProfId1CM=هوية شخصية. الأستاذ. 1 (السجل التجاري)
ProfId2CM=Id. prof. 2 (Taxpayer No.) ProfId2CM=هوية شخصية. الأستاذ. 2 (رقم دافع الضرائب)
ProfId3CM=Id. prof. 3 (Decree of creation) ProfId3CM=هوية شخصية. الأستاذ. 3 (رقم مرسوم الانشاء)
ProfId4CM=Id. prof. 4 (Certificate of deposits) ProfId4CM=هوية شخصية. الأستاذ. 4 (رقم شهادة الإيداع)
ProfId5CM=Id. prof. 5 (Others) ProfId5CM=هوية شخصية. الأستاذ. 5 (أخرى)
ProfId6CM=- ProfId6CM=-
ProfId1ShortCM=Trade Register ProfId1ShortCM=السجل التجاري
ProfId2ShortCM=Taxpayer No. ProfId2ShortCM=رقم دافع الضرائب
ProfId3ShortCM=Decree of creation ProfId3ShortCM=رقم مرسوم الانشاء
ProfId4ShortCM=Certificate of deposits ProfId4ShortCM=شهادة الايداع رقم
ProfId5ShortCM=آخرون ProfId5ShortCM=آخرون
ProfId6ShortCM=- ProfId6ShortCM=-
ProfId1CO=الهوية المهنية 1 (R.U.T.) ProfId1CO=الهوية المهنية 1 (R.U.T.)
@ -189,17 +190,17 @@ ProfId1ES=الهوية المهنية 1 (CIF / NIF)
ProfId2ES=الهوية المهنية 2 (رقم الضمان الاجتماعي) ProfId2ES=الهوية المهنية 2 (رقم الضمان الاجتماعي)
ProfId3ES=الهوية المهنية 3 (CNAE) ProfId3ES=الهوية المهنية 3 (CNAE)
ProfId4ES=(عدد الجماعية) ProfId4ES=(عدد الجماعية)
ProfId5ES=Prof Id 5 (EORI number) ProfId5ES=معرف الأستاذ 5 (رقم EORI)
ProfId6ES=- ProfId6ES=-
ProfId1FR=الأستاذ عيد 1 (صفارة إنذار) ProfId1FR=الأستاذ عيد 1 (صفارة إنذار)
ProfId2FR=الأستاذ عيد 2 (SIRET) ProfId2FR=الأستاذ عيد 2 (SIRET)
ProfId3FR=الأستاذ عيد 3 (NAF ، البالغ من العمر قرد) ProfId3FR=الأستاذ عيد 3 (NAF ، البالغ من العمر قرد)
ProfId4FR=الأستاذ عيد 4 (نظام المنسقين المقيمين / لجمهورية مقدونيا) ProfId4FR=الأستاذ عيد 4 (نظام المنسقين المقيمين / لجمهورية مقدونيا)
ProfId5FR=Prof Id 5 (numéro EORI) ProfId5FR=معرف الأستاذ 5 (رقم EORI)
ProfId6FR=- ProfId6FR=-
ProfId1ShortFR=SIREN ProfId1ShortFR=صفارة إنذار
ProfId2ShortFR=SIRET ProfId2ShortFR=سيريت
ProfId3ShortFR=NAF ProfId3ShortFR=ناف
ProfId4ShortFR=RCS ProfId4ShortFR=RCS
ProfId5ShortFR=EORI ProfId5ShortFR=EORI
ProfId6ShortFR=- ProfId6ShortFR=-
@ -255,7 +256,7 @@ ProfId1PT=الأستاذ عيد 1 (NIPC)
ProfId2PT=الأستاذ عيد 2 (رقم الضمان الاجتماعي) ProfId2PT=الأستاذ عيد 2 (رقم الضمان الاجتماعي)
ProfId3PT=الأستاذ عيد 3 (رقم السجل التجاري) ProfId3PT=الأستاذ عيد 3 (رقم السجل التجاري)
ProfId4PT=الأستاذ عيد 4 (يضم) ProfId4PT=الأستاذ عيد 4 (يضم)
ProfId5PT=Prof Id 5 (EORI number) ProfId5PT=معرف الأستاذ 5 (رقم EORI)
ProfId6PT=- ProfId6PT=-
ProfId1SN=RC ProfId1SN=RC
ProfId2SN=NINEA ProfId2SN=NINEA
@ -279,7 +280,7 @@ ProfId1RO=Prof Id 1 (CUI)
ProfId2RO=Prof Id 2 (Nr. Înmatriculare) ProfId2RO=Prof Id 2 (Nr. Înmatriculare)
ProfId3RO=Prof Id 3 (CAEN) ProfId3RO=Prof Id 3 (CAEN)
ProfId4RO=Prof Id 5 (EUID) ProfId4RO=Prof Id 5 (EUID)
ProfId5RO=Prof Id 5 (EORI number) ProfId5RO=معرف الأستاذ 5 (رقم EORI)
ProfId6RO=- ProfId6RO=-
ProfId1RU=الأستاذ رقم 1 (OGRN) ProfId1RU=الأستاذ رقم 1 (OGRN)
ProfId2RU=الأستاذ رقم 2 (INN) ProfId2RU=الأستاذ رقم 2 (INN)
@ -287,12 +288,12 @@ ProfId3RU=Prof Id 3 (KPP)
ProfId4RU=Prof Id 4 (OKPO) ProfId4RU=Prof Id 4 (OKPO)
ProfId5RU=- ProfId5RU=-
ProfId6RU=- ProfId6RU=-
ProfId1UA=Prof Id 1 (EDRPOU) ProfId1UA=معرف الأستاذ 1 (EDRPOU)
ProfId2UA=Prof Id 2 (DRFO) ProfId2UA=معرف الأستاذ 2 (DRFO)
ProfId3UA=Prof Id 3 (INN) ProfId3UA=معرف الأستاذ 3 (INN)
ProfId4UA=Prof Id 4 (Certificate) ProfId4UA=معرف الأستاذ 4 (شهادة)
ProfId5UA=Prof Id 5 (RNOKPP) ProfId5UA=معرف الأستاذ 5 (RNOKPP)
ProfId6UA=Prof Id 6 (TRDPAU) ProfId6UA=معرف الأستاذ 6 (TRDPAU)
ProfId1DZ=RC ProfId1DZ=RC
ProfId2DZ=Art. ProfId2DZ=Art.
ProfId3DZ=NIF ProfId3DZ=NIF
@ -353,7 +354,7 @@ CustomerCodeDesc=كود العميل فريد لجميع العملاء
SupplierCodeDesc=كود المورد ، فريد لجميع الموردين SupplierCodeDesc=كود المورد ، فريد لجميع الموردين
RequiredIfCustomer=مطلوب ، إذا كان الطرف الثالث عميلاً أو فرصة RequiredIfCustomer=مطلوب ، إذا كان الطرف الثالث عميلاً أو فرصة
RequiredIfSupplier=مطلوب إذا كان الطرف الثالث موردا RequiredIfSupplier=مطلوب إذا كان الطرف الثالث موردا
ValidityControledByModule=Validity controlled by the module ValidityControledByModule=يتم التحكم في الصلاحية بواسطة الوحدة
ThisIsModuleRules=قواعد هذه الوحدة ThisIsModuleRules=قواعد هذه الوحدة
ProspectToContact=فرصة للاتصال ProspectToContact=فرصة للاتصال
CompanyDeleted=تم حذف شركة "%s" من قاعدة البيانات. CompanyDeleted=تم حذف شركة "%s" من قاعدة البيانات.
@ -363,7 +364,7 @@ ListOfThirdParties=قائمة الأطراف الثالثة
ShowCompany=طرف ثالث ShowCompany=طرف ثالث
ShowContact=عنوان الإتصال ShowContact=عنوان الإتصال
ContactsAllShort=الكل (بدون فلتر) ContactsAllShort=الكل (بدون فلتر)
ContactType=Contact role ContactType=دور الاتصال
ContactForOrders=جهة اتصال الامر ContactForOrders=جهة اتصال الامر
ContactForOrdersOrShipments=جهة اتصال الامر أو الشحنة ContactForOrdersOrShipments=جهة اتصال الامر أو الشحنة
ContactForProposals=جهة اتصال العروض ContactForProposals=جهة اتصال العروض
@ -385,7 +386,7 @@ VATIntraCheck=فحص
VATIntraCheckDesc=The VAT ID must include the country prefix. The link <b>%s</b> uses the European VAT checker service (VIES) which requires internet access from the Dolibarr server. VATIntraCheckDesc=The VAT ID must include the country prefix. The link <b>%s</b> uses the European VAT checker service (VIES) which requires internet access from the Dolibarr server.
VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do
VATIntraCheckableOnEUSite=تحقق من معرف ضريبة القيمة المضافة داخل الاتجاد على موقع المفوضية الأوروبية VATIntraCheckableOnEUSite=تحقق من معرف ضريبة القيمة المضافة داخل الاتجاد على موقع المفوضية الأوروبية
VATIntraManualCheck=You can also check manually on the European Commission website <a href="%s" target="_blank" rel="noopener noreferrer">%s</a> VATIntraManualCheck=يمكنك أيضًا التحقق يدويًا على موقع المفوضية الأوروبية <a href="%s" target="_blank" rel="noopener noreferrer"> %s </a>
ErrorVATCheckMS_UNAVAILABLE=تحقق غير ممكن. لا يتم توفير خدمة التحقق من قبل الدولة العضو (%s). ErrorVATCheckMS_UNAVAILABLE=تحقق غير ممكن. لا يتم توفير خدمة التحقق من قبل الدولة العضو (%s).
NorProspectNorCustomer=ليس فرصة، ولا عميل NorProspectNorCustomer=ليس فرصة، ولا عميل
JuridicalStatus=نوع الكيان التجاري JuridicalStatus=نوع الكيان التجاري
@ -461,12 +462,12 @@ ListSuppliersShort=قائمة الموردين
ListProspectsShort=قائمة الفرص ListProspectsShort=قائمة الفرص
ListCustomersShort=قائمة العملاء ListCustomersShort=قائمة العملاء
ThirdPartiesArea=الأطراف الثالثة | جهات الاتصال ThirdPartiesArea=الأطراف الثالثة | جهات الاتصال
LastModifiedThirdParties=Latest %s Third Parties which were modified LastModifiedThirdParties=أحدث %s الأطراف الثالثة التي تم تعديلها
UniqueThirdParties=Total number of Third Parties UniqueThirdParties=إجمالي عدد الأطراف الثالثة
InActivity=فتح InActivity=فتح
ActivityCeased=مغلق ActivityCeased=مغلق
ThirdPartyIsClosed=الطرف الثالث مغلق ThirdPartyIsClosed=الطرف الثالث مغلق
ProductsIntoElements=List of products/services mapped to %s ProductsIntoElements=قائمة المنتجات / الخدمات المعيّنة لـ %s
CurrentOutstandingBill=فاتورة مستحقة حاليا CurrentOutstandingBill=فاتورة مستحقة حاليا
OutstandingBill=الأعلى للفاتورة المستحقة OutstandingBill=الأعلى للفاتورة المستحقة
OutstandingBillReached=الأعلى لفاتورة مستحقة وصلت OutstandingBillReached=الأعلى لفاتورة مستحقة وصلت
@ -476,7 +477,7 @@ LeopardNumRefModelDesc=الكود مجاني. يمكن تعديل هذا الك
ManagingDirectors=اسم المدير (المديرون) (الرئيس التنفيذي ، المدير ، الرئيس) ManagingDirectors=اسم المدير (المديرون) (الرئيس التنفيذي ، المدير ، الرئيس)
MergeOriginThirdparty=طرف ثالث مكرر (الطرف الثالث الذي تريد حذفه) MergeOriginThirdparty=طرف ثالث مكرر (الطرف الثالث الذي تريد حذفه)
MergeThirdparties=دمج أطراف ثالثة MergeThirdparties=دمج أطراف ثالثة
ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. ConfirmMergeThirdparties=هل أنت متأكد أنك تريد دمج الطرف الثالث المختار مع الطرف الحالي؟ سيتم نقل جميع العناصر المرتبطة (الفواتير ، الطلبات ، ...) إلى الطرف الثالث الحالي ، وبعد ذلك سيتم حذف الطرف الثالث المختار.
ThirdpartiesMergeSuccess=تم دمج الأطراف الثالثة ThirdpartiesMergeSuccess=تم دمج الأطراف الثالثة
SaleRepresentativeLogin=تسجيل دخول مندوب مبيعات SaleRepresentativeLogin=تسجيل دخول مندوب مبيعات
SaleRepresentativeFirstname=الاسم الأول لمندوب المبيعات SaleRepresentativeFirstname=الاسم الأول لمندوب المبيعات

View File

@ -4,14 +4,15 @@
NoErrorCommitIsDone=أي خطأ، ونحن نلزم NoErrorCommitIsDone=أي خطأ، ونحن نلزم
# Errors # Errors
ErrorButCommitIsDone=تم العثور على أخطاء لكننا تحقق على الرغم من هذا ErrorButCommitIsDone=تم العثور على أخطاء لكننا تحقق على الرغم من هذا
ErrorBadEMail=Email %s is incorrect ErrorBadEMail=البريد الإلكتروني %s غير صحيح
ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) ErrorBadMXDomain=يبدو البريد الإلكتروني %s غير صحيح (المجال لا يحتوي على سجل MX صالح)
ErrorBadUrl=Url %s is incorrect ErrorBadUrl=عنوان Url %s غير صحيح
ErrorBadValueForParamNotAString=Bad value for your parameter. It appends generally when translation is missing. ErrorBadValueForParamNotAString=Bad value for your parameter. It appends generally when translation is missing.
ErrorRefAlreadyExists=Reference <b>%s</b> already exists. ErrorRefAlreadyExists=المرجع <b> %s </b> موجود بالفعل.
ErrorTitleAlreadyExists=العنوان <b> %s </b> موجود بالفعل.
ErrorLoginAlreadyExists=ادخل ٪ ق موجود بالفعل. ErrorLoginAlreadyExists=ادخل ٪ ق موجود بالفعل.
ErrorGroupAlreadyExists=المجموعة ٪ ق موجود بالفعل. ErrorGroupAlreadyExists=المجموعة ٪ ق موجود بالفعل.
ErrorEmailAlreadyExists=Email %s already exists. ErrorEmailAlreadyExists=البريد الإلكتروني %s موجود بالفعل.
ErrorRecordNotFound=لم يتم العثور على السجل. ErrorRecordNotFound=لم يتم العثور على السجل.
ErrorFailToCopyFile=فشل في نسخ الملف <b>'%s'</b> إلى <b>'%s</b> &quot;. ErrorFailToCopyFile=فشل في نسخ الملف <b>'%s'</b> إلى <b>'%s</b> &quot;.
ErrorFailToCopyDir=Failed to copy directory '<b>%s</b>' into '<b>%s</b>'. ErrorFailToCopyDir=Failed to copy directory '<b>%s</b>' into '<b>%s</b>'.
@ -26,34 +27,34 @@ ErrorFailToGenerateFile=Failed to generate file '<b>%s</b>'.
ErrorThisContactIsAlreadyDefinedAsThisType=هذا الاتصال هو اتصال بالفعل تعريف لهذا النوع. ErrorThisContactIsAlreadyDefinedAsThisType=هذا الاتصال هو اتصال بالفعل تعريف لهذا النوع.
ErrorCashAccountAcceptsOnlyCashMoney=هذا الحساب المصرفي هو الحساب النقدي ، وذلك ما وافق على نوع من المدفوعات النقدية فقط. ErrorCashAccountAcceptsOnlyCashMoney=هذا الحساب المصرفي هو الحساب النقدي ، وذلك ما وافق على نوع من المدفوعات النقدية فقط.
ErrorFromToAccountsMustDiffers=المصدر والأهداف يجب أن تكون الحسابات المصرفية المختلفة. ErrorFromToAccountsMustDiffers=المصدر والأهداف يجب أن تكون الحسابات المصرفية المختلفة.
ErrorBadThirdPartyName=Bad value for third-party name ErrorBadThirdPartyName=قيمة سيئة لاسم الجهة الخارجية
ForbiddenBySetupRules=Forbidden by setup rules ForbiddenBySetupRules=ممنوع بواسطة قواعد الإعداد
ErrorProdIdIsMandatory=و٪ s غير إلزامي ErrorProdIdIsMandatory=و٪ s غير إلزامي
ErrorAccountancyCodeCustomerIsMandatory=The accountancy code of customer %s is mandatory ErrorAccountancyCodeCustomerIsMandatory=كود المحاسبة الخاص بالعميل %s إلزامي
ErrorBadCustomerCodeSyntax=سوء تركيب الزبون مدونة ErrorBadCustomerCodeSyntax=سوء تركيب الزبون مدونة
ErrorBadBarCodeSyntax=Bad syntax for barcode. May be you set a bad barcode type or you defined a barcode mask for numbering that does not match value scanned. ErrorBadBarCodeSyntax=بناء جملة غير صالح للرمز الشريطي. قد تكون قد قمت بتعيين نوع رمز شريطي سيئ أو أنك حددت قناع رمز شريطي للترقيم لا يتطابق مع القيمة الممسوحة ضوئيًا.
ErrorCustomerCodeRequired=رمز العميل المطلوبة ErrorCustomerCodeRequired=رمز العميل المطلوبة
ErrorBarCodeRequired=Barcode required ErrorBarCodeRequired=الرمز الشريطي مطلوب
ErrorCustomerCodeAlreadyUsed=الشفرة المستخدمة بالفعل العملاء ErrorCustomerCodeAlreadyUsed=الشفرة المستخدمة بالفعل العملاء
ErrorBarCodeAlreadyUsed=Barcode already used ErrorBarCodeAlreadyUsed=الباركود مستخدم بالفعل
ErrorPrefixRequired=المطلوب ببادئة ErrorPrefixRequired=المطلوب ببادئة
ErrorBadSupplierCodeSyntax=Bad syntax for vendor code ErrorBadSupplierCodeSyntax=بناء جملة غير صالح لرمز البائع
ErrorSupplierCodeRequired=Vendor code required ErrorSupplierCodeRequired=كود البائع مطلوب
ErrorSupplierCodeAlreadyUsed=Vendor code already used ErrorSupplierCodeAlreadyUsed=كود البائع مستخدم بالفعل
ErrorBadParameters=بارامترات سيئة ErrorBadParameters=بارامترات سيئة
ErrorWrongParameters=Wrong or missing parameters ErrorWrongParameters=معلمات خاطئة أو مفقودة
ErrorBadValueForParameter=Wrong value '%s' for parameter '%s' ErrorBadValueForParameter=Wrong value '%s' for parameter '%s'
ErrorBadImageFormat=ملف الصورة لم تنسيق معتمد (PHP لديك لا يدعم وظائف لتحويل الصور من هذا الشكل) ErrorBadImageFormat=ملف الصورة لم تنسيق معتمد (PHP لديك لا يدعم وظائف لتحويل الصور من هذا الشكل)
ErrorBadDateFormat='%s' قيمة له خاطئ تنسيق التاريخ ErrorBadDateFormat='%s' قيمة له خاطئ تنسيق التاريخ
ErrorWrongDate=تاريخ غير صحيح! ErrorWrongDate=تاريخ غير صحيح!
ErrorFailedToWriteInDir=لم يكتب في دليل ٪ ق ErrorFailedToWriteInDir=لم يكتب في دليل ٪ ق
ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=العثور على بريد إلكتروني صحيح لتركيب خطوط ق ٪ في ملف (على سبيل المثال خط ٪ ق= ٪ مع البريد الإلكتروني) ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=العثور على بريد إلكتروني صحيح لتركيب خطوط ق ٪ في ملف (على سبيل المثال خط ٪ ق= ٪ مع البريد الإلكتروني)
ErrorUserCannotBeDelete=User cannot be deleted. Maybe it is associated to Dolibarr entities. ErrorUserCannotBeDelete=لا يمكن حذف المستخدم. ربما يرتبط بكيانات Dolibarr.
ErrorFieldsRequired=Some required fields have been left blank. ErrorFieldsRequired=تم ترك بعض الحقول المطلوبة فارغة.
ErrorSubjectIsRequired=The email subject is required ErrorSubjectIsRequired=موضوع البريد الإلكتروني مطلوب
ErrorFailedToCreateDir=فشل إنشاء دليل. تأكد من أن خادم الويب المستخدم أذونات لكتابة وثائق Dolibarr في الدليل. إذا تم تمكين المعلم <b>safe_mode</b> على هذا PHP ، تحقق من أن ملفات Dolibarr php تملك لخدمة الويب المستخدم (أو مجموعة). ErrorFailedToCreateDir=فشل إنشاء دليل. تأكد من أن خادم الويب المستخدم أذونات لكتابة وثائق Dolibarr في الدليل. إذا تم تمكين المعلم <b>safe_mode</b> على هذا PHP ، تحقق من أن ملفات Dolibarr php تملك لخدمة الويب المستخدم (أو مجموعة).
ErrorNoMailDefinedForThisUser=البريد لا يعرف لهذا المستخدم ErrorNoMailDefinedForThisUser=البريد لا يعرف لهذا المستخدم
ErrorSetupOfEmailsNotComplete=Setup of emails is not complete ErrorSetupOfEmailsNotComplete=لم يكتمل إعداد رسائل البريد الإلكتروني
ErrorFeatureNeedJavascript=هذه الميزة تحتاج إلى تفعيل جافا سكريبت في العمل. هذا التغيير في البنية -- عرض. ErrorFeatureNeedJavascript=هذه الميزة تحتاج إلى تفعيل جافا سكريبت في العمل. هذا التغيير في البنية -- عرض.
ErrorTopMenuMustHaveAParentWithId0=وهناك قائمة من نوع 'توب' لا يمكن أن يكون أحد الوالدين القائمة. 0 وضعت في القائمة أو الأم في اختيار قائمة من نوع 'اليسار'. ErrorTopMenuMustHaveAParentWithId0=وهناك قائمة من نوع 'توب' لا يمكن أن يكون أحد الوالدين القائمة. 0 وضعت في القائمة أو الأم في اختيار قائمة من نوع 'اليسار'.
ErrorLeftMenuMustHaveAParentId=وهناك قائمة من نوع 'اليسار' يجب أن يكون لها هوية الوالد. ErrorLeftMenuMustHaveAParentId=وهناك قائمة من نوع 'اليسار' يجب أن يكون لها هوية الوالد.
@ -62,74 +63,75 @@ ErrorDirNotFound=لم يتم العثور على دليل <b>%s</b> (مسار غ
ErrorFunctionNotAvailableInPHP=<b>ق ٪</b> وظيفة مطلوبة لهذه الميزة ولكن لا تتوافر في هذه النسخة / الإعداد للPHP. ErrorFunctionNotAvailableInPHP=<b>ق ٪</b> وظيفة مطلوبة لهذه الميزة ولكن لا تتوافر في هذه النسخة / الإعداد للPHP.
ErrorDirAlreadyExists=دليل بهذا الاسم بالفعل. ErrorDirAlreadyExists=دليل بهذا الاسم بالفعل.
ErrorFileAlreadyExists=ملف بهذا الاسم موجود مسبقا. ErrorFileAlreadyExists=ملف بهذا الاسم موجود مسبقا.
ErrorDestinationAlreadyExists=Another file with the name <b>%s</b> already exists. ErrorDestinationAlreadyExists=ملف آخر يحمل الاسم <b> %s </b> موجود بالفعل.
ErrorPartialFile=الملف لم تتلق تماما بواسطة الخادم. ErrorPartialFile=الملف لم تتلق تماما بواسطة الخادم.
ErrorNoTmpDir=%s directy مؤقتة لا وجود. ErrorNoTmpDir=%s directy مؤقتة لا وجود.
ErrorUploadBlockedByAddon=حظر حمل من قبل البرنامج المساعد بى اباتشي /. ErrorUploadBlockedByAddon=حظر حمل من قبل البرنامج المساعد بى اباتشي /.
ErrorFileSizeTooLarge=حجم الملف كبير جدا. ErrorFileSizeTooLarge=حجم الملف كبير جدًا أو لم يتم توفير الملف.
ErrorFieldTooLong=Field %s is too long. ErrorFieldTooLong=الحقل %s طويل جدًا.
ErrorSizeTooLongForIntType=طويل جدا بالنسبة نوع INT (%s أرقام كحد أقصى) حجم ErrorSizeTooLongForIntType=طويل جدا بالنسبة نوع INT (%s أرقام كحد أقصى) حجم
ErrorSizeTooLongForVarcharType=وقتا طويلا لنوع السلسلة (%s حرف كحد أقصى) حجم ErrorSizeTooLongForVarcharType=وقتا طويلا لنوع السلسلة (%s حرف كحد أقصى) حجم
ErrorNoValueForSelectType=يرجى ملء قيمة لقائمة مختارة ErrorNoValueForSelectType=يرجى ملء قيمة لقائمة مختارة
ErrorNoValueForCheckBoxType=يرجى ملء قيمة لقائمة مربع ErrorNoValueForCheckBoxType=يرجى ملء قيمة لقائمة مربع
ErrorNoValueForRadioType=يرجى ملء قيمة لقائمة الراديو ErrorNoValueForRadioType=يرجى ملء قيمة لقائمة الراديو
ErrorBadFormatValueList=قيمة القائمة لا يمكن أن يكون أكثر من واحد <u>فاصلة:٪ الصورة،</u> ولكن تحتاج إلى واحد على الأقل: مفتاح، قيمة ErrorBadFormatValueList=قيمة القائمة لا يمكن أن يكون أكثر من واحد <u>فاصلة:٪ الصورة،</u> ولكن تحتاج إلى واحد على الأقل: مفتاح، قيمة
ErrorFieldCanNotContainSpecialCharacters=The field <b>%s</b> must not contains special characters. ErrorFieldCanNotContainSpecialCharacters=يجب ألا يحتوي الحقل <b> %s </b> على أحرف خاصة.
ErrorFieldCanNotContainSpecialNorUpperCharacters=The field <b>%s</b> must not contain special characters, nor upper case characters and cannot contain only numbers. ErrorFieldCanNotContainSpecialNorUpperCharacters=يجب ألا يحتوي الحقل <b> %s </b> على أحرف خاصة ولا أحرف كبيرة ولا يمكن أن يحتوي على أرقام فقط.
ErrorFieldMustHaveXChar=The field <b>%s</b> must have at least %s characters. ErrorFieldMustHaveXChar=يجب أن يحتوي الحقل <b> %s </b> على أحرف %s على الأقل.
ErrorNoAccountancyModuleLoaded=أي وحدة المحاسبة وتفعيل ErrorNoAccountancyModuleLoaded=أي وحدة المحاسبة وتفعيل
ErrorExportDuplicateProfil=هذا الاسم الشخصي موجود مسبقا لهذه المجموعة التصدير. ErrorExportDuplicateProfil=هذا الاسم الشخصي موجود مسبقا لهذه المجموعة التصدير.
ErrorLDAPSetupNotComplete=Dolibarr - LDAP المطابقة وليس كاملا. ErrorLDAPSetupNotComplete=Dolibarr - LDAP المطابقة وليس كاملا.
ErrorLDAPMakeManualTest=ألف. ldif الملف قد ولدت في الدليل ٪ s. انها محاولة لتحميل يدويا من سطر في الحصول على مزيد من المعلومات عن الأخطاء. ErrorLDAPMakeManualTest=ألف. ldif الملف قد ولدت في الدليل ٪ s. انها محاولة لتحميل يدويا من سطر في الحصول على مزيد من المعلومات عن الأخطاء.
ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not started" if field "done by" is also filled. ErrorCantSaveADoneUserWithZeroPercentage=لا يمكن حفظ إجراء مع "الحالة لم تبدأ" إذا تم ملء الحقل "تم بواسطة" أيضًا.
ErrorRefAlreadyExists=Reference <b>%s</b> already exists. ErrorRefAlreadyExists=المرجع <b> %s </b> موجود بالفعل.
ErrorPleaseTypeBankTransactionReportName=Please enter the bank statement name where the entry has to be reported (Format YYYYMM or YYYYMMDD) ErrorPleaseTypeBankTransactionReportName=الرجاء إدخال اسم كشف الحساب المصرفي حيث يجب الإبلاغ عن الإدخال (التنسيق YYYYMM أو YYYYMMDD)
ErrorRecordHasChildren=Failed to delete record since it has some child records. ErrorRecordHasChildren=فشل حذف السجل لأنه يحتوي على بعض السجلات التابعة.
ErrorRecordHasAtLeastOneChildOfType=Object %s has at least one child of type %s ErrorRecordHasAtLeastOneChildOfType=يحتوي الكائن %s على عنصر فرعي واحد على الأقل من النوع %s
ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into another object. ErrorRecordIsUsedCantDelete=لا يمكن حذف السجل. تم استخدامه بالفعل أو تضمينه في كائن آخر.
ErrorModuleRequireJavascript=يجب عدم تعطيل جافا سكريبت لجعل هذا العمل الميزة. لتمكين / تعطيل جافا سكريبت ، انتقل إلى القائمة الرئيسية -> الإعداد -> العرض. ErrorModuleRequireJavascript=يجب عدم تعطيل جافا سكريبت لجعل هذا العمل الميزة. لتمكين / تعطيل جافا سكريبت ، انتقل إلى القائمة الرئيسية -> الإعداد -> العرض.
ErrorPasswordsMustMatch=ويجب على كلا كلمات المرور المكتوبة تطابق بعضها البعض ErrorPasswordsMustMatch=ويجب على كلا كلمات المرور المكتوبة تطابق بعضها البعض
ErrorContactEMail=A technical error occured. Please, contact administrator to following email <b>%s</b> and provide the error code <b>%s</b> in your message, or add a screen copy of this page. ErrorContactEMail=حدث خطأ تقني. من فضلك ، اتصل بالمسؤول إلى البريد الإلكتروني التالي <b> %s </b> وقدم رمز الخطأ <b> %s </b> في رسالتك ، أو أضف شاشة.
ErrorWrongValueForField=Field <b>%s</b>: '<b>%s</b>' does not match regex rule <b>%s</b> ErrorWrongValueForField=الحقل <b> %s </b>: '<b> %s </b>' لا يتطابق مع قاعدة regexz a0aeez08708f37439
ErrorFieldValueNotIn=Field <b>%s</b>: '<b>%s</b>' is not a value found in field <b>%s</b> of <b>%s</b> ErrorHtmlInjectionForField=الحقل <b> %s </b>: تحتوي القيمة '<b> %s </b>' على بيانات ضارة غير مسموح بها
ErrorFieldRefNotIn=Field <b>%s</b>: '<b>%s</b>' is not a <b>%s</b> existing ref ErrorFieldValueNotIn=Field <b> %s </b> : ' <b> %s </b> ' is not a value found in field <b> %s </b> of <b> %s </b>
ErrorsOnXLines=%s errors found ErrorFieldRefNotIn=الحقل <b> %s </b>: '<b> %s </b>' ليس a0aee833658377fz039
ErrorsOnXLines=تم العثور على أخطاء %s
ErrorFileIsInfectedWithAVirus=وكان برنامج مكافحة الفيروسات غير قادرة على التحقق من صحة الملف (ملف قد يكون مصابا بواسطة فيروس) ErrorFileIsInfectedWithAVirus=وكان برنامج مكافحة الفيروسات غير قادرة على التحقق من صحة الملف (ملف قد يكون مصابا بواسطة فيروس)
ErrorSpecialCharNotAllowedForField=غير مسموح الأحرف الخاصة لحقل "%s" ErrorSpecialCharNotAllowedForField=غير مسموح الأحرف الخاصة لحقل "%s"
ErrorNumRefModel=إشارة إلى وجود قاعدة بيانات (%s) ، وغير متوافق مع هذه القاعدة الترقيم. سجل إزالة أو إعادة تسميته اشارة الى تفعيل هذه الوحدة. ErrorNumRefModel=إشارة إلى وجود قاعدة بيانات (%s) ، وغير متوافق مع هذه القاعدة الترقيم. سجل إزالة أو إعادة تسميته اشارة الى تفعيل هذه الوحدة.
ErrorQtyTooLowForThisSupplier=Quantity too low for this vendor or no price defined on this product for this vendor ErrorQtyTooLowForThisSupplier=الكمية منخفضة جدًا لهذا البائع أو لم يتم تحديد سعر لهذا المنتج لهذا البائع
ErrorOrdersNotCreatedQtyTooLow=Some orders haven't been created because of too-low quantities ErrorOrdersNotCreatedQtyTooLow=لم يتم إنشاء بعض الطلبات بسبب الكميات المنخفضة للغاية
ErrorModuleSetupNotComplete=Setup of module %s looks to be uncomplete. Go on Home - Setup - Modules to complete. ErrorModuleSetupNotComplete=يبدو أن إعداد الوحدة النمطية %s غير كامل. انتقل إلى الصفحة الرئيسية - الإعداد - الوحدات النمطية لإكمالها.
ErrorBadMask=خطأ في قناع ErrorBadMask=خطأ في قناع
ErrorBadMaskFailedToLocatePosOfSequence=خطأ، من دون قناع رقم التسلسل ErrorBadMaskFailedToLocatePosOfSequence=خطأ، من دون قناع رقم التسلسل
ErrorBadMaskBadRazMonth=خطأ، قيمة إعادة سيئة ErrorBadMaskBadRazMonth=خطأ، قيمة إعادة سيئة
ErrorMaxNumberReachForThisMask=Maximum number reached for this mask ErrorMaxNumberReachForThisMask=تم الوصول إلى الحد الأقصى لعدد هذا القناع
ErrorCounterMustHaveMoreThan3Digits=يجب أن يكون العداد أكثر من 3 أرقام ErrorCounterMustHaveMoreThan3Digits=يجب أن يكون العداد أكثر من 3 أرقام
ErrorSelectAtLeastOne=Error, select at least one entry. ErrorSelectAtLeastOne=خطأ ، حدد إدخال واحد على الأقل.
ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transaction that is conciliated ErrorDeleteNotPossibleLineIsConsolidated=الحذف غير ممكن لأن السجل مرتبط بمعاملة بنكية تمت تسويتها
ErrorProdIdAlreadyExist=يتم تعيين ثلث آخر إلى %s ErrorProdIdAlreadyExist=يتم تعيين ثلث آخر إلى %s
ErrorFailedToSendPassword=لم ترسل كلمة السر ErrorFailedToSendPassword=لم ترسل كلمة السر
ErrorFailedToLoadRSSFile=فشل في الحصول على آر إس إس. محاولة إضافة MAIN_SIMPLEXMLLOAD_DEBUG ثابت إذا رسائل الخطأ لا توفر ما يكفي من المعلومات. ErrorFailedToLoadRSSFile=فشل في الحصول على آر إس إس. محاولة إضافة MAIN_SIMPLEXMLLOAD_DEBUG ثابت إذا رسائل الخطأ لا توفر ما يكفي من المعلومات.
ErrorForbidden=تم الرفض. <br> محاولة الوصول إلى صفحة أو منطقة أو ميزة من وحدة نمطية تعطيل أو دون أن تكون في جلسة مصادقة أو الذي لا يسمح له المستخدم الخاص بك. ErrorForbidden=تم الرفض. <br> محاولة الوصول إلى صفحة أو منطقة أو ميزة من وحدة نمطية تعطيل أو دون أن تكون في جلسة مصادقة أو الذي لا يسمح له المستخدم الخاص بك.
ErrorForbidden2=ويمكن تعريف إذن لهذا الدخول من قبل المسؤول Dolibarr الخاص بك من القائمة %s-> %s. ErrorForbidden2=ويمكن تعريف إذن لهذا الدخول من قبل المسؤول Dolibarr الخاص بك من القائمة %s-> %s.
ErrorForbidden3=يبدو أن لا يتم استخدام Dolibarr خلال جلسة المصادقة. نلقي نظرة على وثائق الإعداد Dolibarr لمعرفة كيفية إدارة المصادقة (تاكيس، mod_auth أو غيرها ...). ErrorForbidden3=يبدو أن لا يتم استخدام Dolibarr خلال جلسة المصادقة. نلقي نظرة على وثائق الإعداد Dolibarr لمعرفة كيفية إدارة المصادقة (تاكيس، mod_auth أو غيرها ...).
ErrorForbidden4=Note: clear your browser cookies to destroy existing sessions for this login. ErrorForbidden4=ملاحظة: امسح ملفات تعريف الارتباط في متصفحك لتدمير الجلسات الحالية لتسجيل الدخول هذا.
ErrorNoImagickReadimage=لم يتم العثور على فئة Imagick في هذا PHP. لا يمكن لمعاينة تكون متاحة. يمكن للمسؤولين تعطيل هذا التبويب من إعداد القائمة - عرض. ErrorNoImagickReadimage=لم يتم العثور على فئة Imagick في هذا PHP. لا يمكن لمعاينة تكون متاحة. يمكن للمسؤولين تعطيل هذا التبويب من إعداد القائمة - عرض.
ErrorRecordAlreadyExists=سجل موجود بالفعل ErrorRecordAlreadyExists=سجل موجود بالفعل
ErrorLabelAlreadyExists=This label already exists ErrorLabelAlreadyExists=هذه التسمية موجودة بالفعل
ErrorCantReadFile=فشل في قراءة الملف '%s' ErrorCantReadFile=فشل في قراءة الملف '%s'
ErrorCantReadDir=فشل في قراءة '%s' الدليل ErrorCantReadDir=فشل في قراءة '%s' الدليل
ErrorBadLoginPassword=سيئة قيمة لتسجيل الدخول أو كلمة السر ErrorBadLoginPassword=سيئة قيمة لتسجيل الدخول أو كلمة السر
ErrorLoginDisabled=لقد تم تعطيل حسابك ErrorLoginDisabled=لقد تم تعطيل حسابك
ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. ErrorFailedToRunExternalCommand=فشل تشغيل الأمر الخارجي. تحقق من أنه متاح وقابل للتشغيل بواسطة مستخدم خادم PHP. تحقق أيضًا من أن الأمر غير محمي على مستوى الصدفة بواسطة طبقة أمان مثل apparmor.
ErrorFailedToChangePassword=فشل في تغيير كلمة السر ErrorFailedToChangePassword=فشل في تغيير كلمة السر
ErrorLoginDoesNotExists=لا يستطيع المستخدم الدخول مع <b>%s</b> يمكن العثور عليها. ErrorLoginDoesNotExists=لا يستطيع المستخدم الدخول مع <b>%s</b> يمكن العثور عليها.
ErrorLoginHasNoEmail=هذا المستخدم ليس لديه عنوان البريد الإلكتروني. إحباط عملية. ErrorLoginHasNoEmail=هذا المستخدم ليس لديه عنوان البريد الإلكتروني. إحباط عملية.
ErrorBadValueForCode=سيئة قيمة لرمز الحماية. حاول مرة أخرى مع القيمة الجديدة ... ErrorBadValueForCode=سيئة قيمة لرمز الحماية. حاول مرة أخرى مع القيمة الجديدة ...
ErrorBothFieldCantBeNegative=ويمكن لحقول %s و%s لا تكون سلبية ErrorBothFieldCantBeNegative=ويمكن لحقول %s و%s لا تكون سلبية
ErrorFieldCantBeNegativeOnInvoice=Field <strong>%s</strong> cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice. ErrorFieldCantBeNegativeOnInvoice=لا يمكن أن يكون الحقل <strong> %s </strong> سالبًا في هذا النوع من الفاتورة. إذا كنت بحاجة إلى إضافة بند خصم ، فما عليك سوى إنشاء الخصم أولاً (من الحقل "%s" في بطاقة الطرف الثالث) وتطبيقه على الفاتورة.
ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate <b>%s</b>%%). ErrorLinesCantBeNegativeForOneVATRate=لا يمكن أن يكون إجمالي البنود (صافي الضريبة) سالبًا لمعدل ضريبة القيمة المضافة غير الفارغ (تم العثور على إجمالي سلبي لمعدل ضريبة القيمة المضافة <b> %s </b> %%).
ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so. ErrorLinesCantBeNegativeOnDeposits=لا يمكن أن تكون الأسطر سالبة في الإيداع. ستواجه مشاكل عندما تحتاج إلى استهلاك الإيداع في الفاتورة النهائية إذا قمت بذلك.
ErrorQtyForCustomerInvoiceCantBeNegative=كمية لخط في فواتير العملاء لا يمكن أن يكون سلبيا ErrorQtyForCustomerInvoiceCantBeNegative=كمية لخط في فواتير العملاء لا يمكن أن يكون سلبيا
ErrorWebServerUserHasNotPermission=<b>%s</b> تستخدم حساب مستخدم لتنفيذ خادم الويب لا يوجد لديه إذن لذلك ErrorWebServerUserHasNotPermission=<b>%s</b> تستخدم حساب مستخدم لتنفيذ خادم الويب لا يوجد لديه إذن لذلك
ErrorNoActivatedBarcode=لا يوجد نوع الباركود تفعيلها ErrorNoActivatedBarcode=لا يوجد نوع الباركود تفعيلها
@ -142,10 +144,10 @@ ErrorFailedToAddToMailmanList=فشل لاضافة التسجيلة٪ s إلى ق
ErrorFailedToRemoveToMailmanList=فشل لإزالة سجل٪ s إلى قائمة ميلمان٪ الصورة أو قاعدة SPIP ErrorFailedToRemoveToMailmanList=فشل لإزالة سجل٪ s إلى قائمة ميلمان٪ الصورة أو قاعدة SPIP
ErrorNewValueCantMatchOldValue=قيمة جديدة لا يمكن أن يكون مساويا لالقديم ErrorNewValueCantMatchOldValue=قيمة جديدة لا يمكن أن يكون مساويا لالقديم
ErrorFailedToValidatePasswordReset=فشل في reinit كلمة المرور. قد يكون وقد تم بالفعل reinit (هذا الرابط يمكن استخدامها مرة واحدة فقط). إن لم يكن، في محاولة لاستئناف عملية reinit. ErrorFailedToValidatePasswordReset=فشل في reinit كلمة المرور. قد يكون وقد تم بالفعل reinit (هذا الرابط يمكن استخدامها مرة واحدة فقط). إن لم يكن، في محاولة لاستئناف عملية reinit.
ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check database server is running (for example, with mysql/mariadb, you can launch it from command line with 'sudo service mysql start'). ErrorToConnectToMysqlCheckInstance=فشل الاتصال بقاعدة البيانات. تحقق من تشغيل خادم قاعدة البيانات (على سبيل المثال ، باستخدام mysql / mariadb ، يمكنك تشغيله من سطر الأوامر باستخدام "sudo service mysql start").
ErrorFailedToAddContact=فشل في إضافة جهة اتصال ErrorFailedToAddContact=فشل في إضافة جهة اتصال
ErrorDateMustBeBeforeToday=The date must be lower than today ErrorDateMustBeBeforeToday=يجب أن يكون التاريخ أقل من اليوم
ErrorDateMustBeInFuture=The date must be greater than today ErrorDateMustBeInFuture=يجب أن يكون التاريخ أكبر من اليوم
ErrorPaymentModeDefinedToWithoutSetup=وتم تشكيل لطريقة الدفع لكتابة٪ الصورة ولكن لم يكتمل الإعداد من وحدة الفاتورة لتحديد المعلومات لاظهار هذه طريقة الدفع. ErrorPaymentModeDefinedToWithoutSetup=وتم تشكيل لطريقة الدفع لكتابة٪ الصورة ولكن لم يكتمل الإعداد من وحدة الفاتورة لتحديد المعلومات لاظهار هذه طريقة الدفع.
ErrorPHPNeedModule=خطأ، يجب PHP الخاص بتثبيت <b>وحدة٪ s إلى</b> استخدام هذه الميزة. ErrorPHPNeedModule=خطأ، يجب PHP الخاص بتثبيت <b>وحدة٪ s إلى</b> استخدام هذه الميزة.
ErrorOpenIDSetupNotComplete=يمكنك إعداد Dolibarr ملف التكوين للسماح بالمصادقة رض، ولكن لم يتم تعريف URL الخدمة رض إلى المستمر٪ الصورة ErrorOpenIDSetupNotComplete=يمكنك إعداد Dolibarr ملف التكوين للسماح بالمصادقة رض، ولكن لم يتم تعريف URL الخدمة رض إلى المستمر٪ الصورة
@ -154,7 +156,7 @@ ErrorBadFormat=شكل سيئة!
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any third party. Link member to an existing third party or create a new third party before creating subscription with invoice. ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any third party. Link member to an existing third party or create a new third party before creating subscription with invoice.
ErrorThereIsSomeDeliveries=خطأ، وهناك بعض الولادات ترتبط هذه الشحنة. رفض الحذف. ErrorThereIsSomeDeliveries=خطأ، وهناك بعض الولادات ترتبط هذه الشحنة. رفض الحذف.
ErrorCantDeletePaymentReconciliated=Can't delete a payment that had generated a bank entry that was reconciled ErrorCantDeletePaymentReconciliated=Can't delete a payment that had generated a bank entry that was reconciled
ErrorCantDeletePaymentSharedWithPayedInvoice=Can't delete a payment shared by at least one invoice with status Paid ErrorCantDeletePaymentSharedWithPayedInvoice=لا يمكن حذف دفعة مشتركة بواسطة فاتورة واحدة على الأقل بالحالة مدفوعة
ErrorPriceExpression1=لا يمكن تعيين إلى ثابت '٪ ق' ErrorPriceExpression1=لا يمكن تعيين إلى ثابت '٪ ق'
ErrorPriceExpression2=لا يمكن إعادة تعريف المدمج في وظيفة '٪ ق' ErrorPriceExpression2=لا يمكن إعادة تعريف المدمج في وظيفة '٪ ق'
ErrorPriceExpression3=متغير غير معرف '٪ s' في تعريف الدالة ErrorPriceExpression3=متغير غير معرف '٪ s' في تعريف الدالة
@ -163,7 +165,7 @@ ErrorPriceExpression5=غير متوقع '٪ ق'
ErrorPriceExpression6=عدد خاطئ من الوسائط (٪ ق معين،٪ المتوقعة الصورة) ErrorPriceExpression6=عدد خاطئ من الوسائط (٪ ق معين،٪ المتوقعة الصورة)
ErrorPriceExpression8=مشغل غير متوقع '٪ ق' ErrorPriceExpression8=مشغل غير متوقع '٪ ق'
ErrorPriceExpression9=حدث خطأ غير متوقع ErrorPriceExpression9=حدث خطأ غير متوقع
ErrorPriceExpression10=Operator '%s' lacks operand ErrorPriceExpression10=عامل التشغيل "%s" يفتقر إلى المعامل
ErrorPriceExpression11=تتوقع '٪ ق' ErrorPriceExpression11=تتوقع '٪ ق'
ErrorPriceExpression14=القسمة على صفر ErrorPriceExpression14=القسمة على صفر
ErrorPriceExpression17=غير معرف متغير '٪ ق' ErrorPriceExpression17=غير معرف متغير '٪ ق'
@ -171,12 +173,12 @@ ErrorPriceExpression19=التعبير لم يتم العثور على
ErrorPriceExpression20=التعبير فارغة ErrorPriceExpression20=التعبير فارغة
ErrorPriceExpression21=نتيجة فارغة '٪ ق' ErrorPriceExpression21=نتيجة فارغة '٪ ق'
ErrorPriceExpression22=نتيجة سلبية '٪ ق' ErrorPriceExpression22=نتيجة سلبية '٪ ق'
ErrorPriceExpression23=Unknown or non set variable '%s' in %s ErrorPriceExpression23=متغير غير معروف أو غير محدد "%s" في %s
ErrorPriceExpression24=Variable '%s' exists but has no value ErrorPriceExpression24=المتغير "%s" موجود ولكن ليس له قيمة
ErrorPriceExpressionInternal=خطأ داخلي '٪ ق' ErrorPriceExpressionInternal=خطأ داخلي '٪ ق'
ErrorPriceExpressionUnknown=خطأ غير معروف '٪ ق' ErrorPriceExpressionUnknown=خطأ غير معروف '٪ ق'
ErrorSrcAndTargetWarehouseMustDiffers=يجب المصدر والهدف يختلف المستودعات ErrorSrcAndTargetWarehouseMustDiffers=يجب المصدر والهدف يختلف المستودعات
ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without lot/serial information, on product '%s' requiring lot/serial information ErrorTryToMakeMoveOnProductRequiringBatchData=خطأ ، أثناء محاولة إجراء حركة مخزون بدون معلومات المجموعة / التسلسل ، على المنتج "%s" الذي يتطلب معلومات المجموعة / التسلسل
ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=يجب أولا التحقق من جميع الاستقبالات سجلت (قبول او رفض) قبل أن يسمح لهم القيام بذلك العمل ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=يجب أولا التحقق من جميع الاستقبالات سجلت (قبول او رفض) قبل أن يسمح لهم القيام بذلك العمل
ErrorCantSetReceptionToTotalDoneWithReceptionDenied=يجب أولا التحقق من جميع الاستقبالات سجلت (المعتمد) قبل أن يسمح لهم القيام بذلك العمل ErrorCantSetReceptionToTotalDoneWithReceptionDenied=يجب أولا التحقق من جميع الاستقبالات سجلت (المعتمد) قبل أن يسمح لهم القيام بذلك العمل
ErrorGlobalVariableUpdater0=طلب HTTP فشلت مع الخطأ '٪ ق' ErrorGlobalVariableUpdater0=طلب HTTP فشلت مع الخطأ '٪ ق'
@ -187,14 +189,14 @@ ErrorGlobalVariableUpdater4=العميل SOAP فشلت مع الخطأ '٪ ق'
ErrorGlobalVariableUpdater5=لا متغير عمومي مختارة ErrorGlobalVariableUpdater5=لا متغير عمومي مختارة
ErrorFieldMustBeANumeric=يجب أن يكون <b>حقل٪ الصورة</b> قيمة رقمية ErrorFieldMustBeANumeric=يجب أن يكون <b>حقل٪ الصورة</b> قيمة رقمية
ErrorMandatoryParametersNotProvided=معيار إلزامي (ق) لم تقدم ErrorMandatoryParametersNotProvided=معيار إلزامي (ق) لم تقدم
ErrorOppStatusRequiredIfAmount=You set an estimated amount for this lead. So you must also enter it's status. ErrorOppStatusRequiredIfAmount=قمت بتعيين مبلغ تقديري لهذا العميل المتوقع. لذلك يجب عليك أيضًا إدخال حالتها.
ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=سيئة تعريف القائمة صفيف في الوحدة واصف (القيمة سيئة لfk_menu مفتاح) ErrorBadDefinitionOfMenuArrayInModuleDescriptor=سيئة تعريف القائمة صفيف في الوحدة واصف (القيمة سيئة لfk_menu مفتاح)
ErrorSavingChanges=An error has occurred when saving the changes ErrorSavingChanges=حدث خطأ أثناء حفظ التغييرات
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
ErrorFileMustHaveFormat=File must have format %s ErrorFileMustHaveFormat=File must have format %s
ErrorFilenameCantStartWithDot=Filename can't start with a '.' ErrorFilenameCantStartWithDot=لا يمكن أن يبدأ اسم الملف بـ "."
ErrorSupplierCountryIsNotDefined=Country for this vendor is not defined. Correct this first. ErrorSupplierCountryIsNotDefined=لم يتم تحديد البلد لهذا البائع. صحح هذا أولاً.
ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled. ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled.
ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enough for product %s to add it into a new order. ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enough for product %s to add it into a new order.
ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enough for product %s to add it into a new invoice. ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enough for product %s to add it into a new invoice.
@ -210,87 +212,99 @@ ErrorPhpMailDelivery=Check that you don't use a too high number of recipients an
ErrorUserNotAssignedToTask=User must be assigned to task to be able to enter time consumed. ErrorUserNotAssignedToTask=User must be assigned to task to be able to enter time consumed.
ErrorTaskAlreadyAssigned=Task already assigned to user ErrorTaskAlreadyAssigned=Task already assigned to user
ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format. ErrorModuleFileSeemsToHaveAWrongFormat=The module package seems to have a wrong format.
ErrorModuleFileSeemsToHaveAWrongFormat2=At least one mandatory directory must exists into zip of module: <strong>%s</strong> or <strong>%s</strong> ErrorModuleFileSeemsToHaveAWrongFormat2=يجب أن يوجد دليل إلزامي واحد على الأقل في ملف مضغوط للوحدة النمطية: <strong> %s </strong> أو <strong> %s </strong>
ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (<strong>%s</strong>) does not match expected name syntax: <strong>%s</strong> ErrorFilenameDosNotMatchDolibarrPackageRules=The name of the module package (<strong>%s</strong>) does not match expected name syntax: <strong>%s</strong>
ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s. ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s.
ErrorNoWarehouseDefined=Error, no warehouses defined. ErrorNoWarehouseDefined=Error, no warehouses defined.
ErrorBadLinkSourceSetButBadValueForRef=The link you use is not valid. A 'source' for payment is defined, but value for 'ref' is not valid. ErrorBadLinkSourceSetButBadValueForRef=The link you use is not valid. A 'source' for payment is defined, but value for 'ref' is not valid.
ErrorTooManyErrorsProcessStopped=Too many errors. Process was stopped. ErrorTooManyErrorsProcessStopped=Too many errors. Process was stopped.
ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=Mass validation is not possible when option to increase/decrease stock is set on this action (you must validate one by one so you can define the warehouse to increase/decrease) ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=لا يمكن التحقق من صحة الكتلة عند تعيين خيار زيادة / تقليل المخزون في هذا الإجراء (يجب التحقق من صحة واحدًا تلو الآخر حتى تتمكن من تحديد المستودع لزيادة / تقليل)
ErrorObjectMustHaveStatusDraftToBeValidated=Object %s must have status 'Draft' to be validated. ErrorObjectMustHaveStatusDraftToBeValidated=يجب أن يكون للكائن %s الحالة "مسودة" ليتم التحقق من صحتها.
ErrorObjectMustHaveLinesToBeValidated=Object %s must have lines to be validated. ErrorObjectMustHaveLinesToBeValidated=يجب أن يحتوي الكائن %s على سطور ليتم التحقق من صحتها.
ErrorOnlyInvoiceValidatedCanBeSentInMassAction=Only validated invoices can be sent using the "Send by email" mass action. ErrorOnlyInvoiceValidatedCanBeSentInMassAction=يمكن إرسال الفواتير التي تم التحقق من صحتها فقط باستخدام الإجراء الجماعي "إرسال عبر البريد الإلكتروني".
ErrorChooseBetweenFreeEntryOrPredefinedProduct=You must choose if article is a predefined product or not ErrorChooseBetweenFreeEntryOrPredefinedProduct=يجب أن تختار ما إذا كانت المقالة عبارة عن منتج محدد مسبقًا أم لا
ErrorDiscountLargerThanRemainToPaySplitItBefore=The discount you try to apply is larger than remain to pay. Split the discount in 2 smaller discounts before. ErrorDiscountLargerThanRemainToPaySplitItBefore=الخصم الذي تحاول تطبيقه أكبر من المبلغ المتبقي لدفعه. قسّم الخصم إلى خصمين أصغر من قبل.
ErrorFileNotFoundWithSharedLink=File was not found. May be the share key was modified or file was removed recently. ErrorFileNotFoundWithSharedLink=لم يتم العثور على الملف. قد يكون مفتاح المشاركة قد تم تعديله أو تمت إزالة الملف مؤخرًا.
ErrorProductBarCodeAlreadyExists=The product barcode %s already exists on another product reference. ErrorProductBarCodeAlreadyExists=الرمز الشريطي للمنتج %s موجود بالفعل في مرجع منتج آخر.
ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number. ErrorNoteAlsoThatSubProductCantBeFollowedByLot=لاحظ أيضًا أن استخدام المجموعات لزيادة / تقليل المنتجات الفرعية تلقائيًا غير ممكن عندما يحتاج منتج فرعي واحد على الأقل (أو منتج فرعي من المنتجات الفرعية) إلى رقم تسلسلي / دفعة.
ErrorDescRequiredForFreeProductLines=Description is mandatory for lines with free product ErrorDescRequiredForFreeProductLines=الوصف إلزامي للخطوط التي تحتوي على منتج مجاني
ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container <strong>%s</strong> has the same name or alternative alias that the one your try to use ErrorAPageWithThisNameOrAliasAlreadyExists=الصفحة / الحاوية <strong> %s </strong> لها نفس الاسم أو الاسم المستعار البديل الذي تحاول استخدامه
ErrorDuringChartLoad=Error when loading chart of accounts. If few accounts were not loaded, you can still enter them manually. ErrorDuringChartLoad=خطأ عند تحميل مخطط الحسابات. إذا لم يتم تحميل عدد قليل من الحسابات ، فلا يزال بإمكانك إدخالها يدويًا.
ErrorBadSyntaxForParamKeyForContent=Bad syntax for param keyforcontent. Must have a value starting with %s or %s ErrorBadSyntaxForParamKeyForContent=بناء جملة غير صحيح لـ param keyforcontent. يجب أن تبدأ القيمة بـ %s أو %s
ErrorVariableKeyForContentMustBeSet=Error, the constant with name %s (with text content to show) or %s (with external url to show) must be set. ErrorVariableKeyForContentMustBeSet=خطأ ، يجب تعيين الثابت الذي يحمل الاسم %s (مع محتوى نصي لإظهاره) أو %s (مع عنوان url خارجي لإظهاره).
ErrorURLMustEndWith=URL %s must end %s ErrorURLMustEndWith=يجب أن ينتهي عنوان URL %s بـ %s
ErrorURLMustStartWithHttp=URL %s must start with http:// or https:// ErrorURLMustStartWithHttp=يجب أن يبدأ عنوان URL %s بـ http: // أو https: //
ErrorHostMustNotStartWithHttp=Host name %s must NOT start with http:// or https:// ErrorHostMustNotStartWithHttp=يجب ألا يبدأ اسم المضيف %s بـ http: // أو https: //
ErrorNewRefIsAlreadyUsed=Error, the new reference is already used ErrorNewRefIsAlreadyUsed=خطأ ، المرجع الجديد مستخدم بالفعل
ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked to a closed invoice is not possible. ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=خطأ ، لا يمكن حذف الدفعة المرتبطة بفاتورة مغلقة.
ErrorSearchCriteriaTooSmall=Search criteria too small. ErrorSearchCriteriaTooSmall=معايير البحث صغيرة جدًا.
ErrorObjectMustHaveStatusActiveToBeDisabled=Objects must have status 'Active' to be disabled ErrorObjectMustHaveStatusActiveToBeDisabled=يجب أن تكون الكائنات بحالة "نشطة" ليتم تعطيلها
ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objects must have status 'Draft' or 'Disabled' to be enabled ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=يجب أن تكون الكائنات بحالة "مسودة" أو "معطلة" ليتم تمكينها
ErrorNoFieldWithAttributeShowoncombobox=No fields has property 'showoncombobox' into definition of object '%s'. No way to show the combolist. ErrorNoFieldWithAttributeShowoncombobox=لا توجد حقول لها الخاصية "showoncombobox" في تعريف الكائن "%s". لا توجد طريقة لإظهار الاحتكاك.
ErrorFieldRequiredForProduct=Field '%s' is required for product %s ErrorFieldRequiredForProduct=الحقل "%s" مطلوب للمنتج %s
ProblemIsInSetupOfTerminal=Problem is in setup of terminal %s. ProblemIsInSetupOfTerminal=كانت المشكلة في إعداد المحطة الطرفية %s.
ErrorAddAtLeastOneLineFirst=Add at least one line first ErrorAddAtLeastOneLineFirst=أضف سطرًا واحدًا على الأقل أولاً
ErrorRecordAlreadyInAccountingDeletionNotPossible=Error, record is already transferred in accounting, deletion is not possible. ErrorRecordAlreadyInAccountingDeletionNotPossible=خطأ ، تم نقل السجل بالفعل في المحاسبة ، والحذف غير ممكن.
ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Error, language is mandatory if you set the page as a translation of another one. ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=خطأ ، اللغة إلزامية إذا قمت بتعيين الصفحة على أنها ترجمة لصفحة أخرى.
ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated page is same than this one. ErrorLanguageOfTranslatedPageIsSameThanThisPage=خطأ ، لغة الصفحة المترجمة هي نفسها هذه.
ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". ErrorBatchNoFoundForProductInWarehouse=لم يتم العثور على دفعة / مسلسل للمنتج "%s" في المستودع "%s".
ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=لا توجد كمية كافية لهذه الكمية / المسلسل للمنتج "%s" في المستودع "%s".
ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) ErrorOnlyOneFieldForGroupByIsPossible=يمكن استخدام حقل واحد فقط لـ "تجميع حسب" (يتم تجاهل الحقول الأخرى)
ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than <b>%s</b>) for the field '<b>%s</b>', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? ErrorTooManyDifferentValueForSelectedGroupBy=تم العثور على قيم مختلفة كثيرة جدًا (أكثر من <b> %s </b>) للحقل "<b> %s </b>" ، لذلك لا يمكننا استخدامها كمجموعة رسومات ". تمت إزالة الحقل "تجميع حسب". قد ترغب في استخدامه كمحور X؟
ErrorReplaceStringEmpty=Error, the string to replace into is empty ErrorReplaceStringEmpty=خطأ ، السلسلة المطلوب استبدالها فارغة
ErrorProductNeedBatchNumber=Error, product '<b>%s</b>' need a lot/serial number ErrorProductNeedBatchNumber=خطأ ، المنتج '<b> %s </b>' بحاجة إلى الكثير / الرقم التسلسلي
ErrorProductDoesNotNeedBatchNumber=Error, product '<b>%s</b>' does not accept a lot/serial number ErrorProductDoesNotNeedBatchNumber=خطأ ، المنتج "<b> %s </b>" لا يقبل الكثير / الرقم التسلسلي
ErrorFailedToReadObject=Error, failed to read object of type <b>%s</b> ErrorFailedToReadObject=خطأ ، فشلت قراءة كائن من النوع <b> %s </b>
ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter <b>%s</b> must be enabled into <b>conf/conf.php<b> to allow use of Command Line Interface by the internal job scheduler ErrorParameterMustBeEnabledToAllwoThisFeature=خطأ ، يجب تمكين المعلمة <b> %s </b> في <b> conf / conf.php <b> للسماح باستخدام واجهة سطر الأوامر بواسطة برنامج جدولة الوظائف الداخلي
ErrorLoginDateValidity=Error, this login is outside the validity date range ErrorLoginDateValidity=خطأ ، تسجيل الدخول هذا خارج النطاق الزمني للصلاحية
ErrorValueLength=Length of field '<b>%s</b>' must be higher than '<b>%s</b>' ErrorValueLength=يجب أن يكون طول الحقل "<b> %s </b>" أعلى من "<b> %s </b>"
ErrorReservedKeyword=The word '<b>%s</b>' is a reserved keyword ErrorReservedKeyword=كلمة "<b> %s </b>" هي كلمة أساسية محجوزة
ErrorNotAvailableWithThisDistribution=Not available with this distribution ErrorNotAvailableWithThisDistribution=غير متوفر مع هذا التوزيع
ErrorPublicInterfaceNotEnabled=Public interface was not enabled ErrorPublicInterfaceNotEnabled=لم يتم تمكين الواجهة العامة
ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page ErrorLanguageRequiredIfPageIsTranslationOfAnother=يجب تحديد لغة الصفحة الجديدة إذا تم تعيينها على أنها ترجمة لصفحة أخرى
ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=يجب ألا تكون لغة الصفحة الجديدة هي لغة المصدر إذا تم تعيينها على أنها ترجمة لصفحة أخرى
ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation ErrorAParameterIsRequiredForThisOperation=المعلمة إلزامية لهذه العملية
ErrorDateIsInFuture=Error, the date can't be in the future ErrorDateIsInFuture=خطأ ، لا يمكن أن يكون التاريخ في المستقبل
ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAnAmountWithoutTaxIsRequired=خطأ ، المبلغ إلزامي
ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorAPercentIsRequired=خطأ ، يرجى ملء النسبة بشكل صحيح
ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account ErrorYouMustFirstSetupYourChartOfAccount=يجب عليك أولاً إعداد مخطط الحساب الخاص بك
ErrorFailedToFindEmailTemplate=Failed to find template with code name %s ErrorFailedToFindEmailTemplate=فشل العثور على قالب بالاسم الرمزي %s
ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=المدة غير محددة في الخدمة. لا توجد طريقة لحساب سعر الساعة.
ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommPropertyUserowneridNotDefined=مالك المستخدم مطلوب
ErrorActionCommBadType=Selected event type (id: %s, code: %s) do not exist in Event Type dictionary ErrorActionCommBadType=Selected event type (id: %s, code: %s) do not exist in Event Type dictionary
CheckVersionFail=Version check fail CheckVersionFail=فشل التحقق من الإصدار
ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it ErrorWrongFileName=لا يمكن أن يحتوي اسم الملف على __SOMETHING__ فيه
ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. ErrorNotInDictionaryPaymentConditions=ليس في قاموس شروط الدفع ، يرجى التعديل.
ErrorIsNotADraft=%s is not a draft ErrorIsNotADraft=%s ليس مسودة
ErrorExecIdFailed=Can't execute command "id" ErrorExecIdFailed=لا يمكن تنفيذ الأمر "id"
ErrorBadCharIntoLoginName=Unauthorized character in the login name ErrorBadCharIntoLoginName=شخصية غير مصرح بها في اسم تسجيل الدخول
ErrorRequestTooLarge=Error, request too large ErrorRequestTooLarge=خطأ ، الطلب كبير جدًا
ErrorNotApproverForHoliday=أنت لست المعتمد للمغادرة %s
ErrorAttributeIsUsedIntoProduct=تُستخدم هذه السمة في متغير منتج واحد أو أكثر
ErrorAttributeValueIsUsedIntoProduct=تُستخدم قيمة السمة هذه في متغير منتج واحد أو أكثر
ErrorPaymentInBothCurrency=خطأ ، يجب إدخال جميع المبالغ في نفس العمود
ErrorYouTryToPayInvoicesInACurrencyFromBankWithAnotherCurrency=تحاول دفع الفواتير بالعملة %s من حساب بالعملة %s
ErrorInvoiceLoadThirdParty=لا يمكن تحميل كائن جهة خارجية للفاتورة "%s"
ErrorInvoiceLoadThirdPartyKey=مفتاح الجهة الخارجية "%s" لم يتم تعيينه للفاتورة "%s"
ErrorDeleteLineNotAllowedByObjectStatus=حذف سطر غير مسموح به من خلال حالة الكائن الحالية
ErrorAjaxRequestFailed=الطلب فشل
ErrorThirpdartyOrMemberidIsMandatory=طرف ثالث أو عضو في الشراكة إلزامي
ErrorFailedToWriteInTempDirectory=Failed to write in temp directory
ErrorQuantityIsLimitedTo=Quantity is limited to %s
# Warnings # Warnings
WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. WarningParamUploadMaxFileSizeHigherThanPostMaxSize=معلمة PHP upload_max_filesize (%s) أعلى من معلمة PHP post_max_size (%s). هذا ليس إعداد ثابت.
WarningPasswordSetWithNoAccount=تم تعيين كلمة مرور لهذا العضو. ومع ذلك، تم إنشاء أي حساب المستخدم. لذلك يتم تخزين كلمة المرور هذه ولكن لا يمكن استخدامها للدخول إلى Dolibarr. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم. WarningPasswordSetWithNoAccount=تم تعيين كلمة مرور لهذا العضو. ومع ذلك، تم إنشاء أي حساب المستخدم. لذلك يتم تخزين كلمة المرور هذه ولكن لا يمكن استخدامها للدخول إلى Dolibarr. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم.
WarningMandatorySetupNotComplete=Click here to setup mandatory parameters WarningMandatorySetupNotComplete=Click here to setup main parameters
WarningEnableYourModulesApplications=Click here to enable your modules and applications WarningEnableYourModulesApplications=انقر هنا لتمكين الوحدات والتطبيقات الخاصة بك
WarningSafeModeOnCheckExecDir=انذار ، فب <b>safe_mode</b> الخيار في ذلك تخزين الأمر يجب أن يكون داخل الدليل الذي أعلنته <b>safe_mode_exec_dir</b> المعلمة بي. WarningSafeModeOnCheckExecDir=انذار ، فب <b>safe_mode</b> الخيار في ذلك تخزين الأمر يجب أن يكون داخل الدليل الذي أعلنته <b>safe_mode_exec_dir</b> المعلمة بي.
WarningBookmarkAlreadyExists=المرجعية هذا الكتاب أو هذا الهدف (عنوان) موجود بالفعل. WarningBookmarkAlreadyExists=المرجعية هذا الكتاب أو هذا الهدف (عنوان) موجود بالفعل.
WarningPassIsEmpty=تحذير كلمة سر قاعدة بيانات فارغة. هذه هي ثغرة أمنية. يجب عليك أن تضيف كلمة السر الخاصة بك لقاعدة البيانات وتغيير conf.php ليعكس هذا الملف. WarningPassIsEmpty=تحذير كلمة سر قاعدة بيانات فارغة. هذه هي ثغرة أمنية. يجب عليك أن تضيف كلمة السر الخاصة بك لقاعدة البيانات وتغيير conf.php ليعكس هذا الملف.
WarningConfFileMustBeReadOnly=انذار ، ملف (التكوين <b>htdocs / أسيوط / conf.php)</b> الخاص يمكن أن تكون الكتابة بواسطة خادم الويب. هذه هي ثغرة أمنية خطيرة. أذونات تعديل على ملف ليكون في وضع القراءة فقط لمستخدم نظام التشغيل المستخدمة من قبل ملقم ويب. إذا كنت تستخدم ويندوز وشكل نسبة الدهون لمدة القرص الخاص بك ، فإنك يجب أن نعرف أن هذا النظام لا يسمح ملف لإضافة الأذونات على الملف ، بحيث لا تكون آمنة تماما. WarningConfFileMustBeReadOnly=انذار ، ملف (التكوين <b>htdocs / أسيوط / conf.php)</b> الخاص يمكن أن تكون الكتابة بواسطة خادم الويب. هذه هي ثغرة أمنية خطيرة. أذونات تعديل على ملف ليكون في وضع القراءة فقط لمستخدم نظام التشغيل المستخدمة من قبل ملقم ويب. إذا كنت تستخدم ويندوز وشكل نسبة الدهون لمدة القرص الخاص بك ، فإنك يجب أن نعرف أن هذا النظام لا يسمح ملف لإضافة الأذونات على الملف ، بحيث لا تكون آمنة تماما.
WarningsOnXLines=تحذيرات عن مصدر خطوط <b>%s</b> WarningsOnXLines=تحذيرات عن مصدر خطوط <b>%s</b>
WarningNoDocumentModelActivated=No model, for document generation, has been activated. A model will be chosen by default until you check your module setup. WarningNoDocumentModelActivated=لم يتم تنشيط أي نموذج لإنشاء المستندات. سيتم اختيار نموذج افتراضيًا حتى تتحقق من إعداد الوحدة الخاصة بك.
WarningLockFileDoesNotExists=Warning, once setup is finished, you must disable the installation/migration tools by adding a file <b>install.lock</b> into directory <b>%s</b>. Omitting the creation of this file is a grave security risk. WarningLockFileDoesNotExists=تحذير ، بمجرد الانتهاء من الإعداد ، يجب عليك تعطيل أدوات التثبيت / الترحيل عن طريق إضافة ملف <b> install.lock </b> إلى الدليل <b> %s </b>. يعد حذف إنشاء هذا الملف مخاطرة أمنية كبيرة.
WarningUntilDirRemoved=All security warnings (visible by admin users only) will remain active as long as the vulnerability is present (or that constant MAIN_REMOVE_INSTALL_WARNING is added in Setup->Other Setup). WarningUntilDirRemoved=ستبقى جميع التحذيرات الأمنية (المرئية من قبل المستخدمين المسؤولين فقط) نشطة طالما أن الثغرة الأمنية موجودة (أو أن MAIN_REMOVE_INSTALL_WARNING الثابت مضاف في الإعداد-> الإعداد الآخر).
WarningCloseAlways=تحذير، ويتم إغلاق حتى إذا قدر يختلف بين عناصر المصدر والهدف. تمكين هذه الميزة بحذر. WarningCloseAlways=تحذير، ويتم إغلاق حتى إذا قدر يختلف بين عناصر المصدر والهدف. تمكين هذه الميزة بحذر.
WarningUsingThisBoxSlowDown=تحذير، وذلك باستخدام هذا الإطار تبطئ على محمل الجد كل الصفحات التي تظهر مربع. WarningUsingThisBoxSlowDown=تحذير، وذلك باستخدام هذا الإطار تبطئ على محمل الجد كل الصفحات التي تظهر مربع.
WarningClickToDialUserSetupNotComplete=إعداد المعلومات ClickToDial لالمستخدم الخاص بك ليست كاملة (انظر التبويب ClickToDial على بطاقة المستخدم الخاص بك). WarningClickToDialUserSetupNotComplete=إعداد المعلومات ClickToDial لالمستخدم الخاص بك ليست كاملة (انظر التبويب ClickToDial على بطاقة المستخدم الخاص بك).
@ -300,35 +314,36 @@ WarningTooManyDataPleaseUseMoreFilters=عدد كبير جدا من البيان
WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent.
WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action.
WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language
WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to <b>%s</b> when using the mass actions on lists WarningNumberOfRecipientIsRestrictedInMassAction=تحذير ، عدد المستلمين المختلفين يقتصر على <b> %s </b> عند استخدام الإجراءات الجماعية في القوائم
WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report WarningDateOfLineMustBeInExpenseReportRange=تحذير ، تاريخ السطر ليس في نطاق تقرير المصاريف
WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks. WarningProjectDraft=المشروع لا يزال في وضع المسودة. لا تنس التحقق من صحته إذا كنت تخطط لاستخدام المهام.
WarningProjectClosed=Project is closed. You must re-open it first. WarningProjectClosed=المشروع مغلق. يجب عليك إعادة فتحه أولاً.
WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list. WarningSomeBankTransactionByChequeWereRemovedAfter=تمت إزالة بعض المعاملات المصرفية بعد أن تم إنشاء الإيصال بما في ذلك. لذلك قد يختلف عدد الشيكات وإجمالي الإيصالات عن العدد والإجمالي في القائمة.
WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table WarningFailedToAddFileIntoDatabaseIndex=تحذير ، فشل في إضافة إدخال الملف إلى جدول فهرس قاعدة بيانات ECM
WarningTheHiddenOptionIsOn=Warning, the hidden option <b>%s</b> is on. WarningTheHiddenOptionIsOn=تحذير ، الخيار المخفي <b> %s </b> قيد التشغيل.
WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list WarningCreateSubAccounts=تحذير ، لا يمكنك إنشاء حساب فرعي مباشرة ، يجب عليك إنشاء طرف ثالث أو مستخدم وتعيين رمز محاسبة لهم للعثور عليهم في هذه القائمة
WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection. WarningAvailableOnlyForHTTPSServers=متاح فقط في حالة استخدام اتصال HTTPS آمن.
WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. WarningModuleXDisabledSoYouMayMissEventHere=لم يتم تمكين الوحدة النمطية %s. لذلك قد تفوتك الكثير من الأحداث هنا.
WarningPaypalPaymentNotCompatibleWithStrict=The value 'Strict' makes the online payment features not working correctly. Use 'Lax' instead. WarningPaypalPaymentNotCompatibleWithStrict=تجعل القيمة "صارمة" ميزات الدفع عبر الإنترنت لا تعمل بشكل صحيح. استخدم "Lax" بدلاً من ذلك.
WarningThemeForcedTo=تحذير ، تم إجبار السمة على <b> %s </b> بواسطة الثابت المخفي MAIN_FORCETHEME
# Validate # Validate
RequireValidValue = Value not valid RequireValidValue = القيمة غير صالحة
RequireAtLeastXString = Requires at least %s character(s) RequireAtLeastXString = يتطلب على الأقل %s حرفًا (أحرف)
RequireXStringMax = Requires %s character(s) max RequireXStringMax = يتطلب %s حرفًا (أحرف) كحد أقصى
RequireAtLeastXDigits = Requires at least %s digit(s) RequireAtLeastXDigits = يتطلب على الأقل %s رقم (أرقام)
RequireXDigitsMax = Requires %s digit(s) max RequireXDigitsMax = يتطلب %s رقم (أرقام) كحد أقصى
RequireValidNumeric = Requires a numeric value RequireValidNumeric = يتطلب قيمة عددية
RequireValidEmail = Email address is not valid RequireValidEmail = عنوان البريد الإلكتروني غير صالح
RequireMaxLength = Length must be less than %s chars RequireMaxLength = يجب أن يكون الطول أقل من %s حرفًا
RequireMinLength = Length must be more than %s char(s) RequireMinLength = يجب أن يكون الطول أكثر من %s حرفًا (أحرف)
RequireValidUrl = Require valid URL RequireValidUrl = مطلوب URL صالح
RequireValidDate = Require a valid date RequireValidDate = تتطلب تاريخًا صالحًا
RequireANotEmptyValue = Is required RequireANotEmptyValue = مطلوب
RequireValidDuration = Require a valid duration RequireValidDuration = تتطلب مدة صالحة
RequireValidExistingElement = Require an existing value RequireValidExistingElement = تتطلب قيمة موجودة
RequireValidBool = Require a valid boolean RequireValidBool = تتطلب قيمة منطقية صالحة
BadSetupOfField = Error bad setup of field BadSetupOfField = خطأ في الإعداد السيئ للمجال
BadSetupOfFieldClassNotFoundForValidation = Error bad setup of field : Class not found for validation BadSetupOfFieldClassNotFoundForValidation = خطأ في إعداد الحقل غير صحيح: الفئة غير موجودة للتحقق من الصحة
BadSetupOfFieldFileNotFound = Error bad setup of field : File not found for inclusion BadSetupOfFieldFileNotFound = خطأ في إعداد الحقل غير صحيح: الملف غير موجود للتضمين
BadSetupOfFieldFetchNotCallable = Error bad setup of field : Fetch not callable on class BadSetupOfFieldFetchNotCallable = خطأ في إعداد الحقل غير صحيح: الجلب غير قابل للاستدعاء في الفصل الدراسي

View File

@ -4,8 +4,7 @@ Holidays=الاجازات
CPTitreMenu=الاجازات CPTitreMenu=الاجازات
MenuReportMonth=البيان الشهري MenuReportMonth=البيان الشهري
MenuAddCP=طلب إجازة جديدة MenuAddCP=طلب إجازة جديدة
MenuCollectiveAddCP=New collective leave request NotActiveModCP=يجب تمكين وحدة مغادرة لعرض هذه الصفحة.
NotActiveModCP=You must enable the module Leave to view this page.
AddCP=تقديم طلب إجازة AddCP=تقديم طلب إجازة
DateDebCP=تاريخ البدء DateDebCP=تاريخ البدء
DateFinCP=نهاية التاريخ DateFinCP=نهاية التاريخ
@ -14,21 +13,21 @@ ToReviewCP=انتظر القبول
ApprovedCP=وافق ApprovedCP=وافق
CancelCP=ألغيت CancelCP=ألغيت
RefuseCP=رفض RefuseCP=رفض
ValidatorCP=Approver ValidatorCP=الموافق
ListeCP=List of leave ListeCP=قائمة الإجازة
Leave=ترك الطلب Leave=ترك الطلب
LeaveId=Leave ID LeaveId=رقم الإجازة
ReviewedByCP=سيتم مراجعتها من قبل ReviewedByCP=سيتم مراجعتها من قبل
UserID=User ID UserID=معرف المستخدم
UserForApprovalID=User for approval ID UserForApprovalID=مستخدم للحصول على معرّف الموافقة
UserForApprovalFirstname=First name of approval user UserForApprovalFirstname=الاسم الأول لمستخدم الموافقة
UserForApprovalLastname=Last name of approval user UserForApprovalLastname=الاسم الأخير لمستخدم الموافقة
UserForApprovalLogin=Login of approval user UserForApprovalLogin=تسجيل دخول مستخدم الموافقة
DescCP=وصف DescCP=وصف
SendRequestCP=إنشاء طلب إجازة SendRequestCP=إنشاء طلب إجازة
DelayToRequestCP=يجب أن يتم ترك طلبات في <b>اليوم</b> أقل <b>ق٪ (ق)</b> من قبلهم. DelayToRequestCP=يجب أن يتم ترك طلبات في <b>اليوم</b> أقل <b>ق٪ (ق)</b> من قبلهم.
MenuConfCP=Balance of leave MenuConfCP=رصيد الإجازة
SoldeCPUser=Leave balance (in days) <b>%s</b> SoldeCPUser=رصيد الإجازات (بالأيام) <b> %s </b>
ErrorEndDateCP=يجب تحديد تاريخ انتهاء أكبر من تاريخ البدء. ErrorEndDateCP=يجب تحديد تاريخ انتهاء أكبر من تاريخ البدء.
ErrorSQLCreateCP=حدث خطأ SQL أثناء إنشاء: ErrorSQLCreateCP=حدث خطأ SQL أثناء إنشاء:
ErrorIDFicheCP=حدث خطأ غير موجود على طلب الإجازة. ErrorIDFicheCP=حدث خطأ غير موجود على طلب الإجازة.
@ -37,16 +36,16 @@ ErrorUserViewCP=غير مصرح لك قراءة طلب إجازة هذا.
InfosWorkflowCP=معلومات سير العمل InfosWorkflowCP=معلومات سير العمل
RequestByCP=طلبت RequestByCP=طلبت
TitreRequestCP=ترك الطلب TitreRequestCP=ترك الطلب
TypeOfLeaveId=Type of leave ID TypeOfLeaveId=نوع معرف الإجازة
TypeOfLeaveCode=Type of leave code TypeOfLeaveCode=نوع رمز الإجازة
TypeOfLeaveLabel=Type of leave label TypeOfLeaveLabel=نوع ملصق الإجازة
NbUseDaysCP=Number of days of leave used NbUseDaysCP=عدد أيام الإجازة المستخدمة
NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. NbUseDaysCPHelp=يأخذ الحساب في الاعتبار أيام العطلات والعطلات المحددة في القاموس.
NbUseDaysCPShort=Days of leave NbUseDaysCPShort=أيام الإجازة
NbUseDaysCPShortInMonth=Days of leave in month NbUseDaysCPShortInMonth=أيام الإجازة في الشهر
DayIsANonWorkingDay=%s is a non-working day DayIsANonWorkingDay=%s هو يوم عطلة
DateStartInMonth=Start date in month DateStartInMonth=تاريخ البدء في الشهر
DateEndInMonth=End date in month DateEndInMonth=تاريخ الانتهاء في الشهر
EditCP=تحرير EditCP=تحرير
DeleteCP=حذف DeleteCP=حذف
ActionRefuseCP=رفض ActionRefuseCP=رفض
@ -56,7 +55,7 @@ TitleDeleteCP=حذف طلب إجازة
ConfirmDeleteCP=تأكيد حذف طلب إجازة هذا؟ ConfirmDeleteCP=تأكيد حذف طلب إجازة هذا؟
ErrorCantDeleteCP=خطأ لم يكن لديك الحق في حذف طلب إجازة هذا. ErrorCantDeleteCP=خطأ لم يكن لديك الحق في حذف طلب إجازة هذا.
CantCreateCP=ليس لديك الحق في تقديم طلبات الإجازة. CantCreateCP=ليس لديك الحق في تقديم طلبات الإجازة.
InvalidValidatorCP=You must choose the approver for your leave request. InvalidValidatorCP=يجب عليك اختيار المعتمد لطلب الإجازة الخاص بك.
NoDateDebut=يجب تحديد تاريخ البدء. NoDateDebut=يجب تحديد تاريخ البدء.
NoDateFin=يجب تحديد تاريخ انتهاء. NoDateFin=يجب تحديد تاريخ انتهاء.
ErrorDureeCP=لا يحتوي طلب إجازة الخاص يوم عمل. ErrorDureeCP=لا يحتوي طلب إجازة الخاص يوم عمل.
@ -75,29 +74,20 @@ DateRefusCP=تاريخ الرفض
DateCancelCP=تاريخ الإلغاء DateCancelCP=تاريخ الإلغاء
DefineEventUserCP=تعيين إجازة استثنائية لمستخدم DefineEventUserCP=تعيين إجازة استثنائية لمستخدم
addEventToUserCP=تعيين إجازة addEventToUserCP=تعيين إجازة
NotTheAssignedApprover=You are not the assigned approver NotTheAssignedApprover=أنت لست الموافق المعين
MotifCP=سبب MotifCP=سبب
UserCP=مستخدم UserCP=مستخدم
ErrorAddEventToUserCP=حدث خطأ أثناء إضافة إجازة استثنائية. ErrorAddEventToUserCP=حدث خطأ أثناء إضافة إجازة استثنائية.
AddEventToUserOkCP=تم الانتهاء من إضافة إجازة استثنائية. AddEventToUserOkCP=تم الانتهاء من إضافة إجازة استثنائية.
ErrorFieldRequiredUserOrGroup=The "group" field or the "user" field must be filled in
fusionGroupsUsers=The groups field and the user field will be merged
MenuLogCP=وبالنظر إلى سجلات التغيير MenuLogCP=وبالنظر إلى سجلات التغيير
LogCP=Log of all updates made to "Balance of Leave" LogCP=سجل بجميع التحديثات التي تم إجراؤها على "رصيد الإجازة"
ActionByCP=Updated by ActionByCP=تم التحديث بواسطة
UserUpdateCP=Updated for UserUpdateCP=تم التحديث لـ
PrevSoldeCP=الرصيد السابق PrevSoldeCP=الرصيد السابق
NewSoldeCP=توازن جديد NewSoldeCP=توازن جديد
alreadyCPexist=وقد تم بالفعل طلب إجازة في هذه الفترة. alreadyCPexist=وقد تم بالفعل طلب إجازة في هذه الفترة.
UseralreadyCPexist=A leave request has already been done on this period for %s. FirstDayOfHoliday=بداية يوم طلب الإجازة
groups=المجموعات LastDayOfHoliday=يوم انتهاء طلب الإجازة
users=المستخدمين
AutoSendMail=Automatic mailing
NewHolidayForGroup=New collective leave request
SendRequestCollectiveCP=Send collective leave request
AutoValidationOnCreate=Automatic validation
FirstDayOfHoliday=Beginning day of leave request
LastDayOfHoliday=Ending day of leave request
BoxTitleLastLeaveRequests=Latest %s modified leave requests BoxTitleLastLeaveRequests=Latest %s modified leave requests
HolidaysMonthlyUpdate=تحديث شهري HolidaysMonthlyUpdate=تحديث شهري
ManualUpdate=التحديث اليدوي ManualUpdate=التحديث اليدوي
@ -105,17 +95,17 @@ HolidaysCancelation=ترك طلب الإلغاء
EmployeeLastname=Employee last name EmployeeLastname=Employee last name
EmployeeFirstname=Employee first name EmployeeFirstname=Employee first name
TypeWasDisabledOrRemoved=Leave type (id %s) was disabled or removed TypeWasDisabledOrRemoved=Leave type (id %s) was disabled or removed
LastHolidays=Latest %s leave requests LastHolidays=أحدث طلبات ترك %s
AllHolidays=All leave requests AllHolidays=جميع طلبات الإجازة
HalfDay=Half day HalfDay=نصف يوم
NotTheAssignedApprover=You are not the assigned approver NotTheAssignedApprover=أنت لست الموافق المعين
LEAVE_PAID=Paid vacation LEAVE_PAID=اجازه مدفوعة
LEAVE_SICK=Sick leave LEAVE_SICK=أجازة مرضية
LEAVE_OTHER=Other leave LEAVE_OTHER=إجازة أخرى
LEAVE_PAID_FR=Paid vacation LEAVE_PAID_FR=اجازه مدفوعة
## Configuration du Module ## ## Configuration du Module ##
LastUpdateCP=Last automatic update of leave allocation LastUpdateCP=آخر تحديث تلقائي لتخصيص الإجازات
MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation MonthOfLastMonthlyUpdate=شهر آخر تحديث تلقائي لتخصيص الإجازة
UpdateConfCPOK=تم التحديث بنجاح. UpdateConfCPOK=تم التحديث بنجاح.
Module27130Name= إدارة طلبات الإجازة Module27130Name= إدارة طلبات الإجازة
Module27130Desc= إدارة طلبات الإجازة Module27130Desc= إدارة طلبات الإجازة
@ -125,25 +115,25 @@ NoticePeriod=فترة إشعار
HolidaysToValidate=التحقق من صحة طلبات الإجازة HolidaysToValidate=التحقق من صحة طلبات الإجازة
HolidaysToValidateBody=وفيما يلي طلب إجازة للتحقق من صحة HolidaysToValidateBody=وفيما يلي طلب إجازة للتحقق من صحة
HolidaysToValidateDelay=وهذا الطلب إجازة أن تتم في غضون أقل من٪ الصورة أيام. HolidaysToValidateDelay=وهذا الطلب إجازة أن تتم في غضون أقل من٪ الصورة أيام.
HolidaysToValidateAlertSolde=The user who made this leave request does not have enough available days. HolidaysToValidateAlertSolde=المستخدم الذي قدم طلب الإجازة هذا ليس لديه أيام متاحة كافية.
HolidaysValidated=طلبات إجازة التحقق من صحة HolidaysValidated=طلبات إجازة التحقق من صحة
HolidaysValidatedBody=تم التحقق من صحة طلب إجازة لمدة٪ s إلى٪ s. HolidaysValidatedBody=تم التحقق من صحة طلب إجازة لمدة٪ s إلى٪ s.
HolidaysRefused=طلب نفى HolidaysRefused=طلب نفى
HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason: HolidaysRefusedBody=تم رفض طلب إجازة %s إلى %s للسبب التالي:
HolidaysCanceled=إلغاء طلب الأوراق HolidaysCanceled=إلغاء طلب الأوراق
HolidaysCanceledBody=تم إلغاء طلب إجازة لمدة٪ s إلى٪ s. HolidaysCanceledBody=تم إلغاء طلب إجازة لمدة٪ s إلى٪ s.
FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.<br>0: Not followed by a counter. FollowedByACounter=1: This type of leave need to be followed by a counter. Counter is incremented manually or automatically and when a leave request is validated, counter is decremented.<br>0: Not followed by a counter.
NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter NoLeaveWithCounterDefined=There is no leave types defined that need to be followed by a counter
GoIntoDictionaryHolidayTypes=Go into <strong>Home - Setup - Dictionaries - Type of leave</strong> to setup the different types of leaves. GoIntoDictionaryHolidayTypes=انتقل إلى <strong> Home - الإعداد - القواميس - نوع الإجازة </strong> لإعداد أنواع مختلفة من الأوراق.
HolidaySetup=Setup of module Leave HolidaySetup=إعداد إجازة الوحدة
HolidaysNumberingModules=Numbering models for leave requests HolidaysNumberingModules=نماذج الترقيم لطلبات الإجازة
TemplatePDFHolidays=Template for leave requests PDF TemplatePDFHolidays=قالب طلبات الإجازة PDF
FreeLegalTextOnHolidays=Free text on PDF FreeLegalTextOnHolidays=نص مجاني على PDF
WatermarkOnDraftHolidayCards=Watermarks on draft leave requests WatermarkOnDraftHolidayCards=العلامات المائية على مسودة طلبات الإجازة
HolidaysToApprove=Holidays to approve HolidaysToApprove=العطل للموافقة
NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays NobodyHasPermissionToValidateHolidays=لا أحد لديه إذن للتحقق من صحة العطلات
HolidayBalanceMonthlyUpdate=Monthly update of holiday balance HolidayBalanceMonthlyUpdate=التحديث الشهري لرصيد العطلة
XIsAUsualNonWorkingDay=%s is usualy a NON working day XIsAUsualNonWorkingDay=%s هو عادة يوم عمل غير
BlockHolidayIfNegative=Block if balance negative BlockHolidayIfNegative=كتلة إذا كان الرصيد سلبي
LeaveRequestCreationBlockedBecauseBalanceIsNegative=The creation of this leave request is blocked because your balance is negative LeaveRequestCreationBlockedBecauseBalanceIsNegative=تم حظر إنشاء طلب الإجازة هذا لأن رصيدك سلبي
ErrorLeaveRequestMustBeDraftCanceledOrRefusedToBeDeleted=Leave request %s must be draft, canceled or refused to be deleted ErrorLeaveRequestMustBeDraftCanceledOrRefusedToBeDeleted=يجب أن يكون طلب الإجازة %s مسودة أو إلغاء أو رفض حذفه

View File

@ -2,36 +2,35 @@
InstallEasy=فقط اتبع التعليمات خطوة بخطوة. InstallEasy=فقط اتبع التعليمات خطوة بخطوة.
MiscellaneousChecks=التحقق من الشروط الأساسية MiscellaneousChecks=التحقق من الشروط الأساسية
ConfFileExists=ملف الإعداد <b>%s</b> موجود مسبقاً ConfFileExists=ملف الإعداد <b>%s</b> موجود مسبقاً
ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file <b>%s</b> does not exist and could not be created! ConfFileDoesNotExistsAndCouldNotBeCreated=ملف التكوين <b> %s </b> غير موجود ولا يمكن إنشاؤه!
ConfFileCouldBeCreated=يمكن إنشاء ملف الإعداد <b>%s</b> ConfFileCouldBeCreated=يمكن إنشاء ملف الإعداد <b>%s</b>
ConfFileIsNotWritable=Configuration file <b>%s</b> is not writable. Check permissions. For first install, your web server must be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS). ConfFileIsNotWritable=ملف التكوين <b> %s </b> غير قابل للكتابة. تحقق من الأذونات. عند التثبيت لأول مرة ، يجب أن يكون خادم الويب الخاص بك قادرًا على الكتابة في هذا الملف أثناء عملية التكوين ("chmod 666" على سبيل المثال في نظام التشغيل Unix مثل نظام التشغيل).
ConfFileIsWritable=ملف الإعداد <b>%s</b> قابل للكتابة. ConfFileIsWritable=ملف الإعداد <b>%s</b> قابل للكتابة.
ConfFileMustBeAFileNotADir=Configuration file <b>%s</b> must be a file, not a directory. ConfFileMustBeAFileNotADir=يجب أن يكون ملف التكوين <b> %s </b> ملفًا وليس دليلاً.
ConfFileReload=Reloading parameters from configuration file. ConfFileReload=إعادة تحميل المعلمات من ملف التكوين.
NoReadableConfFileSoStartInstall=The configuration file <b>conf/conf.php</b> does not exists or is not readable. We will run the installation process to try to initialize it. NoReadableConfFileSoStartInstall=ملف التكوين <b> conf / conf.php </b> غير موجود أو غير قابل للقراءة. سنقوم بتشغيل عملية التثبيت لمحاولة تهيئتها.
PHPSupportPOSTGETOk=يدعم هذا الـ PHP وظائف POST و GET. PHPSupportPOSTGETOk=يدعم هذا الـ PHP وظائف POST و GET.
PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check the parameter <b>variables_order</b> in php.ini. PHPSupportPOSTGETKo=من المحتمل أن إعداد PHP الخاص بك لا يدعم المتغيرات POST و / أو GET. تحقق من المعامل <b> variables_order </b> في ملف php.ini.
PHPSupportSessions=يدعم هذا الـ PHP ميزة الجلسات الزمنية. PHPSupportSessions=يدعم هذا الـ PHP ميزة الجلسات الزمنية.
PHPSupport=This PHP supports %s functions. PHPSupport=يدعم PHP وظائف %s.
PHPMemoryOK=تم إعداد الجلسة الزمنية للذاكرة في PHP الى <b>%s</b> . من المفترض ان تكون كافية. PHPMemoryOK=تم إعداد الجلسة الزمنية للذاكرة في PHP الى <b>%s</b> . من المفترض ان تكون كافية.
PHPMemoryTooLow=Your PHP max session memory is set to <b>%s</b> bytes. This is too low. Change your <b>php.ini</b> to set <b>memory_limit</b> parameter to at least <b>%s</b> bytes. PHPMemoryTooLow=تم تعيين ذاكرة جلسة PHP القصوى على <b> %s </b> بايت. هذا منخفض جدًا. قم بتغيير المعلمة <b> php.ini </b> لتعيين <b> memory_limit </b> إلى <b> a0ecb2ec87f498zb7 byt9174.
Recheck=Click here for a more detailed test Recheck=انقر هنا للحصول على اختبار أكثر تفصيلاً
ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to allow Dolibarr to work. Check your PHP setup and permissions of the sessions directory. ErrorPHPDoesNotSupportSessions=تثبيت PHP الخاص بك لا يدعم الجلسات. هذه الميزة مطلوبة للسماح لـ Dolibarr بالعمل. تحقق من إعداد PHP وأذونات دليل الجلسات.
ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. ErrorPHPDoesNotSupport=تثبيت PHP الخاص بك لا يدعم وظائف %s.
ErrorDirDoesNotExists=دليل ٪ ق لا يوجد. ErrorDirDoesNotExists=دليل ٪ ق لا يوجد.
ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. ErrorGoBackAndCorrectParameters=ارجع وتحقق من / صحح المعلمات.
ErrorWrongValueForParameter=قد تكون لديكم مطبوعة خاطئة قيمة معلمة '٪ ق. ErrorWrongValueForParameter=قد تكون لديكم مطبوعة خاطئة قيمة معلمة '٪ ق.
ErrorFailedToCreateDatabase=فشل إنشاء قاعدة بيانات '٪ ق. ErrorFailedToCreateDatabase=فشل إنشاء قاعدة بيانات '٪ ق.
ErrorFailedToConnectToDatabase=فشل في الاتصال بقاعدة البيانات '٪ ق. ErrorFailedToConnectToDatabase=فشل في الاتصال بقاعدة البيانات '٪ ق.
ErrorDatabaseVersionTooLow=إصدار قاعدة البيانات (s%) قديمة جدا. مطلوب نسخة s% أو أعلى ErrorDatabaseVersionTooLow=إصدار قاعدة البيانات (s%) قديمة جدا. مطلوب نسخة s% أو أعلى
ErrorPHPVersionTooLow=PHP version too old. Version %s or higher is required. ErrorPHPVersionTooLow=إصدار PHP قديم جدًا. مطلوب إصدار %s أو أعلى.
ErrorPHPVersionTooHigh=PHP version too high. Version %s or lower is required. ErrorPHPVersionTooHigh=إصدار PHP مرتفع جدًا. مطلوب إصدار %s أو أقل.
ErrorConnectedButDatabaseNotFound=Connection to server successful but database '%s' not found. ErrorConnectedButDatabaseNotFound=الاتصال بالخادم ناجح ولكن قاعدة البيانات "%s" غير موجودة.
ErrorDatabaseAlreadyExists=قاعدة البيانات '٪ ق' موجود بالفعل. ErrorDatabaseAlreadyExists=قاعدة البيانات '٪ ق' موجود بالفعل.
ErrorNoMigrationFilesFoundForParameters=No migration file found for the selected versions IfDatabaseNotExistsGoBackAndUncheckCreate=إذا كانت قاعدة البيانات غير موجودة ، فارجع وحدد الخيار "إنشاء قاعدة بيانات".
IfDatabaseNotExistsGoBackAndUncheckCreate=If the database does not exist, go back and check option "Create database".
IfDatabaseExistsGoBackAndCheckCreate=إذا كانت قاعدة البيانات موجود بالفعل ، من العودة وإلغاء "إنشاء قاعدة بيانات" الخيار. IfDatabaseExistsGoBackAndCheckCreate=إذا كانت قاعدة البيانات موجود بالفعل ، من العودة وإلغاء "إنشاء قاعدة بيانات" الخيار.
WarningBrowserTooOld=Version of browser is too old. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommended. WarningBrowserTooOld=إصدار المتصفح قديم جدًا. يوصى بشدة بترقية متصفحك إلى إصدار حديث من Firefox أو Chrome أو Opera.
PHPVersion=PHP الإصدار PHPVersion=PHP الإصدار
License=الترخيص باستعمال License=الترخيص باستعمال
ConfigurationFile=ملفات ConfigurationFile=ملفات
@ -44,23 +43,23 @@ DolibarrDatabase=قاعدة بيانات Dolibarr
DatabaseType=قاعدة بيانات من نوع DatabaseType=قاعدة بيانات من نوع
DriverType=سائق نوع DriverType=سائق نوع
Server=الخادم Server=الخادم
ServerAddressDescription=Name or ip address for the database server. Usually 'localhost' when the database server is hosted on the same server as the web server. ServerAddressDescription=الاسم أو عنوان IP لخادم قاعدة البيانات. عادة "localhost" عندما يتم استضافة خادم قاعدة البيانات على نفس الخادم مثل خادم الويب.
ServerPortDescription=قاعدة بيانات الميناء. تبقي فارغة إذا كانت غير معروفة. ServerPortDescription=قاعدة بيانات الميناء. تبقي فارغة إذا كانت غير معروفة.
DatabaseServer=خادم قاعدة البيانات DatabaseServer=خادم قاعدة البيانات
DatabaseName=اسم قاعدة البيانات DatabaseName=اسم قاعدة البيانات
DatabasePrefix=Database table prefix DatabasePrefix=بادئة جدول قاعدة البيانات
DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_. DatabasePrefixDescription=بادئة جدول قاعدة البيانات. إذا كانت فارغة ، يتم تعيينها افتراضيًا على llx_.
AdminLogin=User account for the Dolibarr database owner. AdminLogin=حساب المستخدم لمالك قاعدة بيانات Dolibarr.
PasswordAgain=Retype password confirmation PasswordAgain=أعد كتابة كلمة المرور
AdminPassword=Dolibarr كلمة السر لمدير قاعدة البيانات. تبقي فارغة إذا لم يذكر اسمه في اتصال AdminPassword=Dolibarr كلمة السر لمدير قاعدة البيانات. تبقي فارغة إذا لم يذكر اسمه في اتصال
CreateDatabase=إنشاء قاعدة بيانات CreateDatabase=إنشاء قاعدة بيانات
CreateUser=Create user account or grant user account permission on the Dolibarr database CreateUser=قم بإنشاء حساب مستخدم أو منح إذن حساب المستخدم على قاعدة بيانات Dolibarr
DatabaseSuperUserAccess=قاعدة بيانات -- وصول مستخدم الكومبيوتر ذو الصلاحيات العليا DatabaseSuperUserAccess=قاعدة بيانات -- وصول مستخدم الكومبيوتر ذو الصلاحيات العليا
CheckToCreateDatabase=Check the box if the database does not exist yet and so must be created.<br>In this case, you must also fill in the user name and password for the superuser account at the bottom of this page. CheckToCreateDatabase=ضع علامة في المربع إذا لم تكن قاعدة البيانات موجودة بعد ويجب إنشاء ذلك. <br> في هذه الحالة ، يجب عليك أيضًا ملء اسم المستخدم وكلمة المرور لحساب المستخدم المتميز في أسفل هذه الصفحة.
CheckToCreateUser=Check the box if:<br>the database user account does not yet exist and so must be created, or<br>if the user account exists but the database does not exist and permissions must be granted.<br>In this case, you must enter the user account and password and <b>also</b> the superuser account name and password at the bottom of this page. If this box is unchecked, database owner and password must already exist. CheckToCreateUser=ضع علامة في المربع إذا: <br> حساب مستخدم قاعدة البيانات غير موجود بعد ويجب إنشاءه ، أو <br> إذا كان حساب المستخدم موجودًا ولكن قاعدة البيانات غير موجودة ويجب منح الأذونات. <br> في هذه الحالة ، يجب عليك إدخال حساب المستخدم وكلمة المرور و <b> أيضًا </b> اسم حساب المستخدم المتميز وكلمة المرور في أسفل هذه الصفحة. إذا لم يتم تحديد هذا المربع ، فيجب أن يكون مالك قاعدة البيانات وكلمة المرور موجودين بالفعل.
DatabaseRootLoginDescription=Superuser account name (to create new databases or new users), mandatory if the database or its owner does not already exist. DatabaseRootLoginDescription=اسم حساب المستخدم المتميز (لإنشاء قواعد بيانات جديدة أو مستخدمين جدد) ، إلزامي إذا لم تكن قاعدة البيانات أو مالكها موجودًا بالفعل.
KeepEmptyIfNoPassword=Leave empty if superuser has no password (NOT recommended) KeepEmptyIfNoPassword=اتركه فارغًا إذا لم يكن لدى المستخدم المتميز كلمة مرور (غير مستحسن)
SaveConfigurationFile=Saving parameters to SaveConfigurationFile=حفظ المعلمات في
ServerConnection=اتصال الخادم ServerConnection=اتصال الخادم
DatabaseCreation=إنشاء قاعدة بيانات DatabaseCreation=إنشاء قاعدة بيانات
CreateDatabaseObjects=إنشاء قاعدة بيانات الأجسام CreateDatabaseObjects=إنشاء قاعدة بيانات الأجسام
@ -71,9 +70,9 @@ CreateOtherKeysForTable=إنشاء الخارجية مفاتيح الأرقام
OtherKeysCreation=مفاتيح الخارجية وإنشاء الفهارس OtherKeysCreation=مفاتيح الخارجية وإنشاء الفهارس
FunctionsCreation=إنشاء وظائف FunctionsCreation=إنشاء وظائف
AdminAccountCreation=مدير ادخل إنشاء AdminAccountCreation=مدير ادخل إنشاء
PleaseTypePassword=Please type a password, empty passwords are not allowed! PleaseTypePassword=الرجاء كتابة كلمة المرور ، غير مسموح بكلمات المرور الفارغة!
PleaseTypeALogin=Please type a login! PleaseTypeALogin=الرجاء كتابة تسجيل الدخول!
PasswordsMismatch=Passwords differs, please try again! PasswordsMismatch=تختلف كلمات المرور ، يرجى المحاولة مرة أخرى!
SetupEnd=نهاية الإعداد SetupEnd=نهاية الإعداد
SystemIsInstalled=هذا التثبيت الكامل. SystemIsInstalled=هذا التثبيت الكامل.
SystemIsUpgraded=وقد تم تطوير Dolibarr بنجاح. SystemIsUpgraded=وقد تم تطوير Dolibarr بنجاح.
@ -81,73 +80,73 @@ YouNeedToPersonalizeSetup=عليك تكوين Dolibarr لتناسب احتياج
AdminLoginCreatedSuccessfuly=Dolibarr administrator login '<b>%s</b>' created successfully. AdminLoginCreatedSuccessfuly=Dolibarr administrator login '<b>%s</b>' created successfully.
GoToDolibarr=الذهاب إلى Dolibarr GoToDolibarr=الذهاب إلى Dolibarr
GoToSetupArea=الذهاب إلى Dolibarr (مجال الإعداد) GoToSetupArea=الذهاب إلى Dolibarr (مجال الإعداد)
MigrationNotFinished=The database version is not completely up to date: run the upgrade process again. MigrationNotFinished=إصدار قاعدة البيانات ليس محدثًا بالكامل: قم بتشغيل عملية الترقية مرة أخرى.
GoToUpgradePage=الذهاب لتحديث الصفحة مرة أخرى GoToUpgradePage=الذهاب لتحديث الصفحة مرة أخرى
WithNoSlashAtTheEnd=بدون خفض "/" في نهاية WithNoSlashAtTheEnd=بدون خفض "/" في نهاية
DirectoryRecommendation=<span class="warning">IMPORTANT</span>: You must use a directory that is outside of the web pages (so do not use a subdirectory of previous parameter). DirectoryRecommendation= <span class="warning"> هام </span>: يجب عليك استخدام دليل خارج صفحات الويب (لذا لا تستخدم دليلًا فرعيًا للمعلمة السابقة).
LoginAlreadyExists=موجود بالفعل LoginAlreadyExists=موجود بالفعل
DolibarrAdminLogin=ادخل Dolibarr مشرف DolibarrAdminLogin=ادخل Dolibarr مشرف
AdminLoginAlreadyExists=Dolibarr administrator account '<b>%s</b>' already exists. Go back if you want to create another one. AdminLoginAlreadyExists=حساب مسؤول Dolibarr '<b> %s </b>' موجود بالفعل. ارجع إذا كنت تريد إنشاء واحدة أخرى.
FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. FailedToCreateAdminLogin=Failed to create Dolibarr administrator account.
WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, you should add a file called <b>install.lock</b> into the Dolibarr document directory in order to prevent the accidental/malicious use of the install tools again. WarningRemoveInstallDir=تحذير ، لأسباب أمنية ، بمجرد اكتمال التثبيت أو الترقية ، يجب إضافة ملف يسمى <b> install.lock </b> في دليل مستندات Dolibarr من أجل منع الاستخدام العرضي / الضار لأدوات التثبيت مرة أخرى.
FunctionNotAvailableInThisPHP=Not available in this PHP FunctionNotAvailableInThisPHP=غير متوفر في PHP هذا
ChoosedMigrateScript=اختار الهجرة سكريبت ChoosedMigrateScript=اختار الهجرة سكريبت
DataMigration=Database migration (data) DataMigration=ترحيل قاعدة البيانات (البيانات)
DatabaseMigration=Database migration (structure + some data) DatabaseMigration=ترحيل قاعدة البيانات (بنية + بعض البيانات)
ProcessMigrateScript=السيناريو تجهيز ProcessMigrateScript=السيناريو تجهيز
ChooseYourSetupMode=اختر طريقة الإعداد وانقر على "ابدأ"... ChooseYourSetupMode=اختر طريقة الإعداد وانقر على "ابدأ"...
FreshInstall=تركيب جديد FreshInstall=تركيب جديد
FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install. If you want to upgrade your version, choose "Upgrade" mode. FreshInstallDesc=استخدم هذا الوضع إذا كان هذا هو التثبيت الأول لك. إذا لم يكن الأمر كذلك ، فيمكن لهذا الوضع إصلاح تثبيت سابق غير مكتمل. إذا كنت ترغب في ترقية إصدارك ، اختر وضع "ترقية".
Upgrade=ترقية Upgrade=ترقية
UpgradeDesc=استخدام هذه الطريقة إذا كنت قد حلت محل القديمة Dolibarr الملفات من الملفات مع إصدار أحدث. وهذا من شأنه رفع مستوى قاعدة البيانات والبيانات. UpgradeDesc=استخدام هذه الطريقة إذا كنت قد حلت محل القديمة Dolibarr الملفات من الملفات مع إصدار أحدث. وهذا من شأنه رفع مستوى قاعدة البيانات والبيانات.
Start=يبدأ Start=يبدأ
InstallNotAllowed=الإعداد غير مسموح به <b>conf.php</b> الاذونات InstallNotAllowed=الإعداد غير مسموح به <b>conf.php</b> الاذونات
YouMustCreateWithPermission=يجب إنشاء ملف ق ٪ ومجموعة الكتابة على أذونات لملقم الويب أثناء عملية التثبيت. YouMustCreateWithPermission=يجب إنشاء ملف ق ٪ ومجموعة الكتابة على أذونات لملقم الويب أثناء عملية التثبيت.
CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload the page. CorrectProblemAndReloadPage=يرجى إصلاح المشكلة والضغط على F5 لإعادة تحميل الصفحة.
AlreadyDone=بالفعل هاجر AlreadyDone=بالفعل هاجر
DatabaseVersion=قاعدة بيانات النسخة DatabaseVersion=قاعدة بيانات النسخة
ServerVersion=خادم قاعدة البيانات النسخة ServerVersion=خادم قاعدة البيانات النسخة
YouMustCreateItAndAllowServerToWrite=يجب إنشاء هذا الدليل ، والسماح لخادم الويب أن يكتبوا فيه. YouMustCreateItAndAllowServerToWrite=يجب إنشاء هذا الدليل ، والسماح لخادم الويب أن يكتبوا فيه.
DBSortingCollation=طابع الفرز بغية DBSortingCollation=طابع الفرز بغية
YouAskDatabaseCreationSoDolibarrNeedToConnect=You selected create database <b>%s</b>, but for this, Dolibarr needs to connect to server <b>%s</b> with super user <b>%s</b> permissions. YouAskDatabaseCreationSoDolibarrNeedToConnect=لقد حددت إنشاء قاعدة بيانات <b> %s </b> ، ولكن لهذا الغرض ، يحتاج Dolibarr إلى الاتصال بالخادم <b> %s a09a4b739f17658372f a0334bec08z07f.
YouAskLoginCreationSoDolibarrNeedToConnect=You selected create database user <b>%s</b>, but for this, Dolibarr needs to connect to server <b>%s</b> with super user <b>%s</b> permissions. YouAskLoginCreationSoDolibarrNeedToConnect=لقد حددت إنشاء مستخدم قاعدة البيانات <b> %s </b> ، ولكن لهذا الغرض ، يحتاج Dolibarr إلى الاتصال بالخادم <b> %s a09a4b749f17658z07fee.
BecauseConnectionFailedParametersMayBeWrong=The database connection failed: the host or super user parameters must be wrong. BecauseConnectionFailedParametersMayBeWrong=فشل اتصال قاعدة البيانات: يجب أن تكون معلمات المضيف أو المستخدم الفائق خاطئة.
OrphelinsPaymentsDetectedByMethod=Orphelins من اكتشاف طريقة الدفع ق ٪ OrphelinsPaymentsDetectedByMethod=Orphelins من اكتشاف طريقة الدفع ق ٪
RemoveItManuallyAndPressF5ToContinue=إزالته يدويا واضغط F5 للمتابعة. RemoveItManuallyAndPressF5ToContinue=إزالته يدويا واضغط F5 للمتابعة.
FieldRenamed=تغيير اسم الحقل FieldRenamed=تغيير اسم الحقل
IfLoginDoesNotExistsCheckCreateUser=If the user does not exist yet, you must check option "Create user" IfLoginDoesNotExistsCheckCreateUser=إذا لم يكن المستخدم موجودًا بعد ، فيجب تحديد الخيار "إنشاء مستخدم"
ErrorConnection=Server "<b>%s</b>", database name "<b>%s</b>", login "<b>%s</b>", or database password may be wrong or the PHP client version may be too old compared to the database version. ErrorConnection=Server " <b> %s </b> ", database name " <b> %s </b> ", login " <b> %s </b> ", or database password may be wrong or the PHP client version may be too old compared to the database version.
InstallChoiceRecommanded=وأوصت لتثبيت اختيار النسخة <b>٪ المستندات</b> الخاصة بك من النسخة الحالية <b>ل ٪</b> InstallChoiceRecommanded=وأوصت لتثبيت اختيار النسخة <b>٪ المستندات</b> الخاصة بك من النسخة الحالية <b>ل ٪</b>
InstallChoiceSuggested=<b>اقترح تثبيت اختيار المثبت.</b> InstallChoiceSuggested=<b>اقترح تثبيت اختيار المثبت.</b>
MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions. The install wizard will come back to suggest a further migration once this one is complete. MigrateIsDoneStepByStep=يحتوي الإصدار المستهدف (%s) على فجوة في عدة إصدارات. سيعود معالج التثبيت ليقترح عملية ترحيل أخرى بمجرد اكتمال هذا.
CheckThatDatabasenameIsCorrect=Check that the database name "<b>%s</b>" is correct. CheckThatDatabasenameIsCorrect=تحقق من صحة اسم قاعدة البيانات "<b> %s </b>".
IfAlreadyExistsCheckOption=وإذا كان هذا الاسم هو الصحيح وأنه لا وجود قاعدة بيانات حتى الآن ، ويجب التحقق من خيار "إنشاء قاعدة بيانات". IfAlreadyExistsCheckOption=وإذا كان هذا الاسم هو الصحيح وأنه لا وجود قاعدة بيانات حتى الآن ، ويجب التحقق من خيار "إنشاء قاعدة بيانات".
OpenBaseDir=بي openbasedir المعلمة OpenBaseDir=بي openbasedir المعلمة
YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide the login/password of superuser (bottom of form). YouAskToCreateDatabaseSoRootRequired=حددت المربع "إنشاء قاعدة بيانات". لهذا ، تحتاج إلى تقديم تسجيل الدخول / كلمة المرور للمستخدم المتميز (أسفل النموذج).
YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide the login/password of superuser (bottom of form). YouAskToCreateDatabaseUserSoRootRequired=حددت المربع "إنشاء مالك قاعدة البيانات". لهذا ، تحتاج إلى تقديم تسجيل الدخول / كلمة المرور للمستخدم المتميز (أسفل النموذج).
NextStepMightLastALongTime=The current step may take several minutes. Please wait until the next screen is shown completely before continuing. NextStepMightLastALongTime=قد تستغرق الخطوة الحالية عدة دقائق. يرجى الانتظار حتى تظهر الشاشة التالية تمامًا قبل المتابعة.
MigrationCustomerOrderShipping=Migrate shipping for sales orders storage MigrationCustomerOrderShipping=ترحيل الشحن لتخزين أوامر المبيعات
MigrationShippingDelivery=ترقية تخزين الشحن MigrationShippingDelivery=ترقية تخزين الشحن
MigrationShippingDelivery2=ترقية تخزين الشحن 2 MigrationShippingDelivery2=ترقية تخزين الشحن 2
MigrationFinished=الانتهاء من الهجرة MigrationFinished=الانتهاء من الهجرة
LastStepDesc=<strong>Last step</strong>: Define here the login and password you wish to use to connect to Dolibarr. <b>Do not lose this as it is the master account to administer all other/additional user accounts.</b> LastStepDesc= <strong> الخطوة الأخيرة </strong>: حدد هنا تسجيل الدخول وكلمة المرور اللذين ترغب في استخدامهما للاتصال بـ Dolibarr. <b> لا تفقد هذا لأنه الحساب الرئيسي لإدارة جميع حسابات المستخدمين الأخرى / الإضافية. </b>
ActivateModule=تفعيل وحدة %s ActivateModule=تفعيل وحدة %s
ShowEditTechnicalParameters=انقر هنا لعرض/تحرير المعلمات المتقدمة (وضع الخبراء) ShowEditTechnicalParameters=انقر هنا لعرض/تحرير المعلمات المتقدمة (وضع الخبراء)
WarningUpgrade=Warning:\nDid you run a database backup first?\nThis is highly recommended. Loss of data (due to for example bugs in mysql version 5.5.40/41/42/43) may be possible during this process, so it is essential to take a complete dump of your database before starting any migration.\n\nClick OK to start migration process... WarningUpgrade=تحذير:\nهل قمت بتشغيل نسخة احتياطية لقاعدة البيانات أولاً؟\nينصح بهذا بشدة. قد يكون فقدان البيانات (بسبب الأخطاء الموجودة في الإصدار 5.5.40 / 41/42/43 من mysql على سبيل المثال) ممكنًا أثناء هذه العملية ، لذلك من الضروري تفريغ قاعدة البيانات بالكامل قبل بدء أي ترحيل.\n\nانقر فوق "موافق" لبدء عملية الترحيل ...
ErrorDatabaseVersionForbiddenForMigration=Your database version is %s. It has a critical bug, making data loss possible if you make structural changes in your database, such as is required by the migration process. For his reason, migration will not be allowed until you upgrade your database to a layer (patched) version (list of known buggy versions: %s) ErrorDatabaseVersionForbiddenForMigration=إصدار قاعدة البيانات لديك هو %s. يحتوي على خطأ فادح ، مما يجعل فقدان البيانات ممكنًا إذا قمت بإجراء تغييرات هيكلية في قاعدة البيانات الخاصة بك ، كما هو مطلوب من خلال عملية الترحيل. لسببه ، لن يُسمح بالترحيل حتى تقوم بترقية قاعدة البيانات الخاصة بك إلى إصدار طبقة (مصححة) (قائمة إصدارات عربات التي تجرها الدواب المعروفة: %s)
KeepDefaultValuesWamp=You used the Dolibarr setup wizard from DoliWamp, so values proposed here are already optimized. Change them only if you know what you are doing. KeepDefaultValuesWamp=لقد استخدمت معالج إعداد Dolibarr من DoliWamp ، لذلك تم تحسين القيم المقترحة هنا بالفعل. قم بتغييرها فقط إذا كنت تعرف ما تفعله.
KeepDefaultValuesDeb=You used the Dolibarr setup wizard from a Linux package (Ubuntu, Debian, Fedora...), so the values proposed here are already optimized. Only the password of the database owner to create must be entered. Change other parameters only if you know what you are doing. KeepDefaultValuesDeb=لقد استخدمت معالج إعداد Dolibarr من حزمة Linux (Ubuntu و Debian و Fedora ...) ، لذلك تم تحسين القيم المقترحة هنا بالفعل. يجب فقط إدخال كلمة مرور مالك قاعدة البيانات المراد إنشاؤها. قم بتغيير المعلمات الأخرى فقط إذا كنت تعرف ما تفعله.
KeepDefaultValuesMamp=You used the Dolibarr setup wizard from DoliMamp, so the values proposed here are already optimized. Change them only if you know what you are doing. KeepDefaultValuesMamp=لقد استخدمت معالج إعداد Dolibarr من DoliMamp ، لذلك تم تحسين القيم المقترحة هنا بالفعل. قم بتغييرها فقط إذا كنت تعرف ما تفعله.
KeepDefaultValuesProxmox=You used the Dolibarr setup wizard from a Proxmox virtual appliance, so the values proposed here are already optimized. Change them only if you know what you are doing. KeepDefaultValuesProxmox=لقد استخدمت معالج إعداد Dolibarr من جهاز Proxmox الظاهري ، لذلك تم تحسين القيم المقترحة هنا بالفعل. قم بتغييرها فقط إذا كنت تعرف ما تفعله.
UpgradeExternalModule=Run dedicated upgrade process of external module UpgradeExternalModule=قم بتشغيل عملية ترقية مخصصة للوحدة الخارجية
SetAtLeastOneOptionAsUrlParameter=Set at least one option as a parameter in URL. For example: '...repair.php?standard=confirmed' SetAtLeastOneOptionAsUrlParameter=عيِّن خيارًا واحدًا على الأقل كمعامل في URL. على سبيل المثال: "... repair.php؟ standard = Verified"
NothingToDelete=Nothing to clean/delete NothingToDelete=لا شيء للتنظيف / الحذف
NothingToDo=Nothing to do NothingToDo=لا شيء لأفعله
######### #########
# upgrade # upgrade
MigrationFixData=إصلاح البيانات الذي لم تتم تسويته MigrationFixData=إصلاح البيانات الذي لم تتم تسويته
MigrationOrder=بيانات الهجرة طلبات الزبائن MigrationOrder=بيانات الهجرة طلبات الزبائن
MigrationSupplierOrder=Data migration for vendor's orders MigrationSupplierOrder=ترحيل البيانات لأوامر البائعين
MigrationProposal=بيانات الهجرة لأغراض تجارية اقتراحات MigrationProposal=بيانات الهجرة لأغراض تجارية اقتراحات
MigrationInvoice=بيانات الهجرة لعملاء الفواتير MigrationInvoice=بيانات الهجرة لعملاء الفواتير
MigrationContract=بيانات الهجرة للحصول على عقود MigrationContract=بيانات الهجرة للحصول على عقود
@ -163,9 +162,9 @@ MigrationContractsUpdate=تصحيح بيانات العقد
MigrationContractsNumberToUpdate=٪ ق العقد (ق) لتحديث MigrationContractsNumberToUpdate=٪ ق العقد (ق) لتحديث
MigrationContractsLineCreation=عقد إنشاء خط لعقد المرجع ق ٪ MigrationContractsLineCreation=عقد إنشاء خط لعقد المرجع ق ٪
MigrationContractsNothingToUpdate=لا أكثر مما ينبغي فعله MigrationContractsNothingToUpdate=لا أكثر مما ينبغي فعله
MigrationContractsFieldDontExist=Field fk_facture does not exist anymore. Nothing to do. MigrationContractsFieldDontExist=لم يعد الحقل fk_facture موجودًا بعد الآن. لا شيء لأفعله.
MigrationContractsEmptyDatesUpdate=عقد فارغ تصحيح التاريخ MigrationContractsEmptyDatesUpdate=عقد فارغ تصحيح التاريخ
MigrationContractsEmptyDatesUpdateSuccess=Contract empty date correction done successfully MigrationContractsEmptyDatesUpdateSuccess=تم تصحيح تاريخ فارغ للعقد بنجاح
MigrationContractsEmptyDatesNothingToUpdate=أي عقد حتى الآن لتصحيح فارغة MigrationContractsEmptyDatesNothingToUpdate=أي عقد حتى الآن لتصحيح فارغة
MigrationContractsEmptyCreationDatesNothingToUpdate=إنشاء أي عقد لتصحيح التاريخ MigrationContractsEmptyCreationDatesNothingToUpdate=إنشاء أي عقد لتصحيح التاريخ
MigrationContractsInvalidDatesUpdate=سوء قيمة العقد تصحيح التاريخ MigrationContractsInvalidDatesUpdate=سوء قيمة العقد تصحيح التاريخ
@ -187,29 +186,29 @@ MigrationDeliveryDetail=تسليم تحديث
MigrationStockDetail=تحديث قيمة المخزون من المنتجات MigrationStockDetail=تحديث قيمة المخزون من المنتجات
MigrationMenusDetail=تحديث القوائم الديناميكية الجداول MigrationMenusDetail=تحديث القوائم الديناميكية الجداول
MigrationDeliveryAddress=تتناول آخر التطورات في تسليم شحنات MigrationDeliveryAddress=تتناول آخر التطورات في تسليم شحنات
MigrationProjectTaskActors=Data migration for table llx_projet_task_actors MigrationProjectTaskActors=ترحيل البيانات للجدول llx_projet_task_actors
MigrationProjectUserResp=بيانات fk_user_resp مجال الهجرة من llx_projet لllx_element_contact MigrationProjectUserResp=بيانات fk_user_resp مجال الهجرة من llx_projet لllx_element_contact
MigrationProjectTaskTime=تحديث الوقت الذي يقضيه في ثوان MigrationProjectTaskTime=تحديث الوقت الذي يقضيه في ثوان
MigrationActioncommElement=تحديث البيانات على الإجراءات MigrationActioncommElement=تحديث البيانات على الإجراءات
MigrationPaymentMode=Data migration for payment type MigrationPaymentMode=ترحيل البيانات لنوع الدفع
MigrationCategorieAssociation=تحديث الفئات MigrationCategorieAssociation=تحديث الفئات
MigrationEvents=Migration of events to add event owner into assignment table MigrationEvents=ترحيل الأحداث لإضافة مالك الحدث إلى جدول المهام
MigrationEventsContact=Migration of events to add event contact into assignment table MigrationEventsContact=ترحيل الأحداث لإضافة جهة اتصال الحدث إلى جدول المهام
MigrationRemiseEntity=Update entity field value of llx_societe_remise MigrationRemiseEntity=Update entity field value of llx_societe_remise
MigrationRemiseExceptEntity=Update entity field value of llx_societe_remise_except MigrationRemiseExceptEntity=Update entity field value of llx_societe_remise_except
MigrationUserRightsEntity=Update entity field value of llx_user_rights MigrationUserRightsEntity=تحديث قيمة حقل الكيان لـ llx_user_rights
MigrationUserGroupRightsEntity=Update entity field value of llx_usergroup_rights MigrationUserGroupRightsEntity=تحديث قيمة حقل الكيان لـ llx_usergroup_rights
MigrationUserPhotoPath=Migration of photo paths for users MigrationUserPhotoPath=ترحيل مسارات الصور للمستخدمين
MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationFieldsSocialNetworks=هجرة حقول المستخدمين الشبكات الاجتماعية (%s)
MigrationReloadModule=إعادة تحديث الوحدات %s MigrationReloadModule=إعادة تحديث الوحدات %s
MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm MigrationResetBlockedLog=إعادة تعيين الوحدة النمطية BlockedLog لخوارزمية v7
MigrationImportOrExportProfiles=Migration of import or export profiles (%s) MigrationImportOrExportProfiles=ترحيل ملفات تعريف الاستيراد أو التصدير (%s)
ShowNotAvailableOptions=Show unavailable options ShowNotAvailableOptions=إظهار الخيارات غير المتاحة
HideNotAvailableOptions=Hide unavailable options HideNotAvailableOptions=إخفاء الخيارات غير المتاحة
ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can <a href="%s">click here</a>, but the application or some features may not work correctly until the errors are resolved. ErrorFoundDuringMigration=تم الإبلاغ عن خطأ (أخطاء) أثناء عملية الترحيل ، لذا فإن الخطوة التالية غير متاحة. لتجاهل الأخطاء ، يمكنك النقر هنا <a href="%s"> </a> ، لكن التطبيق أو بعض الميزات قد لا تعمل بشكل صحيح حتى يتم حل الأخطاء.
YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).<br> YouTryInstallDisabledByDirLock=حاول التطبيق الترقية الذاتية ، ولكن تم تعطيل صفحات التثبيت / الترقية للأمان (تمت إعادة تسمية الدليل بلاحقة .lock). <br>
YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file <strong>install.lock</strong> in the dolibarr documents directory).<br> YouTryInstallDisabledByFileLock=حاول التطبيق الترقية الذاتية ، ولكن تم تعطيل صفحات التثبيت / الترقية للأمان (من خلال وجود ملف قفل <strong> install.lock </strong> في دليل مستندات dolibarr). <br>
ClickHereToGoToApp=Click here to go to your application ClickHereToGoToApp=انقر هنا للذهاب إلى التطبيق الخاص بك
ClickOnLinkOrRemoveManualy=If an upgrade is in progress, please wait. If not, click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. ClickOnLinkOrRemoveManualy=إذا كانت الترقية قيد التقدم ، يرجى الانتظار. إذا لم يكن كذلك ، انقر فوق الارتباط التالي. إذا كنت ترى نفس الصفحة دائمًا ، فيجب عليك إزالة / إعادة تسمية الملف install.lock في دليل المستندات.
Loaded=Loaded Loaded=محمل
FunctionTest=Function test FunctionTest=اختبار الوظيفة

View File

@ -18,37 +18,37 @@
# #
# Module label 'ModuleKnowledgeManagementName' # Module label 'ModuleKnowledgeManagementName'
ModuleKnowledgeManagementName = Knowledge Management System ModuleKnowledgeManagementName = نظام إدارة المعرفة
# Module description 'ModuleKnowledgeManagementDesc' # Module description 'ModuleKnowledgeManagementDesc'
ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base ModuleKnowledgeManagementDesc=إدارة إدارة المعرفة (KM) أو قاعدة مكتب المساعدة
# #
# Admin page # Admin page
# #
KnowledgeManagementSetup = Knowledge Management System setup KnowledgeManagementSetup = إعداد نظام إدارة المعرفة
Settings = إعدادات Settings = إعدادات
KnowledgeManagementSetupPage = Knowledge Management System setup page KnowledgeManagementSetupPage = صفحة إعداد نظام إدارة المعرفة
# #
# About page # About page
# #
About = حول About = حول
KnowledgeManagementAbout = About Knowledge Management KnowledgeManagementAbout = حول إدارة المعرفة
KnowledgeManagementAboutPage = Knowledge Management about page KnowledgeManagementAboutPage = إدارة المعرفة حول الصفحة
KnowledgeManagementArea = Knowledge Management KnowledgeManagementArea = إدارة المعرفة
MenuKnowledgeRecord = Knowledge base MenuKnowledgeRecord = قاعدة المعرفة
ListKnowledgeRecord = List of articles ListKnowledgeRecord = قائمة المقالات
NewKnowledgeRecord = New article NewKnowledgeRecord = مقال جديد
ValidateReply = Validate solution ValidateReply = تحقق من صحة الحل
KnowledgeRecords = Articles KnowledgeRecords = مقالات
KnowledgeRecord = عنصر KnowledgeRecord = عنصر
KnowledgeRecordExtraFields = Extrafields for Article KnowledgeRecordExtraFields = Extrafields للمادة
GroupOfTicket=Group of tickets GroupOfTicket=مجموعة التذاكر
YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) YouCanLinkArticleToATicketCategory=You can link the article to a ticket group (so the article will be highlighted on any tickets in this group)
SuggestedForTicketsInGroup=Suggested for tickets when group is SuggestedForTicketsInGroup=اقترح للتذاكر عندما تكون المجموعة
SetObsolete=Set as obsolete SetObsolete=تعيين كما عفا عليها الزمن
ConfirmCloseKM=Do you confirm the closing of this article as obsolete ? ConfirmCloseKM=هل تؤكد أن إغلاق هذا المقال قد عفا عليه الزمن؟
ConfirmReopenKM=Do you want to restore this article to status "Validated" ? ConfirmReopenKM=هل تريد استعادة هذه المقالة إلى الحالة "تم التحقق منها"؟

View File

@ -10,7 +10,7 @@ LoanCapital=عاصمة
Insurance=تأمين Insurance=تأمين
Interest=اهتمام Interest=اهتمام
Nbterms=عدد من المصطلحات Nbterms=عدد من المصطلحات
Term=Term Term=شرط
LoanAccountancyCapitalCode=Accounting account capital LoanAccountancyCapitalCode=Accounting account capital
LoanAccountancyInsuranceCode=Accounting account insurance LoanAccountancyInsuranceCode=Accounting account insurance
LoanAccountancyInterestCode=Accounting account interest LoanAccountancyInterestCode=Accounting account interest
@ -19,16 +19,16 @@ LoanDeleted=بنجاح قرض محذوفة
ConfirmPayLoan=تأكيد صنف دفع هذا القرض ConfirmPayLoan=تأكيد صنف دفع هذا القرض
LoanPaid=القرض المدفوع LoanPaid=القرض المدفوع
ListLoanAssociatedProject=List of loan associated with the project ListLoanAssociatedProject=List of loan associated with the project
AddLoan=Create loan AddLoan=إنشاء قرض
FinancialCommitment=Financial commitment FinancialCommitment=التزام مالي
InterestAmount=اهتمام InterestAmount=اهتمام
CapitalRemain=Capital remain CapitalRemain=يبقى رأس المال
TermPaidAllreadyPaid = This term is allready paid TermPaidAllreadyPaid = هذا المصطلح مدفوع بالفعل
CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started CantUseScheduleWithLoanStartedToPaid = Can't generate a timeline for a loan with a payment started
CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule CantModifyInterestIfScheduleIsUsed = لا يمكنك تعديل الفائدة إذا كنت تستخدم الجدول الزمني
# Admin # Admin
ConfigLoan=التكوين للقرض وحدة ConfigLoan=التكوين للقرض وحدة
LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default
LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accounting account interest by default LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accounting account interest by default
LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accounting account insurance by default LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accounting account insurance by default
CreateCalcSchedule=Edit financial commitment CreateCalcSchedule=تحرير الالتزام المالي

View File

@ -1,9 +1,15 @@
# Dolibarr language file - Source file is en_US - main # Dolibarr language file - Source file is en_US - main
DIRECTION=rtl DIRECTION=rtl
# Default for FONTFORPDF=helvetica
# Note for Chinese: # Note for Chinese:
# msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) # msungstdlight or cid0ct are for traditional Chinese zh_TW (traditional does not render with Ubuntu pdf reader)
# stsongstdlight or cid0cs are for simplified Chinese # stsongstdlight or cid0cs are for simplified Chinese zh_CN
# To read Chinese pdf with Linux: sudo apt-get install poppler-data # To read Chinese pdf with Linux: sudo apt-get install poppler-data
# cid0jp is for Japanish
# cid0kr is for Korean
# DejaVuSans is for some Eastern languages, some Asian languages and some Arabic languages
# freemono is for ru_RU or uk_UA, uz_UZ
# freeserif is for Tamil
FONTFORPDF=DejaVuSans FONTFORPDF=DejaVuSans
FONTSIZEFORPDF=10 FONTSIZEFORPDF=10
SeparatorDecimal=. SeparatorDecimal=.
@ -67,7 +73,7 @@ ErrorNoVATRateDefinedForSellerCountry=خطأ ، لم يتم تحديد معدل
ErrorNoSocialContributionForSellerCountry=خطأ ، لم يتم تحديد نوع الضرائب الاجتماعية | المالية للبلد "%s". ErrorNoSocialContributionForSellerCountry=خطأ ، لم يتم تحديد نوع الضرائب الاجتماعية | المالية للبلد "%s".
ErrorFailedToSaveFile=خطأ، فشل في حفظ الملف. ErrorFailedToSaveFile=خطأ، فشل في حفظ الملف.
ErrorCannotAddThisParentWarehouse=أنت تحاول إضافة مستودع رئيسي هو بالفعل تابع لمستودع موجود ErrorCannotAddThisParentWarehouse=أنت تحاول إضافة مستودع رئيسي هو بالفعل تابع لمستودع موجود
FieldCannotBeNegative=Field "%s" cannot be negative FieldCannotBeNegative=لا يمكن أن يكون الحقل "%s" سالبًا
MaxNbOfRecordPerPage=عدد السجلات الاعلى في الصفحة الواحدة MaxNbOfRecordPerPage=عدد السجلات الاعلى في الصفحة الواحدة
NotAuthorized=غير مصرح لك ان تفعل ذلك. NotAuthorized=غير مصرح لك ان تفعل ذلك.
SetDate=تحديد التاريخ SetDate=تحديد التاريخ
@ -88,7 +94,7 @@ FileWasNotUploaded=تم تحديد ملف للإرفاق ولكن لم يتم ت
NbOfEntries=عدد الإدخالات NbOfEntries=عدد الإدخالات
GoToWikiHelpPage=قراءة التعليمات عبر الإنترنت (يلزم الاتصال بالإنترنت) GoToWikiHelpPage=قراءة التعليمات عبر الإنترنت (يلزم الاتصال بالإنترنت)
GoToHelpPage=قراءة المساعدة GoToHelpPage=قراءة المساعدة
DedicatedPageAvailable=Dedicated help page related to your current screen DedicatedPageAvailable=صفحة مساعدة مخصصة تتعلق بشاشتك الحالية
HomePage=الصفحة الرئيسية HomePage=الصفحة الرئيسية
RecordSaved=تم حفظ سجل RecordSaved=تم حفظ سجل
RecordDeleted=سجل محذوف RecordDeleted=سجل محذوف
@ -115,7 +121,7 @@ ReturnCodeLastAccessInError=إرجاع الكود لأحدث خطأ في طلب
InformationLastAccessInError=معلومات عن خطأ طلب الوصول إلى قاعدة البيانات الأخيرة InformationLastAccessInError=معلومات عن خطأ طلب الوصول إلى قاعدة البيانات الأخيرة
DolibarrHasDetectedError=Dolibarr اكتشف خطأ تقني DolibarrHasDetectedError=Dolibarr اكتشف خطأ تقني
YouCanSetOptionDolibarrMainProdToZero=يمكنك قراءة ملف السجل أو تعيين الخيار $ dolibarr_main_prod إلى "0" في (config file) للحصول على مزيد من المعلومات. YouCanSetOptionDolibarrMainProdToZero=يمكنك قراءة ملف السجل أو تعيين الخيار $ dolibarr_main_prod إلى "0" في (config file) للحصول على مزيد من المعلومات.
InformationToHelpDiagnose=This information can be useful for diagnostic purposes (you can set option $dolibarr_main_prod to '1' to hide sensitive information) InformationToHelpDiagnose=يمكن أن تكون هذه المعلومات مفيدة لأغراض التشخيص (يمكنك تعيين الخيار $ dolibarr_main_prod على "1" لإخفاء المعلومات الحساسة)
MoreInformation=المزيد من المعلومات MoreInformation=المزيد من المعلومات
TechnicalInformation=المعلومات التقنية TechnicalInformation=المعلومات التقنية
TechnicalID=ID الفني TechnicalID=ID الفني
@ -181,7 +187,7 @@ SaveAndNew=حفظ وجديد
TestConnection=اختبار الاتصال TestConnection=اختبار الاتصال
ToClone=استنساخ ToClone=استنساخ
ConfirmCloneAsk=هل أنت متأكد أنك تريد استنساخ الكائن <b> %s </b>؟ ConfirmCloneAsk=هل أنت متأكد أنك تريد استنساخ الكائن <b> %s </b>؟
ConfirmClone=Choose the data you want to clone: ConfirmClone=اختر البيانات التي تريد نسخها:
NoCloneOptionsSpecified=لا توجد بيانات لاستنساخ محددة. NoCloneOptionsSpecified=لا توجد بيانات لاستنساخ محددة.
Of=من Of=من
Go=اذهب Go=اذهب
@ -212,8 +218,8 @@ User=المستعمل
Users=المستخدمين Users=المستخدمين
Group=مجموعة Group=مجموعة
Groups=المجموعات Groups=المجموعات
UserGroup=User group UserGroup=مجموعة المستخدمين
UserGroups=User groups UserGroups=مجموعات الاعضاء
NoUserGroupDefined=لم يتم تحديد مجموعة مستخدمين NoUserGroupDefined=لم يتم تحديد مجموعة مستخدمين
Password=كلمة المرور Password=كلمة المرور
PasswordRetype=أعد كتابة كلمة المرور PasswordRetype=أعد كتابة كلمة المرور
@ -244,13 +250,13 @@ Designation=الوصف
DescriptionOfLine=وصف البند DescriptionOfLine=وصف البند
DateOfLine=تاريخ البند DateOfLine=تاريخ البند
DurationOfLine=مدة البند DurationOfLine=مدة البند
ParentLine=Parent line ID ParentLine=معرف خط الأصل
Model=قالب المستند Model=قالب المستند
DefaultModel=قالب المستند الافتراضي DefaultModel=قالب المستند الافتراضي
Action=حدث Action=حدث
About=حول About=حول
Number=عدد Number=عدد
NumberByMonth=Total reports by month NumberByMonth=إجمالي التقارير حسب الشهر
AmountByMonth=المبلغ بالشهر AmountByMonth=المبلغ بالشهر
Numero=عدد Numero=عدد
Limit=الحد Limit=الحد
@ -346,7 +352,7 @@ MegaBytes=ميغابايت
GigaBytes=غيغا بايت GigaBytes=غيغا بايت
TeraBytes=تيرابايت TeraBytes=تيرابايت
UserAuthor=تم الإنشاء بواسطة UserAuthor=تم الإنشاء بواسطة
UserModif=Updated by UserModif=تم التحديث بواسطة
b=بايت b=بايت
Kb=كيلوبايت Kb=كيلوبايت
Mb=ميغابايت Mb=ميغابايت
@ -434,7 +440,7 @@ LT1IN=CGST
LT2IN=SGST LT2IN=SGST
LT1GC=Additionnal cents LT1GC=Additionnal cents
VATRate=معدل الضريبة VATRate=معدل الضريبة
RateOfTaxN=Rate of tax %s RateOfTaxN=معدل الضريبة %s
VATCode=كود معدل الضريبة VATCode=كود معدل الضريبة
VATNPR=معدل ضريبة NPR VATNPR=معدل ضريبة NPR
DefaultTaxRate=معدل الضريبة الافتراضي DefaultTaxRate=معدل الضريبة الافتراضي
@ -621,7 +627,7 @@ MonthVeryShort11=11
MonthVeryShort12=12 MonthVeryShort12=12
AttachedFiles=الملفات والمستندات المرفقة AttachedFiles=الملفات والمستندات المرفقة
JoinMainDoc=ضم إلى المستند الرئيسي JoinMainDoc=ضم إلى المستند الرئيسي
JoinMainDocOrLastGenerated=Send the main document or the last generated one if not found JoinMainDocOrLastGenerated=أرسل المستند الرئيسي أو آخر مستند تم إنشاؤه إذا لم يتم العثور عليه
DateFormatYYYYMM=YYYY-MM DateFormatYYYYMM=YYYY-MM
DateFormatYYYYMMDD=YYYY-MM-DD DateFormatYYYYMMDD=YYYY-MM-DD
DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH: SS DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH: SS
@ -712,7 +718,7 @@ FeatureDisabled=ميزة معطلة
MoveBox=نقل البريمج MoveBox=نقل البريمج
Offered=معروض Offered=معروض
NotEnoughPermissions=ليس لديك إذن بهذا الإجراء NotEnoughPermissions=ليس لديك إذن بهذا الإجراء
UserNotInHierachy=This action is reserved to the supervisors of this user UserNotInHierachy=هذا الإجراء محجوز لمشرفي هذا المستخدم
SessionName=اسم الجلسة SessionName=اسم الجلسة
Method=الطريقة Method=الطريقة
Receive=استقبال Receive=استقبال
@ -737,7 +743,7 @@ MenuMembers=أعضاء
MenuAgendaGoogle=أجندة غوغل MenuAgendaGoogle=أجندة غوغل
MenuTaxesAndSpecialExpenses=الضرائب | مصاريف خاصة MenuTaxesAndSpecialExpenses=الضرائب | مصاريف خاصة
ThisLimitIsDefinedInSetup=حدود دوليبار (Menu home-setup-security): %s كيلوبايت ، حد PHP: %s كيلوبايت ThisLimitIsDefinedInSetup=حدود دوليبار (Menu home-setup-security): %s كيلوبايت ، حد PHP: %s كيلوبايت
ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb ThisLimitIsDefinedInSetupAt=حد Dolibarr (القائمة %s): %s كيلوبايت ، حد PHP (Param %s): %s كيلوبايت
NoFileFound=لم يتم رفع مستند NoFileFound=لم يتم رفع مستند
CurrentUserLanguage=اللغة الحالية CurrentUserLanguage=اللغة الحالية
CurrentTheme=الواجهة الحالية CurrentTheme=الواجهة الحالية
@ -802,7 +808,6 @@ URLPhoto=عنوان URL للصورة | الشعار
SetLinkToAnotherThirdParty=ربط بطرف ثالث آخر SetLinkToAnotherThirdParty=ربط بطرف ثالث آخر
LinkTo=ربط مع او بـ LinkTo=ربط مع او بـ
LinkToProposal=ربط مع العرض LinkToProposal=ربط مع العرض
LinkToExpedition= Link to expedition
LinkToOrder=ربط مع الامر LinkToOrder=ربط مع الامر
LinkToInvoice=ربط مع الفاتورة LinkToInvoice=ربط مع الفاتورة
LinkToTemplateInvoice=ربط مع قالب الفاتورة LinkToTemplateInvoice=ربط مع قالب الفاتورة
@ -812,7 +817,7 @@ LinkToSupplierInvoice=ربط مع فاتورة المورد
LinkToContract=ربط مع العقد LinkToContract=ربط مع العقد
LinkToIntervention=ربط مع التداخل LinkToIntervention=ربط مع التداخل
LinkToTicket=ربط مع التذكرة LinkToTicket=ربط مع التذكرة
LinkToMo=Link to Mo LinkToMo=رابط إلى Mo
CreateDraft=إنشاء مسودة CreateDraft=إنشاء مسودة
SetToDraft=العودة إلى المسودة SetToDraft=العودة إلى المسودة
ClickToEdit=انقر للتحرير ClickToEdit=انقر للتحرير
@ -856,7 +861,7 @@ XMoreLines=%s بند (بنود) مخفي
ShowMoreLines=عرض المزيد | أقل من البنود ShowMoreLines=عرض المزيد | أقل من البنود
PublicUrl=URL العام PublicUrl=URL العام
AddBox=إضافة مربع AddBox=إضافة مربع
SelectElementAndClick=Select an element and click on %s SelectElementAndClick=حدد عنصرًا وانقر فوق %s
PrintFile=طباعة الملف %s PrintFile=طباعة الملف %s
ShowTransaction=عرض الإدخال في الحساب المصرفي ShowTransaction=عرض الإدخال في الحساب المصرفي
ShowIntervention=عرض التدخل ShowIntervention=عرض التدخل
@ -867,8 +872,8 @@ Denied=مرفوض
ListOf=قائمة %s ListOf=قائمة %s
ListOfTemplates=قائمة القوالب ListOfTemplates=قائمة القوالب
Gender=جنس Gender=جنس
Genderman=Male Genderman=ذكر
Genderwoman=Female Genderwoman=أنثى
Genderother=الآخر Genderother=الآخر
ViewList=عرض القائمة ViewList=عرض القائمة
ViewGantt=عرض Gantt ViewGantt=عرض Gantt
@ -914,7 +919,7 @@ ViewFlatList=عرض قائمة مسطحة
ViewAccountList=عرض دفتر الأستاذ ViewAccountList=عرض دفتر الأستاذ
ViewSubAccountList=عرض دفتر الأستاذ الفرعي ViewSubAccountList=عرض دفتر الأستاذ الفرعي
RemoveString=Remove string '%s' RemoveString=Remove string '%s'
SomeTranslationAreUncomplete=Some of the languages offered may be only partially translated or may contain errors. Please help to correct your language by registering at <a href="https://transifex.com/projects/p/dolibarr/" target="_blank" rel="noopener noreferrer external">https://transifex.com/projects/p/dolibarr/</a> to add your improvements. SomeTranslationAreUncomplete=قد تكون بعض اللغات المعروضة مترجمة جزئيًا فقط أو قد تحتوي على أخطاء. الرجاء المساعدة في تصحيح لغتك بالتسجيل في <a href="https://transifex.com/projects/p/dolibarr/" target="_blank" rel="noopener noreferrer external"> https://transifex.com/projects/p/dolibarr/ </a> لإضافة تحسيناتك.
DirectDownloadLink=رابط التحميل العام DirectDownloadLink=رابط التحميل العام
PublicDownloadLinkDesc=فقط مطلوب الرابط لتنزيل الملف PublicDownloadLinkDesc=فقط مطلوب الرابط لتنزيل الملف
DirectDownloadInternalLink=رابط التحميل الخاص DirectDownloadInternalLink=رابط التحميل الخاص
@ -1083,7 +1088,7 @@ ValidFrom=صالح من
ValidUntil=صالح حتى ValidUntil=صالح حتى
NoRecordedUsers=لايوجد مستخدمين NoRecordedUsers=لايوجد مستخدمين
ToClose=لغلق ToClose=لغلق
ToRefuse=To refuse ToRefuse=رفض
ToProcess=لعملية ToProcess=لعملية
ToApprove=للموافقة ToApprove=للموافقة
GlobalOpenedElemView=نظرة شاملة GlobalOpenedElemView=نظرة شاملة
@ -1138,45 +1143,47 @@ UpdateForAllLines=تحديث لجميع البنود
OnHold=في الانتظار OnHold=في الانتظار
Civility=Civility Civility=Civility
AffectTag=Affect Tag AffectTag=Affect Tag
CreateExternalUser=Create external user CreateExternalUser=إنشاء مستخدم خارجي
ConfirmAffectTag=Bulk Tag Affect ConfirmAffectTag=Bulk Tag Affect
ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)?
CategTypeNotFound=لا يوجد ملصق لنوع السجل CategTypeNotFound=لا يوجد ملصق لنوع السجل
CopiedToClipboard=تم النسخ الى الحافظة CopiedToClipboard=تم النسخ الى الحافظة
InformationOnLinkToContract=هذا المبلغ هو مجموع بنود العقد . دون مراعاة قيمة الزمن InformationOnLinkToContract=هذا المبلغ هو مجموع بنود العقد . دون مراعاة قيمة الزمن
ConfirmCancel=Are you sure you want to cancel ConfirmCancel=هل أنت متأكد أنك تريد إلغاء
EmailMsgID=Email MsgID EmailMsgID=Email MsgID
SetToEnabled=Set to enabled SetToEnabled=تعيين على تمكين
SetToDisabled=Set to disabled SetToDisabled=تعيين إلى معطل
ConfirmMassEnabling=mass enabling confirmation ConfirmMassEnabling=تأكيد التمكين الشامل
ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? ConfirmMassEnablingQuestion=هل أنت متأكد من أنك تريد تمكين السجل (السجلات) المحدد %s؟
ConfirmMassDisabling=mass disabling confirmation ConfirmMassDisabling=تأكيد التعطيل الشامل
ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? ConfirmMassDisablingQuestion=هل أنت متأكد من أنك تريد تعطيل السجل (السجلات) المحدد %s؟
RecordsEnabled=%s record(s) enabled RecordsEnabled=تم تمكين سجل (سجلات) %s
RecordsDisabled=%s record(s) disabled RecordsDisabled=سجل (سجلات) %s معطل
RecordEnabled=Record enabled RecordEnabled=تم تمكين التسجيل
RecordDisabled=Record disabled RecordDisabled=سجل معطل
Forthcoming=Forthcoming Forthcoming=قادم، صريح، يظهر
Currently=Currently Currently=حالياً
ConfirmMassLeaveApprovalQuestion=Are you sure you want to approve the %s selected record(s)? ConfirmMassLeaveApprovalQuestion=هل أنت متأكد من أنك تريد الموافقة على السجل (السجلات) المحددة %s؟
ConfirmMassLeaveApproval=Mass leave approval confirmation ConfirmMassLeaveApproval=تأكيد الموافقة على الإجازة الجماعية
RecordAproved=Record approved RecordAproved=تمت الموافقة على السجل
RecordsApproved=%s Record(s) approved RecordsApproved=%s تمت الموافقة على السجلات
Properties=Properties Properties=الخصائص
hasBeenValidated=%s has been validated hasBeenValidated=تم التحقق من صحة %s
ClientTZ=المنطقة الزمنية للعميل (المستخدم) ClientTZ=المنطقة الزمنية للعميل (المستخدم)
NotClosedYet=Not yet closed NotClosedYet=لم تغلق بعد
ClearSignature=Reset signature ClearSignature=إعادة تعيين التوقيع
CanceledHidden=Canceled hidden CanceledHidden=إلغاء المخفية
CanceledShown=Canceled shown CanceledShown=أظهرت ملغاة
Terminate=تعطيل Terminate=تعطيل
Terminated=Terminated Terminated=تم إنهاؤه
AddLineOnPosition=Add line on position (at the end if empty) AddLineOnPosition=أضف سطرًا في الموضع (في النهاية إذا كان فارغًا)
ConfirmAllocateCommercial=Assign sales representative confirmation ConfirmAllocateCommercial=تعيين تأكيد مندوب المبيعات
ConfirmAllocateCommercialQuestion=Are you sure you want to assign the %s selected record(s)? ConfirmAllocateCommercialQuestion=هل أنت متأكد من أنك تريد تعيين السجل (السجلات) المحددة %s؟
CommercialsAffected=Sales representatives affected CommercialsAffected=مندوبي المبيعات يتأثرون
CommercialAffected=Sales representative affected CommercialAffected=مندوب المبيعات يتأثر
YourMessage=Your message YourMessage=رسالتك
YourMessageHasBeenReceived=Your message has been received. We will answer or contact you as soon as possible. YourMessageHasBeenReceived=وقد وردت الرسالة. سنقوم بالرد أو الاتصال بك في أقرب وقت ممكن.
UrlToCheck=Url to check UrlToCheck=عنوان Url المراد التحقق منه
Automation=Automation Automation=أتمتة
CreatedByEmailCollector=Created by Email collector
CreatedByPublicPortal=Created from Public portal

View File

@ -6,8 +6,8 @@ Member=عضو
Members=أعضاء Members=أعضاء
ShowMember=وتظهر بطاقة عضو ShowMember=وتظهر بطاقة عضو
UserNotLinkedToMember=المستخدم لا ترتبط عضو UserNotLinkedToMember=المستخدم لا ترتبط عضو
ThirdpartyNotLinkedToMember=Third party not linked to a member ThirdpartyNotLinkedToMember=طرف ثالث غير مرتبط بعضو
MembersTickets=Membership address sheet MembersTickets=ورقة عنوان العضوية
FundationMembers=أعضاء المؤسسة FundationMembers=أعضاء المؤسسة
ListOfValidatedPublicMembers=قائمة الأعضاء العامة المصادق ListOfValidatedPublicMembers=قائمة الأعضاء العامة المصادق
ErrorThisMemberIsNotPublic=ليست عضوا في هذا العام ErrorThisMemberIsNotPublic=ليست عضوا في هذا العام
@ -15,28 +15,28 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=عضو آخر (الاسم : <b>٪ ق<
ErrorUserPermissionAllowsToLinksToItselfOnly=لأسباب أمنية ، يجب أن تمنح أذونات لتحرير جميع المستخدمين لتكون قادرة على ربط عضو لمستخدم هذا ليس لك. ErrorUserPermissionAllowsToLinksToItselfOnly=لأسباب أمنية ، يجب أن تمنح أذونات لتحرير جميع المستخدمين لتكون قادرة على ربط عضو لمستخدم هذا ليس لك.
SetLinkToUser=وصلة إلى مستخدم Dolibarr SetLinkToUser=وصلة إلى مستخدم Dolibarr
SetLinkToThirdParty=وصلة إلى طرف ثالث Dolibarr SetLinkToThirdParty=وصلة إلى طرف ثالث Dolibarr
MembersCards=Generation of cards for members MembersCards=توليد بطاقات للاعضاء
MembersList=قائمة الأعضاء MembersList=قائمة الأعضاء
MembersListToValid=قائمة مشاريع أعضاء (ينبغي التأكد من صحة) MembersListToValid=قائمة مشاريع أعضاء (ينبغي التأكد من صحة)
MembersListValid=قائمة أعضاء صالحة MembersListValid=قائمة أعضاء صالحة
MembersListUpToDate=List of valid members with up-to-date contribution MembersListUpToDate=قائمة الأعضاء الصالحة مع مساهمات محدثة
MembersListNotUpToDate=List of valid members with out-of-date contribution MembersListNotUpToDate=قائمة الأعضاء الصالحين مع مساهمة منتهية الصلاحية
MembersListExcluded=List of excluded members MembersListExcluded=قائمة الأعضاء المستبعدين
MembersListResiliated=List of terminated members MembersListResiliated=قائمة الأعضاء المنتهية
MembersListQualified=قائمة الأعضاء المؤهلين MembersListQualified=قائمة الأعضاء المؤهلين
MenuMembersToValidate=أعضاء مشروع MenuMembersToValidate=أعضاء مشروع
MenuMembersValidated=صادق أعضاء MenuMembersValidated=صادق أعضاء
MenuMembersExcluded=Excluded members MenuMembersExcluded=الأعضاء المستبعدين
MenuMembersResiliated=Terminated members MenuMembersResiliated=الأعضاء المنتهية
MembersWithSubscriptionToReceive=Members with contribution to receive MembersWithSubscriptionToReceive=الأعضاء مع المساهمة لتلقي
MembersWithSubscriptionToReceiveShort=Contributions to receive MembersWithSubscriptionToReceiveShort=المساهمات لتلقي
DateSubscription=Date of membership DateSubscription=تاريخ العضوية
DateEndSubscription=End date of membership DateEndSubscription=تاريخ انتهاء العضوية
EndSubscription=End of membership EndSubscription=انتهاء العضوية
SubscriptionId=Contribution ID SubscriptionId=معرف المساهمة
WithoutSubscription=Without contribution WithoutSubscription=بدون مساهمة
MemberId=Member Id MemberId=معرف العضو
MemberRef=Member Ref MemberRef=عضو المرجع
NewMember=عضو جديد NewMember=عضو جديد
MemberType=عضو نوع MemberType=عضو نوع
MemberTypeId=عضو نوع معرف MemberTypeId=عضو نوع معرف
@ -44,116 +44,110 @@ MemberTypeLabel=عضو نوع العلامة
MembersTypes=أعضاء أنواع MembersTypes=أعضاء أنواع
MemberStatusDraft=مشروع (يجب التحقق من صحة) MemberStatusDraft=مشروع (يجب التحقق من صحة)
MemberStatusDraftShort=مسودة MemberStatusDraftShort=مسودة
MemberStatusActive=Validated (waiting contribution) MemberStatusActive=التحقق من صحتها (في انتظار المساهمة)
MemberStatusActiveShort=التحقق من صحة MemberStatusActiveShort=التحقق من صحة
MemberStatusActiveLate=Contribution expired MemberStatusActiveLate=انتهت المساهمة
MemberStatusActiveLateShort=انتهى MemberStatusActiveLateShort=انتهى
MemberStatusPaid=الاكتتاب حتى الآن MemberStatusPaid=الاكتتاب حتى الآن
MemberStatusPaidShort=حتى الآن MemberStatusPaidShort=حتى الآن
MemberStatusExcluded=Excluded member MemberStatusExcluded=عضو مستبعد
MemberStatusExcludedShort=Excluded MemberStatusExcludedShort=مستبعد
MemberStatusResiliated=Terminated member MemberStatusResiliated=عضو منتهي
MemberStatusResiliatedShort=Terminated MemberStatusResiliatedShort=تم إنهاؤه
MembersStatusToValid=أعضاء مشروع MembersStatusToValid=أعضاء مشروع
MembersStatusExcluded=Excluded members MembersStatusExcluded=الأعضاء المستبعدين
MembersStatusResiliated=Terminated members MembersStatusResiliated=الأعضاء المنتهية
MemberStatusNoSubscription=Validated (no contribution required) MemberStatusNoSubscription=مصدق عليه (لا توجد مساهمة مطلوبة)
MemberStatusNoSubscriptionShort=التحقق من صحة MemberStatusNoSubscriptionShort=التحقق من صحة
SubscriptionNotNeeded=No contribution required SubscriptionNotNeeded=لا توجد مساهمة مطلوبة
NewCotisation=مساهمة جديدة NewCotisation=مساهمة جديدة
PaymentSubscription=دفع مساهمة جديدة PaymentSubscription=دفع مساهمة جديدة
SubscriptionEndDate=تاريخ انتهاء الاكتتاب SubscriptionEndDate=تاريخ انتهاء الاكتتاب
MembersTypeSetup=أعضاء نوع الإعداد MembersTypeSetup=أعضاء نوع الإعداد
MemberTypeModified=Member type modified MemberTypeModified=تم تعديل نوع العضو
DeleteAMemberType=Delete a member type DeleteAMemberType=احذف نوع العضو
ConfirmDeleteMemberType=Are you sure you want to delete this member type? ConfirmDeleteMemberType=هل أنت متأكد أنك تريد حذف هذا النوع من الأعضاء؟
MemberTypeDeleted=Member type deleted MemberTypeDeleted=تم حذف نوع العضو
MemberTypeCanNotBeDeleted=Member type can not be deleted MemberTypeCanNotBeDeleted=لا يمكن حذف نوع العضو
NewSubscription=مساهمة جديدة NewSubscription=مساهمة جديدة
NewSubscriptionDesc=هذا النموذج يسمح لك لتسجيل الاشتراك الخاص بك كعضو جديد من الأساس. إذا كنت ترغب في تجديد الاشتراك (إذا كان بالفعل عضوا)، يرجى الاتصال مؤسسة المجلس بدلا من %s البريد الإلكتروني. NewSubscriptionDesc=هذا النموذج يسمح لك لتسجيل الاشتراك الخاص بك كعضو جديد من الأساس. إذا كنت ترغب في تجديد الاشتراك (إذا كان بالفعل عضوا)، يرجى الاتصال مؤسسة المجلس بدلا من %s البريد الإلكتروني.
Subscription=Contribution Subscription=إسهام
AnyAmountWithAdvisedAmount=Any amount with a recommended amount of %s %s Subscriptions=مساهمات
AnyAmountWithoutAdvisedAmount=Any amount
CanEditAmountShort=Any amount
CanEditAmountShortForValues=recommended, any amount
MembershipDuration=مدة
GetMembershipButtonLabel=Get membership
Subscriptions=Contributions
SubscriptionLate=متأخر SubscriptionLate=متأخر
SubscriptionNotReceived=Contribution never received SubscriptionNotReceived=المساهمة لم يتم استلامها
ListOfSubscriptions=List of contributions ListOfSubscriptions=قائمة المساهمات
SendCardByMail=Send card by email SendCardByMail=أرسل البطاقة عبر البريد الإلكتروني
AddMember=إنشاء عضو AddMember=إنشاء عضو
NoTypeDefinedGoToSetup=لا يجوز لأي عضو في أنواع محددة. الذهاب إلى الإعداد -- أنواع الأعضاء NoTypeDefinedGoToSetup=لا يجوز لأي عضو في أنواع محددة. الذهاب إلى الإعداد -- أنواع الأعضاء
NewMemberType=عضو جديد من نوع NewMemberType=عضو جديد من نوع
WelcomeEMail=Welcome email WelcomeEMail=ترحيب البريد الإلكتروني
SubscriptionRequired=Contribution required SubscriptionRequired=المساهمة المطلوبة
DeleteType=حذف DeleteType=حذف
VoteAllowed=يسمح التصويت VoteAllowed=يسمح التصويت
Physical=Individual Physical=الفرد
Moral=Corporation Moral=مؤسَّسة
MorAndPhy=Corporation and Individual MorAndPhy=شركة وفرد
Reenable=Re-Enable Reenable=إعادة التمكين
ExcludeMember=Exclude a member ExcludeMember=استبعاد عضو
Exclude=Exclude Exclude=استبعاد
ConfirmExcludeMember=Are you sure you want to exclude this member ? ConfirmExcludeMember=هل أنت متأكد أنك تريد استبعاد هذا العضو؟
ResiliateMember=Terminate a member ResiliateMember=إنهاء عضو
ConfirmResiliateMember=Are you sure you want to terminate this member? ConfirmResiliateMember=هل أنت متأكد أنك تريد إنهاء هذا العضو؟
DeleteMember=حذف عضو DeleteMember=حذف عضو
ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his contributions)? ConfirmDeleteMember=هل أنت متأكد أنك تريد حذف هذا العضو (حذف العضو سيؤدي إلى حذف جميع مساهماته)؟
DeleteSubscription=الغاء الاشتراك DeleteSubscription=الغاء الاشتراك
ConfirmDeleteSubscription=Are you sure you want to delete this contribution? ConfirmDeleteSubscription=هل أنت متأكد أنك تريد حذف هذه المساهمة؟
Filehtpasswd=htpasswd الملف Filehtpasswd=htpasswd الملف
ValidateMember=صحة عضوا ValidateMember=صحة عضوا
ConfirmValidateMember=Are you sure you want to validate this member? ConfirmValidateMember=هل أنت متأكد أنك تريد التحقق من صحة هذا العضو؟
FollowingLinksArePublic=The following links are open pages not protected by any Dolibarr permission. They are not formatted pages, provided as example to show how to list members database. FollowingLinksArePublic=الروابط التالية هي صفحات مفتوحة غير محمية بأي إذن Dolibarr. وهي ليست صفحات منسقة ، وتقدم كمثال لإظهار كيفية سرد أعضاء قاعدة البيانات.
PublicMemberList=عضو في لائحة عامة PublicMemberList=عضو في لائحة عامة
BlankSubscriptionForm=Public self-registration form BlankSubscriptionForm=استمارة التسجيل الذاتي العامة
BlankSubscriptionFormDesc=Dolibarr can provide you a public URL/website to allow external visitors to ask to subscribe to the foundation. If an online payment module is enabled, a payment form may also be automatically provided. BlankSubscriptionFormDesc=يمكن أن يوفر لك Dolibarr عنوان URL / موقع ويب عام للسماح للزوار الخارجيين بطلب الاشتراك في المؤسسة. إذا تم تمكين وحدة دفع عبر الإنترنت ، فقد يتم أيضًا تقديم نموذج دفع تلقائيًا.
EnablePublicSubscriptionForm=Enable the public website with self-subscription form EnablePublicSubscriptionForm=تمكين الموقع العام من خلال نموذج الاشتراك الذاتي
ForceMemberType=Force the member type ForceMemberType=فرض نوع العضو
ExportDataset_member_1=Members and contributions ExportDataset_member_1=الأعضاء والمساهمات
ImportDataset_member_1=أعضاء ImportDataset_member_1=أعضاء
LastMembersModified=Latest %s modified members LastMembersModified=آخر %s الأعضاء المعدلة
LastSubscriptionsModified=Latest %s modified contributions LastSubscriptionsModified=أحدث مساهمات %s المعدلة
String=سلسلة String=سلسلة
Text=النص Text=النص
Int=Int Int=Int
DateAndTime=التاريخ والوقت DateAndTime=التاريخ والوقت
PublicMemberCard=عضو بطاقة العامة PublicMemberCard=عضو بطاقة العامة
SubscriptionNotRecorded=Contribution not recorded SubscriptionNotRecorded=المساهمة غير مسجلة
AddSubscription=Create contribution AddSubscription=إنشاء مساهمة
ShowSubscription=Show contribution ShowSubscription=عرض المساهمة
# Label of email templates # Label of email templates
SendingAnEMailToMember=Sending information email to member SendingAnEMailToMember=إرسال معلومات البريد الإلكتروني إلى العضو
SendingEmailOnAutoSubscription=Sending email on auto registration SendingEmailOnAutoSubscription=إرسال بريد إلكتروني عند التسجيل التلقائي
SendingEmailOnMemberValidation=Sending email on new member validation SendingEmailOnMemberValidation=إرسال بريد إلكتروني عند التحقق من العضو الجديد
SendingEmailOnNewSubscription=Sending email on new contribution SendingEmailOnNewSubscription=إرسال بريد إلكتروني على مساهمة جديدة
SendingReminderForExpiredSubscription=Sending reminder for expired contributions SendingReminderForExpiredSubscription=إرسال تذكير للمساهمات منتهية الصلاحية
SendingEmailOnCancelation=Sending email on cancelation SendingEmailOnCancelation=إرسال بريد إلكتروني عند الإلغاء
SendingReminderActionComm=Sending reminder for agenda event SendingReminderActionComm=إرسال تذكير لحدث جدول الأعمال
# Topic of email templates # Topic of email templates
YourMembershipRequestWasReceived=Your membership was received. YourMembershipRequestWasReceived=تم استلام عضويتك.
YourMembershipWasValidated=Your membership was validated YourMembershipWasValidated=تم التحقق من صحة عضويتك
YourSubscriptionWasRecorded=Your new contribution was recorded YourSubscriptionWasRecorded=تم تسجيل مساهمتك الجديدة
SubscriptionReminderEmail=contribution reminder SubscriptionReminderEmail=تذكير بالمساهمة
YourMembershipWasCanceled=Your membership was canceled YourMembershipWasCanceled=تم إلغاء عضويتك
CardContent=مضمون البطاقة الخاصة بك عضوا CardContent=مضمون البطاقة الخاصة بك عضوا
# Text of email templates # Text of email templates
ThisIsContentOfYourMembershipRequestWasReceived=We want to let you know that your membership request was received.<br><br> ThisIsContentOfYourMembershipRequestWasReceived=نريد إخبارك بأنه قد تم استلام طلب العضوية الخاص بك. <br> <br>
ThisIsContentOfYourMembershipWasValidated=We want to let you know that your membership was validated with the following information:<br><br> ThisIsContentOfYourMembershipWasValidated=نود إعلامك بأنه تم التحقق من عضويتك بالمعلومات التالية: <br> <br>
ThisIsContentOfYourSubscriptionWasRecorded=We want to let you know that your new subscription was recorded. Please find your invoice here enclosed.<br><br> ThisIsContentOfYourSubscriptionWasRecorded=We want to let you know that your new subscription was recorded.<br><br>
ThisIsContentOfSubscriptionReminderEmail=We want to let you know that your subscription is about to expire or has already expired (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). We hope you will renew it.<br><br> ThisIsContentOfSubscriptionReminderEmail=نريد إخبارك بأن اشتراكك على وشك الانتهاء أو انتهى بالفعل (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). نأمل أن تقوم بتجديده. <br> <br>
ThisIsContentOfYourCard=This is a summary of the information we have about you. Please contact us if anything is incorrect.<br><br> ThisIsContentOfYourCard=هذا ملخص للمعلومات التي لدينا عنك. يرجى الاتصال بنا إذا كان أي شيء غير صحيح. <br> <br>
DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the notification email received in case of auto-inscription of a guest DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=موضوع إشعار البريد الإلكتروني المستلم في حالة التسجيل التلقائي للضيف
DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Content of the notification email received in case of auto-inscription of a guest DescADHERENT_AUTOREGISTER_NOTIF_MAIL=محتوى إشعار البريد الإلكتروني المستلم في حالة التسجيل التلقائي للضيف
DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Email template to use to send email to a member on member auto-registration DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=قالب بريد إلكتروني لاستخدامه لإرسال بريد إلكتروني إلى عضو في التسجيل التلقائي للعضو
DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Email template to use to send email to a member on member validation DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=قالب بريد إلكتروني لاستخدامه لإرسال بريد إلكتروني إلى عضو عند التحقق من صحة العضو
DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Email template to use to send email to a member on new contribution recording DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=نموذج بريد إلكتروني لاستخدامه لإرسال بريد إلكتروني إلى عضو في تسجيل مساهمة جديدة
DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Email template to use to send email reminder when contribution is about to expire DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=نموذج بريد إلكتروني لاستخدامه لإرسال تذكير بالبريد الإلكتروني عندما توشك المساهمة على الانتهاء
DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Email template to use to send email to a member on member cancelation DescADHERENT_EMAIL_TEMPLATE_CANCELATION=قالب بريد إلكتروني لاستخدامه لإرسال بريد إلكتروني إلى عضو عند إلغاء العضو
DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=قالب بريد إلكتروني لاستخدامه لإرسال بريد إلكتروني إلى عضو عند استبعاد الأعضاء
DescADHERENT_MAIL_FROM=Sender Email for automatic emails DescADHERENT_MAIL_FROM=البريد الإلكتروني المرسل لرسائل البريد الإلكتروني التلقائية
DescADHERENT_ETIQUETTE_TYPE=علامات الشكل DescADHERENT_ETIQUETTE_TYPE=علامات الشكل
DescADHERENT_ETIQUETTE_TEXT=النص المطبوع على أوراق عنوان الأعضاء DescADHERENT_ETIQUETTE_TEXT=النص المطبوع على أوراق عنوان الأعضاء
DescADHERENT_CARD_TYPE=شكل بطاقات صفحة DescADHERENT_CARD_TYPE=شكل بطاقات صفحة
@ -163,68 +157,67 @@ DescADHERENT_CARD_TEXT_RIGHT=النص المطبوع على بطاقات الأ
DescADHERENT_CARD_FOOTER_TEXT=نص مطبوع على أسفل بطاقات الأعضاء DescADHERENT_CARD_FOOTER_TEXT=نص مطبوع على أسفل بطاقات الأعضاء
ShowTypeCard=وتبين من نوع '٪ ق' ShowTypeCard=وتبين من نوع '٪ ق'
HTPasswordExport=الملف htpassword جيل HTPasswordExport=الملف htpassword جيل
NoThirdPartyAssociatedToMember=No third party associated with this member NoThirdPartyAssociatedToMember=لا يوجد طرف ثالث مرتبط بهذا العضو
MembersAndSubscriptions=Members and Contributions MembersAndSubscriptions=الأعضاء والمساهمات
MoreActions=تكميلية العمل على تسجيل MoreActions=تكميلية العمل على تسجيل
MoreActionsOnSubscription=Complementary action suggested by default when recording a contribution, also done automatially on online payment of a contribution MoreActionsOnSubscription=يُقترح إجراء تكميلي بشكل افتراضي عند تسجيل مساهمة ، ويتم إجراؤه تلقائيًا عند الدفع عبر الإنترنت للمساهمة
MoreActionBankDirect=Create a direct entry on bank account MoreActionBankDirect=إنشاء قيد مباشر في الحساب المصرفي
MoreActionBankViaInvoice=Create an invoice, and a payment on bank account MoreActionBankViaInvoice=قم بإنشاء فاتورة ودفع على حساب بنكي
MoreActionInvoiceOnly=إنشاء فاتورة مع دفع أي مبلغ MoreActionInvoiceOnly=إنشاء فاتورة مع دفع أي مبلغ
LinkToGeneratedPages=Generation of business cards or address sheets LinkToGeneratedPages=توليد بطاقات العمل أو أوراق العناوين
LinkToGeneratedPagesDesc=هذه الشاشة تسمح لك لإنشاء ملفات الشعبي مع بطاقات العمل لجميع أعضاء أو عضو معين. LinkToGeneratedPagesDesc=هذه الشاشة تسمح لك لإنشاء ملفات الشعبي مع بطاقات العمل لجميع أعضاء أو عضو معين.
DocForAllMembersCards=إنشاء بطاقات العمل لجميع أعضاء (تنسيق الإعداد للإخراج في الواقع : <b>%s)</b> DocForAllMembersCards=إنشاء بطاقات العمل لجميع أعضاء (تنسيق الإعداد للإخراج في الواقع : <b>%s)</b>
DocForOneMemberCards=إنشاء بطاقات العمل لعضو معين (تنسيق الإعداد للإخراج في الواقع : <b>%s)</b> DocForOneMemberCards=إنشاء بطاقات العمل لعضو معين (تنسيق الإعداد للإخراج في الواقع : <b>%s)</b>
DocForLabels=أوراق عنوان انتج (تنسيق الإعداد للإخراج فعلا : <b>%s)</b> DocForLabels=أوراق عنوان انتج (تنسيق الإعداد للإخراج فعلا : <b>%s)</b>
SubscriptionPayment=Contribution payment SubscriptionPayment=دفع الاشتراكات
LastSubscriptionDate=Date of latest contribution payment LastSubscriptionDate=تاريخ آخر دفعة مساهمة
LastSubscriptionAmount=Amount of latest contribution LastSubscriptionAmount=مقدار أحدث مساهمة
LastMemberType=Last Member type LastMemberType=نوع العضو الأخير
MembersStatisticsByCountries=أعضاء إحصاءات حسب البلد MembersStatisticsByCountries=أعضاء إحصاءات حسب البلد
MembersStatisticsByState=أعضاء إحصاءات الولاية / المقاطعة MembersStatisticsByState=أعضاء إحصاءات الولاية / المقاطعة
MembersStatisticsByTown=أعضاء إحصاءات بلدة MembersStatisticsByTown=أعضاء إحصاءات بلدة
MembersStatisticsByRegion=إحصائيات الأعضاء حسب المنطقة MembersStatisticsByRegion=إحصائيات الأعضاء حسب المنطقة
NbOfMembers=Total number of members NbOfMembers=إجمالي عدد الأعضاء
NbOfActiveMembers=Total number of current active members NbOfActiveMembers=العدد الإجمالي للأعضاء النشطين الحاليين
NoValidatedMemberYet=العثور على أي أعضاء التحقق من صحة NoValidatedMemberYet=العثور على أي أعضاء التحقق من صحة
MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. MembersByCountryDesc=تظهر لك هذه الشاشة إحصائيات الأعضاء حسب الدول. تعتمد الرسوم البيانية والمخططات على مدى توفر خدمة الرسم البياني عبر الإنترنت من Google بالإضافة إلى توفر اتصال إنترنت فعال.
MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. MembersByStateDesc=تظهر لك هذه الشاشة إحصائيات الأعضاء حسب الولاية / المقاطعات / الكانتون.
MembersByTownDesc=This screen show you statistics of members by town. MembersByTownDesc=تظهر لك هذه الشاشة إحصائيات الأعضاء حسب المدينة.
MembersByNature=This screen show you statistics of members by nature. MembersByNature=تظهر لك هذه الشاشة إحصائيات الأعضاء حسب الطبيعة.
MembersByRegion=This screen show you statistics of members by region. MembersByRegion=تظهر لك هذه الشاشة إحصائيات الأعضاء حسب المنطقة.
MembersStatisticsDesc=اختيار الإحصاءات التي ترغب في قراءتها ... MembersStatisticsDesc=اختيار الإحصاءات التي ترغب في قراءتها ...
MenuMembersStats=إحصائيات MenuMembersStats=إحصائيات
LastMemberDate=Latest membership date LastMemberDate=آخر تاريخ للعضوية
LatestSubscriptionDate=Latest contribution date LatestSubscriptionDate=تاريخ آخر مساهمة
MemberNature=Nature of the member MemberNature=طبيعة العضو
MembersNature=Nature of the members MembersNature=طبيعة الأعضاء
Public=Information is public Public=المعلومات عامة
NewMemberbyWeb=وأضاف عضو جديد. تنتظر الموافقة NewMemberbyWeb=وأضاف عضو جديد. تنتظر الموافقة
NewMemberForm=الأعضاء الجدد في شكل NewMemberForm=الأعضاء الجدد في شكل
SubscriptionsStatistics=Contributions statistics SubscriptionsStatistics=إحصاءات المساهمات
NbOfSubscriptions=Number of contributions NbOfSubscriptions=عدد المساهمات
AmountOfSubscriptions=Amount collected from contributions AmountOfSubscriptions=المبلغ المحصل من المساهمات
TurnoverOrBudget=دوران (لشركة) أو الميزانية (على أساس) TurnoverOrBudget=دوران (لشركة) أو الميزانية (على أساس)
DefaultAmount=Default amount of contribution DefaultAmount=المبلغ الافتراضي للمساهمة
CanEditAmount=Visitor can choose/edit amount of its contribution regardless of the member type CanEditAmount=Visitor can choose/edit amount of its contribution
AmountIsLowerToMinimumNotice=sur un dû total de %s
MEMBER_NEWFORM_PAYONLINE=القفز على صفحة الدفع عبر الانترنت المتكاملة MEMBER_NEWFORM_PAYONLINE=القفز على صفحة الدفع عبر الانترنت المتكاملة
ByProperties=By nature ByProperties=بالطبيعة
MembersStatisticsByProperties=Members statistics by nature MembersStatisticsByProperties=إحصائيات الأعضاء حسب الطبيعة
VATToUseForSubscriptions=VAT rate to use for contributionss VATToUseForSubscriptions=معدل ضريبة القيمة المضافة لاستخدامه في المساهمات
NoVatOnSubscription=No VAT for contributions NoVatOnSubscription=لا ضريبة القيمة المضافة للمساهمات
ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for contribution line into invoice: %s ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=المنتج المستخدم لبند المساهمة في الفاتورة: %s
NameOrCompany=Name or company NameOrCompany=الإسم أو الشركة
SubscriptionRecorded=Contribution recorded SubscriptionRecorded=تم تسجيل المساهمة
NoEmailSentToMember=No email sent to member NoEmailSentToMember=لم يتم إرسال بريد إلكتروني للعضو
EmailSentToMember=Email sent to member at %s EmailSentToMember=تم إرسال البريد الإلكتروني إلى العضو على %s
SendReminderForExpiredSubscriptionTitle=Send reminder by email for expired contributions SendReminderForExpiredSubscriptionTitle=إرسال تذكير عبر البريد الإلكتروني للمساهمات منتهية الصلاحية
SendReminderForExpiredSubscription=Send reminder by email to members when contribution is about to expire (parameter is number of days before end of membership to send the remind. It can be a list of days separated by a semicolon, for example '10;5;0;-5') SendReminderForExpiredSubscription=أرسل تذكيرًا عبر البريد الإلكتروني إلى الأعضاء عندما توشك المساهمة على الانتهاء (المعلمة هي عدد الأيام قبل نهاية العضوية لإرسال التذكير. يمكن أن تكون قائمة بالأيام مفصولة بفاصلة منقوطة ، على سبيل المثال '10 ؛ 5 ؛ 0 ؛ -5 ")
MembershipPaid=Membership paid for current period (until %s) MembershipPaid=العضوية مدفوعة للفترة الحالية (حتى %s)
YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email YouMayFindYourInvoiceInThisEmail=قد تجد فاتورتك مرفقة بهذا البريد الإلكتروني
XMembersClosed=%s member(s) closed XMembersClosed=%s من الأعضاء مغلقين
XExternalUserCreated=%s external user(s) created XExternalUserCreated=تم إنشاء مستخدم (مستخدمين) خارجيين %s
ForceMemberNature=Force member nature (Individual or Corporation) ForceMemberNature=طبيعة عضو القوة (فرد أو شركة)
CreateDolibarrLoginDesc=The creation of a user login for members allows them to connect to the application. Depending on the authorizations granted, they will be able, for example, to consult or modify their file themselves. CreateDolibarrLoginDesc=يسمح إنشاء تسجيل دخول مستخدم للأعضاء بالاتصال بالتطبيق. اعتمادًا على التراخيص الممنوحة ، سيكونون قادرين ، على سبيل المثال ، على الرجوع إلى ملفهم أو تعديله بأنفسهم.
CreateDolibarrThirdPartyDesc=A thirdparty is the legal entity that will be used on the invoice if you decide to generate invoice for each contribution. You will be able to create it later during the process of recording the contribution. CreateDolibarrThirdPartyDesc=الطرف الثالث هو الكيان القانوني الذي سيتم استخدامه في الفاتورة إذا قررت إنشاء فاتورة لكل مساهمة. ستتمكن من إنشائه لاحقًا أثناء عملية تسجيل المساهمة.
MemberFirstname=Member firstname MemberFirstname=الاسم الأول للعضو
MemberLastname=Member lastname MemberLastname=اسم العائلة للعضو

View File

@ -1,147 +1,156 @@
# Dolibarr language file - Source file is en_US - loan # Dolibarr language file - Source file is en_US - loan
ModuleBuilderDesc=This tool must be used only by experienced users or developers. It provides utilities to build or edit your own module. Documentation for alternative <a href="%s" target="_blank" rel="noopener noreferrer">manual development is here</a>. ModuleBuilderDesc=يجب استخدام هذه الأداة فقط من قبل المستخدمين أو المطورين ذوي الخبرة. يوفر أدوات مساعدة لبناء أو تعديل الوحدة الخاصة بك. وثائق التطوير اليدوي <a href="%s" target="_blank" rel="noopener noreferrer"> البديل هنا </a>.
EnterNameOfModuleDesc=Enter name of the module/application to create with no spaces. Use uppercase to separate words (For example: MyModule, EcommerceForShop, SyncWithMySystem...) EnterNameOfModuleDesc=أدخل اسم الوحدة / التطبيق لإنشائه بدون مسافات. استخدم الأحرف الكبيرة لفصل الكلمات (على سبيل المثال: MyModule ، EcommerceForShop ، SyncWithMySystem ...)
EnterNameOfObjectDesc=Enter name of the object to create with no spaces. Use uppercase to separate words (For example: MyObject, Student, Teacher...). The CRUD class file, but also API file, pages to list/add/edit/delete object and SQL files will be generated. EnterNameOfObjectDesc=أدخل اسم الكائن المراد إنشاؤه بدون مسافات. استخدم الأحرف الكبيرة لفصل الكلمات (على سبيل المثال: MyObject ، الطالب ، المعلم ...). سيتم إنشاء ملف فئة CRUD ، ولكن أيضًا ملف API ، وصفحات لسرد / إضافة / تحرير / حذف كائن وملفات SQL.
ModuleBuilderDesc2=Path where modules are generated/edited (first directory for external modules defined into %s): <strong>%s</strong> EnterNameOfDictionaryDesc=أدخل اسم القاموس لإنشائه بدون مسافات. استخدم الأحرف الكبيرة لفصل الكلمات (على سبيل المثال: MyDico ...). سيتم إنشاء ملف الفصل ، وكذلك ملف SQL.
ModuleBuilderDesc3=Generated/editable modules found: <strong>%s</strong> ModuleBuilderDesc2=المسار الذي يتم فيه إنشاء / تحرير الوحدات (الدليل الأول للوحدات الخارجية المحددة في %s): <strong> %s </strong>
ModuleBuilderDesc4=A module is detected as 'editable' when the file <strong>%s</strong> exists in root of module directory ModuleBuilderDesc3=تم العثور على الوحدات النمطية / القابلة للتحرير: <strong> %s </strong>
NewModule=New module ModuleBuilderDesc4=تم اكتشاف وحدة على أنها "قابلة للتحرير" عندما يكون الملف <strong> %s </strong> موجودًا في جذر دليل الوحدة
NewObjectInModulebuilder=New object NewModule=وحدة جديدة
ModuleKey=Module key NewObjectInModulebuilder=كائن جديد
ObjectKey=Object key NewDictionary=قاموس جديد
ModuleInitialized=Module initialized ModuleKey=مفتاح الوحدة
FilesForObjectInitialized=Files for new object '%s' initialized ObjectKey=مفتاح الكائن
FilesForObjectUpdated=Files for object '%s' updated (.sql files and .class.php file) DicKey=مفتاح القاموس
ModuleBuilderDescdescription=Enter here all general information that describe your module. ModuleInitialized=الوحدة النمطية مهيأة
ModuleBuilderDescspecifications=You can enter here a detailed description of the specifications of your module that is not already structured into other tabs. So you have within easy reach all the rules to develop. Also this text content will be included into the generated documentation (see last tab). You can use Markdown format, but it is recommended to use Asciidoc format (comparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown). FilesForObjectInitialized=تمت تهيئة ملفات الكائن الجديد '%s'
ModuleBuilderDescobjects=Define here the objects you want to manage with your module. A CRUD DAO class, SQL files, page to list record of objects, to create/edit/view a record and an API will be generated. FilesForObjectUpdated=تم تحديث ملفات الكائن '%s' (ملفات .sql وملف .class.php)
ModuleBuilderDescmenus=This tab is dedicated to define menu entries provided by your module. ModuleBuilderDescdescription=أدخل هنا جميع المعلومات العامة التي تصف الوحدة الخاصة بك.
ModuleBuilderDescpermissions=This tab is dedicated to define the new permissions you want to provide with your module. ModuleBuilderDescspecifications=يمكنك هنا إدخال وصف تفصيلي لمواصفات وحدتك التي لم يتم تنظيمها بالفعل في علامات تبويب أخرى. لذلك يمكنك الوصول بسهولة إلى جميع القواعد التي يجب تطويرها. سيتم أيضًا تضمين محتوى النص هذا في الوثائق التي تم إنشاؤها (انظر علامة التبويب الأخيرة). يمكنك استخدام تنسيق Markdown ، لكن يوصى باستخدام تنسيق Asciidoc (مقارنة بين .md و .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown).
ModuleBuilderDesctriggers=This is the view of triggers provided by your module. To include code executed when a triggered business event is launched, just edit this file. ModuleBuilderDescobjects=حدد هنا العناصر التي تريد إدارتها باستخدام الوحدة النمطية الخاصة بك. فئة CRUD DAO ، ملفات SQL ، صفحة لسرد سجل الكائنات ، لإنشاء / تحرير / عرض سجل وسيتم إنشاء API.
ModuleBuilderDeschooks=This tab is dedicated to hooks. ModuleBuilderDescmenus=علامة التبويب هذه مخصصة لتعريف إدخالات القائمة التي توفرها الوحدة الخاصة بك.
ModuleBuilderDescpermissions=علامة التبويب هذه مخصصة لتحديد الأذونات الجديدة التي تريد توفيرها لوحدتك.
ModuleBuilderDesctriggers=هذه هي وجهة نظر المشغلات التي توفرها الوحدة الخاصة بك. لتضمين التعليمات البرمجية التي تم تنفيذها عند بدء حدث عمل تم تشغيله ، فقط قم بتحرير هذا الملف.
ModuleBuilderDeschooks=علامة التبويب هذه مخصصة للخطافات.
ModuleBuilderDescwidgets=علامة التبويب هذه مخصصة لبناء\\إدارة البريمجات ModuleBuilderDescwidgets=علامة التبويب هذه مخصصة لبناء\\إدارة البريمجات
ModuleBuilderDescbuildpackage=You can generate here a "ready to distribute" package file (a normalized .zip file) of your module and a "ready to distribute" documentation file. Just click on button to build the package or documentation file. ModuleBuilderDescbuildpackage=يمكنك هنا إنشاء ملف حزمة "جاهز للتوزيع" (ملف مضغوط. مضغوط) للوحدة النمطية الخاصة بك وملف توثيق "جاهز للتوزيع". ما عليك سوى النقر فوق الزر لإنشاء الحزمة أو ملف التوثيق.
EnterNameOfModuleToDeleteDesc=You can delete your module. WARNING: All coding files of module (generated or created manually) AND structured data and documentation will be deleted! EnterNameOfModuleToDeleteDesc=يمكنك حذف الوحدة الخاصة بك. تحذير: سيتم حذف جميع ملفات الترميز الخاصة بالوحدة النمطية (التي تم إنشاؤها أو إنشاؤها يدويًا) والبيانات المنظمة والوثائق!
EnterNameOfObjectToDeleteDesc=You can delete an object. WARNING: All coding files (generated or created manually) related to object will be deleted! EnterNameOfObjectToDeleteDesc=يمكنك حذف كائن. تحذير: سيتم حذف جميع ملفات الترميز (التي تم إنشاؤها أو إنشاؤها يدويًا) المتعلقة بالكائن!
DangerZone=Danger zone DangerZone=منطقة الخطر
BuildPackage=Build package BuildPackage=بناء الحزمة
BuildPackageDesc=You can generate a zip package of your application so your are ready to distribute it on any Dolibarr. You can also distribute it or sell it on marketplace like <a href="https://www.dolistore.com">DoliStore.com</a>. BuildPackageDesc=يمكنك إنشاء حزمة مضغوطة لتطبيقك حتى تكون جاهزًا لتوزيعها على أي Dolibarr. يمكنك أيضًا توزيعه أو بيعه في السوق مثل <a href="https://www.dolistore.com"> DoliStore.com </a>.
BuildDocumentation=Build documentation BuildDocumentation=بناء الوثائق
ModuleIsNotActive=This module is not activated yet. Go to %s to make it live or click here ModuleIsNotActive=لم يتم تفعيل هذه الوحدة بعد. انتقل إلى %s لتفعيله أو انقر هنا
ModuleIsLive=This module has been activated. Any change may break a current live feature. ModuleIsLive=تم تفعيل هذه الوحدة. قد يؤدي أي تغيير إلى كسر ميزة حية حالية.
DescriptionLong=Long description DescriptionLong=وصف طويل
EditorName=Name of editor EditorName=اسم المحرر
EditorUrl=URL of editor EditorUrl=عنوان URL للمحرر
DescriptorFile=Descriptor file of module DescriptorFile=ملف واصف الوحدة
ClassFile=File for PHP DAO CRUD class ClassFile=ملف لفئة PHP DAO CRUD
ApiClassFile=File for PHP API class ApiClassFile=ملف لفئة PHP API
PageForList=PHP page for list of record PageForList=صفحة PHP لقائمة التسجيلات
PageForCreateEditView=PHP page to create/edit/view a record PageForCreateEditView=صفحة PHP لإنشاء / تحرير / عرض سجل
PageForAgendaTab=PHP page for event tab PageForAgendaTab=صفحة PHP لعلامة تبويب الحدث
PageForDocumentTab=PHP page for document tab PageForDocumentTab=صفحة PHP لعلامة تبويب المستند
PageForNoteTab=PHP page for note tab PageForNoteTab=صفحة PHP لعلامة تبويب الملاحظات
PageForContactTab=PHP page for contact tab PageForContactTab=صفحة PHP لعلامة تبويب الاتصال
PathToModulePackage=Path to zip of module/application package PathToModulePackage=المسار إلى الرمز البريدي لحزمة الوحدة / التطبيق
PathToModuleDocumentation=Path to file of module/application documentation (%s) PathToModuleDocumentation=المسار إلى ملف وثائق الوحدة / التطبيق (%s)
SpaceOrSpecialCharAreNotAllowed=Spaces or special characters are not allowed. SpaceOrSpecialCharAreNotAllowed=غير مسموح بالمسافات أو الأحرف الخاصة.
FileNotYetGenerated=File not yet generated FileNotYetGenerated=لم يتم إنشاء الملف بعد
RegenerateClassAndSql=Force update of .class and .sql files RegenerateClassAndSql=فرض تحديث ملفات .class و. sql
RegenerateMissingFiles=Generate missing files RegenerateMissingFiles=توليد الملفات المفقودة
SpecificationFile=File of documentation SpecificationFile=ملف التوثيق
LanguageFile=File for language LanguageFile=ملف للغة
ObjectProperties=Object Properties ObjectProperties=خصائص الموضوع
ConfirmDeleteProperty=Are you sure you want to delete the property <strong>%s</strong>? This will change code in PHP class but also remove column from table definition of object. ConfirmDeleteProperty=هل تريد بالتأكيد حذف الخاصية <strong> %s </strong>؟ سيؤدي هذا إلى تغيير التعليمات البرمجية في فئة PHP ولكن أيضًا إزالة العمود من تعريف الجدول للكائن.
NotNull=Not NULL NotNull=غير فارغة
NotNullDesc=1=Set database to NOT NULL. -1=Allow null values and force value to NULL if empty ('' or 0). NotNullDesc=1 = تعيين قاعدة البيانات إلى NOT NULL ، 0 = السماح بالقيم الخالية ، -1 = السماح بالقيم الفارغة عن طريق فرض القيمة على NULL إذا كانت فارغة ('' أو 0)
SearchAll=Used for 'search all' SearchAll=تستخدم لبحث "الكل"
DatabaseIndex=Database index DatabaseIndex=فهرس قاعدة البيانات
FileAlreadyExists=File %s already exists FileAlreadyExists=الملف %s موجود بالفعل
TriggersFile=File for triggers code TriggersFile=ملف لرمز المشغلات
HooksFile=File for hooks code HooksFile=ملف لرمز هوكس
ArrayOfKeyValues=Array of key-val ArrayOfKeyValues=صفيف مفتاح فال
ArrayOfKeyValuesDesc=Array of keys and values if field is a combo list with fixed values ArrayOfKeyValuesDesc=صفيف من المفاتيح والقيم إذا كان الحقل عبارة عن قائمة تحرير وسرد بقيم ثابتة
WidgetFile=ملف بريمج WidgetFile=ملف بريمج
CSSFile=CSS file CSSFile=ملف CSS
JSFile=Javascript file JSFile=ملف جافا سكريبت
ReadmeFile=Readme file ReadmeFile=الملف التمهيدي
ChangeLog=ChangeLog file ChangeLog=ملف سجل التغيير
TestClassFile=File for PHP Unit Test class TestClassFile=ملف لفئة اختبار وحدة PHP
SqlFile=Sql file SqlFile=ملف SQL
PageForLib=File for the common PHP library PageForLib=ملف لمكتبة PHP الشائعة
PageForObjLib=File for the PHP library dedicated to object PageForObjLib=ملف لمكتبة PHP مخصص للكائن
SqlFileExtraFields=Sql file for complementary attributes SqlFileExtraFields=ملف SQL للسمات التكميلية
SqlFileKey=Sql file for keys SqlFileKey=ملف SQL للمفاتيح
SqlFileKeyExtraFields=Sql file for keys of complementary attributes SqlFileKeyExtraFields=ملف SQL لمفاتيح السمات التكميلية
AnObjectAlreadyExistWithThisNameAndDiffCase=An object already exists with this name and a different case AnObjectAlreadyExistWithThisNameAndDiffCase=كائن موجود بالفعل بهذا الاسم وحالة مختلفة
UseAsciiDocFormat=You can use Markdown format, but it is recommended to use Asciidoc format (omparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) UseAsciiDocFormat=يمكنك استخدام تنسيق Markdown ، لكن يوصى باستخدام تنسيق Asciidoc (omparison بين .md و .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown)
IsAMeasure=Is a measure IsAMeasure=هو مقياس
DirScanned=Directory scanned DirScanned=تم مسح الدليل
NoTrigger=No trigger NoTrigger=لا يوجد مشغل
NoWidget=لا يوجد بريمج NoWidget=لا يوجد بريمج
GoToApiExplorer=API explorer GoToApiExplorer=مستكشف API
ListOfMenusEntries=List of menu entries ListOfMenusEntries=قائمة إدخالات القائمة
ListOfDictionariesEntries=List of dictionaries entries ListOfDictionariesEntries=قائمة إدخالات القواميس
ListOfPermissionsDefined=List of defined permissions ListOfPermissionsDefined=قائمة الأذونات المحددة
SeeExamples=See examples here SeeExamples=انظر الأمثلة هنا
EnabledDesc=Condition to have this field active (Examples: 1 or $conf->global->MYMODULE_MYOPTION) EnabledDesc=شرط تنشيط هذا الحقل (أمثلة: 1 أو $ conf-> global-> MYMODULE_MYOPTION)
VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create), 5=Visible on list end view form only (not create, not update).<br><br>Using a negative value means field is not shown by default on list but can be selected for viewing).<br><br>It can be an expression, for example:<br>preg_match('/public/', $_SERVER['PHP_SELF'])?0:1<br>($user->rights->holiday->define_holiday ? 1 : 0) VisibleDesc=هل الحقل مرئي؟ (أمثلة: 0 = غير مرئي أبدًا ، 1 = مرئي في القائمة وإنشاء / تحديث / عرض النماذج ، 2 = مرئي في القائمة فقط ، 3 = مرئي في نموذج الإنشاء / التحديث / العرض فقط (وليس القائمة) ، 4 = مرئي في القائمة و تحديث / عرض النموذج فقط (وليس الإنشاء) ، 5 = مرئي في نموذج عرض نهاية القائمة فقط (ليس إنشاء ، وليس تحديث). <br> <br> يمكن أن يكون تعبيرًا ، على سبيل المثال: <br> preg_match ('/ public /'، $ _SERVER ['PHP_SELF'])؟ 0: 1 <br> ($ 1-> تعريف الحقوق-> عطلة
DisplayOnPdfDesc=Display this field on compatible PDF documents, you can manage position with "Position" field.<br>Currently, known compatibles PDF models are : eratosthene (order), espadon (ship), sponge (invoices), cyan (propal/quotation), cornas (supplier order)<br><br><strong>For document :</strong><br>0 = not displayed <br>1 = display<br>2 = display only if not empty<br><br><strong>For document lines :</strong><br>0 = not displayed <br>1 = displayed in a column<br>3 = display in line description column after the description<br>4 = display in description column after the description only if not empty DisplayOnPdfDesc=اعرض هذا الحقل على مستندات PDF متوافقة ، يمكنك إدارة الموقع باستخدام حقل "الموضع". <br> حاليًا ، نماذج PDF المتوافقة المعروفة هي: eratosthene (الأمر) ، espadon (السفينة) ، الإسفنج (الفواتير) ، السماوي (propal / الاقتباس) ، cornas (طلب المورد) <br> <br> a0e78439047c06daz0 a0e78439047c06dz0 a0e78439019bz0 = display <br> 2 = display only if not empty <br> <br> <strong> For document lines : </strong> <br> 0 = not displayed <br> 1 = displayed in a column <br> 3 = display in line description column after the description <br> 4 = display in description column after the الوصف فقط إذا لم يكن فارغًا
DisplayOnPdf=Display on PDF DisplayOnPdf=عرض على PDF
IsAMeasureDesc=Can the value of field be cumulated to get a total into list? (Examples: 1 or 0) IsAMeasureDesc=هل يمكن تجميع قيمة الحقل للحصول على الإجمالي في القائمة؟ (أمثلة: 1 أو 0)
SearchAllDesc=Is the field used to make a search from the quick search tool? (Examples: 1 or 0) SearchAllDesc=هل يستخدم الحقل لإجراء بحث من أداة البحث السريع؟ (أمثلة: 1 أو 0)
SpecDefDesc=Enter here all documentation you want to provide with your module that is not already defined by other tabs. You can use .md or better, the rich .asciidoc syntax. SpecDefDesc=أدخل هنا جميع الوثائق التي تريد توفيرها مع الوحدة النمطية الخاصة بك والتي لم يتم تحديدها بالفعل بواسطة علامات تبويب أخرى. يمكنك استخدام .md أو أفضل منه ، الصيغة الغنية .asciidoc.
LanguageDefDesc=Enter in this files, all the key and the translation for each language file. LanguageDefDesc=أدخل في هذه الملفات ، كل المفتاح والترجمة لكل ملف لغة.
MenusDefDesc=Define here the menus provided by your module MenusDefDesc=حدد هنا القوائم التي توفرها الوحدة الخاصة بك
DictionariesDefDesc=Define here the dictionaries provided by your module DictionariesDefDesc=حدد هنا القواميس التي توفرها الوحدة الخاصة بك
PermissionsDefDesc=Define here the new permissions provided by your module PermissionsDefDesc=حدد هنا الأذونات الجديدة التي توفرها الوحدة الخاصة بك
MenusDefDescTooltip=The menus provided by your module/application are defined into the array <strong>$this->menus</strong> into the module descriptor file. You can edit manually this file or use the embedded editor.<br><br>Note: Once defined (and module re-activated), menus are also visible into the menu editor available to administrator users on %s. MenusDefDescTooltip=يتم تحديد القوائم التي توفرها الوحدة النمطية / التطبيق الخاص بك في المصفوفة <strong> $ this-> menus </strong> في ملف واصف الوحدة النمطية. يمكنك تحرير هذا الملف يدويًا أو استخدام المحرر المضمن. <br> <br> ملاحظة: بمجرد تحديدها (وإعادة تنشيط الوحدة النمطية) ، تظهر القوائم أيضًا في محرر القائمة المتاح لمستخدمي المسؤولين في %s.
DictionariesDefDescTooltip=The dictionaries provided by your module/application are defined into the array <strong>$this->dictionaries</strong> into the module descriptor file. You can edit manually this file or use the embedded editor.<br><br>Note: Once defined (and module re-activated), dictionaries are also visible into the setup area to administrator users on %s. DictionariesDefDescTooltip=يتم تحديد القواميس التي توفرها الوحدة النمطية / التطبيق الخاص بك في المصفوفة <strong> $ this-> القواميس </strong> في ملف واصف الوحدة. يمكنك تحرير هذا الملف يدويًا أو استخدام المحرر المضمن. <br> <br> ملاحظة: بمجرد تحديدها (وإعادة تنشيط الوحدة النمطية) ، تظهر القواميس أيضًا في منطقة الإعداد لمستخدمي المسؤولين على %s.
PermissionsDefDescTooltip=The permissions provided by your module/application are defined into the array <strong>$this->rights</strong> into the module descriptor file. You can edit manually this file or use the embedded editor.<br><br>Note: Once defined (and module re-activated), permissions are visible into the default permissions setup %s. PermissionsDefDescTooltip=يتم تحديد الأذونات التي توفرها الوحدة النمطية / التطبيق الخاص بك في المصفوفة <strong> $ this-> rights </strong> في ملف واصف الوحدة النمطية. يمكنك تحرير هذا الملف يدويًا أو استخدام المحرر المضمن. <br> <br> ملاحظة: بمجرد تحديدها (وإعادة تنشيط الوحدة النمطية) ، تظهر الأذونات في إعداد الأذونات الافتراضية %s.
HooksDefDesc=Define in the <b>module_parts['hooks']</b> property, in the module descriptor, the context of hooks you want to manage (list of contexts can be found by a search on '<b>initHooks(</b>' in core code).<br>Edit the hook file to add code of your hooked functions (hookable functions can be found by a search on '<b>executeHooks</b>' in core code). HooksDefDesc=حدد في <b> module_parts ['hooks'] </b> الخاصية ، في واصف الوحدة النمطية ، سياق الخطافات التي تريد إدارتها (يمكن العثور على قائمة السياقات من خلال البحث في "<b> initHooks (a09a4fc039. ملف الخطاف لإضافة رمز وظائف hooked (يمكن العثور على الوظائف القابلة للتوصيل من خلال البحث على '<b> executeHooks </b>' في الكود الأساسي).
TriggerDefDesc=Define in the trigger file the code that you want to execute when a business event external to your module is executed (events triggered by other modules). TriggerDefDesc=حدد في ملف المشغل الكود الذي تريد تنفيذه عند تنفيذ حدث عمل خارج الوحدة النمطية الخاصة بك (الأحداث التي يتم تشغيلها بواسطة وحدات نمطية أخرى).
SeeIDsInUse=See IDs in use in your installation SeeIDsInUse=انظر المعرفات المستخدمة في التثبيت الخاص بك
SeeReservedIDsRangeHere=See range of reserved IDs SeeReservedIDsRangeHere=انظر مجموعة من المعرفات المحجوزة
ToolkitForDevelopers=Toolkit for Dolibarr developers ToolkitForDevelopers=مجموعة أدوات لمطوري Dolibarr
TryToUseTheModuleBuilder=If you have knowledge of SQL and PHP, you may use the native module builder wizard.<br>Enable the module <strong>%s</strong> and use the wizard by clicking the <span class="fa fa-bug"></span> on the top right menu.<br>Warning: This is an advanced developer feature, do <b>not</b> experiment on your production site! TryToUseTheModuleBuilder=إذا كانت لديك معرفة بـ SQL و PHP ، فيمكنك استخدام معالج منشئ الوحدات الأصلية. <br> قم بتمكين الوحدة النمطية <strong> %s </strong> واستخدم المعالج بالنقر فوق <span class="fa fa-bug"> </span> في أعلى القائمة اليمنى. <br> تحذير: هذه ميزة مطور متقدمة ، قم بإجراء تجربة <b> وليس </b> على موقع الإنتاج الخاص بك!
SeeTopRightMenu=See <span class="fa fa-bug"></span> on the top right menu SeeTopRightMenu=شاهد <span class="fa fa-bug"> </span> في القائمة اليمنى العلوية
AddLanguageFile=Add language file AddLanguageFile=أضف ملف اللغة
YouCanUseTranslationKey=You can use here a key that is the translation key found into language file (see tab "Languages") YouCanUseTranslationKey=يمكنك هنا استخدام مفتاح يمثل مفتاح الترجمة الموجود في ملف اللغة (انظر علامة التبويب "اللغات")
DropTableIfEmpty=(Destroy table if empty) DropTableIfEmpty=(تدمير الجدول إذا كان فارغًا)
TableDoesNotExists=The table %s does not exists TableDoesNotExists=الجدول %s غير موجود
TableDropped=Table %s deleted TableDropped=تم حذف الجدول %s
InitStructureFromExistingTable=Build the structure array string of an existing table InitStructureFromExistingTable=بناء سلسلة مصفوفة الهيكل لجدول موجود
UseAboutPage=Disable the about page UseAboutPage=لا تقم بإنشاء صفحة حول
UseDocFolder=Disable the documentation folder UseDocFolder=قم بتعطيل مجلد الوثائق
UseSpecificReadme=Use a specific ReadMe UseSpecificReadme=استخدم ReadMe محدد
ContentOfREADMECustomized=Note: The content of the README.md file has been replaced with the specific value defined into setup of ModuleBuilder. ContentOfREADMECustomized=ملاحظة: تم استبدال محتوى ملف README.md بالقيمة المحددة المحددة في إعداد ModuleBuilder.
RealPathOfModule=Real path of module RealPathOfModule=المسار الحقيقي للوحدة
ContentCantBeEmpty=Content of file can't be empty ContentCantBeEmpty=لا يمكن أن يكون محتوى الملف فارغًا
WidgetDesc=هنا يمكنك توليد وتعديل البريمجات التي ستضمن مع وحدتك البرمجية WidgetDesc=هنا يمكنك توليد وتعديل البريمجات التي ستضمن مع وحدتك البرمجية
CSSDesc=You can generate and edit here a file with personalized CSS embedded with your module. CSSDesc=يمكنك إنشاء ملف وتحريره هنا باستخدام CSS مخصص مضمّن في الوحدة النمطية الخاصة بك.
JSDesc=You can generate and edit here a file with personalized Javascript embedded with your module. JSDesc=يمكنك إنشاء ملف وتحريره هنا باستخدام Javascript مخصص مضمّن في الوحدة النمطية الخاصة بك.
CLIDesc=You can generate here some command line scripts you want to provide with your module. CLIDesc=يمكنك هنا إنشاء بعض البرامج النصية لسطر الأوامر التي تريد تزويدها بالوحدة النمطية الخاصة بك.
CLIFile=CLI File CLIFile=ملف CLI
NoCLIFile=No CLI files NoCLIFile=لا توجد ملفات CLI
UseSpecificEditorName = Use a specific editor name UseSpecificEditorName = استخدم اسم محرر محدد
UseSpecificEditorURL = Use a specific editor URL UseSpecificEditorURL = استخدم URL محرر محدد
UseSpecificFamily = Use a specific family UseSpecificFamily = استخدم عائلة معينة
UseSpecificAuthor = Use a specific author UseSpecificAuthor = استخدم مؤلفًا محددًا
UseSpecificVersion = Use a specific initial version UseSpecificVersion = استخدم نسخة أولية محددة
IncludeRefGeneration=The reference of object must be generated automatically IncludeRefGeneration=يجب إنشاء مرجع الكائن تلقائيًا بواسطة قواعد الترقيم المخصصة
IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference IncludeRefGenerationHelp=حدد هذا إذا كنت تريد تضمين رمز لإدارة إنشاء المرجع تلقائيًا باستخدام قواعد الترقيم المخصصة
IncludeDocGeneration=I want to generate some documents from the object IncludeDocGeneration=أريد إنشاء بعض المستندات من قوالب للكائن
IncludeDocGenerationHelp=If you check this, some code will be generated to add a "Generate document" box on the record. IncludeDocGenerationHelp=إذا حددت هذا ، فسيتم إنشاء بعض التعليمات البرمجية لإضافة مربع "إنشاء مستند" في السجل.
ShowOnCombobox=Show value into combobox ShowOnCombobox=إظهار القيمة في مربع التحرير والسرد
KeyForTooltip=Key for tooltip KeyForTooltip=مفتاح تلميح الأداة
CSSClass=CSS for edit/create form CSSClass=CSS لتحرير / إنشاء النموذج
CSSViewClass=CSS for read form CSSViewClass=CSS لقراءة النموذج
CSSListClass=CSS for list CSSListClass=CSS للحصول على قائمة
NotEditable=Not editable NotEditable=غير قابل للتحرير
ForeignKey=Foreign key ForeignKey=مفتاح غريب
TypeOfFieldsHelp=Type of fields:<br>varchar(99), double(24,8), real, text, html, datetime, timestamp, integer, integer:ClassName:relativepath/to/classfile.class.php[:1[:filter]] ('1' means we add a + button after the combo to create the record, 'filter' can be 'status=1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)' for example) TypeOfFieldsHelp=نوع الحقول: <br> varchar (99)، double (24،8)، real، text، html، datetime، timestamp، عدد صحيح ، عدد صحيح: ClassName: relativepath / to / classfile.class.php [: 1 [: filter]] يعني <br> "1" أننا نضيف زر + بعد التحرير والسرد لإنشاء السجل <br> "filter" هو شرط sql ، على سبيل المثال: "الحالة = 1 AND fk_user = __ USER_ID__ والكيان IN (__SHARED_ENTITIES__)"
AsciiToHtmlConverter=Ascii to HTML converter AsciiToHtmlConverter=Ascii لتحويل HTML
AsciiToPdfConverter=Ascii to PDF converter AsciiToPdfConverter=Ascii لتحويل PDF
TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. TableNotEmptyDropCanceled=الجدول ليس فارغًا. تم إلغاء الإسقاط.
ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. ModuleBuilderNotAllowed=منشئ الوحدات متاح ولكن غير مسموح به للمستخدم الخاص بك.
ImportExportProfiles=Import and export profiles ImportExportProfiles=ملفات تعريف الاستيراد والتصدير
ValidateModBuilderDesc=Put 1 if this field need to be validated with $this->validateField() or 0 if validation required ValidateModBuilderDesc=عيّن هذا إلى 1 إذا كنت تريد الحصول على الأسلوب $ this-> validateField () الخاص بالكائن الذي يتم استدعاؤه للتحقق من صحة محتوى الحقل أثناء الإدراج أو التحديث. قم بتعيين 0 إذا لم يكن هناك حاجة للتحقق من الصحة.
WarningDatabaseIsNotUpdated=تحذير: لا يتم تحديث قاعدة البيانات تلقائيًا ، يجب تدمير الجداول وتعطيل الوحدة النمطية لإعادة إنشاء الجداول
LinkToParentMenu=قائمة الوالدين (fk_xxxxmenu)
ListOfTabsEntries=قائمة إدخالات علامة التبويب
TabsDefDesc=حدد هنا علامات التبويب التي توفرها الوحدة الخاصة بك
TabsDefDescTooltip=يتم تحديد علامات التبويب التي توفرها الوحدة النمطية / التطبيق الخاص بك في المصفوفة <strong> $ this-> علامات التبويب </strong> في ملف واصف الوحدة النمطية. يمكنك تحرير هذا الملف يدويًا أو استخدام المحرر المضمن.
BadValueForType=قيمة غير صالحة للنوع %s

View File

@ -1,32 +1,36 @@
# Dolibarr language file - Source file is en_US - oauth # Dolibarr language file - Source file is en_US - oauth
ConfigOAuth=OAuth Configuration ConfigOAuth=تهيئة OAuth
OAuthServices=OAuth Services OAuthServices=خدمات OAuth
ManualTokenGeneration=Manual token generation ManualTokenGeneration=توليد الرمز اليدوي
TokenManager=Token Manager TokenManager=مدير الرموز
IsTokenGenerated=Is token generated ? IsTokenGenerated=هل تم إنشاء الرمز المميز؟
NoAccessToken=لا رمز وصول حفظها في قاعدة البيانات المحلية NoAccessToken=لا رمز وصول حفظها في قاعدة البيانات المحلية
HasAccessToken=تم إنشاء رمز مميز وحفظها في قاعدة البيانات المحلية HasAccessToken=تم إنشاء رمز مميز وحفظها في قاعدة البيانات المحلية
NewTokenStored=Token received and saved NewTokenStored=تم استلام الرمز وحفظه
ToCheckDeleteTokenOnProvider=Click here to check/delete authorization saved by %s OAuth provider ToCheckDeleteTokenOnProvider=انقر هنا للتحقق / حذف التفويض المحفوظ بواسطة موفر %s OAuth
TokenDeleted=حذف رمز TokenDeleted=حذف رمز
RequestAccess=انقر هنا لطلب / تجديد الوصول والحصول على رمز جديد لإنقاذ RequestAccess=انقر هنا لطلب / تجديد الوصول والحصول على رمز جديد
DeleteAccess=انقر هنا لحذف رمز DeleteAccess=انقر هنا لحذف رمز
UseTheFollowingUrlAsRedirectURI=Use the following URL as the Redirect URI when creating your credentials with your OAuth provider: UseTheFollowingUrlAsRedirectURI=استخدم عنوان URL التالي باعتباره Redirect URI عند إنشاء بيانات الاعتماد الخاصة بك مع موفر OAuth الخاص بك:
ListOfSupportedOauthProviders=Enter the credentials provided by your OAuth2 provider. Only supported OAuth2 providers are listedd here. These services may be used by other modules that need OAuth2 authentication. ListOfSupportedOauthProviders=أضف موفري رمز OAuth2 المميز. بعد ذلك ، انتقل إلى صفحة مشرف موفر OAuth لإنشاء / الحصول على معرّف وسر OAuth وحفظهما هنا. بمجرد الانتهاء من ذلك ، قم بتشغيل علامة التبويب الأخرى لإنشاء الرمز المميز الخاص بك.
OAuthSetupForLogin=Page to generate an OAuth token OAuthSetupForLogin=صفحة لإدارة (إنشاء / حذف) رموز OAuth المميزة
SeePreviousTab=See previous tab SeePreviousTab=انظر علامة التبويب السابقة
OAuthIDSecret=OAuth ID and Secret OAuthProvider=مزود OAuth
OAuthIDSecret=معرف وسر OAuth
TOKEN_REFRESH=رمزي تحميل الحاضر TOKEN_REFRESH=رمزي تحميل الحاضر
TOKEN_EXPIRED=Token expired TOKEN_EXPIRED=انتهت صلاحية الرمز
TOKEN_EXPIRE_AT=رمز تنتهي في TOKEN_EXPIRE_AT=رمز تنتهي في
TOKEN_DELETE=حذف رمز المحفوظة TOKEN_DELETE=حذف رمز المحفوظة
OAUTH_GOOGLE_NAME=OAuth Google service OAUTH_GOOGLE_NAME=خدمة OAuth Google
OAUTH_GOOGLE_ID=OAuth Google Id OAUTH_GOOGLE_ID=معرف Google OAuth
OAUTH_GOOGLE_SECRET=OAuth Google Secret OAUTH_GOOGLE_SECRET=OAuth Google Secret
OAUTH_GOOGLE_DESC=Go to <a class="notasortlink" href="https://console.developers.google.com/" target="_blank">this page</a> then "Credentials" to create OAuth credentials OAUTH_GITHUB_NAME=خدمة OAuth GitHub
OAUTH_GITHUB_NAME=OAuth GitHub service OAUTH_GITHUB_ID=معرف OAuth GitHub
OAUTH_GITHUB_ID=OAuth GitHub Id
OAUTH_GITHUB_SECRET=OAuth GitHub Secret OAUTH_GITHUB_SECRET=OAuth GitHub Secret
OAUTH_GITHUB_DESC=Go to <a class="notasortlink" href="https://github.com/settings/developers" target="_blank">this page</a> then "Register a new application" to create OAuth credentials OAUTH_URL_FOR_CREDENTIAL=انتقل إلى <a class="notasortlink" href="%s" target="_blank" rel="noopener noreferrer external"> هذه الصفحة <span class="fas fa-external-link-alt paddingleft"> </span> </a> لإنشاء أو الحصول على معرف OAuth والسري
OAUTH_STRIPE_TEST_NAME=OAuth Stripe Test OAUTH_STRIPE_TEST_NAME=اختبار شريط OAuth
OAUTH_STRIPE_LIVE_NAME=OAuth Stripe Live OAUTH_STRIPE_LIVE_NAME=OAuth Stripe Live
OAUTH_ID=معرف OAuth
OAUTH_SECRET=سر OAuth
OAuthProviderAdded=تمت إضافة موفر OAuth
AOAuthEntryForThisProviderAndLabelAlreadyHasAKey=إدخال OAuth لهذا الموفر وهذا التصنيف موجود بالفعل

View File

@ -1,52 +1,52 @@
# Dolibarr language file - Source file is en_US - other # Dolibarr language file - Source file is en_US - other
SecurityCode=رمز الحماية SecurityCode=رمز الحماية
NumberingShort=N° NumberingShort=رقم
Tools=أدوات Tools=أدوات
TMenuTools=أدوات TMenuTools=أدوات
ToolsDesc=All tools not included in other menu entries are grouped here.<br>All the tools can be accessed via the left menu. ToolsDesc=جميع الأدوات غير المدرجة في إدخالات القائمة الأخرى مجمعة هنا. <br> يمكن الوصول إلى جميع الأدوات عبر القائمة اليسرى.
Birthday=عيد ميلاد Birthday=عيد ميلاد
BirthdayAlertOn=عيد ميلاد النشطة في حالة تأهب BirthdayAlertOn=عيد ميلاد النشطة في حالة تأهب
BirthdayAlertOff=عيد الميلاد فى حالة تأهب الخاملة BirthdayAlertOff=عيد الميلاد فى حالة تأهب الخاملة
TransKey=Translation of the key TransKey TransKey=ترجمة المفتاح TransKey
MonthOfInvoice=Month (number 1-12) of invoice date MonthOfInvoice=شهر (رقم 1-12) من تاريخ الفاتورة
TextMonthOfInvoice=Month (text) of invoice date TextMonthOfInvoice=شهر (نص) من تاريخ الفاتورة
PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date PreviousMonthOfInvoice=الشهر السابق (رقم 1-12) من تاريخ الفاتورة
TextPreviousMonthOfInvoice=Previous month (text) of invoice date TextPreviousMonthOfInvoice=الشهر السابق (نص) من تاريخ الفاتورة
NextMonthOfInvoice=Following month (number 1-12) of invoice date NextMonthOfInvoice=الشهر التالي (رقم 1-12) من تاريخ الفاتورة
TextNextMonthOfInvoice=Following month (text) of invoice date TextNextMonthOfInvoice=الشهر التالي (نص) من تاريخ الفاتورة
PreviousMonth=Previous month PreviousMonth=الشهر الماضى
CurrentMonth=Current month CurrentMonth=الشهر الحالي
ZipFileGeneratedInto=Zip file generated into <b>%s</b>. ZipFileGeneratedInto=تم إنشاء ملف مضغوط في <b> %s </b>.
DocFileGeneratedInto=Doc file generated into <b>%s</b>. DocFileGeneratedInto=تم إنشاء ملف doc في <b> %s </b>.
JumpToLogin=Disconnected. Go to login page... JumpToLogin=انقطع الاتصال. انتقل إلى صفحة تسجيل الدخول ...
MessageForm=Message on online payment form MessageForm=رسالة في نموذج الدفع عبر الإنترنت
MessageOK=Message on the return page for a validated payment MessageOK=رسالة على صفحة العودة لعملية دفع تم التحقق من صحتها
MessageKO=Message on the return page for a canceled payment MessageKO=رسالة على صفحة الإرجاع بخصوص الدفعة الملغاة
ContentOfDirectoryIsNotEmpty=Content of this directory is not empty. ContentOfDirectoryIsNotEmpty=محتوى هذا الدليل ليس فارغًا.
DeleteAlsoContentRecursively=Check to delete all content recursively DeleteAlsoContentRecursively=تحقق لحذف كل المحتوى بشكل متكرر
PoweredBy=Powered by PoweredBy=مشغل بواسطة
YearOfInvoice=Year of invoice date YearOfInvoice=سنة تاريخ الفاتورة
PreviousYearOfInvoice=Previous year of invoice date PreviousYearOfInvoice=السنة السابقة لتاريخ الفاتورة
NextYearOfInvoice=Following year of invoice date NextYearOfInvoice=السنة التالية لتاريخ الفاتورة
DateNextInvoiceBeforeGen=Date of next invoice (before generation) DateNextInvoiceBeforeGen=تاريخ الفاتورة التالية (قبل التوليد)
DateNextInvoiceAfterGen=Date of next invoice (after generation) DateNextInvoiceAfterGen=تاريخ الفاتورة التالية (بعد التوليد)
GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead. GraphInBarsAreLimitedToNMeasures=قطع العنب محدودة بمقاييس %s في وضع "أشرطة". تم تحديد الوضع "Lines" تلقائيًا بدلاً من ذلك.
OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. OnlyOneFieldForXAxisIsPossible=حقل واحد فقط ممكن حاليًا كمحور س. تم تحديد الحقل الأول المحدد فقط.
AtLeastOneMeasureIsRequired=At least 1 field for measure is required AtLeastOneMeasureIsRequired=مطلوب حقل واحد على الأقل للقياس
AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required AtLeastOneXAxisIsRequired=مطلوب حقل واحد على الأقل للمحور السيني
LatestBlogPosts=Latest Blog Posts LatestBlogPosts=أحدث مشاركات المدونة
notiftouser=To users notiftouser=للمستخدمين
notiftofixedemail=To fixed mail notiftofixedemail=إلى البريد الثابت
notiftouserandtofixedemail=To user and fixed mail notiftouserandtofixedemail=للمستخدم والبريد الثابت
Notify_ORDER_VALIDATE=Sales order validated Notify_ORDER_VALIDATE=تم التحقق من صحة أمر المبيعات
Notify_ORDER_SENTBYMAIL=Sales order sent by mail Notify_ORDER_SENTBYMAIL=تم إرسال أمر المبيعات بالبريد
Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email Notify_ORDER_SUPPLIER_SENTBYMAIL=تم إرسال طلب الشراء عن طريق البريد الإلكتروني
Notify_ORDER_SUPPLIER_VALIDATE=Purchase order recorded Notify_ORDER_SUPPLIER_VALIDATE=تم تسجيل أمر الشراء
Notify_ORDER_SUPPLIER_APPROVE=Purchase order approved Notify_ORDER_SUPPLIER_APPROVE=تمت الموافقة على أمر الشراء
Notify_ORDER_SUPPLIER_REFUSE=Purchase order refused Notify_ORDER_SUPPLIER_REFUSE=تم رفض أمر الشراء
Notify_PROPAL_VALIDATE=التحقق من صحة اقتراح العملاء Notify_PROPAL_VALIDATE=التحقق من صحة اقتراح العملاء
Notify_PROPAL_CLOSE_SIGNED=Customer proposal closed signed Notify_PROPAL_CLOSE_SIGNED=تم توقيع اقتراح العميل
Notify_PROPAL_CLOSE_REFUSED=Customer proposal closed refused Notify_PROPAL_CLOSE_REFUSED=تم رفض اقتراح العميل
Notify_PROPAL_SENTBYMAIL=اقتراح التجارية المرسلة عن طريق البريد Notify_PROPAL_SENTBYMAIL=اقتراح التجارية المرسلة عن طريق البريد
Notify_WITHDRAW_TRANSMIT=انتقال انسحاب Notify_WITHDRAW_TRANSMIT=انتقال انسحاب
Notify_WITHDRAW_CREDIT=انسحاب الائتمان Notify_WITHDRAW_CREDIT=انسحاب الائتمان
@ -55,85 +55,85 @@ Notify_COMPANY_CREATE=طرف ثالث إنشاء
Notify_COMPANY_SENTBYMAIL=الرسائل المرسلة من بطاقة طرف ثالث Notify_COMPANY_SENTBYMAIL=الرسائل المرسلة من بطاقة طرف ثالث
Notify_BILL_VALIDATE=فاتورة مصادق Notify_BILL_VALIDATE=فاتورة مصادق
Notify_BILL_UNVALIDATE=فاتورة العميل unvalidated Notify_BILL_UNVALIDATE=فاتورة العميل unvalidated
Notify_BILL_PAYED=Customer invoice paid Notify_BILL_PAYED=فاتورة العميل مدفوعة
Notify_BILL_CANCEL=فاتورة الزبون إلغاء Notify_BILL_CANCEL=فاتورة الزبون إلغاء
Notify_BILL_SENTBYMAIL=فاتورة الزبون إرسالها عن طريق البريد Notify_BILL_SENTBYMAIL=فاتورة الزبون إرسالها عن طريق البريد
Notify_BILL_SUPPLIER_VALIDATE=Vendor invoice validated Notify_BILL_SUPPLIER_VALIDATE=التحقق من صحة فاتورة البائع
Notify_BILL_SUPPLIER_PAYED=Vendor invoice paid Notify_BILL_SUPPLIER_PAYED=دفع فاتورة البائع
Notify_BILL_SUPPLIER_SENTBYMAIL=Vendor invoice sent by mail Notify_BILL_SUPPLIER_SENTBYMAIL=فاتورة البائع المرسلة بالبريد
Notify_BILL_SUPPLIER_CANCELED=Vendor invoice cancelled Notify_BILL_SUPPLIER_CANCELED=تم إلغاء فاتورة البائع
Notify_CONTRACT_VALIDATE=التحقق من صحة العقد Notify_CONTRACT_VALIDATE=التحقق من صحة العقد
Notify_FICHINTER_VALIDATE=التحقق من التدخل Notify_FICHINTER_VALIDATE=التحقق من التدخل
Notify_FICHINTER_ADD_CONTACT=Added contact to Intervention Notify_FICHINTER_ADD_CONTACT=تمت إضافة جهة اتصال إلى التدخل
Notify_FICHINTER_SENTBYMAIL=تدخل ترسل عن طريق البريد Notify_FICHINTER_SENTBYMAIL=تدخل ترسل عن طريق البريد
Notify_SHIPPING_VALIDATE=التحقق من صحة الشحن Notify_SHIPPING_VALIDATE=التحقق من صحة الشحن
Notify_SHIPPING_SENTBYMAIL=الشحن ترسل عن طريق البريد Notify_SHIPPING_SENTBYMAIL=الشحن ترسل عن طريق البريد
Notify_MEMBER_VALIDATE=عضو مصدق Notify_MEMBER_VALIDATE=عضو مصدق
Notify_MEMBER_MODIFY=تعديل الأعضاء Notify_MEMBER_MODIFY=تعديل الأعضاء
Notify_MEMBER_SUBSCRIPTION=عضو المكتتب Notify_MEMBER_SUBSCRIPTION=عضو المكتتب
Notify_MEMBER_RESILIATE=Member terminated Notify_MEMBER_RESILIATE=تم إنهاء العضو
Notify_MEMBER_DELETE=عضو حذف Notify_MEMBER_DELETE=عضو حذف
Notify_PROJECT_CREATE=إنشاء مشروع Notify_PROJECT_CREATE=إنشاء مشروع
Notify_TASK_CREATE=مهمة إنشاء Notify_TASK_CREATE=مهمة إنشاء
Notify_TASK_MODIFY=تعديل مهمة Notify_TASK_MODIFY=تعديل مهمة
Notify_TASK_DELETE=حذف المهمة Notify_TASK_DELETE=حذف المهمة
Notify_EXPENSE_REPORT_VALIDATE=Expense report validated (approval required) Notify_EXPENSE_REPORT_VALIDATE=تم التحقق من صحة تقرير المصاريف (الموافقة مطلوبة)
Notify_EXPENSE_REPORT_APPROVE=Expense report approved Notify_EXPENSE_REPORT_APPROVE=تمت الموافقة على تقرير المصاريف
Notify_HOLIDAY_VALIDATE=Leave request validated (approval required) Notify_HOLIDAY_VALIDATE=تم التحقق من صحة طلب الإجازة (الموافقة مطلوبة)
Notify_HOLIDAY_APPROVE=Leave request approved Notify_HOLIDAY_APPROVE=تمت الموافقة على طلب الإجازة
Notify_ACTION_CREATE=Added action to Agenda Notify_ACTION_CREATE=تمت إضافة الإجراء إلى جدول الأعمال
SeeModuleSetup=انظر إعداد وحدة٪ الصورة SeeModuleSetup=انظر إعداد وحدة٪ الصورة
NbOfAttachedFiles=عدد الملفات المرفقة / وثائق NbOfAttachedFiles=عدد الملفات المرفقة / وثائق
TotalSizeOfAttachedFiles=اجمالى حجم الملفات المرفقة / وثائق TotalSizeOfAttachedFiles=اجمالى حجم الملفات المرفقة / وثائق
MaxSize=الحجم الأقصى MaxSize=الحجم الأقصى
AttachANewFile=إرفاق ملف جديد / وثيقة AttachANewFile=إرفاق ملف جديد / وثيقة
LinkedObject=ربط وجوه LinkedObject=ربط وجوه
NbOfActiveNotifications=Number of notifications (no. of recipient emails) NbOfActiveNotifications=عدد الإخطارات (عدد رسائل البريد الإلكتروني للمستلم)
PredefinedMailTest=__(Hello)__\nThis is a test mail sent to __EMAIL__.\nThe lines are separated by a carriage return.\n\n__USER_SIGNATURE__ PredefinedMailTest=__(مرحبًا)__\nهذا بريد اختباري تم إرساله إلى __EMAIL__.\nيتم فصل السطور بواسطة حرف إرجاع.\n\n__USER_SIGNATURE__
PredefinedMailTestHtml=__(Hello)__<br>This is a <b>test</b> mail sent to __EMAIL__ (the word test must be in bold).<br>The lines are separated by a carriage return.<br><br>__USER_SIGNATURE__ PredefinedMailTestHtml=__ (مرحبًا) __ <br> هذا اختبار <b> بريد </b> مرسل إلى __EMAIL__ (يجب أن يكون اختبار الكلمة بالخط العريض). <br> يتم فصل السطور بواسطة حرف إرجاع. <br> <br> __USER_SIGNATURE__
PredefinedMailContentContract=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentContract=__(مرحبًا)__\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendInvoice=__(Hello)__\n\nPlease find invoice __REF__ attached \n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoice=__(مرحبًا)__\n\nمن فضلك تجد الفاتورة __REF__ مرفقة\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendInvoiceReminder=__(Hello)__\n\nWe would like to remind you that the invoice __REF__ seems to have not been paid. A copy of the invoice is attached as a reminder.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__(مرحبًا)__\n\nنود أن نذكرك أنه يبدو أن الفاتورة __REF__ لم يتم دفعها. تم إرفاق نسخة من الفاتورة كتذكير.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendProposal=__(Hello)__\n\nPlease find commercial proposal __REF__ attached \n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendProposal=__(مرحبًا)__\n\nالرجاء العثور على الاقتراح التجاري __REF__ مرفقًا\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierProposal=__(Hello)__\n\nPlease find price request __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendSupplierProposal=__(مرحبًا)__\n\nيرجى الاطلاع على طلب السعر __REF__ مرفقًا\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendOrder=__(Hello)__\n\nPlease find order __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendOrder=__(مرحبًا)__\n\nيرجى العثور على الطلب __REF__ مرفقًا\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierOrder=__(Hello)__\n\nPlease find our order __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendSupplierOrder=__(مرحبًا)__\n\nيرجى العثور على طلبنا __REF__ مرفقًا\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierInvoice=__(Hello)__\n\nPlease find invoice __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__(مرحبًا)__\n\nمن فضلك تجد الفاتورة __REF__ مرفقة\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendShipping=__(Hello)__\n\nPlease find shipping __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendShipping=__(مرحبًا)__\n\nيرجى العثور على الشحن __REF__ مرفقًا\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendFichInter=__(Hello)__\n\nPlease find intervention __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendFichInter=__(مرحبًا)__\n\nيرجى العثور على تدخل __REF__ مرفق\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentLink=You can click on the link below to make your payment if it is not already done.\n\n%s\n\n PredefinedMailContentLink=يمكنك النقر فوق الارتباط أدناه لإجراء الدفع الخاص بك إذا لم يكن قد تم بالفعل.\n\n%s\n\n
PredefinedMailContentGeneric=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentGeneric=__(مرحبًا)__\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendActionComm=Event reminder "__EVENT_LABEL__" on __EVENT_DATE__ at __EVENT_TIME__<br><br>This is an automatic message, please do not reply. PredefinedMailContentSendActionComm=تذكير الحدث "__EVENT_LABEL__" في __EVENT_DATE__ في __EVENT_TIME__ <br> <br> هذه رسالة تلقائية ، من فضلك لا ترد.
DemoDesc=Dolibarr is a compact ERP/CRM supporting several business modules. A demo showcasing all modules makes no sense as this scenario never occurs (several hundred available). So, several demo profiles are available. DemoDesc=Dolibarr هو ERP / CRM مدمج يدعم العديد من وحدات الأعمال. العرض التوضيحي الذي يعرض جميع الوحدات لا معنى له لأن هذا السيناريو لا يحدث أبدًا (تتوفر عدة مئات). لذلك ، تتوفر عدة ملفات تعريف تجريبية.
ChooseYourDemoProfil=Choose the demo profile that best suits your needs... ChooseYourDemoProfil=اختر الملف الشخصي التجريبي الذي يناسب احتياجاتك ...
ChooseYourDemoProfilMore=...or build your own profile<br>(manual module selection) ChooseYourDemoProfilMore=... أو قم ببناء ملف التعريف الخاص بك <br> (اختيار وحدة يدوية)
DemoFundation=أعضاء في إدارة مؤسسة DemoFundation=أعضاء في إدارة مؤسسة
DemoFundation2=إدارة وأعضاء في الحساب المصرفي للمؤسسة DemoFundation2=إدارة وأعضاء في الحساب المصرفي للمؤسسة
DemoCompanyServiceOnly=Company or freelance selling service only DemoCompanyServiceOnly=شركة أو خدمة بيع لحسابهم الخاص فقط
DemoCompanyShopWithCashDesk=Manage a shop with a cash box DemoCompanyShopWithCashDesk=إدارة متجر بصندوق نقدي
DemoCompanyProductAndStocks=Shop selling products with Point Of Sales DemoCompanyProductAndStocks=متجر بيع المنتجات مع نقاط البيع
DemoCompanyManufacturing=Company manufacturing products DemoCompanyManufacturing=منتجات الشركة المصنعة
DemoCompanyAll=Company with multiple activities (all main modules) DemoCompanyAll=شركة ذات أنشطة متعددة (جميع الوحدات الرئيسية)
CreatedBy=أوجدتها ٪ ق CreatedBy=أوجدتها ٪ ق
ModifiedBy=المعدلة ق ٪ ModifiedBy=المعدلة ق ٪
ValidatedBy=يصادق عليها ق ٪ ValidatedBy=يصادق عليها ق ٪
SignedBy=Signed by %s SignedBy=بتوقيع %s
ClosedBy=أغلقت ٪ ق ClosedBy=أغلقت ٪ ق
CreatedById=هوية المستخدم الذي إنشاء CreatedById=هوية المستخدم الذي إنشاء
ModifiedById=User id who made latest change ModifiedById=معرف المستخدم الذي قام بأحدث تغيير
ValidatedById=هوية المستخدم الذي التحقق من صحة ValidatedById=هوية المستخدم الذي التحقق من صحة
CanceledById=هوية المستخدم الذي ألغى CanceledById=هوية المستخدم الذي ألغى
ClosedById=هوية المستخدم الذي أغلق ClosedById=هوية المستخدم الذي أغلق
CreatedByLogin=تسجيل دخول المستخدم الذي إنشاء CreatedByLogin=تسجيل دخول المستخدم الذي إنشاء
ModifiedByLogin=User login who made latest change ModifiedByLogin=تسجيل دخول المستخدم الذي قام بآخر تغيير
ValidatedByLogin=تسجيل دخول المستخدم الذي التحقق من صحة ValidatedByLogin=تسجيل دخول المستخدم الذي التحقق من صحة
CanceledByLogin=تسجيل دخول المستخدم الذي ألغى CanceledByLogin=تسجيل دخول المستخدم الذي ألغى
ClosedByLogin=تسجيل دخول المستخدم الذي أغلق ClosedByLogin=تسجيل دخول المستخدم الذي أغلق
FileWasRemoved=تم حذف الملف FileWasRemoved=تم حذف الملف
DirWasRemoved=دليل أزيل DirWasRemoved=دليل أزيل
FeatureNotYetAvailable=Feature not yet available in the current version FeatureNotYetAvailable=الميزة غير متوفرة بعد في الإصدار الحالي
FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse FeatureNotAvailableOnDevicesWithoutMouse=الميزة غير متوفرة على الأجهزة التي لا تحتوي على ماوس
FeaturesSupported=Supported features FeaturesSupported=الميزات المعتمدة
Width=عرض Width=عرض
Height=ارتفاع Height=ارتفاع
Depth=متعمق Depth=متعمق
@ -144,7 +144,7 @@ Right=حق
CalculatedWeight=يحسب الوزن CalculatedWeight=يحسب الوزن
CalculatedVolume=يحسب حجم CalculatedVolume=يحسب حجم
Weight=وزن Weight=وزن
WeightUnitton=ton WeightUnitton=طن
WeightUnitkg=كجم WeightUnitkg=كجم
WeightUnitg=ز WeightUnitg=ز
WeightUnitmg=مغلم WeightUnitmg=مغلم
@ -180,48 +180,48 @@ SizeUnitinch=بوصة
SizeUnitfoot=قدم SizeUnitfoot=قدم
SizeUnitpoint=نقطة SizeUnitpoint=نقطة
BugTracker=علة تعقب BugTracker=علة تعقب
SendNewPasswordDesc=This form allows you to request a new password. It will be sent to your email address.<br>Change will become effective once you click on the confirmation link in the email.<br>Check your inbox. SendNewPasswordDesc=يتيح لك هذا النموذج طلب كلمة مرور جديدة. سيتم إرسالها إلى عنوان بريدك الإلكتروني. <br> سيصبح التغيير ساريًا بمجرد النقر فوق ارتباط التأكيد في البريد الإلكتروني. <br> تحقق من صندوق الوارد الخاص بك.
BackToLoginPage=عودة إلى صفحة تسجيل الدخول BackToLoginPage=عودة إلى صفحة تسجيل الدخول
AuthenticationDoesNotAllowSendNewPassword=طريقة التوثيق <b>٪ ق.</b> <br> في هذا الوضع ، لا يمكن معرفة Dolibarr أو تغيير كلمة السر الخاصة بك. <br> اتصل بمسؤول النظام إذا كنت تريد تغيير كلمة السر الخاصة بك. AuthenticationDoesNotAllowSendNewPassword=طريقة التوثيق <b>٪ ق.</b> <br> في هذا الوضع ، لا يمكن معرفة Dolibarr أو تغيير كلمة السر الخاصة بك. <br> اتصل بمسؤول النظام إذا كنت تريد تغيير كلمة السر الخاصة بك.
EnableGDLibraryDesc=Install or enable GD library on your PHP installation to use this option. EnableGDLibraryDesc=قم بتثبيت أو تمكين مكتبة GD على تثبيت PHP الخاص بك لاستخدام هذا الخيار.
ProfIdShortDesc=<b>الأستاذ عيد ٪ ق</b> هي المعلومات التي تعتمد على طرف ثالث. <br> على سبيل المثال ، لبلد <b>ق ٪</b> انها رمز <b>٪ ق.</b> ProfIdShortDesc=<b>الأستاذ عيد ٪ ق</b> هي المعلومات التي تعتمد على طرف ثالث. <br> على سبيل المثال ، لبلد <b>ق ٪</b> انها رمز <b>٪ ق.</b>
DolibarrDemo=Dolibarr تخطيط موارد المؤسسات وإدارة علاقات العملاء التجريبي DolibarrDemo=Dolibarr تخطيط موارد المؤسسات وإدارة علاقات العملاء التجريبي
StatsByNumberOfUnits=Statistics for sum of qty of products/services StatsByNumberOfUnits=إحصائيات لمجموع كمية المنتجات / الخدمات
StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) StatsByNumberOfEntities=إحصائيات لعدد الكيانات المحيلة (عدد الفواتير أو الطلبات ...)
NumberOfProposals=Number of proposals NumberOfProposals=عدد العروض
NumberOfCustomerOrders=Number of sales orders NumberOfCustomerOrders=عدد أوامر المبيعات
NumberOfCustomerInvoices=Number of customer invoices NumberOfCustomerInvoices=عدد فواتير العميل
NumberOfSupplierProposals=Number of vendor proposals NumberOfSupplierProposals=عدد عروض البائعين
NumberOfSupplierOrders=Number of purchase orders NumberOfSupplierOrders=عدد أوامر الشراء
NumberOfSupplierInvoices=Number of vendor invoices NumberOfSupplierInvoices=عدد فواتير البائعين
NumberOfContracts=Number of contracts NumberOfContracts=عدد العقود
NumberOfMos=Number of manufacturing orders NumberOfMos=عدد أوامر التصنيع
NumberOfUnitsProposals=Number of units on proposals NumberOfUnitsProposals=عدد الوحدات في المقترحات
NumberOfUnitsCustomerOrders=Number of units on sales orders NumberOfUnitsCustomerOrders=عدد الوحدات في أوامر المبيعات
NumberOfUnitsCustomerInvoices=Number of units on customer invoices NumberOfUnitsCustomerInvoices=عدد الوحدات في فواتير العميل
NumberOfUnitsSupplierProposals=Number of units on vendor proposals NumberOfUnitsSupplierProposals=عدد الوحدات في عروض البائعين
NumberOfUnitsSupplierOrders=Number of units on purchase orders NumberOfUnitsSupplierOrders=عدد الوحدات في أوامر الشراء
NumberOfUnitsSupplierInvoices=Number of units on vendor invoices NumberOfUnitsSupplierInvoices=عدد الوحدات في فواتير البائعين
NumberOfUnitsContracts=Number of units on contracts NumberOfUnitsContracts=عدد الوحدات في العقود
NumberOfUnitsMos=Number of units to produce in manufacturing orders NumberOfUnitsMos=عدد الوحدات المطلوب إنتاجها في أوامر التصنيع
EMailTextInterventionAddedContact=A new intervention %s has been assigned to you. EMailTextInterventionAddedContact=تم تعيين تدخل جديد لك %s.
EMailTextInterventionValidated=التدخل ٪ ق المصادق EMailTextInterventionValidated=التدخل ٪ ق المصادق
EMailTextInvoiceValidated=Invoice %s has been validated. EMailTextInvoiceValidated=تم التحقق من صحة الفاتورة %s.
EMailTextInvoicePayed=Invoice %s has been paid. EMailTextInvoicePayed=تم دفع الفاتورة %s.
EMailTextProposalValidated=Proposal %s has been validated. EMailTextProposalValidated=تم التحقق من صحة الاقتراح %s.
EMailTextProposalClosedSigned=Proposal %s has been closed signed. EMailTextProposalClosedSigned=تم إغلاق الاقتراح %s وتوقيعه.
EMailTextOrderValidated=Order %s has been validated. EMailTextOrderValidated=تم التحقق من صحة الطلب %s.
EMailTextOrderApproved=Order %s has been approved. EMailTextOrderApproved=تمت الموافقة على الطلب %s.
EMailTextOrderValidatedBy=Order %s has been recorded by %s. EMailTextOrderValidatedBy=تم تسجيل الطلب %s بواسطة %s.
EMailTextOrderApprovedBy=Order %s has been approved by %s. EMailTextOrderApprovedBy=تمت الموافقة على الطلب %s بواسطة %s.
EMailTextOrderRefused=Order %s has been refused. EMailTextOrderRefused=تم رفض الطلب %s.
EMailTextOrderRefusedBy=Order %s has been refused by %s. EMailTextOrderRefusedBy=تم رفض الطلب %s بواسطة %s.
EMailTextExpeditionValidated=Shipping %s has been validated. EMailTextExpeditionValidated=تم التحقق من صحة الشحن %s.
EMailTextExpenseReportValidated=Expense report %s has been validated. EMailTextExpenseReportValidated=تم التحقق من صحة تقرير المصاريف %s.
EMailTextExpenseReportApproved=Expense report %s has been approved. EMailTextExpenseReportApproved=تمت الموافقة على تقرير المصاريف %s.
EMailTextHolidayValidated=Leave request %s has been validated. EMailTextHolidayValidated=تم التحقق من صحة طلب الإجازة %s.
EMailTextHolidayApproved=Leave request %s has been approved. EMailTextHolidayApproved=تمت الموافقة على طلب الإجازة %s.
EMailTextActionAdded=The action %s has been added to the Agenda. EMailTextActionAdded=تمت إضافة الإجراء %s إلى الأجندة.
ImportedWithSet=استيراد مجموعة البيانات ImportedWithSet=استيراد مجموعة البيانات
DolibarrNotification=إشعار تلقائي DolibarrNotification=إشعار تلقائي
ResizeDesc=أدخل عرض جديدة <b>أو</b> ارتفاع جديد. وستبقى نسبة خلال تغيير حجم... ResizeDesc=أدخل عرض جديدة <b>أو</b> ارتفاع جديد. وستبقى نسبة خلال تغيير حجم...
@ -229,7 +229,7 @@ NewLength=عرض جديد
NewHeight=ارتفاع جديد NewHeight=ارتفاع جديد
NewSizeAfterCropping=حجم جديد بعد الاقتصاص NewSizeAfterCropping=حجم جديد بعد الاقتصاص
DefineNewAreaToPick=تحديد منطقة جديدة على الصورة لاختيار (اليسار انقر على الصورة ثم اسحب حتى تصل إلى الزاوية المقابلة) DefineNewAreaToPick=تحديد منطقة جديدة على الصورة لاختيار (اليسار انقر على الصورة ثم اسحب حتى تصل إلى الزاوية المقابلة)
CurrentInformationOnImage=This tool was designed to help you to resize or crop an image. This is the information on the current edited image CurrentInformationOnImage=تم تصميم هذه الأداة لمساعدتك على تغيير حجم الصورة أو اقتصاصها. هذه هي المعلومات على الصورة المعدلة الحالية
ImageEditor=صورة المحرر ImageEditor=صورة المحرر
YouReceiveMailBecauseOfNotification=تلقيت هذه الرسالة لأنه قد تم إضافة البريد الإلكتروني الخاص بك إلى قائمة الأهداف التي يتعين على علم الأحداث ولا سيما في صناعة البرمجيات من %s %s. YouReceiveMailBecauseOfNotification=تلقيت هذه الرسالة لأنه قد تم إضافة البريد الإلكتروني الخاص بك إلى قائمة الأهداف التي يتعين على علم الأحداث ولا سيما في صناعة البرمجيات من %s %s.
YouReceiveMailBecauseOfNotification2=هذا الحدث هو ما يلي : YouReceiveMailBecauseOfNotification2=هذا الحدث هو ما يلي :
@ -242,65 +242,86 @@ StartUpload=بدء التحميل
CancelUpload=إلغاء التحميل CancelUpload=إلغاء التحميل
FileIsTooBig=ملفات كبيرة جدا FileIsTooBig=ملفات كبيرة جدا
PleaseBePatient=يرجى التحلي بالصبر... PleaseBePatient=يرجى التحلي بالصبر...
NewPassword=New password NewPassword=كلمة السر الجديدة
ResetPassword=Reset password ResetPassword=إعادة تعيين كلمة المرور
RequestToResetPasswordReceived=A request to change your password has been received. RequestToResetPasswordReceived=تم استلام طلب لتغيير كلمة المرور الخاصة بك.
NewKeyIs=هذا هو مفاتيح جديدة لتسجيل الدخول NewKeyIs=هذا هو مفاتيح جديدة لتسجيل الدخول
NewKeyWillBe=والمفتاح الجديد الخاص بك للدخول إلى برنامج يكون NewKeyWillBe=والمفتاح الجديد الخاص بك للدخول إلى برنامج يكون
ClickHereToGoTo=انقر هنا للذهاب إلى٪ s ClickHereToGoTo=انقر هنا للذهاب إلى٪ s
YouMustClickToChange=ولكن يجب النقر فوق لأول مرة على الرابط التالي للتحقق من صحة هذا تغيير كلمة المرور YouMustClickToChange=ولكن يجب النقر فوق لأول مرة على الرابط التالي للتحقق من صحة هذا تغيير كلمة المرور
ConfirmPasswordChange=Confirm password change ConfirmPasswordChange=تأكيد تغيير كلمة المرور
ForgetIfNothing=إذا كنت لم تطلب هذا التغيير، أن ينسوا هذا البريد الإلكتروني. يتم الاحتفاظ بيانات الاعتماد الخاصة بك آمنة. ForgetIfNothing=إذا كنت لم تطلب هذا التغيير، أن ينسوا هذا البريد الإلكتروني. يتم الاحتفاظ بيانات الاعتماد الخاصة بك آمنة.
IfAmountHigherThan=إذا قدر أعلى <strong>من٪ الصورة</strong> IfAmountHigherThan=إذا قدر أعلى <strong>من٪ الصورة</strong>
SourcesRepository=مستودع للمصادر SourcesRepository=مستودع للمصادر
Chart=Chart Chart=جدول
PassEncoding=Password encoding PassEncoding=ترميز كلمة المرور
PermissionsAdd=Permissions added PermissionsAdd=تمت إضافة الأذونات
PermissionsDelete=Permissions removed PermissionsDelete=تمت إزالة الأذونات
YourPasswordMustHaveAtLeastXChars=Your password must have at least <strong>%s</strong> chars YourPasswordMustHaveAtLeastXChars=يجب أن تحتوي كلمة مرورك على الأقل على <strong> %s </strong> حرفًا
PasswordNeedAtLeastXUpperCaseChars=The password need at least <strong>%s</strong> upper case chars PasswordNeedAtLeastXUpperCaseChars=كلمة المرور تحتاج على الأقل <strong> %s </strong> أحرف كبيرة
PasswordNeedAtLeastXDigitChars=The password need at least <strong>%s</strong> numeric chars PasswordNeedAtLeastXDigitChars=كلمة المرور تحتاج على الأقل <strong> %s </strong> أحرف رقمية
PasswordNeedAtLeastXSpecialChars=The password need at least <strong>%s</strong> special chars PasswordNeedAtLeastXSpecialChars=تحتاج كلمة المرور إلى أحرف خاصة <strong> %s </strong> على الأقل
PasswordNeedNoXConsecutiveChars=The password must not have <strong>%s</strong> consecutive similar chars PasswordNeedNoXConsecutiveChars=يجب ألا تحتوي كلمة المرور على <strong> %s </strong> أحرف متتالية مماثلة
YourPasswordHasBeenReset=Your password has been reset successfully YourPasswordHasBeenReset=تم إعادة تعيين كلمة المرور الخاصة بك بنجاح
ApplicantIpAddress=IP address of applicant ApplicantIpAddress=عنوان IP لمقدم الطلب
SMSSentTo=SMS sent to %s SMSSentTo=تم إرسال رسالة نصية قصيرة إلى %s
MissingIds=Missing ids MissingIds=معرفات مفقودة
ThirdPartyCreatedByEmailCollector=Third party created by email collector from email MSGID %s ThirdPartyCreatedByEmailCollector=طرف ثالث تم إنشاؤه بواسطة جامع البريد الإلكتروني من البريد الإلكتروني MSGID %s
ContactCreatedByEmailCollector=Contact/address created by email collector from email MSGID %s ContactCreatedByEmailCollector=جهة الاتصال / العنوان الذي تم إنشاؤه بواسطة جامع البريد الإلكتروني من البريد الإلكتروني MSGID %s
ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s ProjectCreatedByEmailCollector=تم إنشاء المشروع بواسطة جامع البريد الإلكتروني من البريد الإلكتروني MSGID %s
TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s TicketCreatedByEmailCollector=تم إنشاء التذكرة بواسطة جامع البريد الإلكتروني من البريد الإلكتروني MSGID %s
OpeningHoursFormatDesc=Use a - to separate opening and closing hours.<br>Use a space to enter different ranges.<br>Example: 8-12 14-18 OpeningHoursFormatDesc=استخدم - للفصل بين ساعات الفتح والإغلاق. <br> استخدم مسافة لإدخال نطاقات مختلفة. <br> مثال: 8-12 14-18
SuffixSessionName=Suffix for session name SuffixSessionName=لاحقة لاسم الجلسة
LoginWith=Login with %s LoginWith=تسجيل الدخول باستخدام %s
##### Export ##### ##### Export #####
ExportsArea=صادرات المنطقة ExportsArea=صادرات المنطقة
AvailableFormats=الأشكال المتاحة AvailableFormats=الأشكال المتاحة
LibraryUsed=وتستخدم المكتبة LibraryUsed=وتستخدم المكتبة
LibraryVersion=Library version LibraryVersion=نسخة المكتبة
ExportableDatas=تصدير datas ExportableDatas=تصدير datas
NoExportableData=ليس للتصدير البيانات (أي وحدات للتصدير مع تحميل البيانات ، ومفقود أذونات) NoExportableData=ليس للتصدير البيانات (أي وحدات للتصدير مع تحميل البيانات ، ومفقود أذونات)
##### External sites ##### ##### External sites #####
WebsiteSetup=Setup of module website WebsiteSetup=إعداد موقع الوحدة النمطية
WEBSITE_PAGEURL=URL of page WEBSITE_PAGEURL=عنوان URL للصفحة
WEBSITE_TITLE=العنوان WEBSITE_TITLE=العنوان
WEBSITE_DESCRIPTION=الوصف WEBSITE_DESCRIPTION=الوصف
WEBSITE_IMAGE=Image WEBSITE_IMAGE=صورة
WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). WEBSITE_IMAGEDesc=المسار النسبي لوسائط الصورة. يمكنك الاحتفاظ بهذا فارغًا لأنه نادرًا ما يتم استخدامه (يمكن استخدامه بواسطة المحتوى الديناميكي لإظهار صورة مصغرة في قائمة منشورات المدونة). استخدم __WEBSITE_KEY__ في المسار إذا كان المسار يعتمد على اسم موقع الويب (على سبيل المثال: image / __ WEBSITE_KEY __ / stories / myimage.png).
WEBSITE_KEYWORDS=Keywords WEBSITE_KEYWORDS=الكلمات الدالة
LinesToImport=Lines to import LinesToImport=خطوط للاستيراد
MemoryUsage=Memory usage MemoryUsage=استخدام الذاكرة
RequestDuration=Duration of request RequestDuration=مدة الطلب
ProductsPerPopularity=Products/Services by popularity ProductsPerPopularity=المنتجات / الخدمات حسب الشعبية
PopuProp=Products/Services by popularity in Proposals PopuProp=المنتجات / الخدمات حسب الشعبية في العروض
PopuCom=Products/Services by popularity in Orders PopuCom=المنتجات / الخدمات حسب الشعبية في الطلبات
ProductStatistics=Products/Services Statistics ProductStatistics=إحصاءات المنتجات / الخدمات
NbOfQtyInOrders=Qty in orders NbOfQtyInOrders=الكمية بالطلبات
SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... SelectTheTypeOfObjectToAnalyze=حدد كائنًا لعرض الإحصائيات الخاصة به ...
ConfirmBtnCommonContent = Are you sure you want to "%s" ? ConfirmBtnCommonContent = هل أنت متأكد أنك تريد "%s"؟
ConfirmBtnCommonTitle = Confirm your action ConfirmBtnCommonTitle = قم بتأكيد عملك
CloseDialog = إغلاق CloseDialog = إغلاق
Autofill = Autofill Autofill = الملء التلقائي
# externalsite
ExternalSiteSetup=إعداد رابط لموقع خارجي
ExternalSiteURL=رابط موقع خارجي لمحتوى إطار داخلي في لغة توصيف النص التشعبي
ExternalSiteModuleNotComplete=لم يتم تهيئة نموذج الموقع الخارجي بصورة صحيحة.
ExampleMyMenuEntry=مُدخل قائمتي
# FTP
FTPClientSetup=إعداد وحدة FTP أو SFTP Client
NewFTPClient=New FTP/FTPS connection setup
FTPArea=FTP/FTPS Area
FTPAreaDesc=تعرض هذه الشاشة طريقة عرض لخادم FTP و SFTP.
SetupOfFTPClientModuleNotComplete=يبدو أن إعداد وحدة عميل FTP أو SFTP غير مكتمل
FTPFeatureNotSupportedByYourPHP=PHP لا يدعم وظائف FTP أو SFTP
FailedToConnectToFTPServer=فشل الاتصال بالخادم (الخادم %s ، المنفذ %s)
FailedToConnectToFTPServerWithCredentials=فشل تسجيل الدخول إلى الخادم باستخدام تسجيل الدخول / كلمة المرور المحددة
FTPFailedToRemoveFile=فشل لإزالة الملف <b>%s</b> .
FTPFailedToRemoveDir=فشل إزالة الدليل <b> %s </b>: تحقق من الأذونات وأن الدليل فارغ.
FTPPassiveMode=الوضع السلبي
ChooseAFTPEntryIntoMenu=اختر موقع FTP / SFTP من القائمة ...
FailedToGetFile=فشل في الحصول على الملفات %s

View File

@ -1,36 +1,36 @@
# Dolibarr language file - Source file is en_US - paypal # Dolibarr language file - Source file is en_US - paypal
PaypalSetup=بايبال حدة الإعداد PaypalSetup=بايبال حدة الإعداد
PaypalDesc=This module allows payment by customers via <a href="http://www.paypal.com" target="_blank">PayPal</a>. This can be used for a ad-hoc payment or for a payment related to a Dolibarr object (invoice, order, ...) PaypalDesc=تسمح هذه الوحدة بالدفع من قبل العملاء عبر <a href="https://www.paypal.com" target="_blank" rel="noopener noreferrer external"> PayPal </a>. يمكن استخدام هذا للدفع المخصص أو للدفع المتعلق بأحد عناصر Dolibarr (فاتورة ، أمر ، ...)
PaypalOrCBDoPayment=Pay with PayPal (Card or PayPal) PaypalOrCBDoPayment=الدفع باستخدام PayPal (البطاقة أو PayPal)
PaypalDoPayment=Pay with PayPal PaypalDoPayment=الدفع بواسط باى بال
PAYPAL_API_SANDBOX=وضع الاختبار / رمل PAYPAL_API_SANDBOX=وضع الاختبار / رمل
PAYPAL_API_USER=API المستخدم PAYPAL_API_USER=API المستخدم
PAYPAL_API_PASSWORD=API كلمة السر PAYPAL_API_PASSWORD=API كلمة السر
PAYPAL_API_SIGNATURE=API توقيع PAYPAL_API_SIGNATURE=API توقيع
PAYPAL_SSLVERSION=Curl SSL Version PAYPAL_SSLVERSION=إصدار Curl SSL
PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Offer "integral" payment (Credit card+PayPal) or "PayPal" only PAYPAL_API_INTEGRAL_OR_PAYPALONLY=عرض الدفع "المتكامل" (بطاقة الائتمان + PayPal) أو "PayPal" فقط
PaypalModeIntegral=التكامل PaypalModeIntegral=التكامل
PaypalModeOnlyPaypal=باي بال فقط PaypalModeOnlyPaypal=باي بال فقط
ONLINE_PAYMENT_CSS_URL=Optional URL of CSS stylesheet on online payment page ONLINE_PAYMENT_CSS_URL=عنوان URL اختياري لورقة أنماط CSS على صفحة الدفع عبر الإنترنت
ThisIsTransactionId=هذا هو معرف من الصفقة: <b>%s</b> ThisIsTransactionId=هذا هو معرف من الصفقة: <b>%s</b>
PAYPAL_ADD_PAYMENT_URL=Include the PayPal payment url when you send a document by email PAYPAL_ADD_PAYMENT_URL=قم بتضمين عنوان url الخاص بالدفع في PayPal عند إرسال مستند عبر البريد الإلكتروني
NewOnlinePaymentReceived=New online payment received NewOnlinePaymentReceived=تم استلام دفعة جديدة عبر الإنترنت
NewOnlinePaymentFailed=New online payment tried but failed NewOnlinePaymentFailed=تمت محاولة دفع جديد عبر الإنترنت لكنها فشلت
ONLINE_PAYMENT_SENDEMAIL=Email address for notifications after each payment attempt (for success and fail) ONLINE_PAYMENT_SENDEMAIL=عنوان البريد الإلكتروني للإشعارات بعد كل محاولة دفع (للنجاح والفشل)
ReturnURLAfterPayment=العودة URL بعد دفع ReturnURLAfterPayment=العودة URL بعد دفع
ValidationOfOnlinePaymentFailed=Validation of online payment failed ValidationOfOnlinePaymentFailed=فشل التحقق من صحة الدفع عبر الإنترنت
PaymentSystemConfirmPaymentPageWasCalledButFailed=Payment confirmation page was called by payment system returned an error PaymentSystemConfirmPaymentPageWasCalledButFailed=تم استدعاء صفحة تأكيد الدفع بواسطة نظام الدفع وأرجع خطأً
SetExpressCheckoutAPICallFailed=فشل استدعاء API SetExpressCheckout. SetExpressCheckoutAPICallFailed=فشل استدعاء API SetExpressCheckout.
DoExpressCheckoutPaymentAPICallFailed=فشل استدعاء API DoExpressCheckoutPayment. DoExpressCheckoutPaymentAPICallFailed=فشل استدعاء API DoExpressCheckoutPayment.
DetailedErrorMessage=رسالة خطأ مفصلة DetailedErrorMessage=رسالة خطأ مفصلة
ShortErrorMessage=رسالة خطأ قصيرة ShortErrorMessage=رسالة خطأ قصيرة
ErrorCode=رمز الخطأ ErrorCode=رمز الخطأ
ErrorSeverityCode=خطأ خطورة مدونة ErrorSeverityCode=خطأ خطورة مدونة
OnlinePaymentSystem=Online payment system OnlinePaymentSystem=نظام الدفع عبر الإنترنت
PaypalLiveEnabled=PayPal "live" mode enabled (otherwise test/sandbox mode) PaypalLiveEnabled=تم تمكين وضع PayPal "المباشر" (بخلاف ذلك وضع الاختبار / وضع الحماية)
PaypalImportPayment=Import PayPal payments PaypalImportPayment=استيراد مدفوعات PayPal
PostActionAfterPayment=Post actions after payments PostActionAfterPayment=نشر الإجراءات بعد المدفوعات
ARollbackWasPerformedOnPostActions=A rollback was performed on all Post actions. You must complete post actions manually if they are necessary. ARollbackWasPerformedOnPostActions=تم إجراء التراجع عن جميع إجراءات النشر. يجب عليك إكمال إجراءات النشر يدويًا إذا كانت ضرورية.
ValidationOfPaymentFailed=Validation of payment has failed ValidationOfPaymentFailed=فشل التحقق من الدفع
CardOwner=Card holder CardOwner=حامل البطاقة
PayPalBalance=Paypal credit PayPalBalance=رصيد Paypal

View File

@ -3,51 +3,51 @@ RefProject=المرجع. مشروع
ProjectRef=المرجع المشروع. ProjectRef=المرجع المشروع.
ProjectId=رقم المشروع ProjectId=رقم المشروع
ProjectLabel=تسمية المشروع ProjectLabel=تسمية المشروع
ProjectsArea=Projects Area ProjectsArea=منطقة المشاريع
ProjectStatus=حالة المشروع ProjectStatus=حالة المشروع
SharedProject=مشاريع مشتركة SharedProject=مشاريع مشتركة
PrivateProject=Assigned contacts PrivateProject=جهات الاتصال المعينة
ProjectsImContactFor=Projects for which I am explicitly a contact ProjectsImContactFor=المشاريع التي أنا على اتصال صريح بها
AllAllowedProjects=All project I can read (mine + public) AllAllowedProjects=كل مشروع يمكنني قراءته (ملكي + عام)
AllProjects=جميع المشاريع AllProjects=جميع المشاريع
MyProjectsDesc=This view is limited to the projects that you are a contact for MyProjectsDesc=يقتصر هذا العرض على المشاريع التي تكون جهة اتصال لها
ProjectsPublicDesc=هذا الرأي يعرض جميع المشاريع ويسمح لك قراءة. ProjectsPublicDesc=هذا الرأي يعرض جميع المشاريع ويسمح لك قراءة.
TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. TasksOnProjectsPublicDesc=تقدم طريقة العرض هذه جميع المهام في المشاريع المسموح لك بقراءتها.
ProjectsPublicTaskDesc=يمثل هذا العرض جميع المشاريع والمهام يسمح لك للقراءة. ProjectsPublicTaskDesc=يمثل هذا العرض جميع المشاريع والمهام يسمح لك للقراءة.
ProjectsDesc=ويعرض هذا الرأي جميع المشاريع (أذونات المستخدم الخاص أعطى الصلاحية لعرض كل شيء). ProjectsDesc=ويعرض هذا الرأي جميع المشاريع (أذونات المستخدم الخاص أعطى الصلاحية لعرض كل شيء).
TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). TasksOnProjectsDesc=تقدم طريقة العرض هذه جميع المهام في جميع المشاريع (تمنحك أذونات المستخدم الخاصة بك الإذن لعرض كل شيء).
MyTasksDesc=This view is limited to the projects or tasks that you are a contact for MyTasksDesc=طريقة العرض هذه مقصورة على المشاريع أو المهام التي أنت جهة اتصال لها
OnlyOpenedProject=المشاريع المفتوحة فقط مرئية (المشاريع في مشروع أو وضع مغلقة غير مرئية). OnlyOpenedProject=المشاريع المفتوحة فقط مرئية (المشاريع في مشروع أو وضع مغلقة غير مرئية).
ClosedProjectsAreHidden=Closed projects are not visible. ClosedProjectsAreHidden=المشاريع المغلقة غير مرئية.
TasksPublicDesc=هذا الرأي يعرض جميع المشاريع والمهام ويسمح لك قراءة. TasksPublicDesc=هذا الرأي يعرض جميع المشاريع والمهام ويسمح لك قراءة.
TasksDesc=هذا الرأي يعرض جميع المشاريع والمهام (أذونات المستخدم الخاص أعطى الصلاحية لعرض كل شيء). TasksDesc=هذا الرأي يعرض جميع المشاريع والمهام (أذونات المستخدم الخاص أعطى الصلاحية لعرض كل شيء).
AllTaskVisibleButEditIfYouAreAssigned=All tasks for qualified projects are visible, but you can enter time only for task assigned to selected user. Assign task if you need to enter time on it. AllTaskVisibleButEditIfYouAreAssigned=تظهر جميع المهام للمشاريع المؤهلة ، ولكن يمكنك إدخال الوقت فقط للمهمة المعينة للمستخدم المحدد. قم بتعيين مهمة إذا كنت بحاجة إلى إدخال الوقت فيها.
OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. OnlyYourTaskAreVisible=تظهر فقط المهام المعينة لك. إذا كنت بحاجة إلى إدخال الوقت في مهمة وإذا كانت المهمة غير مرئية هنا ، فأنت بحاجة إلى تعيين المهمة لنفسك.
ImportDatasetTasks=Tasks of projects ImportDatasetTasks=مهام المشاريع
ProjectCategories=Project tags/categories ProjectCategories=علامات / فئات المشروع
NewProject=مشروع جديد NewProject=مشروع جديد
AddProject=إنشاء مشروع AddProject=إنشاء مشروع
DeleteAProject=حذف مشروع DeleteAProject=حذف مشروع
DeleteATask=حذف مهمة DeleteATask=حذف مهمة
ConfirmDeleteAProject=Are you sure you want to delete this project? ConfirmDeleteAProject=هل أنت متأكد أنك تريد حذف هذا المشروع؟
ConfirmDeleteATask=Are you sure you want to delete this task? ConfirmDeleteATask=هل أنت متأكد أنك تريد حذف هذه المهمة؟
OpenedProjects=Open projects OpenedProjects=فتح المشاريع
OpenedTasks=Open tasks OpenedTasks=افتح المهام
OpportunitiesStatusForOpenedProjects=Leads amount of open projects by status OpportunitiesStatusForOpenedProjects=يقود كمية من المشاريع المفتوحة حسب الحالة
OpportunitiesStatusForProjects=Leads amount of projects by status OpportunitiesStatusForProjects=يقود كمية من المشاريع حسب الحالة
ShowProject=وتبين للمشروع ShowProject=وتبين للمشروع
ShowTask=وتظهر هذه المهمة ShowTask=وتظهر هذه المهمة
SetProject=وضع المشروع SetProject=وضع المشروع
NoProject=لا يعرف أو المملوكة للمشروع NoProject=لا يعرف أو المملوكة للمشروع
NbOfProjects=Number of projects NbOfProjects=عدد المشاريع
NbOfTasks=Number of tasks NbOfTasks=عدد المهام
TimeSpent=الوقت الذي تستغرقه TimeSpent=الوقت الذي تستغرقه
TimeSpentByYou=الوقت الذي يقضيه من قبلك TimeSpentByYou=الوقت الذي يقضيه من قبلك
TimeSpentByUser=الوقت الذي يقضيه المستخدم TimeSpentByUser=الوقت الذي يقضيه المستخدم
TimesSpent=قضى وقتا TimesSpent=قضى وقتا
TaskId=Task ID TaskId=معرف المهمة
RefTask=Task ref. RefTask=مرجع المهمة.
LabelTask=Task label LabelTask=تسمية المهمة
TaskTimeSpent=الوقت المستغرق في المهام TaskTimeSpent=الوقت المستغرق في المهام
TaskTimeUser=المستعمل TaskTimeUser=المستعمل
TaskTimeNote=ملاحظة TaskTimeNote=ملاحظة
@ -56,10 +56,10 @@ TasksOnOpenedProject=المهام على المشاريع المفتوحة
WorkloadNotDefined=عبء العمل غير محددة WorkloadNotDefined=عبء العمل غير محددة
NewTimeSpent=قضى وقتا NewTimeSpent=قضى وقتا
MyTimeSpent=وقتي قضى MyTimeSpent=وقتي قضى
BillTime=Bill the time spent BillTime=فاتورة الوقت الذي يقضيه
BillTimeShort=Bill time BillTimeShort=فاتورة الوقت
TimeToBill=Time not billed TimeToBill=الوقت غير مفوتر
TimeBilled=Time billed TimeBilled=الوقت المفوتر
Tasks=المهام Tasks=المهام
Task=مهمة Task=مهمة
TaskDateStart=تاريخ بدء العمل TaskDateStart=تاريخ بدء العمل
@ -67,80 +67,80 @@ TaskDateEnd=تاريخ انتهاء المهمة
TaskDescription=وصف المهمة TaskDescription=وصف المهمة
NewTask=مهمة جديدة NewTask=مهمة جديدة
AddTask=إنشاء مهمة AddTask=إنشاء مهمة
AddTimeSpent=Create time spent AddTimeSpent=قضاء الوقت
AddHereTimeSpentForDay=Add here time spent for this day/task AddHereTimeSpentForDay=أضف هنا الوقت المنقضي لهذا اليوم / المهمة
AddHereTimeSpentForWeek=Add here time spent for this week/task AddHereTimeSpentForWeek=أضف هنا الوقت المنقضي لهذا الأسبوع / المهمة
Activity=النشاط Activity=النشاط
Activities=المهام والأنشطة Activities=المهام والأنشطة
MyActivities=بلدي المهام والأنشطة MyActivities=بلدي المهام والأنشطة
MyProjects=بلدي المشاريع MyProjects=بلدي المشاريع
MyProjectsArea=My projects Area MyProjectsArea=منطقة مشاريعي
DurationEffective=فعالة لمدة DurationEffective=فعالة لمدة
ProgressDeclared=Declared real progress ProgressDeclared=أعلن التقدم الحقيقي
TaskProgressSummary=Task progress TaskProgressSummary=تقدم المهمة
CurentlyOpenedTasks=Curently open tasks CurentlyOpenedTasks=افتح المهام بهدوء
TheReportedProgressIsLessThanTheCalculatedProgressionByX=The declared real progress is less %s than the progress on consumption TheReportedProgressIsLessThanTheCalculatedProgressionByX=التقدم الحقيقي المعلن هو أقل من %s من التقدم في الاستهلاك
TheReportedProgressIsMoreThanTheCalculatedProgressionByX=The declared real progress is more %s than the progress on consumption TheReportedProgressIsMoreThanTheCalculatedProgressionByX=التقدم الحقيقي المعلن هو أكثر من %s من التقدم في الاستهلاك
ProgressCalculated=Progress on consumption ProgressCalculated=التقدم في الاستهلاك
WhichIamLinkedTo=which I'm linked to WhichIamLinkedTo=الذي أنا مرتبط به
WhichIamLinkedToProject=which I'm linked to project WhichIamLinkedToProject=الذي أنا مرتبط بالمشروع
Time=وقت Time=وقت
TimeConsumed=Consumed TimeConsumed=مستهلك
ListOfTasks=List of tasks ListOfTasks=قائمة المهام
GoToListOfTimeConsumed=Go to list of time consumed GoToListOfTimeConsumed=انتقل إلى قائمة الوقت المستغرق
GanttView=Gantt View GanttView=عرض جانت
ListWarehouseAssociatedProject=List of warehouses associated to the project ListWarehouseAssociatedProject=قائمة المستودعات المرتبطة بالمشروع
ListProposalsAssociatedProject=List of the commercial proposals related to the project ListProposalsAssociatedProject=قائمة العروض التجارية المتعلقة بالمشروع
ListOrdersAssociatedProject=List of sales orders related to the project ListOrdersAssociatedProject=قائمة أوامر المبيعات المتعلقة بالمشروع
ListInvoicesAssociatedProject=List of customer invoices related to the project ListInvoicesAssociatedProject=قائمة بفواتير العملاء المتعلقة بالمشروع
ListPredefinedInvoicesAssociatedProject=List of customer template invoices related to the project ListPredefinedInvoicesAssociatedProject=قائمة فواتير نموذج العميل المتعلقة بالمشروع
ListSupplierOrdersAssociatedProject=List of purchase orders related to the project ListSupplierOrdersAssociatedProject=قائمة أوامر الشراء المتعلقة بالمشروع
ListSupplierInvoicesAssociatedProject=List of vendor invoices related to the project ListSupplierInvoicesAssociatedProject=قائمة فواتير البائع المتعلقة بالمشروع
ListContractAssociatedProject=List of contracts related to the project ListContractAssociatedProject=قائمة العقود المتعلقة بالمشروع
ListShippingAssociatedProject=List of shippings related to the project ListShippingAssociatedProject=قائمة الشحنات المتعلقة بالمشروع
ListFichinterAssociatedProject=List of interventions related to the project ListFichinterAssociatedProject=قائمة التدخلات المتعلقة بالمشروع
ListExpenseReportsAssociatedProject=List of expense reports related to the project ListExpenseReportsAssociatedProject=قائمة تقارير المصاريف المتعلقة بالمشروع
ListDonationsAssociatedProject=List of donations related to the project ListDonationsAssociatedProject=قائمة التبرعات الخاصة بالمشروع
ListVariousPaymentsAssociatedProject=List of miscellaneous payments related to the project ListVariousPaymentsAssociatedProject=قائمة المدفوعات المتنوعة المتعلقة بالمشروع
ListSalariesAssociatedProject=List of payments of salaries related to the project ListSalariesAssociatedProject=قائمة مدفوعات الرواتب الخاصة بالمشروع
ListActionsAssociatedProject=List of events related to the project ListActionsAssociatedProject=قائمة الأحداث المتعلقة بالمشروع
ListMOAssociatedProject=List of manufacturing orders related to the project ListMOAssociatedProject=قائمة أوامر التصنيع الخاصة بالمشروع
ListTaskTimeUserProject=قائمة الوقت المستهلك في مهام المشروع ListTaskTimeUserProject=قائمة الوقت المستهلك في مهام المشروع
ListTaskTimeForTask=List of time consumed on task ListTaskTimeForTask=قائمة الوقت المستغرق في المهمة
ActivityOnProjectToday=النشاط على المشروع اليوم ActivityOnProjectToday=النشاط على المشروع اليوم
ActivityOnProjectYesterday=النشاط على المشروع أمس ActivityOnProjectYesterday=النشاط على المشروع أمس
ActivityOnProjectThisWeek=نشاط المشروع هذا الاسبوع ActivityOnProjectThisWeek=نشاط المشروع هذا الاسبوع
ActivityOnProjectThisMonth=نشاط المشروع هذا الشهر ActivityOnProjectThisMonth=نشاط المشروع هذا الشهر
ActivityOnProjectThisYear=نشاط المشروع هذا العام ActivityOnProjectThisYear=نشاط المشروع هذا العام
ChildOfProjectTask=طفل من مشروع / مهمة ChildOfProjectTask=طفل من مشروع / مهمة
ChildOfTask=Child of task ChildOfTask=تابع المهمة
TaskHasChild=Task has child TaskHasChild=المهمة لها طفل
NotOwnerOfProject=لا صاحب هذا المشروع من القطاع الخاص NotOwnerOfProject=لا صاحب هذا المشروع من القطاع الخاص
AffectedTo=إلى المتضررين AffectedTo=إلى المتضررين
CantRemoveProject=This project can't be removed as it is referenced by some other objects (invoice, orders or other). See tab '%s'. CantRemoveProject=لا يمكن إزالة هذا المشروع حيث تمت الإشارة إليه بواسطة بعض العناصر الأخرى (فاتورة أو أوامر أو غيرها). انظر علامة التبويب "%s".
ValidateProject=تحقق من مشروع غابة ValidateProject=تحقق من مشروع غابة
ConfirmValidateProject=Are you sure you want to validate this project? ConfirmValidateProject=هل أنت متأكد أنك تريد التحقق من صحة هذا المشروع؟
CloseAProject=وثيقة المشروع CloseAProject=وثيقة المشروع
ConfirmCloseAProject=Are you sure you want to close this project? ConfirmCloseAProject=هل أنت متأكد أنك تريد إغلاق هذا المشروع؟
AlsoCloseAProject=Also close project (keep it open if you still need to follow production tasks on it) AlsoCloseAProject=أغلق المشروع أيضًا (اتركه مفتوحًا إذا كنت لا تزال بحاجة إلى متابعة مهام الإنتاج عليه)
ReOpenAProject=فتح مشروع ReOpenAProject=فتح مشروع
ConfirmReOpenAProject=Are you sure you want to re-open this project? ConfirmReOpenAProject=هل أنت متأكد أنك تريد إعادة فتح هذا المشروع؟
ProjectContact=اتصالات من المشروع ProjectContact=اتصالات من المشروع
TaskContact=Task contacts TaskContact=جهات اتصال المهمة
ActionsOnProject=الإجراءات على المشروع ActionsOnProject=الإجراءات على المشروع
YouAreNotContactOfProject=كنت لا اتصال لهذا المشروع الخاص YouAreNotContactOfProject=كنت لا اتصال لهذا المشروع الخاص
UserIsNotContactOfProject=User is not a contact of this private project UserIsNotContactOfProject=المستخدم ليس جهة اتصال لهذا المشروع الخاص
DeleteATimeSpent=قضى الوقت حذف DeleteATimeSpent=قضى الوقت حذف
ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent? ConfirmDeleteATimeSpent=هل أنت متأكد أنك تريد حذف هذا الوقت المنقضي؟
DoNotShowMyTasksOnly=انظر أيضا المهام الغير موكلة الي DoNotShowMyTasksOnly=انظر أيضا المهام الغير موكلة الي
ShowMyTasksOnly=عرض فقط المهام الموكلة الي ShowMyTasksOnly=عرض فقط المهام الموكلة الي
TaskRessourceLinks=Contacts of task TaskRessourceLinks=اتصالات المهمة
ProjectsDedicatedToThisThirdParty=مشاريع مخصصة لهذا الطرف الثالث ProjectsDedicatedToThisThirdParty=مشاريع مخصصة لهذا الطرف الثالث
NoTasks=أية مهام لهذا المشروع NoTasks=أية مهام لهذا المشروع
LinkedToAnotherCompany=ربط طرف ثالث آخر LinkedToAnotherCompany=ربط طرف ثالث آخر
TaskIsNotAssignedToUser=Task not assigned to user. Use button '<strong>%s</strong>' to assign task now. TaskIsNotAssignedToUser=لم يتم تعيين المهمة للمستخدم. استخدم الزر '<strong> %s </strong>' لتعيين المهمة الآن.
ErrorTimeSpentIsEmpty=الوقت الذي يقضيه فارغة ErrorTimeSpentIsEmpty=الوقت الذي يقضيه فارغة
TimeRecordingRestrictedToNMonthsBack=Time recording is restricted to %s months back TimeRecordingRestrictedToNMonthsBack=تسجيل الوقت يقتصر على %s أشهر قبل
ThisWillAlsoRemoveTasks=وهذا العمل أيضا حذف كافة مهام المشروع <b>(%s</b> المهام في الوقت الحاضر) وجميع المدخلات من الوقت الذي تستغرقه. ThisWillAlsoRemoveTasks=وهذا العمل أيضا حذف كافة مهام المشروع <b>(%s</b> المهام في الوقت الحاضر) وجميع المدخلات من الوقت الذي تستغرقه.
IfNeedToUseOtherObjectKeepEmpty=إذا كانت بعض الكائنات (فاتورة، والنظام، ...)، الذين ينتمون إلى طرف ثالث آخر، يجب أن تكون مرتبطة بمشروع لإنشاء، والحفاظ على هذا فارغة لديها مشروع كونها متعددة الأطراف الثالثة. IfNeedToUseOtherObjectKeepEmpty=إذا كانت بعض الكائنات (فاتورة، والنظام، ...)، الذين ينتمون إلى طرف ثالث آخر، يجب أن تكون مرتبطة بمشروع لإنشاء، والحفاظ على هذا فارغة لديها مشروع كونها متعددة الأطراف الثالثة.
CloneTasks=استنساخ المهام CloneTasks=استنساخ المهام
@ -148,28 +148,28 @@ CloneContacts=الاتصالات استنساخ
CloneNotes=ملاحظات استنساخ CloneNotes=ملاحظات استنساخ
CloneProjectFiles=انضم مشروع استنساخ ملفات CloneProjectFiles=انضم مشروع استنساخ ملفات
CloneTaskFiles=مهمة استنساخ (ق) انضم الملفات (إن مهمة (ق) المستنسخة) CloneTaskFiles=مهمة استنساخ (ق) انضم الملفات (إن مهمة (ق) المستنسخة)
CloneMoveDate=Update project/tasks dates from now? CloneMoveDate=هل تريد تحديث تواريخ المشروع / المهام من الآن؟
ConfirmCloneProject=Are you sure to clone this project? ConfirmCloneProject=هل أنت متأكد من استنساخ هذا المشروع؟
ProjectReportDate=Change task dates according to new project start date ProjectReportDate=قم بتغيير تواريخ المهام وفقًا لتاريخ بدء المشروع الجديد
ErrorShiftTaskDate=من المستحيل تحويل التاريخ المهمة وفقا لتاريخ بدء المشروع الجديد ErrorShiftTaskDate=من المستحيل تحويل التاريخ المهمة وفقا لتاريخ بدء المشروع الجديد
ProjectsAndTasksLines=المشاريع والمهام ProjectsAndTasksLines=المشاريع والمهام
ProjectCreatedInDolibarr=مشروع٪ الصورة التي تم إنشاؤها ProjectCreatedInDolibarr=مشروع٪ الصورة التي تم إنشاؤها
ProjectValidatedInDolibarr=Project %s validated ProjectValidatedInDolibarr=تم التحقق من صحة المشروع %s
ProjectModifiedInDolibarr=المشروع %s تم تعديلة ProjectModifiedInDolibarr=المشروع %s تم تعديلة
TaskCreatedInDolibarr=مهمة٪ الصورة التي تم إنشاؤها TaskCreatedInDolibarr=مهمة٪ الصورة التي تم إنشاؤها
TaskModifiedInDolibarr=مهمة٪ الصورة المعدلة TaskModifiedInDolibarr=مهمة٪ الصورة المعدلة
TaskDeletedInDolibarr=مهمة٪ الصورة حذف TaskDeletedInDolibarr=مهمة٪ الصورة حذف
OpportunityStatus=Lead status OpportunityStatus=حالة الرصاص
OpportunityStatusShort=Lead status OpportunityStatusShort=حالة الرصاص
OpportunityProbability=Lead probability OpportunityProbability=احتمال الرصاص
OpportunityProbabilityShort=Lead probab. OpportunityProbabilityShort=بروباب الرصاص.
OpportunityAmount=Lead amount OpportunityAmount=كمية الرصاص
OpportunityAmountShort=Lead amount OpportunityAmountShort=كمية الرصاص
OpportunityWeightedAmount=Opportunity weighted amount OpportunityWeightedAmount=المقدار المرجح للفرصة
OpportunityWeightedAmountShort=Opp. weighted amount OpportunityWeightedAmountShort=مقابل. الكمية المرجحة
OpportunityAmountAverageShort=Average lead amount OpportunityAmountAverageShort=متوسط مبلغ الرصاص
OpportunityAmountWeigthedShort=Weighted lead amount OpportunityAmountWeigthedShort=مبلغ الرصاص المرجح
WonLostExcluded=Won/Lost excluded WonLostExcluded=فاز / خسر مستبعد
##### Types de contacts ##### ##### Types de contacts #####
TypeContact_project_internal_PROJECTLEADER=مشروع زعيم TypeContact_project_internal_PROJECTLEADER=مشروع زعيم
TypeContact_project_external_PROJECTLEADER=مشروع زعيم TypeContact_project_external_PROJECTLEADER=مشروع زعيم
@ -183,53 +183,53 @@ SelectElement=حدد العنصر
AddElement=تصل إلى العنصر AddElement=تصل إلى العنصر
LinkToElementShort=ربط مع او بـ LinkToElementShort=ربط مع او بـ
# Documents models # Documents models
DocumentModelBeluga=Project document template for linked objects overview DocumentModelBeluga=قالب مستند المشروع لنظرة عامة على الكائنات المرتبطة
DocumentModelBaleine=Project document template for tasks DocumentModelBaleine=قالب مستند المشروع للمهام
DocumentModelTimeSpent=Project report template for time spent DocumentModelTimeSpent=قالب تقرير المشروع عن الوقت الذي يقضيه
PlannedWorkload=عبء العمل المخطط لها PlannedWorkload=عبء العمل المخطط لها
PlannedWorkloadShort=عبء العمل PlannedWorkloadShort=عبء العمل
ProjectReferers=الأصناف ذات الصلة ProjectReferers=الأصناف ذات الصلة
ProjectMustBeValidatedFirst=يجب التحقق من صحة المشروع أولا ProjectMustBeValidatedFirst=يجب التحقق من صحة المشروع أولا
MustBeValidatedToBeSigned=%s must be validated first to be set to Signed. MustBeValidatedToBeSigned=يجب التحقق من صحة %s أولاً لتعيينه على Signed.
FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time FirstAddRessourceToAllocateTime=قم بتعيين مورد مستخدم كجهة اتصال للمشروع لتخصيص الوقت
InputPerDay=إدخال يوميا InputPerDay=إدخال يوميا
InputPerWeek=مساهمة في الأسبوع InputPerWeek=مساهمة في الأسبوع
InputPerMonth=Input per month InputPerMonth=المدخلات شهريا
InputDetail=Input detail InputDetail=تفاصيل الإدخال
TimeAlreadyRecorded=This is time spent already recorded for this task/day and user %s TimeAlreadyRecorded=هذا هو الوقت المنقضي المسجل بالفعل لهذه المهمة / اليوم والمستخدم %s
ProjectsWithThisUserAsContact=مشاريع مع هذا العضو عن الاتصال ProjectsWithThisUserAsContact=مشاريع مع هذا العضو عن الاتصال
ProjectsWithThisContact=Projects with this contact ProjectsWithThisContact=مشاريع مع جهة الاتصال هذه
TasksWithThisUserAsContact=المهام الموكلة إلى هذا المستخدم TasksWithThisUserAsContact=المهام الموكلة إلى هذا المستخدم
ResourceNotAssignedToProject=لم يتم تعيين إلى المشروع ResourceNotAssignedToProject=لم يتم تعيين إلى المشروع
ResourceNotAssignedToTheTask=Not assigned to the task ResourceNotAssignedToTheTask=لم يتم تعيينه للمهمة
NoUserAssignedToTheProject=No users assigned to this project NoUserAssignedToTheProject=لم يتم تعيين مستخدمين لهذا المشروع
TimeSpentBy=Time spent by TimeSpentBy=الوقت الذي يقضيه
TasksAssignedTo=Tasks assigned to TasksAssignedTo=المهام المعينة إلى
AssignTaskToMe=Assign task to myself AssignTaskToMe=اسند مهمة لنفسي
AssignTaskToUser=Assign task to %s AssignTaskToUser=قم بتعيين مهمة إلى %s
SelectTaskToAssign=Select task to assign... SelectTaskToAssign=حدد مهمة لتعيينها ...
AssignTask=عين AssignTask=عين
ProjectOverview=نظرة عامة ProjectOverview=نظرة عامة
ManageTasks=Use projects to follow tasks and/or report time spent (timesheets) ManageTasks=استخدم المشاريع لمتابعة المهام و / أو تقرير الوقت المنقضي (الجداول الزمنية)
ManageOpportunitiesStatus=استخدام مشاريع متابعة القرائن / opportinuties ManageOpportunitiesStatus=استخدام مشاريع متابعة القرائن / opportinuties
ProjectNbProjectByMonth=No. of created projects by month ProjectNbProjectByMonth=عدد المشاريع التي تم إنشاؤها حسب الشهر
ProjectNbTaskByMonth=No. of created tasks by month ProjectNbTaskByMonth=عدد المهام التي تم إنشاؤها حسب الشهر
ProjectOppAmountOfProjectsByMonth=Amount of leads by month ProjectOppAmountOfProjectsByMonth=كمية العروض حسب الشهر
ProjectWeightedOppAmountOfProjectsByMonth=Weighted amount of leads by month ProjectWeightedOppAmountOfProjectsByMonth=المقدار المرجح من العملاء المتوقعين حسب الشهر
ProjectOpenedProjectByOppStatus=Open project|lead by lead status ProjectOpenedProjectByOppStatus=فتح المشروع | الرصاص حسب حالة العميل المحتمل
ProjectsStatistics=Statistics on projects or leads ProjectsStatistics=إحصائيات عن المشاريع أو العملاء المتوقعين
TasksStatistics=Statistics on tasks of projects or leads TasksStatistics=إحصائيات عن مهام المشاريع أو العملاء المتوقعين
TaskAssignedToEnterTime=المهمة الموكلة. يجب دخول الوقت على هذه المهمة يكون ممكنا. TaskAssignedToEnterTime=المهمة الموكلة. يجب دخول الوقت على هذه المهمة يكون ممكنا.
IdTaskTime=الوقت مهمة معرف IdTaskTime=الوقت مهمة معرف
YouCanCompleteRef=If you want to complete the ref with some suffix, it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-MYSUFFIX YouCanCompleteRef=إذا كنت تريد إكمال المرجع ببعض اللاحقة ، فمن المستحسن إضافة حرف - لفصله ، لذلك سيستمر الترقيم التلقائي بشكل صحيح للمشاريع التالية. على سبيل المثال %s-MYSUFFIX
OpenedProjectsByThirdparties=Open projects by third parties OpenedProjectsByThirdparties=فتح المشاريع من قبل أطراف ثالثة
OnlyOpportunitiesShort=Only leads OnlyOpportunitiesShort=يؤدي فقط
OpenedOpportunitiesShort=Open leads OpenedOpportunitiesShort=فتح يؤدي
NotOpenedOpportunitiesShort=Not an open lead NotOpenedOpportunitiesShort=ليست مقدمة مفتوحة
NotAnOpportunityShort=Not a lead NotAnOpportunityShort=لا يقود
OpportunityTotalAmount=Total amount of leads OpportunityTotalAmount=إجمالي عدد العملاء المتوقعين
OpportunityPonderatedAmount=Weighted amount of leads OpportunityPonderatedAmount=المقدار المرجح من العملاء المحتملين
OpportunityPonderatedAmountDesc=Leads amount weighted with probability OpportunityPonderatedAmountDesc=كمية العملاء المتوقعين مرجحة بالاحتمال
OppStatusPROSP=التنقيب OppStatusPROSP=التنقيب
OppStatusQUAL=المؤهل العلمى OppStatusQUAL=المؤهل العلمى
OppStatusPROPO=مقترح OppStatusPROPO=مقترح
@ -237,60 +237,60 @@ OppStatusNEGO=Negociation
OppStatusPENDING=بانتظار OppStatusPENDING=بانتظار
OppStatusWON=فاز OppStatusWON=فاز
OppStatusLOST=ضائع OppStatusLOST=ضائع
Budget=Budget Budget=ميزانية
AllowToLinkFromOtherCompany=Allow to link project from other company<br><br><u>Supported values:</u><br>- Keep empty: Can link any project of the company (default)<br>- "all": Can link any projects, even projects of other companies<br>- A list of third-party ids separated by commas: can link all projects of these third partys (Example: 123,4795,53)<br> AllowToLinkFromOtherCompany=السماح بربط مشروع من شركة أخرى <br> <br> <u> القيم المدعومة: </u> <br> - احتفظ به فارغًا: يمكنك ربط أي مشروع من مشاريع الشركة (افتراضي) a0342fccfda019b34 معرفات الجهات الخارجية مفصولة بفواصل: يمكن ربط جميع مشاريع هذه الأطراف الثالثة (مثال: 123،4795،53) <br>
LatestProjects=Latest %s projects LatestProjects=أحدث مشاريع %s
LatestModifiedProjects=Latest %s modified projects LatestModifiedProjects=أحدث مشاريع %s المعدلة
OtherFilteredTasks=Other filtered tasks OtherFilteredTasks=مهام أخرى تمت تصفيتها
NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) NoAssignedTasks=لم يتم العثور على مهام معينة (قم بتعيين مشروع / مهام إلى المستخدم الحالي من مربع التحديد العلوي لإدخال الوقت فيه)
ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ThirdPartyRequiredToGenerateInvoice=يجب تحديد طرف ثالث في المشروع حتى يتمكن من إصدار فاتورة به.
ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. ThirdPartyRequiredToGenerateInvoice=يجب تحديد طرف ثالث في المشروع حتى يتمكن من إصدار فاتورة به.
ChooseANotYetAssignedTask=Choose a task not yet assigned to you ChooseANotYetAssignedTask=اختر مهمة لم يتم تعيينها لك بعد
# Comments trans # Comments trans
AllowCommentOnTask=Allow user comments on tasks AllowCommentOnTask=السماح بتعليقات المستخدمين على المهام
AllowCommentOnProject=Allow user comments on projects AllowCommentOnProject=السماح بتعليقات المستخدمين على المشاريع
DontHavePermissionForCloseProject=You do not have permissions to close the project %s DontHavePermissionForCloseProject=ليس لديك أذونات لإغلاق المشروع %s
DontHaveTheValidateStatus=The project %s must be open to be closed DontHaveTheValidateStatus=يجب أن يكون المشروع %s مفتوحًا ليغلق
RecordsClosed=%s project(s) closed RecordsClosed=تم إغلاق مشروع (مشاريع) %s
SendProjectRef=Information project %s SendProjectRef=مشروع المعلومات %s
ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized ModuleSalaryToDefineHourlyRateMustBeEnabled=يجب تمكين "رواتب" الوحدة النمطية لتحديد معدل الموظف بالساعة من أجل قضاء الوقت في التثمين
NewTaskRefSuggested=Task ref already used, a new task ref is required NewTaskRefSuggested=مرجع المهمة مستخدم بالفعل ، مطلوب مرجع مهمة جديد
TimeSpentInvoiced=Time spent billed TimeSpentInvoiced=الوقت المستغرق في الفاتورة
TimeSpentForIntervention=قضى وقتا TimeSpentForIntervention=قضى وقتا
TimeSpentForInvoice=قضى وقتا TimeSpentForInvoice=قضى وقتا
OneLinePerUser=One line per user OneLinePerUser=خط واحد لكل مستخدم
ServiceToUseOnLines=Service to use on lines ServiceToUseOnLines=Service to use on lines
InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project InvoiceGeneratedFromTimeSpent=تم إنشاء الفاتورة %s من الوقت المنقضي في المشروع
InterventionGeneratedFromTimeSpent=Intervention %s has been generated from time spent on project InterventionGeneratedFromTimeSpent=تم إنشاء التدخل %s من الوقت الذي يقضيه في المشروع
ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectBillTimeDescription=تحقق مما إذا كنت قد أدخلت الجدول الزمني لمهام المشروع وكنت تخطط لإنشاء فاتورة (فواتير) من الجدول الزمني لفوترة عميل المشروع (لا تحقق مما إذا كنت تخطط لإنشاء فاتورة لا تستند إلى الجداول الزمنية التي تم إدخالها). ملاحظة: لإنشاء فاتورة ، انتقل إلى علامة التبويب "الوقت المستغرق" في المشروع وحدد سطورًا لتضمينها.
ProjectFollowOpportunity=Follow opportunity ProjectFollowOpportunity=اتبع الفرصة
ProjectFollowTasks=Follow tasks or time spent ProjectFollowTasks=اتبع المهام أو الوقت الذي تقضيه
Usage=Usage Usage=إستعمال
UsageOpportunity=Usage: Opportunity UsageOpportunity=الاستعمال: فرصة
UsageTasks=Usage: Tasks UsageTasks=الاستعمال: المهام
UsageBillTimeShort=Usage: Bill time UsageBillTimeShort=الاستعمال: فاتورة الوقت
InvoiceToUse=Draft invoice to use InvoiceToUse=مسودة فاتورة للاستخدام
InterToUse=Draft intervention to use InterToUse=مشروع تدخل للاستخدام
NewInvoice=فاتورة جديدة NewInvoice=فاتورة جديدة
NewInter=التدخل الجديدة NewInter=التدخل الجديدة
OneLinePerTask=One line per task OneLinePerTask=سطر واحد لكل مهمة
OneLinePerPeriod=One line per period OneLinePerPeriod=سطر واحد لكل فترة
OneLinePerTimeSpentLine=One line for each time spent declaration OneLinePerTimeSpentLine=سطر واحد لكل إعلان عن الوقت المستغرق
AddDetailDateAndDuration=With date and duration into line description AddDetailDateAndDuration=مع التاريخ والمدة في وصف السطر
RefTaskParent=Ref. Parent Task RefTaskParent=المرجع. المهمة الأصل
ProfitIsCalculatedWith=Profit is calculated using ProfitIsCalculatedWith=يتم احتساب الربح باستخدام
AddPersonToTask=Add also to tasks AddPersonToTask=أضف أيضًا إلى المهام
UsageOrganizeEvent=Usage: Event Organization UsageOrganizeEvent=الاستعمال: تنظيم الحدث
PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=تصنيف المشروع على أنه مغلق عند اكتمال جميع مهامه (تقدم 100%%)
PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=ملاحظة: المشاريع الحالية مع جميع المهام في 100%% لن يتأثر التقدم: سيكون عليك إغلاقها يدويًا. يؤثر هذا الخيار فقط على المشاريع المفتوحة.
SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them SelectLinesOfTimeSpentToInvoice=حدد سطور الوقت المستغرقة التي لم يتم تحرير فواتير بها ، ثم قم بإجراء جماعي "إنشاء الفاتورة" لفواتيرها
ProjectTasksWithoutTimeSpent=Project tasks without time spent ProjectTasksWithoutTimeSpent=مهام المشروع دون إضاعة الوقت
FormForNewLeadDesc=Thanks to fill the following form to contact us. You can also send us an email directly to <b>%s</b>. FormForNewLeadDesc=شكرا لملء النموذج التالي للاتصال بنا. يمكنك أيضًا إرسال بريد إلكتروني إلينا مباشرة إلى <b> %s </b>.
ProjectsHavingThisContact=Projects having this contact ProjectsHavingThisContact=المشاريع التي لديها هذا الاتصال
StartDateCannotBeAfterEndDate=تاريخ نهاية لا يمكن أن يكون قبل تاريخ البدء StartDateCannotBeAfterEndDate=تاريخ نهاية لا يمكن أن يكون قبل تاريخ البدء
ErrorPROJECTLEADERRoleMissingRestoreIt=The "PROJECTLEADER" role is missing or has been de-activited, please restore in the dictionary of contact types ErrorPROJECTLEADERRoleMissingRestoreIt=دور "PROJECTLEADER" مفقود أو تم إلغاء تنشيطه ، يرجى الاستعادة في قاموس أنواع جهات الاتصال
LeadPublicFormDesc=You can enable here a public page to allow your prospects to make a first contact to you from a public online form LeadPublicFormDesc=يمكنك هنا تمكين صفحة عامة للسماح لآفاقك بإجراء أول اتصال لك من نموذج عام عبر الإنترنت
EnablePublicLeadForm=Enable the public form for contact EnablePublicLeadForm=قم بتمكين النموذج العام للاتصال
NewLeadbyWeb=Your message or request has been recorded. We will answer or contact your soon. NewLeadbyWeb=تم تسجيل رسالتك أو طلبك. سوف نقوم بالرد أو الاتصال بك قريبا.
NewLeadForm=New contact form NewLeadForm=استمارة اتصال جديدة
LeadFromPublicForm=Online lead from public form LeadFromPublicForm=عميل محتمل عبر الإنترنت من شكل عام

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