WIP: Arabic localization.

This commit is contained in:
a.bouhuolia
2021-06-13 13:53:17 +02:00
parent 7d5bb95e75
commit 26bea3d2c2
27 changed files with 304 additions and 100 deletions

View File

@@ -1,4 +1,6 @@
import intl from 'react-intl-universal';
export default [ export default [
{ name: 'Decrement', value: 'decrement' }, { name: intl.get('decrement'), value: 'decrement' },
{ name: 'Increment', value: 'increment' }, { name: intl.get('increment'), value: 'increment' },
] ]

View File

@@ -92,7 +92,7 @@ export default [
}, },
{ {
shortcut_key: 'Ctrl + Shift + M ', 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 ', shortcut_key: 'Ctrl + Shift + W ',

View File

@@ -11,6 +11,6 @@ export const registerWizardSteps = [
label: 'getting_started', label: 'getting_started',
}, },
{ {
label: 'Congratulations', label: 'congratulations',
}, },
]; ];

View File

@@ -100,7 +100,7 @@ export default [
href: '/accounts', href: '/accounts',
}, },
{ {
text: <T id={'manual_journal'} />, text: <T id={'manual_journals'} />,
href: '/manual-journals', href: '/manual-journals',
}, },
{ {

View File

@@ -28,8 +28,6 @@ function BalanceSheetHeader({
// #withBalanceSheetActions // #withBalanceSheetActions
toggleBalanceSheetFilterDrawer: toggleFilterDrawer, toggleBalanceSheetFilterDrawer: toggleFilterDrawer,
}) { }) {
// Filter form initial values. // Filter form initial values.
const initialValues = { const initialValues = {
basis: 'cash', basis: 'cash',

View File

@@ -28,8 +28,6 @@ function CashFlowStatementHeader({
//#withCashStatementActions //#withCashStatementActions
toggleCashFlowStatementFilterDrawer, toggleCashFlowStatementFilterDrawer,
}) { }) {
// filter form initial values. // filter form initial values.
const initialValues = { const initialValues = {
...pageFilter, ...pageFilter,

View File

@@ -12,7 +12,7 @@ export default function BillsEmptyStatus() {
title={<T id={'manage_the_organization_s_services_and_products'} />} title={<T id={'manage_the_organization_s_services_and_products'} />}
description={ description={
<p> <p>
<T id={'here_a_list_of_your_organization_products_and_services'} /> <T id="bill_empty_status_description" />
</p> </p>
} }
action={ action={

View File

@@ -12,7 +12,7 @@ export default function PaymentMadesEmptyStatus() {
title={<T id={'the_organization_doesn_t_receive_money_yet'} />} title={<T id={'the_organization_doesn_t_receive_money_yet'} />}
description={ description={
<p> <p>
<T id={'it_is_a_long_established_fact_that_a_reader'} /> <T id="payment_made_empty_status_description" />
</p> </p>
} }
action={ action={

View File

@@ -6,13 +6,12 @@ import { FormattedMessage as T } from 'components';
export default function EstimatesEmptyStatus() { export default function EstimatesEmptyStatus() {
const history = useHistory(); const history = useHistory();
return ( return (
<EmptyStatus <EmptyStatus
title={<T id={'it_s_time_to_send_estimates_to_your_customers'} />} title={<T id={'it_s_time_to_send_estimates_to_your_customers'} />}
description={ description={
<p> <p>
<T id={'it_is_a_long_established_fact_that_a_reader'} /> <T id={'estimate_is_used_to_create_bid_proposal_or_quote'} />
</p> </p>
} }
action={ action={

View File

@@ -12,7 +12,7 @@ export default function EstimatesEmptyStatus() {
title={<T id={'the_organization_doesn_t_receive_money_yet'} />} title={<T id={'the_organization_doesn_t_receive_money_yet'} />}
description={ description={
<p> <p>
<T id={'it_is_a_long_established_fact_that_a_reader'} /> <T id={'invoices_empty_status_description'} />
</p> </p>
} }
action={ action={

View File

@@ -12,7 +12,7 @@ export default function PaymentReceivesEmptyStatus() {
title={<T id={'the_organization_doesn_t_receive_money_yet'} />} title={<T id={'the_organization_doesn_t_receive_money_yet'} />}
description={ description={
<p> <p>
<T id={'it_is_a_long_established_fact_that_a_reader'} /> <T id={'receiving_customer_payments_is_one_pleasant_accounting_tasks'} />
</p> </p>
} }
action={ action={

View File

@@ -12,7 +12,7 @@ export default function ReceiptsEmptyStatus() {
title={<T id={'manage_the_organization_s_services_and_products'} />} title={<T id={'manage_the_organization_s_services_and_products'} />}
description={ description={
<p> <p>
<T id={'here_a_list_of_your_organization_products_and_services'} /> <T id={'receipt_empty_status_description'} />
</p> </p>
} }
action={ action={

View File

@@ -42,7 +42,7 @@ export default function SetupLeftSection() {
<div className={'content__organization'}> <div className={'content__organization'}>
<span class="organization-id"> <span class="organization-id">
Oragnization ID: <span class="id">{ organizationId }</span>, <T id={'organization_id'} />: <span class="id">{ organizationId }</span>,
</span> </span>
<br /> <br />
<span class="signout"> <span class="signout">

View File

@@ -58,7 +58,7 @@
"edit": "تعديل", "edit": "تعديل",
"submit": "ادخال", "submit": "ادخال",
"close": "اغلاق", "close": "اغلاق",
"edit_account": حرير الحساب", "edit_account": عديل الحساب",
"new_account": "حساب جديد", "new_account": "حساب جديد",
"edit_currency": "تعديل العملة", "edit_currency": "تعديل العملة",
"delete_currency": "حذف العملة", "delete_currency": "حذف العملة",
@@ -164,7 +164,7 @@
"view_name": "عرض الاسم", "view_name": "عرض الاسم",
"item": "المنتج", "item": "المنتج",
"service_has_been_created_successfully": "تم إنشاء {service} {name} بنجاح.", "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": "أنت على وشك حذف هذا القيد بشكل دائم وجميع معاملاته على الحسابات. <br /> <br /> إذا لم تكن متأكدًا ، يمكنك أرشفة هذا القيد بدلاً من ذلك.", "you_are_about_permanently_delete_this_journal": "أنت على وشك حذف هذا القيد بشكل دائم وجميع معاملاته على الحسابات. <br /> <br /> إذا لم تكن متأكدًا ، يمكنك أرشفة هذا القيد بدلاً من ذلك.",
"once_delete_these_accounts_you_will_not_able_restore_them": "بمجرد حذف هذه الحسابات ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذفها؟", "once_delete_these_accounts_you_will_not_able_restore_them": "بمجرد حذف هذه الحسابات ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذفها؟",
"once_delete_these_service_you_will_not_able_restore_it": "بمجرد حذف هذه {service} ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه {service}؟", "once_delete_these_service_you_will_not_able_restore_it": "بمجرد حذف هذه {service} ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه {service}؟",
@@ -226,13 +226,13 @@
"manual_journal": "قيد يدوي", "manual_journal": "قيد يدوي",
"make_journal": "قيد يدوي", "make_journal": "قيد يدوي",
"banking": "الخدمات المصرفية", "banking": "الخدمات المصرفية",
"sales": "مبيعات", "sales": "المبيعات",
"purchases": "المشتريات", "purchases": "المشتريات",
"financial_reports": "تقارير مالية", "financial_reports": "تقارير مالية",
"all_financial_reports": "كل التقارير المالية", "all_financial_reports": "كل التقارير المالية",
"balance_sheet": "الميزانية العمومية", "balance_sheet": "الميزانية العمومية",
"trial_balance_sheet": "ميزان المراجعة", "trial_balance_sheet": "ميزان المراجعة",
"journal": جلة", "journal": "اليومية العامة",
"general_ledger": "دفتر الأستاذ العام", "general_ledger": "دفتر الأستاذ العام",
"general_ledger_sheet": "ورقة دفتر الأستاذ العام", "general_ledger_sheet": "ورقة دفتر الأستاذ العام",
"profit_loss_sheet": "قائمة الدخل", "profit_loss_sheet": "قائمة الدخل",
@@ -245,7 +245,7 @@
"check_your_email_for_a_link_to_reset": "تحقق من بريدك الإلكتروني بحثًا عن رابط لإعادة تعيين كلمة مرورك. إذا لم يصلك في غضون بضع دقائق ، فتحقق من مجلد الرسائل غير المرغوب فيها.", "check_your_email_for_a_link_to_reset": "تحقق من بريدك الإلكتروني بحثًا عن رابط لإعادة تعيين كلمة مرورك. إذا لم يصلك في غضون بضع دقائق ، فتحقق من مجلد الرسائل غير المرغوب فيها.",
"we_couldn_t_find_your_account_with_that_email": "لم نتمكن من العثور على حسابك بهذا البريد الإلكتروني.", "we_couldn_t_find_your_account_with_that_email": "لم نتمكن من العثور على حسابك بهذا البريد الإلكتروني.",
"select_parent_account": "حدد الحساب الرئيسي", "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_exchange_rate_has_been_created_successfully": "تم إنشاء سعر الصرف بنجاح",
"the_user_details_has_been_updated": "تم تحديث تفاصيل المستخدم", "the_user_details_has_been_updated": "تم تحديث تفاصيل المستخدم",
"filters_applied": "تم تطبيق الفلتر", "filters_applied": "تم تطبيق الفلتر",
@@ -265,7 +265,7 @@
"date_format": "صيغة التاريخ", "date_format": "صيغة التاريخ",
"edit_user": "تعديل المستخدم", "edit_user": "تعديل المستخدم",
"edit_invite": "تعديل دعوة", "edit_invite": "تعديل دعوة",
"inactivate_user": "قم بإلغاء تفعيل المستخدم", "inactivate_user": "تعطيل المستخدم",
"activate_user": "تفعيل المستخدم", "activate_user": "تفعيل المستخدم",
"delete_user": "حذف المستخدم", "delete_user": "حذف المستخدم",
"full_name": "الاسم بالكامل", "full_name": "الاسم بالكامل",
@@ -277,7 +277,7 @@
"all_transactions": "كل الحركات المالية", "all_transactions": "كل الحركات المالية",
"filter_accounts": "تصفية الحسابات", "filter_accounts": "تصفية الحسابات",
"calculate_report": "حساب التقرير", "calculate_report": "حساب التقرير",
"total": "مجموع", "total": "إجمالي",
"specific_accounts": "حسابات محددة", "specific_accounts": "حسابات محددة",
"trans_num": "عبر. NUM", "trans_num": "عبر. NUM",
"journal_sheet": "دفتر اليومية العامة", "journal_sheet": "دفتر اليومية العامة",
@@ -397,7 +397,7 @@
"new_customers": "زبائن الجدد", "new_customers": "زبائن الجدد",
"customer_type_": "نوع الزبون", "customer_type_": "نوع الزبون",
"display_name_": "اسم العرض", "display_name_": "اسم العرض",
"new_customer": "عميل جديد", "new_customer": "زبون جديد",
"customer_type": "نوع الزبون", "customer_type": "نوع الزبون",
"customer_account": "حساب الزبون", "customer_account": "حساب الزبون",
"business": "اعمال", "business": "اعمال",
@@ -405,7 +405,7 @@
"display_name": "اسم العرض", "display_name": "اسم العرض",
"the_customer_has_been_created_successfully": "تم إنشاء زبون جديد بنجاح.", "the_customer_has_been_created_successfully": "تم إنشاء زبون جديد بنجاح.",
"select_contact": "حدد جهة اتصال", "select_contact": "حدد جهة اتصال",
"contact": "اتصال", "contact": "جهة اتصال",
"contacts": "جهات الاتصال", "contacts": "جهات الاتصال",
"close_sidebar": "إغلاق الشريط الجانبي.", "close_sidebar": "إغلاق الشريط الجانبي.",
"open_sidebar": "فتح الشريط الجانبي.", "open_sidebar": "فتح الشريط الجانبي.",
@@ -436,7 +436,7 @@
"the_customer_has_been_deleted_successfully": "تم حذف الزبون بنجاح.", "the_customer_has_been_deleted_successfully": "تم حذف الزبون بنجاح.",
"the_customers_has_been_deleted_successfully": "تم حذف الزبائن بنجاح.", "the_customers_has_been_deleted_successfully": "تم حذف الزبائن بنجاح.",
"the_item_customer_has_been_edited_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": "بمجرد حذف هؤلاء الزبائن ، لن تتمكن من استعادتهم لاحقًا. هل أنت متأكد أنك تريد حذفها؟", "once_delete_these_customers_you_will_not_able_restore_them": "بمجرد حذف هؤلاء الزبائن ، لن تتمكن من استعادتهم لاحقًا. هل أنت متأكد أنك تريد حذفها؟",
"financial_accounting": " محاسبة مالية", "financial_accounting": " محاسبة مالية",
"after": "بعد", "after": "بعد",
@@ -450,10 +450,10 @@
"select_journal_type": "اختار نوع القيد", "select_journal_type": "اختار نوع القيد",
"journal_type": "نوع القيد", "journal_type": "نوع القيد",
"journal_reference_hint": "مرجع فريد لهذه القيد. وهي محددة بـ 10 أحرف ويمكن أن تتكون من أحرف وأرقام وشرطة سفلية.", "journal_reference_hint": "مرجع فريد لهذه القيد. وهي محددة بـ 10 أحرف ويمكن أن تتكون من أحرف وأرقام وشرطة سفلية.",
"contact_column_hint": "عمود الاتصال لتسجيل المبالغ المستحقة القبض والمستحقة الدفع الزبون أو المورد.", "contact_column_hint": "عمود جهة الاتصال لتسجيل المبالغ المستحقة القبض والمستحقة الدفع لزبون او مورد.",
"make_journal_entry": "جعل إدخال دفتر اليومية", "make_journal_entry": "جعل إدخال دفتر اليومية",
"journal_number_is_already_used": "رقم القيد مستخدم بالفعل.", "journal_number_is_already_used": "رقم القيد مستخدم بالفعل.",
"account_code_hint": مز / رقم فريد لهذا الحساب (بحد أقصى 10 أحرف)", "account_code_hint": "رقم فريد للحساب (بحد أقصى 10 أحرف)",
"logic_expression": "تعبير منطقي", "logic_expression": "تعبير منطقي",
"assign_to_customer": "تعيين لزبون", "assign_to_customer": "تعيين لزبون",
"inactive": "غير نشط", "inactive": "غير نشط",
@@ -482,7 +482,7 @@
"estimate_date": "تاريخ العرض", "estimate_date": "تاريخ العرض",
"expiration_date": "تاريخ انتهاء الصلاحية", "expiration_date": "تاريخ انتهاء الصلاحية",
"customer_note": "ملاحظة الزبون", "customer_note": "ملاحظة الزبون",
"select_customer_account": "حدد حساب العميل", "select_customer_account": "حدد حساب الزبون",
"select_product": "حدد المنتج", "select_product": "حدد المنتج",
"clear": "إعادة", "clear": "إعادة",
"save_send": "حفظ وإرسال", "save_send": "حفظ وإرسال",
@@ -524,7 +524,7 @@
"delete_invoice": "حذف الفاتورة", "delete_invoice": "حذف الفاتورة",
"new_invoice": "فاتورة جديدة", "new_invoice": "فاتورة جديدة",
"invoice_list": "قائمة الفاتورة", "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_created_successfully": "تم إنشاء الفاتورة رقم {number} بنجاح.",
"the_invoice_has_been_deleted_successfully": "تم حذف الفاتورة بنجاح.", "the_invoice_has_been_deleted_successfully": "تم حذف الفاتورة بنجاح.",
"once_delete_this_invoice_you_will_able_to_restore_it": "بمجرد حذف هذه الفاتورة ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه الفاتورة؟", "once_delete_this_invoice_you_will_able_to_restore_it": "بمجرد حذف هذه الفاتورة ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه الفاتورة؟",
@@ -555,13 +555,13 @@
"select_vendor_account": "حدد حساب المورد", "select_vendor_account": "حدد حساب المورد",
"bill_date": "تاريخ الفاتورة", "bill_date": "تاريخ الفاتورة",
"bill_number": "رقم الفاتوره", "bill_number": "رقم الفاتوره",
"edit_bill": حرير الفاتورة", "edit_bill": عديل الفاتورة",
"new_bill": "فاتورة شراء جديدة", "new_bill": "فاتورة شراء جديدة",
"bill_date_": "تاريخ الفاتورة", "bill_date_": "تاريخ الفاتورة",
"bill_number_": "رقم الفاتوره", "bill_number_": "رقم الفاتوره",
"vendor_name_": "اسم المورد", "vendor_name_": "اسم المورد",
"delete_bill": "حذف الفاتورة", "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_created_successfully": "تم إنشاء الفاتورة رقم {number} بنجاح.",
"the_bill_has_been_deleted_successfully": "تم حذف الفاتورة بنجاح.", "the_bill_has_been_deleted_successfully": "تم حذف الفاتورة بنجاح.",
"once_delete_this_bill_you_will_able_to_restore_it": "بمجرد حذف هذه الفاتورة ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه الفاتورة؟", "once_delete_this_bill_you_will_able_to_restore_it": "بمجرد حذف هذه الفاتورة ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه الفاتورة؟",
@@ -578,7 +578,7 @@
"receive_amount_": "استلام المبلغ", "receive_amount_": "استلام المبلغ",
"the_payment_receive_transaction_has_been_created": "تم إنشاء سند الزبون بنجاح.", "the_payment_receive_transaction_has_been_created": "تم إنشاء سند الزبون بنجاح.",
"the_payment_receive_has_been_deleted_successfully": "تم حذف سند الزبون بنجاح.", "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": "بمجرد حذف هذا السند ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه المعاملة؟", "once_delete_this_payment_receive_you_will_able_to_restore_it": "بمجرد حذف هذا السند ، لن تتمكن من استعادتها لاحقًا. هل أنت متأكد أنك تريد حذف هذه المعاملة؟",
"select_invoice": "حدد الفاتورة", "select_invoice": "حدد الفاتورة",
"payment_mades": "سندات الموردين", "payment_mades": "سندات الموردين",
@@ -586,9 +586,9 @@
"plan_slug": "سبيكة خطة", "plan_slug": "سبيكة خطة",
"billing": "الفواتير", "billing": "الفواتير",
"the_billing_has_been_created_successfully": "تم إنشاء الفواتير بنجاح.", "the_billing_has_been_created_successfully": "تم إنشاء الفواتير بنجاح.",
"select_a_plan": "{ترتيب}. حدد خطة", "select_a_plan": "حدد الباقة",
"choose_your_billing": "{ترتيب}. اختر الفواتير الخاصة بك", "choose_your_billing": "اختر مدة الدفع",
"payment_methods": "{order}. طريقة الدفع", "payment_methods": "طريقة الدفع",
"usage": "إستعمال", "usage": "إستعمال",
"basic": "أساسي", "basic": "أساسي",
"license": "رخصة", "license": "رخصة",
@@ -605,7 +605,7 @@
"subscribe": "الإشتراك", "subscribe": "الإشتراك",
"year_per": "عام", "year_per": "عام",
"payment_made": "سند الموردين", "payment_made": "سند الموردين",
"edit_payment_made": حرير سند الموردين", "edit_payment_made": عديل سند الموردين",
"delete_payment_made": "حذف سند الموردين", "delete_payment_made": "حذف سند الموردين",
"payment_number": "رقم سند الدفع", "payment_number": "رقم سند الدفع",
"payment_no": "رقم سند الدفع", "payment_no": "رقم سند الدفع",
@@ -632,8 +632,8 @@
"save_continue": "حفظ ومتابعة", "save_continue": "حفظ ومتابعة",
"organization_register": "تسجيل منشأة", "organization_register": "تسجيل منشأة",
"getting_started": "ابدء", "getting_started": "ابدء",
"payment_or_trial": "الدفع أو المحاكمة", "payment_or_trial": "الدفع",
"initializing": "جار تهيئة", "initializing": "تجهيز حسابك",
"fiscal_year_": "السنة المالية", "fiscal_year_": "السنة المالية",
"welcome": "مرحبا ", "welcome": "مرحبا ",
"sign_out": "خروج", "sign_out": "خروج",
@@ -684,7 +684,7 @@
"average_rate": "المعدل المتوسط", "average_rate": "المعدل المتوسط",
"the_name_used_before": "الاسم مستخدم بالفعل.", "the_name_used_before": "الاسم مستخدم بالفعل.",
"the_item_has_associated_transactions": "المنتج له معاملات مرتبطة.", "the_item_has_associated_transactions": "المنتج له معاملات مرتبطة.",
"customer_has_sales_invoices": "لا يمكن حذف الزبون لديه فواتير مبيعات مرتبطة.", "customer_has_sales_invoices": "لا يمكن حذف الزبون لديه فواتير المبيعات مرتبطة.",
"account_name_is_already_used": "اسم الحساب مستخدم بالفعل.", "account_name_is_already_used": "اسم الحساب مستخدم بالفعل.",
"vendors": "الموردين", "vendors": "الموردين",
"vendor_email": "البريد إلكتروني المورد", "vendor_email": "البريد إلكتروني المورد",
@@ -702,20 +702,20 @@
"are_sure_to_publish_this_manual_journal": "هل أنت متأكد أنك تريد نشر هذا القيد اليدوي؟", "are_sure_to_publish_this_manual_journal": "هل أنت متأكد أنك تريد نشر هذا القيد اليدوي؟",
"save_publish": "احفظ وانشر", "save_publish": "احفظ وانشر",
"publish_and_new": "نشر وجديد", "publish_and_new": "نشر وجديد",
"publish_continue_editing": "نشر (متابعة التحرير)", "publish_continue_editing": "نشر (متابعة التعديل)",
"save_and_new": "حفظ وجديد", "save_and_new": "حفظ وجديد",
"save_continue_editing": "حفظ (متابعة التحرير)", "save_continue_editing": "حفظ (متابعة التعديل)",
"reset": "إعادة ضبط ", "reset": "إعادة ضبط ",
"save_and_send": "احفظ وأرسل", "save_and_send": "احفظ وأرسل",
"posting_date": "تاريخ النشر", "posting_date": "تاريخ النشر",
"customer": "الزبون", "customer": "زبون",
"email_is_already_used": "البريد الإلكتروني مستخدم بالفعل.", "email_is_already_used": "البريد الإلكتروني مستخدم بالفعل.",
"the_item_categories_has_been_deleted_successfully": "تم حذف تصنيفات المنتجات بنجاح.", "the_item_categories_has_been_deleted_successfully": "تم حذف تصنيفات المنتجات بنجاح.",
"receivable_accounts_should_assign_with_customers": "حسابات القبض مع العملاء.", "receivable_accounts_should_assign_with_customers": "حسابات القبض مع العملاء.",
"delivered": "تم التوصيل", "delivered": "تم التوصيل",
"save_and_deliver": "حفظ وتسليم", "save_and_deliver": "حفظ وتسليم",
"deliver_and_new": "تسليم وجديد", "deliver_and_new": "تسليم وجديد",
"deliver_continue_editing": "تسليم (متابعة التحرير)", "deliver_continue_editing": "تسليم (متابعة التعديل)",
"due_in": "موعد التسليم {due} يوم.", "due_in": "موعد التسليم {due} يوم.",
"day_partially_paid": "مدفوعة جزئياً ، {due} مستحق.", "day_partially_paid": "مدفوعة جزئياً ، {due} مستحق.",
"overdue_by": "تأخرت بحلول {overdue} يوم.", "overdue_by": "تأخرت بحلول {overdue} يوم.",
@@ -730,12 +730,12 @@
"save_close": "حفظ وإغلاق", "save_close": "حفظ وإغلاق",
"save_open": "حفظ وفتح", "save_open": "حفظ وفتح",
"close_and_new": "قريب وجديد", "close_and_new": "قريب وجديد",
"close_continue_editing": "إغلاق (متابعة التحرير)", "close_continue_editing": "إغلاق (متابعة التعديل)",
"the_receipt_has_been_closed_successfully": "تم إغلاق الإيصال بنجاح.", "the_receipt_has_been_closed_successfully": "تم إغلاق الإيصال بنجاح.",
"are_sure_to_close_this_receipt": "هل أنت متأكد أنك تريد إغلاق هذا الإيصال؟", "are_sure_to_close_this_receipt": "هل أنت متأكد أنك تريد إغلاق هذا الإيصال؟",
"closed": "مغلق", "closed": "مغلق",
"open_and_new": "مفتوح وجديد", "open_and_new": "مفتوح وجديد",
"open_continue_editing": "فتح (متابعة التحرير)", "open_continue_editing": "فتح (متابعة التعديل)",
"the_bill_has_been_opened_successfully": "تم فتح الفاتورة بنجاح.", "the_bill_has_been_opened_successfully": "تم فتح الفاتورة بنجاح.",
"open": "فتح", "open": "فتح",
"are_sure_to_open_this_bill": "هل أنت متأكد أنك تريد فتح هذه الفاتورة؟", "are_sure_to_open_this_bill": "هل أنت متأكد أنك تريد فتح هذه الفاتورة؟",
@@ -756,7 +756,7 @@
"the_item_has_been_activated_successfully": "تم تفعيل المنتج بنجاح.", "the_item_has_been_activated_successfully": "تم تفعيل المنتج بنجاح.",
"are_sure_to_inactive_this_item": "هل أنت متأكد أنك تريد إلغاء تنشيط هذا المنتج؟ ستكون قادرًا على تنشيطه لاحقًا", "are_sure_to_inactive_this_item": "هل أنت متأكد أنك تريد إلغاء تنشيط هذا المنتج؟ ستكون قادرًا على تنشيطه لاحقًا",
"are_sure_to_activate_this_item": "هل أنت متأكد أنك تريد تفعيل هذا المنتج؟ ستتمكن من تعطيله لاحقًا", "are_sure_to_activate_this_item": "هل أنت متأكد أنك تريد تفعيل هذا المنتج؟ ستتمكن من تعطيله لاحقًا",
"inactivate_item": "قم بإلغاء تنشيط المنتج", "inactivate_item": "تعطيل المنتج",
"activate_item": "تنشيط المنتج", "activate_item": "تنشيط المنتج",
"all_payments": "جميع المدفوعات", "all_payments": "جميع المدفوعات",
"hide_customizer": "إخفاء أداة التخصيص", "hide_customizer": "إخفاء أداة التخصيص",
@@ -826,9 +826,9 @@
"duplicate": "تكرار", "duplicate": "تكرار",
"are_you_sure_want_to_duplicate": "هل أنت متأكد من أنك تريد تكرار جهة الاتصال هذه ، ما نوع جهة الاتصال؟", "are_you_sure_want_to_duplicate": "هل أنت متأكد من أنك تريد تكرار جهة الاتصال هذه ، ما نوع جهة الاتصال؟",
"contact_type": "نوع جهة الاتصال", "contact_type": "نوع جهة الاتصال",
"duplicate_contact": "جهة اتصال مكررة", "duplicate_contact": "تكرار جهة الاتصال",
"contact_type_": "نوع الاتصال", "contact_type_": "نوع جهة اتصال",
"the_payment_amount_that_received": "مبلغ الدفع الذي تم استلامه من العميل أكبر من المبلغ المستحق لهذه الفاتورة.", "the_payment_amount_that_received": "مبلغ الدفع الذي تم استلامه من الزبون أكبر من المبلغ المستحق لهذه الفاتورة.",
"invoice_number": "رقم الفاتورة", "invoice_number": "رقم الفاتورة",
"make_payment": "قم بالدفع", "make_payment": "قم بالدفع",
"add_payment": "إضافة الدفع", "add_payment": "إضافة الدفع",
@@ -838,9 +838,9 @@
"quick_made_payment": "سند دفع سريع", "quick_made_payment": "سند دفع سريع",
"the_payment_amount_bigger_than_invoice_due_amount": "مبلغ الدفعة أكبر من مبلغ الفاتورة المستحق.", "the_payment_amount_bigger_than_invoice_due_amount": "مبلغ الدفعة أكبر من مبلغ الفاتورة المستحق.",
"accounting_basis_": "الأساس المحاسبي", "accounting_basis_": "الأساس المحاسبي",
"deposit_customer_account": "إيداع حساب العميل", "deposit_customer_account": "إيداع حساب الزبون",
"withdrawal_vendor_account": "سحب حساب المورد", "withdrawal_vendor_account": "سحب حساب المورد",
"customer_advance_deposit": "إيداع العميل مقدما", "customer_advance_deposit": "إيداعات الزبون المقدمة",
"cannot_delete_bill_that_has_payment_transactions": "لا يمكن حذف الفاتورة التي لها معاملات دفع مرتبطة.", "cannot_delete_bill_that_has_payment_transactions": "لا يمكن حذف الفاتورة التي لها معاملات دفع مرتبطة.",
"cannot_change_item_type_to_inventory_with_item_has_associated_transactions": "لا يمكن تغيير نوع المنتج إلى المخزون لانة لديه معاملات مرتبطة بالعنصر.", "cannot_change_item_type_to_inventory_with_item_has_associated_transactions": "لا يمكن تغيير نوع المنتج إلى المخزون لانة لديه معاملات مرتبطة بالعنصر.",
"work_phone": "هاتف عمل", "work_phone": "هاتف عمل",
@@ -937,7 +937,7 @@
"new_sale_invoice": "فاتورة بيع جديدة", "new_sale_invoice": "فاتورة بيع جديدة",
"there_is_no_payable_bills_for_this_vendor_that_can_be_applied_for_this_payment": "لا توجد فواتير مستحقة الدفع لهذا المورد يمكن ادخالها لهذه الدفعه.", "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": "الرجاء تحديد المورد لعرض كافة الفواتير الشراء المفتوحة له.", "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": "لا توجد معاملات تسوية للمخزون حتى الآن.", "there_is_no_inventory_adjustments_transactions_yet": "لا توجد معاملات تسوية للمخزون حتى الآن.",
"create_and_manage_your_organization_s_customers": "إنشاء وإدارة عملاء مؤسستك.", "create_and_manage_your_organization_s_customers": "إنشاء وإدارة عملاء مؤسستك.",
"salutation": "تحية", "salutation": "تحية",
@@ -978,7 +978,128 @@
"you_can_t_change_the_base_currency_as_there_are_transactions": "لا يمكنك تغيير العملة الأساسية بينما توجد معاملات مسجلة في حساب المنشأة.", "you_can_t_change_the_base_currency_as_there_are_transactions": "لا يمكنك تغيير العملة الأساسية بينما توجد معاملات مسجلة في حساب المنشأة.",
"make_account_code_required_when_create_a_new_accounts": "اجعل رمز الحساب مطلوبًا عند إنشاء حسابات جديدة.", "make_account_code_required_when_create_a_new_accounts": "اجعل رمز الحساب مطلوبًا عند إنشاء حسابات جديدة.",
"should_account_code_be_unique_when_create_a_new_account": "يجب أن يكون رمز الحساب فريدًا عند إنشاء حساب جديد.", "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": "حدد حساب المفضل لإيداع فيه ودائع الموردين المقدمة.", "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> الخدمة: </ strong> الخدمات التي تقدمها للعملاء.",
"products_you_buy_and_or_sell": "<strong> المخزون: </ strong> المنتجات التي تشتريها و / أو تبيعها والتي تتبع كمياتها.",
"products_you_buy_and_or_sell_but_don_t_need": "<strong> غير متعلق بالمخزون: </ 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": ""
} }

View File

@@ -1067,5 +1067,6 @@ export default {
cash_flow_statement: 'Cash Flow Statement', cash_flow_statement: 'Cash Flow Statement',
statement_of_cash_flow: 'Statement of Cash Flow ', statement_of_cash_flow: 'Statement of Cash Flow ',
inventory_item_details: 'Inventory Item Details', inventory_item_details: 'Inventory Item Details',
congratulations: 'Congratulations'
}; };

View File

@@ -1028,7 +1028,7 @@
"create_a_new_customer": "create_a_new_customer", "create_a_new_customer": "create_a_new_customer",
"create_a_new_vendor": "Create a new vendor.", "create_a_new_vendor": "Create a new vendor.",
"create_a_new_bill": "Create a new bill.", "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.", "create_a_new_item": "Create a new item.",
"close_and_open_sidebar": "Close and open sidebar.", "close_and_open_sidebar": "Close and open sidebar.",
"and_over": "And Over", "and_over": "And Over",
@@ -1102,5 +1102,12 @@
"mm_dd_yy_": "MM-DD-YY", "mm_dd_yy_": "MM-DD-YY",
"dd_mm_yy_": "DD-MM-YY", "dd_mm_yy_": "DD-MM-YY",
"yy_mm_dd_": "YY-MM-DD", "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."
} }

View File

@@ -184,8 +184,13 @@ body.hide-scrollbar .Pane2 {
// RTL Icons. // RTL Icons.
html[dir="rtl"] { html[dir="rtl"] {
.bp3-icon-caret-right{ .bp3-icon-caret-right{
transform: scaleX(-1); transform: scaleX(-1);
} }
} }
html[lang^="ar"] {
body{
letter-spacing: -0.01rem;
}
}

View File

@@ -169,7 +169,7 @@
font-weight: 500; font-weight: 500;
letter-spacing: 1px; letter-spacing: 1px;
html[lang="ar"] &{ html[lang^="ar"] &{
font-size: 12px; font-size: 12px;
letter-spacing: 0; letter-spacing: 0;
} }

View File

@@ -8,6 +8,7 @@ import { IAccountDTO, IAccountsFilter } from 'interfaces';
import { ServiceError } from 'exceptions'; import { ServiceError } from 'exceptions';
import DynamicListingService from 'services/DynamicListing/DynamicListService'; import DynamicListingService from 'services/DynamicListing/DynamicListService';
import { DATATYPES_LENGTH } from 'data/DataTypes'; import { DATATYPES_LENGTH } from 'data/DataTypes';
import I18nService from 'services/I18n/I18nService';
@Service() @Service()
export default class AccountsController extends BaseController { export default class AccountsController extends BaseController {
@@ -17,6 +18,9 @@ export default class AccountsController extends BaseController {
@Inject() @Inject()
dynamicListService: DynamicListingService; dynamicListService: DynamicListingService;
@Inject()
i18nService: I18nService;
/** /**
* Router constructor method. * Router constructor method.
*/ */

View File

@@ -33,7 +33,6 @@ export default class BalanceSheetStatementController extends BaseFinancialReport
get balanceSheetValidationSchema(): ValidationChain[] { get balanceSheetValidationSchema(): ValidationChain[] {
return [ return [
...this.sheetNumberFormatValidationSchema, ...this.sheetNumberFormatValidationSchema,
query('accounting_method').optional().isIn(['cash', 'accural']), query('accounting_method').optional().isIn(['cash', 'accural']),
query('from_date').optional(), query('from_date').optional(),
query('to_date').optional(), query('to_date').optional(),

View File

@@ -11,9 +11,9 @@
"Inventory Asset": "المخزون", "Inventory Asset": "المخزون",
"Cost of Goods Sold (COGS)": "تكلفة البضائع المباعة (COGS)", "Cost of Goods Sold (COGS)": "تكلفة البضائع المباعة (COGS)",
"Cost of Goods Sold": "تكلفة البضاعة المباعة", "Cost of Goods Sold": "تكلفة البضاعة المباعة",
"Accounts Payable": "حسابات قابلة للدفع", "Accounts Payable": "الذمم الدائنة",
"Other Expense": "نفقات أخرى", "Other Expense": "مصاريف أخرى",
"Payroll Expenses": "نفقات الأجور", "Payroll Expenses": "مصاريف المرتبات",
"Fixed Asset": "أصول ثابتة", "Fixed Asset": "أصول ثابتة",
"Credit Card": "بطاقة إئتمان", "Credit Card": "بطاقة إئتمان",
"Non-Current Asset": "أصول غير متداولة", "Non-Current Asset": "أصول غير متداولة",
@@ -25,14 +25,14 @@
"Equity": "حقوق الملكية", "Equity": "حقوق الملكية",
"Expense": "مصروف", "Expense": "مصروف",
"Income": "دخل", "Income": "دخل",
"Accounts Receivable (A/R)": "حسابات القبض (A / R)", "Accounts Receivable (A/R)": "الذمم المدينة",
"Accounts Receivable": "الذمم المدينة", "Accounts Receivable": "الذمم المدينة",
"Accounts Payable (A/P)": "الحسابات الدائنة (A / P)", "Accounts Payable (A/P)": "الذمم الدائنة",
"Inactive": "غير نشط", "Inactive": "غير نشط",
"Other Current Asset": "اثار حالية اخري", "Other Current Asset": "أصول متداولة اخرى",
"Tax Payable": "الضريبة المستحقة", "Tax Payable": "الضريبة المستحقة",
"Other Current Liability": "مطلوبات متداولة أخرى", "Other Current Liability": "التزامات قصيرة الأجر اخرى",
"Non-Current Liability": "المسؤولية غير المتداولة", "Non-Current Liability": "التزامات طويلة الأجر",
"Assets": "أصول", "Assets": "أصول",
"Liabilities": "الالتزمات", "Liabilities": "الالتزمات",
"Account name": "أسم الحساب", "Account name": "أسم الحساب",
@@ -45,15 +45,15 @@
"Active": "نشيط", "Active": "نشيط",
"Created at": "أنشئت في", "Created at": "أنشئت في",
"fixed_asset": "أصل ثابت", "fixed_asset": "أصل ثابت",
"Journal": "مجلة", "Journal": "قيد",
"Reconciliation": صالح", "Reconciliation": سوية",
"Credit": "تنسب إليه", "Credit": "دائن",
"Debit": "دين", "Debit": "مدين",
"Interest": "فائدة", "Interest": "فائدة",
"Depreciation": "الاستهلاك", "Depreciation": "اهلاك",
"Payroll": "كشف رواتب", "Payroll": "كشف رواتب",
"Type": "نوع", "Type": "نوع",
"Name": "اسم", "Name": "الأسم",
"Sellable": "قابل للبيع", "Sellable": "قابل للبيع",
"Purchasable": "قابل للشراء", "Purchasable": "قابل للشراء",
"Sell price": "سعر البيع", "Sell price": "سعر البيع",
@@ -62,34 +62,33 @@
"Category": "تصنيف", "Category": "تصنيف",
"Note": "ملحوظة", "Note": "ملحوظة",
"Quantity on hand": "كمية في اليد", "Quantity on hand": "كمية في اليد",
"Quantity": "الكمية",
"Purchase description": "وصف الشراء", "Purchase description": "وصف الشراء",
"Sell description": "وصف البيع", "Sell description": "وصف البيع",
"Sell account": "بيع حساب", "Sell account": "حساب البيع",
"Cost account": "حساب التكلفة", "Cost account": "حساب التكلفة",
"Inventory account": "حساب الجرد", "Inventory account": "حساب المخزون",
"Payment date": "تاريخ الدفع", "Payment date": "تاريخ الدفع",
"Payment account": "حساب الدفع", "Payment account": "حساب الدفع",
"Amount": "كمية", "Amount": "كمية",
"Reference No.": "رقم المرجع.", "Reference No.": "رقم المرجع.",
"Published": "نشرت", "Published": "نشرت",
"Journal number": "رقم المجلة", "Journal number": "رقم القيد",
"Status": "حالة", "Status": "حالة",
"Journal type": "نوع المجلة", "Journal type": "نوع القيد",
"Date": "تاريخ", "Date": "تاريخ",
"Asset": "أصل", "Asset": "أصل",
"Liability": "مسؤلية", "Liability": "مسؤلية",
"First-in first-out (FIFO)": "الوارد أولاً يصرف أولاً (FIFO)", "First-in first-out (FIFO)": "الوارد أولاً يصرف أولاً (FIFO)",
"Last-in first-out (LIFO)": "الوارد أخيرًا يصرف أولاً (LIFO)", "Last-in first-out (LIFO)": "الوارد أخيرًا يصرف أولاً (LIFO)",
"Average rate": "المعدل المتوسط", "Average rate": "المعدل المتوسط",
"Total": "مجموع", "Total": "الإجمالي",
"Transaction type": "نوع المعاملة", "Transaction type": "نوع المعاملة",
"Transaction #": "عملية #", "Transaction #": "عملية #",
"Running Value": "القيمة الجارية", "Running Value": "القيمة الجارية",
"Running quantity": "الكمية الجارية", "Running quantity": "الكمية الجارية",
"Profit Margin": "هامش الربح", "Profit Margin": "هامش الربح",
"Value": "قيمة", "Value": "القيمة",
"Rate": "معدل", "Rate": "السعر",
"OPERATING ACTIVITIES": "أنشطة التشغيل", "OPERATING ACTIVITIES": "أنشطة التشغيل",
"FINANCIAL ACTIVITIES": "الأنشطة المالية", "FINANCIAL ACTIVITIES": "الأنشطة المالية",
"Net income": "صافي الدخل", "Net income": "صافي الدخل",
@@ -100,10 +99,10 @@
"Cash at beginning of period": "النقدية في بداية الفترة", "Cash at beginning of period": "النقدية في بداية الفترة",
"NET CASH INCREASE FOR PERIOD": "زيادة صافي النقد للفترة", "NET CASH INCREASE FOR PERIOD": "زيادة صافي النقد للفترة",
"CASH AT END OF PERIOD": "النقد في نهاية الفترة", "CASH AT END OF PERIOD": "النقد في نهاية الفترة",
"Expenses": "نفقات", "Expenses": "مصاريف",
"Services": "خدمات", "Services": "خدمات",
"Inventory": "المخزون", "Inventory": "المخزون",
"Non-Inventory": "غير الجرد", "Non-Inventory": "غير متعلق بالمخزون",
"Draft": "مسودة", "Draft": "مسودة",
"Delivered": "تم التوصيل", "Delivered": "تم التوصيل",
"Overdue": "متأخر", "Overdue": "متأخر",
@@ -116,13 +115,47 @@
"Invoiced": "مفوترة", "Invoiced": "مفوترة",
"Expired": "منتهي الصلاحية", "Expired": "منتهي الصلاحية",
"Closed": "مغلق", "Closed": "مغلق",
"Manual journal": "مجلة يدوية", "Manual journal": "قيد اليدوي",
"Inventory adjustment": "ضبط المخزون", "Inventory adjustment": "تسوية المخزون",
"Customer opening balance": "الرصيد الافتتاحي للعميل", "Customer opening balance": "الرصيد الافتتاحي للزبون",
"Vendor opening balance": "رصيد افتتاح البائع", "Vendor opening balance": "رصيد افتتاحي للمورد",
"Payment made": "تم الدفع", "Payment made": "سند الزبون",
"Bill": "مشروع قانون", "Bill": "فاتورة الشراء",
"Payment receive": "استلام الدفع", "Payment receive": "استلام الدفع",
"Sale receipt": "إيصال البيع", "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": "التزامات وحقوق الملكية"
} }

View File

@@ -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.", "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.", "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.", "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"
} }

View File

@@ -21,6 +21,7 @@ import events from 'subscribers/events';
import AccountTypesUtils from 'lib/AccountTypes'; import AccountTypesUtils from 'lib/AccountTypes';
import { ERRORS } from './constants'; import { ERRORS } from './constants';
import { flatToNestedArray } from 'utils'; import { flatToNestedArray } from 'utils';
import I18nService from 'services/I18n/I18nService';
@Service() @Service()
export default class AccountsService { export default class AccountsService {
@@ -36,6 +37,9 @@ export default class AccountsService {
@EventDispatcher() @EventDispatcher()
eventDispatcher: EventDispatcherInterface; eventDispatcher: EventDispatcherInterface;
@Inject()
i18nService: I18nService;
/** /**
* Retrieve account type or throws service error. * Retrieve account type or throws service error.
* @param {number} tenantId - * @param {number} tenantId -
@@ -721,7 +725,9 @@ export default class AccountsService {
...account.toJSON(), ...account.toJSON(),
currencyCode: baseCurrency, currencyCode: baseCurrency,
})); }));
return flatToNestedArray(_accounts, { return flatToNestedArray(
this.i18nService.i18nMapper(_accounts, ['account_type_label'], tenantId),
{
id: 'id', id: 'id',
parentId: 'parent_account_id', parentId: 'parent_account_id',
}); });

View File

@@ -16,7 +16,6 @@ export default class AccountsTypesService implements IAccountsTypesService {
*/ */
public getAccountsTypes(tenantId: number): IAccountType[] { public getAccountsTypes(tenantId: number): IAccountType[] {
const accountTypes = AccountTypesUtils.getList(); const accountTypes = AccountTypesUtils.getList();
return this.i18nService.i18nMapper(accountTypes, ['label'], tenantId);
return this.i18nService.i18nMapper(accountTypes, ['name'], tenantId);
} }
} }

View File

@@ -36,7 +36,8 @@ export default class BalanceSheetStatement extends FinancialSheet {
query: IBalanceSheetQuery, query: IBalanceSheetQuery,
accounts: IAccount & { type: IAccountType }[], accounts: IAccount & { type: IAccountType }[],
journalFinancial: IJournalPoster, journalFinancial: IJournalPoster,
baseCurrency: string baseCurrency: string,
i18n
) { ) {
super(); super();
@@ -49,6 +50,8 @@ export default class BalanceSheetStatement extends FinancialSheet {
this.comparatorDateType = this.comparatorDateType =
query.displayColumnsType === 'total' ? 'day' : query.displayColumnsBy; query.displayColumnsType === 'total' ? 'day' : query.displayColumnsBy;
this.i18n = i18n;
this.initDateRangeCollection(); this.initDateRangeCollection();
} }
@@ -255,7 +258,7 @@ export default class BalanceSheetStatement extends FinancialSheet {
accounts: IAccount & { type: IAccountType }[] accounts: IAccount & { type: IAccountType }[]
): IBalanceSheetSection { ): IBalanceSheetSection {
const result = { const result = {
name: structure.name, name: this.i18n.__(structure.name),
sectionType: structure.sectionType, sectionType: structure.sectionType,
type: structure.type, type: structure.type,
...(structure.type === 'accounts_section' ...(structure.type === 'accounts_section'

View File

@@ -92,6 +92,8 @@ export default class BalanceSheetStatementService
transactionsRepository, transactionsRepository,
} = this.tenancy.repositories(tenantId); } = this.tenancy.repositories(tenantId);
const i18n = this.tenancy.i18n(tenantId);
// Settings tenant service. // Settings tenant service.
const settings = this.tenancy.settings(tenantId); const settings = this.tenancy.settings(tenantId);
const baseCurrency = settings.get({ const baseCurrency = settings.get({
@@ -127,7 +129,8 @@ export default class BalanceSheetStatementService
filter, filter,
accounts, accounts,
transactionsJournal, transactionsJournal,
baseCurrency baseCurrency,
i18n
); );
// Balance sheet data. // Balance sheet data.
const balanceSheetData = balanceSheetInstanace.reportData(); const balanceSheetData = balanceSheetInstanace.reportData();

View File

@@ -6,6 +6,22 @@ export default class I18nService {
@Inject() @Inject()
tenancy: HasTenancyService; 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. * Mappes array collection to i18n localization based in given attributes.
* @param {Array<any>} data - Array collection. * @param {Array<any>} data - Array collection.
@@ -20,9 +36,11 @@ export default class I18nService {
const i18n = this.tenancy.i18n(tenantId); const i18n = this.tenancy.i18n(tenantId);
return data.map((_data) => { return data.map((_data) => {
const newData = this.i18nAttributesMapper(i18n, attributes, _data);
return { return {
label: i18n.__(_data.label),
..._data, ..._data,
...newData,
}; };
}); });
} }