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/webmozart/
htdocs/.well-known/apple-developer-merchantid-domain-association
/factory/
/output/
# Node Modules
build/yarn-error.log
@ -55,4 +57,3 @@ yarn.lock
package-lock.json
doc/install.lock
/factory/

View File

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

View File

@ -1,4 +1,6 @@
#!/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
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.
mysql -P$port $base < "$mydir/initdemopostsql.sql"
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

View File

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

View File

@ -17,14 +17,14 @@ fi
# To detec
if [ "x$1" = "xlist" ]
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 "*.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 "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 "CRLF" | grep -v 'custom\/' | grep -v 'documents\/website' | grep -v 'documents\/medias' | grep -v 'documents\/sellyoursaas' | grep -v 'htdocs\/includes' | grep CRLF
fi
# To convert
if [ "x$1" = "xfix" ]
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
echo "Fix file $fic"
dos2unix "$fic"

View File

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

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2016 Olivier Geffroy <jeff@jeffinfo.com>
* 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>
*
* 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"));
$action = GETPOST('action', 'aZ09');
$optioncss = GETPOST('optioncss', 'alpha');
$contextpage = GETPOST('contextpage', 'aZ09');
// Load variable for pagination
@ -158,7 +159,8 @@ if (empty($user->rights->accounting->mouvements->lire)) {
* 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
if ($reshook < 0) {
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');

View File

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

View File

@ -281,7 +281,7 @@ class AccountingJournal extends CommonObject
}
$label_link = $this->code;
if ($withlabel) {
if ($withlabel && !empty($this->label)) {
$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
$formquestion = array();
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)) {
$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"));
// Get email content from template
$arraydefaultmessage = null;
$labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_CANCELATION;
$labeltouse = getDolGlobalString('ADHERENT_EMAIL_TEMPLATE_CANCELATION');
if (!empty($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 User $user User object
* @param User $user User object
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers
* @return int <0 if KO, 0=nothing to do, >0 if OK
*/
@ -1813,7 +1813,7 @@ class Adherent extends CommonObject
if (!$error) {
// Create payment line for invoice
$paiement_id = $paiement->create($user);
if (!$paiement_id > 0) {
if (!($paiement_id > 0)) {
$this->error = $paiement->error;
$this->errors = $paiement->errors;
$error++;

View File

@ -434,6 +434,7 @@ class AdherentType extends CommonObject
/**
* Function to delete the member's status
* TODO Add param "User $user"
*
* @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');
$action = GETPOST('action', 'aZ09');
$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');
$sall = GETPOST("sall", "alpha");
@ -200,7 +201,7 @@ if ($action == 'update' && $user->rights->adherent->configurer) {
exit;
}
if ($action == 'confirm_delete' && $user->rights->adherent->configurer) {
if ($action == 'confirm_delete' && !empty($user->rights->adherent->configurer)) {
$object->fetch($rowid);
$res = $object->delete();
@ -439,7 +440,7 @@ if ($rowid > 0) {
print '<div class="fichecenter">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border centpercent">';
print '<table class="tableforfield border centpercent">';
// Morphy
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 "</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);
$datefin = $db->jdate($objp->datefin);
$adh = new Adherent($db);
$adh->lastname = $objp->lastname;
$adh->firstname = $objp->firstname;
$adh->datefin = $datefin;
$adh->need_subscription = $objp->subscription;
$adh->statut = $objp->status;
// Lastname
print '<tr class="oddeven">';
// Lastname
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";
} else {
@ -690,7 +694,7 @@ if ($rowid > 0) {
}
// Login
print "<td>".$objp->login."</td>\n";
print "<td>".dol_escape_htmltag($objp->login)."</td>\n";
// Type
/*print '<td class="nowrap">';
@ -747,11 +751,15 @@ if ($rowid > 0) {
$i++;
}
if ($i == 0) {
print '<tr><td colspan="7"><span class="opacitymedium">'.$langs->trans("None").'</span></td></tr>';
}
print "</table>\n";
print '</div>';
print '</form>';
if ($num > $conf->liste_limit) {
if ($num > $limit) {
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, '');
}
} 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
$langs->loadLangs(array('members', 'languages'));
$id = GETPOST('rowid', 'int');
$id = GETPOST('rowid', 'int') ? GETPOST('rowid', 'int') : GETPOST('id', 'int');
$action = GETPOST('action', 'aZ09');
$cancel = GETPOST('cancel', 'alpha');
$ref = GETPOST('ref', 'alphanohtml');
@ -61,7 +61,12 @@ if ($cancel == $langs->trans("Cancel")) {
if ($action == 'delete' && GETPOST('langtodelete', 'alpha')) {
$object = new AdherentType($db);
$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

View File

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

View File

@ -142,7 +142,7 @@ if ($action == 'updateMask') {
$value = GETPOST('activate_hideClosedServiceByDefault', 'alpha');
$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++;
}

View File

@ -228,14 +228,14 @@ if ($action == 'edit') {
if ($val['type'] == 'textarea') {
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";
} elseif ($val['type']== 'html') {
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();
} 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'])) {
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php';
$formmail = new FormMail($db);
@ -255,7 +255,7 @@ if ($action == 'edit') {
$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'])) {
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
@ -263,13 +263,13 @@ if ($action == 'edit') {
$tmp = explode(':', $val['type']);
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'])) {
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
$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') {
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)) {
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);
}
} 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>';
}
@ -320,28 +320,28 @@ if ($action == 'edit') {
print '</td><td>';
if ($val['type'] == 'textarea') {
print dol_nl2br($conf->global->{$constname});
print dol_nl2br(getDolGlobalString($constname));
} elseif ($val['type']== 'html') {
print $conf->global->{$constname};
print getDolGlobalString($constname);
} elseif ($val['type'] == 'yesno') {
print ajax_constantonoff($constname);
} 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';
$formmail = new FormMail($db);
$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) {
setEventMessages(null, $formmail->errors, 'errors');
}
print $langs->trans($template->label);
}
} elseif (preg_match('/category:/', $val['type'])) {
if (!empty($conf->global->{$constname})) {
if (getDolGlobalString($constname)) {
$c = new Categorie($db);
$result = $c->fetch($conf->global->{$constname});
$result = $c->fetch(getDolGlobalString($constname));
if ($result < 0) {
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>';
}
} elseif (preg_match('/thirdparty_type/', $val['type'])) {
if ($conf->global->{$constname}==2) {
if (getDolGlobalString($constname)==2) {
print $langs->trans("Prospect");
} elseif ($conf->global->{$constname}==3) {
} elseif (getDolGlobalString($constname)==3) {
print $langs->trans("ProspectCustomer");
} elseif ($conf->global->{$constname}==1) {
} elseif (getDolGlobalString($constname)==1) {
print $langs->trans("Customer");
} elseif ($conf->global->{$constname}==0) {
} elseif (getDolGlobalString($constname)==0) {
print $langs->trans("NorProspectNorCustomer");
}
} elseif ($val['type'] == 'product') {
$product = new Product($db);
$resprod = $product->fetch($conf->global->{$constname});
$resprod = $product->fetch(getDolGlobalString($constname));
if ($resprod > 0) {
print $product->getNomUrl(1);
} elseif ($resprod < 0) {
setEventMessages(null, $object->errors, "errors");
setEventMessages($product->error, $product->errors, "errors");
}
} else {
print $conf->global->{$constname};
print getDolGlobalString($constname);
}
print '</td></tr>';
}

View File

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

View File

@ -141,7 +141,7 @@ if ($action == 'updateMask') {
$draft = GETPOST('HOLIDAY_DRAFT_WATERMARK', 'alpha');
$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++;
}

View File

@ -178,63 +178,63 @@ $elementList = array();
$elementList['all'] = '-- '.dol_escape_htmltag($langs->trans("All")).' --';
$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)) {
$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)) {
$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)) {
$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)) {
$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)) {
$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)) {
$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)) {
$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)) {
$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)) {
$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)) {
$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)) {
$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))) {
$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))) {
$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)) {
$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)) {
$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)) {
$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')) {
$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)) {
$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)) {
$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);

View File

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

View File

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

View File

@ -78,9 +78,10 @@ if ($action == 'updateMask') {
$maskconststocktransfer = GETPOST('maskconststocktransfer', 'alpha');
$maskstocktransfer = GETPOST('maskStockTransfer', 'alpha');
if ($maskconststocktransfer) $res = dolibarr_set_const($db, $maskconststocktransfer, $maskstocktransfer, 'chaine', 0, '', $conf->entity);
if (!$res > 0) $error++;
if ($maskconststocktransfer) {
$res = dolibarr_set_const($db, $maskconststocktransfer, $maskstocktransfer, 'chaine', 0, '', $conf->entity);
if ($res <= 0) $error++;
}
if (!$error) {
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)) {
$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;
}
// 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.
*
* @param int $rowid id of object to load
* @param string $ref Ref of proposal
* @param string $ref_ext Ref ext of proposal
* @return int >0 if OK, <0 if KO
* @param int $rowid Id of object to load
* @param string $ref Ref of proposal
* @param string $ref_ext Ref ext of proposal
* @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 .= ", 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_incoterms as i ON p.fk_incoterms = i.rowid';
if ($ref) {
$sql .= " WHERE p.entity IN (".getEntity('propal').")"; // Dont't use entity if you use rowid
if (!empty($ref)) {
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)."'";
} else {
// Dont't use entity if you use rowid
$sql .= " WHERE p.rowid = ".((int) $rowid);
}
@ -3798,7 +3804,7 @@ class Propal extends CommonObject
* @param int $hidedetails Hide details of lines
* @param int $hidedesc Hide description
* @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
*/
public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null)

View File

@ -1,9 +1,10 @@
<?php
/* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2019 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2017 Pierre-Henry Favre <support@atm-consulting.fr>
* Copyright (C) 2020 Maxime DEMAREST <maxime@indelog.fr>
* Copyright (C) 2021 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
/* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2019 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2017 Pierre-Henry Favre <support@atm-consulting.fr>
* Copyright (C) 2020 Maxime DEMAREST <maxime@indelog.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
* 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();
$param = '';
if (!empty($date_start) && !empty($date_stop)) {
$param .= '&date_startday='.GETPOST('date_startday', 'int');
$param .= '&date_startmonth='.GETPOST('date_startmonth', 'int');

View File

@ -357,7 +357,7 @@ if (GETPOST('save') && !$cancel && !empty($user->rights->banque->modifier)) {
$error++;
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Amount")), null, 'errors');
}
if (!$bankaccountid > 0) {
if (!($bankaccountid > 0)) {
$error++;
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->db->rollback();
return -3;
return -4;
}
}
@ -630,7 +630,7 @@ class Account extends CommonObject
$this->errors = $accline->errors;
$this->db->rollback();
return -2;
return -5;
}
}

View File

@ -4213,7 +4213,7 @@ if ($action == 'create') {
// 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'));
$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 class="right"><span class="amount">'.price($obj->amount_ttc).'</span></td>';
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>';
$i++;
if ($invoice->type == Facture::TYPE_CREDIT_NOTE) {
@ -5190,7 +5190,9 @@ if ($action == 'create') {
}
print '</span>';
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

View File

@ -1524,7 +1524,7 @@ if ($resql) {
// Status
if (!empty($arrayfields['f.fk_statut']['checked'])) {
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 '</td>';
}
@ -1752,6 +1752,7 @@ if ($resql) {
$facturestatic->situation_cycle_ref = $obj->situation_cycle_ref;
$facturestatic->situation_counter = $obj->situation_counter;
}
$companystatic->id = $obj->socid;
$companystatic->name = $obj->name;
$companystatic->name_alias = $obj->alias;
@ -2385,7 +2386,7 @@ if ($resql) {
// Status
if (!empty($arrayfields['f.fk_statut']['checked'])) {
print '<td class="nowrap right">';
print $facturestatic->LibStatut($obj->paye, $obj->fk_statut, 5, $paiement, $obj->type);
print $facturestatic->getLibStatut(5, $paiement);
print "</td>";
if (!$i) {
$totalarray['nbfield']++;

View File

@ -250,6 +250,7 @@ if ($date_endyear) {
print '<table class="noborder centpercent">';
print '<tr class="liste_titre">';
if ($modecompta == 'BOOKKEEPING') {
print_liste_field_titre("PredefinedGroups", $_SERVER["PHP_SELF"], 'f.thirdparty_code,f.rowid', '', $param, '', $sortfield, $sortorder, 'width200 ');
} else {
@ -261,6 +262,8 @@ if ($modecompta == 'BOOKKEEPING') {
} else {
if ($modecompta == 'CREANCES-DETTES') {
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);
}
@ -1525,18 +1528,24 @@ print '</tr>';
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Income").'</td>';
if ($modecompta == 'CREANCES-DETTES') {
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 '</tr>';
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Outcome").'</td>';
if ($modecompta == 'CREANCES-DETTES') {
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 '</tr>';
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Profit").'</td>';
if ($modecompta == 'CREANCES-DETTES') {
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 '</tr>';

View File

@ -1,6 +1,6 @@
<?php
/* 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 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);
$periodlink = $textprevyear.$textnextyear;
$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")).')';
//if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $description.= $langs->trans("DepositsAreNotIncluded");
//else $description.= $langs->trans("DepositsAreIncluded");

View File

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

View File

@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2018 Laurent Destailleur <eldy@users.sourceforge.net>
* 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
* 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_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
$q = '';
if (empty($date_start) || empty($date_end)) { // We define date_start and date_end
$q = GETPOST("q", "int");
if (empty($q)) {
@ -155,10 +158,12 @@ foreach ($listofparams as $param) {
llxHeader('', $langs->trans("TurnoverReport"), '', '', 0, 0, '', '', $morequerystring);
$exportlink="";
$namelink="";
//print load_fiche_titre($langs->trans("VAT"),"");
//$fsearch.='<br>';
$fsearch = '';
$fsearch .= ' <input type="hidden" name="year" value="'.$year.'">';
$fsearch .= ' <input type="hidden" name="modetax" value="'.$modetax.'">';
//$fsearch.=' '.$langs->trans("SalesTurnoverMinimum").': ';
@ -198,14 +203,17 @@ if ($nextquarter < 4) {
$nextquarter = 1;
$nextyear++;
}
$description .= $fsearch;
$description = $fsearch;
$builddate = dol_now();
if (!empty($conf->global->MAIN_MODULE_ACCOUNTING)) {
$description .= '<br>'.$langs->trans("ThisIsAnEstimatedValue");
}
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') {
$description .= $langs->trans("RulesVATInProducts");
$description .= '<br>'.$langs->trans("RulesVATInProducts");
}
if ($conf->global->TAX_MODE_SELL_SERVICE == 'invoice') {
$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)) {
$description .= '<br>'.$langs->trans("DepositsAreNotIncluded");
}
if (!empty($conf->global->MAIN_MODULE_ACCOUNTING)) {
$description .= '<br>'.$langs->trans("ThisIsAnEstimatedValue");
}
// Customers invoices
$elementcust = $langs->trans("CustomersInvoices");
@ -229,9 +234,6 @@ $amountcust = $langs->trans("AmountHT");
$elementsup = $langs->trans("SuppliersInvoices");
$productsup = $productcust;
$amountsup = $amountcust;
$namesup = $namecust;
// TODO Report from bookkeeping not yet available, so we switch on report on business events
if ($modecompta == "BOOKKEEPING") {
@ -247,7 +249,7 @@ if ($modecompta == "CREANCES-DETTES") {
$calcmode = $langs->trans("CalcModeDebt");
//$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)) {
$description .= $langs->trans("DepositsAreNotIncluded");
} else {
@ -260,7 +262,7 @@ if ($modecompta == "CREANCES-DETTES") {
$calcmode = $langs->trans("CalcModeEngagement");
//$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");
$builddate = dol_now();

View File

@ -3,6 +3,7 @@
* Copyright (C) 2013-2016 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.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
* it under the terms of the GNU General Public License as published by
@ -186,7 +187,9 @@ if (!empty($year)) {
if (!empty($month)) {
$headerparams['month'] = $month;
}
$headerparams['q'] = $q;
if (!empty($q)) {
$headerparams['q'] = $q;
}
$tableparams = array();
if (!empty($selected_cat)) {
@ -205,6 +208,7 @@ $allparams = array_merge($commonparams, $headerparams, $tableparams);
$headerparams = array_merge($commonparams, $headerparams);
$tableparams = array_merge($commonparams, $tableparams);
$paramslink="";
foreach ($allparams as $key => $value) {
$paramslink .= '&'.$key.'='.$value;
}
@ -227,6 +231,9 @@ if ($modecompta == "BOOKKEEPINGCOLLECTED") {
$modecompta = "RECETTES-DEPENSES";
}
$exportlink="";
$namelink="";
// Show report header
if ($modecompta == "CREANCES-DETTES") {
$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) 2013 Antoine Iauch <aiauch@gpcsolutions.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
* it under the terms of the GNU General Public License as published by
@ -135,23 +136,36 @@ $commonparams['sortorder'] = $sortorder;
$commonparams['sortfield'] = $sortfield;
$headerparams = array();
$headerparams['date_startyear'] = $date_startyear;
$headerparams['date_startmonth'] = $date_startmonth;
$headerparams['date_startday'] = $date_startday;
$headerparams['date_endyear'] = $date_endyear;
$headerparams['date_endmonth'] = $date_endmonth;
$headerparams['date_endday'] = $date_endday;
$headerparams['q'] = $q;
if (!empty($date_startyear)) {
$headerparams['date_startyear'] = $date_startyear;
}
if (!empty($date_startmonth)) {
$headerparams['date_startmonth'] = $date_startmonth;
}
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['search_categ'] = $selected_cat;
$tableparams['subcat'] = ($subcat === true) ? 'yes' : '';
// Adding common parameters
$allparams = array_merge($commonparams, $headerparams, $tableparams);
$headerparams = array_merge($commonparams, $headerparams);
$tableparams = array_merge($commonparams, $tableparams);
$paramslink="";
foreach ($allparams as $key => $value) {
$paramslink .= '&'.$key.'='.$value;
}
@ -172,6 +186,9 @@ if ($modecompta == "BOOKKEEPINGCOLLECTED") {
$modecompta = "RECETTES-DEPENSES";
}
$exportlink="";
$namelink="";
// Show report header
if ($modecompta == "CREANCES-DETTES") {
$name = $langs->trans("Turnover").', '.$langs->trans("ByUserAuthorOfInvoice");
@ -230,6 +247,8 @@ foreach ($headerparams as $key => $value) {
}
$catotal = 0;
$catotal_ht = 0;
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 .= " FROM ".MAIN_DB_PREFIX."user as u";
@ -245,8 +264,8 @@ if ($modecompta == 'CREANCES-DETTES') {
}
} elseif ($modecompta == "RECETTES-DEPENSES") {
/*
* Liste des paiements (les anciens paiements ne sont pas vus par cette requete car, sur les
* vieilles versions, ils n'etaient pas lies via paiement_facture. On les ajoute plus loin)
* List of payments (old payments are not seen by this query because on older versions,
* 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 .= " FROM ".MAIN_DB_PREFIX."user as u";
@ -287,7 +306,7 @@ if ($result) {
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') {
$sql = "SELECT -1 as rowidx, '' as name, '' as firstname, sum(DISTINCT p.amount) as amount_ttc";
$sql .= " FROM ".MAIN_DB_PREFIX."bank as b";

View File

@ -6,6 +6,7 @@
* Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr>
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.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
* it under the terms of the GNU General Public License as published by
@ -158,13 +159,27 @@ $commonparams['sortorder'] = $sortorder;
$commonparams['sortfield'] = $sortfield;
$headerparams = array();
$headerparams['date_startyear'] = $date_startyear;
$headerparams['date_startmonth'] = $date_startmonth;
$headerparams['date_startday'] = $date_startday;
$headerparams['date_endyear'] = $date_endyear;
$headerparams['date_endmonth'] = $date_endmonth;
$headerparams['date_endday'] = $date_endday;
$headerparams['q'] = $q;
if (!empty($date_startyear)) {
$headerparams['date_startyear'] = $date_startyear;
}
if (!empty($date_startmonth)) {
$headerparams['date_startmonth'] = $date_startmonth;
}
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['search_categ'] = $selected_cat;
@ -250,8 +265,10 @@ $name = array();
// Show Array
$catotal = 0;
$catotal_ht = 0;
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 .= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."societe as s";
if ($selected_cat === -2) { // Without any category
@ -281,10 +298,10 @@ if ($modecompta == 'CREANCES-DETTES') {
}
} elseif ($modecompta == "RECETTES-DEPENSES") {
/*
* Liste des paiements (les anciens paiements ne sont pas vus par cette requete car, sur les
* vieilles versions, ils n'etaient pas lies via paiement_facture. On les ajoute plus loin)
* List of payments (old payments are not seen by this query because on older versions,
* 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 .= ", ".MAIN_DB_PREFIX."paiement_facture as pf";
$sql .= ", ".MAIN_DB_PREFIX."paiement as p";
@ -329,7 +346,7 @@ $sql .= " AND f.entity IN (".getEntity('invoice').")";
if ($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";
//echo $sql;
@ -344,7 +361,11 @@ if ($result) {
$obj = $db->fetch_object($result);
$amount_ht[$obj->socid] = $obj->amount;
$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_town[$obj->socid] = $obj->town;
$address_pays[$obj->socid] = getCountry($obj->fk_pays);
@ -356,7 +377,7 @@ if ($result) {
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") {
$sql = "SELECT '0' as socid, 'Autres' as name, sum(p.amount) as amount_ttc";
$sql .= " FROM ".MAIN_DB_PREFIX."bank as b";
@ -409,7 +430,7 @@ print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" :
// Category filter
print '<tr class="liste_titre">';
print '<td>';
print '<td class="nowraponall">';
print img_picto('', 'category', 'class="paddingrightonly"');
print $formother->select_categories(Categorie::TYPE_CUSTOMER, $selected_cat, 'search_categ', 0, $langs->trans("Category"));
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 '</td>';
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 '</td>';
print '<td class="liste_titre">&nbsp;</td>';

View File

@ -375,7 +375,7 @@ if (empty($reshook)) {
$newfile = $dir.'/'.dol_sanitizeFileName($_FILES['photo']['name']);
$result = dol_move_uploaded_file($_FILES['photo']['tmp_name'], $newfile, 1);
if (!$result > 0) {
if (!($result > 0)) {
$errors[] = "ErrorFailedToSaveFile";
} else {
$object->photo = dol_sanitizeFileName($_FILES['photo']['name']);
@ -883,8 +883,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
//Default language
if (!empty($conf->global->MAIN_MULTILANGS)) {
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 '</tr>';
}
@ -1171,8 +1170,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
//Default language
if (!empty($conf->global->MAIN_MULTILANGS)) {
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 '</tr>';
}
@ -1403,7 +1401,8 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
//$s=picto_from_langcode($object->default_lang);
//print ($s?$s.' ':'');
$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 '</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';
$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');
@ -46,7 +47,7 @@ if (empty($object->thirdparty)) {
$socid = $object->thirdparty->id;
// 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');
$sortorder = GETPOST('sortorder', 'aZ09comma');
$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."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').')';
$datePrint = 'c.datep';
$dateprint = 'c.datep';
$doc_number = 'c.ref';
$thirdTypeSelect = 'customer';
} elseif ($type_element == 'order') {
@ -443,6 +444,8 @@ if ($sql_select) {
$i = 0;
$total_qty = 0;
$total_ht = 0;
while (($objp = $db->fetch_object($resql)) && $i < min($num, $limit)) {
$documentstatic->id = $objp->doc_id;
$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>';
$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)) {
$object->thirdparty->fetch($socid);
// Thirdparty

View File

@ -44,7 +44,6 @@ if ($result <= 0) {
exit;
}
$physicalperson = 1;
$company = new Societe($db);
if ($contact->socid) {
@ -107,7 +106,7 @@ if ($company->id) {
}
// 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);
}
}

View File

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

View File

@ -53,6 +53,7 @@ if (is_numeric($entity)) {
define("DOLENTITY", $entity);
}
include '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$action = GETPOST('action', 'aZ09');
@ -69,10 +70,10 @@ $type = $mode;
// Check securitykey
$securekeyseed = '';
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);
print 'Bad value for securitykey. Value provided '.dol_escape_htmltag($SECUREKEY).' does not match expected value for ref='.dol_escape_htmltag($ref);
exit(-1);
@ -123,33 +124,64 @@ if ($action == "importSignature") {
if (!$error) {
// 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";
$sourcefile = $upload_dir.$ref.".pdf";
if (dol_is_file($sourcefile)) {
// We build the new PDF
$pdf = pdf_getInstance();
$pdf->Open();
$pdf->AddPage();
$pagecount = $pdf->setSourceFile($sourcefile); // original PDF
if (class_exists('TCPDF')) {
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
}
$pdf->SetFont(pdf_getPDFFont($langs));
for ($i=1; $i<($pagecount+1); $i++) {
if ($i>1) $pdf->AddPage();
$tppl=$pdf->importPage($i);
$pdf->useTemplate($tppl);
if (getDolGlobalString('MAIN_DISABLE_PDF_COMPRESSION')) {
$pdf->SetCompression(false);
}
$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");
// Index the new file and update the last_main_doc property of object.
$object->indexFile($newpdffilename, 1);
}
} elseif (preg_match('/\.odt/i', $last_main_doc_file)) {
// Adding signature on .ODT not yet supported
// TODO
} 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');
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusDraft');
} elseif (($status == 3 || $status == 2) && $alreadypaid <= 0) {
$labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedUnpaid');
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusClosedUnpaid');
if ($status == 3) {
$labelStatus = $langs->transnoentitiesnoconv('BillStatusCanceled');
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusCanceled');
} else {
$labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedUnpaid');
$labelStatusShort = $langs->transnoentitiesnoconv('Bill'.$prefix.'StatusClosedUnpaid');
}
$statusType = 'status5';
} elseif (($status == 3 || $status == 2) && $alreadypaid > 0) {
$labelStatus = $langs->transnoentitiesnoconv('BillStatusClosedPaidPartially');

View File

@ -1032,7 +1032,8 @@ abstract class CommonObject
// Add entry into index
if ($initsharekey) {
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->filename = $filename;

View File

@ -1013,7 +1013,9 @@ class Conf
}
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;

View File

@ -1583,7 +1583,7 @@ class ExtraFields
if (!empty($value)) {
//$value=price($value);
$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, '');
}
} elseif ($type == 'boolean') {

View File

@ -233,21 +233,21 @@ class Form
}
if (preg_match('/^(string|safehtmlstring|email)/', $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)) {
$tmp = explode(':', $typeofdata);
$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)) {
$tmp = explode(':', $typeofdata);
$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)) {
$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'
$tmp = explode(':', $typeofdata);
$cols = $tmp[2];
$cols = (empty($tmp[2]) ? '' : $tmp[2]);
$morealt = '';
if (preg_match('/%/', $cols)) {
$morealt = ' style="width: '.$cols.'"';
@ -255,7 +255,7 @@ class Form
}
$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.
// 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);
@ -277,7 +277,7 @@ class Form
} elseif (preg_match('/^ckeditor/', $typeofdata)) {
$tmp = explode(':', $typeofdata); // Example: ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols:uselocalbrowser
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);
}
if (empty($notabletag)) {
@ -5026,7 +5026,7 @@ class Form
$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;
if ($input['disabled']) {
if (!empty($input['disabled'])) {
$more .= ' disabled';
}
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
}

View File

@ -93,19 +93,19 @@ $object = null;
$ObjectClassName = '';
// Objects available by default
$arrayoftype = array(
'thirdparty' => array('label' => 'ThirdParties', 'ObjectClassName' => 'Societe', 'enabled' => $conf->societe->enabled, 'ClassPath' => "/societe/class/societe.class.php"),
'contact' => array('label' => 'Contacts', 'ObjectClassName' => 'Contact', 'enabled' => $conf->societe->enabled, 'ClassPath' => "/contact/class/contact.class.php"),
'proposal' => array('label' => 'Proposals', 'ObjectClassName' => 'Propal', 'enabled' => $conf->propal->enabled, 'ClassPath' => "/comm/propal/class/propal.class.php"),
'order' => array('label' => 'Orders', 'ObjectClassName' => 'Commande', 'enabled' => $conf->commande->enabled, 'ClassPath' => "/commande/class/commande.class.php"),
'invoice' => array('label' => 'Invoices', 'ObjectClassName' => 'Facture', 'enabled' => $conf->facture->enabled, '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'),
'contract' => array('label' => 'Contracts', 'ObjectClassName' => 'Contrat', 'enabled' => $conf->contrat->enabled, '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'),
'bom' => array('label' => 'BOM', 'ObjectClassName' => 'Bom', 'enabled' => $conf->bom->enabled),
'mo' => array('label' => 'MO', 'ObjectClassName' => 'Mo', 'enabled' => $conf->mrp->enabled, 'ClassPath' => "/mrp/class/mo.class.php"),
'ticket' => array('label' => 'Ticket', 'ObjectClassName' => 'Ticket', 'enabled' => $conf->ticket->enabled),
'member' => array('label' => 'Adherent', 'ObjectClassName' => 'Adherent', 'enabled' => $conf->adherent->enabled, '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'),
'thirdparty' => array('label' => 'ThirdParties', 'ObjectClassName' => 'Societe', 'enabled' => isModEnabled('societe'), 'ClassPath' => "/societe/class/societe.class.php"),
'contact' => array('label' => 'Contacts', 'ObjectClassName' => 'Contact', 'enabled' => isModEnabled('societ'), 'ClassPath' => "/contact/class/contact.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' => isModEnabled('commande'), 'ClassPath' => "/commande/class/commande.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' => isModEnabled('facture'), 'ClassPath' => "/compta/class/facturerec.class.php", 'langs'=>'bills'),
'contract' => array('label' => 'Contracts', 'ObjectClassName' => 'Contrat', 'enabled' => isModEnabled('contrat'), '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' => isModEnabled('bom')),
'mo' => array('label' => 'MO', 'ObjectClassName' => 'Mo', 'enabled' => isModEnabled('mrp'), 'ClassPath' => "/mrp/class/mo.class.php"),
'ticket' => array('label' => 'Ticket', 'ObjectClassName' => 'Ticket', 'enabled' => isModEnabled('ticket')),
'member' => array('label' => 'Adherent', 'ObjectClassName' => 'Adherent', 'enabled' => isModEnabled('adherent'), 'ClassPath' => "/adherents/class/adherent.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

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)
$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;
}
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;
}
//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);
}
} elseif (strtoupper($countrycode) == "MG") {//Madagascar
if (dol_strlen($phone) == 13) {//ex: +261_AB_CD_EF_GHI
$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);
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, 3).$separ.substr($newphone, 11, 2);
}
} elseif (strtoupper($countrycode) == "GB") {//Royaume uni
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) {
$imgfonction = '';
switch ($newExt) {
case 'gif': // IMG_GIF
case 'gif': // IMG_GIF
$imgfonction = 'imagecreatefromgif';
break;
case 'jpg': // IMG_JPG
case 'jpg': // IMG_JPG
case 'jpeg': // IMG_JPEG
$imgfonction = 'imagecreatefromjpeg';
break;
case 'png': // IMG_PNG
case 'png': // IMG_PNG
$imgfonction = 'imagecreatefrompng';
break;
case 'bmp': // IMG_WBMP
case 'bmp': // IMG_WBMP
$imgfonction = 'imagecreatefromwbmp';
break;
case 'webp': // IMG_WEBP
case 'webp': // IMG_WEBP
$imgfonction = 'imagecreatefromwebp';
break;
}
@ -300,12 +301,14 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
}
// Set transparent color according to image extension
$trans_colour = -1; // By default, undefined
switch ($newExt) {
case 'gif': // Gif
$trans_colour = imagecolorallocate($imgTarget, 255, 255, 255); // On procede autrement pour le format GIF
imagecolortransparent($imgTarget, $trans_colour);
break;
case 'jpg': // Jpg
case 'jpeg': // Jpeg
$trans_colour = imagecolorallocatealpha($imgTarget, 255, 255, 255, 0);
break;
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);
break;
}
if (function_exists("imagefill")) {
if (function_exists("imagefill") && $trans_colour > 0) {
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
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);
break;
case 'jpg': // Jpg
case 'jpeg': // Jpeg
$newquality = ($newquality ? $newquality : '100'); // % quality maximum
imagejpeg($imgTarget, $imgTargetName, $newquality);
break;
@ -353,6 +357,8 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0,
$newquality = ($newquality ? $newquality : '100'); // % quality maximum
imagewebp($imgTarget, $imgTargetName, $newquality);
break;
default:
dol_syslog("images.lib.php::imageResizeOrCrop() Format ".$newExt." is not supported", LOG_WARNING);
}
// Set permissions on file

View File

@ -90,7 +90,7 @@ function getOnlineSignatureUrl($mode, $type, $ref = '', $localorexternal = 1)
if ($mode == 1) {
$out .= "hash('".$securekeyseed."' + '".$type."' + proposal_ref)";
} 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) {

View File

@ -56,7 +56,7 @@ class modEventOrganization extends DolibarrModules
$this->description = "EventOrganizationDescription";
$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)

View File

@ -54,7 +54,7 @@ class modFTP extends DolibarrModules
// Module description used if translation string 'ModuleXXXDesc' not found (XXX is id value)
$this->description = "FTP Client";
// 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)
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
// 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="action" value="setModuleOptions">';
$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="param3" value="USERGROUP_ADDON_PDF_ODT_TOBILL">';
$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)) {
$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
$list = ModelePDFUserGroup::liste_modeles($this->db);
$texte .= '<table width="50%;">';

View File

@ -56,13 +56,13 @@ if ($modulepart == 'produit' || $modulepart == 'product' || $modulepart == 'serv
$accessallowed = 1;
} elseif ($modulepart == 'project') {
$result = restrictedArea($user, 'projet', $id);
if (!$user->rights->projet->lire) {
if (empty($user->rights->projet->lire)) {
accessforbidden();
}
$accessallowed = 1;
} elseif ($modulepart == 'bom') {
$result = restrictedArea($user, $modulepart, $id, 'bom_bom');
if (!$user->rights->bom->read) {
if (empty($user->rights->bom->read)) {
accessforbidden();
}
$accessallowed = 1;
@ -73,14 +73,14 @@ if ($modulepart == 'produit' || $modulepart == 'product' || $modulepart == 'serv
}
$accessallowed = 1;
} elseif ($modulepart == 'user') {
$result = restrictedArea($user, $modulepart, $id, $modulepart);
if (!$user->rights->user->user->lire) {
$result = restrictedArea($user, $modulepart, $id, $modulepart, $modulepart);
if (empty($user->rights->user->user->lire)) {
accessforbidden();
}
$accessallowed = 1;
} elseif ($modulepart == 'tax') {
$result = restrictedArea($user, $modulepart, $id, 'chargesociales', 'charges');
if (!$user->rights->tax->charges->lire) {
if (empty($user->rights->tax->charges->lire)) {
accessforbidden();
}
$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);
$sub = "DATAPOLICIESREFUSE_".$l;
$result = dolibarr_set_const($db, $sub, GETPOST($sub), 'chaine', 0, '', $conf->entity);
if (!$result > 0) {
if (!($result > 0)) {
$error++;
}
if (!$error) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1950,7 +1950,7 @@ if ($action == 'create') {
// 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 .= "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 .= " 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";
@ -1969,18 +1969,20 @@ if ($action == 'create') {
$objp = $db->fetch_object($resql);
$paymentexpensereportstatic->id = $objp->rowid;
$paymentexpensereportstatic->datepaye = $db->jdate($objp->dp);
$paymentexpensereportstatic->datep = $db->jdate($objp->dp);
$paymentexpensereportstatic->ref = $objp->rowid;
$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 '<td>';
print $paymentexpensereportstatic->getNomUrl(1);
print '</td>';
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";
// Bank account
if (!empty($conf->banque->enabled)) {
$bankaccountstatic->id = $objp->baid;
$bankaccountstatic->ref = $objp->baref;

View File

@ -137,14 +137,17 @@ class PaymentExpenseReport extends CommonObject
if (isset($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)) {
$this->fk_bank = trim($this->fk_bank);
$this->fk_bank = ((int) $this->fk_bank);
}
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)) {
$this->fk_user_modif = trim($this->fk_user_modif);
$this->fk_user_modif = ((int) $this->fk_user_modif);
}
$totalamount = 0;
@ -170,7 +173,7 @@ class PaymentExpenseReport extends CommonObject
$sql .= " '".$this->db->idate($this->datepaid)."',";
$sql .= " ".price2num($totalamount).",";
$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);
$resql = $this->db->query($sql);
@ -540,7 +543,7 @@ class PaymentExpenseReport extends CommonObject
);
// 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) {
$result = $this->update_fk_bank($bank_line_id);
if ($result <= 0) {
@ -585,6 +588,7 @@ class PaymentExpenseReport extends CommonObject
}
} else {
$this->error = $acc->error;
$this->errors = $acc->errors;
$error++;
}
}

View File

@ -75,6 +75,7 @@ if ($action == 'add_payment') {
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Date")), null, 'errors');
$error++;
}
if (!empty($conf->banque->enabled) && !($accountid > 0)) {
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AccountToDebit")), null, 'errors');
$error++;
@ -87,14 +88,16 @@ if ($action == 'add_payment') {
// Read possible payments
foreach ($_POST as $key => $value) {
if (substr($key, 0, 7) == 'amount_') {
$amounts[$expensereport->fk_user_author] = price2num(GETPOST($key));
$total += price2num(GETPOST($key));
if (GETPOST($key)) {
$amounts[$expensereport->fk_user_author] = price2num(GETPOST($key));
$total += price2num(GETPOST($key));
}
}
}
if (count($amounts) <= 0) {
$error++;
$errmsg = 'ErrorNoPaymentDefined';
setEventMessages('ErrorNoPaymentDefined', null, 'errors');
}
if (!$error) {
@ -109,6 +112,7 @@ if ($action == 'add_payment') {
$payment->fk_typepayment = GETPOST("fk_typepayment", 'int');
$payment->num_payment = GETPOST("num_payment", 'alphanothtml');
$payment->note_public = GETPOST("note_public", 'restricthtml');
$payment->fk_bank = $accountid;
if (!$error) {
$paymentid = $payment->create($user);
@ -120,7 +124,7 @@ if ($action == 'add_payment') {
if (!$error) {
$result = $payment->addPaymentToBank($user, 'payment_expensereport', '(ExpenseReportPayment)', $accountid, '', '');
if (!$result > 0) {
if ($result <= 0) {
setEventMessages($payment->error, $payment->errors, 'errors');
$error++;
}
@ -130,7 +134,7 @@ if ($action == 'add_payment') {
$payment->fetch($paymentid);
if ($expensereport->total_ttc - $payment->amount == 0) {
$result = $expensereport->setPaid($expensereport->id, $user);
if (!$result > 0) {
if (!($result > 0)) {
setEventMessages($payment->error, $payment->errors, 'errors');
$error++;
}
@ -202,7 +206,7 @@ if ($action == 'create' || empty($action)) {
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>'.$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 .= " 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;
$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 class="tdtop">'.$langs->trans("RemainderToPay").'</td><td>'.price($total - $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><span class="amount">'.price($total - $sumpaid, 0, $langs, 1, -1, -1, $conf->currency).'</span></td></tr>';
print '</table>';
@ -223,6 +227,8 @@ if ($action == 'create' || empty($action)) {
print dol_get_fiche_end();
print '<br>';
print dol_get_fiche_head();
print '<table class="border centpercent">'."\n";
@ -243,7 +249,8 @@ if ($action == 'create' || empty($action)) {
print '<tr>';
print '<td class="fieldrequired">'.$langs->trans('AccountToDebit').'</td>';
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>';
}
@ -277,7 +284,7 @@ if ($action == 'create' || empty($action)) {
print '<td class="center">'.$langs->trans("Amount").'</td>';
print "</tr>\n";
$total = 0;
$total_ttc = 0;
$totalrecu = 0;
while ($i < $num) {
@ -298,7 +305,7 @@ if ($action == 'create' || empty($action)) {
}
$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="text" size="8" name="'.$namef.'" id="'.$namef.'">';
print '<input type="text" class="width75" name="'.$namef.'" id="'.$namef.'" value="'.GETPOST($namef).'">';
} else {
print '-';
}
@ -306,9 +313,8 @@ if ($action == 'create' || empty($action)) {
print "</tr>\n";
$total += $objp->total;
$total_ttc += $objp->total_ttc;
$totalrecu += $objp->am;
$totalrecu += $sumpaid;
$i++;
}
if ($i > 1) {

View File

@ -7,7 +7,7 @@
* Copyright (C) 2014 Juanjo Menent <jmenent@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-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) 2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
*
@ -1535,6 +1535,7 @@ if ($resql) {
$totalarray = array('nbfield' => 0, 'val' => array(), 'pos' => array());
$totalarray['val']['cf.total_ht'] = 0;
$totalarray['val']['cf.total_ttc'] = 0;
$totalarray['val']['cf.total_tva'] = 0;
$imaxinloop = ($limit ? min($num, $limit) : $num);
while ($i < $imaxinloop) {

View File

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

View File

@ -199,7 +199,7 @@ if (empty($reshook)) {
if ($result <= 0) {
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]) {
// Check amount
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 '</tr>';
if (!$num > 0) {
print '<tr><td colspan="7">'.$langs->trans("NoInvoice").'</td></tr>';
if ($num <= 0) {
print '<tr><td colspan="7"><span class="opacitymedium">'.$langs->trans("NoInvoice").'</span></td></tr>';
}
$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';
$result = $ecmdir->fetch(GETPOST("section", 'int'));
if (!$result > 0) {
if (!($result > 0)) {
dol_print_error($db, $ecmdir->error);
exit;
}

View File

@ -1,5 +1,5 @@
<?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) 2013 Marcos García <marcosgdf@gmail.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
if ($action == 'update' && GETPOSTISSET('update_cp')) {
$error = 0;
$nbok = 0;
$typeleaves = $holiday->getTypes(1, 1);
$userID = array_keys(GETPOST('update_cp'));
$userID = $userID[0];
$db->begin();
foreach ($typeleaves as $key => $val) {
$userValue = GETPOST('nb_holiday_'.$val['rowid']);
$userValue = $userValue[$userID];
@ -150,20 +153,26 @@ if (empty($reshook)) {
$note_holiday = GETPOST('note_holiday');
$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 != '') {
// 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']);
if ($result < 0) {
setEventMessages($holiday->error, $holiday->errors, 'errors');
$error++;
} elseif ($result == 0) {
setEventMessages($langs->trans("HolidayQtyNotModified", $user->login), null, 'warnings');
}
// Update of the days of the employee
$result = $holiday->updateSoldeCP($userID, $userValue, $val['rowid']);
if ($result < 0) {
setEventMessages($holiday->error, $holiday->errors, 'errors');
$error++;
if ($result > 0) {
$nbok++;
$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
@ -179,7 +188,13 @@ if (empty($reshook)) {
}
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
$arrayfields = array(
'cpl.rowid'=>array('label'=>$langs->trans("ID"), 'checked'=>1),
'cpl.date_action'=>array('label'=>$langs->trans("Date"), 'checked'=>1),
'cpl.fk_user_action'=>array('label'=>$langs->trans("ActionByCP"), 'checked'=>1),
'cpl.fk_user_update'=>array('label'=>$langs->trans("UserUpdateCP"), 'checked'=>1),
'cpl.type_action'=>array('label'=>$langs->trans("Description"), 'checked'=>1),
'cpl.fk_type'=>array('label'=>$langs->trans("Type"), 'checked'=>1),
'cpl.prev_solde'=>array('label'=>$langs->trans("PrevSoldeCP"), 'checked'=>1),
'variation'=>array('label'=>$langs->trans("Variation"), 'checked'=>1),
'cpl.new_solde'=>array('label'=>$langs->trans("NewSoldeCP"), 'checked'=>1),
'cpl.rowid'=>array('label'=>"ID", 'checked'=>1),
'cpl.date_action'=>array('label'=>"Date", 'checked'=>1),
'cpl.fk_user_action'=>array('label'=>"ActionByCP", 'checked'=>1),
'cpl.fk_user_update'=>array('label'=>"UserUpdateCP", 'checked'=>1),
'cpl.type_action'=>array('label'=>"Description", 'checked'=>1),
'cpl.fk_type'=>array('label'=>"Type", 'checked'=>1),
'cpl.prev_solde'=>array('label'=>"PrevSoldeCP", 'checked'=>1),
'variation'=>array('label'=>"Variation", 'checked'=>1),
'cpl.new_solde'=>array('label'=>"NewSoldeCP", 'checked'=>1),
);
@ -403,7 +403,7 @@ print '</tr>';
print '<tr class="liste_titre">';
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'])) {
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
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
if (!empty($arrayfields['cpl.fk_type']['checked'])) {
$label = '';
if (!empty($alltypeleaves[$holidaylogstatic->type])) {
if ($alltypeleaves[$holidaylogstatic->type]['code'] && $langs->trans($alltypeleaves[$holidaylogstatic->type]['code']) != $alltypeleaves[$holidaylogstatic->type]['code']) {
$label = $langs->trans($alltypeleaves[$holidaylogstatic->type]['code']);
@ -510,8 +511,13 @@ while ($i < min($num, $limit)) {
// Variation
if (!empty($arrayfields['variation']['checked'])) {
$delta = price2num($holidaylogstatic->balance_new - $holidaylogstatic->balance_previous, 5);
$detasign = ($delta > 0 ? '+' : '');
print '<td style="text-align: right;">'.$detasign.$delta.'</td>';
print '<td style="text-align: right;">';
if ($delta > 0) {
print '<span class="stockmovemententry fontsizeunset">+'.$delta.'</span>';
} else {
print '<span class="stockmovementexit fontsizeunset">'.$delta.'</span>';
}
print '</td>';
}
// New Balance

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

View File

@ -13,9 +13,11 @@
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
--
-- ========================================================================
-- 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
(

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 '<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 '<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 '</table>';

View File

@ -99,13 +99,12 @@ if (!$sortorder) {
$search_all = GETPOST('search_all', 'alphanohtml');
$search = array();
foreach ($object->fields as $key => $val) {
if (GETPOST('search_'.$key, 'alpha') !== '') {
if ($key == "lang") {
$search[$key] = GETPOST('search_'.$key, 'alpha')!='0' ? GETPOST('search_'.$key, 'alpha') : '';
} else {
$search[$key] = GETPOST('search_'.$key, 'alpha');
}
if ($key == "lang") {
$search[$key] = GETPOST('search_'.$key, 'alpha')!='0' ? GETPOST('search_'.$key, 'alpha') : '';
} else {
$search[$key] = GETPOST('search_'.$key, 'alpha');
}
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.'_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
MvtNotCorrectlyBalanced=Movement not correctly balanced. Debit = %s | Credit = %s
Selectformat=حدد حجم الملف
ACCOUNTING_EXPORT_FORMAT=حدد حجم الملف
BackToChartofaccounts=مخطط إرجاع الحسابات
CountriesNotInEEC=بلدان غير أعضاء في المجموعة اﻹقتصادية أﻷوروبية

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@ -16,7 +16,7 @@ AddThisArticle=إضافة هذا العنصر
RestartSelling=التراجع عن بيع
SellFinished=اكتمل البيع
PrintTicket=طباعة التذكرة
SendTicket=Send ticket
SendTicket=أرسل التذكرة
NoProductFound=لم يتم العثور على عناصر
ProductFound=تم العثور على المنتج
NoArticle=لا يوجد عناصر
@ -31,106 +31,109 @@ ShowCompany=عرض الشركة
ShowStock=عرض المستودع
DeleteArticle=انقر لإزالة هذا العنصر
FilterRefOrLabelOrBC=بحث (المرجع / الملصق)
UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that uses POS needs to have permission to edit stock.
UserNeedPermissionToEditStockToUsePos=أنت تطلب تقليل المخزون عند إنشاء الفاتورة ، لذلك يحتاج المستخدم الذي يستخدم نقاط البيع إلى الحصول على إذن لتحرير المخزون.
DolibarrReceiptPrinter=طابعة إيصال دوليبار
PointOfSale=Point of Sale
PointOfSaleShort=POS
CloseBill=Close Bill
Floors=Floors
Floor=Floor
AddTable=Add table
Place=Place
TakeposConnectorNecesary='TakePOS Connector' required
OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen)
NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser
SearchProduct=Search product
PointOfSale=نقطة البيع
PointOfSaleShort=نقاط البيع
CloseBill=أغلق بيل
Floors=طوابق
Floor=أرضية
AddTable=أضف الجدول
Place=مكان
TakeposConnectorNecesary=مطلوب "موصل TakePOS"
OrderPrinters=أضف زرًا لإرسال الطلب إلى بعض الطابعات المحددة ، دون دفع (على سبيل المثال لإرسال طلب إلى مطبخ)
NotAvailableWithBrowserPrinter=غير متاح عندما تكون الطابعة للإيصال مضبوطة على المتصفح
SearchProduct=البحث عن المنتج
Receipt=ورود
Header=Header
Footer=Footer
AmountAtEndOfPeriod=Amount at end of period (day, month or year)
TheoricalAmount=Theorical amount
RealAmount=Real amount
CashFence=Cash desk closing
CashFenceDone=Cash desk closing done for the period
Header=رأس
Footer=تذييل
AmountAtEndOfPeriod=المبلغ في نهاية الفترة (اليوم أو الشهر أو السنة)
TheoricalAmount=المبلغ النظري
RealAmount=المبلغ الحقيقي
CashFence=إغلاق صندوق النقد
CashFenceDone=تم إغلاق الصندوق النقدي للفترة
NbOfInvoices=ملاحظة : من الفواتير
Paymentnumpad=Type of Pad to enter payment
Numberspad=Numbers Pad
BillsCoinsPad=Coins and banknotes Pad
DolistorePosCategory=TakePOS modules and other POS solutions for Dolibarr
TakeposNeedsCategories=TakePOS needs at least one product categorie to work
TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category <b>%s</b> to work
OrderNotes=Can add some notes to each ordered items
CashDeskBankAccountFor=Default account to use for payments in
NoPaimementModesDefined=No paiment mode defined in TakePOS configuration
TicketVatGrouped=Group VAT by rate in tickets|receipts
AutoPrintTickets=Automatically print tickets|receipts
PrintCustomerOnReceipts=Print customer on tickets|receipts
EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant
ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ?
ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ?
Paymentnumpad=نوع الوسادة للدفع
Numberspad=لوحة الأرقام
BillsCoinsPad=وسادة عملات وأوراق نقدية
DolistorePosCategory=وحدات TakePOS وحلول نقاط البيع الأخرى لـ Dolibarr
TakeposNeedsCategories=يحتاج TakePOS إلى فئة منتج واحدة على الأقل للعمل
TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=يحتاج TakePOS إلى فئة منتج واحدة على الأقل ضمن الفئة <b> %s </b> للعمل
OrderNotes=يمكن إضافة بعض الملاحظات على كل العناصر المطلوبة
CashDeskBankAccountFor=الحساب الافتراضي لاستخدامه في عمليات الدفع
NoPaimementModesDefined=لم يتم تحديد وضع paiment في تكوين TakePOS
TicketVatGrouped=تجميع ضريبة القيمة المضافة حسب معدل التذاكر | الإيصالات
AutoPrintTickets=طباعة التذاكر | الإيصالات تلقائيًا
PrintCustomerOnReceipts=طباعة العميل على التذاكر | الإيصالات
EnableBarOrRestaurantFeatures=تمكين ميزات للبار أو المطعم
ConfirmDeletionOfThisPOSSale=هل تؤكد حذف هذا البيع الحالي؟
ConfirmDiscardOfThisPOSSale=هل تريد تجاهل هذا البيع الحالي؟
History=التاريخ
ValidateAndClose=Validate and close
Terminal=Terminal
NumberOfTerminals=Number of Terminals
TerminalSelect=Select terminal you want to use:
POSTicket=POS Ticket
POSTerminal=POS Terminal
POSModule=POS Module
BasicPhoneLayout=Use basic layout for phones
SetupOfTerminalNotComplete=Setup of terminal %s is not complete
DirectPayment=Direct payment
DirectPaymentButton=Add a "Direct cash payment" button
InvoiceIsAlreadyValidated=Invoice is already validated
NoLinesToBill=No lines to bill
CustomReceipt=Custom Receipt
ReceiptName=Receipt Name
ProductSupplements=Manage supplements of products
SupplementCategory=Supplement category
ColorTheme=Color theme
Colorful=Colorful
HeadBar=Head Bar
SortProductField=Field for sorting products
ValidateAndClose=التحقق من صحة وإغلاق
Terminal=صالة
NumberOfTerminals=عدد المحطات
TerminalSelect=حدد المحطة التي تريد استخدامها:
POSTicket=تذكرة نقاط البيع
POSTerminal=محطة نقاط البيع
POSModule=وحدة نقاط البيع
BasicPhoneLayout=استخدم التخطيط الأساسي للهواتف
SetupOfTerminalNotComplete=لم يكتمل إعداد الجهاز %s
DirectPayment=دفع مباشر
DirectPaymentButton=أضف زر "دفع نقدي مباشر"
InvoiceIsAlreadyValidated=تم التحقق من صحة الفاتورة بالفعل
NoLinesToBill=لا خطوط للفوترة
CustomReceipt=إيصال مخصص
ReceiptName=اسم الإيصال
ProductSupplements=إدارة مكملات المنتجات
SupplementCategory=فئة الملحق
ColorTheme=موضوع اللون
Colorful=زاهى الألوان
HeadBar=رئيس بار
SortProductField=مجال لفرز المنتجات
Browser=المتصفح
BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser.
TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud.
PrintMethod=Print method
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).
ByTerminal=By terminal
TakeposNumpadUsePaymentIcon=Use icon instead of text on payment buttons of numpad
CashDeskRefNumberingModules=Numbering module for POS sales
CashDeskGenericMaskCodes6 = <br><b>{TN}</b> tag is used to add the terminal number
TakeposGroupSameProduct=Group same products lines
StartAParallelSale=Start a new parallel sale
SaleStartedAt=Sale started at %s
ControlCashOpening=Open the "Control cash" popup when opening the POS
CloseCashFence=Close cash desk control
CashReport=Cash report
MainPrinterToUse=Main printer to use
OrderPrinterToUse=Order printer to use
MainTemplateToUse=Main template to use
OrderTemplateToUse=Order template to use
BarRestaurant=Bar Restaurant
AutoOrder=Order by the customer himself
RestaurantMenu=Menu
CustomerMenu=Customer menu
ScanToMenu=Scan QR code to see the menu
ScanToOrder=Scan QR code to order
Appearance=Appearance
HideCategoryImages=Hide Category Images
HideProductImages=Hide Product Images
NumberOfLinesToShow=Number of lines of images to show
DefineTablePlan=Define tables plan
GiftReceiptButton=Add a "Gift receipt" button
GiftReceipt=Gift receipt
ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first
AllowDelayedPayment=Allow delayed payment
PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts
WeighingScale=Weighing scale
ShowPriceHT = Display the column with the price excluding tax (on screen)
ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt)
CustomerDisplay=Customer display
SplitSale=Split sale
PrintWithoutDetailsButton=Add "Print without details" button
PrintWithoutDetailsLabelDefault=Line label by default on printing without details
PrintWithoutDetails=Print without details
YearNotDefined=Year is not defined
BrowserMethodDescription=طباعة إيصالات بسيطة وسهلة. فقط عدد قليل من المعلمات لتكوين الإيصال. اطبع عبر المتصفح.
TakeposConnectorMethodDescription=وحدة خارجية مع ميزات إضافية. إمكانية الطباعة من السحابة.
PrintMethod=طريقة الطباعة
ReceiptPrinterMethodDescription=طريقة قوية مع الكثير من المعلمات. قابل للتخصيص بالكامل مع القوالب. لا يمكن أن يكون الخادم الذي يستضيف التطبيق في السحابة (يجب أن يكون قادرًا على الوصول إلى الطابعات في شبكتك).
ByTerminal=عن طريق المحطة
TakeposNumpadUsePaymentIcon=استخدم الرمز بدلاً من النص الموجود على أزرار الدفع الخاصة بلوحة الأرقام
CashDeskRefNumberingModules=وحدة الترقيم لمبيعات نقاط البيع
CashDeskGenericMaskCodes6 = <br> <b> {TN} تُستخدم علامة </b> لإضافة رقم المحطة
TakeposGroupSameProduct=تجميع نفس خطوط المنتجات
StartAParallelSale=ابدأ بيعًا موازيًا جديدًا
SaleStartedAt=بدأ البيع في %s
ControlCashOpening=افتح النافذة المنبثقة "Control cash box" عند فتح POS
CloseCashFence=إغلاق التحكم في صندوق النقد
CashReport=تقرير النقدية
MainPrinterToUse=الطابعة الرئيسية لاستخدامها
OrderPrinterToUse=طلب الطابعة لاستخدامها
MainTemplateToUse=النموذج الرئيسي المراد استخدامه
OrderTemplateToUse=طلب نموذج للاستخدام
BarRestaurant=مطعم بار
AutoOrder=طلب من قبل الزبون نفسه
RestaurantMenu=قائمة الطعام
CustomerMenu=قائمة العملاء
ScanToMenu=امسح رمز الاستجابة السريعة لرؤية القائمة
ScanToOrder=امسح رمز الاستجابة السريعة للطلب
Appearance=مظهر
HideCategoryImages=إخفاء صور الفئة
HideProductImages=إخفاء صور المنتج
NumberOfLinesToShow=عدد سطور الصور المراد عرضها
DefineTablePlan=تحديد خطة الجداول
GiftReceiptButton=أضف زر "إيصال الهدية"
GiftReceipt=استلام هدية
ModuleReceiptPrinterMustBeEnabled=يجب تمكين طابعة استلام الوحدة أولاً
AllowDelayedPayment=السماح بالدفع المتأخر
PrintPaymentMethodOnReceipts=طباعة طريقة الدفع على التذاكر | الإيصالات
WeighingScale=جهاز قياس الوزن
ShowPriceHT = عرض العمود بالسعر غير شامل الضريبة (على الشاشة)
ShowPriceHTOnReceipt = اعرض العمود بالسعر غير شامل الضريبة (على الإيصال)
CustomerDisplay=عرض العملاء
SplitSale=بيع سبليت
PrintWithoutDetailsButton=أضف زر "طباعة بدون تفاصيل"
PrintWithoutDetailsLabelDefault=تسمية الخط بشكل افتراضي عند الطباعة بدون تفاصيل
PrintWithoutDetails=اطبع بدون تفاصيل
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 موجود بالفعل. اختر واحد اخر.
ErrorSetACountryFirst=اضبط البلد أولاً
SelectThirdParty=حدد طرفًا ثالثًا
ConfirmDeleteCompany=Are you sure you want to delete this company and all related information?
ConfirmDeleteCompany=هل أنت متأكد أنك تريد حذف هذه الشركة وجميع المعلومات ذات الصلة؟
DeleteContact=حذف جهة اتصال | عنوان
ConfirmDeleteContact=Are you sure you want to delete this contact and all related information?
ConfirmDeleteContact=هل أنت متأكد أنك تريد حذف جهة الاتصال هذه وجميع المعلومات ذات الصلة؟
MenuNewThirdParty=طرف ثالث جديد
MenuNewCustomer=عميل جديد
MenuNewProspect=فرصة جديدة
@ -19,7 +19,7 @@ ProspectionArea=منطقة الفرص
IdThirdParty=معرف الطرف الثالث
IdCompany=معرف الشركة
IdContact=معرف جهة الاتصال
ThirdPartyAddress=Third-party address
ThirdPartyAddress=عنوان الطرف الثالث
ThirdPartyContacts=جهات اتصال الطرف الثالث
ThirdPartyContact=جهة اتصال | عنوان الطرف الثالث
Company=شركة
@ -52,27 +52,28 @@ CivilityCode=قواعد السلوك
RegisteredOffice=مكتب مسجل
Lastname=اللقب
Firstname=الاسم الاول
RefEmployee=Employee reference
NationalRegistrationNumber=National registration number
RefEmployee=مرجع الموظف
NationalRegistrationNumber=رقم التسجيل الوطني
PostOrFunction=الوظيفه
UserTitle=العنوان
NatureOfThirdParty=طبيعة الطرف الثالث
NatureOfContact=طبيعة الاتصال
Address=عنوان
State=الولاية / المقاطعة
StateId=معرف الدولة
StateCode=رمز الولاية / المقاطعة
StateShort=الولاية
Region=المنطقة
Region-State=المنطقة - الولاية
Country=الدولة
CountryCode=رمز البلد
CountryId=معرف البلد
CountryId=معرف الدولة
Phone=الهاتف
PhoneShort=الهاتف
Skype=سكايب
Call=مكالمة
Chat=دردشة
PhonePro=Bus. phone
PhonePro=أوتوبيس. هاتف
PhonePerso=الهاتف الشخصي
PhoneMobile=الجوال
No_Email=رفض الرسائل الإلكترونية الجماعية
@ -81,9 +82,9 @@ Zip=الرمز البريدي
Town=مدينة
Web=الويب
Poste= المنصب
DefaultLang=Default language
DefaultLang=اللغة الافتراضية
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=لا تطبق ضريبة المبيعات
CopyAddressFromSoc=نسخ العنوان من تفاصيل الطرف الثالث
ThirdpartyNotCustomerNotSupplierSoNoRef=لا عميل ولا مورد، ولا توجد كائنات مرجعية متاحة
@ -105,7 +106,7 @@ WrongSupplierCode=كود المورد غير صالح
CustomerCodeModel=العميل رمز النموذج
SupplierCodeModel=نموذج كود المورد
Gencod=الباركود
GencodBuyPrice=Barcode of price ref
GencodBuyPrice=الباركود السعر المرجع
##### Professional ID #####
ProfId1Short=هوية مهنية 1
ProfId2Short=هوية مهنية 2
@ -161,16 +162,16 @@ ProfId3CL=-
ProfId4CL=-
ProfId5CL=-
ProfId6CL=-
ProfId1CM=Id. prof. 1 (Trade Register)
ProfId2CM=Id. prof. 2 (Taxpayer No.)
ProfId3CM=Id. prof. 3 (Decree of creation)
ProfId4CM=Id. prof. 4 (Certificate of deposits)
ProfId5CM=Id. prof. 5 (Others)
ProfId1CM=هوية شخصية. الأستاذ. 1 (السجل التجاري)
ProfId2CM=هوية شخصية. الأستاذ. 2 (رقم دافع الضرائب)
ProfId3CM=هوية شخصية. الأستاذ. 3 (رقم مرسوم الانشاء)
ProfId4CM=هوية شخصية. الأستاذ. 4 (رقم شهادة الإيداع)
ProfId5CM=هوية شخصية. الأستاذ. 5 (أخرى)
ProfId6CM=-
ProfId1ShortCM=Trade Register
ProfId2ShortCM=Taxpayer No.
ProfId3ShortCM=Decree of creation
ProfId4ShortCM=Certificate of deposits
ProfId1ShortCM=السجل التجاري
ProfId2ShortCM=رقم دافع الضرائب
ProfId3ShortCM=رقم مرسوم الانشاء
ProfId4ShortCM=شهادة الايداع رقم
ProfId5ShortCM=آخرون
ProfId6ShortCM=-
ProfId1CO=الهوية المهنية 1 (R.U.T.)
@ -189,17 +190,17 @@ ProfId1ES=الهوية المهنية 1 (CIF / NIF)
ProfId2ES=الهوية المهنية 2 (رقم الضمان الاجتماعي)
ProfId3ES=الهوية المهنية 3 (CNAE)
ProfId4ES=(عدد الجماعية)
ProfId5ES=Prof Id 5 (EORI number)
ProfId5ES=معرف الأستاذ 5 (رقم EORI)
ProfId6ES=-
ProfId1FR=الأستاذ عيد 1 (صفارة إنذار)
ProfId2FR=الأستاذ عيد 2 (SIRET)
ProfId3FR=الأستاذ عيد 3 (NAF ، البالغ من العمر قرد)
ProfId4FR=الأستاذ عيد 4 (نظام المنسقين المقيمين / لجمهورية مقدونيا)
ProfId5FR=Prof Id 5 (numéro EORI)
ProfId5FR=معرف الأستاذ 5 (رقم EORI)
ProfId6FR=-
ProfId1ShortFR=SIREN
ProfId2ShortFR=SIRET
ProfId3ShortFR=NAF
ProfId1ShortFR=صفارة إنذار
ProfId2ShortFR=سيريت
ProfId3ShortFR=ناف
ProfId4ShortFR=RCS
ProfId5ShortFR=EORI
ProfId6ShortFR=-
@ -255,7 +256,7 @@ ProfId1PT=الأستاذ عيد 1 (NIPC)
ProfId2PT=الأستاذ عيد 2 (رقم الضمان الاجتماعي)
ProfId3PT=الأستاذ عيد 3 (رقم السجل التجاري)
ProfId4PT=الأستاذ عيد 4 (يضم)
ProfId5PT=Prof Id 5 (EORI number)
ProfId5PT=معرف الأستاذ 5 (رقم EORI)
ProfId6PT=-
ProfId1SN=RC
ProfId2SN=NINEA
@ -279,7 +280,7 @@ ProfId1RO=Prof Id 1 (CUI)
ProfId2RO=Prof Id 2 (Nr. Înmatriculare)
ProfId3RO=Prof Id 3 (CAEN)
ProfId4RO=Prof Id 5 (EUID)
ProfId5RO=Prof Id 5 (EORI number)
ProfId5RO=معرف الأستاذ 5 (رقم EORI)
ProfId6RO=-
ProfId1RU=الأستاذ رقم 1 (OGRN)
ProfId2RU=الأستاذ رقم 2 (INN)
@ -287,12 +288,12 @@ ProfId3RU=Prof Id 3 (KPP)
ProfId4RU=Prof Id 4 (OKPO)
ProfId5RU=-
ProfId6RU=-
ProfId1UA=Prof Id 1 (EDRPOU)
ProfId2UA=Prof Id 2 (DRFO)
ProfId3UA=Prof Id 3 (INN)
ProfId4UA=Prof Id 4 (Certificate)
ProfId5UA=Prof Id 5 (RNOKPP)
ProfId6UA=Prof Id 6 (TRDPAU)
ProfId1UA=معرف الأستاذ 1 (EDRPOU)
ProfId2UA=معرف الأستاذ 2 (DRFO)
ProfId3UA=معرف الأستاذ 3 (INN)
ProfId4UA=معرف الأستاذ 4 (شهادة)
ProfId5UA=معرف الأستاذ 5 (RNOKPP)
ProfId6UA=معرف الأستاذ 6 (TRDPAU)
ProfId1DZ=RC
ProfId2DZ=Art.
ProfId3DZ=NIF
@ -353,7 +354,7 @@ CustomerCodeDesc=كود العميل فريد لجميع العملاء
SupplierCodeDesc=كود المورد ، فريد لجميع الموردين
RequiredIfCustomer=مطلوب ، إذا كان الطرف الثالث عميلاً أو فرصة
RequiredIfSupplier=مطلوب إذا كان الطرف الثالث موردا
ValidityControledByModule=Validity controlled by the module
ValidityControledByModule=يتم التحكم في الصلاحية بواسطة الوحدة
ThisIsModuleRules=قواعد هذه الوحدة
ProspectToContact=فرصة للاتصال
CompanyDeleted=تم حذف شركة "%s" من قاعدة البيانات.
@ -363,7 +364,7 @@ ListOfThirdParties=قائمة الأطراف الثالثة
ShowCompany=طرف ثالث
ShowContact=عنوان الإتصال
ContactsAllShort=الكل (بدون فلتر)
ContactType=Contact role
ContactType=دور الاتصال
ContactForOrders=جهة اتصال الامر
ContactForOrdersOrShipments=جهة اتصال الامر أو الشحنة
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.
VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do
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).
NorProspectNorCustomer=ليس فرصة، ولا عميل
JuridicalStatus=نوع الكيان التجاري
@ -461,12 +462,12 @@ ListSuppliersShort=قائمة الموردين
ListProspectsShort=قائمة الفرص
ListCustomersShort=قائمة العملاء
ThirdPartiesArea=الأطراف الثالثة | جهات الاتصال
LastModifiedThirdParties=Latest %s Third Parties which were modified
UniqueThirdParties=Total number of Third Parties
LastModifiedThirdParties=أحدث %s الأطراف الثالثة التي تم تعديلها
UniqueThirdParties=إجمالي عدد الأطراف الثالثة
InActivity=فتح
ActivityCeased=مغلق
ThirdPartyIsClosed=الطرف الثالث مغلق
ProductsIntoElements=List of products/services mapped to %s
ProductsIntoElements=قائمة المنتجات / الخدمات المعيّنة لـ %s
CurrentOutstandingBill=فاتورة مستحقة حاليا
OutstandingBill=الأعلى للفاتورة المستحقة
OutstandingBillReached=الأعلى لفاتورة مستحقة وصلت
@ -476,7 +477,7 @@ LeopardNumRefModelDesc=الكود مجاني. يمكن تعديل هذا الك
ManagingDirectors=اسم المدير (المديرون) (الرئيس التنفيذي ، المدير ، الرئيس)
MergeOriginThirdparty=طرف ثالث مكرر (الطرف الثالث الذي تريد حذفه)
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=تم دمج الأطراف الثالثة
SaleRepresentativeLogin=تسجيل دخول مندوب مبيعات
SaleRepresentativeFirstname=الاسم الأول لمندوب المبيعات

View File

@ -4,14 +4,15 @@
NoErrorCommitIsDone=أي خطأ، ونحن نلزم
# Errors
ErrorButCommitIsDone=تم العثور على أخطاء لكننا تحقق على الرغم من هذا
ErrorBadEMail=Email %s is incorrect
ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record)
ErrorBadUrl=Url %s is incorrect
ErrorBadEMail=البريد الإلكتروني %s غير صحيح
ErrorBadMXDomain=يبدو البريد الإلكتروني %s غير صحيح (المجال لا يحتوي على سجل MX صالح)
ErrorBadUrl=عنوان Url %s غير صحيح
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=ادخل ٪ ق موجود بالفعل.
ErrorGroupAlreadyExists=المجموعة ٪ ق موجود بالفعل.
ErrorEmailAlreadyExists=Email %s already exists.
ErrorEmailAlreadyExists=البريد الإلكتروني %s موجود بالفعل.
ErrorRecordNotFound=لم يتم العثور على السجل.
ErrorFailToCopyFile=فشل في نسخ الملف <b>'%s'</b> إلى <b>'%s</b> &quot;.
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=هذا الاتصال هو اتصال بالفعل تعريف لهذا النوع.
ErrorCashAccountAcceptsOnlyCashMoney=هذا الحساب المصرفي هو الحساب النقدي ، وذلك ما وافق على نوع من المدفوعات النقدية فقط.
ErrorFromToAccountsMustDiffers=المصدر والأهداف يجب أن تكون الحسابات المصرفية المختلفة.
ErrorBadThirdPartyName=Bad value for third-party name
ForbiddenBySetupRules=Forbidden by setup rules
ErrorBadThirdPartyName=قيمة سيئة لاسم الجهة الخارجية
ForbiddenBySetupRules=ممنوع بواسطة قواعد الإعداد
ErrorProdIdIsMandatory=و٪ s غير إلزامي
ErrorAccountancyCodeCustomerIsMandatory=The accountancy code of customer %s is mandatory
ErrorAccountancyCodeCustomerIsMandatory=كود المحاسبة الخاص بالعميل %s إلزامي
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=رمز العميل المطلوبة
ErrorBarCodeRequired=Barcode required
ErrorBarCodeRequired=الرمز الشريطي مطلوب
ErrorCustomerCodeAlreadyUsed=الشفرة المستخدمة بالفعل العملاء
ErrorBarCodeAlreadyUsed=Barcode already used
ErrorBarCodeAlreadyUsed=الباركود مستخدم بالفعل
ErrorPrefixRequired=المطلوب ببادئة
ErrorBadSupplierCodeSyntax=Bad syntax for vendor code
ErrorSupplierCodeRequired=Vendor code required
ErrorSupplierCodeAlreadyUsed=Vendor code already used
ErrorBadSupplierCodeSyntax=بناء جملة غير صالح لرمز البائع
ErrorSupplierCodeRequired=كود البائع مطلوب
ErrorSupplierCodeAlreadyUsed=كود البائع مستخدم بالفعل
ErrorBadParameters=بارامترات سيئة
ErrorWrongParameters=Wrong or missing parameters
ErrorWrongParameters=معلمات خاطئة أو مفقودة
ErrorBadValueForParameter=Wrong value '%s' for parameter '%s'
ErrorBadImageFormat=ملف الصورة لم تنسيق معتمد (PHP لديك لا يدعم وظائف لتحويل الصور من هذا الشكل)
ErrorBadDateFormat='%s' قيمة له خاطئ تنسيق التاريخ
ErrorWrongDate=تاريخ غير صحيح!
ErrorFailedToWriteInDir=لم يكتب في دليل ٪ ق
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.
ErrorFieldsRequired=Some required fields have been left blank.
ErrorSubjectIsRequired=The email subject is required
ErrorUserCannotBeDelete=لا يمكن حذف المستخدم. ربما يرتبط بكيانات Dolibarr.
ErrorFieldsRequired=تم ترك بعض الحقول المطلوبة فارغة.
ErrorSubjectIsRequired=موضوع البريد الإلكتروني مطلوب
ErrorFailedToCreateDir=فشل إنشاء دليل. تأكد من أن خادم الويب المستخدم أذونات لكتابة وثائق Dolibarr في الدليل. إذا تم تمكين المعلم <b>safe_mode</b> على هذا PHP ، تحقق من أن ملفات Dolibarr php تملك لخدمة الويب المستخدم (أو مجموعة).
ErrorNoMailDefinedForThisUser=البريد لا يعرف لهذا المستخدم
ErrorSetupOfEmailsNotComplete=Setup of emails is not complete
ErrorSetupOfEmailsNotComplete=لم يكتمل إعداد رسائل البريد الإلكتروني
ErrorFeatureNeedJavascript=هذه الميزة تحتاج إلى تفعيل جافا سكريبت في العمل. هذا التغيير في البنية -- عرض.
ErrorTopMenuMustHaveAParentWithId0=وهناك قائمة من نوع 'توب' لا يمكن أن يكون أحد الوالدين القائمة. 0 وضعت في القائمة أو الأم في اختيار قائمة من نوع 'اليسار'.
ErrorLeftMenuMustHaveAParentId=وهناك قائمة من نوع 'اليسار' يجب أن يكون لها هوية الوالد.
@ -62,74 +63,75 @@ ErrorDirNotFound=لم يتم العثور على دليل <b>%s</b> (مسار غ
ErrorFunctionNotAvailableInPHP=<b>ق ٪</b> وظيفة مطلوبة لهذه الميزة ولكن لا تتوافر في هذه النسخة / الإعداد للPHP.
ErrorDirAlreadyExists=دليل بهذا الاسم بالفعل.
ErrorFileAlreadyExists=ملف بهذا الاسم موجود مسبقا.
ErrorDestinationAlreadyExists=Another file with the name <b>%s</b> already exists.
ErrorDestinationAlreadyExists=ملف آخر يحمل الاسم <b> %s </b> موجود بالفعل.
ErrorPartialFile=الملف لم تتلق تماما بواسطة الخادم.
ErrorNoTmpDir=%s directy مؤقتة لا وجود.
ErrorUploadBlockedByAddon=حظر حمل من قبل البرنامج المساعد بى اباتشي /.
ErrorFileSizeTooLarge=حجم الملف كبير جدا.
ErrorFieldTooLong=Field %s is too long.
ErrorFileSizeTooLarge=حجم الملف كبير جدًا أو لم يتم توفير الملف.
ErrorFieldTooLong=الحقل %s طويل جدًا.
ErrorSizeTooLongForIntType=طويل جدا بالنسبة نوع INT (%s أرقام كحد أقصى) حجم
ErrorSizeTooLongForVarcharType=وقتا طويلا لنوع السلسلة (%s حرف كحد أقصى) حجم
ErrorNoValueForSelectType=يرجى ملء قيمة لقائمة مختارة
ErrorNoValueForCheckBoxType=يرجى ملء قيمة لقائمة مربع
ErrorNoValueForRadioType=يرجى ملء قيمة لقائمة الراديو
ErrorBadFormatValueList=قيمة القائمة لا يمكن أن يكون أكثر من واحد <u>فاصلة:٪ الصورة،</u> ولكن تحتاج إلى واحد على الأقل: مفتاح، قيمة
ErrorFieldCanNotContainSpecialCharacters=The field <b>%s</b> must not contains special characters.
ErrorFieldCanNotContainSpecialNorUpperCharacters=The field <b>%s</b> must not contain special characters, nor upper case characters and cannot contain only numbers.
ErrorFieldMustHaveXChar=The field <b>%s</b> must have at least %s characters.
ErrorFieldCanNotContainSpecialCharacters=يجب ألا يحتوي الحقل <b> %s </b> على أحرف خاصة.
ErrorFieldCanNotContainSpecialNorUpperCharacters=يجب ألا يحتوي الحقل <b> %s </b> على أحرف خاصة ولا أحرف كبيرة ولا يمكن أن يحتوي على أرقام فقط.
ErrorFieldMustHaveXChar=يجب أن يحتوي الحقل <b> %s </b> على أحرف %s على الأقل.
ErrorNoAccountancyModuleLoaded=أي وحدة المحاسبة وتفعيل
ErrorExportDuplicateProfil=هذا الاسم الشخصي موجود مسبقا لهذه المجموعة التصدير.
ErrorLDAPSetupNotComplete=Dolibarr - LDAP المطابقة وليس كاملا.
ErrorLDAPMakeManualTest=ألف. ldif الملف قد ولدت في الدليل ٪ s. انها محاولة لتحميل يدويا من سطر في الحصول على مزيد من المعلومات عن الأخطاء.
ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "status not started" if field "done by" is also filled.
ErrorRefAlreadyExists=Reference <b>%s</b> already exists.
ErrorPleaseTypeBankTransactionReportName=Please enter the bank statement name where the entry has to be reported (Format YYYYMM or YYYYMMDD)
ErrorRecordHasChildren=Failed to delete record since it has some child records.
ErrorRecordHasAtLeastOneChildOfType=Object %s has at least one child of type %s
ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into another object.
ErrorCantSaveADoneUserWithZeroPercentage=لا يمكن حفظ إجراء مع "الحالة لم تبدأ" إذا تم ملء الحقل "تم بواسطة" أيضًا.
ErrorRefAlreadyExists=المرجع <b> %s </b> موجود بالفعل.
ErrorPleaseTypeBankTransactionReportName=الرجاء إدخال اسم كشف الحساب المصرفي حيث يجب الإبلاغ عن الإدخال (التنسيق YYYYMM أو YYYYMMDD)
ErrorRecordHasChildren=فشل حذف السجل لأنه يحتوي على بعض السجلات التابعة.
ErrorRecordHasAtLeastOneChildOfType=يحتوي الكائن %s على عنصر فرعي واحد على الأقل من النوع %s
ErrorRecordIsUsedCantDelete=لا يمكن حذف السجل. تم استخدامه بالفعل أو تضمينه في كائن آخر.
ErrorModuleRequireJavascript=يجب عدم تعطيل جافا سكريبت لجعل هذا العمل الميزة. لتمكين / تعطيل جافا سكريبت ، انتقل إلى القائمة الرئيسية -> الإعداد -> العرض.
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.
ErrorWrongValueForField=Field <b>%s</b>: '<b>%s</b>' does not match regex rule <b>%s</b>
ErrorFieldValueNotIn=Field <b>%s</b>: '<b>%s</b>' is not a value found in field <b>%s</b> of <b>%s</b>
ErrorFieldRefNotIn=Field <b>%s</b>: '<b>%s</b>' is not a <b>%s</b> existing ref
ErrorsOnXLines=%s errors found
ErrorContactEMail=حدث خطأ تقني. من فضلك ، اتصل بالمسؤول إلى البريد الإلكتروني التالي <b> %s </b> وقدم رمز الخطأ <b> %s </b> في رسالتك ، أو أضف شاشة.
ErrorWrongValueForField=الحقل <b> %s </b>: '<b> %s </b>' لا يتطابق مع قاعدة regexz a0aeez08708f37439
ErrorHtmlInjectionForField=الحقل <b> %s </b>: تحتوي القيمة '<b> %s </b>' على بيانات ضارة غير مسموح بها
ErrorFieldValueNotIn=Field <b> %s </b> : ' <b> %s </b> ' is not a value found in field <b> %s </b> of <b> %s </b>
ErrorFieldRefNotIn=الحقل <b> %s </b>: '<b> %s </b>' ليس a0aee833658377fz039
ErrorsOnXLines=تم العثور على أخطاء %s
ErrorFileIsInfectedWithAVirus=وكان برنامج مكافحة الفيروسات غير قادرة على التحقق من صحة الملف (ملف قد يكون مصابا بواسطة فيروس)
ErrorSpecialCharNotAllowedForField=غير مسموح الأحرف الخاصة لحقل "%s"
ErrorNumRefModel=إشارة إلى وجود قاعدة بيانات (%s) ، وغير متوافق مع هذه القاعدة الترقيم. سجل إزالة أو إعادة تسميته اشارة الى تفعيل هذه الوحدة.
ErrorQtyTooLowForThisSupplier=Quantity too low for this vendor or no price defined on this product for this vendor
ErrorOrdersNotCreatedQtyTooLow=Some orders haven't been created because of too-low quantities
ErrorModuleSetupNotComplete=Setup of module %s looks to be uncomplete. Go on Home - Setup - Modules to complete.
ErrorQtyTooLowForThisSupplier=الكمية منخفضة جدًا لهذا البائع أو لم يتم تحديد سعر لهذا المنتج لهذا البائع
ErrorOrdersNotCreatedQtyTooLow=لم يتم إنشاء بعض الطلبات بسبب الكميات المنخفضة للغاية
ErrorModuleSetupNotComplete=يبدو أن إعداد الوحدة النمطية %s غير كامل. انتقل إلى الصفحة الرئيسية - الإعداد - الوحدات النمطية لإكمالها.
ErrorBadMask=خطأ في قناع
ErrorBadMaskFailedToLocatePosOfSequence=خطأ، من دون قناع رقم التسلسل
ErrorBadMaskBadRazMonth=خطأ، قيمة إعادة سيئة
ErrorMaxNumberReachForThisMask=Maximum number reached for this mask
ErrorMaxNumberReachForThisMask=تم الوصول إلى الحد الأقصى لعدد هذا القناع
ErrorCounterMustHaveMoreThan3Digits=يجب أن يكون العداد أكثر من 3 أرقام
ErrorSelectAtLeastOne=Error, select at least one entry.
ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transaction that is conciliated
ErrorSelectAtLeastOne=خطأ ، حدد إدخال واحد على الأقل.
ErrorDeleteNotPossibleLineIsConsolidated=الحذف غير ممكن لأن السجل مرتبط بمعاملة بنكية تمت تسويتها
ErrorProdIdAlreadyExist=يتم تعيين ثلث آخر إلى %s
ErrorFailedToSendPassword=لم ترسل كلمة السر
ErrorFailedToLoadRSSFile=فشل في الحصول على آر إس إس. محاولة إضافة MAIN_SIMPLEXMLLOAD_DEBUG ثابت إذا رسائل الخطأ لا توفر ما يكفي من المعلومات.
ErrorForbidden=تم الرفض. <br> محاولة الوصول إلى صفحة أو منطقة أو ميزة من وحدة نمطية تعطيل أو دون أن تكون في جلسة مصادقة أو الذي لا يسمح له المستخدم الخاص بك.
ErrorForbidden2=ويمكن تعريف إذن لهذا الدخول من قبل المسؤول Dolibarr الخاص بك من القائمة %s-> %s.
ErrorForbidden3=يبدو أن لا يتم استخدام Dolibarr خلال جلسة المصادقة. نلقي نظرة على وثائق الإعداد Dolibarr لمعرفة كيفية إدارة المصادقة (تاكيس، mod_auth أو غيرها ...).
ErrorForbidden4=Note: clear your browser cookies to destroy existing sessions for this login.
ErrorForbidden4=ملاحظة: امسح ملفات تعريف الارتباط في متصفحك لتدمير الجلسات الحالية لتسجيل الدخول هذا.
ErrorNoImagickReadimage=لم يتم العثور على فئة Imagick في هذا PHP. لا يمكن لمعاينة تكون متاحة. يمكن للمسؤولين تعطيل هذا التبويب من إعداد القائمة - عرض.
ErrorRecordAlreadyExists=سجل موجود بالفعل
ErrorLabelAlreadyExists=This label already exists
ErrorLabelAlreadyExists=هذه التسمية موجودة بالفعل
ErrorCantReadFile=فشل في قراءة الملف '%s'
ErrorCantReadDir=فشل في قراءة '%s' الدليل
ErrorBadLoginPassword=سيئة قيمة لتسجيل الدخول أو كلمة السر
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=فشل في تغيير كلمة السر
ErrorLoginDoesNotExists=لا يستطيع المستخدم الدخول مع <b>%s</b> يمكن العثور عليها.
ErrorLoginHasNoEmail=هذا المستخدم ليس لديه عنوان البريد الإلكتروني. إحباط عملية.
ErrorBadValueForCode=سيئة قيمة لرمز الحماية. حاول مرة أخرى مع القيمة الجديدة ...
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.
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>%%).
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.
ErrorFieldCantBeNegativeOnInvoice=لا يمكن أن يكون الحقل <strong> %s </strong> سالبًا في هذا النوع من الفاتورة. إذا كنت بحاجة إلى إضافة بند خصم ، فما عليك سوى إنشاء الخصم أولاً (من الحقل "%s" في بطاقة الطرف الثالث) وتطبيقه على الفاتورة.
ErrorLinesCantBeNegativeForOneVATRate=لا يمكن أن يكون إجمالي البنود (صافي الضريبة) سالبًا لمعدل ضريبة القيمة المضافة غير الفارغ (تم العثور على إجمالي سلبي لمعدل ضريبة القيمة المضافة <b> %s </b> %%).
ErrorLinesCantBeNegativeOnDeposits=لا يمكن أن تكون الأسطر سالبة في الإيداع. ستواجه مشاكل عندما تحتاج إلى استهلاك الإيداع في الفاتورة النهائية إذا قمت بذلك.
ErrorQtyForCustomerInvoiceCantBeNegative=كمية لخط في فواتير العملاء لا يمكن أن يكون سلبيا
ErrorWebServerUserHasNotPermission=<b>%s</b> تستخدم حساب مستخدم لتنفيذ خادم الويب لا يوجد لديه إذن لذلك
ErrorNoActivatedBarcode=لا يوجد نوع الباركود تفعيلها
@ -142,10 +144,10 @@ ErrorFailedToAddToMailmanList=فشل لاضافة التسجيلة٪ s إلى ق
ErrorFailedToRemoveToMailmanList=فشل لإزالة سجل٪ s إلى قائمة ميلمان٪ الصورة أو قاعدة SPIP
ErrorNewValueCantMatchOldValue=قيمة جديدة لا يمكن أن يكون مساويا لالقديم
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=فشل في إضافة جهة اتصال
ErrorDateMustBeBeforeToday=The date must be lower than today
ErrorDateMustBeInFuture=The date must be greater than today
ErrorDateMustBeBeforeToday=يجب أن يكون التاريخ أقل من اليوم
ErrorDateMustBeInFuture=يجب أن يكون التاريخ أكبر من اليوم
ErrorPaymentModeDefinedToWithoutSetup=وتم تشكيل لطريقة الدفع لكتابة٪ الصورة ولكن لم يكتمل الإعداد من وحدة الفاتورة لتحديد المعلومات لاظهار هذه طريقة الدفع.
ErrorPHPNeedModule=خطأ، يجب PHP الخاص بتثبيت <b>وحدة٪ s إلى</b> استخدام هذه الميزة.
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.
ErrorThereIsSomeDeliveries=خطأ، وهناك بعض الولادات ترتبط هذه الشحنة. رفض الحذف.
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=لا يمكن تعيين إلى ثابت '٪ ق'
ErrorPriceExpression2=لا يمكن إعادة تعريف المدمج في وظيفة '٪ ق'
ErrorPriceExpression3=متغير غير معرف '٪ s' في تعريف الدالة
@ -163,7 +165,7 @@ ErrorPriceExpression5=غير متوقع '٪ ق'
ErrorPriceExpression6=عدد خاطئ من الوسائط (٪ ق معين،٪ المتوقعة الصورة)
ErrorPriceExpression8=مشغل غير متوقع '٪ ق'
ErrorPriceExpression9=حدث خطأ غير متوقع
ErrorPriceExpression10=Operator '%s' lacks operand
ErrorPriceExpression10=عامل التشغيل "%s" يفتقر إلى المعامل
ErrorPriceExpression11=تتوقع '٪ ق'
ErrorPriceExpression14=القسمة على صفر
ErrorPriceExpression17=غير معرف متغير '٪ ق'
@ -171,12 +173,12 @@ ErrorPriceExpression19=التعبير لم يتم العثور على
ErrorPriceExpression20=التعبير فارغة
ErrorPriceExpression21=نتيجة فارغة '٪ ق'
ErrorPriceExpression22=نتيجة سلبية '٪ ق'
ErrorPriceExpression23=Unknown or non set variable '%s' in %s
ErrorPriceExpression24=Variable '%s' exists but has no value
ErrorPriceExpression23=متغير غير معروف أو غير محدد "%s" في %s
ErrorPriceExpression24=المتغير "%s" موجود ولكن ليس له قيمة
ErrorPriceExpressionInternal=خطأ داخلي '٪ ق'
ErrorPriceExpressionUnknown=خطأ غير معروف '٪ ق'
ErrorSrcAndTargetWarehouseMustDiffers=يجب المصدر والهدف يختلف المستودعات
ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without lot/serial information, on product '%s' requiring lot/serial information
ErrorTryToMakeMoveOnProductRequiringBatchData=خطأ ، أثناء محاولة إجراء حركة مخزون بدون معلومات المجموعة / التسلسل ، على المنتج "%s" الذي يتطلب معلومات المجموعة / التسلسل
ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=يجب أولا التحقق من جميع الاستقبالات سجلت (قبول او رفض) قبل أن يسمح لهم القيام بذلك العمل
ErrorCantSetReceptionToTotalDoneWithReceptionDenied=يجب أولا التحقق من جميع الاستقبالات سجلت (المعتمد) قبل أن يسمح لهم القيام بذلك العمل
ErrorGlobalVariableUpdater0=طلب HTTP فشلت مع الخطأ '٪ ق'
@ -187,14 +189,14 @@ ErrorGlobalVariableUpdater4=العميل SOAP فشلت مع الخطأ '٪ ق'
ErrorGlobalVariableUpdater5=لا متغير عمومي مختارة
ErrorFieldMustBeANumeric=يجب أن يكون <b>حقل٪ الصورة</b> قيمة رقمية
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
ErrorBadDefinitionOfMenuArrayInModuleDescriptor=سيئة تعريف القائمة صفيف في الوحدة واصف (القيمة سيئة لfk_menu مفتاح)
ErrorSavingChanges=An error has occurred when saving the changes
ErrorSavingChanges=حدث خطأ أثناء حفظ التغييرات
ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship
ErrorFileMustHaveFormat=File must have format %s
ErrorFilenameCantStartWithDot=Filename can't start with a '.'
ErrorSupplierCountryIsNotDefined=Country for this vendor is not defined. Correct this first.
ErrorFilenameCantStartWithDot=لا يمكن أن يبدأ اسم الملف بـ "."
ErrorSupplierCountryIsNotDefined=لم يتم تحديد البلد لهذا البائع. صحح هذا أولاً.
ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled.
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.
@ -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.
ErrorTaskAlreadyAssigned=Task already assigned to user
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>
ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s.
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.
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)
ErrorObjectMustHaveStatusDraftToBeValidated=Object %s must have status 'Draft' to be validated.
ErrorObjectMustHaveLinesToBeValidated=Object %s must have lines to be validated.
ErrorOnlyInvoiceValidatedCanBeSentInMassAction=Only validated invoices can be sent using the "Send by email" mass action.
ErrorChooseBetweenFreeEntryOrPredefinedProduct=You must choose if article is a predefined product or not
ErrorDiscountLargerThanRemainToPaySplitItBefore=The discount you try to apply is larger than remain to pay. Split the discount in 2 smaller discounts before.
ErrorFileNotFoundWithSharedLink=File was not found. May be the share key was modified or file was removed recently.
ErrorProductBarCodeAlreadyExists=The product barcode %s already exists on another product reference.
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.
ErrorDescRequiredForFreeProductLines=Description is mandatory for lines with free product
ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container <strong>%s</strong> has the same name or alternative alias that the one your try to use
ErrorDuringChartLoad=Error when loading chart of accounts. If few accounts were not loaded, you can still enter them manually.
ErrorBadSyntaxForParamKeyForContent=Bad syntax for param keyforcontent. Must have a value starting with %s or %s
ErrorVariableKeyForContentMustBeSet=Error, the constant with name %s (with text content to show) or %s (with external url to show) must be set.
ErrorURLMustEndWith=URL %s must end %s
ErrorURLMustStartWithHttp=URL %s must start with http:// or https://
ErrorHostMustNotStartWithHttp=Host name %s must NOT start with http:// or https://
ErrorNewRefIsAlreadyUsed=Error, the new reference is already used
ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked to a closed invoice is not possible.
ErrorSearchCriteriaTooSmall=Search criteria too small.
ErrorObjectMustHaveStatusActiveToBeDisabled=Objects must have status 'Active' to be disabled
ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objects must have status 'Draft' or 'Disabled' to be enabled
ErrorNoFieldWithAttributeShowoncombobox=No fields has property 'showoncombobox' into definition of object '%s'. No way to show the combolist.
ErrorFieldRequiredForProduct=Field '%s' is required for product %s
ProblemIsInSetupOfTerminal=Problem is in setup of terminal %s.
ErrorAddAtLeastOneLineFirst=Add at least one line first
ErrorRecordAlreadyInAccountingDeletionNotPossible=Error, record is already transferred in accounting, deletion is not possible.
ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Error, language is mandatory if you set the page as a translation of another one.
ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated page is same than this one.
ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s".
ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s".
ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded)
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 ?
ErrorReplaceStringEmpty=Error, the string to replace into is empty
ErrorProductNeedBatchNumber=Error, product '<b>%s</b>' need a lot/serial number
ErrorProductDoesNotNeedBatchNumber=Error, product '<b>%s</b>' does not accept a lot/serial number
ErrorFailedToReadObject=Error, failed to read object of type <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
ErrorLoginDateValidity=Error, this login is outside the validity date range
ErrorValueLength=Length of field '<b>%s</b>' must be higher than '<b>%s</b>'
ErrorReservedKeyword=The word '<b>%s</b>' is a reserved keyword
ErrorNotAvailableWithThisDistribution=Not available with this distribution
ErrorPublicInterfaceNotEnabled=Public interface was not enabled
ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page
ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page
ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation
ErrorDateIsInFuture=Error, the date can't be in the future
ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory
ErrorAPercentIsRequired=Error, please fill in the percentage correctly
ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account
ErrorFailedToFindEmailTemplate=Failed to find template with code name %s
ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price.
ErrorActionCommPropertyUserowneridNotDefined=User's owner is required
ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=لا يمكن التحقق من صحة الكتلة عند تعيين خيار زيادة / تقليل المخزون في هذا الإجراء (يجب التحقق من صحة واحدًا تلو الآخر حتى تتمكن من تحديد المستودع لزيادة / تقليل)
ErrorObjectMustHaveStatusDraftToBeValidated=يجب أن يكون للكائن %s الحالة "مسودة" ليتم التحقق من صحتها.
ErrorObjectMustHaveLinesToBeValidated=يجب أن يحتوي الكائن %s على سطور ليتم التحقق من صحتها.
ErrorOnlyInvoiceValidatedCanBeSentInMassAction=يمكن إرسال الفواتير التي تم التحقق من صحتها فقط باستخدام الإجراء الجماعي "إرسال عبر البريد الإلكتروني".
ErrorChooseBetweenFreeEntryOrPredefinedProduct=يجب أن تختار ما إذا كانت المقالة عبارة عن منتج محدد مسبقًا أم لا
ErrorDiscountLargerThanRemainToPaySplitItBefore=الخصم الذي تحاول تطبيقه أكبر من المبلغ المتبقي لدفعه. قسّم الخصم إلى خصمين أصغر من قبل.
ErrorFileNotFoundWithSharedLink=لم يتم العثور على الملف. قد يكون مفتاح المشاركة قد تم تعديله أو تمت إزالة الملف مؤخرًا.
ErrorProductBarCodeAlreadyExists=الرمز الشريطي للمنتج %s موجود بالفعل في مرجع منتج آخر.
ErrorNoteAlsoThatSubProductCantBeFollowedByLot=لاحظ أيضًا أن استخدام المجموعات لزيادة / تقليل المنتجات الفرعية تلقائيًا غير ممكن عندما يحتاج منتج فرعي واحد على الأقل (أو منتج فرعي من المنتجات الفرعية) إلى رقم تسلسلي / دفعة.
ErrorDescRequiredForFreeProductLines=الوصف إلزامي للخطوط التي تحتوي على منتج مجاني
ErrorAPageWithThisNameOrAliasAlreadyExists=الصفحة / الحاوية <strong> %s </strong> لها نفس الاسم أو الاسم المستعار البديل الذي تحاول استخدامه
ErrorDuringChartLoad=خطأ عند تحميل مخطط الحسابات. إذا لم يتم تحميل عدد قليل من الحسابات ، فلا يزال بإمكانك إدخالها يدويًا.
ErrorBadSyntaxForParamKeyForContent=بناء جملة غير صحيح لـ param keyforcontent. يجب أن تبدأ القيمة بـ %s أو %s
ErrorVariableKeyForContentMustBeSet=خطأ ، يجب تعيين الثابت الذي يحمل الاسم %s (مع محتوى نصي لإظهاره) أو %s (مع عنوان url خارجي لإظهاره).
ErrorURLMustEndWith=يجب أن ينتهي عنوان URL %s بـ %s
ErrorURLMustStartWithHttp=يجب أن يبدأ عنوان URL %s بـ http: // أو https: //
ErrorHostMustNotStartWithHttp=يجب ألا يبدأ اسم المضيف %s بـ http: // أو https: //
ErrorNewRefIsAlreadyUsed=خطأ ، المرجع الجديد مستخدم بالفعل
ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=خطأ ، لا يمكن حذف الدفعة المرتبطة بفاتورة مغلقة.
ErrorSearchCriteriaTooSmall=معايير البحث صغيرة جدًا.
ErrorObjectMustHaveStatusActiveToBeDisabled=يجب أن تكون الكائنات بحالة "نشطة" ليتم تعطيلها
ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=يجب أن تكون الكائنات بحالة "مسودة" أو "معطلة" ليتم تمكينها
ErrorNoFieldWithAttributeShowoncombobox=لا توجد حقول لها الخاصية "showoncombobox" في تعريف الكائن "%s". لا توجد طريقة لإظهار الاحتكاك.
ErrorFieldRequiredForProduct=الحقل "%s" مطلوب للمنتج %s
ProblemIsInSetupOfTerminal=كانت المشكلة في إعداد المحطة الطرفية %s.
ErrorAddAtLeastOneLineFirst=أضف سطرًا واحدًا على الأقل أولاً
ErrorRecordAlreadyInAccountingDeletionNotPossible=خطأ ، تم نقل السجل بالفعل في المحاسبة ، والحذف غير ممكن.
ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=خطأ ، اللغة إلزامية إذا قمت بتعيين الصفحة على أنها ترجمة لصفحة أخرى.
ErrorLanguageOfTranslatedPageIsSameThanThisPage=خطأ ، لغة الصفحة المترجمة هي نفسها هذه.
ErrorBatchNoFoundForProductInWarehouse=لم يتم العثور على دفعة / مسلسل للمنتج "%s" في المستودع "%s".
ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=لا توجد كمية كافية لهذه الكمية / المسلسل للمنتج "%s" في المستودع "%s".
ErrorOnlyOneFieldForGroupByIsPossible=يمكن استخدام حقل واحد فقط لـ "تجميع حسب" (يتم تجاهل الحقول الأخرى)
ErrorTooManyDifferentValueForSelectedGroupBy=تم العثور على قيم مختلفة كثيرة جدًا (أكثر من <b> %s </b>) للحقل "<b> %s </b>" ، لذلك لا يمكننا استخدامها كمجموعة رسومات ". تمت إزالة الحقل "تجميع حسب". قد ترغب في استخدامه كمحور X؟
ErrorReplaceStringEmpty=خطأ ، السلسلة المطلوب استبدالها فارغة
ErrorProductNeedBatchNumber=خطأ ، المنتج '<b> %s </b>' بحاجة إلى الكثير / الرقم التسلسلي
ErrorProductDoesNotNeedBatchNumber=خطأ ، المنتج "<b> %s </b>" لا يقبل الكثير / الرقم التسلسلي
ErrorFailedToReadObject=خطأ ، فشلت قراءة كائن من النوع <b> %s </b>
ErrorParameterMustBeEnabledToAllwoThisFeature=خطأ ، يجب تمكين المعلمة <b> %s </b> في <b> conf / conf.php <b> للسماح باستخدام واجهة سطر الأوامر بواسطة برنامج جدولة الوظائف الداخلي
ErrorLoginDateValidity=خطأ ، تسجيل الدخول هذا خارج النطاق الزمني للصلاحية
ErrorValueLength=يجب أن يكون طول الحقل "<b> %s </b>" أعلى من "<b> %s </b>"
ErrorReservedKeyword=كلمة "<b> %s </b>" هي كلمة أساسية محجوزة
ErrorNotAvailableWithThisDistribution=غير متوفر مع هذا التوزيع
ErrorPublicInterfaceNotEnabled=لم يتم تمكين الواجهة العامة
ErrorLanguageRequiredIfPageIsTranslationOfAnother=يجب تحديد لغة الصفحة الجديدة إذا تم تعيينها على أنها ترجمة لصفحة أخرى
ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=يجب ألا تكون لغة الصفحة الجديدة هي لغة المصدر إذا تم تعيينها على أنها ترجمة لصفحة أخرى
ErrorAParameterIsRequiredForThisOperation=المعلمة إلزامية لهذه العملية
ErrorDateIsInFuture=خطأ ، لا يمكن أن يكون التاريخ في المستقبل
ErrorAnAmountWithoutTaxIsRequired=خطأ ، المبلغ إلزامي
ErrorAPercentIsRequired=خطأ ، يرجى ملء النسبة بشكل صحيح
ErrorYouMustFirstSetupYourChartOfAccount=يجب عليك أولاً إعداد مخطط الحساب الخاص بك
ErrorFailedToFindEmailTemplate=فشل العثور على قالب بالاسم الرمزي %s
ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=المدة غير محددة في الخدمة. لا توجد طريقة لحساب سعر الساعة.
ErrorActionCommPropertyUserowneridNotDefined=مالك المستخدم مطلوب
ErrorActionCommBadType=Selected event type (id: %s, code: %s) do not exist in Event Type dictionary
CheckVersionFail=Version check fail
ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it
ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify.
ErrorIsNotADraft=%s is not a draft
ErrorExecIdFailed=Can't execute command "id"
ErrorBadCharIntoLoginName=Unauthorized character in the login name
ErrorRequestTooLarge=Error, request too large
CheckVersionFail=فشل التحقق من الإصدار
ErrorWrongFileName=لا يمكن أن يحتوي اسم الملف على __SOMETHING__ فيه
ErrorNotInDictionaryPaymentConditions=ليس في قاموس شروط الدفع ، يرجى التعديل.
ErrorIsNotADraft=%s ليس مسودة
ErrorExecIdFailed=لا يمكن تنفيذ الأمر "id"
ErrorBadCharIntoLoginName=شخصية غير مصرح بها في اسم تسجيل الدخول
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
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. ويمكن استخدامه من قبل وحدة / واجهة خارجية ولكن إذا كنت لا تحتاج إلى تعريف أي تسجيل دخول أو كلمة المرور لأحد أفراد، يمكنك تعطيل خيار "إدارة تسجيل دخول لكل عضو" من إعداد وحدة الأعضاء. إذا كنت بحاجة إلى إدارة تسجيل الدخول ولكن لا تحتاج إلى أي كلمة المرور، يمكنك الحفاظ على هذا الحقل فارغا لتجنب هذا التحذير. ملاحظة: يمكن أيضا أن تستخدم البريد الإلكتروني لتسجيل الدخول إذا تم ربط عضو إلى المستخدم.
WarningMandatorySetupNotComplete=Click here to setup mandatory parameters
WarningEnableYourModulesApplications=Click here to enable your modules and applications
WarningMandatorySetupNotComplete=Click here to setup main parameters
WarningEnableYourModulesApplications=انقر هنا لتمكين الوحدات والتطبيقات الخاصة بك
WarningSafeModeOnCheckExecDir=انذار ، فب <b>safe_mode</b> الخيار في ذلك تخزين الأمر يجب أن يكون داخل الدليل الذي أعلنته <b>safe_mode_exec_dir</b> المعلمة بي.
WarningBookmarkAlreadyExists=المرجعية هذا الكتاب أو هذا الهدف (عنوان) موجود بالفعل.
WarningPassIsEmpty=تحذير كلمة سر قاعدة بيانات فارغة. هذه هي ثغرة أمنية. يجب عليك أن تضيف كلمة السر الخاصة بك لقاعدة البيانات وتغيير conf.php ليعكس هذا الملف.
WarningConfFileMustBeReadOnly=انذار ، ملف (التكوين <b>htdocs / أسيوط / conf.php)</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.
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.
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).
WarningNoDocumentModelActivated=لم يتم تنشيط أي نموذج لإنشاء المستندات. سيتم اختيار نموذج افتراضيًا حتى تتحقق من إعداد الوحدة الخاصة بك.
WarningLockFileDoesNotExists=تحذير ، بمجرد الانتهاء من الإعداد ، يجب عليك تعطيل أدوات التثبيت / الترحيل عن طريق إضافة ملف <b> install.lock </b> إلى الدليل <b> %s </b>. يعد حذف إنشاء هذا الملف مخاطرة أمنية كبيرة.
WarningUntilDirRemoved=ستبقى جميع التحذيرات الأمنية (المرئية من قبل المستخدمين المسؤولين فقط) نشطة طالما أن الثغرة الأمنية موجودة (أو أن MAIN_REMOVE_INSTALL_WARNING الثابت مضاف في الإعداد-> الإعداد الآخر).
WarningCloseAlways=تحذير، ويتم إغلاق حتى إذا قدر يختلف بين عناصر المصدر والهدف. تمكين هذه الميزة بحذر.
WarningUsingThisBoxSlowDown=تحذير، وذلك باستخدام هذا الإطار تبطئ على محمل الجد كل الصفحات التي تظهر مربع.
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.
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
WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to <b>%s</b> when using the mass actions on lists
WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report
WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks.
WarningProjectClosed=Project is closed. You must re-open it first.
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.
WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table
WarningTheHiddenOptionIsOn=Warning, the hidden option <b>%s</b> is on.
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
WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection.
WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here.
WarningPaypalPaymentNotCompatibleWithStrict=The value 'Strict' makes the online payment features not working correctly. Use 'Lax' instead.
WarningNumberOfRecipientIsRestrictedInMassAction=تحذير ، عدد المستلمين المختلفين يقتصر على <b> %s </b> عند استخدام الإجراءات الجماعية في القوائم
WarningDateOfLineMustBeInExpenseReportRange=تحذير ، تاريخ السطر ليس في نطاق تقرير المصاريف
WarningProjectDraft=المشروع لا يزال في وضع المسودة. لا تنس التحقق من صحته إذا كنت تخطط لاستخدام المهام.
WarningProjectClosed=المشروع مغلق. يجب عليك إعادة فتحه أولاً.
WarningSomeBankTransactionByChequeWereRemovedAfter=تمت إزالة بعض المعاملات المصرفية بعد أن تم إنشاء الإيصال بما في ذلك. لذلك قد يختلف عدد الشيكات وإجمالي الإيصالات عن العدد والإجمالي في القائمة.
WarningFailedToAddFileIntoDatabaseIndex=تحذير ، فشل في إضافة إدخال الملف إلى جدول فهرس قاعدة بيانات ECM
WarningTheHiddenOptionIsOn=تحذير ، الخيار المخفي <b> %s </b> قيد التشغيل.
WarningCreateSubAccounts=تحذير ، لا يمكنك إنشاء حساب فرعي مباشرة ، يجب عليك إنشاء طرف ثالث أو مستخدم وتعيين رمز محاسبة لهم للعثور عليهم في هذه القائمة
WarningAvailableOnlyForHTTPSServers=متاح فقط في حالة استخدام اتصال HTTPS آمن.
WarningModuleXDisabledSoYouMayMissEventHere=لم يتم تمكين الوحدة النمطية %s. لذلك قد تفوتك الكثير من الأحداث هنا.
WarningPaypalPaymentNotCompatibleWithStrict=تجعل القيمة "صارمة" ميزات الدفع عبر الإنترنت لا تعمل بشكل صحيح. استخدم "Lax" بدلاً من ذلك.
WarningThemeForcedTo=تحذير ، تم إجبار السمة على <b> %s </b> بواسطة الثابت المخفي MAIN_FORCETHEME
# Validate
RequireValidValue = Value not valid
RequireAtLeastXString = Requires at least %s character(s)
RequireXStringMax = Requires %s character(s) max
RequireAtLeastXDigits = Requires at least %s digit(s)
RequireXDigitsMax = Requires %s digit(s) max
RequireValidNumeric = Requires a numeric value
RequireValidEmail = Email address is not valid
RequireMaxLength = Length must be less than %s chars
RequireMinLength = Length must be more than %s char(s)
RequireValidUrl = Require valid URL
RequireValidDate = Require a valid date
RequireANotEmptyValue = Is required
RequireValidDuration = Require a valid duration
RequireValidExistingElement = Require an existing value
RequireValidBool = Require a valid boolean
BadSetupOfField = Error bad setup of field
BadSetupOfFieldClassNotFoundForValidation = Error bad setup of field : Class not found for validation
BadSetupOfFieldFileNotFound = Error bad setup of field : File not found for inclusion
BadSetupOfFieldFetchNotCallable = Error bad setup of field : Fetch not callable on class
RequireValidValue = القيمة غير صالحة
RequireAtLeastXString = يتطلب على الأقل %s حرفًا (أحرف)
RequireXStringMax = يتطلب %s حرفًا (أحرف) كحد أقصى
RequireAtLeastXDigits = يتطلب على الأقل %s رقم (أرقام)
RequireXDigitsMax = يتطلب %s رقم (أرقام) كحد أقصى
RequireValidNumeric = يتطلب قيمة عددية
RequireValidEmail = عنوان البريد الإلكتروني غير صالح
RequireMaxLength = يجب أن يكون الطول أقل من %s حرفًا
RequireMinLength = يجب أن يكون الطول أكثر من %s حرفًا (أحرف)
RequireValidUrl = مطلوب URL صالح
RequireValidDate = تتطلب تاريخًا صالحًا
RequireANotEmptyValue = مطلوب
RequireValidDuration = تتطلب مدة صالحة
RequireValidExistingElement = تتطلب قيمة موجودة
RequireValidBool = تتطلب قيمة منطقية صالحة
BadSetupOfField = خطأ في الإعداد السيئ للمجال
BadSetupOfFieldClassNotFoundForValidation = خطأ في إعداد الحقل غير صحيح: الفئة غير موجودة للتحقق من الصحة
BadSetupOfFieldFileNotFound = خطأ في إعداد الحقل غير صحيح: الملف غير موجود للتضمين
BadSetupOfFieldFetchNotCallable = خطأ في إعداد الحقل غير صحيح: الجلب غير قابل للاستدعاء في الفصل الدراسي

View File

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

View File

@ -2,36 +2,35 @@
InstallEasy=فقط اتبع التعليمات خطوة بخطوة.
MiscellaneousChecks=التحقق من الشروط الأساسية
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>
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> قابل للكتابة.
ConfFileMustBeAFileNotADir=Configuration file <b>%s</b> must be a file, not a directory.
ConfFileReload=Reloading parameters from configuration file.
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.
ConfFileMustBeAFileNotADir=يجب أن يكون ملف التكوين <b> %s </b> ملفًا وليس دليلاً.
ConfFileReload=إعادة تحميل المعلمات من ملف التكوين.
NoReadableConfFileSoStartInstall=ملف التكوين <b> conf / conf.php </b> غير موجود أو غير قابل للقراءة. سنقوم بتشغيل عملية التثبيت لمحاولة تهيئتها.
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 ميزة الجلسات الزمنية.
PHPSupport=This PHP supports %s functions.
PHPSupport=يدعم PHP وظائف %s.
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.
Recheck=Click here for a more detailed test
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.
ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions.
PHPMemoryTooLow=تم تعيين ذاكرة جلسة PHP القصوى على <b> %s </b> بايت. هذا منخفض جدًا. قم بتغيير المعلمة <b> php.ini </b> لتعيين <b> memory_limit </b> إلى <b> a0ecb2ec87f498zb7 byt9174.
Recheck=انقر هنا للحصول على اختبار أكثر تفصيلاً
ErrorPHPDoesNotSupportSessions=تثبيت PHP الخاص بك لا يدعم الجلسات. هذه الميزة مطلوبة للسماح لـ Dolibarr بالعمل. تحقق من إعداد PHP وأذونات دليل الجلسات.
ErrorPHPDoesNotSupport=تثبيت PHP الخاص بك لا يدعم وظائف %s.
ErrorDirDoesNotExists=دليل ٪ ق لا يوجد.
ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters.
ErrorGoBackAndCorrectParameters=ارجع وتحقق من / صحح المعلمات.
ErrorWrongValueForParameter=قد تكون لديكم مطبوعة خاطئة قيمة معلمة '٪ ق.
ErrorFailedToCreateDatabase=فشل إنشاء قاعدة بيانات '٪ ق.
ErrorFailedToConnectToDatabase=فشل في الاتصال بقاعدة البيانات '٪ ق.
ErrorDatabaseVersionTooLow=إصدار قاعدة البيانات (s%) قديمة جدا. مطلوب نسخة s% أو أعلى
ErrorPHPVersionTooLow=PHP version too old. Version %s or higher is required.
ErrorPHPVersionTooHigh=PHP version too high. Version %s or lower is required.
ErrorConnectedButDatabaseNotFound=Connection to server successful but database '%s' not found.
ErrorPHPVersionTooLow=إصدار PHP قديم جدًا. مطلوب إصدار %s أو أعلى.
ErrorPHPVersionTooHigh=إصدار PHP مرتفع جدًا. مطلوب إصدار %s أو أقل.
ErrorConnectedButDatabaseNotFound=الاتصال بالخادم ناجح ولكن قاعدة البيانات "%s" غير موجودة.
ErrorDatabaseAlreadyExists=قاعدة البيانات '٪ ق' موجود بالفعل.
ErrorNoMigrationFilesFoundForParameters=No migration file found for the selected versions
IfDatabaseNotExistsGoBackAndUncheckCreate=If the database does not exist, go back and check option "Create database".
IfDatabaseNotExistsGoBackAndUncheckCreate=إذا كانت قاعدة البيانات غير موجودة ، فارجع وحدد الخيار "إنشاء قاعدة بيانات".
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 الإصدار
License=الترخيص باستعمال
ConfigurationFile=ملفات
@ -44,23 +43,23 @@ DolibarrDatabase=قاعدة بيانات Dolibarr
DatabaseType=قاعدة بيانات من نوع
DriverType=سائق نوع
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=قاعدة بيانات الميناء. تبقي فارغة إذا كانت غير معروفة.
DatabaseServer=خادم قاعدة البيانات
DatabaseName=اسم قاعدة البيانات
DatabasePrefix=Database table prefix
DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_.
AdminLogin=User account for the Dolibarr database owner.
PasswordAgain=Retype password confirmation
DatabasePrefix=بادئة جدول قاعدة البيانات
DatabasePrefixDescription=بادئة جدول قاعدة البيانات. إذا كانت فارغة ، يتم تعيينها افتراضيًا على llx_.
AdminLogin=حساب المستخدم لمالك قاعدة بيانات Dolibarr.
PasswordAgain=أعد كتابة كلمة المرور
AdminPassword=Dolibarr كلمة السر لمدير قاعدة البيانات. تبقي فارغة إذا لم يذكر اسمه في اتصال
CreateDatabase=إنشاء قاعدة بيانات
CreateUser=Create user account or grant user account permission on the Dolibarr database
CreateUser=قم بإنشاء حساب مستخدم أو منح إذن حساب المستخدم على قاعدة بيانات Dolibarr
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.
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.
DatabaseRootLoginDescription=Superuser account name (to create new databases or new users), mandatory if the database or its owner does not already exist.
KeepEmptyIfNoPassword=Leave empty if superuser has no password (NOT recommended)
SaveConfigurationFile=Saving parameters to
CheckToCreateDatabase=ضع علامة في المربع إذا لم تكن قاعدة البيانات موجودة بعد ويجب إنشاء ذلك. <br> في هذه الحالة ، يجب عليك أيضًا ملء اسم المستخدم وكلمة المرور لحساب المستخدم المتميز في أسفل هذه الصفحة.
CheckToCreateUser=ضع علامة في المربع إذا: <br> حساب مستخدم قاعدة البيانات غير موجود بعد ويجب إنشاءه ، أو <br> إذا كان حساب المستخدم موجودًا ولكن قاعدة البيانات غير موجودة ويجب منح الأذونات. <br> في هذه الحالة ، يجب عليك إدخال حساب المستخدم وكلمة المرور و <b> أيضًا </b> اسم حساب المستخدم المتميز وكلمة المرور في أسفل هذه الصفحة. إذا لم يتم تحديد هذا المربع ، فيجب أن يكون مالك قاعدة البيانات وكلمة المرور موجودين بالفعل.
DatabaseRootLoginDescription=اسم حساب المستخدم المتميز (لإنشاء قواعد بيانات جديدة أو مستخدمين جدد) ، إلزامي إذا لم تكن قاعدة البيانات أو مالكها موجودًا بالفعل.
KeepEmptyIfNoPassword=اتركه فارغًا إذا لم يكن لدى المستخدم المتميز كلمة مرور (غير مستحسن)
SaveConfigurationFile=حفظ المعلمات في
ServerConnection=اتصال الخادم
DatabaseCreation=إنشاء قاعدة بيانات
CreateDatabaseObjects=إنشاء قاعدة بيانات الأجسام
@ -71,9 +70,9 @@ CreateOtherKeysForTable=إنشاء الخارجية مفاتيح الأرقام
OtherKeysCreation=مفاتيح الخارجية وإنشاء الفهارس
FunctionsCreation=إنشاء وظائف
AdminAccountCreation=مدير ادخل إنشاء
PleaseTypePassword=Please type a password, empty passwords are not allowed!
PleaseTypeALogin=Please type a login!
PasswordsMismatch=Passwords differs, please try again!
PleaseTypePassword=الرجاء كتابة كلمة المرور ، غير مسموح بكلمات المرور الفارغة!
PleaseTypeALogin=الرجاء كتابة تسجيل الدخول!
PasswordsMismatch=تختلف كلمات المرور ، يرجى المحاولة مرة أخرى!
SetupEnd=نهاية الإعداد
SystemIsInstalled=هذا التثبيت الكامل.
SystemIsUpgraded=وقد تم تطوير Dolibarr بنجاح.
@ -81,73 +80,73 @@ YouNeedToPersonalizeSetup=عليك تكوين Dolibarr لتناسب احتياج
AdminLoginCreatedSuccessfuly=Dolibarr administrator login '<b>%s</b>' created successfully.
GoToDolibarr=الذهاب إلى Dolibarr
GoToSetupArea=الذهاب إلى Dolibarr (مجال الإعداد)
MigrationNotFinished=The database version is not completely up to date: run the upgrade process again.
MigrationNotFinished=إصدار قاعدة البيانات ليس محدثًا بالكامل: قم بتشغيل عملية الترقية مرة أخرى.
GoToUpgradePage=الذهاب لتحديث الصفحة مرة أخرى
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=موجود بالفعل
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.
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.
FunctionNotAvailableInThisPHP=Not available in this PHP
WarningRemoveInstallDir=تحذير ، لأسباب أمنية ، بمجرد اكتمال التثبيت أو الترقية ، يجب إضافة ملف يسمى <b> install.lock </b> في دليل مستندات Dolibarr من أجل منع الاستخدام العرضي / الضار لأدوات التثبيت مرة أخرى.
FunctionNotAvailableInThisPHP=غير متوفر في PHP هذا
ChoosedMigrateScript=اختار الهجرة سكريبت
DataMigration=Database migration (data)
DatabaseMigration=Database migration (structure + some data)
DataMigration=ترحيل قاعدة البيانات (البيانات)
DatabaseMigration=ترحيل قاعدة البيانات (بنية + بعض البيانات)
ProcessMigrateScript=السيناريو تجهيز
ChooseYourSetupMode=اختر طريقة الإعداد وانقر على "ابدأ"...
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=ترقية
UpgradeDesc=استخدام هذه الطريقة إذا كنت قد حلت محل القديمة Dolibarr الملفات من الملفات مع إصدار أحدث. وهذا من شأنه رفع مستوى قاعدة البيانات والبيانات.
Start=يبدأ
InstallNotAllowed=الإعداد غير مسموح به <b>conf.php</b> الاذونات
YouMustCreateWithPermission=يجب إنشاء ملف ق ٪ ومجموعة الكتابة على أذونات لملقم الويب أثناء عملية التثبيت.
CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload the page.
CorrectProblemAndReloadPage=يرجى إصلاح المشكلة والضغط على F5 لإعادة تحميل الصفحة.
AlreadyDone=بالفعل هاجر
DatabaseVersion=قاعدة بيانات النسخة
ServerVersion=خادم قاعدة البيانات النسخة
YouMustCreateItAndAllowServerToWrite=يجب إنشاء هذا الدليل ، والسماح لخادم الويب أن يكتبوا فيه.
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.
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.
BecauseConnectionFailedParametersMayBeWrong=The database connection failed: the host or super user parameters must be wrong.
YouAskDatabaseCreationSoDolibarrNeedToConnect=لقد حددت إنشاء قاعدة بيانات <b> %s </b> ، ولكن لهذا الغرض ، يحتاج Dolibarr إلى الاتصال بالخادم <b> %s a09a4b739f17658372f a0334bec08z07f.
YouAskLoginCreationSoDolibarrNeedToConnect=لقد حددت إنشاء مستخدم قاعدة البيانات <b> %s </b> ، ولكن لهذا الغرض ، يحتاج Dolibarr إلى الاتصال بالخادم <b> %s a09a4b749f17658z07fee.
BecauseConnectionFailedParametersMayBeWrong=فشل اتصال قاعدة البيانات: يجب أن تكون معلمات المضيف أو المستخدم الفائق خاطئة.
OrphelinsPaymentsDetectedByMethod=Orphelins من اكتشاف طريقة الدفع ق ٪
RemoveItManuallyAndPressF5ToContinue=إزالته يدويا واضغط F5 للمتابعة.
FieldRenamed=تغيير اسم الحقل
IfLoginDoesNotExistsCheckCreateUser=If the user does not exist yet, you must check option "Create user"
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.
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.
InstallChoiceRecommanded=وأوصت لتثبيت اختيار النسخة <b>٪ المستندات</b> الخاصة بك من النسخة الحالية <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.
CheckThatDatabasenameIsCorrect=Check that the database name "<b>%s</b>" is correct.
MigrateIsDoneStepByStep=يحتوي الإصدار المستهدف (%s) على فجوة في عدة إصدارات. سيعود معالج التثبيت ليقترح عملية ترحيل أخرى بمجرد اكتمال هذا.
CheckThatDatabasenameIsCorrect=تحقق من صحة اسم قاعدة البيانات "<b> %s </b>".
IfAlreadyExistsCheckOption=وإذا كان هذا الاسم هو الصحيح وأنه لا وجود قاعدة بيانات حتى الآن ، ويجب التحقق من خيار "إنشاء قاعدة بيانات".
OpenBaseDir=بي openbasedir المعلمة
YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide the login/password of superuser (bottom of form).
YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide the login/password of superuser (bottom of form).
NextStepMightLastALongTime=The current step may take several minutes. Please wait until the next screen is shown completely before continuing.
MigrationCustomerOrderShipping=Migrate shipping for sales orders storage
YouAskToCreateDatabaseSoRootRequired=حددت المربع "إنشاء قاعدة بيانات". لهذا ، تحتاج إلى تقديم تسجيل الدخول / كلمة المرور للمستخدم المتميز (أسفل النموذج).
YouAskToCreateDatabaseUserSoRootRequired=حددت المربع "إنشاء مالك قاعدة البيانات". لهذا ، تحتاج إلى تقديم تسجيل الدخول / كلمة المرور للمستخدم المتميز (أسفل النموذج).
NextStepMightLastALongTime=قد تستغرق الخطوة الحالية عدة دقائق. يرجى الانتظار حتى تظهر الشاشة التالية تمامًا قبل المتابعة.
MigrationCustomerOrderShipping=ترحيل الشحن لتخزين أوامر المبيعات
MigrationShippingDelivery=ترقية تخزين الشحن
MigrationShippingDelivery2=ترقية تخزين الشحن 2
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
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...
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)
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.
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.
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.
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.
UpgradeExternalModule=Run dedicated upgrade process of external module
SetAtLeastOneOptionAsUrlParameter=Set at least one option as a parameter in URL. For example: '...repair.php?standard=confirmed'
NothingToDelete=Nothing to clean/delete
NothingToDo=Nothing to do
WarningUpgrade=تحذير:\nهل قمت بتشغيل نسخة احتياطية لقاعدة البيانات أولاً؟\nينصح بهذا بشدة. قد يكون فقدان البيانات (بسبب الأخطاء الموجودة في الإصدار 5.5.40 / 41/42/43 من mysql على سبيل المثال) ممكنًا أثناء هذه العملية ، لذلك من الضروري تفريغ قاعدة البيانات بالكامل قبل بدء أي ترحيل.\n\nانقر فوق "موافق" لبدء عملية الترحيل ...
ErrorDatabaseVersionForbiddenForMigration=إصدار قاعدة البيانات لديك هو %s. يحتوي على خطأ فادح ، مما يجعل فقدان البيانات ممكنًا إذا قمت بإجراء تغييرات هيكلية في قاعدة البيانات الخاصة بك ، كما هو مطلوب من خلال عملية الترحيل. لسببه ، لن يُسمح بالترحيل حتى تقوم بترقية قاعدة البيانات الخاصة بك إلى إصدار طبقة (مصححة) (قائمة إصدارات عربات التي تجرها الدواب المعروفة: %s)
KeepDefaultValuesWamp=لقد استخدمت معالج إعداد Dolibarr من DoliWamp ، لذلك تم تحسين القيم المقترحة هنا بالفعل. قم بتغييرها فقط إذا كنت تعرف ما تفعله.
KeepDefaultValuesDeb=لقد استخدمت معالج إعداد Dolibarr من حزمة Linux (Ubuntu و Debian و Fedora ...) ، لذلك تم تحسين القيم المقترحة هنا بالفعل. يجب فقط إدخال كلمة مرور مالك قاعدة البيانات المراد إنشاؤها. قم بتغيير المعلمات الأخرى فقط إذا كنت تعرف ما تفعله.
KeepDefaultValuesMamp=لقد استخدمت معالج إعداد Dolibarr من DoliMamp ، لذلك تم تحسين القيم المقترحة هنا بالفعل. قم بتغييرها فقط إذا كنت تعرف ما تفعله.
KeepDefaultValuesProxmox=لقد استخدمت معالج إعداد Dolibarr من جهاز Proxmox الظاهري ، لذلك تم تحسين القيم المقترحة هنا بالفعل. قم بتغييرها فقط إذا كنت تعرف ما تفعله.
UpgradeExternalModule=قم بتشغيل عملية ترقية مخصصة للوحدة الخارجية
SetAtLeastOneOptionAsUrlParameter=عيِّن خيارًا واحدًا على الأقل كمعامل في URL. على سبيل المثال: "... repair.php؟ standard = Verified"
NothingToDelete=لا شيء للتنظيف / الحذف
NothingToDo=لا شيء لأفعله
#########
# upgrade
MigrationFixData=إصلاح البيانات الذي لم تتم تسويته
MigrationOrder=بيانات الهجرة طلبات الزبائن
MigrationSupplierOrder=Data migration for vendor's orders
MigrationSupplierOrder=ترحيل البيانات لأوامر البائعين
MigrationProposal=بيانات الهجرة لأغراض تجارية اقتراحات
MigrationInvoice=بيانات الهجرة لعملاء الفواتير
MigrationContract=بيانات الهجرة للحصول على عقود
@ -163,9 +162,9 @@ MigrationContractsUpdate=تصحيح بيانات العقد
MigrationContractsNumberToUpdate=٪ ق العقد (ق) لتحديث
MigrationContractsLineCreation=عقد إنشاء خط لعقد المرجع ق ٪
MigrationContractsNothingToUpdate=لا أكثر مما ينبغي فعله
MigrationContractsFieldDontExist=Field fk_facture does not exist anymore. Nothing to do.
MigrationContractsFieldDontExist=لم يعد الحقل fk_facture موجودًا بعد الآن. لا شيء لأفعله.
MigrationContractsEmptyDatesUpdate=عقد فارغ تصحيح التاريخ
MigrationContractsEmptyDatesUpdateSuccess=Contract empty date correction done successfully
MigrationContractsEmptyDatesUpdateSuccess=تم تصحيح تاريخ فارغ للعقد بنجاح
MigrationContractsEmptyDatesNothingToUpdate=أي عقد حتى الآن لتصحيح فارغة
MigrationContractsEmptyCreationDatesNothingToUpdate=إنشاء أي عقد لتصحيح التاريخ
MigrationContractsInvalidDatesUpdate=سوء قيمة العقد تصحيح التاريخ
@ -187,29 +186,29 @@ MigrationDeliveryDetail=تسليم تحديث
MigrationStockDetail=تحديث قيمة المخزون من المنتجات
MigrationMenusDetail=تحديث القوائم الديناميكية الجداول
MigrationDeliveryAddress=تتناول آخر التطورات في تسليم شحنات
MigrationProjectTaskActors=Data migration for table llx_projet_task_actors
MigrationProjectTaskActors=ترحيل البيانات للجدول llx_projet_task_actors
MigrationProjectUserResp=بيانات fk_user_resp مجال الهجرة من llx_projet لllx_element_contact
MigrationProjectTaskTime=تحديث الوقت الذي يقضيه في ثوان
MigrationActioncommElement=تحديث البيانات على الإجراءات
MigrationPaymentMode=Data migration for payment type
MigrationPaymentMode=ترحيل البيانات لنوع الدفع
MigrationCategorieAssociation=تحديث الفئات
MigrationEvents=Migration of events to add event owner into assignment table
MigrationEventsContact=Migration of events to add event contact into assignment table
MigrationEvents=ترحيل الأحداث لإضافة مالك الحدث إلى جدول المهام
MigrationEventsContact=ترحيل الأحداث لإضافة جهة اتصال الحدث إلى جدول المهام
MigrationRemiseEntity=Update entity field value of llx_societe_remise
MigrationRemiseExceptEntity=Update entity field value of llx_societe_remise_except
MigrationUserRightsEntity=Update entity field value of llx_user_rights
MigrationUserGroupRightsEntity=Update entity field value of llx_usergroup_rights
MigrationUserPhotoPath=Migration of photo paths for users
MigrationFieldsSocialNetworks=Migration of users fields social networks (%s)
MigrationUserRightsEntity=تحديث قيمة حقل الكيان لـ llx_user_rights
MigrationUserGroupRightsEntity=تحديث قيمة حقل الكيان لـ llx_usergroup_rights
MigrationUserPhotoPath=ترحيل مسارات الصور للمستخدمين
MigrationFieldsSocialNetworks=هجرة حقول المستخدمين الشبكات الاجتماعية (%s)
MigrationReloadModule=إعادة تحديث الوحدات %s
MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm
MigrationImportOrExportProfiles=Migration of import or export profiles (%s)
ShowNotAvailableOptions=Show unavailable options
HideNotAvailableOptions=Hide unavailable options
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.
YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).<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>
ClickHereToGoToApp=Click here to go to your application
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.
Loaded=Loaded
FunctionTest=Function test
MigrationResetBlockedLog=إعادة تعيين الوحدة النمطية BlockedLog لخوارزمية v7
MigrationImportOrExportProfiles=ترحيل ملفات تعريف الاستيراد أو التصدير (%s)
ShowNotAvailableOptions=إظهار الخيارات غير المتاحة
HideNotAvailableOptions=إخفاء الخيارات غير المتاحة
ErrorFoundDuringMigration=تم الإبلاغ عن خطأ (أخطاء) أثناء عملية الترحيل ، لذا فإن الخطوة التالية غير متاحة. لتجاهل الأخطاء ، يمكنك النقر هنا <a href="%s"> </a> ، لكن التطبيق أو بعض الميزات قد لا تعمل بشكل صحيح حتى يتم حل الأخطاء.
YouTryInstallDisabledByDirLock=حاول التطبيق الترقية الذاتية ، ولكن تم تعطيل صفحات التثبيت / الترقية للأمان (تمت إعادة تسمية الدليل بلاحقة .lock). <br>
YouTryInstallDisabledByFileLock=حاول التطبيق الترقية الذاتية ، ولكن تم تعطيل صفحات التثبيت / الترقية للأمان (من خلال وجود ملف قفل <strong> install.lock </strong> في دليل مستندات dolibarr). <br>
ClickHereToGoToApp=انقر هنا للذهاب إلى التطبيق الخاص بك
ClickOnLinkOrRemoveManualy=إذا كانت الترقية قيد التقدم ، يرجى الانتظار. إذا لم يكن كذلك ، انقر فوق الارتباط التالي. إذا كنت ترى نفس الصفحة دائمًا ، فيجب عليك إزالة / إعادة تسمية الملف install.lock في دليل المستندات.
Loaded=محمل
FunctionTest=اختبار الوظيفة

View File

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

View File

@ -10,7 +10,7 @@ LoanCapital=عاصمة
Insurance=تأمين
Interest=اهتمام
Nbterms=عدد من المصطلحات
Term=Term
Term=شرط
LoanAccountancyCapitalCode=Accounting account capital
LoanAccountancyInsuranceCode=Accounting account insurance
LoanAccountancyInterestCode=Accounting account interest
@ -19,16 +19,16 @@ LoanDeleted=بنجاح قرض محذوفة
ConfirmPayLoan=تأكيد صنف دفع هذا القرض
LoanPaid=القرض المدفوع
ListLoanAssociatedProject=List of loan associated with the project
AddLoan=Create loan
FinancialCommitment=Financial commitment
AddLoan=إنشاء قرض
FinancialCommitment=التزام مالي
InterestAmount=اهتمام
CapitalRemain=Capital remain
TermPaidAllreadyPaid = This term is allready paid
CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started
CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule
CapitalRemain=يبقى رأس المال
TermPaidAllreadyPaid = هذا المصطلح مدفوع بالفعل
CantUseScheduleWithLoanStartedToPaid = Can't generate a timeline for a loan with a payment started
CantModifyInterestIfScheduleIsUsed = لا يمكنك تعديل الفائدة إذا كنت تستخدم الجدول الزمني
# Admin
ConfigLoan=التكوين للقرض وحدة
LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accounting account capital by default
LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accounting account interest 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
DIRECTION=rtl
# Default for FONTFORPDF=helvetica
# Note for Chinese:
# msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader)
# stsongstdlight or cid0cs are for simplified Chinese
# msungstdlight or cid0ct are for traditional Chinese zh_TW (traditional does not render with Ubuntu pdf reader)
# stsongstdlight or cid0cs are for simplified Chinese zh_CN
# 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
FONTSIZEFORPDF=10
SeparatorDecimal=.
@ -67,7 +73,7 @@ ErrorNoVATRateDefinedForSellerCountry=خطأ ، لم يتم تحديد معدل
ErrorNoSocialContributionForSellerCountry=خطأ ، لم يتم تحديد نوع الضرائب الاجتماعية | المالية للبلد "%s".
ErrorFailedToSaveFile=خطأ، فشل في حفظ الملف.
ErrorCannotAddThisParentWarehouse=أنت تحاول إضافة مستودع رئيسي هو بالفعل تابع لمستودع موجود
FieldCannotBeNegative=Field "%s" cannot be negative
FieldCannotBeNegative=لا يمكن أن يكون الحقل "%s" سالبًا
MaxNbOfRecordPerPage=عدد السجلات الاعلى في الصفحة الواحدة
NotAuthorized=غير مصرح لك ان تفعل ذلك.
SetDate=تحديد التاريخ
@ -88,7 +94,7 @@ FileWasNotUploaded=تم تحديد ملف للإرفاق ولكن لم يتم ت
NbOfEntries=عدد الإدخالات
GoToWikiHelpPage=قراءة التعليمات عبر الإنترنت (يلزم الاتصال بالإنترنت)
GoToHelpPage=قراءة المساعدة
DedicatedPageAvailable=Dedicated help page related to your current screen
DedicatedPageAvailable=صفحة مساعدة مخصصة تتعلق بشاشتك الحالية
HomePage=الصفحة الرئيسية
RecordSaved=تم حفظ سجل
RecordDeleted=سجل محذوف
@ -115,7 +121,7 @@ ReturnCodeLastAccessInError=إرجاع الكود لأحدث خطأ في طلب
InformationLastAccessInError=معلومات عن خطأ طلب الوصول إلى قاعدة البيانات الأخيرة
DolibarrHasDetectedError=Dolibarr اكتشف خطأ تقني
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=المزيد من المعلومات
TechnicalInformation=المعلومات التقنية
TechnicalID=ID الفني
@ -181,7 +187,7 @@ SaveAndNew=حفظ وجديد
TestConnection=اختبار الاتصال
ToClone=استنساخ
ConfirmCloneAsk=هل أنت متأكد أنك تريد استنساخ الكائن <b> %s </b>؟
ConfirmClone=Choose the data you want to clone:
ConfirmClone=اختر البيانات التي تريد نسخها:
NoCloneOptionsSpecified=لا توجد بيانات لاستنساخ محددة.
Of=من
Go=اذهب
@ -212,8 +218,8 @@ User=المستعمل
Users=المستخدمين
Group=مجموعة
Groups=المجموعات
UserGroup=User group
UserGroups=User groups
UserGroup=مجموعة المستخدمين
UserGroups=مجموعات الاعضاء
NoUserGroupDefined=لم يتم تحديد مجموعة مستخدمين
Password=كلمة المرور
PasswordRetype=أعد كتابة كلمة المرور
@ -244,13 +250,13 @@ Designation=الوصف
DescriptionOfLine=وصف البند
DateOfLine=تاريخ البند
DurationOfLine=مدة البند
ParentLine=Parent line ID
ParentLine=معرف خط الأصل
Model=قالب المستند
DefaultModel=قالب المستند الافتراضي
Action=حدث
About=حول
Number=عدد
NumberByMonth=Total reports by month
NumberByMonth=إجمالي التقارير حسب الشهر
AmountByMonth=المبلغ بالشهر
Numero=عدد
Limit=الحد
@ -346,7 +352,7 @@ MegaBytes=ميغابايت
GigaBytes=غيغا بايت
TeraBytes=تيرابايت
UserAuthor=تم الإنشاء بواسطة
UserModif=Updated by
UserModif=تم التحديث بواسطة
b=بايت
Kb=كيلوبايت
Mb=ميغابايت
@ -434,7 +440,7 @@ LT1IN=CGST
LT2IN=SGST
LT1GC=Additionnal cents
VATRate=معدل الضريبة
RateOfTaxN=Rate of tax %s
RateOfTaxN=معدل الضريبة %s
VATCode=كود معدل الضريبة
VATNPR=معدل ضريبة NPR
DefaultTaxRate=معدل الضريبة الافتراضي
@ -621,7 +627,7 @@ MonthVeryShort11=11
MonthVeryShort12=12
AttachedFiles=الملفات والمستندات المرفقة
JoinMainDoc=ضم إلى المستند الرئيسي
JoinMainDocOrLastGenerated=Send the main document or the last generated one if not found
JoinMainDocOrLastGenerated=أرسل المستند الرئيسي أو آخر مستند تم إنشاؤه إذا لم يتم العثور عليه
DateFormatYYYYMM=YYYY-MM
DateFormatYYYYMMDD=YYYY-MM-DD
DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH: SS
@ -712,7 +718,7 @@ FeatureDisabled=ميزة معطلة
MoveBox=نقل البريمج
Offered=معروض
NotEnoughPermissions=ليس لديك إذن بهذا الإجراء
UserNotInHierachy=This action is reserved to the supervisors of this user
UserNotInHierachy=هذا الإجراء محجوز لمشرفي هذا المستخدم
SessionName=اسم الجلسة
Method=الطريقة
Receive=استقبال
@ -737,7 +743,7 @@ MenuMembers=أعضاء
MenuAgendaGoogle=أجندة غوغل
MenuTaxesAndSpecialExpenses=الضرائب | مصاريف خاصة
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=لم يتم رفع مستند
CurrentUserLanguage=اللغة الحالية
CurrentTheme=الواجهة الحالية
@ -802,7 +808,6 @@ URLPhoto=عنوان URL للصورة | الشعار
SetLinkToAnotherThirdParty=ربط بطرف ثالث آخر
LinkTo=ربط مع او بـ
LinkToProposal=ربط مع العرض
LinkToExpedition= Link to expedition
LinkToOrder=ربط مع الامر
LinkToInvoice=ربط مع الفاتورة
LinkToTemplateInvoice=ربط مع قالب الفاتورة
@ -812,7 +817,7 @@ LinkToSupplierInvoice=ربط مع فاتورة المورد
LinkToContract=ربط مع العقد
LinkToIntervention=ربط مع التداخل
LinkToTicket=ربط مع التذكرة
LinkToMo=Link to Mo
LinkToMo=رابط إلى Mo
CreateDraft=إنشاء مسودة
SetToDraft=العودة إلى المسودة
ClickToEdit=انقر للتحرير
@ -856,7 +861,7 @@ XMoreLines=%s بند (بنود) مخفي
ShowMoreLines=عرض المزيد | أقل من البنود
PublicUrl=URL العام
AddBox=إضافة مربع
SelectElementAndClick=Select an element and click on %s
SelectElementAndClick=حدد عنصرًا وانقر فوق %s
PrintFile=طباعة الملف %s
ShowTransaction=عرض الإدخال في الحساب المصرفي
ShowIntervention=عرض التدخل
@ -867,8 +872,8 @@ Denied=مرفوض
ListOf=قائمة %s
ListOfTemplates=قائمة القوالب
Gender=جنس
Genderman=Male
Genderwoman=Female
Genderman=ذكر
Genderwoman=أنثى
Genderother=الآخر
ViewList=عرض القائمة
ViewGantt=عرض Gantt
@ -914,7 +919,7 @@ ViewFlatList=عرض قائمة مسطحة
ViewAccountList=عرض دفتر الأستاذ
ViewSubAccountList=عرض دفتر الأستاذ الفرعي
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=رابط التحميل العام
PublicDownloadLinkDesc=فقط مطلوب الرابط لتنزيل الملف
DirectDownloadInternalLink=رابط التحميل الخاص
@ -1083,7 +1088,7 @@ ValidFrom=صالح من
ValidUntil=صالح حتى
NoRecordedUsers=لايوجد مستخدمين
ToClose=لغلق
ToRefuse=To refuse
ToRefuse=رفض
ToProcess=لعملية
ToApprove=للموافقة
GlobalOpenedElemView=نظرة شاملة
@ -1138,45 +1143,47 @@ UpdateForAllLines=تحديث لجميع البنود
OnHold=في الانتظار
Civility=Civility
AffectTag=Affect Tag
CreateExternalUser=Create external user
CreateExternalUser=إنشاء مستخدم خارجي
ConfirmAffectTag=Bulk Tag Affect
ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)?
CategTypeNotFound=لا يوجد ملصق لنوع السجل
CopiedToClipboard=تم النسخ الى الحافظة
InformationOnLinkToContract=هذا المبلغ هو مجموع بنود العقد . دون مراعاة قيمة الزمن
ConfirmCancel=Are you sure you want to cancel
ConfirmCancel=هل أنت متأكد أنك تريد إلغاء
EmailMsgID=Email MsgID
SetToEnabled=Set to enabled
SetToDisabled=Set to disabled
ConfirmMassEnabling=mass enabling confirmation
ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)?
ConfirmMassDisabling=mass disabling confirmation
ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)?
RecordsEnabled=%s record(s) enabled
RecordsDisabled=%s record(s) disabled
RecordEnabled=Record enabled
RecordDisabled=Record disabled
Forthcoming=Forthcoming
Currently=Currently
ConfirmMassLeaveApprovalQuestion=Are you sure you want to approve the %s selected record(s)?
ConfirmMassLeaveApproval=Mass leave approval confirmation
RecordAproved=Record approved
RecordsApproved=%s Record(s) approved
Properties=Properties
hasBeenValidated=%s has been validated
SetToEnabled=تعيين على تمكين
SetToDisabled=تعيين إلى معطل
ConfirmMassEnabling=تأكيد التمكين الشامل
ConfirmMassEnablingQuestion=هل أنت متأكد من أنك تريد تمكين السجل (السجلات) المحدد %s؟
ConfirmMassDisabling=تأكيد التعطيل الشامل
ConfirmMassDisablingQuestion=هل أنت متأكد من أنك تريد تعطيل السجل (السجلات) المحدد %s؟
RecordsEnabled=تم تمكين سجل (سجلات) %s
RecordsDisabled=سجل (سجلات) %s معطل
RecordEnabled=تم تمكين التسجيل
RecordDisabled=سجل معطل
Forthcoming=قادم، صريح، يظهر
Currently=حالياً
ConfirmMassLeaveApprovalQuestion=هل أنت متأكد من أنك تريد الموافقة على السجل (السجلات) المحددة %s؟
ConfirmMassLeaveApproval=تأكيد الموافقة على الإجازة الجماعية
RecordAproved=تمت الموافقة على السجل
RecordsApproved=%s تمت الموافقة على السجلات
Properties=الخصائص
hasBeenValidated=تم التحقق من صحة %s
ClientTZ=المنطقة الزمنية للعميل (المستخدم)
NotClosedYet=Not yet closed
ClearSignature=Reset signature
CanceledHidden=Canceled hidden
CanceledShown=Canceled shown
NotClosedYet=لم تغلق بعد
ClearSignature=إعادة تعيين التوقيع
CanceledHidden=إلغاء المخفية
CanceledShown=أظهرت ملغاة
Terminate=تعطيل
Terminated=Terminated
AddLineOnPosition=Add line on position (at the end if empty)
ConfirmAllocateCommercial=Assign sales representative confirmation
ConfirmAllocateCommercialQuestion=Are you sure you want to assign the %s selected record(s)?
CommercialsAffected=Sales representatives affected
CommercialAffected=Sales representative affected
YourMessage=Your message
YourMessageHasBeenReceived=Your message has been received. We will answer or contact you as soon as possible.
UrlToCheck=Url to check
Automation=Automation
Terminated=تم إنهاؤه
AddLineOnPosition=أضف سطرًا في الموضع (في النهاية إذا كان فارغًا)
ConfirmAllocateCommercial=تعيين تأكيد مندوب المبيعات
ConfirmAllocateCommercialQuestion=هل أنت متأكد من أنك تريد تعيين السجل (السجلات) المحددة %s؟
CommercialsAffected=مندوبي المبيعات يتأثرون
CommercialAffected=مندوب المبيعات يتأثر
YourMessage=رسالتك
YourMessageHasBeenReceived=وقد وردت الرسالة. سنقوم بالرد أو الاتصال بك في أقرب وقت ممكن.
UrlToCheck=عنوان Url المراد التحقق منه
Automation=أتمتة
CreatedByEmailCollector=Created by Email collector
CreatedByPublicPortal=Created from Public portal

View File

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

View File

@ -1,147 +1,156 @@
# 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>.
EnterNameOfModuleDesc=Enter name of the module/application to create with no spaces. Use uppercase to separate words (For example: 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.
ModuleBuilderDesc2=Path where modules are generated/edited (first directory for external modules defined into %s): <strong>%s</strong>
ModuleBuilderDesc3=Generated/editable modules found: <strong>%s</strong>
ModuleBuilderDesc4=A module is detected as 'editable' when the file <strong>%s</strong> exists in root of module directory
NewModule=New module
NewObjectInModulebuilder=New object
ModuleKey=Module key
ObjectKey=Object key
ModuleInitialized=Module initialized
FilesForObjectInitialized=Files for new object '%s' initialized
FilesForObjectUpdated=Files for object '%s' updated (.sql files and .class.php file)
ModuleBuilderDescdescription=Enter here all general information that describe your module.
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).
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.
ModuleBuilderDescmenus=This tab is dedicated to define menu entries provided by your module.
ModuleBuilderDescpermissions=This tab is dedicated to define the new permissions you want to provide with your module.
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.
ModuleBuilderDeschooks=This tab is dedicated to hooks.
ModuleBuilderDesc=يجب استخدام هذه الأداة فقط من قبل المستخدمين أو المطورين ذوي الخبرة. يوفر أدوات مساعدة لبناء أو تعديل الوحدة الخاصة بك. وثائق التطوير اليدوي <a href="%s" target="_blank" rel="noopener noreferrer"> البديل هنا </a>.
EnterNameOfModuleDesc=أدخل اسم الوحدة / التطبيق لإنشائه بدون مسافات. استخدم الأحرف الكبيرة لفصل الكلمات (على سبيل المثال: MyModule ، EcommerceForShop ، SyncWithMySystem ...)
EnterNameOfObjectDesc=أدخل اسم الكائن المراد إنشاؤه بدون مسافات. استخدم الأحرف الكبيرة لفصل الكلمات (على سبيل المثال: MyObject ، الطالب ، المعلم ...). سيتم إنشاء ملف فئة CRUD ، ولكن أيضًا ملف API ، وصفحات لسرد / إضافة / تحرير / حذف كائن وملفات SQL.
EnterNameOfDictionaryDesc=أدخل اسم القاموس لإنشائه بدون مسافات. استخدم الأحرف الكبيرة لفصل الكلمات (على سبيل المثال: MyDico ...). سيتم إنشاء ملف الفصل ، وكذلك ملف SQL.
ModuleBuilderDesc2=المسار الذي يتم فيه إنشاء / تحرير الوحدات (الدليل الأول للوحدات الخارجية المحددة في %s): <strong> %s </strong>
ModuleBuilderDesc3=تم العثور على الوحدات النمطية / القابلة للتحرير: <strong> %s </strong>
ModuleBuilderDesc4=تم اكتشاف وحدة على أنها "قابلة للتحرير" عندما يكون الملف <strong> %s </strong> موجودًا في جذر دليل الوحدة
NewModule=وحدة جديدة
NewObjectInModulebuilder=كائن جديد
NewDictionary=قاموس جديد
ModuleKey=مفتاح الوحدة
ObjectKey=مفتاح الكائن
DicKey=مفتاح القاموس
ModuleInitialized=الوحدة النمطية مهيأة
FilesForObjectInitialized=تمت تهيئة ملفات الكائن الجديد '%s'
FilesForObjectUpdated=تم تحديث ملفات الكائن '%s' (ملفات .sql وملف .class.php)
ModuleBuilderDescdescription=أدخل هنا جميع المعلومات العامة التي تصف الوحدة الخاصة بك.
ModuleBuilderDescspecifications=يمكنك هنا إدخال وصف تفصيلي لمواصفات وحدتك التي لم يتم تنظيمها بالفعل في علامات تبويب أخرى. لذلك يمكنك الوصول بسهولة إلى جميع القواعد التي يجب تطويرها. سيتم أيضًا تضمين محتوى النص هذا في الوثائق التي تم إنشاؤها (انظر علامة التبويب الأخيرة). يمكنك استخدام تنسيق Markdown ، لكن يوصى باستخدام تنسيق Asciidoc (مقارنة بين .md و .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown).
ModuleBuilderDescobjects=حدد هنا العناصر التي تريد إدارتها باستخدام الوحدة النمطية الخاصة بك. فئة CRUD DAO ، ملفات SQL ، صفحة لسرد سجل الكائنات ، لإنشاء / تحرير / عرض سجل وسيتم إنشاء API.
ModuleBuilderDescmenus=علامة التبويب هذه مخصصة لتعريف إدخالات القائمة التي توفرها الوحدة الخاصة بك.
ModuleBuilderDescpermissions=علامة التبويب هذه مخصصة لتحديد الأذونات الجديدة التي تريد توفيرها لوحدتك.
ModuleBuilderDesctriggers=هذه هي وجهة نظر المشغلات التي توفرها الوحدة الخاصة بك. لتضمين التعليمات البرمجية التي تم تنفيذها عند بدء حدث عمل تم تشغيله ، فقط قم بتحرير هذا الملف.
ModuleBuilderDeschooks=علامة التبويب هذه مخصصة للخطافات.
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.
EnterNameOfModuleToDeleteDesc=You can delete your module. WARNING: All coding files of module (generated or created manually) AND structured data and documentation will be deleted!
EnterNameOfObjectToDeleteDesc=You can delete an object. WARNING: All coding files (generated or created manually) related to object will be deleted!
DangerZone=Danger zone
BuildPackage=Build package
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>.
BuildDocumentation=Build documentation
ModuleIsNotActive=This module is not activated yet. Go to %s to make it live or click here
ModuleIsLive=This module has been activated. Any change may break a current live feature.
DescriptionLong=Long description
EditorName=Name of editor
EditorUrl=URL of editor
DescriptorFile=Descriptor file of module
ClassFile=File for PHP DAO CRUD class
ApiClassFile=File for PHP API class
PageForList=PHP page for list of record
PageForCreateEditView=PHP page to create/edit/view a record
PageForAgendaTab=PHP page for event tab
PageForDocumentTab=PHP page for document tab
PageForNoteTab=PHP page for note tab
PageForContactTab=PHP page for contact tab
PathToModulePackage=Path to zip of module/application package
PathToModuleDocumentation=Path to file of module/application documentation (%s)
SpaceOrSpecialCharAreNotAllowed=Spaces or special characters are not allowed.
FileNotYetGenerated=File not yet generated
RegenerateClassAndSql=Force update of .class and .sql files
RegenerateMissingFiles=Generate missing files
SpecificationFile=File of documentation
LanguageFile=File for language
ObjectProperties=Object Properties
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.
NotNull=Not NULL
NotNullDesc=1=Set database to NOT NULL. -1=Allow null values and force value to NULL if empty ('' or 0).
SearchAll=Used for 'search all'
DatabaseIndex=Database index
FileAlreadyExists=File %s already exists
TriggersFile=File for triggers code
HooksFile=File for hooks code
ArrayOfKeyValues=Array of key-val
ArrayOfKeyValuesDesc=Array of keys and values if field is a combo list with fixed values
ModuleBuilderDescbuildpackage=يمكنك هنا إنشاء ملف حزمة "جاهز للتوزيع" (ملف مضغوط. مضغوط) للوحدة النمطية الخاصة بك وملف توثيق "جاهز للتوزيع". ما عليك سوى النقر فوق الزر لإنشاء الحزمة أو ملف التوثيق.
EnterNameOfModuleToDeleteDesc=يمكنك حذف الوحدة الخاصة بك. تحذير: سيتم حذف جميع ملفات الترميز الخاصة بالوحدة النمطية (التي تم إنشاؤها أو إنشاؤها يدويًا) والبيانات المنظمة والوثائق!
EnterNameOfObjectToDeleteDesc=يمكنك حذف كائن. تحذير: سيتم حذف جميع ملفات الترميز (التي تم إنشاؤها أو إنشاؤها يدويًا) المتعلقة بالكائن!
DangerZone=منطقة الخطر
BuildPackage=بناء الحزمة
BuildPackageDesc=يمكنك إنشاء حزمة مضغوطة لتطبيقك حتى تكون جاهزًا لتوزيعها على أي Dolibarr. يمكنك أيضًا توزيعه أو بيعه في السوق مثل <a href="https://www.dolistore.com"> DoliStore.com </a>.
BuildDocumentation=بناء الوثائق
ModuleIsNotActive=لم يتم تفعيل هذه الوحدة بعد. انتقل إلى %s لتفعيله أو انقر هنا
ModuleIsLive=تم تفعيل هذه الوحدة. قد يؤدي أي تغيير إلى كسر ميزة حية حالية.
DescriptionLong=وصف طويل
EditorName=اسم المحرر
EditorUrl=عنوان URL للمحرر
DescriptorFile=ملف واصف الوحدة
ClassFile=ملف لفئة PHP DAO CRUD
ApiClassFile=ملف لفئة PHP API
PageForList=صفحة PHP لقائمة التسجيلات
PageForCreateEditView=صفحة PHP لإنشاء / تحرير / عرض سجل
PageForAgendaTab=صفحة PHP لعلامة تبويب الحدث
PageForDocumentTab=صفحة PHP لعلامة تبويب المستند
PageForNoteTab=صفحة PHP لعلامة تبويب الملاحظات
PageForContactTab=صفحة PHP لعلامة تبويب الاتصال
PathToModulePackage=المسار إلى الرمز البريدي لحزمة الوحدة / التطبيق
PathToModuleDocumentation=المسار إلى ملف وثائق الوحدة / التطبيق (%s)
SpaceOrSpecialCharAreNotAllowed=غير مسموح بالمسافات أو الأحرف الخاصة.
FileNotYetGenerated=لم يتم إنشاء الملف بعد
RegenerateClassAndSql=فرض تحديث ملفات .class و. sql
RegenerateMissingFiles=توليد الملفات المفقودة
SpecificationFile=ملف التوثيق
LanguageFile=ملف للغة
ObjectProperties=خصائص الموضوع
ConfirmDeleteProperty=هل تريد بالتأكيد حذف الخاصية <strong> %s </strong>؟ سيؤدي هذا إلى تغيير التعليمات البرمجية في فئة PHP ولكن أيضًا إزالة العمود من تعريف الجدول للكائن.
NotNull=غير فارغة
NotNullDesc=1 = تعيين قاعدة البيانات إلى NOT NULL ، 0 = السماح بالقيم الخالية ، -1 = السماح بالقيم الفارغة عن طريق فرض القيمة على NULL إذا كانت فارغة ('' أو 0)
SearchAll=تستخدم لبحث "الكل"
DatabaseIndex=فهرس قاعدة البيانات
FileAlreadyExists=الملف %s موجود بالفعل
TriggersFile=ملف لرمز المشغلات
HooksFile=ملف لرمز هوكس
ArrayOfKeyValues=صفيف مفتاح فال
ArrayOfKeyValuesDesc=صفيف من المفاتيح والقيم إذا كان الحقل عبارة عن قائمة تحرير وسرد بقيم ثابتة
WidgetFile=ملف بريمج
CSSFile=CSS file
JSFile=Javascript file
ReadmeFile=Readme file
ChangeLog=ChangeLog file
TestClassFile=File for PHP Unit Test class
SqlFile=Sql file
PageForLib=File for the common PHP library
PageForObjLib=File for the PHP library dedicated to object
SqlFileExtraFields=Sql file for complementary attributes
SqlFileKey=Sql file for keys
SqlFileKeyExtraFields=Sql file for keys of complementary attributes
AnObjectAlreadyExistWithThisNameAndDiffCase=An object already exists with this name and a different case
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)
IsAMeasure=Is a measure
DirScanned=Directory scanned
NoTrigger=No trigger
CSSFile=ملف CSS
JSFile=ملف جافا سكريبت
ReadmeFile=الملف التمهيدي
ChangeLog=ملف سجل التغيير
TestClassFile=ملف لفئة اختبار وحدة PHP
SqlFile=ملف SQL
PageForLib=ملف لمكتبة PHP الشائعة
PageForObjLib=ملف لمكتبة PHP مخصص للكائن
SqlFileExtraFields=ملف SQL للسمات التكميلية
SqlFileKey=ملف SQL للمفاتيح
SqlFileKeyExtraFields=ملف SQL لمفاتيح السمات التكميلية
AnObjectAlreadyExistWithThisNameAndDiffCase=كائن موجود بالفعل بهذا الاسم وحالة مختلفة
UseAsciiDocFormat=يمكنك استخدام تنسيق Markdown ، لكن يوصى باستخدام تنسيق Asciidoc (omparison بين .md و .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown)
IsAMeasure=هو مقياس
DirScanned=تم مسح الدليل
NoTrigger=لا يوجد مشغل
NoWidget=لا يوجد بريمج
GoToApiExplorer=API explorer
ListOfMenusEntries=List of menu entries
ListOfDictionariesEntries=List of dictionaries entries
ListOfPermissionsDefined=List of defined permissions
SeeExamples=See examples here
EnabledDesc=Condition to have this field active (Examples: 1 or $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)
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
DisplayOnPdf=Display on PDF
IsAMeasureDesc=Can the value of field be cumulated to get a total into list? (Examples: 1 or 0)
SearchAllDesc=Is the field used to make a search from the quick search tool? (Examples: 1 or 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.
LanguageDefDesc=Enter in this files, all the key and the translation for each language file.
MenusDefDesc=Define here the menus provided by your module
DictionariesDefDesc=Define here the dictionaries provided by your module
PermissionsDefDesc=Define here the new permissions provided by your module
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.
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.
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.
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).
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).
SeeIDsInUse=See IDs in use in your installation
SeeReservedIDsRangeHere=See range of reserved IDs
ToolkitForDevelopers=Toolkit for Dolibarr developers
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!
SeeTopRightMenu=See <span class="fa fa-bug"></span> on the top right menu
AddLanguageFile=Add language file
YouCanUseTranslationKey=You can use here a key that is the translation key found into language file (see tab "Languages")
DropTableIfEmpty=(Destroy table if empty)
TableDoesNotExists=The table %s does not exists
TableDropped=Table %s deleted
InitStructureFromExistingTable=Build the structure array string of an existing table
UseAboutPage=Disable the about page
UseDocFolder=Disable the documentation folder
UseSpecificReadme=Use a specific ReadMe
ContentOfREADMECustomized=Note: The content of the README.md file has been replaced with the specific value defined into setup of ModuleBuilder.
RealPathOfModule=Real path of module
ContentCantBeEmpty=Content of file can't be empty
GoToApiExplorer=مستكشف API
ListOfMenusEntries=قائمة إدخالات القائمة
ListOfDictionariesEntries=قائمة إدخالات القواميس
ListOfPermissionsDefined=قائمة الأذونات المحددة
SeeExamples=انظر الأمثلة هنا
EnabledDesc=شرط تنشيط هذا الحقل (أمثلة: 1 أو $ conf-> global-> MYMODULE_MYOPTION)
VisibleDesc=هل الحقل مرئي؟ (أمثلة: 0 = غير مرئي أبدًا ، 1 = مرئي في القائمة وإنشاء / تحديث / عرض النماذج ، 2 = مرئي في القائمة فقط ، 3 = مرئي في نموذج الإنشاء / التحديث / العرض فقط (وليس القائمة) ، 4 = مرئي في القائمة و تحديث / عرض النموذج فقط (وليس الإنشاء) ، 5 = مرئي في نموذج عرض نهاية القائمة فقط (ليس إنشاء ، وليس تحديث). <br> <br> يمكن أن يكون تعبيرًا ، على سبيل المثال: <br> preg_match ('/ public /'، $ _SERVER ['PHP_SELF'])؟ 0: 1 <br> ($ 1-> تعريف الحقوق-> عطلة
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=عرض على PDF
IsAMeasureDesc=هل يمكن تجميع قيمة الحقل للحصول على الإجمالي في القائمة؟ (أمثلة: 1 أو 0)
SearchAllDesc=هل يستخدم الحقل لإجراء بحث من أداة البحث السريع؟ (أمثلة: 1 أو 0)
SpecDefDesc=أدخل هنا جميع الوثائق التي تريد توفيرها مع الوحدة النمطية الخاصة بك والتي لم يتم تحديدها بالفعل بواسطة علامات تبويب أخرى. يمكنك استخدام .md أو أفضل منه ، الصيغة الغنية .asciidoc.
LanguageDefDesc=أدخل في هذه الملفات ، كل المفتاح والترجمة لكل ملف لغة.
MenusDefDesc=حدد هنا القوائم التي توفرها الوحدة الخاصة بك
DictionariesDefDesc=حدد هنا القواميس التي توفرها الوحدة الخاصة بك
PermissionsDefDesc=حدد هنا الأذونات الجديدة التي توفرها الوحدة الخاصة بك
MenusDefDescTooltip=يتم تحديد القوائم التي توفرها الوحدة النمطية / التطبيق الخاص بك في المصفوفة <strong> $ this-> menus </strong> في ملف واصف الوحدة النمطية. يمكنك تحرير هذا الملف يدويًا أو استخدام المحرر المضمن. <br> <br> ملاحظة: بمجرد تحديدها (وإعادة تنشيط الوحدة النمطية) ، تظهر القوائم أيضًا في محرر القائمة المتاح لمستخدمي المسؤولين في %s.
DictionariesDefDescTooltip=يتم تحديد القواميس التي توفرها الوحدة النمطية / التطبيق الخاص بك في المصفوفة <strong> $ this-> القواميس </strong> في ملف واصف الوحدة. يمكنك تحرير هذا الملف يدويًا أو استخدام المحرر المضمن. <br> <br> ملاحظة: بمجرد تحديدها (وإعادة تنشيط الوحدة النمطية) ، تظهر القواميس أيضًا في منطقة الإعداد لمستخدمي المسؤولين على %s.
PermissionsDefDescTooltip=يتم تحديد الأذونات التي توفرها الوحدة النمطية / التطبيق الخاص بك في المصفوفة <strong> $ this-> rights </strong> في ملف واصف الوحدة النمطية. يمكنك تحرير هذا الملف يدويًا أو استخدام المحرر المضمن. <br> <br> ملاحظة: بمجرد تحديدها (وإعادة تنشيط الوحدة النمطية) ، تظهر الأذونات في إعداد الأذونات الافتراضية %s.
HooksDefDesc=حدد في <b> module_parts ['hooks'] </b> الخاصية ، في واصف الوحدة النمطية ، سياق الخطافات التي تريد إدارتها (يمكن العثور على قائمة السياقات من خلال البحث في "<b> initHooks (a09a4fc039. ملف الخطاف لإضافة رمز وظائف hooked (يمكن العثور على الوظائف القابلة للتوصيل من خلال البحث على '<b> executeHooks </b>' في الكود الأساسي).
TriggerDefDesc=حدد في ملف المشغل الكود الذي تريد تنفيذه عند تنفيذ حدث عمل خارج الوحدة النمطية الخاصة بك (الأحداث التي يتم تشغيلها بواسطة وحدات نمطية أخرى).
SeeIDsInUse=انظر المعرفات المستخدمة في التثبيت الخاص بك
SeeReservedIDsRangeHere=انظر مجموعة من المعرفات المحجوزة
ToolkitForDevelopers=مجموعة أدوات لمطوري Dolibarr
TryToUseTheModuleBuilder=إذا كانت لديك معرفة بـ SQL و PHP ، فيمكنك استخدام معالج منشئ الوحدات الأصلية. <br> قم بتمكين الوحدة النمطية <strong> %s </strong> واستخدم المعالج بالنقر فوق <span class="fa fa-bug"> </span> في أعلى القائمة اليمنى. <br> تحذير: هذه ميزة مطور متقدمة ، قم بإجراء تجربة <b> وليس </b> على موقع الإنتاج الخاص بك!
SeeTopRightMenu=شاهد <span class="fa fa-bug"> </span> في القائمة اليمنى العلوية
AddLanguageFile=أضف ملف اللغة
YouCanUseTranslationKey=يمكنك هنا استخدام مفتاح يمثل مفتاح الترجمة الموجود في ملف اللغة (انظر علامة التبويب "اللغات")
DropTableIfEmpty=(تدمير الجدول إذا كان فارغًا)
TableDoesNotExists=الجدول %s غير موجود
TableDropped=تم حذف الجدول %s
InitStructureFromExistingTable=بناء سلسلة مصفوفة الهيكل لجدول موجود
UseAboutPage=لا تقم بإنشاء صفحة حول
UseDocFolder=قم بتعطيل مجلد الوثائق
UseSpecificReadme=استخدم ReadMe محدد
ContentOfREADMECustomized=ملاحظة: تم استبدال محتوى ملف README.md بالقيمة المحددة المحددة في إعداد ModuleBuilder.
RealPathOfModule=المسار الحقيقي للوحدة
ContentCantBeEmpty=لا يمكن أن يكون محتوى الملف فارغًا
WidgetDesc=هنا يمكنك توليد وتعديل البريمجات التي ستضمن مع وحدتك البرمجية
CSSDesc=You can generate and edit here a file with personalized CSS embedded with your module.
JSDesc=You can generate and edit here a file with personalized Javascript embedded with your module.
CLIDesc=You can generate here some command line scripts you want to provide with your module.
CLIFile=CLI File
NoCLIFile=No CLI files
UseSpecificEditorName = Use a specific editor name
UseSpecificEditorURL = Use a specific editor URL
UseSpecificFamily = Use a specific family
UseSpecificAuthor = Use a specific author
UseSpecificVersion = Use a specific initial version
IncludeRefGeneration=The reference of object must be generated automatically
IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference
IncludeDocGeneration=I want to generate some documents from the object
IncludeDocGenerationHelp=If you check this, some code will be generated to add a "Generate document" box on the record.
ShowOnCombobox=Show value into combobox
KeyForTooltip=Key for tooltip
CSSClass=CSS for edit/create form
CSSViewClass=CSS for read form
CSSListClass=CSS for list
NotEditable=Not editable
ForeignKey=Foreign key
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)
AsciiToHtmlConverter=Ascii to HTML converter
AsciiToPdfConverter=Ascii to PDF converter
TableNotEmptyDropCanceled=Table not empty. Drop has been canceled.
ModuleBuilderNotAllowed=The module builder is available but not allowed to your user.
ImportExportProfiles=Import and export profiles
ValidateModBuilderDesc=Put 1 if this field need to be validated with $this->validateField() or 0 if validation required
CSSDesc=يمكنك إنشاء ملف وتحريره هنا باستخدام CSS مخصص مضمّن في الوحدة النمطية الخاصة بك.
JSDesc=يمكنك إنشاء ملف وتحريره هنا باستخدام Javascript مخصص مضمّن في الوحدة النمطية الخاصة بك.
CLIDesc=يمكنك هنا إنشاء بعض البرامج النصية لسطر الأوامر التي تريد تزويدها بالوحدة النمطية الخاصة بك.
CLIFile=ملف CLI
NoCLIFile=لا توجد ملفات CLI
UseSpecificEditorName = استخدم اسم محرر محدد
UseSpecificEditorURL = استخدم URL محرر محدد
UseSpecificFamily = استخدم عائلة معينة
UseSpecificAuthor = استخدم مؤلفًا محددًا
UseSpecificVersion = استخدم نسخة أولية محددة
IncludeRefGeneration=يجب إنشاء مرجع الكائن تلقائيًا بواسطة قواعد الترقيم المخصصة
IncludeRefGenerationHelp=حدد هذا إذا كنت تريد تضمين رمز لإدارة إنشاء المرجع تلقائيًا باستخدام قواعد الترقيم المخصصة
IncludeDocGeneration=أريد إنشاء بعض المستندات من قوالب للكائن
IncludeDocGenerationHelp=إذا حددت هذا ، فسيتم إنشاء بعض التعليمات البرمجية لإضافة مربع "إنشاء مستند" في السجل.
ShowOnCombobox=إظهار القيمة في مربع التحرير والسرد
KeyForTooltip=مفتاح تلميح الأداة
CSSClass=CSS لتحرير / إنشاء النموذج
CSSViewClass=CSS لقراءة النموذج
CSSListClass=CSS للحصول على قائمة
NotEditable=غير قابل للتحرير
ForeignKey=مفتاح غريب
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 لتحويل HTML
AsciiToPdfConverter=Ascii لتحويل PDF
TableNotEmptyDropCanceled=الجدول ليس فارغًا. تم إلغاء الإسقاط.
ModuleBuilderNotAllowed=منشئ الوحدات متاح ولكن غير مسموح به للمستخدم الخاص بك.
ImportExportProfiles=ملفات تعريف الاستيراد والتصدير
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
ConfigOAuth=OAuth Configuration
OAuthServices=OAuth Services
ManualTokenGeneration=Manual token generation
TokenManager=Token Manager
IsTokenGenerated=Is token generated ?
ConfigOAuth=تهيئة OAuth
OAuthServices=خدمات OAuth
ManualTokenGeneration=توليد الرمز اليدوي
TokenManager=مدير الرموز
IsTokenGenerated=هل تم إنشاء الرمز المميز؟
NoAccessToken=لا رمز وصول حفظها في قاعدة البيانات المحلية
HasAccessToken=تم إنشاء رمز مميز وحفظها في قاعدة البيانات المحلية
NewTokenStored=Token received and saved
ToCheckDeleteTokenOnProvider=Click here to check/delete authorization saved by %s OAuth provider
NewTokenStored=تم استلام الرمز وحفظه
ToCheckDeleteTokenOnProvider=انقر هنا للتحقق / حذف التفويض المحفوظ بواسطة موفر %s OAuth
TokenDeleted=حذف رمز
RequestAccess=انقر هنا لطلب / تجديد الوصول والحصول على رمز جديد لإنقاذ
RequestAccess=انقر هنا لطلب / تجديد الوصول والحصول على رمز جديد
DeleteAccess=انقر هنا لحذف رمز
UseTheFollowingUrlAsRedirectURI=Use the following URL as the Redirect URI when creating your credentials with your OAuth provider:
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.
OAuthSetupForLogin=Page to generate an OAuth token
SeePreviousTab=See previous tab
OAuthIDSecret=OAuth ID and Secret
UseTheFollowingUrlAsRedirectURI=استخدم عنوان URL التالي باعتباره Redirect URI عند إنشاء بيانات الاعتماد الخاصة بك مع موفر OAuth الخاص بك:
ListOfSupportedOauthProviders=أضف موفري رمز OAuth2 المميز. بعد ذلك ، انتقل إلى صفحة مشرف موفر OAuth لإنشاء / الحصول على معرّف وسر OAuth وحفظهما هنا. بمجرد الانتهاء من ذلك ، قم بتشغيل علامة التبويب الأخرى لإنشاء الرمز المميز الخاص بك.
OAuthSetupForLogin=صفحة لإدارة (إنشاء / حذف) رموز OAuth المميزة
SeePreviousTab=انظر علامة التبويب السابقة
OAuthProvider=مزود OAuth
OAuthIDSecret=معرف وسر OAuth
TOKEN_REFRESH=رمزي تحميل الحاضر
TOKEN_EXPIRED=Token expired
TOKEN_EXPIRED=انتهت صلاحية الرمز
TOKEN_EXPIRE_AT=رمز تنتهي في
TOKEN_DELETE=حذف رمز المحفوظة
OAUTH_GOOGLE_NAME=OAuth Google service
OAUTH_GOOGLE_ID=OAuth Google Id
OAUTH_GOOGLE_NAME=خدمة OAuth Google
OAUTH_GOOGLE_ID=معرف Google OAuth
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 service
OAUTH_GITHUB_ID=OAuth GitHub Id
OAUTH_GITHUB_NAME=خدمة OAuth GitHub
OAUTH_GITHUB_ID=معرف OAuth GitHub
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_STRIPE_TEST_NAME=OAuth Stripe Test
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
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
SecurityCode=رمز الحماية
NumberingShort=
NumberingShort=رقم
Tools=أدوات
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=عيد ميلاد
BirthdayAlertOn=عيد ميلاد النشطة في حالة تأهب
BirthdayAlertOff=عيد الميلاد فى حالة تأهب الخاملة
TransKey=Translation of the key TransKey
MonthOfInvoice=Month (number 1-12) of invoice date
TextMonthOfInvoice=Month (text) of invoice date
PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date
TextPreviousMonthOfInvoice=Previous month (text) of invoice date
NextMonthOfInvoice=Following month (number 1-12) of invoice date
TextNextMonthOfInvoice=Following month (text) of invoice date
PreviousMonth=Previous month
CurrentMonth=Current month
ZipFileGeneratedInto=Zip file generated into <b>%s</b>.
DocFileGeneratedInto=Doc file generated into <b>%s</b>.
JumpToLogin=Disconnected. Go to login page...
MessageForm=Message on online payment form
MessageOK=Message on the return page for a validated payment
MessageKO=Message on the return page for a canceled payment
ContentOfDirectoryIsNotEmpty=Content of this directory is not empty.
DeleteAlsoContentRecursively=Check to delete all content recursively
PoweredBy=Powered by
YearOfInvoice=Year of invoice date
PreviousYearOfInvoice=Previous year of invoice date
NextYearOfInvoice=Following year of invoice date
DateNextInvoiceBeforeGen=Date of next invoice (before generation)
DateNextInvoiceAfterGen=Date of next invoice (after generation)
GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead.
OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected.
AtLeastOneMeasureIsRequired=At least 1 field for measure is required
AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required
LatestBlogPosts=Latest Blog Posts
notiftouser=To users
notiftofixedemail=To fixed mail
notiftouserandtofixedemail=To user and fixed mail
Notify_ORDER_VALIDATE=Sales order validated
Notify_ORDER_SENTBYMAIL=Sales order sent by mail
Notify_ORDER_SUPPLIER_SENTBYMAIL=Purchase order sent by email
Notify_ORDER_SUPPLIER_VALIDATE=Purchase order recorded
Notify_ORDER_SUPPLIER_APPROVE=Purchase order approved
Notify_ORDER_SUPPLIER_REFUSE=Purchase order refused
TransKey=ترجمة المفتاح TransKey
MonthOfInvoice=شهر (رقم 1-12) من تاريخ الفاتورة
TextMonthOfInvoice=شهر (نص) من تاريخ الفاتورة
PreviousMonthOfInvoice=الشهر السابق (رقم 1-12) من تاريخ الفاتورة
TextPreviousMonthOfInvoice=الشهر السابق (نص) من تاريخ الفاتورة
NextMonthOfInvoice=الشهر التالي (رقم 1-12) من تاريخ الفاتورة
TextNextMonthOfInvoice=الشهر التالي (نص) من تاريخ الفاتورة
PreviousMonth=الشهر الماضى
CurrentMonth=الشهر الحالي
ZipFileGeneratedInto=تم إنشاء ملف مضغوط في <b> %s </b>.
DocFileGeneratedInto=تم إنشاء ملف doc في <b> %s </b>.
JumpToLogin=انقطع الاتصال. انتقل إلى صفحة تسجيل الدخول ...
MessageForm=رسالة في نموذج الدفع عبر الإنترنت
MessageOK=رسالة على صفحة العودة لعملية دفع تم التحقق من صحتها
MessageKO=رسالة على صفحة الإرجاع بخصوص الدفعة الملغاة
ContentOfDirectoryIsNotEmpty=محتوى هذا الدليل ليس فارغًا.
DeleteAlsoContentRecursively=تحقق لحذف كل المحتوى بشكل متكرر
PoweredBy=مشغل بواسطة
YearOfInvoice=سنة تاريخ الفاتورة
PreviousYearOfInvoice=السنة السابقة لتاريخ الفاتورة
NextYearOfInvoice=السنة التالية لتاريخ الفاتورة
DateNextInvoiceBeforeGen=تاريخ الفاتورة التالية (قبل التوليد)
DateNextInvoiceAfterGen=تاريخ الفاتورة التالية (بعد التوليد)
GraphInBarsAreLimitedToNMeasures=قطع العنب محدودة بمقاييس %s في وضع "أشرطة". تم تحديد الوضع "Lines" تلقائيًا بدلاً من ذلك.
OnlyOneFieldForXAxisIsPossible=حقل واحد فقط ممكن حاليًا كمحور س. تم تحديد الحقل الأول المحدد فقط.
AtLeastOneMeasureIsRequired=مطلوب حقل واحد على الأقل للقياس
AtLeastOneXAxisIsRequired=مطلوب حقل واحد على الأقل للمحور السيني
LatestBlogPosts=أحدث مشاركات المدونة
notiftouser=للمستخدمين
notiftofixedemail=إلى البريد الثابت
notiftouserandtofixedemail=للمستخدم والبريد الثابت
Notify_ORDER_VALIDATE=تم التحقق من صحة أمر المبيعات
Notify_ORDER_SENTBYMAIL=تم إرسال أمر المبيعات بالبريد
Notify_ORDER_SUPPLIER_SENTBYMAIL=تم إرسال طلب الشراء عن طريق البريد الإلكتروني
Notify_ORDER_SUPPLIER_VALIDATE=تم تسجيل أمر الشراء
Notify_ORDER_SUPPLIER_APPROVE=تمت الموافقة على أمر الشراء
Notify_ORDER_SUPPLIER_REFUSE=تم رفض أمر الشراء
Notify_PROPAL_VALIDATE=التحقق من صحة اقتراح العملاء
Notify_PROPAL_CLOSE_SIGNED=Customer proposal closed signed
Notify_PROPAL_CLOSE_REFUSED=Customer proposal closed refused
Notify_PROPAL_CLOSE_SIGNED=تم توقيع اقتراح العميل
Notify_PROPAL_CLOSE_REFUSED=تم رفض اقتراح العميل
Notify_PROPAL_SENTBYMAIL=اقتراح التجارية المرسلة عن طريق البريد
Notify_WITHDRAW_TRANSMIT=انتقال انسحاب
Notify_WITHDRAW_CREDIT=انسحاب الائتمان
@ -55,85 +55,85 @@ Notify_COMPANY_CREATE=طرف ثالث إنشاء
Notify_COMPANY_SENTBYMAIL=الرسائل المرسلة من بطاقة طرف ثالث
Notify_BILL_VALIDATE=فاتورة مصادق
Notify_BILL_UNVALIDATE=فاتورة العميل unvalidated
Notify_BILL_PAYED=Customer invoice paid
Notify_BILL_PAYED=فاتورة العميل مدفوعة
Notify_BILL_CANCEL=فاتورة الزبون إلغاء
Notify_BILL_SENTBYMAIL=فاتورة الزبون إرسالها عن طريق البريد
Notify_BILL_SUPPLIER_VALIDATE=Vendor invoice validated
Notify_BILL_SUPPLIER_PAYED=Vendor invoice paid
Notify_BILL_SUPPLIER_SENTBYMAIL=Vendor invoice sent by mail
Notify_BILL_SUPPLIER_CANCELED=Vendor invoice cancelled
Notify_BILL_SUPPLIER_VALIDATE=التحقق من صحة فاتورة البائع
Notify_BILL_SUPPLIER_PAYED=دفع فاتورة البائع
Notify_BILL_SUPPLIER_SENTBYMAIL=فاتورة البائع المرسلة بالبريد
Notify_BILL_SUPPLIER_CANCELED=تم إلغاء فاتورة البائع
Notify_CONTRACT_VALIDATE=التحقق من صحة العقد
Notify_FICHINTER_VALIDATE=التحقق من التدخل
Notify_FICHINTER_ADD_CONTACT=Added contact to Intervention
Notify_FICHINTER_ADD_CONTACT=تمت إضافة جهة اتصال إلى التدخل
Notify_FICHINTER_SENTBYMAIL=تدخل ترسل عن طريق البريد
Notify_SHIPPING_VALIDATE=التحقق من صحة الشحن
Notify_SHIPPING_SENTBYMAIL=الشحن ترسل عن طريق البريد
Notify_MEMBER_VALIDATE=عضو مصدق
Notify_MEMBER_MODIFY=تعديل الأعضاء
Notify_MEMBER_SUBSCRIPTION=عضو المكتتب
Notify_MEMBER_RESILIATE=Member terminated
Notify_MEMBER_RESILIATE=تم إنهاء العضو
Notify_MEMBER_DELETE=عضو حذف
Notify_PROJECT_CREATE=إنشاء مشروع
Notify_TASK_CREATE=مهمة إنشاء
Notify_TASK_MODIFY=تعديل مهمة
Notify_TASK_DELETE=حذف المهمة
Notify_EXPENSE_REPORT_VALIDATE=Expense report validated (approval required)
Notify_EXPENSE_REPORT_APPROVE=Expense report approved
Notify_HOLIDAY_VALIDATE=Leave request validated (approval required)
Notify_HOLIDAY_APPROVE=Leave request approved
Notify_ACTION_CREATE=Added action to Agenda
Notify_EXPENSE_REPORT_VALIDATE=تم التحقق من صحة تقرير المصاريف (الموافقة مطلوبة)
Notify_EXPENSE_REPORT_APPROVE=تمت الموافقة على تقرير المصاريف
Notify_HOLIDAY_VALIDATE=تم التحقق من صحة طلب الإجازة (الموافقة مطلوبة)
Notify_HOLIDAY_APPROVE=تمت الموافقة على طلب الإجازة
Notify_ACTION_CREATE=تمت إضافة الإجراء إلى جدول الأعمال
SeeModuleSetup=انظر إعداد وحدة٪ الصورة
NbOfAttachedFiles=عدد الملفات المرفقة / وثائق
TotalSizeOfAttachedFiles=اجمالى حجم الملفات المرفقة / وثائق
MaxSize=الحجم الأقصى
AttachANewFile=إرفاق ملف جديد / وثيقة
LinkedObject=ربط وجوه
NbOfActiveNotifications=Number of notifications (no. of recipient emails)
PredefinedMailTest=__(Hello)__\nThis is a test mail sent to __EMAIL__.\nThe lines are separated by a carriage return.\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__
PredefinedMailContentContract=__(Hello)__\n\n\n__(Sincerely)__\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__
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__
PredefinedMailContentSendProposal=__(Hello)__\n\nPlease find commercial proposal __REF__ attached \n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierProposal=__(Hello)__\n\nPlease find price request __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendOrder=__(Hello)__\n\nPlease find order __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierOrder=__(Hello)__\n\nPlease find our order __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierInvoice=__(Hello)__\n\nPlease find invoice __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendShipping=__(Hello)__\n\nPlease find shipping __REF__ attached\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendFichInter=__(Hello)__\n\nPlease find intervention __REF__ attached\n\n\n__(Sincerely)__\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
PredefinedMailContentGeneric=__(Hello)__\n\n\n__(Sincerely)__\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.
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.
ChooseYourDemoProfil=Choose the demo profile that best suits your needs...
ChooseYourDemoProfilMore=...or build your own profile<br>(manual module selection)
NbOfActiveNotifications=عدد الإخطارات (عدد رسائل البريد الإلكتروني للمستلم)
PredefinedMailTest=__(مرحبًا)__\nهذا بريد اختباري تم إرساله إلى __EMAIL__.\nيتم فصل السطور بواسطة حرف إرجاع.\n\n__USER_SIGNATURE__
PredefinedMailTestHtml=__ (مرحبًا) __ <br> هذا اختبار <b> بريد </b> مرسل إلى __EMAIL__ (يجب أن يكون اختبار الكلمة بالخط العريض). <br> يتم فصل السطور بواسطة حرف إرجاع. <br> <br> __USER_SIGNATURE__
PredefinedMailContentContract=__(مرحبًا)__\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendInvoice=__(مرحبًا)__\n\nمن فضلك تجد الفاتورة __REF__ مرفقة\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendInvoiceReminder=__(مرحبًا)__\n\nنود أن نذكرك أنه يبدو أن الفاتورة __REF__ لم يتم دفعها. تم إرفاق نسخة من الفاتورة كتذكير.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendProposal=__(مرحبًا)__\n\nالرجاء العثور على الاقتراح التجاري __REF__ مرفقًا\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierProposal=__(مرحبًا)__\n\nيرجى الاطلاع على طلب السعر __REF__ مرفقًا\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendOrder=__(مرحبًا)__\n\nيرجى العثور على الطلب __REF__ مرفقًا\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierOrder=__(مرحبًا)__\n\nيرجى العثور على طلبنا __REF__ مرفقًا\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendSupplierInvoice=__(مرحبًا)__\n\nمن فضلك تجد الفاتورة __REF__ مرفقة\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendShipping=__(مرحبًا)__\n\nيرجى العثور على الشحن __REF__ مرفقًا\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendFichInter=__(مرحبًا)__\n\nيرجى العثور على تدخل __REF__ مرفق\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentLink=يمكنك النقر فوق الارتباط أدناه لإجراء الدفع الخاص بك إذا لم يكن قد تم بالفعل.\n\n%s\n\n
PredefinedMailContentGeneric=__(مرحبًا)__\n\n\n__(بإخلاص)__\n\n__USER_SIGNATURE__
PredefinedMailContentSendActionComm=تذكير الحدث "__EVENT_LABEL__" في __EVENT_DATE__ في __EVENT_TIME__ <br> <br> هذه رسالة تلقائية ، من فضلك لا ترد.
DemoDesc=Dolibarr هو ERP / CRM مدمج يدعم العديد من وحدات الأعمال. العرض التوضيحي الذي يعرض جميع الوحدات لا معنى له لأن هذا السيناريو لا يحدث أبدًا (تتوفر عدة مئات). لذلك ، تتوفر عدة ملفات تعريف تجريبية.
ChooseYourDemoProfil=اختر الملف الشخصي التجريبي الذي يناسب احتياجاتك ...
ChooseYourDemoProfilMore=... أو قم ببناء ملف التعريف الخاص بك <br> (اختيار وحدة يدوية)
DemoFundation=أعضاء في إدارة مؤسسة
DemoFundation2=إدارة وأعضاء في الحساب المصرفي للمؤسسة
DemoCompanyServiceOnly=Company or freelance selling service only
DemoCompanyShopWithCashDesk=Manage a shop with a cash box
DemoCompanyProductAndStocks=Shop selling products with Point Of Sales
DemoCompanyManufacturing=Company manufacturing products
DemoCompanyAll=Company with multiple activities (all main modules)
DemoCompanyServiceOnly=شركة أو خدمة بيع لحسابهم الخاص فقط
DemoCompanyShopWithCashDesk=إدارة متجر بصندوق نقدي
DemoCompanyProductAndStocks=متجر بيع المنتجات مع نقاط البيع
DemoCompanyManufacturing=منتجات الشركة المصنعة
DemoCompanyAll=شركة ذات أنشطة متعددة (جميع الوحدات الرئيسية)
CreatedBy=أوجدتها ٪ ق
ModifiedBy=المعدلة ق ٪
ValidatedBy=يصادق عليها ق ٪
SignedBy=Signed by %s
SignedBy=بتوقيع %s
ClosedBy=أغلقت ٪ ق
CreatedById=هوية المستخدم الذي إنشاء
ModifiedById=User id who made latest change
ModifiedById=معرف المستخدم الذي قام بأحدث تغيير
ValidatedById=هوية المستخدم الذي التحقق من صحة
CanceledById=هوية المستخدم الذي ألغى
ClosedById=هوية المستخدم الذي أغلق
CreatedByLogin=تسجيل دخول المستخدم الذي إنشاء
ModifiedByLogin=User login who made latest change
ModifiedByLogin=تسجيل دخول المستخدم الذي قام بآخر تغيير
ValidatedByLogin=تسجيل دخول المستخدم الذي التحقق من صحة
CanceledByLogin=تسجيل دخول المستخدم الذي ألغى
ClosedByLogin=تسجيل دخول المستخدم الذي أغلق
FileWasRemoved=تم حذف الملف
DirWasRemoved=دليل أزيل
FeatureNotYetAvailable=Feature not yet available in the current version
FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse
FeaturesSupported=Supported features
FeatureNotYetAvailable=الميزة غير متوفرة بعد في الإصدار الحالي
FeatureNotAvailableOnDevicesWithoutMouse=الميزة غير متوفرة على الأجهزة التي لا تحتوي على ماوس
FeaturesSupported=الميزات المعتمدة
Width=عرض
Height=ارتفاع
Depth=متعمق
@ -144,7 +144,7 @@ Right=حق
CalculatedWeight=يحسب الوزن
CalculatedVolume=يحسب حجم
Weight=وزن
WeightUnitton=ton
WeightUnitton=طن
WeightUnitkg=كجم
WeightUnitg=ز
WeightUnitmg=مغلم
@ -180,48 +180,48 @@ SizeUnitinch=بوصة
SizeUnitfoot=قدم
SizeUnitpoint=نقطة
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=عودة إلى صفحة تسجيل الدخول
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>
DolibarrDemo=Dolibarr تخطيط موارد المؤسسات وإدارة علاقات العملاء التجريبي
StatsByNumberOfUnits=Statistics for sum of qty of products/services
StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...)
NumberOfProposals=Number of proposals
NumberOfCustomerOrders=Number of sales orders
NumberOfCustomerInvoices=Number of customer invoices
NumberOfSupplierProposals=Number of vendor proposals
NumberOfSupplierOrders=Number of purchase orders
NumberOfSupplierInvoices=Number of vendor invoices
NumberOfContracts=Number of contracts
NumberOfMos=Number of manufacturing orders
NumberOfUnitsProposals=Number of units on proposals
NumberOfUnitsCustomerOrders=Number of units on sales orders
NumberOfUnitsCustomerInvoices=Number of units on customer invoices
NumberOfUnitsSupplierProposals=Number of units on vendor proposals
NumberOfUnitsSupplierOrders=Number of units on purchase orders
NumberOfUnitsSupplierInvoices=Number of units on vendor invoices
NumberOfUnitsContracts=Number of units on contracts
NumberOfUnitsMos=Number of units to produce in manufacturing orders
EMailTextInterventionAddedContact=A new intervention %s has been assigned to you.
StatsByNumberOfUnits=إحصائيات لمجموع كمية المنتجات / الخدمات
StatsByNumberOfEntities=إحصائيات لعدد الكيانات المحيلة (عدد الفواتير أو الطلبات ...)
NumberOfProposals=عدد العروض
NumberOfCustomerOrders=عدد أوامر المبيعات
NumberOfCustomerInvoices=عدد فواتير العميل
NumberOfSupplierProposals=عدد عروض البائعين
NumberOfSupplierOrders=عدد أوامر الشراء
NumberOfSupplierInvoices=عدد فواتير البائعين
NumberOfContracts=عدد العقود
NumberOfMos=عدد أوامر التصنيع
NumberOfUnitsProposals=عدد الوحدات في المقترحات
NumberOfUnitsCustomerOrders=عدد الوحدات في أوامر المبيعات
NumberOfUnitsCustomerInvoices=عدد الوحدات في فواتير العميل
NumberOfUnitsSupplierProposals=عدد الوحدات في عروض البائعين
NumberOfUnitsSupplierOrders=عدد الوحدات في أوامر الشراء
NumberOfUnitsSupplierInvoices=عدد الوحدات في فواتير البائعين
NumberOfUnitsContracts=عدد الوحدات في العقود
NumberOfUnitsMos=عدد الوحدات المطلوب إنتاجها في أوامر التصنيع
EMailTextInterventionAddedContact=تم تعيين تدخل جديد لك %s.
EMailTextInterventionValidated=التدخل ٪ ق المصادق
EMailTextInvoiceValidated=Invoice %s has been validated.
EMailTextInvoicePayed=Invoice %s has been paid.
EMailTextProposalValidated=Proposal %s has been validated.
EMailTextProposalClosedSigned=Proposal %s has been closed signed.
EMailTextOrderValidated=Order %s has been validated.
EMailTextOrderApproved=Order %s has been approved.
EMailTextOrderValidatedBy=Order %s has been recorded by %s.
EMailTextOrderApprovedBy=Order %s has been approved by %s.
EMailTextOrderRefused=Order %s has been refused.
EMailTextOrderRefusedBy=Order %s has been refused by %s.
EMailTextExpeditionValidated=Shipping %s has been validated.
EMailTextExpenseReportValidated=Expense report %s has been validated.
EMailTextExpenseReportApproved=Expense report %s has been approved.
EMailTextHolidayValidated=Leave request %s has been validated.
EMailTextHolidayApproved=Leave request %s has been approved.
EMailTextActionAdded=The action %s has been added to the Agenda.
EMailTextInvoiceValidated=تم التحقق من صحة الفاتورة %s.
EMailTextInvoicePayed=تم دفع الفاتورة %s.
EMailTextProposalValidated=تم التحقق من صحة الاقتراح %s.
EMailTextProposalClosedSigned=تم إغلاق الاقتراح %s وتوقيعه.
EMailTextOrderValidated=تم التحقق من صحة الطلب %s.
EMailTextOrderApproved=تمت الموافقة على الطلب %s.
EMailTextOrderValidatedBy=تم تسجيل الطلب %s بواسطة %s.
EMailTextOrderApprovedBy=تمت الموافقة على الطلب %s بواسطة %s.
EMailTextOrderRefused=تم رفض الطلب %s.
EMailTextOrderRefusedBy=تم رفض الطلب %s بواسطة %s.
EMailTextExpeditionValidated=تم التحقق من صحة الشحن %s.
EMailTextExpenseReportValidated=تم التحقق من صحة تقرير المصاريف %s.
EMailTextExpenseReportApproved=تمت الموافقة على تقرير المصاريف %s.
EMailTextHolidayValidated=تم التحقق من صحة طلب الإجازة %s.
EMailTextHolidayApproved=تمت الموافقة على طلب الإجازة %s.
EMailTextActionAdded=تمت إضافة الإجراء %s إلى الأجندة.
ImportedWithSet=استيراد مجموعة البيانات
DolibarrNotification=إشعار تلقائي
ResizeDesc=أدخل عرض جديدة <b>أو</b> ارتفاع جديد. وستبقى نسبة خلال تغيير حجم...
@ -229,7 +229,7 @@ NewLength=عرض جديد
NewHeight=ارتفاع جديد
NewSizeAfterCropping=حجم جديد بعد الاقتصاص
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=صورة المحرر
YouReceiveMailBecauseOfNotification=تلقيت هذه الرسالة لأنه قد تم إضافة البريد الإلكتروني الخاص بك إلى قائمة الأهداف التي يتعين على علم الأحداث ولا سيما في صناعة البرمجيات من %s %s.
YouReceiveMailBecauseOfNotification2=هذا الحدث هو ما يلي :
@ -242,65 +242,86 @@ StartUpload=بدء التحميل
CancelUpload=إلغاء التحميل
FileIsTooBig=ملفات كبيرة جدا
PleaseBePatient=يرجى التحلي بالصبر...
NewPassword=New password
ResetPassword=Reset password
RequestToResetPasswordReceived=A request to change your password has been received.
NewPassword=كلمة السر الجديدة
ResetPassword=إعادة تعيين كلمة المرور
RequestToResetPasswordReceived=تم استلام طلب لتغيير كلمة المرور الخاصة بك.
NewKeyIs=هذا هو مفاتيح جديدة لتسجيل الدخول
NewKeyWillBe=والمفتاح الجديد الخاص بك للدخول إلى برنامج يكون
ClickHereToGoTo=انقر هنا للذهاب إلى٪ s
YouMustClickToChange=ولكن يجب النقر فوق لأول مرة على الرابط التالي للتحقق من صحة هذا تغيير كلمة المرور
ConfirmPasswordChange=Confirm password change
ConfirmPasswordChange=تأكيد تغيير كلمة المرور
ForgetIfNothing=إذا كنت لم تطلب هذا التغيير، أن ينسوا هذا البريد الإلكتروني. يتم الاحتفاظ بيانات الاعتماد الخاصة بك آمنة.
IfAmountHigherThan=إذا قدر أعلى <strong>من٪ الصورة</strong>
SourcesRepository=مستودع للمصادر
Chart=Chart
PassEncoding=Password encoding
PermissionsAdd=Permissions added
PermissionsDelete=Permissions removed
YourPasswordMustHaveAtLeastXChars=Your password must have at least <strong>%s</strong> chars
PasswordNeedAtLeastXUpperCaseChars=The password need at least <strong>%s</strong> upper case chars
PasswordNeedAtLeastXDigitChars=The password need at least <strong>%s</strong> numeric chars
PasswordNeedAtLeastXSpecialChars=The password need at least <strong>%s</strong> special chars
PasswordNeedNoXConsecutiveChars=The password must not have <strong>%s</strong> consecutive similar chars
YourPasswordHasBeenReset=Your password has been reset successfully
ApplicantIpAddress=IP address of applicant
SMSSentTo=SMS sent to %s
MissingIds=Missing ids
ThirdPartyCreatedByEmailCollector=Third party created by email collector from email MSGID %s
ContactCreatedByEmailCollector=Contact/address created by email collector from email MSGID %s
ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s
TicketCreatedByEmailCollector=Ticket created by email collector from email 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
SuffixSessionName=Suffix for session name
LoginWith=Login with %s
Chart=جدول
PassEncoding=ترميز كلمة المرور
PermissionsAdd=تمت إضافة الأذونات
PermissionsDelete=تمت إزالة الأذونات
YourPasswordMustHaveAtLeastXChars=يجب أن تحتوي كلمة مرورك على الأقل على <strong> %s </strong> حرفًا
PasswordNeedAtLeastXUpperCaseChars=كلمة المرور تحتاج على الأقل <strong> %s </strong> أحرف كبيرة
PasswordNeedAtLeastXDigitChars=كلمة المرور تحتاج على الأقل <strong> %s </strong> أحرف رقمية
PasswordNeedAtLeastXSpecialChars=تحتاج كلمة المرور إلى أحرف خاصة <strong> %s </strong> على الأقل
PasswordNeedNoXConsecutiveChars=يجب ألا تحتوي كلمة المرور على <strong> %s </strong> أحرف متتالية مماثلة
YourPasswordHasBeenReset=تم إعادة تعيين كلمة المرور الخاصة بك بنجاح
ApplicantIpAddress=عنوان IP لمقدم الطلب
SMSSentTo=تم إرسال رسالة نصية قصيرة إلى %s
MissingIds=معرفات مفقودة
ThirdPartyCreatedByEmailCollector=طرف ثالث تم إنشاؤه بواسطة جامع البريد الإلكتروني من البريد الإلكتروني MSGID %s
ContactCreatedByEmailCollector=جهة الاتصال / العنوان الذي تم إنشاؤه بواسطة جامع البريد الإلكتروني من البريد الإلكتروني MSGID %s
ProjectCreatedByEmailCollector=تم إنشاء المشروع بواسطة جامع البريد الإلكتروني من البريد الإلكتروني MSGID %s
TicketCreatedByEmailCollector=تم إنشاء التذكرة بواسطة جامع البريد الإلكتروني من البريد الإلكتروني MSGID %s
OpeningHoursFormatDesc=استخدم - للفصل بين ساعات الفتح والإغلاق. <br> استخدم مسافة لإدخال نطاقات مختلفة. <br> مثال: 8-12 14-18
SuffixSessionName=لاحقة لاسم الجلسة
LoginWith=تسجيل الدخول باستخدام %s
##### Export #####
ExportsArea=صادرات المنطقة
AvailableFormats=الأشكال المتاحة
LibraryUsed=وتستخدم المكتبة
LibraryVersion=Library version
LibraryVersion=نسخة المكتبة
ExportableDatas=تصدير datas
NoExportableData=ليس للتصدير البيانات (أي وحدات للتصدير مع تحميل البيانات ، ومفقود أذونات)
##### External sites #####
WebsiteSetup=Setup of module website
WEBSITE_PAGEURL=URL of page
WebsiteSetup=إعداد موقع الوحدة النمطية
WEBSITE_PAGEURL=عنوان URL للصفحة
WEBSITE_TITLE=العنوان
WEBSITE_DESCRIPTION=الوصف
WEBSITE_IMAGE=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_KEYWORDS=Keywords
LinesToImport=Lines to import
WEBSITE_IMAGE=صورة
WEBSITE_IMAGEDesc=المسار النسبي لوسائط الصورة. يمكنك الاحتفاظ بهذا فارغًا لأنه نادرًا ما يتم استخدامه (يمكن استخدامه بواسطة المحتوى الديناميكي لإظهار صورة مصغرة في قائمة منشورات المدونة). استخدم __WEBSITE_KEY__ في المسار إذا كان المسار يعتمد على اسم موقع الويب (على سبيل المثال: image / __ WEBSITE_KEY __ / stories / myimage.png).
WEBSITE_KEYWORDS=الكلمات الدالة
LinesToImport=خطوط للاستيراد
MemoryUsage=Memory usage
RequestDuration=Duration of request
ProductsPerPopularity=Products/Services by popularity
PopuProp=Products/Services by popularity in Proposals
PopuCom=Products/Services by popularity in Orders
ProductStatistics=Products/Services Statistics
NbOfQtyInOrders=Qty in orders
SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics...
MemoryUsage=استخدام الذاكرة
RequestDuration=مدة الطلب
ProductsPerPopularity=المنتجات / الخدمات حسب الشعبية
PopuProp=المنتجات / الخدمات حسب الشعبية في العروض
PopuCom=المنتجات / الخدمات حسب الشعبية في الطلبات
ProductStatistics=إحصاءات المنتجات / الخدمات
NbOfQtyInOrders=الكمية بالطلبات
SelectTheTypeOfObjectToAnalyze=حدد كائنًا لعرض الإحصائيات الخاصة به ...
ConfirmBtnCommonContent = Are you sure you want to "%s" ?
ConfirmBtnCommonTitle = Confirm your action
ConfirmBtnCommonContent = هل أنت متأكد أنك تريد "%s"؟
ConfirmBtnCommonTitle = قم بتأكيد عملك
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
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, ...)
PaypalOrCBDoPayment=Pay with PayPal (Card or PayPal)
PaypalDoPayment=Pay with PayPal
PaypalDesc=تسمح هذه الوحدة بالدفع من قبل العملاء عبر <a href="https://www.paypal.com" target="_blank" rel="noopener noreferrer external"> PayPal </a>. يمكن استخدام هذا للدفع المخصص أو للدفع المتعلق بأحد عناصر Dolibarr (فاتورة ، أمر ، ...)
PaypalOrCBDoPayment=الدفع باستخدام PayPal (البطاقة أو PayPal)
PaypalDoPayment=الدفع بواسط باى بال
PAYPAL_API_SANDBOX=وضع الاختبار / رمل
PAYPAL_API_USER=API المستخدم
PAYPAL_API_PASSWORD=API كلمة السر
PAYPAL_API_SIGNATURE=API توقيع
PAYPAL_SSLVERSION=Curl SSL Version
PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Offer "integral" payment (Credit card+PayPal) or "PayPal" only
PAYPAL_SSLVERSION=إصدار Curl SSL
PAYPAL_API_INTEGRAL_OR_PAYPALONLY=عرض الدفع "المتكامل" (بطاقة الائتمان + PayPal) أو "PayPal" فقط
PaypalModeIntegral=التكامل
PaypalModeOnlyPaypal=باي بال فقط
ONLINE_PAYMENT_CSS_URL=Optional URL of CSS stylesheet on online payment page
ONLINE_PAYMENT_CSS_URL=عنوان URL اختياري لورقة أنماط CSS على صفحة الدفع عبر الإنترنت
ThisIsTransactionId=هذا هو معرف من الصفقة: <b>%s</b>
PAYPAL_ADD_PAYMENT_URL=Include the PayPal payment url when you send a document by email
NewOnlinePaymentReceived=New online payment received
NewOnlinePaymentFailed=New online payment tried but failed
ONLINE_PAYMENT_SENDEMAIL=Email address for notifications after each payment attempt (for success and fail)
PAYPAL_ADD_PAYMENT_URL=قم بتضمين عنوان url الخاص بالدفع في PayPal عند إرسال مستند عبر البريد الإلكتروني
NewOnlinePaymentReceived=تم استلام دفعة جديدة عبر الإنترنت
NewOnlinePaymentFailed=تمت محاولة دفع جديد عبر الإنترنت لكنها فشلت
ONLINE_PAYMENT_SENDEMAIL=عنوان البريد الإلكتروني للإشعارات بعد كل محاولة دفع (للنجاح والفشل)
ReturnURLAfterPayment=العودة URL بعد دفع
ValidationOfOnlinePaymentFailed=Validation of online payment failed
PaymentSystemConfirmPaymentPageWasCalledButFailed=Payment confirmation page was called by payment system returned an error
ValidationOfOnlinePaymentFailed=فشل التحقق من صحة الدفع عبر الإنترنت
PaymentSystemConfirmPaymentPageWasCalledButFailed=تم استدعاء صفحة تأكيد الدفع بواسطة نظام الدفع وأرجع خطأً
SetExpressCheckoutAPICallFailed=فشل استدعاء API SetExpressCheckout.
DoExpressCheckoutPaymentAPICallFailed=فشل استدعاء API DoExpressCheckoutPayment.
DetailedErrorMessage=رسالة خطأ مفصلة
ShortErrorMessage=رسالة خطأ قصيرة
ErrorCode=رمز الخطأ
ErrorSeverityCode=خطأ خطورة مدونة
OnlinePaymentSystem=Online payment system
PaypalLiveEnabled=PayPal "live" mode enabled (otherwise test/sandbox mode)
PaypalImportPayment=Import PayPal payments
PostActionAfterPayment=Post actions after payments
ARollbackWasPerformedOnPostActions=A rollback was performed on all Post actions. You must complete post actions manually if they are necessary.
ValidationOfPaymentFailed=Validation of payment has failed
CardOwner=Card holder
PayPalBalance=Paypal credit
OnlinePaymentSystem=نظام الدفع عبر الإنترنت
PaypalLiveEnabled=تم تمكين وضع PayPal "المباشر" (بخلاف ذلك وضع الاختبار / وضع الحماية)
PaypalImportPayment=استيراد مدفوعات PayPal
PostActionAfterPayment=نشر الإجراءات بعد المدفوعات
ARollbackWasPerformedOnPostActions=تم إجراء التراجع عن جميع إجراءات النشر. يجب عليك إكمال إجراءات النشر يدويًا إذا كانت ضرورية.
ValidationOfPaymentFailed=فشل التحقق من الدفع
CardOwner=حامل البطاقة
PayPalBalance=رصيد Paypal

View File

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

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