From 660a223739ffed5fe46c754facd7c76522fcb011 Mon Sep 17 00:00:00 2001 From: Kashif Shehzad Baloch Date: Fri, 12 Jan 2024 12:44:58 +0500 Subject: [PATCH] remaining customer app localisation added and some issues solved --- CustomerApp/i18n.js | 3 +- .../CartComponent/CartComponent.js | 3 +- .../Header/HeaderIcons/HeaderIcons.js | 3 +- .../Modals/FilterModal/FilterModal.js | 10 +- CustomerApp/src/screens/Cart/Cart.js | 4 +- .../screens/CreateAccount/CreateAccount.js | 2 +- .../src/screens/EditAddress/EditAddress.js | 4 +- .../screens/ForgotPassword/ForgotPassword.js | 2 +- CustomerApp/src/screens/FullMap/FullMap.js | 3 +- CustomerApp/src/screens/Menu/Menu.js | 2 +- .../src/screens/MenuItems/MenuItems.js | 9 +- .../src/screens/NewAddress/NewAddress.js | 4 +- CustomerApp/src/screens/Settings/Settings.js | 1 + .../Settings/components/SettingModal.js | 8 +- CustomerApp/translations/ar.js | 243 ++++++++++++++++++ CustomerApp/translations/de.js | 169 ++++++------ CustomerApp/translations/en.js | 22 +- CustomerApp/translations/fr.js | 183 +++++++------ CustomerApp/translations/km.js | 183 +++++++------ CustomerApp/translations/zh.js | 183 +++++++------ 20 files changed, 701 insertions(+), 340 deletions(-) create mode 100644 CustomerApp/translations/ar.js diff --git a/CustomerApp/i18n.js b/CustomerApp/i18n.js index c94d2a7..6dd9b99 100644 --- a/CustomerApp/i18n.js +++ b/CustomerApp/i18n.js @@ -7,10 +7,11 @@ import { en } from './translations/en' import { fr } from './translations/fr' import { km } from './translations/km' import { zh } from './translations/zh' +import { ar } from './translations/ar' i18n.initAsync = async() => { i18n.fallbacks = true - i18n.translations = { fr, en, km, zh, de } + i18n.translations = { fr, en, km, zh, de, ar } // i18n.locale = 'km' if (Platform.OS === 'android') { const lang = await AsyncStorage.getItem('enatega-language') diff --git a/CustomerApp/src/components/CustomizeComponents/CartComponent/CartComponent.js b/CustomerApp/src/components/CustomizeComponents/CartComponent/CartComponent.js index 29c4079..fe1423e 100644 --- a/CustomerApp/src/components/CustomizeComponents/CartComponent/CartComponent.js +++ b/CustomerApp/src/components/CustomizeComponents/CartComponent/CartComponent.js @@ -8,6 +8,7 @@ import { CustomIcon } from '../../CustomIcon' import { FlashMessage } from '../../FlashMessage/FlashMessage' import TextDefault from '../../Text/TextDefault/TextDefault' import useStyle from './styles' +import i18n from '../../../../i18n' function CartComponent(props) { const { colors } = useTheme() @@ -18,7 +19,7 @@ function CartComponent(props) { if (props.stock > quantity) setQuantity(quantity + 1) else { FlashMessage({ - message: 'No more items in stock' + message: i18n.t('noMoreItems') }) } } diff --git a/CustomerApp/src/components/Header/HeaderIcons/HeaderIcons.js b/CustomerApp/src/components/Header/HeaderIcons/HeaderIcons.js index aa53938..b5ab6f0 100644 --- a/CustomerApp/src/components/Header/HeaderIcons/HeaderIcons.js +++ b/CustomerApp/src/components/Header/HeaderIcons/HeaderIcons.js @@ -13,6 +13,7 @@ import { CustomIcon } from '../../CustomIcon' import { FlashMessage } from '../../FlashMessage/FlashMessage' import TextDefault from '../../Text/TextDefault/TextDefault' import useStyles from './styles' +import i18n from '../../../../i18n' function HeaderIcon({ icon, iconColor, iconSize = scale(20) }) { const { colors } = useTheme() @@ -127,7 +128,7 @@ function RightButton(props) { navigation.navigate(NAVIGATION_SCREEN.Cart) } else { FlashMessage({ - message: 'Cart is empty.' + message: i18n.t('CartIsEmpty') }) } }, [cartCount]) diff --git a/CustomerApp/src/components/Modals/FilterModal/FilterModal.js b/CustomerApp/src/components/Modals/FilterModal/FilterModal.js index 5319bba..d789ef1 100644 --- a/CustomerApp/src/components/Modals/FilterModal/FilterModal.js +++ b/CustomerApp/src/components/Modals/FilterModal/FilterModal.js @@ -20,6 +20,11 @@ const FilterModal = props => { const configuration = useContext(ConfigurationContext) const [filters, setFilters] = useState({}) + const localizedSortData = {}; + Object.keys(SORT_DATA).forEach(key => { + localizedSortData[key] = i18n.t(SORT_DATA[key]); + }); + useEffect(() => { setFilters({ onSale: false, @@ -92,7 +97,7 @@ const FilterModal = props => { alignItems: 'center' }}> - {i18n.t('reset')} + {i18n.t('reset')} { ? colors.fonfontMainColort : colors.placeHolderColor }> - {get(SORT_DATA, item)} + {/* {get(SORT_DATA, item)} */} + {localizedSortData[item]} { async function onCompleted(data) { if (!data.login.is_active) { FlashMessage({ - message: "Can't Login,This Account is Deleted!", + message: i18n.t('cantLogin'), }); setLoading(false); } else { diff --git a/CustomerApp/src/screens/EditAddress/EditAddress.js b/CustomerApp/src/screens/EditAddress/EditAddress.js index d493a61..03f60da 100644 --- a/CustomerApp/src/screens/EditAddress/EditAddress.js +++ b/CustomerApp/src/screens/EditAddress/EditAddress.js @@ -122,7 +122,7 @@ function EditAddress() { function onError(error) { FlashMessage({ - message: `An error occured. Please try again ${error}` + message: `${i18n.t('AnErrorOccured')} ${error}` }) } @@ -220,7 +220,7 @@ function EditAddress() { } bold center> - {label.title} + {i18n.t(label.title)} ) diff --git a/CustomerApp/src/screens/ForgotPassword/ForgotPassword.js b/CustomerApp/src/screens/ForgotPassword/ForgotPassword.js index 932e0d0..51f514f 100644 --- a/CustomerApp/src/screens/ForgotPassword/ForgotPassword.js +++ b/CustomerApp/src/screens/ForgotPassword/ForgotPassword.js @@ -57,7 +57,7 @@ function ForgotPassword() { } function onCompleted(data) { FlashMessage({ - message: 'Reset password link sent on your email' + message: i18n.t('ResetPasswordLinkSent') }) } function onError(error) { diff --git a/CustomerApp/src/screens/FullMap/FullMap.js b/CustomerApp/src/screens/FullMap/FullMap.js index 56fe558..2404498 100644 --- a/CustomerApp/src/screens/FullMap/FullMap.js +++ b/CustomerApp/src/screens/FullMap/FullMap.js @@ -7,6 +7,7 @@ import { FlashMessage, TextDefault, WrapperView } from '../../components' import { NAVIGATION_SCREEN } from '../../utils/constant' import { scale } from '../../utils/scaling' import useStyle from './styles' +import i18n from '../../../i18n' const LATITUDE = 33.7001019 const LONGITUDE = 72.9735978 @@ -220,7 +221,7 @@ export default function FullMap() { setRegion(loc) } else { FlashMessage({ - message: 'Location permission not granted' + message: i18n.t('LocationPermissionNotGranted') }) } } diff --git a/CustomerApp/src/screens/Menu/Menu.js b/CustomerApp/src/screens/Menu/Menu.js index a56c8a6..d85e7a6 100755 --- a/CustomerApp/src/screens/Menu/Menu.js +++ b/CustomerApp/src/screens/Menu/Menu.js @@ -43,7 +43,7 @@ function Menu() { } else if (error) { return ( ); diff --git a/CustomerApp/src/screens/MenuItems/MenuItems.js b/CustomerApp/src/screens/MenuItems/MenuItems.js index 2cbf3b3..8808122 100755 --- a/CustomerApp/src/screens/MenuItems/MenuItems.js +++ b/CustomerApp/src/screens/MenuItems/MenuItems.js @@ -31,6 +31,7 @@ import { alignment } from "../../utils/alignment"; import { ICONS_NAME, NAVIGATION_SCREEN, SORT_DATA } from "../../utils/constant"; import { moderateScale, scale } from "../../utils/scaling"; import useStyle from "./styles"; +import i18n from "../../../i18n"; // constants const FOODS = gql` @@ -73,7 +74,7 @@ function MenuItems() { async function onAddToCart(food) { if (food.stock < 1) { FlashMessage({ - message: "Item out of stock", + message: i18n.t('ItemOutOfStock'), }); return; } @@ -112,7 +113,7 @@ function MenuItems() { {item.stock < 1 && ( - No Stock + {i18n.t('NoStock')} )} @@ -189,7 +190,7 @@ function MenuItems() { } else if (error) { return ( ); @@ -198,7 +199,7 @@ function MenuItems() { - No food item found + {i18n.t('NoFooditemFound')} ); diff --git a/CustomerApp/src/screens/NewAddress/NewAddress.js b/CustomerApp/src/screens/NewAddress/NewAddress.js index e006524..6b5cd2d 100644 --- a/CustomerApp/src/screens/NewAddress/NewAddress.js +++ b/CustomerApp/src/screens/NewAddress/NewAddress.js @@ -151,7 +151,7 @@ function NewAddress() { function onError(error) { FlashMessage({ - message: `An error occured. Please try again. ${error}` + message: `${i18n.t('AnErrorOccured')} ${error}` }) } @@ -242,7 +242,7 @@ function NewAddress() { } bold center> - {label.title} + {i18n.t(label.title)} ) diff --git a/CustomerApp/src/screens/Settings/Settings.js b/CustomerApp/src/screens/Settings/Settings.js index 9896176..c601fe1 100644 --- a/CustomerApp/src/screens/Settings/Settings.js +++ b/CustomerApp/src/screens/Settings/Settings.js @@ -49,6 +49,7 @@ const languageTypes = [ { value: "ភាសាខ្មែរ", code: "km", index: 2 }, { value: "中文", code: "zh", index: 3 }, { value: "Deutsche", code: "de", index: 4 }, + { value: "Arabic", code: "ar", index: 5 }, ]; const PUSH_TOKEN = gql` diff --git a/CustomerApp/src/screens/Settings/components/SettingModal.js b/CustomerApp/src/screens/Settings/components/SettingModal.js index 8bed035..d993dff 100644 --- a/CustomerApp/src/screens/Settings/components/SettingModal.js +++ b/CustomerApp/src/screens/Settings/components/SettingModal.js @@ -6,6 +6,7 @@ import RadioButton from "../../../components/FdRadioBtn/RadioBtn"; import TextDefault from "../../../components/Text/TextDefault/TextDefault"; import { alignment } from "../../../utils/alignment"; import useStyle from "./styles"; +import i18n from '../../../../i18n' const languageTypes = [ { value: "English", code: "en", index: 0 }, @@ -13,6 +14,7 @@ const languageTypes = [ { value: "ភាសាខ្មែរ", code: "km", index: 2 }, { value: "中文", code: "zh", index: 3 }, { value: "Deutsche", code: "de", index: 4 }, + { value: "Arabic", code: "ar", index: 5 }, ]; function SettingModal(props) { @@ -23,7 +25,7 @@ function SettingModal(props) { return ( - Select Language + {i18n.t('SelectLanguage')} {languageTypes.map((item, index) => ( @@ -55,7 +57,7 @@ function SettingModal(props) { onPress={() => props.onSelectedLanguage(activeRadio)} > - Done + {i18n.t('Done')} props.onClose()} > - Cancel + {i18n.t('Cancel')} {/* */} diff --git a/CustomerApp/translations/ar.js b/CustomerApp/translations/ar.js new file mode 100644 index 0000000..626c353 --- /dev/null +++ b/CustomerApp/translations/ar.js @@ -0,0 +1,243 @@ +export const ar = { + home: 'الصفحة الرئيسية', + title0: 'اللغة المختارة', + subtitle0: 'العربية', + description0: + 'اختر أي لغة تريد لتغيير محتوى التطبيق إلى اللغة المطلوبة لديك.', + title1: 'لذيذ', + subtitle1: 'الفطور', + description1: + 'الفطور هو كل شيء. البداية، الشيء الأول. إنها اللقمة التي هي الالتزام بيوم جديد، حياة مستمرة.', + title2: 'منعش', + subtitle2: 'المشروبات', + description2: + 'الصمت الحقيقي هو راحة العقل، وهو للروح ما النوم للجسم، غذاء وانتعاش.', + title3: 'لذيذ', + subtitle3: 'آيس كريم', + description3: + 'العمر لا يقلل من خيبة الأمل الشديدة من سقوط ملعقة من الآيس كريم من المخروط', + getStarted: 'ابدأ!', + welcome: + "مرحبًا بك في Enatega، في بعض الأحيان كل ما تحتاجه هو الحب. لكن القليل من الطعام بين الحين والآخر لا يضر.", + loginBtn: 'تسجيل الدخول', + registerBtn: 'تسجيل', + name: 'الاسم', + phone: 'رقم الهاتف', + email: 'البريد الإلكتروني', + emailphone: 'البريد الإلكتروني أو الهاتف', + password: 'كلمه السر', + deliveryAddress: 'عنوان التسليم', + fullDeliveryAddress: 'عنوان التسليم الكامل', + deliveryDetails: 'التفاصيل المطلوبة - على سبيل المثال الطابق / المبنى', + myAddresses: 'عناويني', + addAddress: 'إضافة عنوان', + editAddress: 'تعديل العنوان', + registerText: 'أو سجل مع', + forgotPassword: 'نسيت كلمة السر؟', + loginText: 'أو تسجيل الدخول مع', + deliveryLocation: + 'قم بتشغيل الموقع حتى نتمكن من إرسال إليك طعم لا نهاية له من الطعام اللذيذ.', + locationBtn: 'تشغيل الموقع', + locationPermissionDenied: 'تم رفض إذن الوصول إلى الموقع', + cameraRollPermissionDenied: 'تم رفض إذن الوصول إلى Camera Roll', + locationOff: 'قم بتشغيل الموقع وحاول مرة أخرى', + titleLanguage: 'تغيير اللغة', + titleMenu: 'القائمة', + titleOrders: 'طلباتي', + titleNotifications: 'الإشعارات', + titleReviews: 'المشاركات', + titleProfile: 'الملف الشخصي', + titleSettings: 'الإعدادات', + titleHelp: 'مساعدة', + titleChat: 'الدردشة', + titleLogout: 'تسجيل خروج', + titleCart: 'عربتي', + titlePayment: 'دفع', + totalOrderAmount: 'إجمالي المبلغ المستحق', + reOrder: 'إعادة ترتيب', + unReadNotifications: 'لا توجد إشعارات غير مقروءة', + upload: 'حمل', + saveBtn: 'حفظ التغييرات', + saveContBtn: 'حفظ واستمر', + emailUs: 'أرسل لنا بريدًا إلكترونيًا على', + question1: 'أين نجد الطعام؟', + question2: 'كيف نتصل؟', + question3: 'كيف يمكنني دفع ثمن عامل التوصيل؟', + question4: 'هل الخدمة متوفرة في مدينتي؟', + answer1: + 'يمكنك العثور على الطعام في أقرب متجر إليك دون دفع أي شيء لخدمة العملاء. تهمتنا منخفضة للغاية مقارنة بالآخرين.', + answer2: 'يمكنك الاتصال بنا من خلال البريد الإلكتروني أو رقم الهاتف أو موقعنا الإلكتروني.', + answer3: + 'يمكنك دفع ثمن عامل التوصيل شخصيًا أو الدفع عبر الإنترنت أيضًا باستخدام بطاقة الائتمان أو الخصم.', + answer4: + 'تتوفر هذه الخدمة حاليًا في مدن إسلام آباد وكراتشي يمكنك الاتصال بنا للاستفادة من هذه الخدمة في مدينتك.', + add: 'إضافة', + quantity: 'الكمية', + size: 'الحجم', + addToCart: 'أضف إلى العربة', + orderNow: 'اطلب الآن', + addToCartMessage: 'أضيف إلى العربة', + emptyCart: 'لا يوجد عناصر في العربة', + itemTotal: 'إجمالي العنصر', + delvieryCharges: 'رسوم التوصيل', + total: 'مجموع', + contactInfo: 'معلومات الاتصال', + deliveryAddressmessage: 'تعيين عنوان التسليم', + proceedCheckout: 'المتابعة إلى الدفع', + paymentText: 'كيف ترغب في الدفع؟', + checkout: 'الدفع', + creditCart: 'بطاقة الائتمان / بطاقة الخصم', + paypal: 'باي بال', + cod: 'الدفع عند الاستلام', + thankYou: 'شكرا لك!', + orderConfirmed: 'تم تأكيد طلبك', + orderId: 'معرف الطلب الخاص بك', + orderAmount: 'المبلغ المستحق لطلبك', + orderDetail: 'تفاصيل الطلب', + paymentMethod: 'طريقة الدفع', + trackOrder: 'تتبع الطلب', + backToMenu: 'العودة إلى القائمة', + foodItem: 'صنف غذائي', + deliveredTo: 'تسليم إلى', + writeAReview: 'اكتب مراجعة', + orderReceived: 'استلام الطلب', + orderPicked: 'طلبك في طريقه', + orderDelivered: 'تم التوصيل', + completed: 'اكتمل', + cancelled: 'ألغي', + orderPreparing: 'يتم تحضير طلبك', + delivered: 'تم التوصيل', + rateAndReview: 'التقييم والمراجعة', + reviewPlaceholder: 'تحصل المراجعات الأكثر تفصيلاً على مزيد من الرؤية ...', + submit: 'ارسال', + noWorriesText: 'لا تقلق، دعنا نساعدك!', + yourEmail: 'بريدك الإلكتروني', + send: 'ارسال', + apply: 'تطبيق', + checkEmail: 'تحقق من بريدك الإلكتروني للحصول على رابط إعادة تعيين كلمة المرور', + languageText: 'الرجاء تحديد اللغة المطلوبة', + countryCodePickerTranslation: 'العربية', + countryCodeSelect: 'اختر رمز البلد', + paymentNotSupported: 'طريقة الدفع هذه لا تدعم هذه العملة', + loginOrCreateAccount: 'تسجيل الدخول / إنشاء حساب', + unReadReviews: 'لا توجد مراجعات حتى الآن!', + unReadOrders: 'لا توجد طلبات حتى الآن!', + error: 'خطأ', + noMoreItems: 'لا يوجد المزيد من العناصر في المخزون', + hungry: 'جائع', + emptyCartBtn: 'العودة إلى الطعام', + subTotal: 'المجموع الفرعي', + deliveryFee: 'رسوم التوصيل', + haveVoucher: 'هل لديك قسيمة؟', + remove: 'ازالة', + change: 'تغيير', + condition1: 'باستكمال هذا الطلب، أوافق على جميع الشروط والأحكام.', + condition2: + 'أوافق وأطالبك بتنفيذ الخدمة المطلوبة قبل نهاية فترة الإلغاء. أنا أدرك أنه بعد الإكمال الكامل للخدمة أفقد حق التراجع عن الشراء.', + orderBtn: 'تقديم الطلب', + coupanApply: 'تم تطبيق خصم القسيمة', + coupanFailed: 'القسيمة غير متوفرة', + invalidCoupan: 'قسيمة غير صالحة', + validateItems: 'أضف عناصر إلى العربة قبل الدفع', + validateDelivery: 'تعيين عنوان التسليم قبل الدفع', + language: 'اللغة', + getUpdatesText: 'احصل على تحديثات حول حالة طلبك!', + delAcc: 'حذف الحساب', + delAccText: 'هل أنت متأكد أنك تريد حذف الحساب؟', + cancel: 'إلغاء', + receiveOffers: 'تلقي عروض خاصة', + notificationUpdate: "تم تحديث حالة الإشعار", + notificationsNotWorking: "الإشعارات لا تعمل على المحاكاة", + loginOrCreateAcc: "تسجيل الدخول / إنشاء حساب", + welcome: "مرحبا", + noItems: 'لا توجد عناصر', + featured: 'متميز', + filters: 'التصفية', + reset: 'إعادة تعيين', + showSaleItems: 'إظهار العناصر المخفضة فقط', + showStockItems: 'إظهار العناصر المتوفرة فقط', + priceRange: 'نطاق السعر', + sorting: 'الفرز', + applyFilter: 'تطبيق التصفية', + close: 'إغلاق', + phoneNumberRequired: 'رقم الهاتف مطلوب', + phoneNumberMissing: 'رقم الهاتف مفقود', + userInfoUpdated: 'تم تحديث معلومات المستخدم', + nameReq: 'الاسم مطلوب', + minWords: 'يسمح بأقل 11 وأقصى 15 حرفًا', + rightsReserved: 'جميع الحقوق محفوظة لشركة Enatega', + changePass: 'تغيير كلمة المرور', + currentPass: 'كلمة المرور الحالية', + passReq: 'كلمة المرور مطلوبة', + newPass: 'كلمة المرور الجديدة', + invalidPass: 'كلمة مرور غير صالحة', + passChange: 'تم تحديث كلمة المرور', + noOrdersFound: 'لا توجد طلبات', + startShopping: 'ابدأ التسوق', + reOrder: 'إعادة الطلب', + smthWrong: 'هناك خطأ ما', + noOrdersAssigned: 'لا توجد طلبات معينة بعد!', + oldOrder: 'طلب قديم', + activeOrder: 'طلب نشط', + idVar: 'المعرف: ', + addressUpdated: 'تم تحديث العنوان', + labelAs: 'التسمية ك', + addressReq: 'عنوان التسليم مطلوب', + deliveryDetailsReq: 'تفاصيل التسليم مطلوبة', + locaPermission: 'لم يتم منح إذن الموقع', + addressAdded: 'تمت إضافة العنوان', + productPage: 'صفحة المنتج', + docs: 'المستندات', + blog: 'المدونة', + aboutUs: 'عنا', + myVouchers: 'قسائمي', + typeVoucherCode: 'اكتب رمز القسيمة', + enterVoucherCode: 'أدخل رمز القسيمة الخاص بك', + status: 'الحالة', + anySuggestion: 'هل لديك أي اقتراح؟', + reviewRegarding: 'مراجعة بخصوص طلبك؟', + writeReview: 'اكتب مراجعة', + chatWithRider: 'الدردشة مع المتسلم', + signupGoogle: 'التسجيل باستخدام Google', + signupEmail: 'التسجيل باستخدام البريد الإلكتروني', + signup: 'تسجيل', + signupApple: 'التسجيل باستخدام Apple', + alreadyMember: 'عضو بالفعل؟ سجل الدخول', + enterUsername: 'أدخل البريد الإلكتروني وكلمة المرور', + createNewAcc: 'إنشاء حساب جديد', + emailphoneReq: 'البريد الإلكتروني / الهاتف مطلوب', + invalidMail: 'بريد إلكتروني / هاتف غير صالح', + passReq: 'كلمة المرور مطلوبة', + cantLogin: 'لا يمكنك تسجيل الدخول، هذا الحساب محذوف!', + orderPending: 'طلبك لا يزال معلقًا.', + prepFood: 'المطعم يحضر الطعام.', + riderOnWay: 'المتسلم في طريقه.', + orderDelivered: 'تم تسليم الطلب.', + completeOrder: 'تم الانتهاء من الطلب.', + PENDING: 'معلق', + ACCEPTED: 'مقبول', + PICKED: 'مستلم', + DELIVERED: 'مسلم', + COMPLETED: 'اكتمل', + 'Default': 'الافتراضي', + 'Ascending (A-Z)': 'تصاعدي (أ-ي)', + 'Descending (Z-A)': 'تنازلي (ي-أ)', + 'Price (Low - High)': 'السعر (منخفض - مرتفع)', + 'Price (High - Low)': 'السعر (مرتفع - منخفض)', + Home: 'الرئيسية', + Work: 'العمل', + Other: 'آخر', + NoStock: 'نفاذ الكمية', + ItemOutOfStock: 'العنصر غير متوفر حالياً', + SelectLanguage: 'اختر اللغة', + Done: 'تم', + Cancel: 'إلغاء', + NoFoods: 'لا توجد أطعمة', + CartIsEmpty: 'السلة فارغة.', + SetPaymentMethod: 'يرجى تحديد وسيلة الدفع قبل الخروج', + AnErrorOccured: 'حدث خطأ. الرجاء المحاولة مرة أخرى', + ResetPasswordLinkSent: 'تم إرسال رابط إعادة تعيين كلمة المرور إلى بريدك الإلكتروني', + LocationPermissionNotGranted: 'لم يتم منح إذن الموقع', + NoFooditemFound: 'لم يتم العثور على عنصر طعام', + +} diff --git a/CustomerApp/translations/de.js b/CustomerApp/translations/de.js index 041f871..b543c47 100644 --- a/CustomerApp/translations/de.js +++ b/CustomerApp/translations/de.js @@ -145,78 +145,99 @@ export const de = { receiveOffers: 'Spezielle Angebote erhalten', notificationUpdate: 'Benachrichtigungsstatus aktualisiert', notificationsNotWorking: "Benachrichtigungen funktionieren nicht im Simulator", - loginOrCreateAcc: "Anmelden/Konto erstellen", - welcome: "Willkommen", - titleSettings: 'Einstellungen', - home: 'Startseite', - noItems: 'Kein Artikel gefunden', - featured: 'Vorgestellt', - filters: 'Filter', - reset: 'Zurücksetzen', - showSaleItems: 'Nur Verkaufsartikel anzeigen', - showStockItems: 'Nur Lagerartikel anzeigen', - priceRange: 'Preisspanne', - sorting: 'Sortierung', - applyFilter: 'Filter anwenden', - close: 'Schließen', - phoneNumberRequired: "Telefonnummer ist erforderlich", -phoneNumberMissing: "Telefonnummer fehlt", -userInfoUpdated: "Benutzerinformationen aktualisiert", -nameReq: "Name ist erforderlich", -minWords: "Mindestens 11 und maximal 15 Zeichen erlaubt", -rightsReserved: "Alle Rechte vorbehalten von Enatega", -changePass: "Passwort ändern", -currentPass: "Aktuelles Passwort", -passReq: "Passwort ist erforderlich", -newPass: "Neues Passwort", -apply: "Anwenden", -invalidPass: "Ungültiges Passwort", -passChange: "Passwort aktualisiert", -noOrdersFound: "Keine Bestellungen gefunden", -startShopping: "Mit dem Einkaufen beginnen", -reOrder: "Erneut bestellen", -smthWrong: "Etwas ist falsch", -noOrdersAssigned: "Noch keine Bestellungen zugewiesen!", -oldOrder: "Alte Bestellung", -activeOrder: "Aktive Bestellung", -idVar: 'ID: ', -addressUpdated: 'Adresse aktualisiert', -labelAs: 'Als bezeichnen', -addressReq: 'Lieferadresse erforderlich', -deliveryDetailsReq: 'Lieferdetails erforderlich', -locaPermission: 'Standortberechtigung nicht erteilt', -addressAdded: 'Adresse hinzugefügt', -productPage: 'Produktseite', -docs: 'Dokumente', -blog: 'Blog', -aboutUs: 'Über uns', -myVouchers: 'Meine Gutscheine', -typeVoucherCode: "Gutscheincode eingeben", -enterVoucherCode: "Geben Sie Ihren Gutscheincode ein", -status: 'Status', -anySuggestion: 'Irgendwelche Vorschläge?', -reviewRegarding: 'Bewertung zu Ihrer Bestellung?', -writeReview: 'Eine Bewertung schreiben', -chatWithRider: 'Mit dem Fahrer chatten', -signupGoogle: 'Mit Google anmelden', -signupEmail: 'Anmeldung mit E-Mail', -signup: 'Anmelden', -signupApple: 'Mit Apple anmelden', -alreadyMember: 'Bereits Mitglied? Einloggen', -enterUsername: 'Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein', -createNewAcc: 'Neues Konto erstellen', -emailphoneReq: "E-Mail/Telefonnummer ist erforderlich", -invalidMail: "Ungültige E-Mail/Telefonnummer", -passReq: "Passwort ist erforderlich", -cantLogin: "Anmeldung nicht möglich, dieses Konto wurde gelöscht!", -orderPending: "Ihre Bestellung wird noch bearbeitet.", -prepFood: "Das Restaurant bereitet das Essen vor.", -riderOnWay: "Der Fahrer ist unterwegs.", -orderDelivered: "Die Bestellung wurde geliefert.", -completeOrder: "Die Bestellung ist abgeschlossen.", -PENDING: "AUSSTEHEND", -ACCEPTED: 'AKZEPTIERT', -PICKED: "ABGEHOLT", -DELIVERED: "GELIEFERT", -COMPLETED: "ABGESCHLOSSEN" + loginOrCreateAcc: "Anmelden/Konto erstellen", + welcome: "Willkommen", + titleSettings: 'Einstellungen', + home: 'Startseite', + noItems: 'Kein Artikel gefunden', + featured: 'Vorgestellt', + filters: 'Filter', + reset: 'Zurücksetzen', + showSaleItems: 'Nur Verkaufsartikel anzeigen', + showStockItems: 'Nur Lagerartikel anzeigen', + priceRange: 'Preisspanne', + sorting: 'Sortierung', + applyFilter: 'Filter anwenden', + close: 'Schließen', + phoneNumberRequired: "Telefonnummer ist erforderlich", + phoneNumberMissing: "Telefonnummer fehlt", + userInfoUpdated: "Benutzerinformationen aktualisiert", + nameReq: "Name ist erforderlich", + minWords: "Mindestens 11 und maximal 15 Zeichen erlaubt", + rightsReserved: "Alle Rechte vorbehalten von Enatega", + changePass: "Passwort ändern", + currentPass: "Aktuelles Passwort", + passReq: "Passwort ist erforderlich", + newPass: "Neues Passwort", + apply: "Anwenden", + invalidPass: "Ungültiges Passwort", + passChange: "Passwort aktualisiert", + noOrdersFound: "Keine Bestellungen gefunden", + startShopping: "Mit dem Einkaufen beginnen", + reOrder: "Erneut bestellen", + smthWrong: "Etwas ist falsch", + noOrdersAssigned: "Noch keine Bestellungen zugewiesen!", + oldOrder: "Alte Bestellung", + activeOrder: "Aktive Bestellung", + idVar: 'ID: ', + addressUpdated: 'Adresse aktualisiert', + labelAs: 'Als bezeichnen', + addressReq: 'Lieferadresse erforderlich', + deliveryDetailsReq: 'Lieferdetails erforderlich', + locaPermission: 'Standortberechtigung nicht erteilt', + addressAdded: 'Adresse hinzugefügt', + productPage: 'Produktseite', + docs: 'Dokumente', + blog: 'Blog', + aboutUs: 'Über uns', + myVouchers: 'Meine Gutscheine', + typeVoucherCode: "Gutscheincode eingeben", + enterVoucherCode: "Geben Sie Ihren Gutscheincode ein", + status: 'Status', + anySuggestion: 'Irgendwelche Vorschläge?', + reviewRegarding: 'Bewertung zu Ihrer Bestellung?', + writeReview: 'Eine Bewertung schreiben', + chatWithRider: 'Mit dem Fahrer chatten', + signupGoogle: 'Mit Google anmelden', + signupEmail: 'Anmeldung mit E-Mail', + signup: 'Anmelden', + signupApple: 'Mit Apple anmelden', + alreadyMember: 'Bereits Mitglied? Einloggen', + enterUsername: 'Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein', + createNewAcc: 'Neues Konto erstellen', + emailphoneReq: "E-Mail/Telefonnummer ist erforderlich", + invalidMail: "Ungültige E-Mail/Telefonnummer", + passReq: "Passwort ist erforderlich", + cantLogin: "Anmeldung nicht möglich, dieses Konto wurde gelöscht!", + orderPending: "Ihre Bestellung wird noch bearbeitet.", + prepFood: "Das Restaurant bereitet das Essen vor.", + riderOnWay: "Der Fahrer ist unterwegs.", + orderDelivered: "Die Bestellung wurde geliefert.", + completeOrder: "Die Bestellung ist abgeschlossen.", + PENDING: "AUSSTEHEND", + ACCEPTED: 'AKZEPTIERT', + PICKED: "ABGEHOLT", + DELIVERED: "GELIEFERT", + COMPLETED: "ABGESCHLOSSEN", + 'Default': 'Standaard', + 'Ascending (A-Z)': 'Oplopend (A-Z)', + 'Descending (Z-A)': 'Aflopend (Z-A)', + 'Price (Low - High)': 'Prijs (Laag - Hoog)', + 'Price (High - Low)': 'Prijs (Hoog - Laag)', + Home: 'Thuis', + Work: 'Werk', + Other: 'Anders', + NoStock: 'Geen Voorraad', + ItemOutOfStock: 'Artikel uit voorraad', + SelectLanguage: 'Selecteer Taal', + Done: 'Voltooid', + Cancel: 'Annuleren', + NoFoods: 'Geen voedsel', + CartIsEmpty: 'Winkelwagen is leeg.', + SetPaymentMethod: 'Stel betalingsmethode in voordat u afrekent', + AnErrorOccured: 'Er is een fout opgetreden. Probeer het opnieuw', + ResetPasswordLinkSent: 'Reset wachtwoordlink verzonden naar uw e-mail', + LocationPermissionNotGranted: 'Locatietoestemming niet verleend', + NoFooditemFound: 'Geen voedingsmiddel gevonden', + } diff --git a/CustomerApp/translations/en.js b/CustomerApp/translations/en.js index 7d0c9f4..be35b52 100644 --- a/CustomerApp/translations/en.js +++ b/CustomerApp/translations/en.js @@ -218,5 +218,25 @@ export const en = { ACCEPTED: 'ACCEPTED', PICKED: "PICKED", DELIVERED: "DELIVERED", - COMPLETED: "COMPLETED" + COMPLETED: "COMPLETED", + 'Default': 'Default', + 'Ascending (A-Z)': 'Ascending (A-Z)', + 'Descending (Z-A)': 'Descending (Z-A)', + 'Price (Low - High)': 'Price (Low - High)', + 'Price (High - Low)': 'Price (High - Low)', + Home: 'Home', + Work: 'Work', + Other: 'Other', + NoStock: 'No Stock', + ItemOutOfStock: 'Item out of stock', + SelectLanguage: 'Select Language', + Done: 'Done', + Cancel: 'Cancel', + NoFoods: 'No Foods', + CartIsEmpty: 'Cart is empty.', + SetPaymentMethod: 'Set payment method before checkout', + AnErrorOccured: 'An error occured. Please try again', + ResetPasswordLinkSent: 'Reset password link sent on your email', + LocationPermissionNotGranted: 'Location permission not granted', + NoFooditemFound: 'No food item found' } diff --git a/CustomerApp/translations/fr.js b/CustomerApp/translations/fr.js index 122b542..ec38e7a 100644 --- a/CustomerApp/translations/fr.js +++ b/CustomerApp/translations/fr.js @@ -139,85 +139,106 @@ export const fr = { validateItems: 'Ajouter des articles au panier avant le paiement', validateDelivery: "Définir l'adresse de livraison avant le paiement", language: 'Langue', - getUpdatesText: 'Obtenez des mises à jour sur le statut de votre commande !', - delAcc: 'Supprimer le compte', - delAccText: 'Êtes-vous sûr de vouloir supprimer le compte ?', - cancel: 'Annuler', - receiveOffers: 'Recevoir des offres spéciales', - notificationUpdate: 'Statut de notification mis à jour', - notificationsNotWorking: "Les notifications ne fonctionnent pas sur le simulateur", - loginOrCreateAcc: "Connexion/Créer un compte", - welcome: "Bienvenue", - titleSettings: 'Paramètres', - home: 'Accueil', - noItems: 'Aucun élément trouvé', - featured: 'En vedette', - filters: 'Filtres', - reset: 'Réinitialiser', - showSaleItems: 'Afficher uniquement les articles en vente', - showStockItems: 'Afficher uniquement les articles en stock', - priceRange: 'Plage de prix', - sorting: 'Tri', - applyFilter: 'Appliquer le filtre', - close: 'Fermer', - phoneNumberRequired: "Numéro de téléphone requis", -phoneNumberMissing: "Numéro de téléphone manquant", -userInfoUpdated: "Informations de l'utilisateur mises à jour", -nameReq: "Nom requis", -minWords: "Minimum 11 et maximum 15 caractères autorisés", -rightsReserved: "Tous les droits sont réservés par Enatega", -changePass: "Changer le mot de passe", -currentPass: "Mot de passe actuel", -passReq: "Mot de passe requis", -newPass: "Nouveau mot de passe", -apply: "Appliquer", -invalidPass: "Mot de passe invalide", -passChange: "Mot de passe mis à jour", -noOrdersFound: "Aucune commande trouvée", -startShopping: "Commencer les achats", -reOrder: "Recommander", -smthWrong: "Quelque chose ne va pas", -noOrdersAssigned: "Aucune commande attribuée pour le moment !", -oldOrder: "Ancienne commande", -activeOrder: "Commande active", -idVar: 'ID : ', -addressUpdated: 'Adresse mise à jour', -labelAs: 'Étiqueter comme', -addressReq: 'Adresse de livraison requise', -deliveryDetailsReq: 'Détails de livraison requis', -locaPermission: 'Autorisation de localisation non accordée', -addressAdded: 'Adresse ajoutée', -productPage: 'Page produit', -docs: 'Docs', -blog: 'Blog', -aboutUs: 'À propos de nous', -myVouchers: 'Mes bons', -typeVoucherCode: "Saisir le code du bon", -enterVoucherCode: "Entrez votre code de bon", -status: 'Statut', -anySuggestion: 'Des suggestions ?', -reviewRegarding: 'Avis concernant votre commande ?', -writeReview: 'Écrire un avis', -chatWithRider: 'Discuter avec le livreur', -signupGoogle: 'Inscription avec Google', -signupEmail: 'Inscription par e-mail', -signup: 'Sinscrire', -signupApple: 'Inscription avec Apple', -alreadyMember: 'Déjà membre ? Se connecter', -enterUsername: 'Entrez votre adresse e-mail et votre mot de passe', -createNewAcc: 'Créer un nouveau compte', -emailphoneReq: "E-mail/Téléphone requis", -invalidMail: "E-mail/Téléphone invalide", -passReq: "Mot de passe requis", -cantLogin: "Impossible de se connecter, ce compte a été supprimé !", -orderPending: "Votre commande est en attente.", -prepFood: "Le restaurant prépare la nourriture.", -riderOnWay: "Le livreur est en route.", -orderDelivered: "La commande a été livrée.", -completeOrder: "La commande est terminée.", -PENDING: "EN ATTENTE", -ACCEPTED: 'ACCEPTÉE', -PICKED: "ENLEVÉE", -DELIVERED: "LIVRÉE", -COMPLETED: "TERMINÉE" + getUpdatesText: 'Obtenez des mises à jour sur le statut de votre commande !', + delAcc: 'Supprimer le compte', + delAccText: 'Êtes-vous sûr de vouloir supprimer le compte ?', + cancel: 'Annuler', + receiveOffers: 'Recevoir des offres spéciales', + notificationUpdate: 'Statut de notification mis à jour', + notificationsNotWorking: "Les notifications ne fonctionnent pas sur le simulateur", + loginOrCreateAcc: "Connexion/Créer un compte", + welcome: "Bienvenue", + titleSettings: 'Paramètres', + home: 'Accueil', + noItems: 'Aucun élément trouvé', + featured: 'En vedette', + filters: 'Filtres', + reset: 'Réinitialiser', + showSaleItems: 'Afficher uniquement les articles en vente', + showStockItems: 'Afficher uniquement les articles en stock', + priceRange: 'Plage de prix', + sorting: 'Tri', + applyFilter: 'Appliquer le filtre', + close: 'Fermer', + phoneNumberRequired: "Numéro de téléphone requis", + phoneNumberMissing: "Numéro de téléphone manquant", + userInfoUpdated: "Informations de l'utilisateur mises à jour", + nameReq: "Nom requis", + minWords: "Minimum 11 et maximum 15 caractères autorisés", + rightsReserved: "Tous les droits sont réservés par Enatega", + changePass: "Changer le mot de passe", + currentPass: "Mot de passe actuel", + passReq: "Mot de passe requis", + newPass: "Nouveau mot de passe", + apply: "Appliquer", + invalidPass: "Mot de passe invalide", + passChange: "Mot de passe mis à jour", + noOrdersFound: "Aucune commande trouvée", + startShopping: "Commencer les achats", + reOrder: "Recommander", + smthWrong: "Quelque chose ne va pas", + noOrdersAssigned: "Aucune commande attribuée pour le moment !", + oldOrder: "Ancienne commande", + activeOrder: "Commande active", + idVar: 'ID : ', + addressUpdated: 'Adresse mise à jour', + labelAs: 'Étiqueter comme', + addressReq: 'Adresse de livraison requise', + deliveryDetailsReq: 'Détails de livraison requis', + locaPermission: 'Autorisation de localisation non accordée', + addressAdded: 'Adresse ajoutée', + productPage: 'Page produit', + docs: 'Docs', + blog: 'Blog', + aboutUs: 'À propos de nous', + myVouchers: 'Mes bons', + typeVoucherCode: "Saisir le code du bon", + enterVoucherCode: "Entrez votre code de bon", + status: 'Statut', + anySuggestion: 'Des suggestions ?', + reviewRegarding: 'Avis concernant votre commande ?', + writeReview: 'Écrire un avis', + chatWithRider: 'Discuter avec le livreur', + signupGoogle: 'Inscription avec Google', + signupEmail: 'Inscription par e-mail', + signup: 'Sinscrire', + signupApple: 'Inscription avec Apple', + alreadyMember: 'Déjà membre ? Se connecter', + enterUsername: 'Entrez votre adresse e-mail et votre mot de passe', + createNewAcc: 'Créer un nouveau compte', + emailphoneReq: "E-mail/Téléphone requis", + invalidMail: "E-mail/Téléphone invalide", + passReq: "Mot de passe requis", + cantLogin: "Impossible de se connecter, ce compte a été supprimé !", + orderPending: "Votre commande est en attente.", + prepFood: "Le restaurant prépare la nourriture.", + riderOnWay: "Le livreur est en route.", + orderDelivered: "La commande a été livrée.", + completeOrder: "La commande est terminée.", + PENDING: "EN ATTENTE", + ACCEPTED: 'ACCEPTÉE', + PICKED: "ENLEVÉE", + DELIVERED: "LIVRÉE", + COMPLETED: "TERMINÉE", + 'Default': 'Par défaut', + 'Ascending (A-Z)': 'Croissant (A-Z)', + 'Descending (Z-A)': 'Décroissant (Z-A)', + 'Price (Low - High)': 'Prix (Bas - Élevé)', + 'Price (High - Low)': 'Prix (Élevé - Bas)', + Home: 'Accueil', + Work: 'Travail', + Other: 'Autre', + NoStock: 'Stock épuisé', + ItemOutOfStock: 'Article en rupture de stock', + SelectLanguage: 'Sélectionner la langue', + Done: 'Terminé', + Cancel: 'Annuler', + NoFoods: 'Pas de nourriture', + CartIsEmpty: 'Le panier est vide.', + SetPaymentMethod: 'Définissez le mode de paiement avant de passer à la caisse', + AnErrorOccured: 'Une erreur s\'est produite. Veuillez réessayer', + ResetPasswordLinkSent: 'Lien de réinitialisation du mot de passe envoyé sur votre email', + LocationPermissionNotGranted: 'Permission de localisation non accordée', + NoFooditemFound: 'Aucun article alimentaire trouvé', + } diff --git a/CustomerApp/translations/km.js b/CustomerApp/translations/km.js index f1969d1..ab9b073 100644 --- a/CustomerApp/translations/km.js +++ b/CustomerApp/translations/km.js @@ -134,85 +134,106 @@ export const km = { validateItems: 'បន្ថែមរបស់របរទៅរទេះមុនពេលឆែក', validateDelivery: 'កំណត់អាសយដ្ឋានដឹកជញ្ជូនមុនពេលពិនិត្យចេញ', language: 'ភាសា', - getUpdatesText: 'ទទួល​បាន​ការ​ធ្វើ​បច្ចុប្បន្ន​ភាព​លើ​ស្ថាន​ភាព​ការ​បញ្ជាទិញ​របស់​អ្នក!', - delAcc: 'លុប​គណនី', - delAccText: 'តើ​អ្នក​ប្រាកដ​ថា​តើ​ចង់​លុប​គណនី​ឬ​ទេ?', - cancel: 'បោះបង់', - receiveOffers: 'ទទួល​បាន​ការ​ផ្តល់​ជូន​ពិសេស', - notificationUpdate: 'ការ​ប្រកាស​ការ​ជូន​ដំណឹង​ត្រូវបាន​ធ្វើ​បច្ចុប្បន្ន', - notificationsNotWorking: "ការ​ជូន​ដំណឹង​មិន​ដំណើរ​ការ​លើ​ម៉ាស៊ីន​សម្រាប់​ប្រើប្រាស់តំណល", - loginOrCreateAcc: "ចូល​ប្រើ/បង្កើត​គណនី", - welcome: "ស្វាគមន៍", - titleSettings: 'ការ​កំណត់', - home: 'ទំព័រ​ដើម', - noItems: 'រក​មិន​ឃើញ​ទេ', - featured: 'ផ្សេងៗ', - filters: 'តម្រង', - reset: 'កំណត់​ឡើងវិញ', - showSaleItems: 'បង្ហាញ​ទំនិញ​លក់​តែប៉ុណ្ណោះ', - showStockItems: 'បង្ហាញ​ទំនិញ​ស្តុក​តែប៉ុណ្ណោះ', - priceRange: 'ជម្រើស​តម្លៃ', - sorting: 'តម្រៀបតាម', - applyFilter: 'អនុវត្ត​តម្រង', - close: 'បិទ', - phoneNumberRequired: "ត្រូវការលេខទូរស័ព្ទ", -phoneNumberMissing: "ខុសលេខទូរស័ព្ទ", -userInfoUpdated: "ព័ត៌មានអ្នកប្រើប្រាស់ត្រូវបានធ្វើបច្ចុប្បន្នភាព", -nameReq: "ត្រូវការឈ្មោះ", -minWords: "អត្ថបទអប្បាយបន្ទាប់ពី 11 និងអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណ", -rightsReserved: "រក្សាសិទ្ធិទាំងអស់គ្នាដោយ Enatega", -changePass: "ប្ដូរលេខសម្ងាត់", -currentPass: "លេខសម្ងាត់បច្ចុប្បន្ន", -passReq: "ត្រូវការលេខសម្ងាត់", -newPass: "លេខសម្ងាត់ថ្មី", -apply: "អនុវត្ត", -invalidPass: "លេខសម្ងាត់មិនត្រឹមត្រូវ", -passChange: "លេខសម្ងាត់ត្រូវបានធ្វើបច្ចុប្បន្នភាព", -noOrdersFound: "រកមិនឃើញការបញ្ជាទិញ", -startShopping: "ចាប់ផ្តើមទិញ", -reOrder: "កម្មង់ម្តងទៀត", -smthWrong: "មានអ្វីមួយខុស", -noOrdersAssigned: "មិនទាន់បានចាក់ការបញ្ជាទិញទេ!", -oldOrder: "ការបញ្ជាទិញចាស់", -activeOrder: "ការបញ្ជាទិញដែលមានសកម្ម", -idVar: 'លេខសម្គាល់: ', -addressUpdated: 'អាសយដ្ឋានត្រូវបានធ្វើបច្ចុប្បន្នភាព', -labelAs: 'ស្លាកជាដើម', -addressReq: 'អាសយដ្ឋានការដឹកជញ្ជូនត្រូវការ', -deliveryDetailsReq: 'សេចក្ដីលម្អិតនៃការដឹកជញ្ជូនត្រូវការ', -locaPermission: 'ការអនុញ្ញាតឱ្យតាមដានទីតាំងមិនបានទទួលយក', -addressAdded: 'បាន​បន្ថែម​អាសយដ្ឋាន', -productPage: 'ទំព័រផលិតផល', -docs: 'ឯកសារ', -blog: 'ប្លក់', -aboutUs: 'អំពី​យើង', -myVouchers: 'លេខកូដ​វេបសាយ​របស់​ខ្ញុំ', -typeVoucherCode: "បញ្ចូល​លេខកូដ​វេបសាយ", -enterVoucherCode: "បញ្ចូល​លេខកូដ​វេបសាយ​របស់​អ្នក", -status: 'ស្ថានភាព', -anySuggestion: 'មានអំណាចណាស់មែនទេ?', -reviewRegarding: 'ពិនិត្យឡើងវិញអំពីការបញ្ជាទិញរបស់អ្នក?', -writeReview: 'សរសេរពិន្ទុ', -chatWithRider: 'ជជែកជាមួយអ្នកបើកដំណើរ', -signupGoogle: 'ចុះឈ្មោះជាមួយ Google', -signupEmail: 'ចុះឈ្មោះតាមអ៊ីម៉ែល', -signup: 'ចុះឈ្មោះ', -signupApple: 'ចុះឈ្មោះជាមួយ Apple', -alreadyMember: 'រួចហើយរួចចូលក្នុង', -enterUsername: 'បញ្ចូលអ៊ីម៉ែលរបស់អ្នក និងពាក្យសម្ងាត់', -createNewAcc: 'បង្កើតគណនីថ្មី', -emailphoneReq: "ត្រូវការអ៊ីម៉ែល/លេខទូរស័ព្ទ", -invalidMail: "អ៊ីម៉ែល/លេខទូរស័ព្ទ​មិនត្រឹមត្រូវ", -passReq: "ត្រូវការពាក្យសម្ងាត់", -cantLogin: "មិនអាចចូលបានទេ, គណនីនេះត្រូវបានលុប!", -orderPending: "ការបញ្ជាទិញរបស់អ្នកមិនទាន់ទទួលយកទេ។", -prepFood: "ភោជនីដែលកំពុងរៀបចំអាហារ។", -riderOnWay: "អ្នកបើកដំណើរកំពង់កោះមាន់នៅលើផ្លូវ។", -orderDelivered: "ការបញ្ជាទិញបានដឹកជញ្ជូន។", -completeOrder: "ការបញ្ជាទិញបានបញ្ចប់។", -PENDING: "កំពុងរង់ចាំ", -ACCEPTED: 'បានទទួលយក', -PICKED: "បានជូនយក", -DELIVERED: "បានដឹកជញ្ជូន", -COMPLETED: "បានបញ្ចប់" + getUpdatesText: 'ទទួល​បាន​ការ​ធ្វើ​បច្ចុប្បន្ន​ភាព​លើ​ស្ថាន​ភាព​ការ​បញ្ជាទិញ​របស់​អ្នក!', + delAcc: 'លុប​គណនី', + delAccText: 'តើ​អ្នក​ប្រាកដ​ថា​តើ​ចង់​លុប​គណនី​ឬ​ទេ?', + cancel: 'បោះបង់', + receiveOffers: 'ទទួល​បាន​ការ​ផ្តល់​ជូន​ពិសេស', + notificationUpdate: 'ការ​ប្រកាស​ការ​ជូន​ដំណឹង​ត្រូវបាន​ធ្វើ​បច្ចុប្បន្ន', + notificationsNotWorking: "ការ​ជូន​ដំណឹង​មិន​ដំណើរ​ការ​លើ​ម៉ាស៊ីន​សម្រាប់​ប្រើប្រាស់តំណល", + loginOrCreateAcc: "ចូល​ប្រើ/បង្កើត​គណនី", + welcome: "ស្វាគមន៍", + titleSettings: 'ការ​កំណត់', + home: 'ទំព័រ​ដើម', + noItems: 'រក​មិន​ឃើញ​ទេ', + featured: 'ផ្សេងៗ', + filters: 'តម្រង', + reset: 'កំណត់​ឡើងវិញ', + showSaleItems: 'បង្ហាញ​ទំនិញ​លក់​តែប៉ុណ្ណោះ', + showStockItems: 'បង្ហាញ​ទំនិញ​ស្តុក​តែប៉ុណ្ណោះ', + priceRange: 'ជម្រើស​តម្លៃ', + sorting: 'តម្រៀបតាម', + applyFilter: 'អនុវត្ត​តម្រង', + close: 'បិទ', + phoneNumberRequired: "ត្រូវការលេខទូរស័ព្ទ", + phoneNumberMissing: "ខុសលេខទូរស័ព្ទ", + userInfoUpdated: "ព័ត៌មានអ្នកប្រើប្រាស់ត្រូវបានធ្វើបច្ចុប្បន្នភាព", + nameReq: "ត្រូវការឈ្មោះ", + minWords: "អត្ថបទអប្បាយបន្ទាប់ពី 11 និងអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណ", + rightsReserved: "រក្សាសិទ្ធិទាំងអស់គ្នាដោយ Enatega", + changePass: "ប្ដូរលេខសម្ងាត់", + currentPass: "លេខសម្ងាត់បច្ចុប្បន្ន", + passReq: "ត្រូវការលេខសម្ងាត់", + newPass: "លេខសម្ងាត់ថ្មី", + apply: "អនុវត្ត", + invalidPass: "លេខសម្ងាត់មិនត្រឹមត្រូវ", + passChange: "លេខសម្ងាត់ត្រូវបានធ្វើបច្ចុប្បន្នភាព", + noOrdersFound: "រកមិនឃើញការបញ្ជាទិញ", + startShopping: "ចាប់ផ្តើមទិញ", + reOrder: "កម្មង់ម្តងទៀត", + smthWrong: "មានអ្វីមួយខុស", + noOrdersAssigned: "មិនទាន់បានចាក់ការបញ្ជាទិញទេ!", + oldOrder: "ការបញ្ជាទិញចាស់", + activeOrder: "ការបញ្ជាទិញដែលមានសកម្ម", + idVar: 'លេខសម្គាល់: ', + addressUpdated: 'អាសយដ្ឋានត្រូវបានធ្វើបច្ចុប្បន្នភាព', + labelAs: 'ស្លាកជាដើម', + addressReq: 'អាសយដ្ឋានការដឹកជញ្ជូនត្រូវការ', + deliveryDetailsReq: 'សេចក្ដីលម្អិតនៃការដឹកជញ្ជូនត្រូវការ', + locaPermission: 'ការអនុញ្ញាតឱ្យតាមដានទីតាំងមិនបានទទួលយក', + addressAdded: 'បាន​បន្ថែម​អាសយដ្ឋាន', + productPage: 'ទំព័រផលិតផល', + docs: 'ឯកសារ', + blog: 'ប្លក់', + aboutUs: 'អំពី​យើង', + myVouchers: 'លេខកូដ​វេបសាយ​របស់​ខ្ញុំ', + typeVoucherCode: "បញ្ចូល​លេខកូដ​វេបសាយ", + enterVoucherCode: "បញ្ចូល​លេខកូដ​វេបសាយ​របស់​អ្នក", + status: 'ស្ថានភាព', + anySuggestion: 'មានអំណាចណាស់មែនទេ?', + reviewRegarding: 'ពិនិត្យឡើងវិញអំពីការបញ្ជាទិញរបស់អ្នក?', + writeReview: 'សរសេរពិន្ទុ', + chatWithRider: 'ជជែកជាមួយអ្នកបើកដំណើរ', + signupGoogle: 'ចុះឈ្មោះជាមួយ Google', + signupEmail: 'ចុះឈ្មោះតាមអ៊ីម៉ែល', + signup: 'ចុះឈ្មោះ', + signupApple: 'ចុះឈ្មោះជាមួយ Apple', + alreadyMember: 'រួចហើយរួចចូលក្នុង', + enterUsername: 'បញ្ចូលអ៊ីម៉ែលរបស់អ្នក និងពាក្យសម្ងាត់', + createNewAcc: 'បង្កើតគណនីថ្មី', + emailphoneReq: "ត្រូវការអ៊ីម៉ែល/លេខទូរស័ព្ទ", + invalidMail: "អ៊ីម៉ែល/លេខទូរស័ព្ទ​មិនត្រឹមត្រូវ", + passReq: "ត្រូវការពាក្យសម្ងាត់", + cantLogin: "មិនអាចចូលបានទេ, គណនីនេះត្រូវបានលុប!", + orderPending: "ការបញ្ជាទិញរបស់អ្នកមិនទាន់ទទួលយកទេ។", + prepFood: "ភោជនីដែលកំពុងរៀបចំអាហារ។", + riderOnWay: "អ្នកបើកដំណើរកំពង់កោះមាន់នៅលើផ្លូវ។", + orderDelivered: "ការបញ្ជាទិញបានដឹកជញ្ជូន។", + completeOrder: "ការបញ្ជាទិញបានបញ្ចប់។", + PENDING: "កំពុងរង់ចាំ", + ACCEPTED: 'បានទទួលយក', + PICKED: "បានជូនយក", + DELIVERED: "បានដឹកជញ្ជូន", + COMPLETED: "បានបញ្ចប់", + 'Default': 'លំនាំដើម', + 'Ascending (A-Z)': 'កើតឡើង (អ ទំ)', + 'Descending (Z-A)': 'ចុះឡើង (ទំ អ)', + 'Price (Low - High)': 'តម្លៃ (ទាប - ខ្ពស់)', + 'Price (High - Low)': 'តម្លៃ (ខ្ពស់ - ទាប)', + Home: 'ទំព័រដើម', + Work: 'ការងារ', + Other: 'ផ្សេងៗ', + NoStock: 'គ្មាន​ស្តុក', + ItemOutOfStock: 'មុខទំនិញ​អស់​ស្តុក', + SelectLanguage: 'ជ្រើសរើសភាសា', + Done: 'រួចរាល់', + Cancel: 'បោះបង់', + NoFoods: 'មិនមានអាហារ', + CartIsEmpty: 'រទេះទម្ងន់។', + SetPaymentMethod: 'កំណត់របស់មុនពេលចេញ', + AnErrorOccured: 'មានកំហុសមិនរួចហើយ។ សូមព្យាយាមម្តងទៀត', + ResetPasswordLinkSent: 'បានផ្ញើតំណរពេលបានប្ដូរពាក្យសម្ងាត់របស់អ្នកហើយ', + LocationPermissionNotGranted: 'មិនបានទទួលស្ថានភាពទីតាំង', + NoFooditemFound: 'មិនបានរកឃើញវាលម្ហូប', + } diff --git a/CustomerApp/translations/zh.js b/CustomerApp/translations/zh.js index 0769de7..3540daf 100644 --- a/CustomerApp/translations/zh.js +++ b/CustomerApp/translations/zh.js @@ -130,85 +130,106 @@ export const zh = { validateItems: '结帐前将商品添加到购物车', validateDelivery: '结帐前设置送货地址', language: '语言', - getUpdatesText: '获取订单状态更新!', - delAcc: '删除账户', - delAccText: '您确定要删除账户吗?', - cancel: '取消', - receiveOffers: '接收特别优惠', - notificationUpdate: '通知状态已更新', - notificationsNotWorking: "通知在模拟器上无法工作", - loginOrCreateAcc: "登录/创建帐户", - welcome: "欢迎", - titleSettings: '设置', - home: '主页', - noItems: '未找到物品', - featured: '特色', - filters: '筛选', - reset: '重置', - showSaleItems: '仅显示特价商品', - showStockItems: '仅显示有库存商品', - priceRange: '价格范围', - sorting: '排序', - applyFilter: '应用筛选', - close: '关闭', - phoneNumberRequired: "需要电话号码", -phoneNumberMissing: "缺少电话号码", -userInfoUpdated: "用户信息已更新", -nameReq: "需要姓名", -minWords: "最少11个字符,最多15个字符", -rightsReserved: "版权所有,Enatega保留所有权利", -changePass: "更改密码", -currentPass: "当前密码", -passReq: "需要密码", -newPass: "新密码", -apply: "应用", -invalidPass: "无效密码", -passChange: "密码已更新", -noOrdersFound: "未找到订单", -startShopping: "开始购物", -reOrder: "重新下单", -smthWrong: "出现问题", -noOrdersAssigned: "尚未分配订单!", -oldOrder: "旧订单", -activeOrder: "活跃订单", -idVar: 'ID:', -addressUpdated: '地址已更新', -labelAs: '标记为', -addressReq: '需要交付地址', -deliveryDetailsReq: '需要交付细节', -locaPermission: '未授予位置权限', -addressAdded: '已添加地址', -productPage: '产品页面', -docs: '文档', -blog: '博客', -aboutUs: '关于我们', -myVouchers: '我的优惠券', -typeVoucherCode: "输入优惠券代码", -enterVoucherCode: "输入您的优惠券代码", -status: '状态', -anySuggestion: '有什么建议吗?', -reviewRegarding: '关于您的订单的评论?', -writeReview: '撰写评论', -chatWithRider: '与骑手聊天', -signupGoogle: '使用 Google 注册', -signupEmail: '使用电子邮件注册', -signup: '注册', -signupApple: '使用 Apple 注册', -alreadyMember: '已经是会员?登录', -enterUsername: '输入您的电子邮件和密码', -createNewAcc: '创建新帐户', -emailphoneReq: "需要电子邮件/电话号码", -invalidMail: "无效的电子邮件/电话号码", -passReq: "需要密码", -cantLogin: "无法登录,此帐户已被删除!", -orderPending: "您的订单仍在等待中。", -prepFood: "餐厅正在准备食物。", -riderOnWay: "骑手正在途中。", -orderDelivered: "订单已送达。", -completeOrder: "订单已完成。", -PENDING: "待处理", -ACCEPTED: '已接受', -PICKED: "已取货", -DELIVERED: "已送达", -COMPLETED: "已完成" + getUpdatesText: '获取订单状态更新!', + delAcc: '删除账户', + delAccText: '您确定要删除账户吗?', + cancel: '取消', + receiveOffers: '接收特别优惠', + notificationUpdate: '通知状态已更新', + notificationsNotWorking: "通知在模拟器上无法工作", + loginOrCreateAcc: "登录/创建帐户", + welcome: "欢迎", + titleSettings: '设置', + home: '主页', + noItems: '未找到物品', + featured: '特色', + filters: '筛选', + reset: '重置', + showSaleItems: '仅显示特价商品', + showStockItems: '仅显示有库存商品', + priceRange: '价格范围', + sorting: '排序', + applyFilter: '应用筛选', + close: '关闭', + phoneNumberRequired: "需要电话号码", + phoneNumberMissing: "缺少电话号码", + userInfoUpdated: "用户信息已更新", + nameReq: "需要姓名", + minWords: "最少11个字符,最多15个字符", + rightsReserved: "版权所有,Enatega保留所有权利", + changePass: "更改密码", + currentPass: "当前密码", + passReq: "需要密码", + newPass: "新密码", + apply: "应用", + invalidPass: "无效密码", + passChange: "密码已更新", + noOrdersFound: "未找到订单", + startShopping: "开始购物", + reOrder: "重新下单", + smthWrong: "出现问题", + noOrdersAssigned: "尚未分配订单!", + oldOrder: "旧订单", + activeOrder: "活跃订单", + idVar: 'ID:', + addressUpdated: '地址已更新', + labelAs: '标记为', + addressReq: '需要交付地址', + deliveryDetailsReq: '需要交付细节', + locaPermission: '未授予位置权限', + addressAdded: '已添加地址', + productPage: '产品页面', + docs: '文档', + blog: '博客', + aboutUs: '关于我们', + myVouchers: '我的优惠券', + typeVoucherCode: "输入优惠券代码", + enterVoucherCode: "输入您的优惠券代码", + status: '状态', + anySuggestion: '有什么建议吗?', + reviewRegarding: '关于您的订单的评论?', + writeReview: '撰写评论', + chatWithRider: '与骑手聊天', + signupGoogle: '使用 Google 注册', + signupEmail: '使用电子邮件注册', + signup: '注册', + signupApple: '使用 Apple 注册', + alreadyMember: '已经是会员?登录', + enterUsername: '输入您的电子邮件和密码', + createNewAcc: '创建新帐户', + emailphoneReq: "需要电子邮件/电话号码", + invalidMail: "无效的电子邮件/电话号码", + passReq: "需要密码", + cantLogin: "无法登录,此帐户已被删除!", + orderPending: "您的订单仍在等待中。", + prepFood: "餐厅正在准备食物。", + riderOnWay: "骑手正在途中。", + orderDelivered: "订单已送达。", + completeOrder: "订单已完成。", + PENDING: "待处理", + ACCEPTED: '已接受', + PICKED: "已取货", + DELIVERED: "已送达", + COMPLETED: "已完成", + 'Default': '默认', + 'Ascending (A-Z)': '升序 (A-Z)', + 'Descending (Z-A)': '降序 (Z-A)', + 'Price (Low - High)': '价格 (低 - 高)', + 'Price (High - Low)': '价格 (高 - 低)', + Home: '首页', + Work: '工作', + Other: '其他', + NoStock: '无库存', + ItemOutOfStock: '商品缺货', + SelectLanguage: '选择语言', + Done: '完成', + Cancel: '取消', + NoFoods: '没有食物', + CartIsEmpty: '购物车是空的。', + SetPaymentMethod: '请在结账前设置付款方式', + AnErrorOccured: '发生错误。请重试', + ResetPasswordLinkSent: '重置密码链接已发送到您的电子邮件', + LocationPermissionNotGranted: '未授予位置权限', + NoFooditemFound: '找不到食品项目', + }