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 [
{ name: 'Decrement', value: 'decrement' },
{ name: 'Increment', value: 'increment' },
{ name: intl.get('decrement'), value: 'decrement' },
{ name: intl.get('increment'), value: 'increment' },
]

View File

@@ -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 ',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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": "أنت على وشك حذف هذا القيد بشكل دائم وجميع معاملاته على الحسابات. <br /> <br /> إذا لم تكن متأكدًا ، يمكنك أرشفة هذا القيد بدلاً من ذلك.",
"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> الخدمة: </ 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',
statement_of_cash_flow: 'Statement of Cash Flow ',
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_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."
}

View File

@@ -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;
}
}

View File

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

View File

@@ -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.
*/

View File

@@ -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(),

View File

@@ -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": "التزامات وحقوق الملكية"
}

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

View File

@@ -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',
});

View File

@@ -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);
}
}

View File

@@ -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'

View File

@@ -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();

View File

@@ -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<any>} 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,
};
});
}