[MERGE] Forward port of saas-12.2 to saas-12.3 up to 860ab5a1c2

closes odoo/odoo#35119

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
This commit is contained in:
Martin Trigaux
2019-07-24 10:32:23 +00:00
219 changed files with 2178 additions and 1248 deletions
+25 -16
View File
@@ -2658,7 +2658,7 @@ msgstr "Šablona grafu"
#. module: account
#: model:ir.actions.act_window,name:account.open_account_charts_modules
msgid "Chart Templates"
msgstr ""
msgstr "Šablony grafů"
#. module: account
#: code:addons/account/models/company.py:320
@@ -4476,7 +4476,7 @@ msgstr "Filtr..."
#: model:ir.model.fields,field_description:account.field_account_analytic_line__general_account_id
#: model_terms:ir.ui.view,arch_db:account.view_account_analytic_line_filter_inherit_account
msgid "Financial Account"
msgstr ""
msgstr "Finanční účetnictví"
#. module: account
#: model_terms:ir.ui.view,arch_db:account.view_partner_property_form
@@ -4577,7 +4577,7 @@ msgstr "Pevná částka"
#. module: account
#: model:account.account.type,name:account.data_account_type_fixed_assets
msgid "Fixed Assets"
msgstr ""
msgstr "Dlouhodobý majetek"
#. module: account
#: model:ir.model.fields,help:account.field_account_reconcile_model__amount
@@ -4861,7 +4861,7 @@ msgstr ""
#. module: account
#: model:ir.model.fields,field_description:account.field_account_payment__has_invoices
msgid "Has Invoices"
msgstr ""
msgstr "Má faktury"
#. module: account
#: model:ir.model.fields,field_description:account.field_account_invoice__has_outstanding
@@ -4871,7 +4871,7 @@ msgstr ""
#. module: account
#: model:ir.model.fields,field_description:account.field_res_partner__has_unreconciled_entries
msgid "Has Unreconciled Entries"
msgstr ""
msgstr "Má nespárované položky"
#. module: account
#: model:ir.model.fields,field_description:account.field_account_setup_bank_manual_config__qr_code_valid
@@ -4909,7 +4909,7 @@ msgstr ""
#. module: account
#: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form
msgid "How total tax amount is computed in orders and invoices"
msgstr ""
msgstr "Jak se vypočítává celková částka daně v objednávkách a fakturách"
#. module: account
#: model:ir.model.fields,field_description:account.field_account_abstract_payment__id
@@ -6426,6 +6426,9 @@ msgid ""
"Electronic: Get paid automatically through a payment acquirer by requesting a transaction on a card saved by the customer when buying or subscribing online (payment token).\n"
"Batch Deposit: Encase several customer checks at once by generating a batch deposit to submit to your bank. When encoding the bank statement in Odoo,you are suggested to reconcile the transaction with the batch deposit. Enable this option from the settings."
msgstr ""
"Ruční: Zaplaťte v hotovosti, šekem nebo jinou metodou mimo Odoo.\n"
"Elektronické: Platba automaticky probíhá prostřednictvím příjemce plateb žádostí o transakci na kartě uloženou zákazníkem při nákupu nebo objednání online (platební token).\n"
"Dávkový vklad: Zapíše několik zákaznických šeků najednou vygenerováním dávkového vkladu, který odešle do banky. Při kódování výpisu z banky v Odoo vám doporučujeme transakci spárovat s vkladem dávky. Aktivujte tuto možnost z nastavení."
#. module: account
#: model:ir.model.fields,help:account.field_account_abstract_payment__payment_method_id
@@ -6670,7 +6673,7 @@ msgstr ""
#. module: account
#: selection:account.cash.rounding,strategy:0
msgid "Modify tax amount"
msgstr ""
msgstr "Změnit výši daně"
#. module: account
#: selection:account.invoice.refund,filter_refund:0
@@ -7108,7 +7111,7 @@ msgstr ""
#: code:addons/account/models/chart_template.py:185
#, python-format
msgid "Only administrators can load a charf of accounts"
msgstr ""
msgstr "Pouze správci mohou načíst graf účtů"
#. module: account
#: model:ir.model.fields,help:account.field_res_company__period_lock_date
@@ -7562,7 +7565,7 @@ msgstr "Způsob platby"
#: model_terms:ir.ui.view,arch_db:account.view_account_bank_journal_form
#: model_terms:ir.ui.view,arch_db:account.view_account_journal_form
msgid "Payment Method Types"
msgstr ""
msgstr "Druhy platebních metod"
#. module: account
#. openerp-web
@@ -7968,7 +7971,7 @@ msgstr ""
#. module: account
#: model:ir.model.fields,field_description:account.field_res_company__invoice_is_print
msgid "Print by default"
msgstr ""
msgstr "Tisk ve výchozím nastavení"
#. module: account
#: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form
@@ -7995,7 +7998,7 @@ msgstr "Kategorie výrobku"
#. module: account
#: model:ir.model.fields,field_description:account.field_account_invoice_line__product_image
msgid "Product Image"
msgstr ""
msgstr "Obrázek produktu"
#. module: account
#: model:ir.model.fields,field_description:account.field_account_invoice_report__product_qty
@@ -9132,7 +9135,7 @@ msgstr "Zdrojový dokument"
#. module: account
#: model:ir.model.fields,field_description:account.field_account_invoice__source_email
msgid "Source Email"
msgstr ""
msgstr "Zdrojový e-mail"
#. module: account
#: model:ir.model.fields,help:account.field_account_cash_rounding__strategy
@@ -9473,7 +9476,7 @@ msgstr ""
#: model:ir.model.fields,field_description:account.field_account_tax__tax_group_id
#: model:ir.model.fields,field_description:account.field_account_tax_template__tax_group_id
msgid "Tax Group"
msgstr ""
msgstr "Daňová skupina"
#. module: account
#. openerp-web
@@ -10793,6 +10796,8 @@ msgid ""
"Tracked values are stored in a separate model. This field allow to "
"reconstruct the tracking and to generate statistics on the model."
msgstr ""
"Sledované hodnoty jsou uloženy v samostatném modelu. Toto pole umožňuje "
"rekonstruovat sledování a generovat statistiky modelu."
#. module: account
#: model:ir.model.fields,field_description:account.field_account_invoice_send__tracking_value_ids
@@ -10858,7 +10863,7 @@ msgstr "Typ"
#. module: account
#: selection:account.cash.rounding,rounding_method:0
msgid "UP"
msgstr ""
msgstr "NAHORU"
#. module: account
#: code:addons/account/models/account.py:398
@@ -11357,7 +11362,7 @@ msgstr ""
#. module: account
#: model:ir.model.fields,help:account.field_account_invoice_send__is_log
msgid "Whether the message is an internal note (comment mode only)"
msgstr ""
msgstr "Zda je zpráva interní poznámkou (pouze režim poznámek)"
#. module: account
#: model:ir.model.fields,help:account.field_account_journal__show_on_dashboard
@@ -11368,6 +11373,7 @@ msgstr "Zda se tento účetní deník zobrazuje na dashboardu nebo ne"
#: model:ir.model.fields,help:account.field_account_setup_bank_manual_config__new_journal_name
msgid "Will be used to name the Journal related to this bank account"
msgstr ""
"Bude použito k pojmenování deníku týkajícího se tohoto bankovního účtu"
#. module: account
#: model:ir.model.fields,field_description:account.field_account_common_journal_report__amount_currency
@@ -11743,6 +11749,9 @@ msgid ""
" to manage automatically the booking of accounting entries related to "
"differences between exchange rates."
msgstr ""
"Měli byste v nastavení účetnictví nakonfigurovat „Deník pro směnný kurz“, "
"který bude automaticky spravovat zaúčtování účetních položek souvisejících s"
" rozdíly mezi směnnými kurzy."
#. module: account
#: code:addons/account/models/account_move.py:1626
@@ -11845,7 +11854,7 @@ msgstr ""
#. module: account
#: model_terms:ir.ui.view,arch_db:account.setup_bank_account_wizard
msgid "e.g Checking account"
msgstr ""
msgstr "např. Kontrola účtu"
#. module: account
#: model_terms:ir.ui.view,arch_db:account.view_account_reconcile_model_form
+2 -2
View File
@@ -7,7 +7,7 @@
# Alessandro Camilli <alessandrocamilli@openforce.it>, 2018
# Daniele Faraglia <daniele.faraglia@gmail.com>, 2018
# Davide Corio <enlightx@gmail.com>, 2018
# Sebastiano Pistore <SebastianoPistore.info@protonmail.ch>, 2018
# SebastianoPistore <SebastianoPistore.info@protonmail.ch>, 2018
# Manuela Feliciani <mfeliciani@alice.it>, 2018
# Luigi Di Naro <gigidn@gmail.com>, 2018
# Marco Calcagni <mcalcagni@dinamicheaziendali.it>, 2018
@@ -8663,7 +8663,7 @@ msgstr "Modello documento collegato"
#. module: account
#: model:ir.model.fields,field_description:account.field_account_invoice_send__rating_ids
msgid "Related ratings"
msgstr ""
msgstr "Valutazioni collegate"
#. module: account
#: model:ir.model.fields,help:account.field_account_invoice__residual_company_signed
+3 -1
View File
@@ -328,6 +328,8 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:account.res_config_settings_view_form
msgid "<span class=\"o_form_label\">Rounding Method</span>"
msgstr ""
"<span class=\"o_form_label\">丸め方法</span>\n"
" <span class=\"fa fa-lg fa-building-o\" title=\"ここに設定する値は会社依存。\" aria-label=\"ここに設定する値は会社依存。\" groups=\"base.group_multi_company\" role=\"img\"/>"
#. module: account
#: model_terms:ir.ui.view,arch_db:account.view_payment_term_line_form
@@ -3132,7 +3134,7 @@ msgstr ""
#. module: account
#: model_terms:ir.actions.act_window,help:account.action_invoice_tree1
msgid "Create a customer invoice"
msgstr ""
msgstr "顧客請求書を作成しましょう。"
#. module: account
#: selection:account.invoice.refund,filter_refund:0
@@ -254,8 +254,6 @@ class AccountBankStatement(models.Model):
@api.multi
def button_journal_entries(self):
context = dict(self._context or {})
context['journal_id'] = self.journal_id.id
return {
'name': _('Journal Entries'),
'view_type': 'form',
@@ -264,7 +262,9 @@ class AccountBankStatement(models.Model):
'view_id': False,
'type': 'ir.actions.act_window',
'domain': [('id', 'in', self.mapped('move_line_ids').mapped('move_id').ids)],
'context': context,
'context': {
'journal_id': self.journal_id.id,
}
}
@api.multi
+4 -2
View File
@@ -1635,8 +1635,10 @@ class AccountInvoice(models.Model):
values['type'] = TYPE2REFUND[invoice['type']]
values['date_invoice'] = date_invoice or fields.Date.context_today(invoice)
if values.get('date_due', False) and values['date_invoice'] > values['date_due']:
values['date_due'] = values['date_invoice']
if values.get('date_due', False) and values['date_invoice']:
# To ensure that the date_invoice is a date object
if self._fields['date_invoice'].to_date(values['date_invoice']) > values['date_due']:
values['date_due'] = values['date_invoice']
values['state'] = 'draft'
values['number'] = False
values['origin'] = invoice.number
+11 -6
View File
@@ -413,20 +413,25 @@ class account_payment(models.Model):
@api.multi
def button_invoices(self):
if self.partner_type == 'supplier':
views = [(self.env.ref('account.invoice_supplier_tree').id, 'tree'), (self.env.ref('account.invoice_supplier_form').id, 'form')]
else:
views = [(self.env.ref('account.invoice_tree').id, 'tree'), (self.env.ref('account.invoice_form').id, 'form')]
return {
action = {
'name': _('Paid Invoices'),
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'account.invoice',
'view_id': False,
'views': views,
'type': 'ir.actions.act_window',
'domain': [('id', 'in', [x.id for x in self.reconciled_invoice_ids])],
}
if self.partner_type == 'supplier':
action['views'] = [(self.env.ref('account.invoice_supplier_tree').id, 'tree'), (self.env.ref('account.invoice_supplier_form').id, 'form')]
action['context'] = {
'journal_type': 'purchase',
'type': 'in_invoice',
'default_type': 'in_invoice',
}
else:
action['views'] = [(self.env.ref('account.invoice_tree').id, 'tree'), (self.env.ref('account.invoice_form').id, 'form')]
return action
@api.multi
def unreconcile(self):
@@ -428,14 +428,7 @@ var StatementModel = BasicModel.extend({
if (self.context && self.context.active_model === 'account.journal' && self.context.active_ids) {
domainReconcile.push(['journal_id', 'in', [false].concat(self.context.active_ids)]);
}
var def_reconcileModel = this._rpc({
model: 'account.reconcile.model',
method: 'search_read',
domain: domainReconcile,
})
.then(function (reconcileModels) {
self.reconcileModels = reconcileModels;
});
var def_reconcileModel = this._loadReconciliationModel({domainReconcile: domainReconcile});
var def_account = this._rpc({
model: 'account.account',
method: 'search_read',
@@ -455,7 +448,59 @@ var StatementModel = BasicModel.extend({
return self._formatLine(self.statement.lines);
});
},
_readAnalyticTags: function (params) {
var self = this;
this.analyticTags = {};
if (!params || !params.res_ids || !params.res_ids.length) {
return $.when();
}
var fields = (params && params.fields || []).concat(['id', 'display_name']);
return this._rpc({
model: 'account.analytic.tag',
method: 'read',
args: [
params.res_ids,
fields,
],
}).then(function (tags) {
for (var i=0; i<tags.length; i++) {
var tag = tags[i];
self.analyticTags[tag.id] = tag;
}
});
},
_loadReconciliationModel: function (params) {
var self = this;
return this._rpc({
model: 'account.reconcile.model',
method: 'search_read',
domain: params.domainReconcile || [],
})
.then(function (reconcileModels) {
var analyticTagIds = [];
for (var i=0; i<reconcileModels.length; i++) {
var modelTags = reconcileModels[i].analytic_tag_ids || [];
for (var j=0; j<modelTags.length; j++) {
if (analyticTagIds.indexOf(modelTags[j]) === -1) {
analyticTagIds.push(modelTags[j]);
}
}
}
return self._readAnalyticTags({res_ids: analyticTagIds}).then(function () {
for (var i=0; i<reconcileModels.length; i++) {
var recModel = reconcileModels[i];
var analyticTagData = [];
var modelTags = reconcileModels[i].analytic_tag_ids || [];
for (var j=0; j<modelTags.length; j++) {
var tagId = modelTags[j];
analyticTagData.push([tagId, self.analyticTags[tagId].display_name])
}
recModel.analytic_tag_ids = analyticTagData;
}
self.reconcileModels = reconcileModels;
});
});
},
_loadTaxes: function(){
var self = this;
self.taxes = {};
@@ -984,7 +1029,7 @@ var StatementModel = BasicModel.extend({
_formatMany2ManyTags: function (value) {
var res = [];
for (var i=0, len=value.length; i<len; i++) {
res[i] = {data: {'id': value[i][0], 'display_name': value[i][1]}};
res[i] = {'id': value[i][0], 'display_name': value[i][1]};
}
return res;
},
@@ -1345,15 +1390,7 @@ var ManualModel = StatementModel.extend({
if (company_ids) {
domainReconcile.push(['company_id', 'in', company_ids]);
}
var def_reconcileModel = this._rpc({
model: 'account.reconcile.model',
method: 'search_read',
domain: domainReconcile,
})
.then(function (reconcileModels) {
self.reconcileModels = reconcileModels;
});
var def_reconcileModel = this._loadReconciliationModel({domainReconcile: domainReconcile});
var def_taxes = this._loadTaxes();
return Promise.all([def_reconcileModel, def_account, def_taxes]).then(function () {
@@ -137,8 +137,14 @@ var db = {
]
},
'account.analytic.tag': {
fields: {},
records: []
fields: {
id: {string: 'id', type: 'integer'},
display_name: {string: 'display_name', type: 'char'},
},
records: [
{id: 1, display_name: 'Come together'},
{id: 2, display_name: 'Right now'},
],
},
'account.bank.statement': {
fields: {},
@@ -180,7 +186,8 @@ var db = {
second_amount: {string: "Second Amount", type: 'float', digits:0, help:"Fixed amount will count as a debit if it is negative, as a credit if it is positive.", default:100.0},
second_tax_ids: {string: "Second Tax", type: 'many2many', relation: 'account.tax'},
second_analytic_account_id: {string: "Second Analytic Account", type: 'many2one', relation:'account.analytic.account'},
match_journal_ids: {string: "Journal Ids", type: 'many2many', relation: 'account.journal'}
match_journal_ids: {string: "Journal Ids", type: 'many2many', relation: 'account.journal'},
analytic_tag_ids: {string: 'Analytic tags', type: 'many2many', relation: 'account.analytic.tag'},
},
records: [
{'second_analytic_account_id': false, 'second_amount_type': "percentage", 'second_journal_id': false, 'id': 4, 'analytic_account_id': false, 'display_name': "Int\u00e9rrets", 'rule_type': 'writeoff_button', 'second_tax_ids': [], 'has_second_line': false, 'journal_id': false, 'label': false, 'second_label': false, 'second_account_id': false, 'account_id': 282, 'company_id': [1, "Demo SPRL"], 'tax_ids': [], 'amount_type': "fixed", 'name': "Int\u00e9rrets", 'amount': 0.0, 'second_amount': 100.0, 'match_journal_ids': []},
@@ -188,7 +195,7 @@ var db = {
{'second_analytic_account_id': false, 'second_amount_type': "percentage", 'second_journal_id': false, 'id': 5, 'analytic_account_id': false, 'display_name': "Fs bank", 'rule_type': 'writeoff_button', 'second_tax_ids': [], 'has_second_line': false, 'journal_id': false, 'label': false, 'second_label': false, 'second_account_id': false, 'account_id': 284, 'company_id': [1, "Demo SPRL"], 'tax_ids': [], 'amount_type': "percentage", 'name': "Fs bank", 'amount': 100.0, 'second_amount': 100.0},
{'second_analytic_account_id': false, 'second_amount_type': "percentage", 'second_journal_id': false, 'id': 8, 'analytic_account_id': false, 'display_name': "Caisse Sand.", 'rule_type': 'writeoff_button', 'second_tax_ids': [], 'has_second_line': false, 'journal_id': false, 'label': "Caisse Sand.", 'second_label': false, 'second_account_id': false, 'account_id': 308, 'company_id': [1, "Demo SPRL"], 'tax_ids': [], 'amount_type': "percentage", 'name': "Caisse Sand.", 'amount': 100.0, 'second_amount': 100.0, 'match_journal_ids': []},
{'second_analytic_account_id': false, 'second_amount_type': "percentage", 'second_journal_id': false, 'id': 3, 'analytic_account_id': false, 'display_name': "ATOS", 'rule_type': 'writeoff_button', 'second_tax_ids': [7], 'has_second_line': true, 'journal_id': false, 'label': "ATOS Banque", 'second_label': "ATOS Frais", 'second_account_id': 286, 'account_id': 285, 'company_id': [1, "Demo SPRL"], 'tax_ids': [6], 'amount_type': "percentage", 'name': "ATOS", 'amount': 97.5, 'second_amount': 2.5},
{'second_analytic_account_id': false, 'second_amount_type': "percentage", 'second_journal_id': false, 'id': 10, 'analytic_account_id': false, 'display_name': "Double", 'rule_type': 'writeoff_button', 'second_tax_ids': [], 'has_second_line': true, 'journal_id': false, 'label': "Double Banque", 'second_label': "Double Frais", 'second_account_id': 286, 'account_id': 285, 'company_id': [1, "Demo SPRL"], 'tax_ids': [], 'amount_type': "percentage", 'name': "Double", 'amount': 97.5, 'second_amount': 2.5, 'match_journal_ids': []},
{'second_analytic_account_id': false, 'second_amount_type': "percentage", 'second_journal_id': false, 'id': 10, 'analytic_account_id': false, 'display_name': "Double", 'rule_type': 'writeoff_button', 'second_tax_ids': [], 'has_second_line': true, 'journal_id': false, 'label': "Double Banque", 'second_label': "Double Frais", 'second_account_id': 286, 'account_id': 285, 'company_id': [1, "Demo SPRL"], 'tax_ids': [], 'amount_type': "percentage", 'name': "Double", 'amount': 97.5, 'second_amount': 2.5, 'match_journal_ids': [], 'analytic_tag_ids': [1,2]},
]
},
'account.reconciliation.widget': {
@@ -589,6 +596,7 @@ var ReconciliationRenderer = require('account.ReconciliationRenderer');
var demoData = require('account.reconciliation_tests.data');
var testUtils = require('web.test_utils');
var testUtilsDom = require('web.test_utils_dom');
QUnit.module('account', {
beforeEach: function () {
@@ -1965,5 +1973,54 @@ QUnit.module('account', {
clientAction.destroy();
});
QUnit.test('Reconciliation Models handle analytic tags', async function (assert) {
assert.expect(6);
var clientAction = new ReconciliationClientAction.StatementAction(null, this.params.options);
testUtils.addMockEnvironment(clientAction, {
data: this.params.data,
mockRPC: function (route, args) {
if (args.method === 'process_bank_statement_line') {
var new_aml_dicts = args.args[1][0].new_aml_dicts;
assert.strictEqual(new_aml_dicts.length, 2);
// I personnally judge the following use case rotten, since
// the first and the second line wouldn't have the same tags
assert.deepEqual(new_aml_dicts[0].analytic_tag_ids, [[6, null, [1, 2]]]);
assert.deepEqual(new_aml_dicts[1].analytic_tag_ids, [[6, null, [2]]]);
}
return this._super(route, args);
},
session: {
currencies: {
3: {
digits: [69, 2],
position: "before",
symbol: "$"
}
}
},
});
await clientAction.appendTo($('#qunit-fixture'));
// The first reconciliation "line" is where it happens
var widget = clientAction.widgets[0];
await testUtilsDom.click(widget.$('.toggle_create'));
await testUtilsDom.click(widget.$('.quick_add button:contains("Double")'));
assert.containsN(widget, '.create_analytic_tag_ids .o_field_many2manytags .badge', 2,
'Two tags are loaded');
assert.containsOnce(widget, '.create_analytic_tag_ids .o_field_many2manytags .badge:contains("Come together")',
'Tags should have a name');
assert.containsOnce(widget, '.create_analytic_tag_ids .o_field_many2manytags .badge:contains("Right now")',
'Tags should have a name');
await testUtilsDom.click(widget.$('.create_analytic_tag_ids .o_field_many2manytags .badge a.o_delete:first()'));
await testUtilsDom.click(widget.$('.o_reconcile'));
clientAction.destroy();
});
});
});
+13 -1
View File
@@ -80,7 +80,19 @@ class AccountInvoiceSend(models.TransientModel):
@api.multi
def send_and_print_action(self):
self.ensure_one()
self._send_email()
# Send the mails in the correct language by splitting the ids per lang.
# This should ideally be fixed in mail_compose_message, so when a fix is made there this whole commit should be reverted.
# basically self.body (which could be manually edited) extracts self.template_id,
# which is then not translated for each customer.
active_ids = self.env.context.get('active_ids', self.res_id)
active_records = self.env[self.model].browse(active_ids)
langs = active_records.mapped('partner_id.lang')
default_lang = self.env.context.get('lang', 'en_US')
for lang in (set(langs) or [default_lang]):
active_ids_lang = active_records.filtered(lambda r: r.partner_id.lang == lang).ids
self_lang = self.with_context(active_ids=active_ids_lang, lang=lang)
self_lang.onchange_template_id()
self_lang._send_email()
if self.is_print:
return self._print_document()
return {'type': 'ir.actions.act_window_close'}
@@ -435,6 +435,9 @@ msgid ""
"Electronic: Get paid automatically through a payment acquirer by requesting a transaction on a card saved by the customer when buying or subscribing online (payment token).\n"
"Batch Deposit: Encase several customer checks at once by generating a batch deposit to submit to your bank. When encoding the bank statement in Odoo,you are suggested to reconcile the transaction with the batch deposit. Enable this option from the settings."
msgstr ""
"Ruční: Zaplaťte v hotovosti, šekem nebo jinou metodou mimo Odoo.\n"
"Elektronické: Platba automaticky probíhá prostřednictvím příjemce plateb žádostí o transakci na kartě uloženou zákazníkem při nákupu nebo objednání online (platební token).\n"
"Dávkový vklad: Zapíše několik zákaznických šeků najednou vygenerováním dávkového vkladu, který odešle do banky. Při kódování výpisu z banky v Odoo vám doporučujeme transakci spárovat s vkladem dávky. Aktivujte tuto možnost z nastavení."
#. module: account_bank_statement_import
#: model:ir.model.fields,help:account_bank_statement_import.field_account_bank_statement_import_journal_creation__outbound_payment_method_ids
@@ -48,7 +48,7 @@
<div t-if="pms or acquirers" id="payment_method" class="text-left col-md-13">
<t t-call="payment.payment_tokens_list">
<t t-set="mode" t-value="'payment'"/>
<t t-set="partner_id" t-value="request.env.user.partner_id.id"/>
<t t-set="partner_id" t-value="invoice.partner_id.id if request.env.user._is_public() else request.env.user.partner_id.id"/>
<t t-set="success_url" t-value="invoice.get_portal_url()"/>
<t t-set="error_url" t-value="invoice.get_portal_url()"/>
<t t-set="access_token" t-value="access_token or ''"/>
+1 -1
View File
@@ -150,7 +150,7 @@ class ResPartner(models.Model):
vat = country_code + vat
return vat
@api.constrains('vat')
@api.constrains('vat', 'country_id')
def check_vat(self):
if self.env.context.get('company_id'):
company = self.env['res.company'].browse(self.env.context['company_id'])
+15 -10
View File
@@ -5,7 +5,6 @@
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# Martin Trigaux, 2018
# Osoul <baruni@osoul.ly>, 2018
# Osama Ahmaro <osamaahmaro@gmail.com>, 2018
# Zuhair Hammadi <zuhair12@gmail.com>, 2018
# Abdulmajeed Alomar <majeeed87@gmail.com>, 2018
@@ -31,6 +30,8 @@ msgid ""
"\"Add to\n"
" Dashboard\""
msgstr ""
"\"إضافة إلى\n"
" لوحة المعلومات\""
#. module: board
#. openerp-web
@@ -44,7 +45,7 @@ msgstr "&nbsp;"
#: code:addons/board/static/src/js/favorite_menu.js:103
#, python-format
msgid "'%s' added to dashboard"
msgstr "تم إضافة '%s' إلى اللوحة"
msgstr "تم إضافة '%s' للوحة المعلومات"
#. module: board
#. openerp-web
@@ -80,21 +81,21 @@ msgstr "لوحة"
#: code:addons/board/static/src/xml/board.xml:7
#, python-format
msgid "Change Layout"
msgstr "تغيير النسق"
msgstr "تغيير المخطط"
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:5
#, python-format
msgid "Change Layout.."
msgstr "تغيير النسق..."
msgstr "تغيير المخطط..."
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:36
#, python-format
msgid "Choose dashboard layout"
msgstr "اختيار تصميم لوحة المعلومات"
msgstr "اختيار مخطط لوحة المعلومات"
#. module: board
#. openerp-web
@@ -106,14 +107,14 @@ msgstr "لم يمكن إضافة الفلتر إلى لوحة المعلومات
#. module: board
#: model:ir.model.fields,field_description:board.field_board_board__display_name
msgid "Display Name"
msgstr "اسم العرض"
msgstr "الاسم المعروض"
#. module: board
#. openerp-web
#: code:addons/board/static/src/js/board_view.js:80
#, python-format
msgid "Edit Layout"
msgstr "تعديل التنسق"
msgstr "تحرير المخطط"
#. module: board
#: model:ir.model.fields,field_description:board.field_board_board__id
@@ -147,7 +148,7 @@ msgstr "لوحة معلوماتي"
#: code:addons/board/static/src/js/favorite_menu.js:104
#, python-format
msgid "Please refresh your browser for the changes to take effect."
msgstr "الرجاء تحديث المتصفح الخاص بك حتى تصبح التغييرات سارية المفعول."
msgstr "الرجاء تحديث متصفحك حتى تصبح التغييرات سارية المفعول."
#. module: board
#. openerp-web
@@ -157,6 +158,8 @@ msgid ""
"To add your first report into this dashboard, go to any\n"
" menu, switch to list or graph view, and click"
msgstr ""
"لإضافة تقريرك الأول في لوحة المعلومات هذه، افتح أي\n"
" قائمة، انتقل لطريقة العرض بالقائمة أو بالرسم البياني، واضغط"
#. module: board
#. openerp-web
@@ -166,17 +169,19 @@ msgid ""
"You can filter and group data before inserting into the\n"
" dashboard using the search options."
msgstr ""
"يمكنك تصفية وتجميع البيانات قبل إدراجها في\n"
" لوحة معلوماتك باستخدام خيارات البحث."
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:49
#, python-format
msgid "Your personal dashboard is empty"
msgstr ""
msgstr "لوحة معلوماتك فارغة"
#. module: board
#. openerp-web
#: code:addons/board/static/src/xml/board.xml:53
#, python-format
msgid "in the extended search options."
msgstr ""
msgstr "في خيارات البحث الممتد."
+10 -10
View File
@@ -3,19 +3,19 @@
# * contacts
#
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# amrnegm <amrnegm.01@gmail.com>, 2018
# Martin Trigaux, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
# Akram Alfusayal <akram_ma@hotmail.com>, 2018
# Abdulmajeed Alomar <majeeed87@gmail.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-18 09:49+0000\n"
"PO-Revision-Date: 2018-09-18 09:49+0000\n"
"Last-Translator: Abdulmajeed Alomar <majeeed87@gmail.com>, 2018\n"
"PO-Revision-Date: 2018-08-24 09:17+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,7 +32,7 @@ msgstr "الحسابات البنكية"
#. module: contacts
#: model:ir.ui.menu,name:contacts.menu_action_res_bank_form
msgid "Banks"
msgstr "المصارف"
msgstr "البنوك"
#. module: contacts
#: model:ir.ui.menu,name:contacts.res_partner_menu_config
@@ -42,7 +42,7 @@ msgstr "الإعدادات"
#. module: contacts
#: model:ir.ui.menu,name:contacts.menu_partner_category_form
msgid "Contact Tags"
msgstr "علامات الاتصال"
msgstr "وسوم جهة الاتصال"
#. module: contacts
#: model:ir.ui.menu,name:contacts.menu_partner_title_contact
@@ -65,18 +65,18 @@ msgstr "الدول"
#. module: contacts
#: model:ir.ui.menu,name:contacts.menu_country_group
msgid "Country Group"
msgstr "مجموعة الدولة"
msgstr "مجموعات الدول"
#. module: contacts
#: model_terms:ir.actions.act_window,help:contacts.action_contacts
#: model_terms:ir.actions.act_window,help:contacts.action_contacts_summary
msgid "Create a contact in your address book"
msgstr ""
msgstr "إنشاء جهة اتصال في دفتر العناوين"
#. module: contacts
#: model:ir.ui.menu,name:contacts.menu_country_state_partner
msgid "Fed. States"
msgstr "Fed. States"
msgstr "الولايات الفيدرالية"
#. module: contacts
#: model:ir.ui.menu,name:contacts.menu_localisation
@@ -87,7 +87,7 @@ msgstr "التوطين"
#: model_terms:ir.actions.act_window,help:contacts.action_contacts
#: model_terms:ir.actions.act_window,help:contacts.action_contacts_summary
msgid "Odoo helps you to easily track all activities related to a customer."
msgstr ""
msgstr "يساعدك أودو على تتبع كل الأنشطة المتعلقة بالعملاء بسهولة."
#. module: contacts
#: model:ir.ui.menu,name:contacts.res_partner_industry_menu
+6 -6
View File
@@ -1921,7 +1921,7 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_team
msgid "Sales Channels"
msgstr ""
msgstr "លក់"
#. module: crm
#: model:ir.model.fields,field_description:crm.field_crm_activity_report__team_id
@@ -1935,13 +1935,13 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:crm.crm_opportunity_report_view_search
#: model_terms:ir.ui.view,arch_db:crm.view_crm_case_opportunities_filter
msgid "Sales Team"
msgstr ""
msgstr "ក្រុមលក់"
#. module: crm
#: code:addons/crm/models/crm_lead.py:1125
#, python-format
msgid "Sales Team Settings"
msgstr ""
msgstr "កំណត់ការលក់"
#. module: crm
#: model:ir.ui.menu,name:crm.crm_team_config
@@ -1969,7 +1969,7 @@ msgstr ""
#. module: crm
#: model_terms:ir.ui.view,arch_db:crm.view_crm_case_leads_filter
msgid "Search Leads"
msgstr ""
msgstr "ស្រាវជ្រាវ"
#. module: crm
#: model_terms:ir.ui.view,arch_db:crm.crm_lost_reason_view_search
@@ -1980,7 +1980,7 @@ msgstr ""
#. module: crm
#: model_terms:ir.ui.view,arch_db:crm.merge_opportunity_form
msgid "Select Leads/Opportunities"
msgstr ""
msgstr "ឧកាស"
#. module: crm
#: model:ir.actions.act_window,name:crm.action_lead_mass_mail
@@ -2000,7 +2000,7 @@ msgstr "សេវាកម្ម"
#. module: crm
#: model_terms:ir.actions.act_window,help:crm.crm_stage_action
msgid "Set a new stage in your opportunity pipeline"
msgstr ""
msgstr "ការកំណត់យុទ្ឋសាស្រ្តនៅក្នុងអាកាស"
#. module: crm
#: model:ir.model.fields,help:crm.field_crm_stage__on_change
+1 -1
View File
@@ -719,7 +719,7 @@ msgstr "Thiết kế"
#. module: crm
#: model:ir.model,name:crm.model_digest_digest
msgid "Digest"
msgstr ""
msgstr "Tiêu"
#. module: crm
#: model_terms:ir.ui.view,arch_db:crm.view_create_opportunity_simplified
@@ -7,7 +7,7 @@ import logging
import re
from dateutil.relativedelta import relativedelta
from odoo import api, fields, models, tools, _
from odoo import api, fields, models, tools, _, _geoip_resolver
from odoo.addons.iap import jsonrpc
from odoo.addons.crm.models import crm_stage
from odoo.exceptions import ValidationError
@@ -72,9 +72,18 @@ class CRMRevealRule(models.Model):
except Exception:
raise ValidationError(_('Enter Valid Regex.'))
@api.model
def _assert_geoip(self):
if not _geoip_resolver:
message = _('Lead Generation requires a GeoIP resolver which could not be found on your system. Please consult https://pypi.org/project/GeoIP/.')
self.env['bus.bus'].sendone(
(self._cr.dbname, 'res.partner', self.env.user.partner_id.id),
{'type': 'simple_notification', 'title': _('Missing Library'), 'message': message, 'sticky': True, 'warning': True})
@api.model
def create(self, vals):
self.clear_caches() # Clear the cache in order to recompute _get_active_rules
self._assert_geoip()
return super(CRMRevealRule, self).create(vals)
def write(self, vals):
@@ -83,6 +92,7 @@ class CRMRevealRule(models.Model):
}
if set(vals.keys()) & fields_set:
self.clear_caches() # Clear the cache in order to recompute _get_active_rules
self._assert_geoip()
return super(CRMRevealRule, self).write(vals)
def unlink(self):
+12 -12
View File
@@ -3,19 +3,19 @@
# * decimal_precision
#
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# amrnegm <amrnegm.01@gmail.com>, 2018
# Martin Trigaux, 2018
# Osoul <baruni@osoul.ly>, 2018
# Mohammed Albasha <m.albasha.ma@gmail.com>, 2018
# Osama Ahmaro <osamaahmaro@gmail.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:17+0000\n"
"PO-Revision-Date: 2018-09-21 13:17+0000\n"
"Last-Translator: Osama Ahmaro <osamaahmaro@gmail.com>, 2018\n"
"PO-Revision-Date: 2018-08-24 09:17+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -51,18 +51,18 @@ msgstr "الدقة العشرية"
#. module: decimal_precision
#: model:ir.model,name:decimal_precision.model_decimal_precision_test
msgid "Decimal Precision Test"
msgstr ""
msgstr "اختبار الدقة العشرية"
#. module: decimal_precision
#: model:ir.model.fields,field_description:decimal_precision.field_decimal_precision__digits
msgid "Digits"
msgstr "وحدات الأرقام"
msgstr "خانات الأرقام"
#. module: decimal_precision
#: model:ir.model.fields,field_description:decimal_precision.field_decimal_precision__display_name
#: model:ir.model.fields,field_description:decimal_precision.field_decimal_precision_test__display_name
msgid "Display Name"
msgstr "اسم العرض"
msgstr "الاسم المعروض"
#. module: decimal_precision
#: model:ir.model.fields,field_description:decimal_precision.field_decimal_precision_test__float
@@ -72,12 +72,12 @@ msgstr "عشري"
#. module: decimal_precision
#: model:ir.model.fields,field_description:decimal_precision.field_decimal_precision_test__float_2
msgid "Float 2"
msgstr ""
msgstr "رقم عشري 2"
#. module: decimal_precision
#: model:ir.model.fields,field_description:decimal_precision.field_decimal_precision_test__float_4
msgid "Float 4"
msgstr ""
msgstr "رقم عشري 4"
#. module: decimal_precision
#: model:ir.model.fields,field_description:decimal_precision.field_decimal_precision__id
@@ -106,14 +106,14 @@ msgstr "آخر تحديث في"
#. module: decimal_precision
#: sql_constraint:decimal.precision:0
msgid "Only one value can be defined for each given usage!"
msgstr "يمكن لقيمة واحدة فقط ان تُعرّف لكل استخدام مُعطى!"
msgstr "يمكن تعريف قيمة واحدة فقط لكل استخدام مُعطى!"
#. module: decimal_precision
#: model:ir.model,name:decimal_precision.model_ir_qweb_field_float
msgid "Qweb Field Float"
msgstr ""
msgstr "قيمة عشرية لحقل Qweb"
#. module: decimal_precision
#: model:ir.model.fields,field_description:decimal_precision.field_decimal_precision__name
msgid "Usage"
msgstr "إستخدام"
msgstr "استخدام"
+5 -4
View File
@@ -3,15 +3,16 @@
# * decimal_precision
#
# Translators:
# thanh nguyen <thanhnguyen.icsc@gmail.com>, 2018
# Martin Trigaux, 2018
# Nancy Momoland <thanhnguyen.icsc@gmail.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:17+0000\n"
"PO-Revision-Date: 2018-09-21 13:17+0000\n"
"Last-Translator: Martin Trigaux, 2018\n"
"PO-Revision-Date: 2018-08-24 09:17+0000\n"
"Last-Translator: Nancy Momoland <thanhnguyen.icsc@gmail.com>, 2019\n"
"Language-Team: Vietnamese (https://www.transifex.com/odoo/teams/41243/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -107,7 +108,7 @@ msgstr "Chỉ một giá trị duy nhất có thể được định nghĩa cho
#. module: decimal_precision
#: model:ir.model,name:decimal_precision.model_ir_qweb_field_float
msgid "Qweb Field Float"
msgstr ""
msgstr "Qweb Field Float"
#. module: decimal_precision
#: model:ir.model.fields,field_description:decimal_precision.field_decimal_precision__name
+1
View File
@@ -30,6 +30,7 @@ invoices from picking, the system is able to add and compute the shipping line.
'views/res_config_settings_views.xml',
'wizard/choose_delivery_package_views.xml',
'wizard/choose_delivery_carrier_views.xml',
'views/assets.xml',
],
'demo': ['data/delivery_demo.xml'],
'installable': True,
+1 -1
View File
@@ -549,7 +549,7 @@ msgstr ""
#. module: delivery
#: model:ir.model.fields,field_description:delivery.field_delivery_price_rule__operator
msgid "Operator"
msgstr ""
msgstr "ប្រតិបត្តការណ៌"
#. module: delivery
#: model_terms:ir.ui.view,arch_db:delivery.choose_delivery_package_view_form
+1 -1
View File
@@ -148,7 +148,7 @@ class SaleOrderLine(models.Model):
def _compute_product_qty(self):
for line in self:
if not line.product_id or not line.product_uom or not line.product_uom_qty:
return 0.0
continue
line.product_qty = line.product_uom._compute_quantity(line.product_uom_qty, line.product_id.uom_id)
@api.multi
@@ -0,0 +1,16 @@
// TODO Remove me >=saas-12.5, this is a disgrace
// This is an hack to get the string_* and hover_* options translated on the
// boolean_button terminology widget. The terms are translated through
// _t(opt_terms.string_true) which will only work if the terms are already
// present in the translation map.
// This code does nothing but marks the strings as translatable
var _t = function(x) { return x; };
_t("Production Environment");
_t("Switch to test environment");
_t("Test Environment");
_t("Switch to production environment");
_t("Debug requests");
_t("Disable debug");
_t("No debug");
_t("Enable debug");
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets_backend" name="delivery_assets_backend" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/delivery/static/src/js/delivery_translations.js"></script>
</xpath>
</template>
</odoo>
+55 -34
View File
@@ -12,7 +12,7 @@
# Osama Ahmaro <osamaahmaro@gmail.com>, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
# Ali Alrehawi <alrehawi@hotmail.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
@@ -20,7 +20,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-02 10:05+0000\n"
"PO-Revision-Date: 2018-08-24 09:17+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2018\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -186,7 +186,7 @@ msgstr ""
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_mail_0
msgid "${', '.join(users.mapped('name'))} signed up. Say hello in the"
msgstr ""
msgstr "قام ${', '.join(users.mapped('name'))} بالاشتراك. رحب به في"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_mail_0
@@ -195,12 +195,15 @@ msgid ""
" % set channel_id = object.env.ref('mail.channel_all_employees').id\n"
" <strong style=\"font-size: 16px;\">Did you know...?</strong>"
msgstr ""
"% set users = object.env['res.users'].search([], limit=10, order='id desc')\n"
" % set channel_id = object.env.ref('mail.channel_all_employees').id\n"
" <strong style=\"font-size: 16px;\">هل تعلم...؟</strong>"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_mail_1
msgid ""
"<strong style=\"font-size: 16px;\">Get things done with activities</strong>"
msgstr ""
msgstr "<strong style=\"font-size: 16px;\">أنجز مشروعاتك من خلال الأنشطة</strong>"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
@@ -216,16 +219,17 @@ msgstr "مفعل"
#: model_terms:ir.ui.view,arch_db:digest.res_config_settings_view_form
msgid "Add new users as recipient of a periodic email with key metrics"
msgstr ""
"إدراج المستخدمين الجدد في قائمة استلام رسالة البريد الدورية بمقاييس رئيسية"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_tip__group_id
msgid "Authorized Group"
msgstr ""
msgstr "المجموعة المعتمدة"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__available_fields
msgid "Available Fields"
msgstr ""
msgstr "الحقول المتاحة"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__company_id
@@ -240,12 +244,12 @@ msgstr "ضبط الإعدادات"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.res_config_settings_view_form
msgid "Configure Digest Emails"
msgstr ""
msgstr "إعداد رسائل البريد التلخيصية"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__kpi_res_users_connected
msgid "Connected Users"
msgstr ""
msgstr "المستخدمون المتصلون"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
@@ -253,6 +257,8 @@ msgid ""
"Create or edit the mail template: you may get computed KPI's value using "
"these fields:"
msgstr ""
"إنشاء أو تحرير قالب رسالة البريد الإلكتروني: قد تحصل على قيمة المؤشر الرئيسي"
" المحسوبة باستخدام هذه الحقول:"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__create_uid
@@ -274,12 +280,12 @@ msgstr "العملة"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "Deactivate for everyone"
msgstr ""
msgstr "تعطيل للجميع"
#. module: digest
#: selection:digest.digest,state:0
msgid "Deactivated"
msgstr ""
msgstr "معطل"
#. module: digest
#: model:ir.model,name:digest.model_digest_digest
@@ -290,7 +296,7 @@ msgstr "الملخص"
#: model:ir.model.fields,field_description:digest.field_res_config_settings__digest_id
#: model_terms:ir.ui.view,arch_db:digest.res_config_settings_view_form
msgid "Digest Email"
msgstr ""
msgstr "رسالة البريد التلخيصية"
#. module: digest
#: model:ir.actions.act_window,name:digest.digest_digest_action
@@ -300,23 +306,23 @@ msgstr ""
#: model:ir.model.fields,field_description:digest.field_res_config_settings__digest_emails
#: model:ir.ui.menu,name:digest.digest_menu
msgid "Digest Emails"
msgstr ""
msgstr "رسائل البريد التلخيصية"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.portal_digest_unsubscribed
msgid "Digest Subscriptions"
msgstr ""
msgstr "اشتراكات الرسائل التلخيصية"
#. module: digest
#: model:ir.model,name:digest.model_digest_tip
msgid "Digest Tips"
msgstr ""
msgstr "ملاحظات الملخص"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__display_name
#: model:ir.model.fields,field_description:digest.field_digest_tip__display_name
msgid "Display Name"
msgstr "اسم العرض"
msgstr "الاسم المعروض"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__template_id
@@ -336,44 +342,44 @@ msgstr "تجميع حسب"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "How to customize your digest?"
msgstr ""
msgstr "كيف تعدل رسالتك التلخيصية؟"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__id
#: model:ir.model.fields,field_description:digest.field_digest_tip__id
msgid "ID"
msgstr "المعرف"
msgstr "المُعرف"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "In order to build your customized digest, follow these steps:"
msgstr ""
msgstr "اتبع هذه الخطوات لتكوين رسالتك التلخيصية المعدلة:"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__is_subscribed
msgid "Is user subscribed"
msgstr ""
msgstr "هو مستخدم مشترك"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_tree
msgid "KPI Digest"
msgstr ""
msgstr "ملخص مؤشرات الأداء"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "KPIs"
msgstr ""
msgstr "مؤشرات الأداء الرئيسية"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__kpi_mail_message_total_value
msgid "Kpi Mail Message Total Value"
msgstr ""
msgstr "قيمة مؤشر الأداء لعدد الرسائل"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__kpi_res_users_connected_value
msgid "Kpi Res Users Connected Value"
msgstr ""
msgstr "مؤشر الأداء لعدد المستخدمين المتصلين"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest____last_update
@@ -401,7 +407,7 @@ msgstr "الرسائل"
#. module: digest
#: selection:digest.digest,periodicity:0
msgid "Monthly"
msgstr "شهريًا"
msgstr "شهرياً"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__name
@@ -414,11 +420,13 @@ msgid ""
"New users are automatically added as recipient of the following digest "
"email."
msgstr ""
"تلقائيًا، يتم إدراج المستخدمين الجدد في قائمة استلام الرسائل التلخيصية "
"التالية."
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__next_run_date
msgid "Next Send Date"
msgstr ""
msgstr "تاريخ الإرسال التالي"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_digest__periodicity
@@ -440,7 +448,7 @@ msgstr "المستلمون"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "Select your KPIs in the KPI's tab."
msgstr ""
msgstr "اختر مؤشراتك الرئيسية في تبويب المؤشر الرئيسي."
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
@@ -465,17 +473,17 @@ msgstr "اشتراك"
#. module: digest
#: model:ir.model.fields,field_description:digest.field_digest_tip__tip_description
msgid "Tip description"
msgstr ""
msgstr "وصف تلميحي"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "Unsubscribe me"
msgstr ""
msgstr "إلغاء اشتراكي"
#. module: digest
#: model:ir.model.fields,help:digest.field_digest_tip__sequence
msgid "Used to display digest tip in email template base on order"
msgstr ""
msgstr "تستخدم لعرض ملاحظة تلخيصية في قالب البريد حسب الطلب"
#. module: digest
#: model:ir.model,name:digest.model_res_users
@@ -485,7 +493,7 @@ msgstr "المستخدمون"
#. module: digest
#: model:ir.model.fields,help:digest.field_digest_tip__user_ids
msgid "Users having already received this tip"
msgstr ""
msgstr "المستخدمون الذين استلموا بالفعل هذه الملحوظة"
#. module: digest
#: selection:digest.digest,periodicity:0
@@ -495,7 +503,7 @@ msgstr "أسبوعيًا"
#. module: digest
#: model:digest.digest,name:digest.digest_digest_default
msgid "Weekly Digest"
msgstr ""
msgstr "الملخص الأسبوعي"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_mail_0
@@ -503,6 +511,8 @@ msgid ""
"You can ping colleagues by tagging them in your messages using \"@\". They "
"will be instantly notified.<br>"
msgstr ""
"يمكنك إشعار زملاءك من خلال الإشارة إليهم في رسالتك باستخدام علامة \"@\". "
"سيتم إخطارهم فورًا.<br>"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_mail_1
@@ -510,21 +520,23 @@ msgid ""
"You don't have any activity scheduled. Use activities on any business "
"document to schedule meetings, calls and todos."
msgstr ""
"ليس لديك نشاطات مجدولة. استخدم الأنشطة في أي مستند عمل لجدولة الاجتماعات "
"والمكالمات والإجراءات المطلوبة."
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.portal_digest_unsubscribed
msgid "You have been successfully unsubscribed from"
msgstr ""
msgstr "ألغيت بنجاح اشتراكك من"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
msgid "You may want to add new computed fields with Odoo Studio:"
msgstr ""
msgstr "ربما تحتاج لإضافة حقول محسوبة جديدة باستديو أودو:"
#. module: digest
#: model_terms:digest.tip,tip_description:digest.digest_tip_mail_0
msgid "company's discussion channel."
msgstr ""
msgstr "قناة النقاش الخاصة بالمؤسسة."
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
@@ -533,6 +545,9 @@ msgid ""
" <code>kpi_myfield</code>\n"
" and display it in the KPI's tab;"
msgstr ""
"قم أولًا بإنشاء حقل منطقي يُسمى\n"
" <code>kpi_myfield</code>\n"
" واعرضه في تبويب المؤشر الرئيسي؛"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
@@ -541,6 +556,9 @@ msgid ""
" <code>kpi_myfield_value</code>\n"
" that will compute your customized KPI."
msgstr ""
"ثم أنشئ حقل محسوب يُسمى\n"
" <code>kpi_myfield_value</code>\n"
" ليحسب قيمة مؤشرك الرئيسي المعدلة."
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
@@ -549,3 +567,6 @@ msgid ""
" <code>digest</code>\n"
" object:"
msgstr ""
"يجب إنشاء حقلين في\n"
" الكائن\n"
" التلخيصي:"
+1 -1
View File
@@ -427,7 +427,7 @@ msgstr ""
#: model:ir.model.fields,field_description:digest.field_digest_digest__user_ids
#: model:ir.model.fields,field_description:digest.field_digest_tip__user_ids
msgid "Recipients"
msgstr ""
msgstr "អ្នកទទួល"
#. module: digest
#: model_terms:ir.ui.view,arch_db:digest.digest_digest_view_form
+1 -1
View File
@@ -1852,7 +1852,7 @@ msgstr ""
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_form
msgid "Set To Draft"
msgstr ""
msgstr "កំណត់ជាសេចក្ដីព្រាង"
#. module: event
#: model_terms:ir.ui.view,arch_db:event.view_event_registration_form
+36 -32
View File
@@ -37,7 +37,7 @@ msgstr "تطبيق"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__seats_availability
msgid "Available Seat"
msgstr ""
msgstr "المقاعد المتوفرة"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__seats_available
@@ -54,14 +54,14 @@ msgstr "قبل التأكيد"
msgid ""
"Choose an event and it will automatically create a registration for this "
"event."
msgstr "اختر حدث وسيتم إنشاء تسجيل لهذا الحدث تلقائيا."
msgstr "اختر فعالية وسيتم إنشاء تسجيل لها تلقائيًا."
#. module: event_sale
#: model:ir.model.fields,help:event_sale.field_sale_order_line__event_ticket_id
msgid ""
"Choose an event ticket and it will automatically create a registration for "
"this event ticket."
msgstr "اختر تذكرة حدث وسيتم إنشاء تسجيل لتذكرة هذا الحدث تلقائيا."
msgstr "اختر تذكرة فعالية وسيتم إنشاء تسجيل لها تلقائيًا."
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__create_uid
@@ -84,23 +84,25 @@ msgid ""
"you will not be able to sell tickets anymore. Set 0 to ignore this rule set "
"as unlimited."
msgstr ""
"حدد عدد التذاكر المتوفرة. في حال وجود عدد كبير من التسجيلات لن تتمكن من بيع "
"التذاكر. اجعل هذه القيمة 0 لتجاهل هذه القاعدة وتعيين عدد غير محدود للتذاكر."
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__display_name
#: model:ir.model.fields,field_description:event_sale.field_registration_editor__display_name
#: model:ir.model.fields,field_description:event_sale.field_registration_editor_line__display_name
msgid "Display Name"
msgstr "اسم العرض"
msgstr "الاسم المعروض"
#. module: event_sale
#: model:ir.model,name:event_sale.model_registration_editor
msgid "Edit Attendee Details on Sales Confirmation"
msgstr ""
msgstr "تحرير بيانات الحاضر عند تأكيد عملية البيع"
#. module: event_sale
#: model:ir.model,name:event_sale.model_registration_editor_line
msgid "Edit Attendee Line on Sales Confirmation"
msgstr ""
msgstr "تحرير بند الحاضر عند تأكيد عملية البيع"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_registration_editor_line__editor_id
@@ -118,18 +120,18 @@ msgstr "البريد الإلكتروني"
#: model:ir.model.fields,field_description:event_sale.field_registration_editor_line__event_id
#: model:ir.model.fields,field_description:event_sale.field_sale_order_line__event_id
msgid "Event"
msgstr "الحدث"
msgstr "الفعالية"
#. module: event_sale
#: model:ir.model,name:event_sale.model_event_type
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__event_type_id
msgid "Event Category"
msgstr "فئة الحدث"
msgstr "فئة الفعالية"
#. module: event_sale
#: model_terms:ir.ui.view,arch_db:event_sale.event_ticket_form_view
msgid "Event Name"
msgstr "اسم الحدث"
msgstr "اسم الفعالية"
#. module: event_sale
#: model:ir.model,name:event_sale.model_event_registration
@@ -141,7 +143,7 @@ msgstr "تسجيل التنفيذ"
#. module: event_sale
#: model:ir.actions.act_window,name:event_sale.action_sale_order_event_registration
msgid "Event Registrations"
msgstr ""
msgstr "تسجيلات الفعالية"
#. module: event_sale
#: model:ir.model,name:event_sale.model_event_event_ticket
@@ -150,17 +152,17 @@ msgstr ""
#: model:ir.model.fields,field_description:event_sale.field_registration_editor_line__event_ticket_id
#: model:ir.model.fields,field_description:event_sale.field_sale_order_line__event_ticket_id
msgid "Event Ticket"
msgstr "تذكرة الحدث"
msgstr "تذكرة الفعالية"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_product_product__event_ticket_ids
msgid "Event Tickets"
msgstr "تذاكر الحدث"
msgstr "تذاكر الفعالية"
#. module: event_sale
#: model_terms:ir.ui.view,arch_db:event_sale.event_ticket_form_view
msgid "Event's Ticket"
msgstr ""
msgstr "تذكرة الفعالية"
#. module: event_sale
#: model_terms:ir.ui.view,arch_db:event_sale.event_sale_product_template_form
@@ -172,7 +174,7 @@ msgstr "المناسبات"
#: code:addons/event_sale/models/event.py:254
#, python-format
msgid "Free"
msgstr "حرّ"
msgstr "مجاني"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__id
@@ -188,6 +190,8 @@ msgid ""
"If checked this product automatically creates an event registration at the "
"sales order confirmation."
msgstr ""
"إذا كان هذا الخيار محددًا، ينشئ هذا المنتج تسجيلًا تلقائيًا بالفعالية عند "
"تأكيد عملية البيع."
#. module: event_sale
#: model:ir.model,name:event_sale.model_account_invoice
@@ -203,7 +207,7 @@ msgstr "هو منتهي"
#: model:ir.model.fields,field_description:event_sale.field_product_template__event_ok
#: model:ir.model.fields,field_description:event_sale.field_sale_order_line__event_ok
msgid "Is an Event Ticket"
msgstr ""
msgstr "هي تذكرة فعالية"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket____last_update
@@ -229,7 +233,7 @@ msgstr "آخر تحديث في"
#. module: event_sale
#: selection:event.event.ticket,seats_availability:0
msgid "Limited"
msgstr ""
msgstr "محدود"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__seats_max
@@ -248,13 +252,13 @@ msgstr "الاسم"
#: code:addons/event_sale/models/event.py:205
#, python-format
msgid "No more available seats for this ticket"
msgstr ""
msgstr "لا توجد مقاعد متاحة لهذه التذكرة"
#. module: event_sale
#: code:addons/event_sale/models/event.py:152
#, python-format
msgid "No more available seats for this ticket type."
msgstr ""
msgstr "لا توجد مقاعد متاحة لهذا النوع من التذاكر."
#. module: event_sale
#: code:addons/event_sale/models/event.py:250
@@ -270,7 +274,7 @@ msgstr "المصدر"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_registration_editor_line__registration_id
msgid "Original Registration"
msgstr ""
msgstr "التسجيل الأصلي"
#. module: event_sale
#: code:addons/event_sale/models/event.py:259
@@ -302,7 +306,7 @@ msgstr "تخفيض السعر"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__price_reduce_taxinc
msgid "Price Reduce Tax inc"
msgstr ""
msgstr "الخصم بإضافة الضريبة"
#. module: event_sale
#: model:ir.model,name:event_sale.model_product_product
@@ -328,7 +332,7 @@ msgstr "التسجيل"
#: code:addons/event_sale/models/event.py:51
#, python-format
msgid "Registration for %s"
msgstr ""
msgstr "تسجيل لـ%s"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__registration_ids
@@ -338,7 +342,7 @@ msgstr "التسجيلات"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_registration_editor__event_registration_ids
msgid "Registrations to Edit"
msgstr ""
msgstr "التسجيلات المراد تحريرها"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__seats_reserved
@@ -370,12 +374,12 @@ msgstr "سطر أمر المبيعات"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_event_ticket__seats_used
msgid "Seats Used"
msgstr ""
msgstr "المقاعد المستخدمة"
#. module: event_sale
#: model:event.type,name:event_sale.event_type_data_sale
msgid "Sell Online"
msgstr ""
msgstr "بع أونلاين"
#. module: event_sale
#: model_terms:ir.ui.view,arch_db:event_sale.view_event_registration_editor_form
@@ -385,7 +389,7 @@ msgstr "تجاوز"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_registration__sale_order_id
msgid "Source Sales Order"
msgstr ""
msgstr "أمر البيع المصدر"
#. module: event_sale
#: model:event.event.ticket,name:event_sale.event_0_ticket_1
@@ -397,7 +401,7 @@ msgstr "قياسي"
#: code:addons/event_sale/models/event.py:257
#, python-format
msgid "The registration must be paid"
msgstr ""
msgstr "يجب سداد قيمة التسجيل"
#. module: event_sale
#: code:addons/event_sale/models/event.py:250
@@ -415,12 +419,12 @@ msgstr "نوع التذكرة"
#: code:addons/event_sale/models/event.py:157
#, python-format
msgid "Ticket cannot belong to both the event category and the event itself."
msgstr ""
msgstr "لا يمكن أن تنتمي التذكرة لفئة الفعالية وللفعالية نفسها."
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_type__use_ticketing
msgid "Ticketing"
msgstr ""
msgstr "بيع التذاكر"
#. module: event_sale
#: model:ir.model.fields,field_description:event_sale.field_event_type__event_ticket_ids
@@ -444,7 +448,7 @@ msgstr "الحجوزات غير المؤكدة"
#: model:product.product,uom_name:event_sale.product_product_event
#: model:product.template,uom_name:event_sale.product_product_event_product_template
msgid "Unit(s)"
msgstr "وحدة(ات)"
msgstr "وحدة"
#. module: event_sale
#: selection:event.event.ticket,seats_availability:0
@@ -466,14 +470,14 @@ msgstr "كجم"
#. module: event_sale
#: model_terms:ir.ui.view,arch_db:event_sale.view_event_registration_editor_form
msgid "please give details about the registrations"
msgstr ""
msgstr "برجاء توفير تفاصيل عن التسجيلات"
#. module: event_sale
#: model_terms:ir.ui.view,arch_db:event_sale.view_event_form_inherit_ticket
msgid "reserved +"
msgstr ""
msgstr "محجوز +"
#. module: event_sale
#: model_terms:ir.ui.view,arch_db:event_sale.view_event_form_inherit_ticket
msgid "unconfirmed"
msgstr ""
msgstr "غير مؤكد"
+40 -39
View File
@@ -3,7 +3,6 @@
# * fetchmail
#
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# Mustafa J. Kadhem <safi2266@gmail.com>, 2018
# Akram Alfusayal <akram_ma@hotmail.com>, 2018
# amrnegm <amrnegm.01@gmail.com>, 2018
@@ -13,13 +12,15 @@
# Osama Ahmaro <osamaahmaro@gmail.com>, 2018
# Zuhair Hammadi <zuhair12@gmail.com>, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-18 09:49+0000\n"
"PO-Revision-Date: 2018-09-18 09:49+0000\n"
"Last-Translator: Shaima Safar <shaima.safar@open-inside.com>, 2018\n"
"PO-Revision-Date: 2018-08-24 09:17+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -30,7 +31,7 @@ msgstr ""
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_form
msgid "Actions to Perform on Incoming Mails"
msgstr "إجراءات لتنفيذها على الرسائل الواردة"
msgstr "الإجراءات المراد تنفيذها على الرسائل الواردة"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__active
@@ -70,7 +71,7 @@ msgid ""
"Connections are encrypted with SSL/TLS through a dedicated port (default: "
"IMAPS=993, POP3S=995)"
msgstr ""
"الإتصالات مشفرة بـ SSL/TLS من خلال منفذ مخصص (افتراضياً: IMPAS=993 "
"الإتصالات مشفرة بـ SSL/TLS من خلال منفذ مخصص (افتراضيًا: IMPAS=993 "
",POP35=995 )"
#. module: fetchmail
@@ -91,17 +92,17 @@ msgstr "أنشئ في"
#. module: fetchmail
#: model:ir.model.fields,help:fetchmail.field_fetchmail_server__priority
msgid "Defines the order of processing, lower values mean higher priority"
msgstr "تحديد ترتيب المعالجة, القيم الأقل تعني أولوية أعلى"
msgstr "تحديد ترتيب عمليات المعالجة, القيم الأقل تعني أولوية أعلى"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__display_name
msgid "Display Name"
msgstr "اسم العرض"
msgstr "الاسم المعروض"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_tree
msgid "Email Count"
msgstr ""
msgstr "عدد الرسائل"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_form
@@ -111,7 +112,7 @@ msgstr "جلب الآن"
#. module: fetchmail
#: model:ir.model.fields,help:fetchmail.field_fetchmail_server__server
msgid "Hostname or IP of the mail server"
msgstr "اسم الجهاز أو رقم الآي بي لخادم البريد"
msgstr "اسم الجهاز أو رقم IP سيرفر البريد"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__id
@@ -126,44 +127,44 @@ msgstr "بروتوكول IMAP"
#. module: fetchmail
#: selection:fetchmail.server,type:0
msgid "IMAP Server"
msgstr "خادم IMAP"
msgstr "سيرفر IMAP"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_search
msgid "If SSL required."
msgstr "إذا SSL مطلوبة."
msgstr "إذا كانت SSL مطلوبة."
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_mail_mail__fetchmail_server_id
msgid "Inbound Mail Server"
msgstr "خادم البريد الوارد"
msgstr "سيرفر البريد الوارد"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.res_config_settings_view_form
msgid "Incoming Email Servers"
msgstr ""
msgstr "سيرفرات الرسائل الواردة"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_form
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_search
msgid "Incoming Mail Server"
msgstr "خادم الرسائل الواردة"
msgstr "سيرفر البريد الوارد"
#. module: fetchmail
#: model:ir.actions.act_window,name:fetchmail.action_email_server_tree
#: model:ir.ui.menu,name:fetchmail.menu_action_fetchmail_server_tree
msgid "Incoming Mail Servers"
msgstr "خوادم الرسائل الواردة"
msgstr "سيرفرات البريد الوارد"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__attach
msgid "Keep Attachments"
msgstr "حفظ المرفقات"
msgstr "الاحتفاظ بالمرفقات"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__original
msgid "Keep Original"
msgstr "حفظ الأصل"
msgstr "الاحتفاظ بالأصل"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__date
@@ -188,19 +189,19 @@ msgstr "آخر تحديث في"
#. module: fetchmail
#: selection:fetchmail.server,type:0
msgid "Local Server"
msgstr "الخادم المحلي"
msgstr "السيرفر المحلي"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_form
msgid "Login Information"
msgstr "معلومات تسجيل الدخول"
msgstr "بيانات تسجيل الدخول"
#. module: fetchmail
#: model:ir.actions.server,name:fetchmail.ir_cron_mail_gateway_action_ir_actions_server
#: model:ir.cron,cron_name:fetchmail.ir_cron_mail_gateway_action
#: model:ir.cron,name:fetchmail.ir_cron_mail_gateway_action
msgid "Mail: Fetchmail Service"
msgstr ""
msgstr "البريد: خدمة جلب الرسائل"
#. module: fetchmail
#: model:ir.actions.act_window,name:fetchmail.act_server_history
@@ -221,7 +222,7 @@ msgstr "غير مؤكد"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.res_config_settings_view_form
msgid "Outgoing Email Servers"
msgstr ""
msgstr "سيرفرات الرسائل الصادرة"
#. module: fetchmail
#: model:ir.model,name:fetchmail.model_mail_mail
@@ -236,17 +237,17 @@ msgstr "بروتوكول POP"
#. module: fetchmail
#: selection:fetchmail.server,type:0
msgid "POP Server"
msgstr "خادم POP"
msgstr "سيرفر POP"
#. module: fetchmail
#: model:ir.model,name:fetchmail.model_fetchmail_server
msgid "POP/IMAP Server"
msgstr "خادم POP/IMAP"
msgstr "سيرفر POP/IMAP"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_tree
msgid "POP/IMAP Servers"
msgstr "خوادم POP/IMAP"
msgstr "سيرفات POP/IMAP"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__password
@@ -265,9 +266,9 @@ msgid ""
"document type. This will create new documents for new conversations, or "
"attach follow-up emails to the existing conversations (documents)."
msgstr ""
"معالجة كل الرسائل الواردة كجزء من المحادثة وفقاً لنوع المستند. هذا سوف ينشأ "
"مستندات جديدة لمحادثات جديدة، أو إرفاق رسائل بريد المتابعة الإلكترونية "
"للمحادثات الموجودة (مستندات)."
"معالجة كل الرسائل الواردة كجزء من المحادثة وفقًا لنوع هذا المستند. سوف ينشأ "
"هذا مستندات جديدة لمحادثات جديدة، أو إرفاق رسائل بريد المتابعة الإلكترونية "
"بالمحادثات (المستندات) الموجودة."
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_form
@@ -292,42 +293,42 @@ msgstr "نص برمجي"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_search
msgid "Search Incoming Mail Servers"
msgstr "بحث خاودم البريد الوارد"
msgstr "بحث سيرفرات البريد الوارد"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_form
msgid "Server & Login"
msgstr "الخادم و تسجيل الدخول"
msgstr "السيرفر وتسجيل الدخول"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_form
msgid "Server Information"
msgstr "معلومات الخادم"
msgstr "معلومات السيرفر"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__server
msgid "Server Name"
msgstr "اسم الخادم"
msgstr "اسم السيرفر"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__priority
msgid "Server Priority"
msgstr "أولوية الخادم"
msgstr "أولوية السيرفر"
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__type
msgid "Server Type"
msgstr "نوع الخادم"
msgstr "نوع السيرفر"
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_search
msgid "Server type IMAP."
msgstr "نوع خادم IMAP."
msgstr "نوع سيرفر IMAP."
#. module: fetchmail
#: model_terms:ir.ui.view,arch_db:fetchmail.view_email_server_search
msgid "Server type POP."
msgstr "نوع خادم POP."
msgstr "نوع سيرفر POP."
#. module: fetchmail
#: model:ir.model.fields,field_description:fetchmail.field_fetchmail_server__state
@@ -351,8 +352,8 @@ msgid ""
"attached to each processed message. This will usually double the size of "
"your message database."
msgstr ""
"إذا كان يتوجب الاحتفاظ بنسخة اصلية كاملة من كل رسائل البريد كمرجع وارفاقها "
"بكل الرسائل التي يم معالجتها. سيضاعف هذا عادة حجم الرسالة في قاعدة البيانات."
"ما إن كان ينبغي الاحتفاظ بنسخة أصلية كاملة من كل رسائل البريد كمرجع وإرفاقها"
" بكل الرسائل التي يتم معالجتها. عادةً، سيضاعف هذا حجم قاعدة بيانات رسائلك."
#. module: fetchmail
#: model:ir.model.fields,help:fetchmail.field_fetchmail_server__attach
@@ -360,5 +361,5 @@ msgid ""
"Whether attachments should be downloaded. If not enabled, incoming emails "
"will be stripped of any attachments before being processed"
msgstr ""
"إذا كان يتوجب تنزيل المرفقات. إن لم تكن ممكنة، فإن الرسائل المستقبلة سوف يتم"
" تجريدها من اي مرفقات قبل معالجتها"
"ما إن كان ينبغي تحميل المرفقات. إن لم تكن مفعلة، سيتم تجريد الرسائل الواردة "
"من أية مرفقات قبل معالجتها"
+2 -2
View File
@@ -1068,7 +1068,7 @@ msgstr ""
#. module: fleet
#: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_log_contract_view_form
msgid "Invoice Date"
msgstr ""
msgstr "កាលបរិច្ចេទវិកយបត្រ"
#. module: fleet
#: model:ir.model.fields,field_description:fleet.field_fleet_vehicle_log_fuel__inv_ref
@@ -1840,7 +1840,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_log_contract_view_search
#: model_terms:ir.ui.view,arch_db:fleet.fleet_vehicle_view_search
msgid "Show all records which has next action date is before today"
msgstr ""
msgstr "បង្ហាញកំណត់ត្រាទាំងអស់ដែលមានកាលបរិច្ឆេទសកម្មភាពបន្ទាប់នៅមុនថ្ងៃនេះ"
#. module: fleet
#: model:ir.model.fields,field_description:fleet.field_fleet_vehicle_model_brand__image_small
@@ -206,7 +206,7 @@
<group>
<field name="date" string="Invoice Date"/>
<field name="start_date"/>
<field name="expiration_date" />
<field name="expiration_date" attrs="{'required': [('cost_frequency', '!=', 'no')]}"/>
</group>
<group>
<field name="insurer_id" context="{'default_supplier': True}"/>
+14 -1
View File
@@ -153,6 +153,8 @@ msgid ""
"<br/>Nobody has succeeded to reach every goal, no badge is rewarded for this"
" challenge."
msgstr ""
"<br/>Nikomu se nepodařilo dosáhnout jakéhokoliv cíle, za tuto výzvu není "
"odměněn žádný odznak."
#. module: gamification
#: code:addons/gamification/models/challenge.py:655
@@ -189,6 +191,8 @@ msgid ""
"<span class=\"o_stat_text\">Related</span>\n"
" <span class=\"o_stat_text\">Goals</span>"
msgstr ""
"<span class=\"o_stat_text\">Související</span>\n"
" <span class=\"o_stat_text\">Cíle</span>"
#. module: gamification
#: model:mail.template,body_html:gamification.simple_report_template
@@ -398,6 +402,9 @@ msgid ""
" It can be deserved automatically when some conditions are met or manually by users.\n"
" Some badges are harder than others to get with specific conditions."
msgstr ""
"Odznak je symbol udělený uživateli jako znak odměny.\n"
"To může být zaslouženo automaticky, když jsou splněny některé podmínky, nebo ručně uživateli.\n"
"Některé odznaky je těžší získat než jiné v závislosti na specifickýxch podmákách."
#. module: gamification
#: model_terms:ir.actions.act_window,help:gamification.goal_definition_list_action
@@ -405,6 +412,8 @@ msgid ""
"A goal definition is a technical model of goal defining a condition to reach.\n"
" The dates, values to reach or users are defined in goal instance."
msgstr ""
"Definice cíle je technický model cíle, který definuje podmínku pro dosažení cíle.\n"
"Data, hodnoty k dosažení nebo uživatelé jsou definováni v instanci cíle."
#. module: gamification
#: model:ir.model.fields,help:gamification.field_gamification_challenge_line__condition
@@ -414,6 +423,8 @@ msgid ""
"A goal is considered as completed when the current value is compared to the "
"value to reach"
msgstr ""
"Cíl je považován za dokončený, když je aktuální hodnota porovnána s "
"hodnotou, která má být dosažena"
#. module: gamification
#: model_terms:ir.actions.act_window,help:gamification.goal_list_action
@@ -421,6 +432,8 @@ msgid ""
"A goal is defined by a user and a goal definition.\n"
" Goals can be created automatically by using challenges."
msgstr ""
"Cíl je definován uživatelem a definicí cíle.\n"
"Cíle lze vytvářet automaticky pomocí výzev."
#. module: gamification
#: selection:gamification.badge,rule_auth:0
@@ -972,7 +985,7 @@ msgstr ""
#. module: gamification
#: model:ir.model,name:gamification.model_gamification_badge_user_wizard
msgid "Gamification User Badge Wizard"
msgstr ""
msgstr "Průvodce odznakem uživatele Gamifikace"
#. module: gamification
#: model:ir.model,name:gamification.model_gamification_challenge_line
+28 -19
View File
@@ -7,7 +7,6 @@
# Akram Alfusayal <akram_ma@hotmail.com>, 2018
# Martin Trigaux, 2018
# hoxhe Aits <hoxhe0@gmail.com>, 2018
# Osoul <baruni@osoul.ly>, 2018
# Osama Ahmaro <osamaahmaro@gmail.com>, 2018
# Ahmed AL-Haddad <ahmed@utech-sa.com>, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
@@ -45,7 +44,7 @@ msgstr "الحسابات"
msgid ""
"All events have been disconnected from your previous account. You can now "
"restart the synchronization"
msgstr ""
msgstr "تم فصل كافة الفعاليات عن حسابك السابق. يمكنك الآن إعادة بدء المزامنة"
#. module: google_calendar
#. openerp-web
@@ -55,6 +54,7 @@ msgid ""
"An administrator needs to configure Google Synchronization before you can "
"use it!"
msgstr ""
"يجب أن يقوم أحد المشرفين بإعداد مزامنة جوجل قبل أن تتمكن من استخدامها!"
#. module: google_calendar
#. openerp-web
@@ -64,6 +64,8 @@ msgid ""
"An error occured while disconnecting events from your previous account. "
"Please retry or contact your administrator."
msgstr ""
"حدث خطأ أثناء فصل الفعاليات عن حسابك السابق. برجاء إعادة المحاولة أو التواصل"
" مع المشرف."
#. module: google_calendar
#: model_terms:ir.ui.view,arch_db:google_calendar.view_users_form
@@ -93,12 +95,12 @@ msgstr "سرية العميل"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_res_config_settings__cal_client_id
msgid "Client_id"
msgstr "رقم العميل"
msgstr "Client_id"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_res_config_settings__cal_client_secret
msgid "Client_key"
msgstr ""
msgstr "Client_key"
#. module: google_calendar
#: model:ir.model,name:google_calendar.model_res_config_settings
@@ -116,7 +118,7 @@ msgstr "الإعدادات"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_google_calendar__display_name
msgid "Display Name"
msgstr "اسم العرض"
msgstr "الاسم المعروض"
#. module: google_calendar
#. openerp-web
@@ -135,36 +137,36 @@ msgstr "الحدث"
#: code:addons/google_calendar/static/src/js/google_calendar.js:84
#, python-format
msgid "Event disconnection error"
msgstr ""
msgstr "خطأ في فصل الفعالية"
#. module: google_calendar
#. openerp-web
#: code:addons/google_calendar/static/src/js/google_calendar.js:80
#, python-format
msgid "Event disconnection success"
msgstr ""
msgstr "نجاح فصل الفعالية"
#. module: google_calendar
#: model:ir.model,name:google_calendar.model_google_calendar
msgid "Google Calendar"
msgstr "تقويم غوغل"
msgstr "تقويم جوجل"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_calendar_attendee__google_internal_event_id
msgid "Google Calendar Event Id"
msgstr ""
msgstr "معرف فعالية تقويم جوجل"
#. module: google_calendar
#: model:ir.actions.server,name:google_calendar.ir_cron_sync_all_cals_ir_actions_server
#: model:ir.cron,cron_name:google_calendar.ir_cron_sync_all_cals
#: model:ir.cron,name:google_calendar.ir_cron_sync_all_cals
msgid "Google Calendar: synchronization"
msgstr ""
msgstr "تقويم جوجل: المزامنة"
#. module: google_calendar
#: sql_constraint:calendar.attendee:0
msgid "Google ID should be unique!"
msgstr ""
msgstr "يجب أن يكون معرف جوجل فريدًا!"
#. module: google_calendar
#: code:addons/google_calendar/models/google_calendar.py:688
@@ -174,6 +176,9 @@ msgid ""
"\n"
" %s"
msgstr ""
"فقدت الاتصال بجوجل... المزامنة القادمة ستكون مزامنة كاملة. \n"
"\n"
" %s"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_google_calendar__id
@@ -188,6 +193,7 @@ msgid ""
"In order to do this, you first need to disconnect all existing events from "
"the old account."
msgstr ""
"لتتمكن من فعل هذا، عليك أولًا فصل كافة الفعاليات الموجودة من حسابك القديم."
#. module: google_calendar
#: model:ir.model.fields,help:google_calendar.field_res_users__google_calendar_cal_id
@@ -195,6 +201,8 @@ msgid ""
"Last Calendar ID who has been synchronized. If it is changed, we remove all "
"links between GoogleID and Odoo Google Internal ID"
msgstr ""
"معرف آخر تقويم تمت مزامنته. إذا تغير، نزيل كافة الروابط بين GoogleID والمعرف"
" الداخلي ما بين جوجل وأودو"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_google_calendar____last_update
@@ -204,12 +212,12 @@ msgstr "آخر تعديل في"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_res_users__google_calendar_last_sync_date
msgid "Last synchro date"
msgstr ""
msgstr "تاريخ آخر مزامنة"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_calendar_attendee__oe_synchro_date
msgid "Odoo Synchro Date"
msgstr "تاريخ تزامن أودو"
msgstr "تاريخ مزامنة أودو"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_calendar_event__oe_update_date
@@ -233,7 +241,7 @@ msgstr "تحديث الرمز"
#: code:addons/google_calendar/static/src/js/google_calendar.js:117
#, python-format
msgid "Sync with <b>Google</b>"
msgstr ""
msgstr "المزامنة مع <b>جوجل</b>"
#. module: google_calendar
#. openerp-web
@@ -243,6 +251,7 @@ msgid ""
"The Google Synchronization needs to be configured before you can use it, do "
"you want to do it now?"
msgstr ""
"يجب إعداد مزامنة جوجل قبل أن تتمكن من استخدامها، هل تريد فعل هذا الآن؟"
#. module: google_calendar
#. openerp-web
@@ -251,17 +260,17 @@ msgstr ""
msgid ""
"The account you are trying to synchronize (%s) is not the same as the last "
"one used (%s)!"
msgstr ""
msgstr "الحساب الذي تحاول مزامنته (%s) مختلف عن آخر حساب استخدمته (%s)!"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_res_users__google_calendar_token_validity
msgid "Token Validity"
msgstr ""
msgstr "صلاحية كلمة السر"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_res_config_settings__server_uri
msgid "URI for tuto"
msgstr ""
msgstr "رابط الدرس التدريبي"
#. module: google_calendar
#: model:ir.model.fields,field_description:google_calendar.field_res_users__google_calendar_token
@@ -278,10 +287,10 @@ msgstr "المستخدمون"
#: code:addons/google_calendar/static/src/js/google_calendar.js:42
#, python-format
msgid "You will be redirected to Google to authorize access to your calendar!"
msgstr ""
msgstr "سيتم إعادة توجيهك لجوجل للحصول على إذن الوصول لتقويمك!"
#. module: google_calendar
#: code:addons/google_calendar/models/google_calendar.py:296
#, python-format
msgid "Your token is invalid or has been revoked !"
msgstr ""
msgstr "كلمة السر غير صالحة أو تم إلغاءها!"
+34 -20
View File
@@ -7,8 +7,6 @@
# Mosaab Alzoubi <moceap@hotmail.com>, 2018
# amrnegm <amrnegm.01@gmail.com>, 2018
# Martin Trigaux, 2018
# Osoul <baruni@osoul.ly>, 2018
# Ghaith Gammar <g.gammar@saharaifs.net>, 2018
# Osama Ahmaro <osamaahmaro@gmail.com>, 2018
# Zuhair Hammadi <zuhair12@gmail.com>, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
@@ -38,21 +36,27 @@ msgid ""
" - If you don't select \"Share with all users\", link of google document in \"More\" options will not appear for other users in opportunities of Sales Department.<br/>\n"
" - If filter is not specified, link of google document will appear in \"More\" option for all users for all opportunities."
msgstr ""
"<b> لإنشاء فلتر جديد: </b> <br/>\n"
" - افتح مستند أودو الذي تريد تطبيق الفلتر عليه. مثلًا: انتقل إلى الفرص وابحث في قسم المبيعات.<br/>\n"
" - في واجهة العرض \"بحث\"، اختر الخيار \"حفظ الفلتر الحالي\"، وأدخل اسمًا (مثلًا: قسم المبيعات)<br/>\n"
" - إذا اخترت \"مشاركة مع كافة المستخدمين\"، سيظهر رابط مستند جوجل في خيارات \"المزيد\" لكافة المستخدمين في فرص قسم المبيعات.<br/>\n"
" - إذا لم تختر \"مشاركة مع كافة المستخدمين\"، فلن يظهر رابط مستند جوجل في خيارات \"المزيد\" للمستخدمين الآخرين في فرص قسم المبيعات.<br/>\n"
" - إذا لم يتم تحديد الفلتر، سيظهر رابط مستند جوجل خيار \"المزيد\" لكافة المستخدمين بكافة الفرص."
#. module: google_drive
#: model_terms:ir.ui.view,arch_db:google_drive.view_google_drive_config_kanban
msgid "<strong>Active</strong>"
msgstr ""
msgstr "<strong>نشط</strong>"
#. module: google_drive
#: model_terms:ir.ui.view,arch_db:google_drive.view_google_drive_config_kanban
msgid "<strong>Model</strong>"
msgstr ""
msgstr "<strong>كائن</strong>"
#. module: google_drive
#: model_terms:ir.ui.view,arch_db:google_drive.view_google_drive_config_kanban
msgid "<strong>Template</strong>"
msgstr ""
msgstr "<strong>قالب</strong>"
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_google_drive_config__active
@@ -62,13 +66,13 @@ msgstr "نشط"
#. module: google_drive
#: model_terms:ir.actions.act_window,help:google_drive.action_google_drive_users_config
msgid "Add a new template"
msgstr ""
msgstr "إضافة قالب جديد"
#. module: google_drive
#: code:addons/google_drive/models/google_drive.py:42
#, python-format
msgid "At least one key cannot be found in your Google Drive name pattern."
msgstr ""
msgstr "تعذّر العثور علي مفتاح واحد علي الأقل في نمط اسم جوجل درايف."
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_res_config_settings__google_drive_authorization_code
@@ -81,6 +85,7 @@ msgid ""
"Choose how the new google drive will be named, on google side. Eg. "
"gdoc_%(field_name)s"
msgstr ""
"اختر كيفية تسمية جوجل درايف الجديد، من ناحية جوجل. مثال: gdoc_%(field_name)s"
#. module: google_drive
#: model:ir.model,name:google_drive.model_res_config_settings
@@ -101,7 +106,7 @@ msgstr "أنشئ في"
#: code:addons/google_drive/models/google_drive.py:161
#, python-format
msgid "Creating google drive may only be done by one at a time."
msgstr ""
msgstr "يتم إنشاء جوجل درايف مرة واحدة فقط."
#. module: google_drive
#: model:ir.filters,name:google_drive.filter_partner
@@ -111,12 +116,12 @@ msgstr "العميل"
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_google_drive_config__display_name
msgid "Display Name"
msgstr "اسم العرض"
msgstr "الاسم المعروض"
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_google_drive_config__filter_id
msgid "Filter"
msgstr "الفرز"
msgstr "فلتر"
#. module: google_drive
#: code:addons/google_drive/models/google_drive.py:61
@@ -128,30 +133,30 @@ msgstr "انتقل إلى لوحة الإعدادات"
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_google_drive_config__google_drive_client_id
msgid "Google Client"
msgstr "عميل غوغل"
msgstr "عميل جوجل"
#. module: google_drive
#: model_terms:ir.ui.view,arch_db:google_drive.view_google_drive_config_form
#: model_terms:ir.ui.view,arch_db:google_drive.view_google_drive_config_tree
msgid "Google Drive Configuration"
msgstr " اعدادات سواقة غوغل"
msgstr "إعدادات جوجل درايف"
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_google_drive_config__name_template
msgid "Google Drive Name Pattern"
msgstr ""
msgstr "نمط اسم جوجل درايف"
#. module: google_drive
#: model_terms:ir.ui.view,arch_db:google_drive.res_config_settings_view_form
msgid "Google Drive Templates"
msgstr ""
msgstr "قوالب جوجل درايف"
#. module: google_drive
#: code:addons/google_drive/models/google_drive.py:63
#: code:addons/google_drive/models/google_drive.py:84
#, python-format
msgid "Google Drive is not yet configured. Please contact your administrator."
msgstr ""
msgstr "لم يتم إعداد جوجل درايف بعد. برجاء التوصل مع مشرفك."
#. module: google_drive
#: model:ir.model,name:google_drive.model_google_drive_config
@@ -187,6 +192,10 @@ msgid ""
"checklist for each order in a foreign country, ... Its very easy to manage "
"them, link them to Odoo and use them to collaborate with your employees."
msgstr ""
"اربط قوالب جوجل درايف الخاصة بك بأي سجل في أودو. إذا كان لديك مستندات معينة "
"تريد أن يملأها المتعاون، مثلًا: استخدم الجداول الممتدة للتحكم في جودة منتجك "
"أو لمراجعة قوائم الفحص لكل الأوامر الصادرة من دول أجنبية، من السهل إدارتهم، "
"وربطهم بأودو واستخدامهم للتعاون مع موظفيك."
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_google_drive_config__model_id
@@ -197,12 +206,12 @@ msgstr "النموذج"
#: code:addons/google_drive/models/google_drive.py:203
#, python-format
msgid "Please enter a valid Google Document URL."
msgstr ""
msgstr "برجاء إدخال رابط صالح لمستند جوجل."
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_google_drive_config__model
msgid "Related Model"
msgstr ""
msgstr "الكائن ذو الصلة"
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_google_drive_config__google_drive_resource_id
@@ -215,7 +224,7 @@ msgstr "هوية المصدر"
msgid ""
"Something went wrong during the token generation. Please request again an "
"authorization code ."
msgstr ""
msgstr "حدث خطأ أثناء إنشاء كلمة السر. الرجاء طلب رمز ترخيص مرة أخرى."
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_google_drive_config__name
@@ -236,7 +245,7 @@ msgstr "قوالب"
#: code:addons/google_drive/models/google_drive.py:99
#, python-format
msgid "The Google Template cannot be found. Maybe it has been deleted."
msgstr "قالب غوغل لم يوجد. لربما حذف."
msgstr "تعذّر إيجاد قالب جوجل. ربما يكون حُذف."
#. module: google_drive
#: model:ir.model.fields,help:google_drive.field_res_config_settings__google_drive_uri
@@ -251,6 +260,10 @@ msgid ""
" in the Google Drive name field, the document in your Google Drive and in Odoo attachment will be named\n"
" 'Deco_Addict_SO0001_Sales'."
msgstr ""
"يمكن لاسم المستند المرفق استخدام بيانات ثابتة أو متغيرة. للتمييز بين المستندات في\n"
" جوجل درايف، استخدم الكلمات والحقول الثابتة. فمثلًا، في المثال أعلاه، إذا كتبت Deco_Addict_%(name)s_Sales\n"
" في حقل اسم جوجل درايف، سيكون اسم المستند في جوجل درايف وفي مرفق أودو\n"
" 'Deco_Addict_SO0001_Sales'."
#. module: google_drive
#: code:addons/google_drive/models/google_drive.py:135
@@ -258,7 +271,7 @@ msgstr ""
msgid ""
"The permission 'reader' for 'anyone with the link' has not been written on "
"the document"
msgstr ""
msgstr "لم يُمنح الإذن 'قارئ' لـ'أي شخص يملك الرابط' بهذا المستند"
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_res_config_settings__google_drive_uri
@@ -272,6 +285,7 @@ msgid ""
"You haven't configured 'Authorization Code' generated from google, Please "
"generate and configure it ."
msgstr ""
"لم تقم بإعداد 'رمز الترخيص' الذي تم إنشاؤه من جوجل، الرجاء إنشاءه وإعداده."
#. module: google_drive
#: model_terms:ir.ui.view,arch_db:google_drive.view_google_drive_config_form
+1 -1
View File
@@ -114,7 +114,7 @@ msgstr ""
#: code:addons/google_drive/models/google_drive.py:82
#, python-format
msgid "Go to the configuration panel"
msgstr ""
msgstr "ចូលទៅផ្ទាំងការតំឡើង"
#. module: google_drive
#: model:ir.model.fields,field_description:google_drive.field_google_drive_config__google_drive_client_id
+1 -1
View File
@@ -179,7 +179,7 @@ msgstr ""
#. module: hr
#: model:ir.model.fields,field_description:hr.field_mail_alias__alias_contact
msgid "Alias Contact Security"
msgstr ""
msgstr "ការទំនាក់ទំនងដោយប្រុងប្រយ័ត្ន"
#. module: hr
#: model_terms:hr.job,website_description:hr.job_consultant
+1 -1
View File
@@ -181,7 +181,7 @@ msgstr ""
#. module: hr_attendance
#: model_terms:ir.ui.view,arch_db:hr_attendance.hr_attendance_view_filter
msgid "Check Out Date"
msgstr ""
msgstr "Zkontrolovat datum"
#. module: hr_attendance
#: model_terms:ir.ui.view,arch_db:hr_attendance.res_config_settings_view_form
+9 -6
View File
@@ -691,7 +691,7 @@ msgstr ""
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_register_payment_wizard__hide_payment_method
msgid "Hide Payment Method"
msgstr ""
msgstr "លាក់វិធីសាស្ត្រទូទាត់"
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_hr_expense_refuse_wizard__hr_expense_ids
@@ -1044,7 +1044,7 @@ msgstr ""
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_register_payment_wizard__payment_method_id
msgid "Payment Type"
msgstr ""
msgstr "ប្រភេទការទូទាត់"
#. module: hr_expense
#: selection:hr.expense,activity_state:0
@@ -1063,7 +1063,7 @@ msgstr ""
#. module: hr_expense
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_form
msgid "Post Journal Entries"
msgstr ""
msgstr "បង្ហាញធាតុទិន្នានុប្បវតិ"
#. module: hr_expense
#: selection:hr.expense.sheet,state:0
@@ -1135,6 +1135,9 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:hr_expense.report_expense_sheet
msgid "Ref."
msgstr ""
"សេចក្តីយោង\n"
" \n"
" "
#. module: hr_expense
#: model_terms:ir.ui.view,arch_db:hr_expense.hr_expense_refuse_wizard_view_form
@@ -1236,13 +1239,13 @@ msgstr ""
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_hr_expense_sheet_register_payment_wizard__show_partner_bank_account
msgid "Show Partner Bank Account"
msgstr ""
msgstr "បង្ហាញគណនីធនាគារដៃគូ"
#. module: hr_expense
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_filter
#: model_terms:ir.ui.view,arch_db:hr_expense.view_hr_expense_sheet_filter
msgid "Show all records which has next action date is before today"
msgstr ""
msgstr "បង្ហាញកំណត់ត្រាទាំងអស់ដែលមានកាលបរិច្ឆេទសកម្មភាពបន្ទាប់នៅមុនថ្ងៃនេះ"
#. module: hr_expense
#: model:ir.model.fields,help:hr_expense.field_product_template__can_be_expensed
@@ -1294,7 +1297,7 @@ msgstr ""
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_hr_expense__untaxed_amount
msgid "Subtotal"
msgstr ""
msgstr "សរុប"
#. module: hr_expense
#: model:ir.model.fields,field_description:hr_expense.field_hr_expense__tax_ids
+2
View File
@@ -1347,6 +1347,8 @@ msgid ""
"Technical field used to know whether the field `partner_bank_account_id` "
"needs to be displayed or not in the payments form views"
msgstr ""
"Technical field used to know whether the field `partner_bank_account_id` "
"needs to be displayed or not in the payments form views"
#. module: hr_expense
#. openerp-web
+3 -3
View File
@@ -66,7 +66,7 @@ class HrExpense(models.Model):
payment_mode = fields.Selection([
("own_account", "Employee (to reimburse)"),
("company_account", "Company")
], default='own_account', states={'done': [('readonly', True)], 'post': [('readonly', True)], 'submitted': [('readonly', True)]}, string="Paid By")
], default='own_account', states={'done': [('readonly', True)], 'approved': [('readonly', True)], 'reported': [('readonly', True)]}, string="Paid By")
attachment_number = fields.Integer('Number of Attachments', compute='_compute_attachment_number')
state = fields.Selection([
('draft', 'To Submit'),
@@ -317,8 +317,8 @@ class HrExpense(models.Model):
'currency_id': expense.currency_id.id if different_currency else False,
}
move_line_values.append(move_line_src)
total_amount -= move_line_src['debit']
total_amount_currency -= move_line_src['amount_currency'] or move_line_src['debit']
total_amount += -move_line_src['debit'] or move_line_src['credit']
total_amount_currency += -move_line_src['amount_currency'] if move_line_src['currency_id'] else (-move_line_src['debit'] or move_line_src['credit'])
# taxes move lines
for tax in taxes['taxes']:
+7 -6
View File
@@ -3,15 +3,16 @@
# * hr_expense_check
#
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# Mustafa J. Kadhem <safi2266@gmail.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:17+0000\n"
"PO-Revision-Date: 2018-09-21 13:17+0000\n"
"Last-Translator: Mustafa J. Kadhem <safi2266@gmail.com>, 2018\n"
"PO-Revision-Date: 2018-08-24 09:18+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -37,7 +38,7 @@ msgstr "حدد هذا الاختيار إذا كان دفتر شيكاتك غي
#. module: hr_expense_check
#: model:ir.model,name:hr_expense_check.model_hr_expense_sheet_register_payment_wizard
msgid "Expense Register Payment Wizard"
msgstr ""
msgstr "معالج سداد سجل المصروفات"
#. module: hr_expense_check
#: model:ir.model.fields,field_description:hr_expense_check.field_hr_expense_sheet_register_payment_wizard__check_manual_sequencing
@@ -57,10 +58,10 @@ msgstr ""
#. module: hr_expense_check
#: model:ir.model.fields,field_description:hr_expense_check.field_hr_expense_sheet_register_payment_wizard__payment_method_code_2
msgid "Payment Method Code 2"
msgstr ""
msgstr "كود طريقة السداد 2"
#. module: hr_expense_check
#: model:ir.model.fields,help:hr_expense_check.field_hr_expense_sheet_register_payment_wizard__payment_method_code_2
msgid ""
"Technical field used to adapt the interface to the payment type selected."
msgstr "الحقل التقني يُستخدم لتهيئة الواجهة لنوع السداد المُختار"
msgstr "حقل تقني يُستخدم لتهيئة الواجهة لنوع السداد المُختار."
+28 -23
View File
@@ -3,18 +3,19 @@
# * hr_gamification
#
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# Akram Alfusayal <akram_ma@hotmail.com>, 2018
# Martin Trigaux, 2018
# Fahad Alqahtani <fahad@cloudland.sa>, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:17+0000\n"
"PO-Revision-Date: 2018-09-21 13:17+0000\n"
"Last-Translator: Shaima Safar <shaima.safar@open-inside.com>, 2018\n"
"PO-Revision-Date: 2018-08-24 09:19+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,13 +29,15 @@ msgid ""
"A goal is defined by a user and a goal type.\n"
" Goals can be created automatically by using challenges."
msgstr ""
"يُعرف الهدف بواسطة المستخدم والنوع التابع له.\n"
" يمكن إنشاء الأهداف تلقائيًا باستخدام التحديات."
#. module: hr_gamification
#: model:ir.model.fields,help:hr_gamification.field_hr_employee__badge_ids
msgid ""
"All employee badges, linked to the employee either directly or through the "
"user"
msgstr ""
msgstr "كافة شارات الموظف، المرتبطة بالموظف إما مباشرة أو من خلال المستخدم"
#. module: hr_gamification
#: model_terms:ir.actions.act_window,help:hr_gamification.challenge_list_action2
@@ -43,6 +46,9 @@ msgid ""
" The challenge can use a period (weekly, monthly...) for automatic creation of goals.\n"
" The goals are created for the specified users or member of the group."
msgstr ""
"قم بتعيين قائمة من الأهداف لمجموعة محددة من المستخدمين لتقييمهم.\n"
" قد يكون التحدي دوريًا (أسبوعيًا أو شهريًا) ليتم إنشاء الأهداف تلقائيًا.\n"
" يتم إنشاء الأهداف للمستخدمين المحددين أو لأعضاء مجموعة ما."
#. module: hr_gamification
#: model:ir.model.fields,field_description:hr_gamification.field_res_users__badge_ids
@@ -55,13 +61,12 @@ msgstr "الشارات"
msgid ""
"Badges are rewards of good work. Give them to people you believe deserve it."
msgstr ""
"الشارات هي مكافئات أو منح للدلالة على العمل الجيد. امنح الشارات لمن ترى أنهم"
" يستحقونها."
"الشارات هي مكافآت على العمل الجيد. امنح الشارات لمن ترى أنهم يستحقونها."
#. module: hr_gamification
#: model:ir.model.fields,help:hr_gamification.field_hr_employee__direct_badge_ids
msgid "Badges directly linked to the employee"
msgstr ""
msgstr "الشارات المرتبطة مباشرةً بهذا الموظف"
#. module: hr_gamification
#: model_terms:ir.ui.view,arch_db:hr_gamification.view_badge_wizard_reward
@@ -78,22 +83,22 @@ msgstr "التحديات"
#. module: hr_gamification
#: model_terms:ir.actions.act_window,help:hr_gamification.challenge_list_action2
msgid "Create a new challenge"
msgstr ""
msgstr "إنشاء تحدي جديد"
#. module: hr_gamification
#: model_terms:ir.actions.act_window,help:hr_gamification.goals_menu_groupby_action2
msgid "Create a new goal"
msgstr ""
msgstr "إنشاء هدف جديد"
#. module: hr_gamification
#: model_terms:ir.ui.view,arch_db:hr_gamification.view_badge_wizard_reward
msgid "Describe what they did and why it matters (will be public)"
msgstr "صف مافعلوه وما أهميته (سيكون عاماً)"
msgstr "صف ما فعلوه وما أهميته (سيكون عامًا)"
#. module: hr_gamification
#: model:ir.model.fields,field_description:hr_gamification.field_hr_employee__direct_badge_ids
msgid "Direct Badge"
msgstr ""
msgstr "الشارة المباشرة"
#. module: hr_gamification
#: model:ir.model,name:hr_gamification.model_hr_employee
@@ -110,22 +115,22 @@ msgstr "شارات الموظف"
#. module: hr_gamification
#: model:ir.model.fields,field_description:hr_gamification.field_hr_employee__goal_ids
msgid "Employee HR Goals"
msgstr "أهداف الموظفين"
msgstr "أهداف الموظف للموارد البشرية"
#. module: hr_gamification
#: model:ir.model,name:hr_gamification.model_gamification_badge
msgid "Gamification Badge"
msgstr ""
msgstr "شارة التنافسية"
#. module: hr_gamification
#: model:ir.model,name:hr_gamification.model_gamification_badge_user
msgid "Gamification User Badge"
msgstr ""
msgstr "شارة مستخدم التنافسية"
#. module: hr_gamification
#: model:ir.model,name:hr_gamification.model_gamification_badge_user_wizard
msgid "Gamification User Badge Wizard"
msgstr ""
msgstr "معالج شارة مستخدم التنافسية"
#. module: hr_gamification
#: model:ir.model.fields,field_description:hr_gamification.field_res_users__goal_ids
@@ -141,22 +146,22 @@ msgstr "تاريخ الأهداف"
#. module: hr_gamification
#: model_terms:ir.ui.view,arch_db:hr_gamification.hr_hr_employee_view_form
msgid "Grant a Badge"
msgstr "امنح شارة"
msgstr "منح شارة"
#. module: hr_gamification
#: model_terms:ir.ui.view,arch_db:hr_gamification.hr_hr_employee_view_form
msgid "Grant this employee his first badge"
msgstr ""
msgstr "منح هذا المستخدم شارته الأولى"
#. module: hr_gamification
#: model_terms:ir.ui.view,arch_db:hr_gamification.hr_badge_form_view
msgid "Granted"
msgstr ""
msgstr "ممنوح"
#. module: hr_gamification
#: model:ir.model.fields,field_description:hr_gamification.field_gamification_badge__granted_employees_count
msgid "Granted Employees Count"
msgstr ""
msgstr "عدد الموظفين الممنوحين شارات"
#. module: hr_gamification
#: model:ir.model.fields,field_description:hr_gamification.field_hr_employee__has_badges
@@ -188,7 +193,7 @@ msgstr "مكافأة الموظف بـ"
#: code:addons/hr_gamification/models/gamification.py:18
#, python-format
msgid "The selected employee does not correspond to the selected user."
msgstr "الموظف المحدد لا يتفق مع المستخدم المحدد."
msgstr "الموظف المختار غير متوافق مع المستخدم المختار."
#. module: hr_gamification
#: model:ir.model.fields,field_description:hr_gamification.field_gamification_badge_user_wizard__user_id
@@ -203,19 +208,19 @@ msgstr "المستخدمون"
#. module: hr_gamification
#: model_terms:ir.ui.view,arch_db:hr_gamification.view_badge_wizard_reward
msgid "What are you thankful for?"
msgstr ""
msgstr "علام أنت ممتن؟"
#. module: hr_gamification
#: code:addons/hr_gamification/wizard/gamification_badge_user_wizard.py:22
#, python-format
msgid "You can not send a badge to yourself."
msgstr ""
msgstr "لا يمكنك إرسال شارة لنفسك."
#. module: hr_gamification
#: code:addons/hr_gamification/wizard/gamification_badge_user_wizard.py:19
#, python-format
msgid "You can send badges only to employees linked to a user."
msgstr "يمكنك ارسال الشارات فقط للموظفين المرتبطين بمستخدم."
msgstr "يمكنك إرسال الشارات للموظفين المرتبطين بمستخدم فقط."
#. module: hr_gamification
#: model_terms:ir.ui.view,arch_db:hr_gamification.hr_hr_employee_view_form
+1 -1
View File
@@ -124,7 +124,7 @@ msgstr ""
#. module: hr_gamification
#: model:ir.model,name:hr_gamification.model_gamification_badge_user_wizard
msgid "Gamification User Badge Wizard"
msgstr ""
msgstr "Průvodce odznakem uživatele Gamifikace"
#. module: hr_gamification
#: model:ir.model.fields,field_description:hr_gamification.field_res_users__goal_ids
+2 -2
View File
@@ -1117,7 +1117,7 @@ msgstr ""
#: code:addons/hr_holidays/report/holidays_summary_report.py:113
#, python-format
msgid "Form content is missing, this report cannot be printed."
msgstr ""
msgstr "កំហុសទម្រង់សំណុំបែបបទរបាយការណ៍នេះមិនអាចបោះពុម្ពបានទេ"
#. module: hr_holidays
#: model:ir.model.fields,field_description:hr_holidays.field_hr_holidays_summary_dept__date_from
@@ -2069,7 +2069,7 @@ msgstr "លំដាប់"
#: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_holidays_filter
#: model_terms:ir.ui.view,arch_db:hr_holidays.view_hr_leave_allocation_filter
msgid "Show all records which has next action date is before today"
msgstr ""
msgstr "បង្ហាញកំណត់ត្រាទាំងអស់ដែលមានកាលបរិច្ឆេទសកម្មភាពបន្ទាប់នៅមុនថ្ងៃនេះ"
#. module: hr_holidays
#: model:hr.leave.type,name:hr_holidays.holiday_status_sl
+1 -1
View File
@@ -1335,7 +1335,7 @@ msgstr ""
#. module: hr_recruitment
#: model_terms:ir.ui.view,arch_db:hr_recruitment.hr_employee_view_search
msgid "Newly Hired"
msgstr ""
msgstr "Nově přijat"
#. module: hr_recruitment
#: model:ir.actions.act_window,name:hr_recruitment.hr_employee_action_from_department
+1 -1
View File
@@ -1721,7 +1721,7 @@ msgstr ""
#. module: hr_recruitment
#: model_terms:ir.ui.view,arch_db:hr_recruitment.view_crm_case_jobs_filter
msgid "Show all records which has next action date is before today"
msgstr ""
msgstr "បង្ហាញកំណត់ត្រាទាំងអស់ដែលមានកាលបរិច្ឆេទសកម្មភាពបន្ទាប់នៅមុនថ្ងៃនេះ"
#. module: hr_recruitment
#: model:ir.model.fields,field_description:hr_recruitment.field_hr_applicant__source_id
+1 -1
View File
@@ -765,7 +765,7 @@ msgstr "Miêu tả"
#. module: hr_recruitment
#: model:ir.model,name:hr_recruitment.model_digest_digest
msgid "Digest"
msgstr ""
msgstr "Tiêu"
#. module: hr_recruitment
#: model_terms:ir.ui.view,arch_db:hr_recruitment.hr_job_simple_form
+10 -10
View File
@@ -3,18 +3,18 @@
# * hr_timesheet_attendance
#
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# Akram Alfusayal <akram_ma@hotmail.com>, 2018
# Martin Trigaux, 2018
# Osoul <baruni@osoul.ly>, 2018
# Osama Ahmaro <osamaahmaro@gmail.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-21 13:17+0000\n"
"PO-Revision-Date: 2018-09-21 13:17+0000\n"
"Last-Translator: Osama Ahmaro <osamaahmaro@gmail.com>, 2018\n"
"PO-Revision-Date: 2018-08-24 09:19+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -31,12 +31,12 @@ msgstr "التاريخ"
#. module: hr_timesheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_attendance.field_hr_timesheet_attendance_report__display_name
msgid "Display Name"
msgstr "اسم العرض"
msgstr "الاسم المعروض"
#. module: hr_timesheet_attendance
#: model:ir.actions.act_window,name:hr_timesheet_attendance.action_hr_timesheet_attendance_report
msgid "HR Timesheet/Attendance Report"
msgstr ""
msgstr "تقرير سجل النشاط/الحضور"
#. module: hr_timesheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_attendance.field_hr_timesheet_attendance_report__id
@@ -51,12 +51,12 @@ msgstr "آخر تعديل في"
#. module: hr_timesheet_attendance
#: model:ir.ui.menu,name:hr_timesheet_attendance.menu_hr_timesheet_attendance_report
msgid "Timesheet / Attendance"
msgstr ""
msgstr "سجل النشاط / الحضور"
#. module: hr_timesheet_attendance
#: model:ir.model,name:hr_timesheet_attendance.model_hr_timesheet_attendance_report
msgid "Timesheet Attendance Report"
msgstr ""
msgstr "تقرير حضور سجل النشاط"
#. module: hr_timesheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_attendance.field_hr_timesheet_attendance_report__total_attendance
@@ -71,7 +71,7 @@ msgstr "مجموع الاختلافات"
#. module: hr_timesheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_attendance.field_hr_timesheet_attendance_report__total_timesheet
msgid "Total Timesheet"
msgstr "سجل الدوام الكلي"
msgstr "سجل النشاط الكلي"
#. module: hr_timesheet_attendance
#: model:ir.model.fields,field_description:hr_timesheet_attendance.field_hr_timesheet_attendance_report__user_id
@@ -82,4 +82,4 @@ msgstr "المستخدم"
#: model_terms:ir.ui.view,arch_db:hr_timesheet_attendance.view_hr_timesheet_attendance_report_pivot
#: model_terms:ir.ui.view,arch_db:hr_timesheet_attendance.view_hr_timesheet_attendance_report_search
msgid "timesheet attendance"
msgstr ""
msgstr "حضور سجل النشاط"
+22 -21
View File
@@ -3,18 +3,19 @@
# * iap
#
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# amrnegm <amrnegm.01@gmail.com>, 2018
# Martin Trigaux, 2018
# Osoul <baruni@osoul.ly>, 2018
# Osama Ahmaro <osamaahmaro@gmail.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-02 10:05+0000\n"
"PO-Revision-Date: 2018-10-02 10:05+0000\n"
"Last-Translator: Osama Ahmaro <osamaahmaro@gmail.com>, 2018\n"
"PO-Revision-Date: 2018-08-24 09:19+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -25,26 +26,26 @@ msgstr ""
#. module: iap
#: model_terms:ir.ui.view,arch_db:iap.iap_account_view_form
msgid "Account Information"
msgstr ""
msgstr "معلومات الحساب"
#. module: iap
#: model:ir.model.fields,field_description:iap.field_iap_account__account_token
msgid "Account Token"
msgstr ""
msgstr "كلمة سر الحساب"
#. module: iap
#. openerp-web
#: code:addons/iap/static/src/js/crash_manager.js:23
#, python-format
msgid "Buy credits at Odoo"
msgstr ""
msgstr "شراء رصيد في أودو"
#. module: iap
#. openerp-web
#: code:addons/iap/static/src/xml/iap_templates.xml:41
#, python-format
msgid "Buy more credits"
msgstr ""
msgstr "شراء رصيد أكثر"
#. module: iap
#. openerp-web
@@ -58,7 +59,7 @@ msgstr "إلغاء"
#: code:addons/iap/static/src/xml/iap_templates.xml:28
#, python-format
msgid "Checking remaining credit ..."
msgstr ""
msgstr "جارٍ التحقق من الرصيد المتبقي..."
#. module: iap
#: model:ir.model.fields,field_description:iap.field_iap_account__company_id
@@ -78,25 +79,25 @@ msgstr "أنشئ في"
#. module: iap
#: model:ir.model.fields,field_description:iap.field_iap_account__display_name
msgid "Display Name"
msgstr "اسم العرض"
msgstr "الاسم المعروض"
#. module: iap
#: model:ir.ui.menu,name:iap.iap_root_menu
msgid "IAP"
msgstr ""
msgstr "IAP"
#. module: iap
#: model:ir.actions.act_window,name:iap.iap_account_action
#: model:ir.model,name:iap.model_iap_account
#: model_terms:ir.ui.view,arch_db:iap.iap_account_view_form
msgid "IAP Account"
msgstr ""
msgstr "حساب IAP"
#. module: iap
#: model:ir.ui.menu,name:iap.iap_account_menu
#: model_terms:ir.ui.view,arch_db:iap.iap_account_view_tree
msgid "IAP Accounts"
msgstr ""
msgstr "حسابات IAP"
#. module: iap
#: model:ir.model.fields,field_description:iap.field_iap_account__id
@@ -108,28 +109,28 @@ msgstr "المعرف"
#: code:addons/iap/static/src/xml/iap_templates.xml:21
#, python-format
msgid "In-App Purchases"
msgstr ""
msgstr "عمليات شراء داخل التطبيق"
#. module: iap
#. openerp-web
#: code:addons/iap/static/src/js/crash_manager.js:51
#, python-format
msgid "Insufficient Balance"
msgstr ""
msgstr "رصيد غير كاف"
#. module: iap
#. openerp-web
#: code:addons/iap/static/src/xml/iap_templates.xml:31
#, python-format
msgid "Insufficient credit"
msgstr ""
msgstr "رصيد غير كاف"
#. module: iap
#. openerp-web
#: code:addons/iap/static/src/xml/iap_templates.xml:14
#, python-format
msgid "Insufficient credit to perform this service."
msgstr ""
msgstr "الرصيد غير كافٍ لإجراء هذه الخدمة."
#. module: iap
#: model:ir.model.fields,field_description:iap.field_iap_account____last_update
@@ -151,30 +152,30 @@ msgstr "آخر تحديث في"
#: code:addons/iap/static/src/xml/iap_templates.xml:34
#, python-format
msgid "Remaining :"
msgstr ""
msgstr "المتبقي:"
#. module: iap
#: model:ir.model.fields,field_description:iap.field_iap_account__service_name
msgid "Service Name"
msgstr ""
msgstr "اسم الخدمة"
#. module: iap
#. openerp-web
#: code:addons/iap/static/src/js/crash_manager.js:23
#, python-format
msgid "Start a Trial at Odoo"
msgstr ""
msgstr "بدء نسخة تجريبية في أودو"
#. module: iap
#. openerp-web
#: code:addons/iap/static/src/xml/iap_templates.xml:37
#, python-format
msgid "Temporarily unavailable"
msgstr ""
msgstr "غير متاح مؤقتًا"
#. module: iap
#. openerp-web
#: code:addons/iap/static/src/xml/iap_templates.xml:34
#, python-format
msgid "credits"
msgstr ""
msgstr "رصيد"
+4 -4
View File
@@ -42,7 +42,7 @@ msgstr ""
#: code:addons/iap/static/src/xml/iap_templates.xml:41
#, python-format
msgid "Buy more credits"
msgstr ""
msgstr "Koupit více kreditů"
#. module: iap
#. openerp-web
@@ -149,7 +149,7 @@ msgstr "Naposled upraveno"
#: code:addons/iap/static/src/xml/iap_templates.xml:34
#, python-format
msgid "Remaining :"
msgstr ""
msgstr "Zbývající:"
#. module: iap
#: model:ir.model.fields,field_description:iap.field_iap_account__service_name
@@ -168,11 +168,11 @@ msgstr ""
#: code:addons/iap/static/src/xml/iap_templates.xml:37
#, python-format
msgid "Temporarily unavailable"
msgstr ""
msgstr "dočasně nedostupné"
#. module: iap
#. openerp-web
#: code:addons/iap/static/src/xml/iap_templates.xml:34
#, python-format
msgid "credits"
msgstr ""
msgstr "kredity"
+2 -2
View File
@@ -392,7 +392,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:im_livechat.mail_channel_view_form
#: model_terms:ir.ui.view,arch_db:im_livechat.mail_channel_view_tree
msgid "History"
msgstr ""
msgstr "ប្រវត្តិ"
#. module: im_livechat
#: model:ir.model.fields,field_description:im_livechat.field_im_livechat_report_channel__start_date_hour
@@ -635,7 +635,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:im_livechat.im_livechat_report_channel_view_search
#: model_terms:ir.ui.view,arch_db:im_livechat.im_livechat_report_operator_view_search
msgid "Operator"
msgstr ""
msgstr "ប្រតិបត្តការណ៌"
#. module: im_livechat
#: model:ir.ui.menu,name:im_livechat.menu_reporting_livechat_operator
+1 -1
View File
@@ -40,7 +40,7 @@ msgstr ""
#. module: im_livechat_mail_bot
#: model:ir.model,name:im_livechat_mail_bot.model_mail_bot
msgid "Mail Bot"
msgstr ""
msgstr "e-mailový robot"
#. module: im_livechat_mail_bot
#: selection:res.users,odoobot_state:0
+5 -3
View File
@@ -24,7 +24,7 @@ msgstr ""
#: code:addons/im_support/static/src/js/support_channel.js:48
#, python-format
msgid " (offline)"
msgstr ""
msgstr " (لا يوجد اتصال)"
#. module: im_support
#: model:ir.model,name:im_support.model_ir_http
@@ -34,7 +34,7 @@ msgstr ""
#. module: im_support
#: model_terms:ir.ui.view,arch_db:im_support.support_qunit_suite
msgid "IM Support Tests"
msgstr ""
msgstr "اختبارات دعم المحادثات الفورية"
#. module: im_support
#. openerp-web
@@ -44,6 +44,8 @@ msgid ""
"None of our operators are available. <a href='https://www.odoo.com/help' "
"target='_blank'>Submit a ticket</a> to ask your question now."
msgstr ""
"جميع ممثلينا مشغولون الآن. <a href='https://www.odoo.com/help' "
"target='_blank'>أرسل تذكرة</a> لطرح سؤالك الآن."
#. module: im_support
#. openerp-web
@@ -65,4 +67,4 @@ msgstr "الدعم"
#: code:addons/im_support/static/src/js/mail_manager.js:153
#, python-format
msgid "The Support server can't be reached."
msgstr ""
msgstr "تعذّر الوصول لسيرفر الدعم."
@@ -386,7 +386,7 @@
]"/>
</record>
<record id="uae_sale_tax_reverse_charge_abu_dhabi" model="account.tax.template">
<field name="name">Reverse Charge Provision (Abi Dhabi)</field>
<field name="name">Reverse Charge Provision (Abu Dhabi)</field>
<field name="type_tax_use">sale</field>
<field name="amount">5</field>
<field name="amount_type">percent</field>
@@ -829,6 +829,18 @@
}),
]"/>
</record>
<record id="uae_purchase_tax_5_child_global" model="account.tax.template">
<field name="name">TVA 5%</field>
<field name="type_tax_use">none</field>
<field name="amount">5</field>
<field name="amount_type">percent</field>
<field name="description">TVA 5%</field>
<field name="account_id" ref="uae_account_3726"/>
<field name="refund_account_id" ref="uae_account_3726"/>
<field name="tax_group_id" ref="ae_tax_group_5"/>
<field name="tag_ids" eval="[(6,0,[ref('tag_ae_02')])]"/>
<field name="chart_template_id" ref="uae_chart_template_standard"/>
</record>
<record id="uae_purchase_tax_reverse_charge" model="account.tax.template">
<field name="name">Reverse Charge Provision</field>
<field name="type_tax_use">purchase</field>
+1 -1
View File
@@ -26,7 +26,7 @@ class AccountInvoice(models.Model):
l10n_ch_isr_valid = fields.Boolean(compute='_compute_l10n_ch_isr_valid', help='Boolean value. True iff all the data required to generate the ISR are present')
l10n_ch_isr_sent = fields.Boolean(defaut=False, help="Boolean value telling whether or not the ISR corresponding to this invoice has already been printed or sent by mail.")
l10n_ch_currency_name = fields.Char(related='currency_id.name', readonly=False, string="Currency Name", help="The name of this invoice's currency") #This field is used in the "invisible" condition field of the 'Print ISR' button.
l10n_ch_currency_name = fields.Char(related='currency_id.name', readonly=True, string="Currency Name", help="The name of this invoice's currency") #This field is used in the "invisible" condition field of the 'Print ISR' button.
@api.depends('partner_bank_id.bank_id.l10n_ch_postal_eur', 'partner_bank_id.bank_id.l10n_ch_postal_chf')
def _compute_l10n_ch_isr_postal(self):
-1
View File
@@ -2,7 +2,6 @@
<odoo noupdate="1">
<!-- Update main company -->
<record id="base.main_company" model="res.company">
<field name="country_id" ref="base.in"/>
<field name="state_id" ref="base.state_in_gj"/>
<field name="vat">24BBBFF5679L8ZR</field>
</record>
@@ -3,7 +3,6 @@
<data noupdate="1">
<!-- add VAT, codice fiscal and tax system for main company -->
<record id="base.main_company" model="res.company">
<field name="country_id" ref="base.it"/>
<field name="vat">IT00410128888</field>
<field name="l10n_it_codice_fiscale">0123456789987654</field>
<field name="l10n_it_tax_system">RF01</field>
+3 -3
View File
@@ -65,7 +65,7 @@ msgstr ""
#. module: l10n_multilang
#: model:ir.model.fields,field_description:l10n_multilang.field_account_fiscal_position_template__name
msgid "Fiscal Position Template"
msgstr ""
msgstr "គំរូទីតាំងថសារពើរពន្ធ"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_base_language_install
@@ -90,7 +90,7 @@ msgstr ""
#. module: l10n_multilang
#: model:ir.model.fields,help:l10n_multilang.field_account_fiscal_position__note
msgid "Legal mentions that have to be printed on the invoices."
msgstr ""
msgstr "ច្បាប់បានចែងថា ត្រូវតែព្រីនលើវិក័យប័ត្រ។"
#. module: l10n_multilang
#: model:ir.model.fields,field_description:l10n_multilang.field_account_account__name
@@ -144,7 +144,7 @@ msgstr ""
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_account_template
msgid "Templates for Accounts"
msgstr ""
msgstr "គំរូសម្រាប់គណនី"
#. module: l10n_multilang
#: model:ir.model,name:l10n_multilang.model_account_tax_template
+5
View File
@@ -787,6 +787,8 @@ msgid ""
"Payments are used to register liquidity movements. You can process those "
"payments by your own means or by using installed facilities."
msgstr ""
"ការទូទាត់ត្រូវបានប្រើដើម្បីកត់ត្រាចលនាសាច់ប្រាក់។ "
"អ្នកអាចដំណើរការការទូទាត់ទាំងនោះដោយមធ្យោបាយរបស់អ្នកផ្ទាល់ឬដោយប្រើឧបករណ៍ដែលបានដំឡើង។"
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_order__previous_order_ids
@@ -908,6 +910,9 @@ msgstr ""
#: model_terms:ir.actions.act_window,help:lunch.lunch_cashmove_action_payment
msgid "Register a payment"
msgstr ""
"ចុះឈ្មោះការបង់ប្រាក់\n"
" \n"
" "
#. module: lunch
#: model:ir.model.fields,field_description:lunch.field_lunch_alert__saturday
+1 -1
View File
@@ -11,7 +11,7 @@ class LunchCashMove(models.Model):
_description = 'Lunch Cashmove'
_order = 'date desc'
currency_id = fields.Many2one('res.currency', default=lambda self: self.env['res.company']._company_default_get())
currency_id = fields.Many2one('res.currency', default=lambda self: self.env['res.company']._company_default_get().currency_id)
user_id = fields.Many2one('res.users', 'User',
default=lambda self: self.env.uid)
date = fields.Date('Date', required=True, default=fields.Date.context_today)
+3 -1
View File
@@ -5220,6 +5220,8 @@ msgid ""
"Tracked values are stored in a separate model. This field allow to "
"reconstruct the tracking and to generate statistics on the model."
msgstr ""
"Sledované hodnoty jsou uloženy v samostatném modelu. Toto pole umožňuje "
"rekonstruovat sledování a generovat statistiky modelu."
#. module: mail
#: model:ir.model.fields,field_description:mail.field_ir_model_fields__track_visibility
@@ -5625,7 +5627,7 @@ msgstr ""
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_compose_message__is_log
msgid "Whether the message is an internal note (comment mode only)"
msgstr ""
msgstr "Zda je zpráva interní poznámkou (pouze režim poznámek)"
#. module: mail
#: model:ir.model.fields,help:mail.field_ir_model__is_mail_thread
+48 -35
View File
@@ -470,7 +470,7 @@ msgstr ""
#: code:addons/mail/static/src/xml/activity.xml:37
#, python-format
msgid "Activity type"
msgstr ""
msgstr "ប្រភេទឯកសារ"
#. module: mail
#. openerp-web
@@ -619,7 +619,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_channel__alias_contact
#: model:ir.model.fields,field_description:mail.field_res_users__alias_contact
msgid "Alias Contact Security"
msgstr ""
msgstr "ការទំនាក់ទំនងដោយប្រុងប្រយ័ត្ន"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_res_config_settings__alias_domain
@@ -631,7 +631,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin__alias_name
#: model:ir.model.fields,field_description:mail.field_mail_channel__alias_name
msgid "Alias Name"
msgstr ""
msgstr "ឈ្មោះក្លែក្លាយ"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_alias__alias_domain
@@ -645,7 +645,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_alias_mixin__alias_model_id
#: model:ir.model.fields,field_description:mail.field_mail_channel__alias_model_id
msgid "Aliased Model"
msgstr ""
msgstr "គំរូឈ្មោះក្លែងក្លាយ"
#. module: mail
#: model:ir.actions.act_window,name:mail.action_view_mail_alias
@@ -713,6 +713,8 @@ msgid ""
"Answers do not go in the original document discussion thread. This has an "
"impact on the generated message-id."
msgstr ""
"ចម្លើយមិនចូលទៅក្នុងខ្សែស្រឡាយការពិភាក្សាឯកសារដើមទេ។ "
"នេះមានផលប៉ះពាល់ដល់លេខសម្គាល់សារដែលបានបង្កើត​ "
#. module: mail
#: model:ir.model.fields,field_description:mail.field_email_template_preview__model_id
@@ -1159,7 +1161,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__child_ids
#: model:ir.model.fields,field_description:mail.field_mail_message__child_ids
msgid "Child Messages"
msgstr ""
msgstr "សារកុមារ"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.email_template_preview_form
@@ -1237,7 +1239,7 @@ msgstr "សរសេរអុីម៉ែល"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__composition_mode
msgid "Composition mode"
msgstr ""
msgstr "របៀបផ្សំ"
#. module: mail
#: model:ir.model,name:mail.model_res_config_settings
@@ -1284,7 +1286,7 @@ msgstr "មាតិកា"
#: model:ir.model.fields,field_description:mail.field_mail_mail__body
#: model:ir.model.fields,field_description:mail.field_mail_message__body
msgid "Contents"
msgstr ""
msgstr "មាតិកា"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_channel_partner__fold_state
@@ -1429,7 +1431,7 @@ msgstr "កាលបរិច្ឆេត"
#: code:addons/mail/static/src/xml/chatter.xml:93
#, python-format
msgid "Dates"
msgstr ""
msgstr "កាលបរិច្ឆេទ"
#. module: mail
#: selection:ir.actions.server,activity_date_deadline_range_type:0
@@ -1668,6 +1670,7 @@ msgid ""
"Do not keep a copy of the email in the document communication history (mass "
"mailing only)"
msgstr ""
"កុំរក្សាទុកច្បាប់ចំលងនៃអ៊ីមែលនៅក្នុងប្រវត្តិទំនាក់ទំនងឯកសារ (ផ្ញើរតាមមហាជន)"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.view_document_file_kanban
@@ -1877,6 +1880,9 @@ msgid ""
"Email address of the sender. This field is set when no matching partner is "
"found and replaces the author_id field in the chatter."
msgstr ""
"អាសយដ្ឋានអ៊ីមែលរបស់អ្នកផ្ញើ។ "
"កន្លែងនេះត្រូវបានកំណត់នៅពេលគ្មានដៃគូដែលផ្គូផ្គងត្រូវបានរកឃើញនិងជំនួសកន្លែង "
"author_id នៅក្នុង chatter ។"
#. module: mail
#: selection:mail.notification,failure_type:0
@@ -2045,7 +2051,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__starred_partner_ids
#: model:ir.model.fields,field_description:mail.field_mail_message__starred_partner_ids
msgid "Favorited By"
msgstr ""
msgstr "ចំណូលចិត្តដោយ"
#. module: mail
#. openerp-web
@@ -2194,7 +2200,7 @@ msgstr ""
#: code:addons/mail/static/src/xml/systray.xml:98
#, python-format
msgid "Future"
msgstr ""
msgstr "អនាគត"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.mail_activity_view_search
@@ -2222,7 +2228,7 @@ msgstr ""
#: code:addons/mail/models/res_users.py:88
#, python-format
msgid "Go to the configuration panel"
msgstr ""
msgstr "ចូលទៅផ្ទាំងការតំឡើង"
#. module: mail
#: selection:ir.actions.act_window.view,view_mode:0
@@ -2359,7 +2365,7 @@ msgstr "ID"
msgid ""
"ID of the parent record holding the alias (example: project holding the task"
" creation alias)"
msgstr ""
msgstr "អត្ថសញ្ញាឯកសារអាណព្យាបាលដំកល់ដោយមិនមានភាពច្បាស់លាស់"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_activity__icon
@@ -2485,7 +2491,7 @@ msgstr ""
#: code:addons/mail/static/src/xml/discuss.xml:216
#, python-format
msgid "Inbox"
msgstr ""
msgstr "សំបុត្រប្រអប់"
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_activity__automated
@@ -2498,7 +2504,7 @@ msgstr ""
#: code:addons/mail/static/src/xml/activity.xml:33
#, python-format
msgid "Info"
msgstr ""
msgstr "ពត៌មាន"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_activity_type__initial_res_model_id
@@ -2847,7 +2853,7 @@ msgstr ""
#: code:addons/mail/static/src/xml/thread.xml:55
#, python-format
msgid "Loading"
msgstr ""
msgstr "ដំណើរការ"
#. module: mail
#. openerp-web
@@ -2883,7 +2889,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mail.mail_activity_view_form_popup
#: model_terms:ir.ui.view,arch_db:mail.view_server_action_form_template
msgid "Log a note..."
msgstr ""
msgstr "កត់ចំណំា"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.mail_activity_view_form_popup
@@ -3140,7 +3146,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__record_name
#: model:ir.model.fields,field_description:mail.field_mail_message__record_name
msgid "Message Record Name"
msgstr ""
msgstr "ឈ្មោះកំណត់ត្រាសារ"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_message_subtype__name
@@ -3200,20 +3206,22 @@ msgid ""
"Message type: email for email message, notification for system message, "
"comment for other messages such as user replies"
msgstr ""
"ប្រភេទសារ: សារអេឡិចត្រូនិចសម្រាប់សារអ៊ីម៉ែល, ការជូនដំណឹងសម្រាប់ប្រព័ន្ធសារ, "
"មតិយោបល់សម្រាប់សារផ្សេងទៀតដូចជាការឆ្លើយតបរបស់អ្នកប្រើ"
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_compose_message__message_id
#: model:ir.model.fields,help:mail.field_mail_mail__message_id
#: model:ir.model.fields,help:mail.field_mail_message__message_id
msgid "Message unique identifier"
msgstr ""
msgstr "អ្នកកំណត់អត្តសញ្ញាណតែមួយគត់សារ"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__message_id
#: model:ir.model.fields,field_description:mail.field_mail_mail__message_id
#: model:ir.model.fields,field_description:mail.field_mail_message__message_id
msgid "Message-Id"
msgstr ""
msgstr "សារលេខសម្គាល់"
#. module: mail
#: model:ir.actions.act_window,name:mail.action_view_mail_message
@@ -3300,7 +3308,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__moderator_id
#: model:ir.model.fields,field_description:mail.field_mail_message__moderator_id
msgid "Moderated By"
msgstr ""
msgstr "សម្របសម្រួលដោយ"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_channel__moderation_ids
@@ -3340,7 +3348,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__moderation_status
#: model:ir.model.fields,field_description:mail.field_mail_message__moderation_status
msgid "Moderation Status"
msgstr ""
msgstr "សម្របសម្រួលបច្ចុប្បន្នភាព"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_res_users__moderation_counter
@@ -3395,7 +3403,7 @@ msgstr "ឈ្មោះ"
#: model:ir.model.fields,help:mail.field_mail_mail__record_name
#: model:ir.model.fields,help:mail.field_mail_message__record_name
msgid "Name get of the related document."
msgstr ""
msgstr "ឈ្មោះទទួលឯកសារពាក់ព័ន្ធ។"
#. module: mail
#: model:ir.model.fields,help:mail.field_email_template_preview__report_name
@@ -3414,14 +3422,14 @@ msgstr ""
#: model:ir.model.fields,help:mail.field_mail_message__needaction
#: model_terms:ir.ui.view,arch_db:mail.view_message_search
msgid "Need Action"
msgstr ""
msgstr "ត្រូវការសកម្មភាព"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__need_moderation
#: model:ir.model.fields,field_description:mail.field_mail_mail__need_moderation
#: model:ir.model.fields,field_description:mail.field_mail_message__need_moderation
msgid "Need moderation"
msgstr ""
msgstr "ត្រូវការល្មម"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_notification__res_partner_id
@@ -3613,7 +3621,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__no_auto_thread
#: model:ir.model.fields,field_description:mail.field_mail_message__no_auto_thread
msgid "No threading for answers"
msgstr ""
msgstr "គ្មានខ្សែស្រឡាយសម្រាប់ចម្លើយ"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_ir_actions_server__activity_note
@@ -3650,17 +3658,17 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_message__notification_ids
#: model:ir.model.fields,field_description:mail.field_mail_resend_message__notification_ids
msgid "Notifications"
msgstr ""
msgstr "កំណត់សំគាល់"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_compose_message__notify
msgid "Notify followers"
msgstr ""
msgstr "តាមដានកំណត់សំគាល់"
#. module: mail
#: model:ir.model.fields,help:mail.field_mail_compose_message__notify
msgid "Notify followers of the document (mass post only)"
msgstr ""
msgstr "ជូនដំណឹងអ្នកតាមដានឯកសារ (ប្រកាសតែប៉ុណ្ណោះ)"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_blacklist__message_needaction_counter
@@ -3834,6 +3842,9 @@ msgid ""
"attached, even if they did not reply to it. If set, this will disable the "
"creation of new records completely."
msgstr ""
"លេខសម្គាល់ស្រេចចិត្តនៃខ្សែស្រឡាយ (កំណត់ត្រា) "
"ដែលសារទាំងអស់នឹងត្រូវបានភ្ជាប់ទោះបីជាពួកគេមិនឆ្លើយតបទៅវាក៏ដោយ។ "
"ប្រសិនបើបានកំណត់វានឹងបិទការបង្កើតកំណត់ត្រាថ្មីទាំងស្រុង។"
#. module: mail
#: model:ir.model.fields,help:mail.field_email_template_preview__mail_server_id
@@ -3892,7 +3903,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__mail_server_id
#: model:ir.model.fields,field_description:mail.field_mail_message__mail_server_id
msgid "Outgoing mail server"
msgstr ""
msgstr "ម៉ាស៊ីនបម្រើសំបុត្រចេញ"
#. module: mail
#: selection:mail.activity,state:0
@@ -4149,7 +4160,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mail.email_template_form
#, python-format
msgid "Preview"
msgstr ""
msgstr "ពីមុន"
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.email_template_preview_form
@@ -4252,7 +4263,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mail.email_compose_message_wizard_form
#: model_terms:ir.ui.view,arch_db:mail.view_message_form
msgid "Recipients"
msgstr ""
msgstr "អ្នកទទួល"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_mail_activity__recommended_activity_type_id
@@ -4316,7 +4327,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_message__res_id
#: model:ir.model.fields,field_description:mail.field_mail_wizard_invite__res_id
msgid "Related Document ID"
msgstr ""
msgstr "លេខសម្គាល់ឯកសារដែលទាក់ទង"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_email_template_preview__model
@@ -4486,7 +4497,7 @@ msgstr ""
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.email_compose_message_wizard_form
msgid "Save as new template"
msgstr ""
msgstr "រក្សាទុកជាគំរូថ្មី"
#. module: mail
#. openerp-web
@@ -4727,7 +4738,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mail.mail_activity_view_search
#: model_terms:ir.ui.view,arch_db:mail.res_partner_view_search_inherit_mail
msgid "Show all records which has next action date is before today"
msgstr ""
msgstr "បង្ហាញកំណត់ត្រាទាំងអស់ដែលមានកាលបរិច្ឆេទសកម្មភាពបន្ទាប់នៅមុនថ្ងៃនេះ"
#. module: mail
#: code:addons/mail/models/mail_channel.py:914
@@ -4861,7 +4872,7 @@ msgstr ""
#. module: mail
#: model_terms:ir.ui.view,arch_db:mail.email_compose_message_wizard_form
msgid "Subject..."
msgstr ""
msgstr "ប្រធានបទ ..."
#. module: mail
#. openerp-web
@@ -5127,6 +5138,8 @@ msgid ""
"Tracked values are stored in a separate model. This field allow to "
"reconstruct the tracking and to generate statistics on the model."
msgstr ""
"តម្លៃដែលបានតាមដានត្រូវបានរក្សាទុកក្នុងគំរូដាច់ដោយឡែកមួយ។ "
"កន្លែងនេះអនុញ្ញាតឱ្យធ្វើការជួសជុលឡើងវិញនិងបង្កើតស្ថិតិលើគំរូ។"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_ir_model_fields__track_visibility
+1 -1
View File
@@ -3471,7 +3471,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mail.field_mail_mail__moderation_status
#: model:ir.model.fields,field_description:mail.field_mail_message__moderation_status
msgid "Moderation Status"
msgstr ""
msgstr "Trạng thái kiểm duyệt"
#. module: mail
#: model:ir.model.fields,field_description:mail.field_res_users__moderation_counter
@@ -101,6 +101,19 @@ var DMChat = TwoUserChannel.extend(ChannelSeenMixin, {
getStatus: function () {
return this.call('mail_service', 'getImStatus', { partnerID: this._directPartnerID });
},
/**
* @param {Object} data
* @param {string} data.outOfOfficeMessage
* @param {string} data.outOfOfficeDateEnd
*/
updateOutOfOfficeInfo: function (data) {
this._outOfOfficeMessage = data.outOfOfficeMessage;
this._outOfOfficeDateEnd = data.outOfOfficeDateEnd;
this.call('mail_service', 'getMailBus').trigger('updated_out_of_office', {
threadID: this.getID(),
});
}
});
return DMChat;
@@ -329,7 +329,9 @@ var DocumentThread = Thread.extend({
.then(function (messages) {
messages[0].model = resModel;
messages[0].res_id = resID;
self.call('mail_service', 'addMessage', messages[0]);
self.call('mail_service', 'addMessage', messages[0], {
postedFromDocumentThread: true,
});
return messages[0];
});
});
@@ -171,11 +171,15 @@ var ThreadTypingMixin = {
if (this._isTypingMyselfInfo(params)) {
return;
}
var partnerID = params.partnerID;
this._othersTypingTimers.registerTimer({
timeoutCallbackArguments: [params.partnerID],
timerID: params.partnerID,
timeoutCallbackArguments: [partnerID],
timerID: partnerID,
});
this._typingPartnerIDs.push(params.partnerID);
if (_.contains(this._typingPartnerIDs, partnerID)) {
return;
}
this._typingPartnerIDs.push(partnerID);
this._warnUpdatedTypingPartners();
},
/**
@@ -209,6 +213,9 @@ var ThreadTypingMixin = {
unregisterTyping: function (params) {
var partnerID = params.partnerID;
this._othersTypingTimers.unregisterTimer({ timerID: partnerID });
if (!_.contains(this._typingPartnerIDs, partnerID)) {
return;
}
this._typingPartnerIDs = _.reject(this._typingPartnerIDs, function (id) {
return id === partnerID;
});
@@ -48,23 +48,16 @@ MailManager.include({
*
* @override
* @param {Object} data
* @param {Array} [data.author_id] [int, string] where int is server ID of
* the author, and string is the name of the author.
* @param {integer} data.id server ID of the message
* @param {string} [data.model] the model name of the document that this
* message is related to.
* @param {integer} [data.res_id] the ID of the document that this message
* is related to.
*
* @param {Object} [options]
* @param {boolean} [options.postedFromDocumentThread=false]
*/
addMessage: function (data) {
addMessage: function (data, options) {
var message = this.getMessage(data.id);
if (
!message &&
data.res_id &&
data.model &&
data.author_id &&
data.author_id[0] === session.partner_id
options &&
options.postedFromDocumentThread
) {
var key = this.DOCUMENT_THREAD_MESSAGE_KEY;
this.call('local_storage', 'setItem', key, data);
@@ -417,6 +417,9 @@ MailManager.include({
this._handlePartnerUserConnectionNotification(data);
} else if (data.info === 'channel_seen') {
this._handlePartnerChannnelSeenNotification(data);
} else if (data.type === 'simple_notification') {
var title = _.escape(data.title), message = _.escape(data.message);
data.warning ? this.do_warn(title, message, data.sticky) : this.do_notify(title, message, data.sticky);
} else {
this._handlePartnerChannelNotification(data);
}
@@ -54,13 +54,45 @@ MailManager.include({
updateImStatus: function (statusList) {
var updatedIDs = [];
var self = this;
var dmChat;
var toUpdateOutOfOfficeChatIDs = [];
_.each(statusList, function (status) {
if (self._imStatus[status.id] === status.im_status) {
return;
}
if (
status.im_status.indexOf('leave') !== -1 ||
(
self._imStatus[status.id] &&
self._imStatus[status.id].indexOf('leave') !== -1
)
) {
dmChat = self.getDMChatFromPartnerID(status.id);
if (dmChat) {
toUpdateOutOfOfficeChatIDs.push(dmChat.getID());
}
}
updatedIDs.push(status.id);
self._imStatus[status.id] = status.im_status;
});
if (!_.isEmpty(toUpdateOutOfOfficeChatIDs)) {
this._rpc({
model: 'mail.channel',
method: 'channel_info',
args: [toUpdateOutOfOfficeChatIDs],
}).then(function (channelsInfo) {
_.each(channelsInfo, function (channelInfo) {
dmChat = self.getChannel(channelInfo.id);
if (!dmChat) {
return;
}
dmChat.updateOutOfOfficeInfo({
outOfOfficeMessage: channelInfo.direct_partner[0].out_of_office_message,
outOfOfficeDateEnd: channelInfo.direct_partner[0].out_of_office_date_end,
});
});
});
}
if (! _.isEmpty(updatedIDs)) {
this._mailBus.trigger('updated_im_status', updatedIDs); // useful for thread window header
this._renderImStatus(updatedIDs);
@@ -344,6 +344,7 @@ MailManager.include({
.on('is_thread_bottom_visible', this, this._onIsThreadBottomVisible)
.on('unsubscribe_from_channel', this, this._onUnsubscribeFromChannel)
.on('updated_im_status', this, this._onUpdatedImStatus)
.on('updated_out_of_office', this, this._onUpdatedOutOfOffice)
.on('update_thread_unread_counter', this, this._onUpdateThreadUnreadCounter);
core.bus.on('resize', this, _.debounce(this._repositionThreadWindows.bind(this), 100));
@@ -700,6 +701,18 @@ MailManager.include({
threadWindow.renderHeader();
});
},
/**
* @private
* @param {Object} data
* @param {integer} data.threadID
*/
_onUpdatedOutOfOffice: function (data) {
var threadWindow = this._getThreadWindow(data.threadID);
if (!threadWindow) {
return;
}
threadWindow.renderOutOfOffice();
},
/**
* Called when a thread has its unread counter that has changed.
* The unread counter on the thread windows should be updated.
@@ -6,6 +6,7 @@ var BasicComposer = require('mail.composer.Basic');
var core = require('web.core');
var QWeb = core.qweb;
var _t = core._t;
/**
@@ -153,6 +154,23 @@ var ThreadWindow = AbstractThreadWindow.extend({
removePassive: function () {
this._passive = false;
},
renderOutOfOffice: function () {
var $outOfOffice = this.$('.o_out_of_office');
if (!this.getOutOfOfficeInfo() && !this.getOutOfOfficeMessage()) {
if ($outOfOffice.length) {
$outOfOffice.remove();
}
return;
}
var $newOutOfOffice = $(QWeb.render('mail.thread_window.OutOfOffice', {
widget: this,
}));
if ($outOfOffice.length) {
$outOfOffice.replaceWith($newOutOfOffice);
} else {
$newOutOfOffice.insertAfter(this.$('.o_thread_window_header'));
}
},
/**
* Update this thread window
*
@@ -39,8 +39,9 @@ $o-mail-thread-window-zindex: $zindex-modal + 1 !default;
padding: 8px;
@include media-breakpoint-down(sm) {
align-items: center;
height: $o-mail-chat-header-height;
padding-top: 12px;
padding: 0;
border-radius: 0px;
.o_thread_window_title {
font-size: 16px;
@@ -48,7 +49,9 @@ $o-mail-thread-window-zindex: $zindex-modal + 1 !default;
}
.o_thread_window_close {
font-size: 17px;
$o-close-font-size: 17px;
padding: (($o-mail-chat-header-height - $o-close-font-size) / 2);
font-size: $o-close-font-size;
color: white;
}
}
+2 -1
View File
@@ -287,7 +287,8 @@
}
.o_mail_discuss_content {
flex: 1 0 0;
flex: 1 1 auto;
min-height: 0;
margin-left: 10px;
margin-right: 10px;
background-color: transparent;
@@ -66,7 +66,7 @@
-->
<t t-name="mail.AbstractThreadWindow.HeaderContent">
<span t-if="widget.isMobile()">
<a href="#" class="o_thread_window_close fa fa-1x fa-arrow-left mr4" aria-label="Close chat window" title="Close chat window"/>
<a href="#" class="o_thread_window_close fa fa-1x fa-arrow-left" aria-label="Close chat window" title="Close chat window"/>
</span>
<span class="o_thread_window_title">
<t t-if="status" t-call="mail.UserStatus"/>
+12 -7
View File
@@ -6,13 +6,7 @@
-->
<t t-name="mail.ThreadWindow" t-extend="mail.AbstractThreadWindow">
<t t-jquery=".o_thread_window_header" t-operation="after">
<div class="o_out_of_office" t-if="widget.getOutOfOfficeInfo() or widget.getOutOfOfficeMessage()">
<div class="o_out_of_office_info" t-if="widget.getOutOfOfficeInfo()" t-esc="widget.getOutOfOfficeInfo()"/>
<div class="o_out_of_office_text o_text_wrap" t-if="widget.getOutOfOfficeMessage()">
<t t-esc="widget.getOutOfOfficeMessage()"/>
<a href="#" class="o_out_of_office_read_more_less_button">Read more</a>
</div>
</div>
<t t-call="mail.thread_window.OutOfOffice" t-if="widget.getOutOfOfficeInfo() or widget.getOutOfOfficeMessage()"/>
<div t-if="!widget.hasThread()" class="o_thread_search_input">
<span> To: </span>
<input type="text" placeholder="User name"/>
@@ -20,6 +14,17 @@
</t>
</t>
<!--
@param {mail.ThreadWindow} widget
-->
<div class="o_out_of_office" t-name="mail.thread_window.OutOfOffice">
<div class="o_out_of_office_info" t-if="widget.getOutOfOfficeInfo()" t-esc="widget.getOutOfOfficeInfo()"/>
<div class="o_out_of_office_text o_text_wrap" t-if="widget.getOutOfOfficeMessage()">
<t t-esc="widget.getOutOfOfficeMessage()"/>
<a href="#" class="o_out_of_office_read_more_less_button">Read more</a>
</div>
</div>
<!--
@param {string} expandTitle text to display on mouse hover (title attribute)
-->
@@ -48,7 +48,7 @@ QUnit.module('Document Thread', {
},
records: [{
id: 1,
author_id: [1, 'Me'],
author_id: [partnerID, 'Me'],
body: '<p>Some Message on a document</p>',
channel_ids: [],
model: 'some.res.model',
@@ -726,6 +726,119 @@ QUnit.test('no out-of-office status in thread window', async function (assert) {
parent.destroy();
});
QUnit.test('auto-update out-of-office info on im_status change', async function (assert) {
assert.expect(5);
var imStatusDefs = [testUtils.makeTestPromise(), testUtils.makeTestPromise()];
var channelInfoDefs = [testUtils.makeTestPromise(), testUtils.makeTestPromise()];
var timeoutMock = mailTestUtils.patchMailTimeouts();
var step = 0;
this.data = {
'mail.message': {
fields: {},
records: [],
},
initMessaging: {
channel_slots: {
channel_channel: [{
id: 1,
name: "DM",
channel_type: "chat",
message_unread_counter: 0,
direct_partner: [{
id: 666,
name: 'DemoUser1',
im_status: 'online',
}],
}],
},
},
};
var parent = this.createParent({
data: this.data,
services: this.services,
mockRPC: function (route, args) {
if (route === '/longpolling/im_status') {
step++;
if (step === 1) {
imStatusDefs[0].resolve();
return Promise.resolve([
{
id: 666,
im_status: 'leave',
},
]);
} else if (step === 2) {
imStatusDefs[1].resolve();
return Promise.resolve([
{
id: 666,
im_status: 'online',
},
]);
}
}
if (args.method === 'channel_info') {
if (step === 1) {
channelInfoDefs[0].resolve();
return Promise.resolve([{
id: 1,
direct_partner: [{
out_of_office_message: "Leave me alone",
out_of_office_date_end: false,
}],
}]);
}
else if (step === 2) {
channelInfoDefs[1].resolve();
return Promise.resolve([{
id: 1,
direct_partner: [{
out_of_office_message: false,
out_of_office_date_end: false,
}],
}]);
}
}
return this._super.apply(this, arguments);
},
});
await testUtils.nextTick();
// detach channel 1, so that it opens corresponding thread window.
parent.call('mail_service', 'getChannel', 1).detach();
await testUtils.nextTick();
assert.containsNone($, '.o_out_of_office',
"should contain no out of office section on chat window initially");
timeoutMock.addTime(51*1000); // wait for next im status fetch
await Promise.all([imStatusDefs[0], channelInfoDefs[0]]);
await testUtils.nextTick();
assert.containsOnce($, '.o_out_of_office',
"should contain out of office section on chat window");
assert.containsOnce($, '.o_out_of_office > .o_out_of_office_text',
"should contain out of office text on chat window");
assert.ok(
$('.o_out_of_office > .o_out_of_office_text')
.text()
.replace(/\s/g, "")
.indexOf("Leavemealone") !== -1,
"should contain out of office text on chat window");
timeoutMock.addTime(51*1000); // wait for next im status fetch
await Promise.all([imStatusDefs[1], channelInfoDefs[1]]);
await testUtils.nextTick();
assert.containsNone($, '.o_out_of_office',
"should no longer contain out of office section on chat window");
timeoutMock.runPendingTimeouts();
parent.destroy();
});
});
});
});
+1 -1
View File
@@ -129,7 +129,7 @@ msgstr "Naposled změněno"
#. module: mail_bot
#: model:ir.model,name:mail_bot.model_mail_bot
msgid "Mail Bot"
msgstr ""
msgstr "e-mailový robot"
#. module: mail_bot
#: code:addons/mail_bot/models/mail_bot.py:45
+9 -6
View File
@@ -154,12 +154,12 @@ msgstr ""
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_contact
msgid "Alias Contact Security"
msgstr ""
msgstr "ការទំនាក់ទំនងដោយប្រុងប្រយ័ត្ន"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_name
msgid "Alias Name"
msgstr ""
msgstr "ឈ្មោះក្លែក្លាយ"
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_domain
@@ -169,7 +169,7 @@ msgstr ""
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_model_id
msgid "Aliased Model"
msgstr ""
msgstr "គំរូឈ្មោះក្លែងក្លាយ"
#. module: maintenance
#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban
@@ -184,7 +184,7 @@ msgstr ""
#. module: maintenance
#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__archive
msgid "Archive"
msgstr ""
msgstr "សម្រេចគោលដៅ"
#. module: maintenance
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search
@@ -565,7 +565,7 @@ msgstr "ID"
msgid ""
"ID of the parent record holding the alias (example: project holding the task"
" creation alias)"
msgstr ""
msgstr "អត្ថសញ្ញាឯកសារអាណព្យាបាលដំកល់ដោយមិនមានភាពច្បាស់លាស់"
#. module: maintenance
#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__message_unread
@@ -950,6 +950,9 @@ msgid ""
"attached, even if they did not reply to it. If set, this will disable the "
"creation of new records completely."
msgstr ""
"លេខសម្គាល់ស្រេចចិត្តនៃខ្សែស្រឡាយ (កំណត់ត្រា) "
"ដែលសារទាំងអស់នឹងត្រូវបានភ្ជាប់ទោះបីជាពួកគេមិនឆ្លើយតបទៅវាក៏ដោយ។ "
"ប្រសិនបើបានកំណត់វានឹងបិទការបង្កើតកំណត់ត្រាថ្មីទាំងស្រុង។"
#. module: maintenance
#: model:ir.ui.menu,name:maintenance.menu_m_reports_oee
@@ -1185,7 +1188,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search
#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search
msgid "Show all records which has next action date is before today"
msgstr ""
msgstr "បង្ហាញកំណត់ត្រាទាំងអស់ដែលមានកាលបរិច្ឆេទសកម្មភាពបន្ទាប់នៅមុនថ្ងៃនេះ"
#. module: maintenance
#: model:maintenance.equipment.category,name:maintenance.equipment_software
+3 -3
View File
@@ -770,7 +770,7 @@ msgstr ""
#. module: mass_mailing
#: model_terms:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_campaign_form
msgid "Duplicate"
msgstr ""
msgstr "ត្រួត"
#. module: mass_mailing
#: model_terms:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_list_kanban
@@ -1162,7 +1162,7 @@ msgstr ""
#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing_list_contact_rel__list_id
#: model:ir.model.fields,field_description:mass_mailing.field_survey_mail_compose_message__mailing_list_ids
msgid "Mailing List"
msgstr ""
msgstr "តារាងសំបុត្រ"
#. module: mass_mailing
#: model:ir.actions.act_window,name:mass_mailing.action_view_mass_mailing_contacts
@@ -1685,7 +1685,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_form
#: model_terms:ir.ui.view,arch_db:mass_mailing.view_mail_mass_mailing_list_form
msgid "Recipients"
msgstr ""
msgstr "អ្នកទទួល"
#. module: mass_mailing
#: model:ir.model.fields,field_description:mass_mailing.field_mail_mass_mailing__mailing_model_id
+1 -1
View File
@@ -1326,7 +1326,7 @@ msgstr "Liên hệ gửi email hàng loạt"
#: model:ir.model.fields,field_description:mass_mailing.field_mail_compose_message__mass_mailing_name
#: model:ir.model.fields,field_description:mass_mailing.field_survey_mail_compose_message__mass_mailing_name
msgid "Mass Mailing Name"
msgstr ""
msgstr "Tên gửi mail hàng loạt"
#. module: mass_mailing
#: model:ir.model,name:mass_mailing.model_mass_mailing_schedule_date
+11 -11
View File
@@ -3,15 +3,15 @@
# * mass_mailing_crm
#
# Translators:
# Mohammed Ibrahim <m.ibrahim@mussder.com>, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-08 06:49+0000\n"
"PO-Revision-Date: 2018-10-08 06:49+0000\n"
"Last-Translator: Shaima Safar <shaima.safar@open-inside.com>, 2018\n"
"PO-Revision-Date: 2018-08-24 09:20+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,35 +22,35 @@ msgstr ""
#. module: mass_mailing_crm
#: model:ir.model.fields,field_description:mass_mailing_crm.field_mail_mass_mailing__crm_lead_count
msgid "Lead Count"
msgstr ""
msgstr "عدد الترشيحات"
#. module: mass_mailing_crm
#: model:mail.mass_mailing,name:mass_mailing_crm.mass_mail_lead_0
#: model:utm.source,name:mass_mailing_crm.mass_mail_lead_0_utm_source
msgid "Lead Newsletter"
msgstr ""
msgstr "النشرة البريدية للترشيح"
#. module: mass_mailing_crm
#: model_terms:ir.ui.view,arch_db:mass_mailing_crm.mail_mass_mailing_view_form
msgid "Leads"
msgstr "المرشحيين "
msgstr "الترشيحات"
#. module: mass_mailing_crm
#: model:ir.model,name:mass_mailing_crm.model_mail_mass_mailing
msgid "Mass Mailing"
msgstr "المراسلات"
msgstr "المراسلات الجماعية"
#. module: mass_mailing_crm
#: model_terms:ir.ui.view,arch_db:mass_mailing_crm.mail_mass_mailing_view_form
msgid "Opportunities"
msgstr "الفرص "
msgstr "الفرص"
#. module: mass_mailing_crm
#: model:ir.model.fields,field_description:mass_mailing_crm.field_mail_mass_mailing__crm_opportunities_count
msgid "Opportunities Count"
msgstr ""
msgstr "عدد الفرص"
#. module: mass_mailing_crm
#: model:ir.model.fields,field_description:mass_mailing_crm.field_mail_mass_mailing__crm_lead_activated
msgid "Use Leads"
msgstr ""
msgstr "استخدام الترشيحات"
+5 -6
View File
@@ -3,8 +3,7 @@
# * mass_mailing_event
#
# Translators:
# Martin Trigaux, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
@@ -12,7 +11,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-18 09:49+0000\n"
"PO-Revision-Date: 2018-08-24 09:20+0000\n"
"Last-Translator: Shaima Safar <shaima.safar@open-inside.com>, 2018\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,14 +22,14 @@ msgstr ""
#. module: mass_mailing_event
#: model_terms:ir.ui.view,arch_db:mass_mailing_event.event_event_view_form_inherit_mass_mailing
msgid "<span class=\"o_stat_text\">Mail Attendees</span>"
msgstr ""
msgstr "<span class=\"o_stat_text\">إرسال رسالة للحضور</span>"
#. module: mass_mailing_event
#: model:ir.model,name:mass_mailing_event.model_event_event
msgid "Event"
msgstr "الحدث"
msgstr "الفعالية"
#. module: mass_mailing_event
#: model:ir.model,name:mass_mailing_event.model_mail_mass_mailing
msgid "Mass Mailing"
msgstr "المراسلات"
msgstr "المراسلات الجماعية"
+5 -5
View File
@@ -1636,7 +1636,7 @@ msgstr ""
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.mrp_production_form_view
msgid "Lock"
msgstr ""
msgstr "ចាក់សោរ"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_workcenter_productivity__loss_id
@@ -1914,7 +1914,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mrp.mrp_production_form_view
#: model_terms:ir.ui.view,arch_db:mrp.mrp_production_workorder_form_view_inherit
msgid "Miscellaneous"
msgstr ""
msgstr "ផ្សេងៗ"
#. module: mrp
#: model:ir.model.fields,field_description:mrp.field_mrp_product_produce_line__move_id
@@ -2192,7 +2192,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mrp.workcenter_line_pivot
#, python-format
msgid "Operations"
msgstr ""
msgstr "ប្រតិបត្តិការ"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.report_mrporder
@@ -2733,7 +2733,7 @@ msgstr ""
#: code:addons/mrp/static/src/xml/mrp.xml:10
#, python-format
msgid "Quantity:"
msgstr ""
msgstr "បរិមាណ:"
#. module: mrp
#: model_terms:ir.ui.view,arch_db:mrp.view_mrp_production_filter
@@ -3079,7 +3079,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mrp.mrp_unbuild_search_view
#: model_terms:ir.ui.view,arch_db:mrp.view_mrp_production_filter
msgid "Show all records which has next action date is before today"
msgstr ""
msgstr "បង្ហាញកំណត់ត្រាទាំងអស់ដែលមានកាលបរិច្ឆេទសកម្មភាពបន្ទាប់នៅមុនថ្ងៃនេះ"
#. module: mrp
#: model:product.product,description:mrp.product_product_computer_desk_head
+9 -6
View File
@@ -5,14 +5,15 @@
# Translators:
# Mohammed Albasha <m.albasha.ma@gmail.com>, 2018
# Ghaith Gammar <g.gammar@saharaifs.net>, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-02 10:06+0000\n"
"PO-Revision-Date: 2018-10-02 10:06+0000\n"
"Last-Translator: Shaima Safar <shaima.safar@open-inside.com>, 2018\n"
"PO-Revision-Date: 2018-08-24 09:21+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,7 +28,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:mrp_bom_cost.product_product_view_form_normal_inherit_extended
#: model_terms:ir.ui.view,arch_db:mrp_bom_cost.product_variant_easy_edit_view_bom_inherit
msgid "Compute Price from BoM"
msgstr ""
msgstr "احتساب السعر من قائمة المواد"
#. module: mrp_bom_cost
#: model_terms:ir.ui.view,arch_db:mrp_bom_cost.product_product_ext_form_view2
@@ -37,8 +38,8 @@ msgid ""
"Compute the price of the product using products and operations of related "
"bill of materials, for manufactured products only."
msgstr ""
"يحسب سعر المنتج باستخدام المنتجات والعمليات المقترن بفاتورة المواد "
"والمنتجات المصنعة فقط."
"يحتسب سعر المنتج باستخدام المنتجات والعمليات في قائمة المواد ذات الصلة، "
"للمنتجات المصنعة فقط."
#. module: mrp_bom_cost
#: model:ir.model,name:mrp_bom_cost.model_product_product
@@ -57,3 +58,5 @@ msgid ""
"The inventory valuation of some products %s is automated. You can only "
"update their cost from the product form."
msgstr ""
"تمت أتمتة تقييم المخزون لبعض المنتجات %s. لا يمكنك تحديث تكلفتهم إلا من خلال"
" نموذج المنتج."
+2 -2
View File
@@ -78,7 +78,7 @@ msgstr ""
#. module: note
#: model_terms:ir.ui.view,arch_db:note.view_note_note_filter
msgid "Archive"
msgstr ""
msgstr "សម្រេចគោលដៅ"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__message_attachment_count
@@ -433,7 +433,7 @@ msgstr ""
#. module: note
#: model_terms:ir.ui.view,arch_db:note.view_note_note_filter
msgid "Show all records which has next action date is before today"
msgstr ""
msgstr "បង្ហាញកំណត់ត្រាទាំងអស់ដែលមានកាលបរិច្ឆេទសកម្មភាពបន្ទាប់នៅមុនថ្ងៃនេះ"
#. module: note
#: model:ir.model.fields,field_description:note.field_note_note__stage_id
+1 -1
View File
@@ -65,7 +65,7 @@ msgstr "កាលបរិច្ឆេតកែប្រែចុងក្រោ
#: code:addons/pad/static/src/js/pad.js:147
#, python-format
msgid "Loading"
msgstr ""
msgstr "ដំណើរការ"
#. module: pad
#: model:ir.model.fields,field_description:pad.field_res_company__pad_key
+10 -9
View File
@@ -3,15 +3,16 @@
# * pad_project
#
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.2\n"
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-22 14:10+0000\n"
"PO-Revision-Date: 2018-03-22 14:10+0000\n"
"Last-Translator: Shaima Safar <shaima.safar@open-inside.com>, 2018\n"
"POT-Creation-Date: 2018-09-18 09:49+0000\n"
"PO-Revision-Date: 2018-08-24 09:21+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,7 +23,7 @@ msgstr ""
#. module: pad_project
#: model:ir.model.fields,field_description:pad_project.field_project_task__description_pad
msgid "Pad URL"
msgstr ""
msgstr "رابط باد"
#. module: pad_project
#: model:ir.model,name:pad_project.model_project_project
@@ -37,15 +38,15 @@ msgstr "المهمة"
#. module: pad_project
#: model:ir.model.fields,field_description:pad_project.field_project_task__use_pad
msgid "Use collaborative pad"
msgstr ""
msgstr "استخدام منصات تعاونية"
#. module: pad_project
#: model:ir.model.fields,help:pad_project.field_project_project__use_pads
#: model:ir.model.fields,help:pad_project.field_project_task__use_pad
msgid "Use collaborative pad for the tasks on this project."
msgstr ""
msgstr "استخدام منصات تعاونية لمهمات هذا المشروع."
#. module: pad_project
#: model:ir.model.fields,field_description:pad_project.field_project_project__use_pads
msgid "Use collaborative pads"
msgstr ""
msgstr "استخدام منصات تعاونية"
+37 -13
View File
@@ -26,7 +26,7 @@ msgstr ""
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
msgid "(Time Now)"
msgstr ""
msgstr "(الوقت الآن)"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.res_config_settings_view_form
@@ -34,6 +34,8 @@ msgid ""
"<i class=\"fa fa-arrow-right\"/>\n"
" Buy more credits"
msgstr ""
"<i class=\"fa fa-arrow-right\"/>\n"
" شراء رصيد"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.res_config_settings_view_form
@@ -41,6 +43,8 @@ msgid ""
"<i class=\"fa fa-exclamation-triangle text-warning\"/> &amp;nbsp; You don't "
"have credits to auto-complete companies' data anymore."
msgstr ""
"<i class=\"fa fa-exclamation-triangle text-warning\"/> &amp;nbsp; لم تعد "
"تملك رصيدًا كافيًا لإكمال بيانات المؤسسات تلقائيًا."
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
@@ -48,6 +52,8 @@ msgid ""
"<i class=\"fa fa-fw mr-2 fa-building text-primary\"/>\n"
" <b>Company type:</b>"
msgstr ""
"<i class=\"fa fa-fw mr-2 fa-building text-primary\"/>\n"
" <b>نوع المؤسسة:</b>"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
@@ -55,6 +61,8 @@ msgid ""
"<i class=\"fa fa-fw mr-2 fa-calendar text-primary\"/>\n"
" <b>Founded:</b>"
msgstr ""
"<i class=\"fa fa-fw mr-2 fa-calendar text-primary\"/>\n"
" <b>أُسست:</b>"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
@@ -62,6 +70,8 @@ msgid ""
"<i class=\"fa fa-fw mr-2 fa-cube text-primary\"/>\n"
" <b>Technology Used :</b>"
msgstr ""
"<i class=\"fa fa-fw mr-2 fa-cube text-primary\"/>\n"
" <b>التقنية المستخدمة:</b>"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
@@ -69,6 +79,8 @@ msgid ""
"<i class=\"fa fa-fw mr-2 fa-envelope text-primary\"/>\n"
" <b>Email :</b>"
msgstr ""
"<i class=\"fa fa-fw mr-2 fa-envelope text-primary\"/>\n"
" <b>البريد الإلكتروني:</b>"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
@@ -76,6 +88,8 @@ msgid ""
"<i class=\"fa fa-fw mr-2 fa-globe text-primary\"/>\n"
" <b>Timezone :</b>"
msgstr ""
"<i class=\"fa fa-fw mr-2 fa-globe text-primary\"/>\n"
" <b>المنطقة الزمنية:</b>"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
@@ -83,6 +97,8 @@ msgid ""
"<i class=\"fa fa-fw mr-2 fa-industry text-primary\"/>\n"
" <b>Sector:</b>"
msgstr ""
"<i class=\"fa fa-fw mr-2 fa-industry text-primary\"/>\n"
" <b>القطاع:</b>"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
@@ -90,6 +106,8 @@ msgid ""
"<i class=\"fa fa-fw mr-2 fa-money text-primary\"/>\n"
" <b>Annual revenue:</b>"
msgstr ""
"<i class=\"fa fa-fw mr-2 fa-money text-primary\"/>\n"
" <b>العائد السنوي:</b>"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
@@ -97,6 +115,8 @@ msgid ""
"<i class=\"fa fa-fw mr-2 fa-money text-primary\"/>\n"
" <b>Estimated annual revenue:</b>"
msgstr ""
"<i class=\"fa fa-fw mr-2 fa-money text-primary\"/>\n"
" <b>العائد السنوي المقدر:</b>"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
@@ -104,6 +124,8 @@ msgid ""
"<i class=\"fa fa-fw mr-2 fa-phone text-primary\"/>\n"
" <b>Phone :</b>"
msgstr ""
"<i class=\"fa fa-fw mr-2 fa-phone text-primary\"/>\n"
" <b>الهاتف:</b>"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
@@ -111,16 +133,18 @@ msgid ""
"<i class=\"fa fa-fw mr-2 fa-users text-primary\"/>\n"
" <b>Employees:</b>"
msgstr ""
"<i class=\"fa fa-fw mr-2 fa-users text-primary\"/>\n"
" <b>الموظفون:</b>"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.res_config_settings_view_form
msgid "<span>&amp;times;</span>"
msgstr ""
msgstr "<span>أوقات</span>"
#. module: partner_autocomplete
#: model:ir.model.fields,field_description:partner_autocomplete.field_res_partner__additional_info
msgid "Additional info"
msgstr ""
msgstr "معلومات إضافية"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.res_config_settings_view_form
@@ -136,7 +160,7 @@ msgstr "المؤسسات"
#: model:ir.model.fields,field_description:partner_autocomplete.field_res_company__partner_gid
#: model:ir.model.fields,field_description:partner_autocomplete.field_res_partner__partner_gid
msgid "Company database ID"
msgstr ""
msgstr "معرف قاعدة بيانات المؤسسة"
#. module: partner_autocomplete
#: model:ir.model,name:partner_autocomplete.model_res_config_settings
@@ -161,7 +185,7 @@ msgstr "أنشئ في"
#. module: partner_autocomplete
#: model:ir.model.fields,field_description:partner_autocomplete.field_res_partner_autocomplete_sync__display_name
msgid "Display Name"
msgstr "اسم العرض"
msgstr "الاسم المعروض"
#. module: partner_autocomplete
#: model:ir.model.fields,field_description:partner_autocomplete.field_res_partner_autocomplete_sync__id
@@ -171,12 +195,12 @@ msgstr "المعرف"
#. module: partner_autocomplete
#: model:ir.model.fields,field_description:partner_autocomplete.field_res_config_settings__partner_autocomplete_insufficient_credit
msgid "Insufficient credit"
msgstr ""
msgstr "رصيد غير كاف"
#. module: partner_autocomplete
#: model:ir.model.fields,field_description:partner_autocomplete.field_res_partner_autocomplete_sync__synched
msgid "Is synched"
msgstr ""
msgstr "متزامن"
#. module: partner_autocomplete
#: model:ir.model.fields,field_description:partner_autocomplete.field_res_partner_autocomplete_sync____last_update
@@ -203,17 +227,17 @@ msgstr "الشريك"
#: model:ir.cron,cron_name:partner_autocomplete.ir_cron_partner_autocomplete
#: model:ir.cron,name:partner_autocomplete.ir_cron_partner_autocomplete
msgid "Partner Autocomplete : Sync with remote DB"
msgstr ""
msgstr "إكمال الشريك تلقائيًا: المزامنة مع قاعدة بيانات بعيدة"
#. module: partner_autocomplete
#: model:ir.model,name:partner_autocomplete.model_res_partner_autocomplete_sync
msgid "Partner Autocomplete Sync"
msgstr ""
msgstr "مزامنة إكمال الشريك تلقائيًا"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
msgid "Partner created by Odoo Partner Autocomplete Service"
msgstr ""
msgstr "تم إنشاء الشريك من خلال خدمة إكمال الشريك تلقائيًا المقدمة من أودو"
#. module: partner_autocomplete
#. openerp-web
@@ -227,14 +251,14 @@ msgstr ""
#: code:addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js:22
#, python-format
msgid "Searching Autocomplete..."
msgstr ""
msgstr "البحث في الإكمال التلقائي..."
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
msgid "Twitter :"
msgstr ""
msgstr "تويتر:"
#. module: partner_autocomplete
#: model_terms:ir.ui.view,arch_db:partner_autocomplete.additional_info_template
msgid "followers)"
msgstr ""
msgstr "المتابعون)"
+20 -13
View File
@@ -131,7 +131,7 @@ msgstr ""
#. module: payment
#: model_terms:ir.ui.view,arch_db:payment.view_partners_form_payment_defaultcreditcard
msgid "<span class=\"o_stat_text\">Credit card(s)</span>"
msgstr ""
msgstr "<span class=\"o_stat_text\">Kreditní karta(y)</span>"
#. module: payment
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
@@ -248,7 +248,7 @@ msgstr ""
#: code:addons/payment/models/account_payment.py:57
#, python-format
msgid "A token is required to create a new payment transaction."
msgstr ""
msgstr "K vytvoření nové platební transakce je vyžadován token."
#. module: payment
#: code:addons/payment/models/payment_acquirer.py:657
@@ -266,7 +266,7 @@ msgstr ""
#: code:addons/payment/models/account_invoice.py:36
#, python-format
msgid "A transaction can't be linked to invoices having different currencies."
msgstr ""
msgstr "Transakci nelze propojit s fakturami s různými měnami."
#. module: payment
#: code:addons/payment/models/account_invoice.py:41
@@ -383,7 +383,7 @@ msgstr ""
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer__authorize_implemented
msgid "Authorize Mechanism Supported"
msgstr ""
msgstr "Podporován mechanismus autorizace"
#. module: payment
#: model:payment.acquirer,name:payment.payment_acquirer_authorize
@@ -480,7 +480,7 @@ msgstr "Platbu nelze nastavit"
#: code:addons/payment/controllers/portal.py:225
#, python-format
msgid "Cannot setup the payment."
msgstr ""
msgstr "Nelze nastavit platbu."
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer__capture_manually
@@ -496,7 +496,7 @@ msgstr ""
#. module: payment
#: model:ir.model.fields,help:payment.field_payment_acquirer__capture_manually
msgid "Capture the amount from Odoo, when the delivery is completed."
msgstr ""
msgstr "Zachytit částku z Odoo, když je doručení dokončeno."
#. module: payment
#: model_terms:ir.ui.view,arch_db:payment.payment_acquirer_onboarding_wizard_form
@@ -507,7 +507,7 @@ msgstr ""
#: model:ir.actions.act_window,name:payment.action_open_payment_onboarding_payment_acquirer_wizard
#: model_terms:ir.ui.view,arch_db:payment.payment_acquirer_onboarding_wizard_form
msgid "Choose a payment method"
msgstr ""
msgstr "Zvolte způsob platby"
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_transaction__partner_city
@@ -688,7 +688,7 @@ msgstr "Hotovo"
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer__done_msg
msgid "Done Message"
msgstr ""
msgstr "Zpráva o dokončení"
#. module: payment
#: selection:payment.transaction,state:0
@@ -818,6 +818,8 @@ msgid ""
"If you leave it empty, the payment acquirer will be available for all the "
"countries."
msgstr ""
"Pokud ji necháte prázdnou, bude příjemce platby k dispozici pro všechny "
"země."
#. module: payment
#. openerp-web
@@ -939,12 +941,12 @@ msgstr ""
#. module: payment
#: model:ir.model.fields,help:payment.field_payment_icon__acquirer_ids
msgid "List of Acquirers supporting this payment icon."
msgstr ""
msgstr "Seznam příjemců podporujících tuto ikonu platby."
#. module: payment
#: model:ir.model.fields,help:payment.field_payment_acquirer__website_published
msgid "Make this payment acquirer available (Customer invoices, etc.)"
msgstr ""
msgstr "Zpřístupnit tohoto příjemce platby (faktury zákazníka atd.)"
#. module: payment
#: model_terms:ir.ui.view,arch_db:payment.pay_methods
@@ -973,6 +975,9 @@ msgid ""
"Electronic: Get paid automatically through a payment acquirer by requesting a transaction on a card saved by the customer when buying or subscribing online (payment token).\n"
"Batch Deposit: Encase several customer checks at once by generating a batch deposit to submit to your bank. When encoding the bank statement in Odoo,you are suggested to reconcile the transaction with the batch deposit. Enable this option from the settings."
msgstr ""
"Ruční: Zaplaťte v hotovosti, šekem nebo jinou metodou mimo Odoo.\n"
"Elektronické: Platba automaticky probíhá prostřednictvím příjemce plateb žádostí o transakci na kartě uloženou zákazníkem při nákupu nebo objednání online (platební token).\n"
"Dávkový vklad: Zapíše několik zákaznických šeků najednou vygenerováním dávkového vkladu, který odešle do banky. Při kódování výpisu z banky v Odoo vám doporučujeme transakci spárovat s vkladem dávky. Aktivujte tuto možnost z nastavení."
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer__image_medium
@@ -1001,12 +1006,12 @@ msgstr ""
#. module: payment
#: model:ir.model.fields,help:payment.field_payment_acquirer__pre_msg
msgid "Message displayed to explain and help the payment process."
msgstr ""
msgstr "Zobrazí se zpráva, která vysvětluje a pomáhá platebnímu procesu."
#. module: payment
#: model:ir.model.fields,help:payment.field_payment_acquirer__error_msg
msgid "Message displayed, if error is occur during the payment process."
msgstr ""
msgstr "Zobrazí se zpráva, pokud během procesu platby dojde k chybě."
#. module: payment
#: model:ir.model.fields,help:payment.field_payment_acquirer__cancel_msg
@@ -1019,6 +1024,8 @@ msgid ""
"Message displayed, if order is done successfully after having done the "
"payment process."
msgstr ""
"Zobrazí se zpráva, pokud je po úspěšném provedení platby úspěšně provedena "
"objednávka."
#. module: payment
#: model:ir.model.fields,help:payment.field_payment_acquirer__pending_msg
@@ -1056,7 +1063,7 @@ msgstr "Název"
#. module: payment
#: model:ir.model.fields,help:payment.field_payment_token__name
msgid "Name of the payment token"
msgstr ""
msgstr "Název tokenu platby"
#. module: payment
#: selection:payment.acquirer,save_token:0
+3
View File
@@ -1247,6 +1247,9 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:payment.pay_methods
msgid "Payment Methods"
msgstr ""
"វិធី​ទូទាត់លុយ\n"
" \n"
" "
#. module: payment
#: model:ir.model,name:payment.model_payment_token
+1 -1
View File
@@ -765,7 +765,7 @@ msgstr "Cố định phí quốc tế"
#. module: payment
#: model:ir.model.fields,field_description:payment.field_payment_acquirer__inbound_payment_method_ids
msgid "For Incoming Payments"
msgstr ""
msgstr "Thanh toán doanh thu"
#. module: payment
#: selection:payment.transaction,type:0
@@ -0,0 +1,10 @@
// TODO Remove me >=saas-12.5, this is a disgrace
// This is an hack to get the string_true and hover_false options translated on
// the boolean_button terminology widget. The terms are translated through
// _t(opt_terms.string_true) which will only work if the terms are already
// present in the translation map.
// This code does nothing but marks the strings as translatable
var _t = function(x) { return x; };
_t("Published");
_t("Publish");
+7
View File
@@ -13,4 +13,11 @@
<script type="text/javascript" src="/payment/static/src/js/payment_processing.js"></script>
</xpath>
</template>
<template id="assets_backend" name="payment_assets_backend" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/payment/static/src/js/payment_translations.js"></script>
</xpath>
</template>
</odoo>
+2 -1
View File
@@ -13,7 +13,8 @@
<button type="action" class="oe_stat_button"
icon="fa-credit-card"
name="%(payment.payment_token_action)d"
context="{'search_default_partner_id': active_id}">
context="{'search_default_partner_id': active_id}"
attrs="{'invisible': [('payment_token_count', '=', 0)]}">
<div class="o_form_field o_stat_info">
<span class="o_stat_value">
<field name="payment_token_count" widget="statinfo" nolabel="1"/>
+26 -27
View File
@@ -3,18 +3,17 @@
# * payment_adyen
#
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# hoxhe Aits <hoxhe0@gmail.com>, 2018
# Osama Ahmaro <osamaahmaro@gmail.com>, 2018
# AMAAL RU <Fabu1410@yahoo.com>, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.4\n"
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-02 09:56+0000\n"
"PO-Revision-Date: 2018-08-02 09:56+0000\n"
"Last-Translator: Shaima Safar <shaima.safar@open-inside.com>, 2018\n"
"POT-Creation-Date: 2018-09-18 09:49+0000\n"
"PO-Revision-Date: 2018-08-24 09:21+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -26,36 +25,36 @@ msgstr ""
#: code:addons/payment_adyen/models/payment.py:187
#, python-format
msgid "; multiple order found"
msgstr "تم ايجاد طلبات متعدده"
msgstr "؛ تم العثور على طلبات متعددة"
#. module: payment_adyen
#: code:addons/payment_adyen/models/payment.py:185
#, python-format
msgid "; no order found"
msgstr "لايوجد طلبات"
msgstr "; لم يُعثر على طلبات"
#. module: payment_adyen
#: selection:payment.acquirer,provider:0
msgid "Adyen"
msgstr ""
msgstr "Adyen"
#. module: payment_adyen
#: code:addons/payment_adyen/models/payment.py:229
#, python-format
msgid "Adyen: feedback error"
msgstr ""
msgstr "Adyen: خطأ بالتغذية الرجعية"
#. module: payment_adyen
#: code:addons/payment_adyen/models/payment.py:197
#, python-format
msgid "Adyen: invalid merchantSig, received %s, computed %s"
msgstr ""
msgstr "Adyen: merchantSig غير صالح، المستلم %s, المحسوب %s"
#. module: payment_adyen
#: code:addons/payment_adyen/models/payment.py:183
#, python-format
msgid "Adyen: received data for reference %s"
msgstr ""
msgstr "Adyen: البيانات المستلمة لرقم الإشارة %s"
#. module: payment_adyen
#: code:addons/payment_adyen/models/payment.py:176
@@ -63,27 +62,27 @@ msgstr ""
msgid ""
"Adyen: received data with missing reference (%s) or missing pspReference "
"(%s)"
msgstr ""
msgstr "Adyen: البيانات المستلمة ينقصها رقم إشارة (%s) أو pspReference (%s)"
#. module: payment_adyen
#: selection:payment.acquirer,provider:0
msgid "Authorize.Net"
msgstr ""
msgstr "Authorize.Net"
#. module: payment_adyen
#: selection:payment.acquirer,provider:0
msgid "Buckaroo"
msgstr ""
msgstr "Buckaroo"
#. module: payment_adyen
#: model_terms:ir.ui.view,arch_db:payment_adyen.acquirer_form_adyen
msgid "How to configure your Adyen account?"
msgstr ""
msgstr "كيف تقوم بإعداد حسابك على Adyen؟"
#. module: payment_adyen
#: selection:payment.acquirer,provider:0
msgid "Manual Configuration"
msgstr ""
msgstr "الإعدادات اليدوية"
#. module: payment_adyen
#: model:ir.model.fields,field_description:payment_adyen.field_payment_acquirer__adyen_merchant_account
@@ -93,17 +92,17 @@ msgstr "حساب التاجر"
#. module: payment_adyen
#: selection:payment.acquirer,provider:0
msgid "Ogone"
msgstr ""
msgstr "Ogone"
#. module: payment_adyen
#: selection:payment.acquirer,provider:0
msgid "PayUmoney"
msgstr ""
msgstr "PayUmoney"
#. module: payment_adyen
#: model:ir.model,name:payment_adyen.model_payment_acquirer
msgid "Payment Acquirer"
msgstr "طريقة السداد الإلكتروني"
msgstr "معالج السداد"
#. module: payment_adyen
#: model:ir.model,name:payment_adyen.model_payment_transaction
@@ -113,7 +112,7 @@ msgstr "معاملة السداد"
#. module: payment_adyen
#: selection:payment.acquirer,provider:0
msgid "Paypal"
msgstr "المستحق"
msgstr "Paypal"
#. module: payment_adyen
#: model:ir.model.fields,field_description:payment_adyen.field_payment_acquirer__provider
@@ -123,24 +122,24 @@ msgstr "المزود"
#. module: payment_adyen
#: selection:payment.acquirer,provider:0
msgid "Sips"
msgstr ""
msgstr "Sips"
#. module: payment_adyen
#: model:ir.model.fields,field_description:payment_adyen.field_payment_acquirer__adyen_skin_code
msgid "Skin Code"
msgstr ""
msgstr "Skin Code"
#. module: payment_adyen
#: model:ir.model.fields,field_description:payment_adyen.field_payment_acquirer__adyen_skin_hmac_key
msgid "Skin HMAC Key"
msgstr ""
msgstr "Skin HMAC Key"
#. module: payment_adyen
#: selection:payment.acquirer,provider:0
msgid "Stripe"
msgstr ""
msgstr "Stripe"
#. module: payment_adyen
#: selection:payment.acquirer,provider:0
msgid "Wire Transfer"
msgstr ""
msgstr "تحويل بنكي"
@@ -226,7 +226,7 @@ class AuthorizeAPI():
etree.SubElement(customer, "email").text = partner.email or ''
response = self._authorize_request(root)
res = dict()
if not response.find('customerProfileId'):
if response.find('customerProfileId') is None: # Warning: do not use bool(etree) as the semantics is very misleading
_logger.warning(
'Unable to create customer payment profile, data missing from transaction. Transaction_id: %s - Partner_id: %s'
% (transaction_id, partner)
+25 -5
View File
@@ -25,6 +25,7 @@ class PaymentAcquirerAuthorize(models.Model):
provider = fields.Selection(selection_add=[('authorize', 'Authorize.Net')])
authorize_login = fields.Char(string='API Login Id', required_if_provider='authorize', groups='base.group_user')
authorize_transaction_key = fields.Char(string='API Transaction Key', required_if_provider='authorize', groups='base.group_user')
authorize_signature_key = fields.Char(string='API Signature Key', groups='base.group_user', compute="_compute_auth_signature_key", inverse="_inverse_auth_signature_key")
def _get_feature_support(self):
"""Get advanced feature support by provider.
@@ -42,6 +43,16 @@ class PaymentAcquirerAuthorize(models.Model):
res['tokenize'].append('authorize')
return res
def _compute_auth_signature_key(self):
ICP = self.env['ir.config_parameter'].sudo()
for acquirer in self.filtered(lambda a: a.provider == 'authorize'):
acquirer.authorize_signature_key = ICP.get_param('payment_authorize.signature_key_%s' % acquirer.id)
def _inverse_auth_signature_key(self):
ICP = self.env['ir.config_parameter'].sudo()
for acquirer in self.filtered(lambda a: a.provider == 'authorize'):
ICP.set_param('payment_authorize.signature_key_%s' % acquirer.id, acquirer.authorize_signature_key)
def _get_authorize_urls(self, environment):
""" Authorize URLs """
if environment == 'prod':
@@ -57,13 +68,22 @@ class PaymentAcquirerAuthorize(models.Model):
values['x_amount'],
values['x_currency_code']]).encode('utf-8')
# [BACKWARD COMPATIBILITY] Check that the merchant did update his transaction
# key to signature key (end of MD5 support from Authorize.net)
# [BACKWARD COMPATIBILITY, 2nd edition]
# The signature key is now '128-character hexadecimal format', while the
# transaction key was only 16-character.
if len(values['x_trans_key']) == 128:
key = bytes.fromhex(values['x_trans_key'])
return hmac.new(key, data, hashlib.sha512).hexdigest().upper()
# One of 2 things should have happened:
# 1/ the Transaction Key has been replaced with the Signature Key value (patch from March 2019)
# => Use that to sign, but server-to-server won't work since it uses transaction key
# as its credentials
# 2/ the Signature key is a new field (patch from July 2019)
# => Use that field for the signature
# FORWARD-PORT NOTE: forward part to saas-12.4 but no further
if len(values['x_trans_key']) == 128 and not self.authorize_signature_key:
self.authorize_signature_key = values['x_trans_key'] # store in the correct field
return hmac.new(bytes.fromhex(values['x_trans_key']), data, hashlib.sha512).hexdigest().upper()
elif self.authorize_signature_key:
return hmac.new(bytes.fromhex(self.authorize_signature_key), data, hashlib.sha512).hexdigest().upper()
else:
return hmac.new(values['x_trans_key'].encode('utf-8'), data, hashlib.md5).hexdigest()
@@ -9,6 +9,7 @@
<group attrs="{'invisible': [('provider', '!=', 'authorize')]}">
<field name="authorize_login"/>
<field name="authorize_transaction_key" password="True"/>
<field name="authorize_signature_key" password="True"/>
<a colspan="2" href="https://www.odoo.com/documentation/user/online/ecommerce/shopper_experience/authorize.html" target="_blank">How to get paid with Authorize.Net</a>
</group>
</xpath>
+23 -21
View File
@@ -3,18 +3,18 @@
# * payment_buckaroo
#
# Translators:
# Mustafa Rawi <mustafa@cubexco.com>, 2018
# Fahad Alqahtani <fahad@cloudland.sa>, 2018
# Osama Ahmaro <osamaahmaro@gmail.com>, 2018
# AMAAL RU <Fabu1410@yahoo.com>, 2018
# Shaima Safar <shaima.safar@open-inside.com>, 2018
# Mustafa Rawi <mustafa@cubexco.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~11.4\n"
"Project-Id-Version: Odoo Server saas~11.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-02 09:56+0000\n"
"PO-Revision-Date: 2018-08-02 09:56+0000\n"
"Last-Translator: Shaima Safar <shaima.safar@open-inside.com>, 2018\n"
"POT-Creation-Date: 2018-09-18 09:49+0000\n"
"PO-Revision-Date: 2018-08-24 09:22+0000\n"
"Last-Translator: Mustafa Rawi <mustafa@cubexco.com>, 2019\n"
"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -26,40 +26,40 @@ msgstr ""
#: code:addons/payment_buckaroo/models/payment.py:141
#, python-format
msgid "; multiple order found"
msgstr "تم ايجاد طلبات متعدده"
msgstr "؛ تم العثور على طلبات متعددة"
#. module: payment_buckaroo
#: code:addons/payment_buckaroo/models/payment.py:139
#, python-format
msgid "; no order found"
msgstr "لايوجد طلبات"
msgstr "; لم يُعثر على طلبات"
#. module: payment_buckaroo
#: selection:payment.acquirer,provider:0
msgid "Adyen"
msgstr ""
msgstr "Adyen"
#. module: payment_buckaroo
#: selection:payment.acquirer,provider:0
msgid "Authorize.Net"
msgstr ""
msgstr "Authorize.Net"
#. module: payment_buckaroo
#: selection:payment.acquirer,provider:0
msgid "Buckaroo"
msgstr ""
msgstr "Buckaroo"
#. module: payment_buckaroo
#: code:addons/payment_buckaroo/models/payment.py:148
#, python-format
msgid "Buckaroo: invalid shasign, received %s, computed %s, for data %s"
msgstr ""
msgstr "Buckaroo: shasign غير صالح، المستلم %s, المحسوب %s, للبيانات %s"
#. module: payment_buckaroo
#: code:addons/payment_buckaroo/models/payment.py:137
#, python-format
msgid "Buckaroo: received data for reference %s"
msgstr ""
msgstr "Buckaroo: البيانات المستلمة لرقم الإشارة %s"
#. module: payment_buckaroo
#: code:addons/payment_buckaroo/models/payment.py:131
@@ -68,26 +68,28 @@ msgid ""
"Buckaroo: received data with missing reference (%s) or pay_id (%s) or "
"shasign (%s)"
msgstr ""
"Buckaroo: البيانات المستلمة ينقصها رقم إشارة (%s) أو pay_id (%s) أو shasign "
"(%s)"
#. module: payment_buckaroo
#: selection:payment.acquirer,provider:0
msgid "Manual Configuration"
msgstr ""
msgstr "الإعدادات اليدوية"
#. module: payment_buckaroo
#: selection:payment.acquirer,provider:0
msgid "Ogone"
msgstr ""
msgstr "Ogone"
#. module: payment_buckaroo
#: selection:payment.acquirer,provider:0
msgid "PayUmoney"
msgstr ""
msgstr "PayUmoney"
#. module: payment_buckaroo
#: model:ir.model,name:payment_buckaroo.model_payment_acquirer
msgid "Payment Acquirer"
msgstr "طريقة السداد الإلكتروني"
msgstr "معالج السداد"
#. module: payment_buckaroo
#: model:ir.model,name:payment_buckaroo.model_payment_transaction
@@ -112,19 +114,19 @@ msgstr "المفتاح السري (SecretKey)"
#. module: payment_buckaroo
#: selection:payment.acquirer,provider:0
msgid "Sips"
msgstr ""
msgstr "Sips"
#. module: payment_buckaroo
#: selection:payment.acquirer,provider:0
msgid "Stripe"
msgstr ""
msgstr "Stripe"
#. module: payment_buckaroo
#: model:ir.model.fields,field_description:payment_buckaroo.field_payment_acquirer__brq_websitekey
msgid "WebsiteKey"
msgstr ""
msgstr "مفتاح الموقع"
#. module: payment_buckaroo
#: selection:payment.acquirer,provider:0
msgid "Wire Transfer"
msgstr ""
msgstr "تحويل بنكي"

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