diff --git a/client/src/common/adjustmentType.js b/client/src/common/adjustmentType.js
index f2239f6f8..8db0f29e1 100644
--- a/client/src/common/adjustmentType.js
+++ b/client/src/common/adjustmentType.js
@@ -1,4 +1,6 @@
+import intl from 'react-intl-universal';
+
export default [
- { name: 'Decrement', value: 'decrement' },
- { name: 'Increment', value: 'increment' },
+ { name: intl.get('decrement'), value: 'decrement' },
+ { name: intl.get('increment'), value: 'increment' },
]
\ No newline at end of file
diff --git a/client/src/common/keyboardShortcutsOptions.js b/client/src/common/keyboardShortcutsOptions.js
index 4b1b49fa1..c33e5a705 100644
--- a/client/src/common/keyboardShortcutsOptions.js
+++ b/client/src/common/keyboardShortcutsOptions.js
@@ -92,7 +92,7 @@ export default [
},
{
shortcut_key: 'Ctrl + Shift + M ',
- description: intl.get('create_a_new_make_journal'),
+ description: intl.get('create_a_new_journal'),
},
{
shortcut_key: 'Ctrl + Shift + W ',
diff --git a/client/src/common/registerWizard.js b/client/src/common/registerWizard.js
index 634f2271a..eef7523c6 100644
--- a/client/src/common/registerWizard.js
+++ b/client/src/common/registerWizard.js
@@ -11,6 +11,6 @@ export const registerWizardSteps = [
label: 'getting_started',
},
{
- label: 'Congratulations',
+ label: 'congratulations',
},
];
\ No newline at end of file
diff --git a/client/src/config/sidebarMenu.js b/client/src/config/sidebarMenu.js
index 4938f5cba..d5ff66556 100644
--- a/client/src/config/sidebarMenu.js
+++ b/client/src/config/sidebarMenu.js
@@ -100,7 +100,7 @@ export default [
href: '/accounts',
},
{
- text: ,
+ text: ,
href: '/manual-journals',
},
{
diff --git a/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeader.js b/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeader.js
index 27240ca1d..30474ddc4 100644
--- a/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeader.js
+++ b/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeader.js
@@ -28,8 +28,6 @@ function BalanceSheetHeader({
// #withBalanceSheetActions
toggleBalanceSheetFilterDrawer: toggleFilterDrawer,
}) {
-
-
// Filter form initial values.
const initialValues = {
basis: 'cash',
diff --git a/client/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementHeader.js b/client/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementHeader.js
index 548c764d9..cd2c51066 100644
--- a/client/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementHeader.js
+++ b/client/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementHeader.js
@@ -28,8 +28,6 @@ function CashFlowStatementHeader({
//#withCashStatementActions
toggleCashFlowStatementFilterDrawer,
}) {
-
-
// filter form initial values.
const initialValues = {
...pageFilter,
diff --git a/client/src/containers/Purchases/Bills/BillsLanding/BillsEmptyStatus.js b/client/src/containers/Purchases/Bills/BillsLanding/BillsEmptyStatus.js
index 7d966ef22..cecfef2ad 100644
--- a/client/src/containers/Purchases/Bills/BillsLanding/BillsEmptyStatus.js
+++ b/client/src/containers/Purchases/Bills/BillsLanding/BillsEmptyStatus.js
@@ -12,7 +12,7 @@ export default function BillsEmptyStatus() {
title={}
description={
-
+
}
action={
diff --git a/client/src/containers/Purchases/PaymentMades/PaymentsLanding/PaymentMadesEmptyStatus.js b/client/src/containers/Purchases/PaymentMades/PaymentsLanding/PaymentMadesEmptyStatus.js
index a6707a8be..3f008d876 100644
--- a/client/src/containers/Purchases/PaymentMades/PaymentsLanding/PaymentMadesEmptyStatus.js
+++ b/client/src/containers/Purchases/PaymentMades/PaymentsLanding/PaymentMadesEmptyStatus.js
@@ -12,7 +12,7 @@ export default function PaymentMadesEmptyStatus() {
title={}
description={
-
+
}
action={
diff --git a/client/src/containers/Sales/Estimates/EstimatesLanding/EstimatesEmptyStatus.js b/client/src/containers/Sales/Estimates/EstimatesLanding/EstimatesEmptyStatus.js
index 78d7522fe..c2e5e92fa 100644
--- a/client/src/containers/Sales/Estimates/EstimatesLanding/EstimatesEmptyStatus.js
+++ b/client/src/containers/Sales/Estimates/EstimatesLanding/EstimatesEmptyStatus.js
@@ -6,13 +6,12 @@ import { FormattedMessage as T } from 'components';
export default function EstimatesEmptyStatus() {
const history = useHistory();
-
return (
}
description={
-
+
}
action={
diff --git a/client/src/containers/Sales/Invoices/InvoicesLanding/InvoicesEmptyStatus.js b/client/src/containers/Sales/Invoices/InvoicesLanding/InvoicesEmptyStatus.js
index 13e893ffe..21212a4c2 100644
--- a/client/src/containers/Sales/Invoices/InvoicesLanding/InvoicesEmptyStatus.js
+++ b/client/src/containers/Sales/Invoices/InvoicesLanding/InvoicesEmptyStatus.js
@@ -12,7 +12,7 @@ export default function EstimatesEmptyStatus() {
title={}
description={
-
+
}
action={
diff --git a/client/src/containers/Sales/PaymentReceives/PaymentsLanding/PaymentReceivesEmptyStatus.js b/client/src/containers/Sales/PaymentReceives/PaymentsLanding/PaymentReceivesEmptyStatus.js
index d4a968b1a..6b0df1b31 100644
--- a/client/src/containers/Sales/PaymentReceives/PaymentsLanding/PaymentReceivesEmptyStatus.js
+++ b/client/src/containers/Sales/PaymentReceives/PaymentsLanding/PaymentReceivesEmptyStatus.js
@@ -12,7 +12,7 @@ export default function PaymentReceivesEmptyStatus() {
title={}
description={
-
+
}
action={
diff --git a/client/src/containers/Sales/Receipts/ReceiptsLanding/ReceiptsEmptyStatus.js b/client/src/containers/Sales/Receipts/ReceiptsLanding/ReceiptsEmptyStatus.js
index cb279f0a6..e029ddf9b 100644
--- a/client/src/containers/Sales/Receipts/ReceiptsLanding/ReceiptsEmptyStatus.js
+++ b/client/src/containers/Sales/Receipts/ReceiptsLanding/ReceiptsEmptyStatus.js
@@ -12,7 +12,7 @@ export default function ReceiptsEmptyStatus() {
title={}
description={
-
+
}
action={
diff --git a/client/src/containers/Setup/SetupLeftSection.js b/client/src/containers/Setup/SetupLeftSection.js
index 66722fb0d..68054e1e9 100644
--- a/client/src/containers/Setup/SetupLeftSection.js
+++ b/client/src/containers/Setup/SetupLeftSection.js
@@ -42,7 +42,7 @@ export default function SetupLeftSection() {
- Oragnization ID: { organizationId },
+ : { organizationId },
diff --git a/client/src/lang/ar-ly/index.json b/client/src/lang/ar-ly/index.json
index 9536ce0e1..4c7776460 100644
--- a/client/src/lang/ar-ly/index.json
+++ b/client/src/lang/ar-ly/index.json
@@ -58,7 +58,7 @@
"edit": "تعديل",
"submit": "ادخال",
"close": "اغلاق",
- "edit_account": "تحرير الحساب",
+ "edit_account": "تعديل الحساب",
"new_account": "حساب جديد",
"edit_currency": "تعديل العملة",
"delete_currency": "حذف العملة",
@@ -164,7 +164,7 @@
"view_name": "عرض الاسم",
"item": "المنتج",
"service_has_been_created_successfully": "تم إنشاء {service} {name} بنجاح.",
- "service_has_been_edited_successfully": "تم تحرير {service} {name} بنجاح.",
+ "service_has_been_edited_successfully": "تم تعديل {service} {name} بنجاح.",
"you_are_about_permanently_delete_this_journal": "أنت على وشك حذف هذا القيد بشكل دائم وجميع معاملاته على الحسابات.
إذا لم تكن متأكدًا ، يمكنك أرشفة هذا القيد بدلاً من ذلك.",
"once_delete_these_accounts_you_will_not_able_restore_them": "بمجرد حذف هذه الحسابات ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذفها؟",
"once_delete_these_service_you_will_not_able_restore_it": "بمجرد حذف هذه {service} ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه {service}؟",
@@ -226,13 +226,13 @@
"manual_journal": "قيد يدوي",
"make_journal": "قيد يدوي",
"banking": "الخدمات المصرفية",
- "sales": "مبيعات",
+ "sales": "المبيعات",
"purchases": "المشتريات",
"financial_reports": "تقارير مالية",
"all_financial_reports": "كل التقارير المالية",
"balance_sheet": "الميزانية العمومية",
"trial_balance_sheet": "ميزان المراجعة",
- "journal": "مجلة",
+ "journal": "اليومية العامة",
"general_ledger": "دفتر الأستاذ العام",
"general_ledger_sheet": "ورقة دفتر الأستاذ العام",
"profit_loss_sheet": "قائمة الدخل",
@@ -245,7 +245,7 @@
"check_your_email_for_a_link_to_reset": "تحقق من بريدك الإلكتروني بحثًا عن رابط لإعادة تعيين كلمة مرورك. إذا لم يصلك في غضون بضع دقائق ، فتحقق من مجلد الرسائل غير المرغوب فيها.",
"we_couldn_t_find_your_account_with_that_email": "لم نتمكن من العثور على حسابك بهذا البريد الإلكتروني.",
"select_parent_account": "حدد الحساب الرئيسي",
- "the_exchange_rate_has_been_edited_successfully": "تم تحرير سعر الصرف بنجاح",
+ "the_exchange_rate_has_been_edited_successfully": "تم تعديل سعر الصرف بنجاح",
"the_exchange_rate_has_been_created_successfully": "تم إنشاء سعر الصرف بنجاح",
"the_user_details_has_been_updated": "تم تحديث تفاصيل المستخدم",
"filters_applied": "تم تطبيق الفلتر",
@@ -265,7 +265,7 @@
"date_format": "صيغة التاريخ",
"edit_user": "تعديل المستخدم",
"edit_invite": "تعديل دعوة",
- "inactivate_user": "قم بإلغاء تفعيل المستخدم",
+ "inactivate_user": "تعطيل المستخدم",
"activate_user": "تفعيل المستخدم",
"delete_user": "حذف المستخدم",
"full_name": "الاسم بالكامل",
@@ -277,7 +277,7 @@
"all_transactions": "كل الحركات المالية",
"filter_accounts": "تصفية الحسابات",
"calculate_report": "حساب التقرير",
- "total": "مجموع",
+ "total": "إجمالي",
"specific_accounts": "حسابات محددة",
"trans_num": "عبر. NUM",
"journal_sheet": "دفتر اليومية العامة",
@@ -397,7 +397,7 @@
"new_customers": "زبائن الجدد",
"customer_type_": "نوع الزبون",
"display_name_": "اسم العرض",
- "new_customer": "عميل جديد",
+ "new_customer": "زبون جديد",
"customer_type": "نوع الزبون",
"customer_account": "حساب الزبون",
"business": "اعمال",
@@ -405,7 +405,7 @@
"display_name": "اسم العرض",
"the_customer_has_been_created_successfully": "تم إنشاء زبون جديد بنجاح.",
"select_contact": "حدد جهة اتصال",
- "contact": "اتصال",
+ "contact": "جهة اتصال",
"contacts": "جهات الاتصال",
"close_sidebar": "إغلاق الشريط الجانبي.",
"open_sidebar": "فتح الشريط الجانبي.",
@@ -436,7 +436,7 @@
"the_customer_has_been_deleted_successfully": "تم حذف الزبون بنجاح.",
"the_customers_has_been_deleted_successfully": "تم حذف الزبائن بنجاح.",
"the_item_customer_has_been_edited_successfully": "تم تعديل الزبون بنجاح.",
- "once_delete_this_customer_you_will_able_to_restore_it": "بمجرد حذف هذا الزبون ، لن تتمكن من استعادته لاحقًا. هل أنت متأكد أنك تريد حذف هذا العميل؟",
+ "once_delete_this_customer_you_will_able_to_restore_it": "بمجرد حذف هذا الزبون ، لن تتمكن من استعادته لاحقًا. هل أنت متأكد أنك تريد حذف هذا الزبون؟",
"once_delete_these_customers_you_will_not_able_restore_them": "بمجرد حذف هؤلاء الزبائن ، لن تتمكن من استعادتهم لاحقًا. هل أنت متأكد أنك تريد حذفها؟",
"financial_accounting": " محاسبة مالية",
"after": "بعد",
@@ -450,10 +450,10 @@
"select_journal_type": "اختار نوع القيد",
"journal_type": "نوع القيد",
"journal_reference_hint": "مرجع فريد لهذه القيد. وهي محددة بـ 10 أحرف ويمكن أن تتكون من أحرف وأرقام وشرطة سفلية.",
- "contact_column_hint": "عمود الاتصال لتسجيل المبالغ المستحقة القبض والمستحقة الدفع الزبون أو المورد.",
+ "contact_column_hint": "عمود جهة الاتصال لتسجيل المبالغ المستحقة القبض والمستحقة الدفع لزبون او مورد.",
"make_journal_entry": "جعل إدخال دفتر اليومية",
"journal_number_is_already_used": "رقم القيد مستخدم بالفعل.",
- "account_code_hint": "رمز / رقم فريد لهذا الحساب (بحد أقصى 10 أحرف)",
+ "account_code_hint": "رقم فريد للحساب (بحد أقصى 10 أحرف)",
"logic_expression": "تعبير منطقي",
"assign_to_customer": "تعيين لزبون",
"inactive": "غير نشط",
@@ -482,7 +482,7 @@
"estimate_date": "تاريخ العرض",
"expiration_date": "تاريخ انتهاء الصلاحية",
"customer_note": "ملاحظة الزبون",
- "select_customer_account": "حدد حساب العميل",
+ "select_customer_account": "حدد حساب الزبون",
"select_product": "حدد المنتج",
"clear": "إعادة",
"save_send": "حفظ وإرسال",
@@ -524,7 +524,7 @@
"delete_invoice": "حذف الفاتورة",
"new_invoice": "فاتورة جديدة",
"invoice_list": "قائمة الفاتورة",
- "the_invoice_has_been_edited_successfully": "تم تحرير الفاتورة رقم {number} بنجاح.",
+ "the_invoice_has_been_edited_successfully": "تم تعديل الفاتورة رقم {number} بنجاح.",
"the_invoice_has_been_created_successfully": "تم إنشاء الفاتورة رقم {number} بنجاح.",
"the_invoice_has_been_deleted_successfully": "تم حذف الفاتورة بنجاح.",
"once_delete_this_invoice_you_will_able_to_restore_it": "بمجرد حذف هذه الفاتورة ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه الفاتورة؟",
@@ -555,13 +555,13 @@
"select_vendor_account": "حدد حساب المورد",
"bill_date": "تاريخ الفاتورة",
"bill_number": "رقم الفاتوره",
- "edit_bill": "تحرير الفاتورة",
+ "edit_bill": "تعديل الفاتورة",
"new_bill": "فاتورة شراء جديدة",
"bill_date_": "تاريخ الفاتورة",
"bill_number_": "رقم الفاتوره",
"vendor_name_": "اسم المورد",
"delete_bill": "حذف الفاتورة",
- "the_bill_has_been_edited_successfully": "تم تحرير الفاتورة رقم {number} بنجاح.",
+ "the_bill_has_been_edited_successfully": "تم تعديل الفاتورة رقم {number} بنجاح.",
"the_bill_has_been_created_successfully": "تم إنشاء الفاتورة رقم {number} بنجاح.",
"the_bill_has_been_deleted_successfully": "تم حذف الفاتورة بنجاح.",
"once_delete_this_bill_you_will_able_to_restore_it": "بمجرد حذف هذه الفاتورة ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه الفاتورة؟",
@@ -578,7 +578,7 @@
"receive_amount_": "استلام المبلغ",
"the_payment_receive_transaction_has_been_created": "تم إنشاء سند الزبون بنجاح.",
"the_payment_receive_has_been_deleted_successfully": "تم حذف سند الزبون بنجاح.",
- "the_payment_receive_transaction_has_been_edited": "تم تحرير معاملة سند الزبون بنجاح.",
+ "the_payment_receive_transaction_has_been_edited": "تم تعديل معاملة سند الزبون بنجاح.",
"once_delete_this_payment_receive_you_will_able_to_restore_it": "بمجرد حذف هذا السند ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه المعاملة؟",
"select_invoice": "حدد الفاتورة",
"payment_mades": "سندات الموردين",
@@ -586,9 +586,9 @@
"plan_slug": "سبيكة خطة",
"billing": "الفواتير",
"the_billing_has_been_created_successfully": "تم إنشاء الفواتير بنجاح.",
- "select_a_plan": "{ترتيب}. حدد خطة",
- "choose_your_billing": "{ترتيب}. اختر الفواتير الخاصة بك",
- "payment_methods": "{order}. طريقة الدفع",
+ "select_a_plan": "حدد الباقة",
+ "choose_your_billing": "اختر مدة الدفع",
+ "payment_methods": "طريقة الدفع",
"usage": "إستعمال",
"basic": "أساسي",
"license": "رخصة",
@@ -605,7 +605,7 @@
"subscribe": "الإشتراك",
"year_per": "عام",
"payment_made": "سند الموردين",
- "edit_payment_made": "تحرير سند الموردين",
+ "edit_payment_made": "تعديل سند الموردين",
"delete_payment_made": "حذف سند الموردين",
"payment_number": "رقم سند الدفع",
"payment_no": "رقم سند الدفع",
@@ -632,8 +632,8 @@
"save_continue": "حفظ ومتابعة",
"organization_register": "تسجيل منشأة",
"getting_started": "ابدء",
- "payment_or_trial": "الدفع أو المحاكمة",
- "initializing": "جار تهيئة",
+ "payment_or_trial": "الدفع",
+ "initializing": "تجهيز حسابك",
"fiscal_year_": "السنة المالية",
"welcome": "مرحبا ",
"sign_out": "خروج",
@@ -684,7 +684,7 @@
"average_rate": "المعدل المتوسط",
"the_name_used_before": "الاسم مستخدم بالفعل.",
"the_item_has_associated_transactions": "المنتج له معاملات مرتبطة.",
- "customer_has_sales_invoices": "لا يمكن حذف الزبون لديه فواتير مبيعات مرتبطة.",
+ "customer_has_sales_invoices": "لا يمكن حذف الزبون لديه فواتير المبيعات مرتبطة.",
"account_name_is_already_used": "اسم الحساب مستخدم بالفعل.",
"vendors": "الموردين",
"vendor_email": "البريد إلكتروني المورد",
@@ -702,20 +702,20 @@
"are_sure_to_publish_this_manual_journal": "هل أنت متأكد أنك تريد نشر هذا القيد اليدوي؟",
"save_publish": "احفظ وانشر",
"publish_and_new": "نشر وجديد",
- "publish_continue_editing": "نشر (متابعة التحرير)",
+ "publish_continue_editing": "نشر (متابعة التعديل)",
"save_and_new": "حفظ وجديد",
- "save_continue_editing": "حفظ (متابعة التحرير)",
+ "save_continue_editing": "حفظ (متابعة التعديل)",
"reset": "إعادة ضبط ",
"save_and_send": "احفظ وأرسل",
"posting_date": "تاريخ النشر",
- "customer": "الزبون",
+ "customer": "زبون",
"email_is_already_used": "البريد الإلكتروني مستخدم بالفعل.",
"the_item_categories_has_been_deleted_successfully": "تم حذف تصنيفات المنتجات بنجاح.",
"receivable_accounts_should_assign_with_customers": "حسابات القبض مع العملاء.",
"delivered": "تم التوصيل",
"save_and_deliver": "حفظ وتسليم",
"deliver_and_new": "تسليم وجديد",
- "deliver_continue_editing": "تسليم (متابعة التحرير)",
+ "deliver_continue_editing": "تسليم (متابعة التعديل)",
"due_in": "موعد التسليم {due} يوم.",
"day_partially_paid": "مدفوعة جزئياً ، {due} مستحق.",
"overdue_by": "تأخرت بحلول {overdue} يوم.",
@@ -730,12 +730,12 @@
"save_close": "حفظ وإغلاق",
"save_open": "حفظ وفتح",
"close_and_new": "قريب وجديد",
- "close_continue_editing": "إغلاق (متابعة التحرير)",
+ "close_continue_editing": "إغلاق (متابعة التعديل)",
"the_receipt_has_been_closed_successfully": "تم إغلاق الإيصال بنجاح.",
"are_sure_to_close_this_receipt": "هل أنت متأكد أنك تريد إغلاق هذا الإيصال؟",
"closed": "مغلق",
"open_and_new": "مفتوح وجديد",
- "open_continue_editing": "فتح (متابعة التحرير)",
+ "open_continue_editing": "فتح (متابعة التعديل)",
"the_bill_has_been_opened_successfully": "تم فتح الفاتورة بنجاح.",
"open": "فتح",
"are_sure_to_open_this_bill": "هل أنت متأكد أنك تريد فتح هذه الفاتورة؟",
@@ -756,7 +756,7 @@
"the_item_has_been_activated_successfully": "تم تفعيل المنتج بنجاح.",
"are_sure_to_inactive_this_item": "هل أنت متأكد أنك تريد إلغاء تنشيط هذا المنتج؟ ستكون قادرًا على تنشيطه لاحقًا",
"are_sure_to_activate_this_item": "هل أنت متأكد أنك تريد تفعيل هذا المنتج؟ ستتمكن من تعطيله لاحقًا",
- "inactivate_item": "قم بإلغاء تنشيط المنتج",
+ "inactivate_item": "تعطيل المنتج",
"activate_item": "تنشيط المنتج",
"all_payments": "جميع المدفوعات",
"hide_customizer": "إخفاء أداة التخصيص",
@@ -826,9 +826,9 @@
"duplicate": "تكرار",
"are_you_sure_want_to_duplicate": "هل أنت متأكد من أنك تريد تكرار جهة الاتصال هذه ، ما نوع جهة الاتصال؟",
"contact_type": "نوع جهة الاتصال",
- "duplicate_contact": "جهة اتصال مكررة",
- "contact_type_": "نوع الاتصال",
- "the_payment_amount_that_received": "مبلغ الدفع الذي تم استلامه من العميل أكبر من المبلغ المستحق لهذه الفاتورة.",
+ "duplicate_contact": "تكرار جهة الاتصال",
+ "contact_type_": "نوع جهة اتصال",
+ "the_payment_amount_that_received": "مبلغ الدفع الذي تم استلامه من الزبون أكبر من المبلغ المستحق لهذه الفاتورة.",
"invoice_number": "رقم الفاتورة",
"make_payment": "قم بالدفع",
"add_payment": "إضافة الدفع",
@@ -838,9 +838,9 @@
"quick_made_payment": "سند دفع سريع",
"the_payment_amount_bigger_than_invoice_due_amount": "مبلغ الدفعة أكبر من مبلغ الفاتورة المستحق.",
"accounting_basis_": "الأساس المحاسبي",
- "deposit_customer_account": "إيداع حساب العميل",
+ "deposit_customer_account": "إيداع حساب الزبون",
"withdrawal_vendor_account": "سحب حساب المورد",
- "customer_advance_deposit": "إيداع العميل مقدما",
+ "customer_advance_deposit": "إيداعات الزبون المقدمة",
"cannot_delete_bill_that_has_payment_transactions": "لا يمكن حذف الفاتورة التي لها معاملات دفع مرتبطة.",
"cannot_change_item_type_to_inventory_with_item_has_associated_transactions": "لا يمكن تغيير نوع المنتج إلى المخزون لانة لديه معاملات مرتبطة بالعنصر.",
"work_phone": "هاتف عمل",
@@ -937,7 +937,7 @@
"new_sale_invoice": "فاتورة بيع جديدة",
"there_is_no_payable_bills_for_this_vendor_that_can_be_applied_for_this_payment": "لا توجد فواتير مستحقة الدفع لهذا المورد يمكن ادخالها لهذه الدفعه.",
"please_select_a_vendor_to_display_all_open_bills_for_it": "الرجاء تحديد المورد لعرض كافة الفواتير الشراء المفتوحة له.",
- "payment_made_details": "Payment made details",
+ "payment_made_details": "تفاصيل سند الزبون",
"there_is_no_inventory_adjustments_transactions_yet": "لا توجد معاملات تسوية للمخزون حتى الآن.",
"create_and_manage_your_organization_s_customers": "إنشاء وإدارة عملاء مؤسستك.",
"salutation": "تحية",
@@ -978,7 +978,128 @@
"you_can_t_change_the_base_currency_as_there_are_transactions": "لا يمكنك تغيير العملة الأساسية بينما توجد معاملات مسجلة في حساب المنشأة.",
"make_account_code_required_when_create_a_new_accounts": "اجعل رمز الحساب مطلوبًا عند إنشاء حسابات جديدة.",
"should_account_code_be_unique_when_create_a_new_account": "يجب أن يكون رمز الحساب فريدًا عند إنشاء حساب جديد.",
- "select_a_preferred_account_to_deposit_into_it_after_customer_make_payment": "",
+ "select_a_preferred_account_to_deposit_into_it_after_customer_make_payment": "حدد الحساب المفضل للإيداع فيه بعد قيام الزبون بالدفع.",
"select_a_preferred_account_to_deposit_into_it_vendor_advanced_deposits": "حدد حساب المفضل لإيداع فيه ودائع الموردين المقدمة.",
- "roles": "الأدوار"
+ "roles": "الأدوار",
+ "closing_balance": "الرصيد الختامي",
+ "view_more_transactions": "عرض المزيد من المعاملات.",
+ "there_is_no_results_in_the_table": "لا توجد نتائج في الجدول.",
+ "create_your_first_journal_entries_on_accounts_chart": "قم بإدخال اول القيود اليدوية علي شجرة الحسابات.",
+ "journal_details": "تفاصيل القيد",
+ "create_and_manage_your_organization_s_expenses": "إضافة وإدارة مصاريف مؤسستك",
+ "expense_amount": "قيمة المصروف",
+ "expense_details": "تفاصيل المصروف",
+ "sub_total": "مبلغ إجمالي",
+ "estimate_": "العرض",
+ "billed_to": "تم دفع لـ ",
+ "estimate_no": "رقم العرض",
+ "billed_from": "تم دفع من",
+ "estimate_amount": "قيمة العرض",
+ "invoice": "الفاتورة",
+ "receipt_": "الإيصال",
+ "receipt_no": "رقم الإيصال",
+ "receipt_amount": "قيمة الإيصال",
+ "please_enter_your_preferred_payment_method_below": "الرجاء إدخال طريقة الدفع المفضلة لديك أدناه.",
+ "submit_voucher": "ادخال القسيمة",
+ "sale_invoice": "فاتورة بيع",
+ "purchase_invoice": "فاتورة شراء",
+ "expense": "مصروف",
+ "vendor": "مورد",
+ "jump_to_the_invoices": "انتقل إلى فوتير البيع.",
+ "jump_to_the_estimates": "انتقل إلى العروض.",
+ "jump_to_the_receipts": "انتقل إلي الإيصالات.",
+ "jump_to_the_expenses": "انتقل إلي مصاريف.",
+ "jump_to_the_customers": "انتقل إلي الزبائن",
+ "jump_to_the_vendors": "انتقل إلي الموردين.",
+ "jump_to_the_chart_of_accounts": "انتقل إلي شجرة الحسابات.",
+ "jump_to_the_bills": "انتقل إلي فواتير الشراء.",
+ "jump_to_the_manual_journals": "انتقل إلي القيود اليدوية.",
+ "jump_to_the_items": "انتقل إلي المنتجات.",
+ "jump_to_the_balance_sheet": "انتقل إلي تقرير الميزانية العمومية.",
+ "jump_to_the_profit_loss_sheet": "انتقل إلي تقرير قائمة الدخل.",
+ "jump_to_the_journal_sheet": "انتقل إلي دفتر اليومية العامة.",
+ "jump_to_the_general_ledger_sheet": "انتقل إلي دفتر الأستاذ العام",
+ "jump_to_the_trial_balance_sheet": "انتقل إلي تقرير ميزان المراجعة",
+ "create_a_new_invoice": "انتقل إلي اضافة فاتورة بيع جديدة.",
+ "create_a_new_estimate": "انتقل إلي إضافة عرض جديد.",
+ "create_a_new_receipt": "إضافة إيصال جديد.",
+ "create_a_new_expense": "إضافة مصروف جديد.",
+ "create_a_new_customer": "إضافة زبون جديد.",
+ "create_a_new_vendor": "إضافة مورد جديد.",
+ "create_a_new_bill": "إضافة فاتورة شراء جديدة",
+ "create_a_new_make_journal": "",
+ "create_a_new_item": "إضافة منتج جديد.",
+ "close_and_open_sidebar": "إغلاق وفتح الشريط الجانبي.",
+ "and_over": "وأكثر",
+ "date_year": "التاريخ / السنة",
+ "date_month": "التاريخ / الشهر",
+ "date_week": "التاريخ / الأسبوع",
+ "date_day": "التاريخ / اليوم",
+ "date_quarter": "التاريخ / الربع",
+ "today": "اليوم",
+ "this_week": "هذا الأسبوع",
+ "this_month": "هذا الشهر",
+ "this_quarter": "هذا الربع",
+ "this_year": "هذه السنة",
+ "custom_range": "نطاق مخصص",
+ "total_rows": "",
+ "always": "دائماً",
+ "none": "",
+ "us_dollar": "",
+ "euro": "",
+ "libyan_diner": "",
+ "english": "",
+ "arabic": "",
+ "just_a_moment_we_re_calculating_your_cost_transactions": "لحظة واحدة! نحن نحسب معاملات التكلفة الخاصة بك ، هذا لا يستغرق الكثير من الوقت ، يرجى التحقق بعد فترة.",
+ "refresh": "",
+ "total_name": "إجمالي {name}",
+ "income": "الدخل",
+ "total_income": "إجمالي الدخل",
+ "cost_of_sales": "تكلفة المبيعات",
+ "total_cost_of_sales": "التكلفة الإجمالية للمبيعات",
+ "gross_profit": "إجمالي الأرباح",
+ "total_expenses": "إجمالي المصروفات",
+ "net_operating_income": "صافي الدخل التشغيلي",
+ "other_income": "الإيرادات الأخرى",
+ "total_other_income": "إجمالي الدخل اخرى",
+ "other_expenses": "مصاريف اخري",
+ "total_other_expenses": "إجمالي المصاريف اخرى",
+ "net_other_income": "صافي الدخل الآخر",
+ "net_income": "صافي الدخل",
+ "services_that_you_provide_to_customers": " الخدمة: strong> الخدمات التي تقدمها للعملاء.",
+ "products_you_buy_and_or_sell": " المخزون: strong> المنتجات التي تشتريها و / أو تبيعها والتي تتبع كمياتها.",
+ "products_you_buy_and_or_sell_but_don_t_need": " غير متعلق بالمخزون: strong> المنتجات التي تشتريها و / أو تبيعها ولكنك لا تحتاج (أو لا تستطيع) تتبع كميات ، على سبيل المثال المسامير المستخدمة في التثبيت.",
+ "there_is_no_items_in_the_table_yet": "لا توجد منتجات في الجدول حتى الآن.",
+ "congrats_you_are_ready_to_go": "مبروك! انت جاهز للبدء",
+ "go_to_dashboard": "انتقل إلي الصفحة الرئيسية,",
+ "mr": "سيد",
+ "mrs": "سيدة",
+ "ms": "آنسة",
+ "miss": "آنسة",
+ "dr": "دكتور",
+ "all_accounts_": "كل الحسابات",
+ "search": "البحث ...",
+ "starter": "",
+ "sale_and_purchase_invoices": "فواتير الشراء والبيع",
+ "customers_vendors_accounts": "حسابات الزبائن والموردين",
+ "expense_tracking": "تتبع المصاريف",
+ "for_one_user_and_accountant": "لمستخدم واحد والمحاسب",
+ "all_capital_starter_features": "جميع مميزات Capital Starter",
+ "multi_currency": "تعدد العملات",
+ "purchase_and_sell_orders": "أوامر الشراء والبيع.",
+ "inventory_management": "ادارة المخزون.",
+ "three_users_with_your_accountant": "ثلاثة مستخدمين مع المحاسب الخاص بك.",
+ "advanced_financial_reports": "التقارير المالية المتقدمة.",
+ "all_capital_essential_features": "جميع مميزات Capital Essential",
+ "track_multi_branches_and_locations": "تتبع الفروع المتعددة والمواقع.",
+ "projects_accounting_and_timesheets": "محاسبة المشاريع والجداول الزمنية.",
+ "accounting_dimensions": "محاسبة الأبعاد",
+ "libya": "ليبيا",
+ "mm_dd_yy": "",
+ "dd_mm_yy": "",
+ "yy_mm_dd": "",
+ "mm_dd_yy_": "",
+ "dd_mm_yy_": "",
+ "yy_mm_dd_": "",
+ "plan_radio_name": ""
}
\ No newline at end of file
diff --git a/client/src/lang/en/index.js b/client/src/lang/en/index.js
index 789c8bb58..8de51d797 100644
--- a/client/src/lang/en/index.js
+++ b/client/src/lang/en/index.js
@@ -1067,5 +1067,6 @@ export default {
cash_flow_statement: 'Cash Flow Statement',
statement_of_cash_flow: 'Statement of Cash Flow ',
inventory_item_details: 'Inventory Item Details',
+ congratulations: 'Congratulations'
};
diff --git a/client/src/lang/en/index.json b/client/src/lang/en/index.json
index b8bcb1a75..fd25cd840 100644
--- a/client/src/lang/en/index.json
+++ b/client/src/lang/en/index.json
@@ -1028,7 +1028,7 @@
"create_a_new_customer": "create_a_new_customer",
"create_a_new_vendor": "Create a new vendor.",
"create_a_new_bill": "Create a new bill.",
- "create_a_new_make_journal": "Create a new Make Journal.",
+ "create_a_new_journal": "Create a new journal.",
"create_a_new_item": "Create a new item.",
"close_and_open_sidebar": "Close and open sidebar.",
"and_over": "And Over",
@@ -1102,5 +1102,12 @@
"mm_dd_yy_": "MM-DD-YY",
"dd_mm_yy_": "DD-MM-YY",
"yy_mm_dd_": "YY-MM-DD",
- "plan_radio_name":"{name}"
+ "plan_radio_name":"{name}",
+ "customers_payments": "Customers Payments",
+ "receiving_customer_payments_is_one_pleasant_accounting_tasks": "Receiving payments is one of your more pleasant accounting tasks. The payments transactions will appear once receive payments to invoices.",
+ "estimate_is_used_to_create_bid_proposal_or_quote": "An estimate is used to create a bid, proposal, or quote. The estimate can later be turned into a sales order or an invoice.",
+ "payment_made_empty_status_description": "The payments transactions will appear once payments made to purchases invoices.",
+ "bill_empty_status_description": "Record purchases transactions from vendors who make no or partial payment and help you keep track of accounts payable with a vendor.",
+ "invoices_empty_status_description": "Record sales transactions from customers who make no or partial payment and help you keep track of accounts receivable with a customer.",
+ "receipt_empty_status_description": "Create a sales receipt any time your customer immediately pays for products or services at the time of sale."
}
\ No newline at end of file
diff --git a/client/src/style/App.scss b/client/src/style/App.scss
index a444f7251..9426135d6 100644
--- a/client/src/style/App.scss
+++ b/client/src/style/App.scss
@@ -184,8 +184,13 @@ body.hide-scrollbar .Pane2 {
// RTL Icons.
html[dir="rtl"] {
-
.bp3-icon-caret-right{
transform: scaleX(-1);
}
}
+
+html[lang^="ar"] {
+ body{
+ letter-spacing: -0.01rem;
+ }
+}
\ No newline at end of file
diff --git a/client/src/style/containers/Dashboard/Sidebar.scss b/client/src/style/containers/Dashboard/Sidebar.scss
index a9f2030e3..66ba237a3 100644
--- a/client/src/style/containers/Dashboard/Sidebar.scss
+++ b/client/src/style/containers/Dashboard/Sidebar.scss
@@ -169,7 +169,7 @@
font-weight: 500;
letter-spacing: 1px;
- html[lang="ar"] &{
+ html[lang^="ar"] &{
font-size: 12px;
letter-spacing: 0;
}
diff --git a/server/src/api/controllers/Accounts.ts b/server/src/api/controllers/Accounts.ts
index b4e378434..e48f1f9e3 100644
--- a/server/src/api/controllers/Accounts.ts
+++ b/server/src/api/controllers/Accounts.ts
@@ -8,6 +8,7 @@ import { IAccountDTO, IAccountsFilter } from 'interfaces';
import { ServiceError } from 'exceptions';
import DynamicListingService from 'services/DynamicListing/DynamicListService';
import { DATATYPES_LENGTH } from 'data/DataTypes';
+import I18nService from 'services/I18n/I18nService';
@Service()
export default class AccountsController extends BaseController {
@@ -17,6 +18,9 @@ export default class AccountsController extends BaseController {
@Inject()
dynamicListService: DynamicListingService;
+ @Inject()
+ i18nService: I18nService;
+
/**
* Router constructor method.
*/
diff --git a/server/src/api/controllers/FinancialStatements/BalanceSheet.ts b/server/src/api/controllers/FinancialStatements/BalanceSheet.ts
index c8bca9cc8..0d5ca9bec 100644
--- a/server/src/api/controllers/FinancialStatements/BalanceSheet.ts
+++ b/server/src/api/controllers/FinancialStatements/BalanceSheet.ts
@@ -33,7 +33,6 @@ export default class BalanceSheetStatementController extends BaseFinancialReport
get balanceSheetValidationSchema(): ValidationChain[] {
return [
...this.sheetNumberFormatValidationSchema,
-
query('accounting_method').optional().isIn(['cash', 'accural']),
query('from_date').optional(),
query('to_date').optional(),
diff --git a/server/src/locales/ar.json b/server/src/locales/ar.json
index 693e3453c..2940a3302 100644
--- a/server/src/locales/ar.json
+++ b/server/src/locales/ar.json
@@ -11,9 +11,9 @@
"Inventory Asset": "المخزون",
"Cost of Goods Sold (COGS)": "تكلفة البضائع المباعة (COGS)",
"Cost of Goods Sold": "تكلفة البضاعة المباعة",
- "Accounts Payable": "حسابات قابلة للدفع",
- "Other Expense": "نفقات أخرى",
- "Payroll Expenses": "نفقات الأجور",
+ "Accounts Payable": "الذمم الدائنة",
+ "Other Expense": "مصاريف أخرى",
+ "Payroll Expenses": "مصاريف المرتبات",
"Fixed Asset": "أصول ثابتة",
"Credit Card": "بطاقة إئتمان",
"Non-Current Asset": "أصول غير متداولة",
@@ -25,14 +25,14 @@
"Equity": "حقوق الملكية",
"Expense": "مصروف",
"Income": "دخل",
- "Accounts Receivable (A/R)": "حسابات القبض (A / R)",
+ "Accounts Receivable (A/R)": "الذمم المدينة",
"Accounts Receivable": "الذمم المدينة",
- "Accounts Payable (A/P)": "الحسابات الدائنة (A / P)",
+ "Accounts Payable (A/P)": "الذمم الدائنة",
"Inactive": "غير نشط",
- "Other Current Asset": "اثار حالية اخري",
+ "Other Current Asset": "أصول متداولة اخرى",
"Tax Payable": "الضريبة المستحقة",
- "Other Current Liability": "مطلوبات متداولة أخرى",
- "Non-Current Liability": "المسؤولية غير المتداولة",
+ "Other Current Liability": "التزامات قصيرة الأجر اخرى",
+ "Non-Current Liability": "التزامات طويلة الأجر",
"Assets": "أصول",
"Liabilities": "الالتزمات",
"Account name": "أسم الحساب",
@@ -45,15 +45,15 @@
"Active": "نشيط",
"Created at": "أنشئت في",
"fixed_asset": "أصل ثابت",
- "Journal": "مجلة",
- "Reconciliation": "تصالح",
- "Credit": "تنسب إليه",
- "Debit": "دين",
+ "Journal": "قيد",
+ "Reconciliation": "تسوية",
+ "Credit": "دائن",
+ "Debit": "مدين",
"Interest": "فائدة",
- "Depreciation": "الاستهلاك",
+ "Depreciation": "اهلاك",
"Payroll": "كشف رواتب",
"Type": "نوع",
- "Name": "اسم",
+ "Name": "الأسم",
"Sellable": "قابل للبيع",
"Purchasable": "قابل للشراء",
"Sell price": "سعر البيع",
@@ -62,34 +62,33 @@
"Category": "تصنيف",
"Note": "ملحوظة",
"Quantity on hand": "كمية في اليد",
- "Quantity": "الكمية",
"Purchase description": "وصف الشراء",
"Sell description": "وصف البيع",
- "Sell account": "بيع حساب",
+ "Sell account": "حساب البيع",
"Cost account": "حساب التكلفة",
- "Inventory account": "حساب الجرد",
+ "Inventory account": "حساب المخزون",
"Payment date": "تاريخ الدفع",
"Payment account": "حساب الدفع",
"Amount": "كمية",
"Reference No.": "رقم المرجع.",
"Published": "نشرت",
- "Journal number": "رقم المجلة",
+ "Journal number": "رقم القيد",
"Status": "حالة",
- "Journal type": "نوع المجلة",
+ "Journal type": "نوع القيد",
"Date": "تاريخ",
"Asset": "أصل",
"Liability": "مسؤلية",
"First-in first-out (FIFO)": "الوارد أولاً يصرف أولاً (FIFO)",
"Last-in first-out (LIFO)": "الوارد أخيرًا يصرف أولاً (LIFO)",
"Average rate": "المعدل المتوسط",
- "Total": "مجموع",
+ "Total": "الإجمالي",
"Transaction type": "نوع المعاملة",
"Transaction #": "عملية #",
"Running Value": "القيمة الجارية",
"Running quantity": "الكمية الجارية",
"Profit Margin": "هامش الربح",
- "Value": "قيمة",
- "Rate": "معدل",
+ "Value": "القيمة",
+ "Rate": "السعر",
"OPERATING ACTIVITIES": "أنشطة التشغيل",
"FINANCIAL ACTIVITIES": "الأنشطة المالية",
"Net income": "صافي الدخل",
@@ -100,10 +99,10 @@
"Cash at beginning of period": "النقدية في بداية الفترة",
"NET CASH INCREASE FOR PERIOD": "زيادة صافي النقد للفترة",
"CASH AT END OF PERIOD": "النقد في نهاية الفترة",
- "Expenses": "نفقات",
+ "Expenses": "مصاريف",
"Services": "خدمات",
"Inventory": "المخزون",
- "Non-Inventory": "غير الجرد",
+ "Non-Inventory": "غير متعلق بالمخزون",
"Draft": "مسودة",
"Delivered": "تم التوصيل",
"Overdue": "متأخر",
@@ -116,13 +115,47 @@
"Invoiced": "مفوترة",
"Expired": "منتهي الصلاحية",
"Closed": "مغلق",
- "Manual journal": "مجلة يدوية",
- "Inventory adjustment": "ضبط المخزون",
- "Customer opening balance": "الرصيد الافتتاحي للعميل",
- "Vendor opening balance": "رصيد افتتاح البائع",
- "Payment made": "تم الدفع",
- "Bill": "مشروع قانون",
+ "Manual journal": "قيد اليدوي",
+ "Inventory adjustment": "تسوية المخزون",
+ "Customer opening balance": "الرصيد الافتتاحي للزبون",
+ "Vendor opening balance": "رصيد افتتاحي للمورد",
+ "Payment made": "سند الزبون",
+ "Bill": "فاتورة الشراء",
"Payment receive": "استلام الدفع",
"Sale receipt": "إيصال البيع",
- "Sale invoice": "فاتورة البيع"
+ "Sale invoice": "فاتورة البيع",
+ "Quantity": "الكمية",
+ "Bank Account": "حساب البنك",
+ "Saving Bank Account": "حساب التوفير البنكي",
+ "Undeposited Funds": "الأموال غير المودعة",
+ "Computer Equipment": "معدات كمبيوتر",
+ "Office Equipment": "معدات مكتبية",
+ "Uncategorized Income": "الدخل غير مصنف",
+ "Sales of Service Income": "دخل مبيعات الخدمات",
+ "Bank Fees and Charges": "رسوم المصرفية",
+ "Exchange Gain or Loss": "ربح أو خسارة فروقات الصرف",
+ "Rent": "إيجار",
+ "Office expenses": "مصاريف المكتب",
+ "Other Expenses": "مصاريف اخري",
+ "Drawings": "السحوبات",
+ "Owner's Equity": "حقوق الملكية",
+ "Opening Balance Equity": "الارصدة الافتتاحية ",
+ "Retained Earnings": "الأرباح المحتجزة",
+ "Sales Tax Payable": "ضريبة المبيعات المستحقة",
+ "Revenue Received in Advance": "الإيرادات المقبوضة مقدما",
+ "Opening Balance Liabilities": "رصيد الالتزامات الافتتاحي",
+ "Loan": "اقراض",
+ "Owner A Drawings": "مسحوبات المالك",
+ "An account that holds valuation of products or goods that availiable for sale.": "حساب يحمل قيم مخزون البضاعة أو السلع المتاحة للبيع.",
+ "Tracks the gain and losses of the exchange differences.": "يسجل مكاسب وخسائر فروق الصرف.",
+ "Any bank fees levied is recorded into the bank fees and charges account. A bank account maintenance fee, transaction charges, a late payment fee are some examples.": "يتم تسجيل أي رسوم مصرفية يتم فرضها في حساب الرسوم والمصروفات البنكية. ومن الأمثلة على ذلك رسوم صيانة الحساب المصرفي ورسوم المعاملات ورسوم الدفع المتأخر.",
+ "The income activities are not associated to the core business.": "لا ترتبط انشطة الدخل إلى الأعمال الأساسية.",
+ "Cash and cash equivalents": "النقد والنقد المكافئ",
+ "Inventories": "مخزون البضاعة",
+ "Other current assets": "الأصول متداولة الأخرى",
+ "Non-Current Assets": "أصول غير المتداولة",
+ "Current Liabilties": "التزامات متداولة",
+ "Long-Term Liabilities": "التزامات طويلة الاجل",
+ "Non-Current Liabilities": "التزامات غير متداولة",
+ "Liabilities and Equity": "التزامات وحقوق الملكية"
}
\ No newline at end of file
diff --git a/server/src/locales/en.json b/server/src/locales/en.json
index 013400c08..2ba5d9750 100644
--- a/server/src/locales/en.json
+++ b/server/src/locales/en.json
@@ -149,5 +149,13 @@
"An account that holds valuation of products or goods that availiable for sale.": "An account that holds valuation of products or goods that availiable for sale.",
"Tracks the gain and losses of the exchange differences.": "Tracks the gain and losses of the exchange differences.",
"Any bank fees levied is recorded into the bank fees and charges account. A bank account maintenance fee, transaction charges, a late payment fee are some examples.": "Any bank fees levied is recorded into the bank fees and charges account. A bank account maintenance fee, transaction charges, a late payment fee are some examples.",
- "The income activities are not associated to the core business.": "The income activities are not associated to the core business."
+ "The income activities are not associated to the core business.": "The income activities are not associated to the core business.",
+ "Cash and cash equivalents": "Cash and cash equivalents",
+ "Inventories": "Inventories",
+ "Other current assets": "Other current assets",
+ "Non-Current Assets": "Non-Current Assets",
+ "Current Liabilties": "Current Liabilties",
+ "Long-Term Liabilities": "Long-Term Liabilities",
+ "Non-Current Liabilities": "Non-Current Liabilities",
+ "Liabilities and Equity": "Liabilities and Equity"
}
\ No newline at end of file
diff --git a/server/src/services/Accounts/AccountsService.ts b/server/src/services/Accounts/AccountsService.ts
index adbaaa90d..a7a0d6505 100644
--- a/server/src/services/Accounts/AccountsService.ts
+++ b/server/src/services/Accounts/AccountsService.ts
@@ -21,6 +21,7 @@ import events from 'subscribers/events';
import AccountTypesUtils from 'lib/AccountTypes';
import { ERRORS } from './constants';
import { flatToNestedArray } from 'utils';
+import I18nService from 'services/I18n/I18nService';
@Service()
export default class AccountsService {
@@ -36,6 +37,9 @@ export default class AccountsService {
@EventDispatcher()
eventDispatcher: EventDispatcherInterface;
+ @Inject()
+ i18nService: I18nService;
+
/**
* Retrieve account type or throws service error.
* @param {number} tenantId -
@@ -721,7 +725,9 @@ export default class AccountsService {
...account.toJSON(),
currencyCode: baseCurrency,
}));
- return flatToNestedArray(_accounts, {
+ return flatToNestedArray(
+ this.i18nService.i18nMapper(_accounts, ['account_type_label'], tenantId),
+ {
id: 'id',
parentId: 'parent_account_id',
});
diff --git a/server/src/services/Accounts/AccountsTypesServices.ts b/server/src/services/Accounts/AccountsTypesServices.ts
index 23ea3cdc3..f3e38bfb8 100644
--- a/server/src/services/Accounts/AccountsTypesServices.ts
+++ b/server/src/services/Accounts/AccountsTypesServices.ts
@@ -16,7 +16,6 @@ export default class AccountsTypesService implements IAccountsTypesService {
*/
public getAccountsTypes(tenantId: number): IAccountType[] {
const accountTypes = AccountTypesUtils.getList();
-
- return this.i18nService.i18nMapper(accountTypes, ['name'], tenantId);
+ return this.i18nService.i18nMapper(accountTypes, ['label'], tenantId);
}
}
diff --git a/server/src/services/FinancialStatements/BalanceSheet/BalanceSheet.ts b/server/src/services/FinancialStatements/BalanceSheet/BalanceSheet.ts
index d8b45706c..0ec2b247a 100644
--- a/server/src/services/FinancialStatements/BalanceSheet/BalanceSheet.ts
+++ b/server/src/services/FinancialStatements/BalanceSheet/BalanceSheet.ts
@@ -36,7 +36,8 @@ export default class BalanceSheetStatement extends FinancialSheet {
query: IBalanceSheetQuery,
accounts: IAccount & { type: IAccountType }[],
journalFinancial: IJournalPoster,
- baseCurrency: string
+ baseCurrency: string,
+ i18n
) {
super();
@@ -49,6 +50,8 @@ export default class BalanceSheetStatement extends FinancialSheet {
this.comparatorDateType =
query.displayColumnsType === 'total' ? 'day' : query.displayColumnsBy;
+ this.i18n = i18n;
+
this.initDateRangeCollection();
}
@@ -255,7 +258,7 @@ export default class BalanceSheetStatement extends FinancialSheet {
accounts: IAccount & { type: IAccountType }[]
): IBalanceSheetSection {
const result = {
- name: structure.name,
+ name: this.i18n.__(structure.name),
sectionType: structure.sectionType,
type: structure.type,
...(structure.type === 'accounts_section'
diff --git a/server/src/services/FinancialStatements/BalanceSheet/BalanceSheetService.ts b/server/src/services/FinancialStatements/BalanceSheet/BalanceSheetService.ts
index 3c0c7b5ba..3b98b4983 100644
--- a/server/src/services/FinancialStatements/BalanceSheet/BalanceSheetService.ts
+++ b/server/src/services/FinancialStatements/BalanceSheet/BalanceSheetService.ts
@@ -92,6 +92,8 @@ export default class BalanceSheetStatementService
transactionsRepository,
} = this.tenancy.repositories(tenantId);
+ const i18n = this.tenancy.i18n(tenantId);
+
// Settings tenant service.
const settings = this.tenancy.settings(tenantId);
const baseCurrency = settings.get({
@@ -127,7 +129,8 @@ export default class BalanceSheetStatementService
filter,
accounts,
transactionsJournal,
- baseCurrency
+ baseCurrency,
+ i18n
);
// Balance sheet data.
const balanceSheetData = balanceSheetInstanace.reportData();
diff --git a/server/src/services/I18n/I18nService.ts b/server/src/services/I18n/I18nService.ts
index d0987be02..3f81343eb 100644
--- a/server/src/services/I18n/I18nService.ts
+++ b/server/src/services/I18n/I18nService.ts
@@ -6,6 +6,22 @@ export default class I18nService {
@Inject()
tenancy: HasTenancyService;
+ /**
+ *
+ * @param i18n
+ * @param attributes
+ * @param data
+ * @returns
+ */
+ private i18nAttributesMapper(i18n, attributes, data) {
+ return attributes.reduce((acc, attr, index) => {
+ return {
+ ...acc,
+ [attr]: i18n.__(acc[attr]),
+ };
+ }, data);
+ }
+
/**
* Mappes array collection to i18n localization based in given attributes.
* @param {Array} data - Array collection.
@@ -20,9 +36,11 @@ export default class I18nService {
const i18n = this.tenancy.i18n(tenantId);
return data.map((_data) => {
+ const newData = this.i18nAttributesMapper(i18n, attributes, _data);
+
return {
- label: i18n.__(_data.label),
..._data,
+ ...newData,
};
});
}