remaining customer app localisation added and some issues solved

This commit is contained in:
Kashif Shehzad Baloch 2024-01-12 12:44:58 +05:00
parent d2d6d642a0
commit 660a223739
20 changed files with 701 additions and 340 deletions

View File

@ -7,10 +7,11 @@ import { en } from './translations/en'
import { fr } from './translations/fr' import { fr } from './translations/fr'
import { km } from './translations/km' import { km } from './translations/km'
import { zh } from './translations/zh' import { zh } from './translations/zh'
import { ar } from './translations/ar'
i18n.initAsync = async() => { i18n.initAsync = async() => {
i18n.fallbacks = true i18n.fallbacks = true
i18n.translations = { fr, en, km, zh, de } i18n.translations = { fr, en, km, zh, de, ar }
// i18n.locale = 'km' // i18n.locale = 'km'
if (Platform.OS === 'android') { if (Platform.OS === 'android') {
const lang = await AsyncStorage.getItem('enatega-language') const lang = await AsyncStorage.getItem('enatega-language')

View File

@ -8,6 +8,7 @@ import { CustomIcon } from '../../CustomIcon'
import { FlashMessage } from '../../FlashMessage/FlashMessage' import { FlashMessage } from '../../FlashMessage/FlashMessage'
import TextDefault from '../../Text/TextDefault/TextDefault' import TextDefault from '../../Text/TextDefault/TextDefault'
import useStyle from './styles' import useStyle from './styles'
import i18n from '../../../../i18n'
function CartComponent(props) { function CartComponent(props) {
const { colors } = useTheme() const { colors } = useTheme()
@ -18,7 +19,7 @@ function CartComponent(props) {
if (props.stock > quantity) setQuantity(quantity + 1) if (props.stock > quantity) setQuantity(quantity + 1)
else { else {
FlashMessage({ FlashMessage({
message: 'No more items in stock' message: i18n.t('noMoreItems')
}) })
} }
} }

View File

@ -13,6 +13,7 @@ import { CustomIcon } from '../../CustomIcon'
import { FlashMessage } from '../../FlashMessage/FlashMessage' import { FlashMessage } from '../../FlashMessage/FlashMessage'
import TextDefault from '../../Text/TextDefault/TextDefault' import TextDefault from '../../Text/TextDefault/TextDefault'
import useStyles from './styles' import useStyles from './styles'
import i18n from '../../../../i18n'
function HeaderIcon({ icon, iconColor, iconSize = scale(20) }) { function HeaderIcon({ icon, iconColor, iconSize = scale(20) }) {
const { colors } = useTheme() const { colors } = useTheme()
@ -127,7 +128,7 @@ function RightButton(props) {
navigation.navigate(NAVIGATION_SCREEN.Cart) navigation.navigate(NAVIGATION_SCREEN.Cart)
} else { } else {
FlashMessage({ FlashMessage({
message: 'Cart is empty.' message: i18n.t('CartIsEmpty')
}) })
} }
}, [cartCount]) }, [cartCount])

View File

@ -20,6 +20,11 @@ const FilterModal = props => {
const configuration = useContext(ConfigurationContext) const configuration = useContext(ConfigurationContext)
const [filters, setFilters] = useState({}) const [filters, setFilters] = useState({})
const localizedSortData = {};
Object.keys(SORT_DATA).forEach(key => {
localizedSortData[key] = i18n.t(SORT_DATA[key]);
});
useEffect(() => { useEffect(() => {
setFilters({ setFilters({
onSale: false, onSale: false,
@ -92,7 +97,7 @@ const FilterModal = props => {
alignItems: 'center' alignItems: 'center'
}}> }}>
<TextDefault H5 bold textColor={colors.buttonBackgroundBlue}> <TextDefault H5 bold textColor={colors.buttonBackgroundBlue}>
{i18n.t('reset')} {i18n.t('reset')}
</TextDefault> </TextDefault>
<MaterialIcons <MaterialIcons
name="refresh" name="refresh"
@ -206,7 +211,8 @@ const FilterModal = props => {
? colors.fonfontMainColort ? colors.fonfontMainColort
: colors.placeHolderColor : colors.placeHolderColor
}> }>
{get(SORT_DATA, item)} {/* {get(SORT_DATA, item)} */}
{localizedSortData[item]}
</TextDefault> </TextDefault>
<RadioBtn <RadioBtn
size={10} size={10}

View File

@ -227,7 +227,7 @@ function Cart() {
await addQuantityContext(key) await addQuantityContext(key)
} else { } else {
FlashMessage({ FlashMessage({
message: 'No more items in stock' message: i18n.t('noMoreItems')
}) })
} }
} }
@ -265,7 +265,7 @@ function Cart() {
} }
if (!paymentMethod) { if (!paymentMethod) {
FlashMessage({ FlashMessage({
message: 'Set payment method before checkout' message: i18n.t('SetPaymentMethod')
}) })
return false return false
} }

View File

@ -65,7 +65,7 @@ const CreateAccount = () => {
async function onCompleted(data) { async function onCompleted(data) {
if (!data.login.is_active) { if (!data.login.is_active) {
FlashMessage({ FlashMessage({
message: "Can't Login,This Account is Deleted!", message: i18n.t('cantLogin'),
}); });
setLoading(false); setLoading(false);
} else { } else {

View File

@ -122,7 +122,7 @@ function EditAddress() {
function onError(error) { function onError(error) {
FlashMessage({ FlashMessage({
message: `An error occured. Please try again ${error}` message: `${i18n.t('AnErrorOccured')} ${error}`
}) })
} }
@ -220,7 +220,7 @@ function EditAddress() {
} }
bold bold
center> center>
{label.title} {i18n.t(label.title)}
</TextDefault> </TextDefault>
</TouchableOpacity> </TouchableOpacity>
) )

View File

@ -57,7 +57,7 @@ function ForgotPassword() {
} }
function onCompleted(data) { function onCompleted(data) {
FlashMessage({ FlashMessage({
message: 'Reset password link sent on your email' message: i18n.t('ResetPasswordLinkSent')
}) })
} }
function onError(error) { function onError(error) {

View File

@ -7,6 +7,7 @@ import { FlashMessage, TextDefault, WrapperView } from '../../components'
import { NAVIGATION_SCREEN } from '../../utils/constant' import { NAVIGATION_SCREEN } from '../../utils/constant'
import { scale } from '../../utils/scaling' import { scale } from '../../utils/scaling'
import useStyle from './styles' import useStyle from './styles'
import i18n from '../../../i18n'
const LATITUDE = 33.7001019 const LATITUDE = 33.7001019
const LONGITUDE = 72.9735978 const LONGITUDE = 72.9735978
@ -220,7 +221,7 @@ export default function FullMap() {
setRegion(loc) setRegion(loc)
} else { } else {
FlashMessage({ FlashMessage({
message: 'Location permission not granted' message: i18n.t('LocationPermissionNotGranted')
}) })
} }
} }

View File

@ -43,7 +43,7 @@ function Menu() {
} else if (error) { } else if (error) {
return ( return (
<TextError <TextError
text={error ? error.message : "No Foods"} text={error ? error.message : i18n.t('NoFoods')}
backColor="transparent" backColor="transparent"
/> />
); );

View File

@ -31,6 +31,7 @@ import { alignment } from "../../utils/alignment";
import { ICONS_NAME, NAVIGATION_SCREEN, SORT_DATA } from "../../utils/constant"; import { ICONS_NAME, NAVIGATION_SCREEN, SORT_DATA } from "../../utils/constant";
import { moderateScale, scale } from "../../utils/scaling"; import { moderateScale, scale } from "../../utils/scaling";
import useStyle from "./styles"; import useStyle from "./styles";
import i18n from "../../../i18n";
// constants // constants
const FOODS = gql` const FOODS = gql`
@ -73,7 +74,7 @@ function MenuItems() {
async function onAddToCart(food) { async function onAddToCart(food) {
if (food.stock < 1) { if (food.stock < 1) {
FlashMessage({ FlashMessage({
message: "Item out of stock", message: i18n.t('ItemOutOfStock'),
}); });
return; return;
} }
@ -112,7 +113,7 @@ function MenuItems() {
{item.stock < 1 && ( {item.stock < 1 && (
<View style={styles.emtpyStockLabel}> <View style={styles.emtpyStockLabel}>
<TextDefault textColor={styles.whiteFont.color} center> <TextDefault textColor={styles.whiteFont.color} center>
No Stock {i18n.t('NoStock')}
</TextDefault> </TextDefault>
</View> </View>
)} )}
@ -189,7 +190,7 @@ function MenuItems() {
} else if (error) { } else if (error) {
return ( return (
<TextError <TextError
text={error ? error.message : "No Foods"} text={error ? error.message : i18n.t('NoFoods')}
backColor="transparent" backColor="transparent"
/> />
); );
@ -198,7 +199,7 @@ function MenuItems() {
<View style={styles.emptyContainer}> <View style={styles.emptyContainer}>
<EmptyFood width={scale(250)} height={scale(250)} /> <EmptyFood width={scale(250)} height={scale(250)} />
<TextDefault H4 bold style={alignment.MTlarge}> <TextDefault H4 bold style={alignment.MTlarge}>
No food item found {i18n.t('NoFooditemFound')}
</TextDefault> </TextDefault>
</View> </View>
); );

View File

@ -151,7 +151,7 @@ function NewAddress() {
function onError(error) { function onError(error) {
FlashMessage({ FlashMessage({
message: `An error occured. Please try again. ${error}` message: `${i18n.t('AnErrorOccured')} ${error}`
}) })
} }
@ -242,7 +242,7 @@ function NewAddress() {
} }
bold bold
center> center>
{label.title} {i18n.t(label.title)}
</TextDefault> </TextDefault>
</TouchableOpacity> </TouchableOpacity>
) )

View File

@ -49,6 +49,7 @@ const languageTypes = [
{ value: "ភាសាខ្មែរ", code: "km", index: 2 }, { value: "ភាសាខ្មែរ", code: "km", index: 2 },
{ value: "中文", code: "zh", index: 3 }, { value: "中文", code: "zh", index: 3 },
{ value: "Deutsche", code: "de", index: 4 }, { value: "Deutsche", code: "de", index: 4 },
{ value: "Arabic", code: "ar", index: 5 },
]; ];
const PUSH_TOKEN = gql` const PUSH_TOKEN = gql`

View File

@ -6,6 +6,7 @@ import RadioButton from "../../../components/FdRadioBtn/RadioBtn";
import TextDefault from "../../../components/Text/TextDefault/TextDefault"; import TextDefault from "../../../components/Text/TextDefault/TextDefault";
import { alignment } from "../../../utils/alignment"; import { alignment } from "../../../utils/alignment";
import useStyle from "./styles"; import useStyle from "./styles";
import i18n from '../../../../i18n'
const languageTypes = [ const languageTypes = [
{ value: "English", code: "en", index: 0 }, { value: "English", code: "en", index: 0 },
@ -13,6 +14,7 @@ const languageTypes = [
{ value: "ភាសាខ្មែរ", code: "km", index: 2 }, { value: "ភាសាខ្មែរ", code: "km", index: 2 },
{ value: "中文", code: "zh", index: 3 }, { value: "中文", code: "zh", index: 3 },
{ value: "Deutsche", code: "de", index: 4 }, { value: "Deutsche", code: "de", index: 4 },
{ value: "Arabic", code: "ar", index: 5 },
]; ];
function SettingModal(props) { function SettingModal(props) {
@ -23,7 +25,7 @@ function SettingModal(props) {
return ( return (
<View style={styles.flex}> <View style={styles.flex}>
<TextDefault bolder H5 style={alignment.MTlarge}> <TextDefault bolder H5 style={alignment.MTlarge}>
Select Language {i18n.t('SelectLanguage')}
</TextDefault> </TextDefault>
{languageTypes.map((item, index) => ( {languageTypes.map((item, index) => (
@ -55,7 +57,7 @@ function SettingModal(props) {
onPress={() => props.onSelectedLanguage(activeRadio)} onPress={() => props.onSelectedLanguage(activeRadio)}
> >
<TextDefault textColor={colors.lightBackground} bolder uppercase> <TextDefault textColor={colors.lightBackground} bolder uppercase>
Done {i18n.t('Done')}
</TextDefault> </TextDefault>
</TouchableOpacity> </TouchableOpacity>
<TouchableOpacity <TouchableOpacity
@ -63,7 +65,7 @@ function SettingModal(props) {
style={[styles.width100, alignment.PBlarge, alignment.PTlarge]} style={[styles.width100, alignment.PBlarge, alignment.PTlarge]}
onPress={() => props.onClose()} onPress={() => props.onClose()}
> >
<TextDefault center>Cancel</TextDefault> <TextDefault center>{i18n.t('Cancel')}</TextDefault>
</TouchableOpacity> </TouchableOpacity>
{/* </View> */} {/* </View> */}
</View> </View>

View File

@ -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: 'لم يتم العثور على عنصر طعام',
}

View File

@ -145,78 +145,99 @@ export const de = {
receiveOffers: 'Spezielle Angebote erhalten', receiveOffers: 'Spezielle Angebote erhalten',
notificationUpdate: 'Benachrichtigungsstatus aktualisiert', notificationUpdate: 'Benachrichtigungsstatus aktualisiert',
notificationsNotWorking: "Benachrichtigungen funktionieren nicht im Simulator", notificationsNotWorking: "Benachrichtigungen funktionieren nicht im Simulator",
loginOrCreateAcc: "Anmelden/Konto erstellen", loginOrCreateAcc: "Anmelden/Konto erstellen",
welcome: "Willkommen", welcome: "Willkommen",
titleSettings: 'Einstellungen', titleSettings: 'Einstellungen',
home: 'Startseite', home: 'Startseite',
noItems: 'Kein Artikel gefunden', noItems: 'Kein Artikel gefunden',
featured: 'Vorgestellt', featured: 'Vorgestellt',
filters: 'Filter', filters: 'Filter',
reset: 'Zurücksetzen', reset: 'Zurücksetzen',
showSaleItems: 'Nur Verkaufsartikel anzeigen', showSaleItems: 'Nur Verkaufsartikel anzeigen',
showStockItems: 'Nur Lagerartikel anzeigen', showStockItems: 'Nur Lagerartikel anzeigen',
priceRange: 'Preisspanne', priceRange: 'Preisspanne',
sorting: 'Sortierung', sorting: 'Sortierung',
applyFilter: 'Filter anwenden', applyFilter: 'Filter anwenden',
close: 'Schließen', close: 'Schließen',
phoneNumberRequired: "Telefonnummer ist erforderlich", phoneNumberRequired: "Telefonnummer ist erforderlich",
phoneNumberMissing: "Telefonnummer fehlt", phoneNumberMissing: "Telefonnummer fehlt",
userInfoUpdated: "Benutzerinformationen aktualisiert", userInfoUpdated: "Benutzerinformationen aktualisiert",
nameReq: "Name ist erforderlich", nameReq: "Name ist erforderlich",
minWords: "Mindestens 11 und maximal 15 Zeichen erlaubt", minWords: "Mindestens 11 und maximal 15 Zeichen erlaubt",
rightsReserved: "Alle Rechte vorbehalten von Enatega", rightsReserved: "Alle Rechte vorbehalten von Enatega",
changePass: "Passwort ändern", changePass: "Passwort ändern",
currentPass: "Aktuelles Passwort", currentPass: "Aktuelles Passwort",
passReq: "Passwort ist erforderlich", passReq: "Passwort ist erforderlich",
newPass: "Neues Passwort", newPass: "Neues Passwort",
apply: "Anwenden", apply: "Anwenden",
invalidPass: "Ungültiges Passwort", invalidPass: "Ungültiges Passwort",
passChange: "Passwort aktualisiert", passChange: "Passwort aktualisiert",
noOrdersFound: "Keine Bestellungen gefunden", noOrdersFound: "Keine Bestellungen gefunden",
startShopping: "Mit dem Einkaufen beginnen", startShopping: "Mit dem Einkaufen beginnen",
reOrder: "Erneut bestellen", reOrder: "Erneut bestellen",
smthWrong: "Etwas ist falsch", smthWrong: "Etwas ist falsch",
noOrdersAssigned: "Noch keine Bestellungen zugewiesen!", noOrdersAssigned: "Noch keine Bestellungen zugewiesen!",
oldOrder: "Alte Bestellung", oldOrder: "Alte Bestellung",
activeOrder: "Aktive Bestellung", activeOrder: "Aktive Bestellung",
idVar: 'ID: ', idVar: 'ID: ',
addressUpdated: 'Adresse aktualisiert', addressUpdated: 'Adresse aktualisiert',
labelAs: 'Als bezeichnen', labelAs: 'Als bezeichnen',
addressReq: 'Lieferadresse erforderlich', addressReq: 'Lieferadresse erforderlich',
deliveryDetailsReq: 'Lieferdetails erforderlich', deliveryDetailsReq: 'Lieferdetails erforderlich',
locaPermission: 'Standortberechtigung nicht erteilt', locaPermission: 'Standortberechtigung nicht erteilt',
addressAdded: 'Adresse hinzugefügt', addressAdded: 'Adresse hinzugefügt',
productPage: 'Produktseite', productPage: 'Produktseite',
docs: 'Dokumente', docs: 'Dokumente',
blog: 'Blog', blog: 'Blog',
aboutUs: 'Über uns', aboutUs: 'Über uns',
myVouchers: 'Meine Gutscheine', myVouchers: 'Meine Gutscheine',
typeVoucherCode: "Gutscheincode eingeben", typeVoucherCode: "Gutscheincode eingeben",
enterVoucherCode: "Geben Sie Ihren Gutscheincode ein", enterVoucherCode: "Geben Sie Ihren Gutscheincode ein",
status: 'Status', status: 'Status',
anySuggestion: 'Irgendwelche Vorschläge?', anySuggestion: 'Irgendwelche Vorschläge?',
reviewRegarding: 'Bewertung zu Ihrer Bestellung?', reviewRegarding: 'Bewertung zu Ihrer Bestellung?',
writeReview: 'Eine Bewertung schreiben', writeReview: 'Eine Bewertung schreiben',
chatWithRider: 'Mit dem Fahrer chatten', chatWithRider: 'Mit dem Fahrer chatten',
signupGoogle: 'Mit Google anmelden', signupGoogle: 'Mit Google anmelden',
signupEmail: 'Anmeldung mit E-Mail', signupEmail: 'Anmeldung mit E-Mail',
signup: 'Anmelden', signup: 'Anmelden',
signupApple: 'Mit Apple anmelden', signupApple: 'Mit Apple anmelden',
alreadyMember: 'Bereits Mitglied? Einloggen', alreadyMember: 'Bereits Mitglied? Einloggen',
enterUsername: 'Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein', enterUsername: 'Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein',
createNewAcc: 'Neues Konto erstellen', createNewAcc: 'Neues Konto erstellen',
emailphoneReq: "E-Mail/Telefonnummer ist erforderlich", emailphoneReq: "E-Mail/Telefonnummer ist erforderlich",
invalidMail: "Ungültige E-Mail/Telefonnummer", invalidMail: "Ungültige E-Mail/Telefonnummer",
passReq: "Passwort ist erforderlich", passReq: "Passwort ist erforderlich",
cantLogin: "Anmeldung nicht möglich, dieses Konto wurde gelöscht!", cantLogin: "Anmeldung nicht möglich, dieses Konto wurde gelöscht!",
orderPending: "Ihre Bestellung wird noch bearbeitet.", orderPending: "Ihre Bestellung wird noch bearbeitet.",
prepFood: "Das Restaurant bereitet das Essen vor.", prepFood: "Das Restaurant bereitet das Essen vor.",
riderOnWay: "Der Fahrer ist unterwegs.", riderOnWay: "Der Fahrer ist unterwegs.",
orderDelivered: "Die Bestellung wurde geliefert.", orderDelivered: "Die Bestellung wurde geliefert.",
completeOrder: "Die Bestellung ist abgeschlossen.", completeOrder: "Die Bestellung ist abgeschlossen.",
PENDING: "AUSSTEHEND", PENDING: "AUSSTEHEND",
ACCEPTED: 'AKZEPTIERT', ACCEPTED: 'AKZEPTIERT',
PICKED: "ABGEHOLT", PICKED: "ABGEHOLT",
DELIVERED: "GELIEFERT", DELIVERED: "GELIEFERT",
COMPLETED: "ABGESCHLOSSEN" 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',
} }

View File

@ -218,5 +218,25 @@ export const en = {
ACCEPTED: 'ACCEPTED', ACCEPTED: 'ACCEPTED',
PICKED: "PICKED", PICKED: "PICKED",
DELIVERED: "DELIVERED", 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'
} }

View File

@ -139,85 +139,106 @@ export const fr = {
validateItems: 'Ajouter des articles au panier avant le paiement', validateItems: 'Ajouter des articles au panier avant le paiement',
validateDelivery: "Définir l'adresse de livraison avant le paiement", validateDelivery: "Définir l'adresse de livraison avant le paiement",
language: 'Langue', language: 'Langue',
getUpdatesText: 'Obtenez des mises à jour sur le statut de votre commande !', getUpdatesText: 'Obtenez des mises à jour sur le statut de votre commande !',
delAcc: 'Supprimer le compte', delAcc: 'Supprimer le compte',
delAccText: 'Êtes-vous sûr de vouloir supprimer le compte ?', delAccText: 'Êtes-vous sûr de vouloir supprimer le compte ?',
cancel: 'Annuler', cancel: 'Annuler',
receiveOffers: 'Recevoir des offres spéciales', receiveOffers: 'Recevoir des offres spéciales',
notificationUpdate: 'Statut de notification mis à jour', notificationUpdate: 'Statut de notification mis à jour',
notificationsNotWorking: "Les notifications ne fonctionnent pas sur le simulateur", notificationsNotWorking: "Les notifications ne fonctionnent pas sur le simulateur",
loginOrCreateAcc: "Connexion/Créer un compte", loginOrCreateAcc: "Connexion/Créer un compte",
welcome: "Bienvenue", welcome: "Bienvenue",
titleSettings: 'Paramètres', titleSettings: 'Paramètres',
home: 'Accueil', home: 'Accueil',
noItems: 'Aucun élément trouvé', noItems: 'Aucun élément trouvé',
featured: 'En vedette', featured: 'En vedette',
filters: 'Filtres', filters: 'Filtres',
reset: 'Réinitialiser', reset: 'Réinitialiser',
showSaleItems: 'Afficher uniquement les articles en vente', showSaleItems: 'Afficher uniquement les articles en vente',
showStockItems: 'Afficher uniquement les articles en stock', showStockItems: 'Afficher uniquement les articles en stock',
priceRange: 'Plage de prix', priceRange: 'Plage de prix',
sorting: 'Tri', sorting: 'Tri',
applyFilter: 'Appliquer le filtre', applyFilter: 'Appliquer le filtre',
close: 'Fermer', close: 'Fermer',
phoneNumberRequired: "Numéro de téléphone requis", phoneNumberRequired: "Numéro de téléphone requis",
phoneNumberMissing: "Numéro de téléphone manquant", phoneNumberMissing: "Numéro de téléphone manquant",
userInfoUpdated: "Informations de l'utilisateur mises à jour", userInfoUpdated: "Informations de l'utilisateur mises à jour",
nameReq: "Nom requis", nameReq: "Nom requis",
minWords: "Minimum 11 et maximum 15 caractères autorisés", minWords: "Minimum 11 et maximum 15 caractères autorisés",
rightsReserved: "Tous les droits sont réservés par Enatega", rightsReserved: "Tous les droits sont réservés par Enatega",
changePass: "Changer le mot de passe", changePass: "Changer le mot de passe",
currentPass: "Mot de passe actuel", currentPass: "Mot de passe actuel",
passReq: "Mot de passe requis", passReq: "Mot de passe requis",
newPass: "Nouveau mot de passe", newPass: "Nouveau mot de passe",
apply: "Appliquer", apply: "Appliquer",
invalidPass: "Mot de passe invalide", invalidPass: "Mot de passe invalide",
passChange: "Mot de passe mis à jour", passChange: "Mot de passe mis à jour",
noOrdersFound: "Aucune commande trouvée", noOrdersFound: "Aucune commande trouvée",
startShopping: "Commencer les achats", startShopping: "Commencer les achats",
reOrder: "Recommander", reOrder: "Recommander",
smthWrong: "Quelque chose ne va pas", smthWrong: "Quelque chose ne va pas",
noOrdersAssigned: "Aucune commande attribuée pour le moment !", noOrdersAssigned: "Aucune commande attribuée pour le moment !",
oldOrder: "Ancienne commande", oldOrder: "Ancienne commande",
activeOrder: "Commande active", activeOrder: "Commande active",
idVar: 'ID : ', idVar: 'ID : ',
addressUpdated: 'Adresse mise à jour', addressUpdated: 'Adresse mise à jour',
labelAs: 'Étiqueter comme', labelAs: 'Étiqueter comme',
addressReq: 'Adresse de livraison requise', addressReq: 'Adresse de livraison requise',
deliveryDetailsReq: 'Détails de livraison requis', deliveryDetailsReq: 'Détails de livraison requis',
locaPermission: 'Autorisation de localisation non accordée', locaPermission: 'Autorisation de localisation non accordée',
addressAdded: 'Adresse ajoutée', addressAdded: 'Adresse ajoutée',
productPage: 'Page produit', productPage: 'Page produit',
docs: 'Docs', docs: 'Docs',
blog: 'Blog', blog: 'Blog',
aboutUs: 'À propos de nous', aboutUs: 'À propos de nous',
myVouchers: 'Mes bons', myVouchers: 'Mes bons',
typeVoucherCode: "Saisir le code du bon", typeVoucherCode: "Saisir le code du bon",
enterVoucherCode: "Entrez votre code de bon", enterVoucherCode: "Entrez votre code de bon",
status: 'Statut', status: 'Statut',
anySuggestion: 'Des suggestions ?', anySuggestion: 'Des suggestions ?',
reviewRegarding: 'Avis concernant votre commande ?', reviewRegarding: 'Avis concernant votre commande ?',
writeReview: 'Écrire un avis', writeReview: 'Écrire un avis',
chatWithRider: 'Discuter avec le livreur', chatWithRider: 'Discuter avec le livreur',
signupGoogle: 'Inscription avec Google', signupGoogle: 'Inscription avec Google',
signupEmail: 'Inscription par e-mail', signupEmail: 'Inscription par e-mail',
signup: 'Sinscrire', signup: 'Sinscrire',
signupApple: 'Inscription avec Apple', signupApple: 'Inscription avec Apple',
alreadyMember: 'Déjà membre ? Se connecter', alreadyMember: 'Déjà membre ? Se connecter',
enterUsername: 'Entrez votre adresse e-mail et votre mot de passe', enterUsername: 'Entrez votre adresse e-mail et votre mot de passe',
createNewAcc: 'Créer un nouveau compte', createNewAcc: 'Créer un nouveau compte',
emailphoneReq: "E-mail/Téléphone requis", emailphoneReq: "E-mail/Téléphone requis",
invalidMail: "E-mail/Téléphone invalide", invalidMail: "E-mail/Téléphone invalide",
passReq: "Mot de passe requis", passReq: "Mot de passe requis",
cantLogin: "Impossible de se connecter, ce compte a été supprimé !", cantLogin: "Impossible de se connecter, ce compte a été supprimé !",
orderPending: "Votre commande est en attente.", orderPending: "Votre commande est en attente.",
prepFood: "Le restaurant prépare la nourriture.", prepFood: "Le restaurant prépare la nourriture.",
riderOnWay: "Le livreur est en route.", riderOnWay: "Le livreur est en route.",
orderDelivered: "La commande a été livrée.", orderDelivered: "La commande a été livrée.",
completeOrder: "La commande est terminée.", completeOrder: "La commande est terminée.",
PENDING: "EN ATTENTE", PENDING: "EN ATTENTE",
ACCEPTED: 'ACCEPTÉE', ACCEPTED: 'ACCEPTÉE',
PICKED: "ENLEVÉE", PICKED: "ENLEVÉE",
DELIVERED: "LIVRÉE", DELIVERED: "LIVRÉE",
COMPLETED: "TERMINÉ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é',
} }

View File

@ -134,85 +134,106 @@ export const km = {
validateItems: 'បន្ថែមរបស់របរទៅរទេះមុនពេលឆែក', validateItems: 'បន្ថែមរបស់របរទៅរទេះមុនពេលឆែក',
validateDelivery: 'កំណត់អាសយដ្ឋានដឹកជញ្ជូនមុនពេលពិនិត្យចេញ', validateDelivery: 'កំណត់អាសយដ្ឋានដឹកជញ្ជូនមុនពេលពិនិត្យចេញ',
language: 'ភាសា', language: 'ភាសា',
getUpdatesText: 'ទទួល​បាន​ការ​ធ្វើ​បច្ចុប្បន្ន​ភាព​លើ​ស្ថាន​ភាព​ការ​បញ្ជាទិញ​របស់​អ្នក!', getUpdatesText: 'ទទួល​បាន​ការ​ធ្វើ​បច្ចុប្បន្ន​ភាព​លើ​ស្ថាន​ភាព​ការ​បញ្ជាទិញ​របស់​អ្នក!',
delAcc: 'លុប​គណនី', delAcc: 'លុប​គណនី',
delAccText: 'តើ​អ្នក​ប្រាកដ​ថា​តើ​ចង់​លុប​គណនី​ឬ​ទេ?', delAccText: 'តើ​អ្នក​ប្រាកដ​ថា​តើ​ចង់​លុប​គណនី​ឬ​ទេ?',
cancel: 'បោះបង់', cancel: 'បោះបង់',
receiveOffers: 'ទទួល​បាន​ការ​ផ្តល់​ជូន​ពិសេស', receiveOffers: 'ទទួល​បាន​ការ​ផ្តល់​ជូន​ពិសេស',
notificationUpdate: 'ការ​ប្រកាស​ការ​ជូន​ដំណឹង​ត្រូវបាន​ធ្វើ​បច្ចុប្បន្ន', notificationUpdate: 'ការ​ប្រកាស​ការ​ជូន​ដំណឹង​ត្រូវបាន​ធ្វើ​បច្ចុប្បន្ន',
notificationsNotWorking: "ការ​ជូន​ដំណឹង​មិន​ដំណើរ​ការ​លើ​ម៉ាស៊ីន​សម្រាប់​ប្រើប្រាស់តំណល", notificationsNotWorking: "ការ​ជូន​ដំណឹង​មិន​ដំណើរ​ការ​លើ​ម៉ាស៊ីន​សម្រាប់​ប្រើប្រាស់តំណល",
loginOrCreateAcc: "ចូល​ប្រើ/បង្កើត​គណនី", loginOrCreateAcc: "ចូល​ប្រើ/បង្កើត​គណនី",
welcome: "ស្វាគមន៍", welcome: "ស្វាគមន៍",
titleSettings: 'ការ​កំណត់', titleSettings: 'ការ​កំណត់',
home: 'ទំព័រ​ដើម', home: 'ទំព័រ​ដើម',
noItems: 'រក​មិន​ឃើញ​ទេ', noItems: 'រក​មិន​ឃើញ​ទេ',
featured: 'ផ្សេងៗ', featured: 'ផ្សេងៗ',
filters: 'តម្រង', filters: 'តម្រង',
reset: 'កំណត់​ឡើងវិញ', reset: 'កំណត់​ឡើងវិញ',
showSaleItems: 'បង្ហាញ​ទំនិញ​លក់​តែប៉ុណ្ណោះ', showSaleItems: 'បង្ហាញ​ទំនិញ​លក់​តែប៉ុណ្ណោះ',
showStockItems: 'បង្ហាញ​ទំនិញ​ស្តុក​តែប៉ុណ្ណោះ', showStockItems: 'បង្ហាញ​ទំនិញ​ស្តុក​តែប៉ុណ្ណោះ',
priceRange: 'ជម្រើស​តម្លៃ', priceRange: 'ជម្រើស​តម្លៃ',
sorting: 'តម្រៀបតាម', sorting: 'តម្រៀបតាម',
applyFilter: 'អនុវត្ត​តម្រង', applyFilter: 'អនុវត្ត​តម្រង',
close: 'បិទ', close: 'បិទ',
phoneNumberRequired: "ត្រូវការលេខទូរស័ព្ទ", phoneNumberRequired: "ត្រូវការលេខទូរស័ព្ទ",
phoneNumberMissing: "ខុសលេខទូរស័ព្ទ", phoneNumberMissing: "ខុសលេខទូរស័ព្ទ",
userInfoUpdated: "ព័ត៌មានអ្នកប្រើប្រាស់ត្រូវបានធ្វើបច្ចុប្បន្នភាព", userInfoUpdated: "ព័ត៌មានអ្នកប្រើប្រាស់ត្រូវបានធ្វើបច្ចុប្បន្នភាព",
nameReq: "ត្រូវការឈ្មោះ", nameReq: "ត្រូវការឈ្មោះ",
minWords: "អត្ថបទអប្បាយបន្ទាប់ពី 11 និងអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណ", minWords: "អត្ថបទអប្បាយបន្ទាប់ពី 11 និងអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណអតិបរិមាណ",
rightsReserved: "រក្សាសិទ្ធិទាំងអស់គ្នាដោយ Enatega", rightsReserved: "រក្សាសិទ្ធិទាំងអស់គ្នាដោយ Enatega",
changePass: "ប្ដូរលេខសម្ងាត់", changePass: "ប្ដូរលេខសម្ងាត់",
currentPass: "លេខសម្ងាត់បច្ចុប្បន្ន", currentPass: "លេខសម្ងាត់បច្ចុប្បន្ន",
passReq: "ត្រូវការលេខសម្ងាត់", passReq: "ត្រូវការលេខសម្ងាត់",
newPass: "លេខសម្ងាត់ថ្មី", newPass: "លេខសម្ងាត់ថ្មី",
apply: "អនុវត្ត", apply: "អនុវត្ត",
invalidPass: "លេខសម្ងាត់មិនត្រឹមត្រូវ", invalidPass: "លេខសម្ងាត់មិនត្រឹមត្រូវ",
passChange: "លេខសម្ងាត់ត្រូវបានធ្វើបច្ចុប្បន្នភាព", passChange: "លេខសម្ងាត់ត្រូវបានធ្វើបច្ចុប្បន្នភាព",
noOrdersFound: "រកមិនឃើញការបញ្ជាទិញ", noOrdersFound: "រកមិនឃើញការបញ្ជាទិញ",
startShopping: "ចាប់ផ្តើមទិញ", startShopping: "ចាប់ផ្តើមទិញ",
reOrder: "កម្មង់ម្តងទៀត", reOrder: "កម្មង់ម្តងទៀត",
smthWrong: "មានអ្វីមួយខុស", smthWrong: "មានអ្វីមួយខុស",
noOrdersAssigned: "មិនទាន់បានចាក់ការបញ្ជាទិញទេ!", noOrdersAssigned: "មិនទាន់បានចាក់ការបញ្ជាទិញទេ!",
oldOrder: "ការបញ្ជាទិញចាស់", oldOrder: "ការបញ្ជាទិញចាស់",
activeOrder: "ការបញ្ជាទិញដែលមានសកម្ម", activeOrder: "ការបញ្ជាទិញដែលមានសកម្ម",
idVar: 'លេខសម្គាល់: ', idVar: 'លេខសម្គាល់: ',
addressUpdated: 'អាសយដ្ឋានត្រូវបានធ្វើបច្ចុប្បន្នភាព', addressUpdated: 'អាសយដ្ឋានត្រូវបានធ្វើបច្ចុប្បន្នភាព',
labelAs: 'ស្លាកជាដើម', labelAs: 'ស្លាកជាដើម',
addressReq: 'អាសយដ្ឋានការដឹកជញ្ជូនត្រូវការ', addressReq: 'អាសយដ្ឋានការដឹកជញ្ជូនត្រូវការ',
deliveryDetailsReq: 'សេចក្ដីលម្អិតនៃការដឹកជញ្ជូនត្រូវការ', deliveryDetailsReq: 'សេចក្ដីលម្អិតនៃការដឹកជញ្ជូនត្រូវការ',
locaPermission: 'ការអនុញ្ញាតឱ្យតាមដានទីតាំងមិនបានទទួលយក', locaPermission: 'ការអនុញ្ញាតឱ្យតាមដានទីតាំងមិនបានទទួលយក',
addressAdded: 'បាន​បន្ថែម​អាសយដ្ឋាន', addressAdded: 'បាន​បន្ថែម​អាសយដ្ឋាន',
productPage: 'ទំព័រផលិតផល', productPage: 'ទំព័រផលិតផល',
docs: 'ឯកសារ', docs: 'ឯកសារ',
blog: 'ប្លក់', blog: 'ប្លក់',
aboutUs: 'អំពី​យើង', aboutUs: 'អំពី​យើង',
myVouchers: 'លេខកូដ​វេបសាយ​របស់​ខ្ញុំ', myVouchers: 'លេខកូដ​វេបសាយ​របស់​ខ្ញុំ',
typeVoucherCode: "បញ្ចូល​លេខកូដ​វេបសាយ", typeVoucherCode: "បញ្ចូល​លេខកូដ​វេបសាយ",
enterVoucherCode: "បញ្ចូល​លេខកូដ​វេបសាយ​របស់​អ្នក", enterVoucherCode: "បញ្ចូល​លេខកូដ​វេបសាយ​របស់​អ្នក",
status: 'ស្ថានភាព', status: 'ស្ថានភាព',
anySuggestion: 'មានអំណាចណាស់មែនទេ?', anySuggestion: 'មានអំណាចណាស់មែនទេ?',
reviewRegarding: 'ពិនិត្យឡើងវិញអំពីការបញ្ជាទិញរបស់អ្នក?', reviewRegarding: 'ពិនិត្យឡើងវិញអំពីការបញ្ជាទិញរបស់អ្នក?',
writeReview: 'សរសេរពិន្ទុ', writeReview: 'សរសេរពិន្ទុ',
chatWithRider: 'ជជែកជាមួយអ្នកបើកដំណើរ', chatWithRider: 'ជជែកជាមួយអ្នកបើកដំណើរ',
signupGoogle: 'ចុះឈ្មោះជាមួយ Google', signupGoogle: 'ចុះឈ្មោះជាមួយ Google',
signupEmail: 'ចុះឈ្មោះតាមអ៊ីម៉ែល', signupEmail: 'ចុះឈ្មោះតាមអ៊ីម៉ែល',
signup: 'ចុះឈ្មោះ', signup: 'ចុះឈ្មោះ',
signupApple: 'ចុះឈ្មោះជាមួយ Apple', signupApple: 'ចុះឈ្មោះជាមួយ Apple',
alreadyMember: 'រួចហើយរួចចូលក្នុង', alreadyMember: 'រួចហើយរួចចូលក្នុង',
enterUsername: 'បញ្ចូលអ៊ីម៉ែលរបស់អ្នក និងពាក្យសម្ងាត់', enterUsername: 'បញ្ចូលអ៊ីម៉ែលរបស់អ្នក និងពាក្យសម្ងាត់',
createNewAcc: 'បង្កើតគណនីថ្មី', createNewAcc: 'បង្កើតគណនីថ្មី',
emailphoneReq: "ត្រូវការអ៊ីម៉ែល/លេខទូរស័ព្ទ", emailphoneReq: "ត្រូវការអ៊ីម៉ែល/លេខទូរស័ព្ទ",
invalidMail: "អ៊ីម៉ែល/លេខទូរស័ព្ទ​មិនត្រឹមត្រូវ", invalidMail: "អ៊ីម៉ែល/លេខទូរស័ព្ទ​មិនត្រឹមត្រូវ",
passReq: "ត្រូវការពាក្យសម្ងាត់", passReq: "ត្រូវការពាក្យសម្ងាត់",
cantLogin: "មិនអាចចូលបានទេ, គណនីនេះត្រូវបានលុប!", cantLogin: "មិនអាចចូលបានទេ, គណនីនេះត្រូវបានលុប!",
orderPending: "ការបញ្ជាទិញរបស់អ្នកមិនទាន់ទទួលយកទេ។", orderPending: "ការបញ្ជាទិញរបស់អ្នកមិនទាន់ទទួលយកទេ។",
prepFood: "ភោជនីដែលកំពុងរៀបចំអាហារ។", prepFood: "ភោជនីដែលកំពុងរៀបចំអាហារ។",
riderOnWay: "អ្នកបើកដំណើរកំពង់កោះមាន់នៅលើផ្លូវ។", riderOnWay: "អ្នកបើកដំណើរកំពង់កោះមាន់នៅលើផ្លូវ។",
orderDelivered: "ការបញ្ជាទិញបានដឹកជញ្ជូន។", orderDelivered: "ការបញ្ជាទិញបានដឹកជញ្ជូន។",
completeOrder: "ការបញ្ជាទិញបានបញ្ចប់។", completeOrder: "ការបញ្ជាទិញបានបញ្ចប់។",
PENDING: "កំពុងរង់ចាំ", PENDING: "កំពុងរង់ចាំ",
ACCEPTED: 'បានទទួលយក', ACCEPTED: 'បានទទួលយក',
PICKED: "បានជូនយក", PICKED: "បានជូនយក",
DELIVERED: "បានដឹកជញ្ជូន", DELIVERED: "បានដឹកជញ្ជូន",
COMPLETED: "បានបញ្ចប់" 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: 'មិនបានរកឃើញវាលម្ហូប',
} }

View File

@ -130,85 +130,106 @@ export const zh = {
validateItems: '结帐前将商品添加到购物车', validateItems: '结帐前将商品添加到购物车',
validateDelivery: '结帐前设置送货地址', validateDelivery: '结帐前设置送货地址',
language: '语言', language: '语言',
getUpdatesText: '获取订单状态更新!', getUpdatesText: '获取订单状态更新!',
delAcc: '删除账户', delAcc: '删除账户',
delAccText: '您确定要删除账户吗?', delAccText: '您确定要删除账户吗?',
cancel: '取消', cancel: '取消',
receiveOffers: '接收特别优惠', receiveOffers: '接收特别优惠',
notificationUpdate: '通知状态已更新', notificationUpdate: '通知状态已更新',
notificationsNotWorking: "通知在模拟器上无法工作", notificationsNotWorking: "通知在模拟器上无法工作",
loginOrCreateAcc: "登录/创建帐户", loginOrCreateAcc: "登录/创建帐户",
welcome: "欢迎", welcome: "欢迎",
titleSettings: '设置', titleSettings: '设置',
home: '主页', home: '主页',
noItems: '未找到物品', noItems: '未找到物品',
featured: '特色', featured: '特色',
filters: '筛选', filters: '筛选',
reset: '重置', reset: '重置',
showSaleItems: '仅显示特价商品', showSaleItems: '仅显示特价商品',
showStockItems: '仅显示有库存商品', showStockItems: '仅显示有库存商品',
priceRange: '价格范围', priceRange: '价格范围',
sorting: '排序', sorting: '排序',
applyFilter: '应用筛选', applyFilter: '应用筛选',
close: '关闭', close: '关闭',
phoneNumberRequired: "需要电话号码", phoneNumberRequired: "需要电话号码",
phoneNumberMissing: "缺少电话号码", phoneNumberMissing: "缺少电话号码",
userInfoUpdated: "用户信息已更新", userInfoUpdated: "用户信息已更新",
nameReq: "需要姓名", nameReq: "需要姓名",
minWords: "最少11个字符最多15个字符", minWords: "最少11个字符最多15个字符",
rightsReserved: "版权所有Enatega保留所有权利", rightsReserved: "版权所有Enatega保留所有权利",
changePass: "更改密码", changePass: "更改密码",
currentPass: "当前密码", currentPass: "当前密码",
passReq: "需要密码", passReq: "需要密码",
newPass: "新密码", newPass: "新密码",
apply: "应用", apply: "应用",
invalidPass: "无效密码", invalidPass: "无效密码",
passChange: "密码已更新", passChange: "密码已更新",
noOrdersFound: "未找到订单", noOrdersFound: "未找到订单",
startShopping: "开始购物", startShopping: "开始购物",
reOrder: "重新下单", reOrder: "重新下单",
smthWrong: "出现问题", smthWrong: "出现问题",
noOrdersAssigned: "尚未分配订单!", noOrdersAssigned: "尚未分配订单!",
oldOrder: "旧订单", oldOrder: "旧订单",
activeOrder: "活跃订单", activeOrder: "活跃订单",
idVar: 'ID', idVar: 'ID',
addressUpdated: '地址已更新', addressUpdated: '地址已更新',
labelAs: '标记为', labelAs: '标记为',
addressReq: '需要交付地址', addressReq: '需要交付地址',
deliveryDetailsReq: '需要交付细节', deliveryDetailsReq: '需要交付细节',
locaPermission: '未授予位置权限', locaPermission: '未授予位置权限',
addressAdded: '已添加地址', addressAdded: '已添加地址',
productPage: '产品页面', productPage: '产品页面',
docs: '文档', docs: '文档',
blog: '博客', blog: '博客',
aboutUs: '关于我们', aboutUs: '关于我们',
myVouchers: '我的优惠券', myVouchers: '我的优惠券',
typeVoucherCode: "输入优惠券代码", typeVoucherCode: "输入优惠券代码",
enterVoucherCode: "输入您的优惠券代码", enterVoucherCode: "输入您的优惠券代码",
status: '状态', status: '状态',
anySuggestion: '有什么建议吗?', anySuggestion: '有什么建议吗?',
reviewRegarding: '关于您的订单的评论?', reviewRegarding: '关于您的订单的评论?',
writeReview: '撰写评论', writeReview: '撰写评论',
chatWithRider: '与骑手聊天', chatWithRider: '与骑手聊天',
signupGoogle: '使用 Google 注册', signupGoogle: '使用 Google 注册',
signupEmail: '使用电子邮件注册', signupEmail: '使用电子邮件注册',
signup: '注册', signup: '注册',
signupApple: '使用 Apple 注册', signupApple: '使用 Apple 注册',
alreadyMember: '已经是会员?登录', alreadyMember: '已经是会员?登录',
enterUsername: '输入您的电子邮件和密码', enterUsername: '输入您的电子邮件和密码',
createNewAcc: '创建新帐户', createNewAcc: '创建新帐户',
emailphoneReq: "需要电子邮件/电话号码", emailphoneReq: "需要电子邮件/电话号码",
invalidMail: "无效的电子邮件/电话号码", invalidMail: "无效的电子邮件/电话号码",
passReq: "需要密码", passReq: "需要密码",
cantLogin: "无法登录,此帐户已被删除!", cantLogin: "无法登录,此帐户已被删除!",
orderPending: "您的订单仍在等待中。", orderPending: "您的订单仍在等待中。",
prepFood: "餐厅正在准备食物。", prepFood: "餐厅正在准备食物。",
riderOnWay: "骑手正在途中。", riderOnWay: "骑手正在途中。",
orderDelivered: "订单已送达。", orderDelivered: "订单已送达。",
completeOrder: "订单已完成。", completeOrder: "订单已完成。",
PENDING: "待处理", PENDING: "待处理",
ACCEPTED: '已接受', ACCEPTED: '已接受',
PICKED: "已取货", PICKED: "已取货",
DELIVERED: "已送达", DELIVERED: "已送达",
COMPLETED: "已完成" 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: '找不到食品项目',
} }