WIP: Arabic localization.

This commit is contained in:
a.bouhuolia
2021-06-14 11:22:59 +02:00
parent 0b4e01d3cc
commit 0a276ca5e0
7 changed files with 74 additions and 56 deletions

View File

@@ -30,7 +30,7 @@ export default function Dashboard() {
<Route path="/">
<DashboardSplitPane>
<Sidebar />
<DashboardContent />
<DashboardContent />
</DashboardSplitPane>
</Route>
</Switch>
@@ -41,4 +41,4 @@ export default function Dashboard() {
<DrawersContainer />
</DashboardProvider>
);
}
}

View File

@@ -9,7 +9,7 @@ import { transformToForm } from 'utils';
import {
CreateItemCategoryFormSchema,
EditItemCategoryFormSchema,
} from './itemCategoryForm.schema';
} from './ItemCategoryForm.schema';
import withDialogActions from 'containers/Dialog/withDialogActions';
import ItemCategoryFormContent from './ItemCategoryFormContent'

View File

@@ -15,8 +15,6 @@ function CurrenciesList({
// #withDashboardActions
changePreferencesPageTitle,
}) {
useEffect(() => {
changePreferencesPageTitle(intl.get('currencies'));
}, [changePreferencesPageTitle]);

View File

@@ -1,34 +1,34 @@
import * as Yup from 'yup';
import { get } from 'react-intl-universal';
import intl from 'react-intl-universal';
const Schema = Yup.object().shape({
name: Yup.string()
.required()
.label(get({ id: 'organization_name_' })),
.label(intl.get('organization_name_')),
financial_date_start: Yup.date()
.required()
.label(get({ id: 'date_start_' })),
.label(intl.get('date_start_')),
industry: Yup.string()
.nullable()
.label(get({ id: 'organization_industry_' })),
.label(intl.get('organization_industry_')),
location: Yup.string()
.nullable()
.label(get({ id: 'location' })),
.label(intl.get('location')),
base_currency: Yup.string()
.required()
.label(get({ id: 'base_currency_' })),
.label(intl.get('base_currency_')),
fiscal_year: Yup.string()
.required()
.label(get({ id: 'fiscal_year_' })),
.label(intl.get('fiscal_year_')),
language: Yup.string()
.required()
.label(get({ id: 'language' })),
.label(intl.get('language')),
time_zone: Yup.string()
.required()
.label(get({ id: 'time_zone_' })),
.label(intl.get('time_zone_')),
date_format: Yup.string()
.required()
.label(get({ id: 'date_format_' })),
.label(intl.get('date_format_')),
});
export const PreferencesGeneralSchema = Schema;

View File

@@ -10,9 +10,10 @@ import {
import classNames from 'classnames';
import { TimezonePicker } from '@blueprintjs/timezone';
import { ErrorMessage, FastField } from 'formik';
import { FormattedMessage as T } from 'components';
import { DateInput } from '@blueprintjs/datetime';
import { useHistory } from 'react-router-dom';
import { FormattedMessage as T } from 'components';
import { ListSelect, FieldRequiredHint } from 'components';
import {
inputIntent,

View File

@@ -224,7 +224,7 @@
"financial": "الأمور المالية",
"accounts_chart": "شجرة الحسابات",
"manual_journal": "قيد يدوي",
"make_journal": "قيد يدوي",
"make_journal": "اضافة قيد يدوي",
"banking": "الخدمات المصرفية",
"sales": "المبيعات",
"purchases": "المشتريات",
@@ -451,7 +451,7 @@
"journal_type": "نوع القيد",
"journal_reference_hint": "مرجع فريد لهذه القيد. وهي محددة بـ 10 أحرف ويمكن أن تتكون من أحرف وأرقام وشرطة سفلية.",
"contact_column_hint": "عمود جهة الاتصال لتسجيل المبالغ المستحقة القبض والمستحقة الدفع لزبون او مورد.",
"make_journal_entry": "جعل إدخال دفتر اليومية",
"make_journal_entry": "اضافة قيد يدوي",
"journal_number_is_already_used": "رقم القيد مستخدم بالفعل.",
"account_code_hint": "رقم فريد للحساب (بحد أقصى 10 أحرف)",
"logic_expression": "تعبير منطقي",
@@ -1027,7 +1027,6 @@
"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": "وأكثر",
@@ -1101,5 +1100,25 @@
"mm_dd_yy_": "",
"dd_mm_yy_": "",
"yy_mm_dd_": "",
"plan_radio_name": ""
"plan_radio_name": "",
"create_a_new_journal": "اضافة قيد يدوي جديد",
"customers_payments": "مدفوعات الزبائن",
"receiving_customer_payments_is_one_pleasant_accounting_tasks": "استلام المدفوعات أحد مهام المحاسبية الأكثر متعة. ستظهر معاملات المدفوعات بمجرد استلام المدفوعات للفواتير.",
"estimate_is_used_to_create_bid_proposal_or_quote": "تستخدم العروض لإنشاء عطاء أو اقتراح أو عرض أسعار منتجات. يمكن تحويل العرض إلى أمر مبيعات أو فاتورة.",
"payment_made_empty_status_description": "ستظهر معاملات المدفوعات بمجرد سداد فواتير المشتريات.",
"bill_empty_status_description": "",
"invoices_empty_status_description": "فواتير المبيعات للعملاء الذين لا يسددون أي مدفوعات جزئية أو يسددونها ، مع مساعدتك في تتبع الحسابات المستحقة مع الزبائن.",
"receipt_empty_status_description": "إيصالات المبيعات للمبيعات التي يدفع فيها الزبون فورًا مقابل المنتجات أو الخدمات في وقت البيع.",
"there_were_no_purchases_during_the_selected_date_range": "لا توجد مشتريات خلال النطاق الزمني المحدد.",
"there_were_no_sales_during_the_selected_date_range": "لا توجد مبيعات خلال النطاق الزمني المحدد.",
"there_were_no_inventory_transactions_during_the_selected_date_range": "لم تكن هناك حركات مخزون خلال نطاق الزمني المحدد.",
"filter_": "البحث...",
"all_rights_reserved": "© {pre}-{current} كل الحقوق محفوظة.",
"congrats_your_account_has_been_created_and_invited": "مبروك! تم إنشاء حسابك ودعوتك إلى <strong>{organization_name} </strong> بنجاح.",
"it_s_time_to_make_your_accounting_really_simple": "حان الوقت لجعل عملية المحاسبة الخاصة بك بسيطة واكتر دقة!",
"while_we_set_up_your_account_please_remember_to_verify_your_account": "أثناء قيامنا بإعداد حسابك ، يرجى تذكر التحقق من حسابك بالنقر فوق الارتباط الذي أرسلناه إلى عنوان بريدك الإلكتروني المسجل",
"something_went_wrong": "هناك خطأ ما!",
"please_refresh_the_page": "يرجى تحديث الصفحة",
"waiting_to_redirect": "في انتظار إعادة التوجيه",
"refresh_the_page_if_redirect_not_worked": "قم بتحديث الصفحة إذا لم تنجح إعادة التوجيه."
}

View File

@@ -1,42 +1,42 @@
// import General from 'containers/Preferences/General/General';
// import Users from 'containers/Preferences/Users/Users';
// import Accountant from 'containers/Preferences/Accountant/Accountant';
import General from 'containers/Preferences/General/General';
import Users from 'containers/Preferences/Users/Users';
import Accountant from 'containers/Preferences/Accountant/Accountant';
// import Accounts from 'containers/Preferences/Accounts/Accounts';
// import Currencies from 'containers/Preferences/Currencies/Currencies';
// import Item from 'containers/Preferences/Item/Item';
// import DefaultRoute from '../containers/Preferences/DefaultRoute';
import Currencies from 'containers/Preferences/Currencies/Currencies';
import Item from 'containers/Preferences/Item/Item';
import DefaultRoute from '../containers/Preferences/DefaultRoute';
const BASE_URL = '/preferences';
export default [
// {
// path: `${BASE_URL}/general`,
// component: General,
// exact: true,
// },
// {
// path: `${BASE_URL}/users`,
// component: Users,
// exact: true,
// },
// {
// path: `${BASE_URL}/currencies`,
// component: Currencies,
// exact: true,
// },
// {
// path: `${BASE_URL}/accountant`,
// component: Accountant,
// exact: true,
// },
// {
// path: `${BASE_URL}/items`,
// component: Item,
// exact: true,
// },
// {
// path: `${BASE_URL}/`,
// component: DefaultRoute,
// exact: true,
// },
{
path: `${BASE_URL}/general`,
component: General,
exact: true,
},
{
path: `${BASE_URL}/users`,
component: Users,
exact: true,
},
{
path: `${BASE_URL}/currencies`,
component: Currencies,
exact: true,
},
{
path: `${BASE_URL}/accountant`,
component: Accountant,
exact: true,
},
{
path: `${BASE_URL}/items`,
component: Item,
exact: true,
},
{
path: `${BASE_URL}/`,
component: DefaultRoute,
exact: true,
},
];