Fixed issue of app crash when clicking an item with addons

This commit is contained in:
aliyanlatif 2024-01-30 12:12:37 +05:00
parent d3dfbfe11d
commit 8e04835487
11 changed files with 986 additions and 959 deletions

View File

@ -1,40 +1,41 @@
import { useTheme } from '@react-navigation/native' import { useTheme } from "@react-navigation/native";
import PropTypes from 'prop-types' import PropTypes from "prop-types";
import React, { useContext, useState } from 'react' import React, { useContext, useState } from "react";
import { TouchableOpacity, View } from 'react-native' import { TouchableOpacity, View } from "react-native";
import ConfigurationContext from '../../../context/Configuration' import ConfigurationContext from "../../../context/Configuration";
import { alignment } from '../../../utils/alignment' import { alignment } from "../../../utils/alignment";
import RadioButton from '../../FdRadioBtn/RadioBtn' import RadioButton from "../../FdRadioBtn/RadioBtn";
import TextDefault from '../../Text/TextDefault/TextDefault' import TextDefault from "../../Text/TextDefault/TextDefault";
import useStyle from './styles' import useStyle from "./styles";
function RadioComponent(props) { function RadioComponent(props) {
const styles = useStyle() const styles = useStyle();
const { colors } = useTheme() const { colors } = useTheme();
const [options] = useState(props.options) const [options] = useState(props.options);
const [selected, setSelected] = useState(props.selected || null) const [selected, setSelected] = useState(props.selected || null);
const configuration = useContext(ConfigurationContext) const configuration = useContext(ConfigurationContext);
function onPress(option) { function onPress(option) {
setSelected(option) setSelected(option);
props.onPress(option) props.onPress(option);
} }
return ( return (
<> <>
{options.map(option => { {options.map((option) => {
const isChecked = selected._id === option._id const isChecked = selected?._id === option._id;
return ( return (
<TouchableOpacity <TouchableOpacity
activeOpacity={0.7} activeOpacity={0.7}
onPress={onPress.bind(this, option)} onPress={onPress.bind(this, option)}
key={option._id} key={option._id}
style={styles.mainContainer}> style={styles.mainContainer}
>
<View style={styles.leftContainer}> <View style={styles.leftContainer}>
<RadioButton <RadioButton
size={13} size={13}
outerColor={colors.radioOuterColor} outerColor={colors.radioOuterColor}
innerColor={colors.radioColor} innerColor={colors.radioColor}
animation={'bounceIn'} animation={"bounceIn"}
isSelected={isChecked} isSelected={isChecked}
onPress={onPress.bind(this, option)} onPress={onPress.bind(this, option)}
/> />
@ -43,7 +44,8 @@ function RadioComponent(props) {
isChecked ? colors.fontMainColor : colors.fontSecondColor isChecked ? colors.fontMainColor : colors.fontSecondColor
} }
style={alignment.MLsmall} style={alignment.MLsmall}
H5> H5
>
{option.title} {option.title}
</TextDefault> </TextDefault>
</View> </View>
@ -53,18 +55,19 @@ function RadioComponent(props) {
isChecked ? colors.fontMainColor : colors.fontSecondColor isChecked ? colors.fontMainColor : colors.fontSecondColor
} }
H5 H5
medium>{`${configuration.currency_symbol} ${option.price}`}</TextDefault> medium
>{`${configuration.currency_symbol} ${option.price}`}</TextDefault>
</View> </View>
</TouchableOpacity> </TouchableOpacity>
) );
})} })}
</> </>
) );
} }
RadioComponent.propTypes = { RadioComponent.propTypes = {
selected: PropTypes.any, selected: PropTypes.any,
options: PropTypes.arrayOf(PropTypes.object), options: PropTypes.arrayOf(PropTypes.object),
onPress: PropTypes.func onPress: PropTypes.func,
} };
export default RadioComponent export default RadioComponent;

View File

@ -1,13 +1,13 @@
import { useTheme } from '@react-navigation/native' import { useTheme } from "@react-navigation/native";
import PropTypes from 'prop-types' import PropTypes from "prop-types";
import React from 'react' import React from "react";
import { View } from 'react-native' import { View } from "react-native";
import { alignment } from '../../../utils/alignment' import { alignment } from "../../../utils/alignment";
import TextDefault from '../../Text' import { TextDefault } from "../../Text";
import styles from './styles' import styles from "./styles";
function TitleComponent(props) { function TitleComponent(props) {
const { colors } = useTheme() const { colors } = useTheme();
return ( return (
<View style={styles.mainContainer}> <View style={styles.mainContainer}>
@ -19,7 +19,8 @@ function TitleComponent(props) {
numberOfLines={1} numberOfLines={1}
textColor={colors.fontSecondColor} textColor={colors.fontSecondColor}
H5 H5
bold> bold
>
{props.subTitle} {props.subTitle}
</TextDefault> </TextDefault>
</View> </View>
@ -30,17 +31,18 @@ function TitleComponent(props) {
} }
H5 H5
medium medium
center> center
>
({props.status}) ({props.status})
</TextDefault> </TextDefault>
</View> </View>
) );
} }
TitleComponent.propTypes = { TitleComponent.propTypes = {
title: PropTypes.string.isRequired, title: PropTypes.string.isRequired,
subTitle: PropTypes.string, subTitle: PropTypes.string,
error: PropTypes.bool, error: PropTypes.bool,
status: PropTypes.string status: PropTypes.string,
} };
export default TitleComponent export default TitleComponent;

View File

@ -13,29 +13,29 @@ import i18n from "../../../../i18n";
export const orderStatuses = [ export const orderStatuses = [
{ {
key: i18n.t('PENDING'), key: i18n.t("PENDING"),
status: 1, status: 1,
statusText: i18n.t('orderPending'), statusText: i18n.t("orderPending"),
}, },
{ {
key: i18n.t("ACCEPTED"), key: i18n.t("ACCEPTED"),
status: 2, status: 2,
statusText: i18n.t('prepFood'), statusText: i18n.t("prepFood"),
}, },
{ {
key: i18n.t("PICKED"), key: i18n.t("PICKED"),
status: 3, status: 3,
statusText: i18n.t('riderOnWay'), statusText: i18n.t("riderOnWay"),
}, },
{ {
key: i18n.t("DELIVERED"), key: i18n.t("DELIVERED"),
status: 4, status: 4,
statusText: i18n.t('orderDelivered'), statusText: i18n.t("orderDelivered"),
}, },
{ {
key: i18n.t("COMPLETED"), key: i18n.t("COMPLETED"),
status: 5, status: 5,
statusText: i18n.t('completeOrder'), statusText: i18n.t("completeOrder"),
}, },
]; ];
@ -89,19 +89,19 @@ const StatusCard = () => {
<View key={index} style={styles.statusContainer}> <View key={index} style={styles.statusContainer}>
<View style={styles.textContainer}> <View style={styles.textContainer}>
<TextDefault H5 medium textColor={styles.lightText.color}> <TextDefault H5 medium textColor={styles.lightText.color}>
{i18n.t('orderId')} {i18n.t("orderId")}
</TextDefault> </TextDefault>
<TextDefault style={{ ...alignment.PBlarge }} H4 bolder> <TextDefault style={{ ...alignment.PBlarge }} H4 bolder>
{item.order_id} {item.order_id}
</TextDefault> </TextDefault>
<TextDefault H5 textColor={colors.placeHolderColor} medium> <TextDefault H5 textColor={colors.placeHolderColor} medium>
{i18n.t('status')} {i18n.t("status")}
</TextDefault> </TextDefault>
<TextDefault textColor={"#00b9c6"} H5 medium> <TextDefault textColor={"#00b9c6"} H5 medium>
{i18n.t(item.order_status)}{" "} {i18n.t(item.order_status)}{" "}
<TextDefault numberOfLines={2} medium> <TextDefault numberOfLines={2} medium>
{/* {checkStatus(item.order_status).status}.{' '} */}( {checkStatus(item.order_status).status}. (
{checkStatus(i18n.t(item.order_status)).statusText}) {checkStatus(i18n.t(item.order_status)).statusText})
</TextDefault> </TextDefault>
</TextDefault> </TextDefault>

View File

@ -1,36 +1,39 @@
import { AntDesign } from '@expo/vector-icons' import { AntDesign } from "@expo/vector-icons";
import { useNavigation } from '@react-navigation/native' import { useNavigation } from "@react-navigation/native";
import React, { useLayoutEffect } from 'react' import React, { useLayoutEffect } from "react";
import { TouchableOpacity, View } from 'react-native' import { TouchableOpacity, View } from "react-native";
import i18n from '../../../i18n' import i18n from "../../../i18n";
import { TextDefault, WrapperView } from '../../components' import { TextDefault, WrapperView } from "../../components";
import { NAVIGATION_SCREEN } from '../../utils/constant' import { NAVIGATION_SCREEN } from "../../utils/constant";
import useStyle from './styles' import useStyle from "./styles";
import { useTheme } from '@react-navigation/native' import { useTheme } from "@react-navigation/native";
const links = [ const links = [
{ {
title: 'Product Page', title: "Product Page",
url: 'https://enatega.com/enatega-single-vendor/' url: "https://enatega.com/enatega-single-vendor/",
}, },
{ title: 'Docs', url: 'https://enatega.com/docs/enatega-singlevendor-introduction/' },
{ {
title: 'Blog', title: "Docs",
url: 'https://enatega.com/blog/' url: "https://enatega.com/docs/enatega-singlevendor-introduction/",
}, },
{ title: 'About Us', url: 'https://ninjascode.com/our-team' } {
] title: "Blog",
url: "https://enatega.com/blog/",
},
{ title: "About Us", url: "https://ninjascode.com/about-us/" },
];
function Help() { function Help() {
const styles = useStyle() const styles = useStyle();
const navigation = useNavigation() const navigation = useNavigation();
const { colors } = useTheme() const { colors } = useTheme();
useLayoutEffect(() => { useLayoutEffect(() => {
navigation.setOptions({ navigation.setOptions({
headerTitle: i18n.t('titleHelp'), headerTitle: i18n.t("titleHelp"),
headerRight: null headerRight: null,
}) });
}, [navigation]) }, [navigation]);
return ( return (
<WrapperView> <WrapperView>
@ -41,16 +44,21 @@ function Help() {
navigation.navigate(NAVIGATION_SCREEN.HelpBrowser, { title, url }) navigation.navigate(NAVIGATION_SCREEN.HelpBrowser, { title, url })
} }
style={styles.itemContainer} style={styles.itemContainer}
key={index}> key={index}
>
<TextDefault H4>{i18n.t(title)}</TextDefault> <TextDefault H4>{i18n.t(title)}</TextDefault>
<TouchableOpacity> <TouchableOpacity>
<AntDesign name="arrowright" size={22} color={colors.fontMainColor} /> <AntDesign
name="arrowright"
size={22}
color={colors.fontMainColor}
/>
</TouchableOpacity> </TouchableOpacity>
</TouchableOpacity> </TouchableOpacity>
))} ))}
</View> </View>
</WrapperView> </WrapperView>
) );
} }
export default Help export default Help;

View File

@ -1,160 +1,162 @@
import { useNavigation, useRoute } from '@react-navigation/native' import { useNavigation, useRoute } from "@react-navigation/native";
import React, { useContext, useEffect, useState } from 'react' import React, { useContext, useEffect, useState } from "react";
import { ScrollView, View } from 'react-native' import { ScrollView, View } from "react-native";
import { WrapperView } from '../../components' import { WrapperView } from "../../components";
import CartComponent from '../../components/CustomizeComponents/CartComponent/CartComponent' import CartComponent from "../../components/CustomizeComponents/CartComponent/CartComponent";
import CheckComponent from '../../components/CustomizeComponents/CheckComponent/CheckComponent' import CheckComponent from "../../components/CustomizeComponents/CheckComponent/CheckComponent";
import HeadingComponent from '../../components/CustomizeComponents/HeadingComponent/HeadingComponent' import HeadingComponent from "../../components/CustomizeComponents/HeadingComponent/HeadingComponent";
import ImageHeader from '../../components/CustomizeComponents/ImageHeader/ImageHeader' import ImageHeader from "../../components/CustomizeComponents/ImageHeader/ImageHeader";
import RadioComponent from '../../components/CustomizeComponents/RadioComponent/RadioComponent' import RadioComponent from "../../components/CustomizeComponents/RadioComponent/RadioComponent";
import TitleComponent from '../../components/CustomizeComponents/TitleComponent/TitleComponent' import TitleComponent from "../../components/CustomizeComponents/TitleComponent/TitleComponent";
import UserContext from '../../context/User' import UserContext from "../../context/User";
import { alignment } from '../../utils/alignment' import { alignment } from "../../utils/alignment";
import { NAVIGATION_SCREEN } from '../../utils/constant' import { NAVIGATION_SCREEN } from "../../utils/constant";
import useStyle from './styles' import useStyle from "./styles";
function ItemDetail() { function ItemDetail() {
const route = useRoute() const route = useRoute();
const styles = useStyle() const styles = useStyle();
const navigation = useNavigation() const navigation = useNavigation();
const [food] = useState(route.params.food ?? null) const [food] = useState(route.params.food ?? null);
const [selectedVariation, setSelectedVariation] = useState(food.variations[0]) const [selectedVariation, setSelectedVariation] = useState(
const [selectedAddons, setSelectedAddons] = useState([]) food.variations[0]
const { cart, addQuantity, addCartItem } = useContext(UserContext) );
const [selectedAddons, setSelectedAddons] = useState([]);
const { cart, addQuantity, addCartItem } = useContext(UserContext);
useEffect(() => { useEffect(() => {
navigation.setOptions({ navigation.setOptions({
title: 'Customize', title: "Customize",
headerRight: () => null headerRight: () => null,
}) });
}, [navigation]) }, [navigation]);
function validateButton() { function validateButton() {
if (!selectedVariation) return false if (!selectedVariation) return false;
const validatedAddons = [] const validatedAddons = [];
selectedVariation.addons.forEach(addon => { selectedVariation.addons.forEach((addon) => {
const selected = selectedAddons.find(ad => ad._id === addon._id) const selected = selectedAddons.find((ad) => ad._id === addon._id);
if (!selected && addon.quantity_minimum === 0) { if (!selected && addon.quantity_minimum === 0) {
validatedAddons.push(false) validatedAddons.push(false);
} else if ( } else if (
selected && selected &&
selected.options.length >= addon.quantity_minimum && selected.options.length >= addon.quantity_minimum &&
selected.options.length <= addon.quantity_maximum selected.options.length <= addon.quantity_maximum
) { ) {
validatedAddons.push(false) validatedAddons.push(false);
} else validatedAddons.push(true) } else validatedAddons.push(true);
}) });
return validatedAddons.every(val => val === false) return validatedAddons.every((val) => val === false);
} }
async function onAddToCart(quantity) { async function onAddToCart(quantity) {
if (validateOrderItem()) { if (validateOrderItem()) {
const addons = selectedAddons.map(addon => ({ const addons = selectedAddons.map((addon) => ({
...addon, ...addon,
options: addon.options.map(({ _id }) => ({ options: addon.options.map(({ _id }) => ({
_id _id,
})) })),
})) }));
const cartItem = cart.find(cartItem => { const cartItem = cart.find((cartItem) => {
if ( if (
cartItem._id === food._id && cartItem._id === food._id &&
cartItem.variation._id === selectedVariation._id cartItem.variation._id === selectedVariation._id
) { ) {
if (cartItem.addons.length === addons.length) { if (cartItem.addons.length === addons.length) {
if (addons.length === 0) return true if (addons.length === 0) return true;
const addonsResult = addons.every(newAddon => { const addonsResult = addons.every((newAddon) => {
const cartAddon = cartItem.addons.find( const cartAddon = cartItem.addons.find(
ad => ad._id === newAddon._id (ad) => ad._id === newAddon._id
) );
if (!cartAddon) return false if (!cartAddon) return false;
const optionsResult = newAddon.options.every(newOption => { const optionsResult = newAddon.options.every((newOption) => {
const cartOption = cartAddon.options.find( const cartOption = cartAddon.options.find(
op => op._id === newOption._id (op) => op._id === newOption._id
) );
if (!cartOption) return false if (!cartOption) return false;
return true return true;
}) });
return optionsResult return optionsResult;
}) });
return addonsResult return addonsResult;
} }
} }
return false return false;
}) });
if (!cartItem) { if (!cartItem) {
await addCartItem(food._id, selectedVariation._id, quantity, addons) await addCartItem(food._id, selectedVariation._id, quantity, addons);
} else { } else {
await addQuantity(cartItem.key, quantity) await addQuantity(cartItem.key, quantity);
} }
navigation.navigate(NAVIGATION_SCREEN.Cart) navigation.navigate(NAVIGATION_SCREEN.Cart);
} }
} }
function onSelectVariation(variation) { function onSelectVariation(variation) {
setSelectedVariation(variation) setSelectedVariation(variation);
} }
async function onSelectOption(addon, option) { async function onSelectOption(addon, option) {
const addons = selectedAddons const addons = selectedAddons;
const index = addons.findIndex(ad => ad._id === addon._id) const index = addons.findIndex((ad) => ad._id === addon._id);
if (index > -1) { if (index > -1) {
if (addon.quantity_minimum === 1 && addon.quantity_maximum === 1) { if (addon.quantity_minimum === 1 && addon.quantity_maximum === 1) {
addons[index].options = [option] addons[index].options = [option];
} else { } else {
const optionIndex = addons[index].options.findIndex( const optionIndex = addons[index].options.findIndex(
opt => opt._id === option._id (opt) => opt._id === option._id
) );
if (optionIndex > -1) { if (optionIndex > -1) {
addons[index].options = addons[index].options.filter( addons[index].options = addons[index].options.filter(
opt => opt._id !== option._id (opt) => opt._id !== option._id
) );
} else { } else {
addons[index].options.push(option) addons[index].options.push(option);
} }
if (!addons[index].options.length) { if (!addons[index].options.length) {
addons.splice(index, 1) addons.splice(index, 1);
} }
} }
} else { } else {
addons.push({ _id: addon._id, options: [option] }) addons.push({ _id: addon._id, options: [option] });
} }
setSelectedAddons([...addons]) setSelectedAddons([...addons]);
} }
function calculatePrice() { function calculatePrice() {
const variation = selectedVariation.price const variation = selectedVariation.price;
let addons = 0 let addons = 0;
selectedAddons.forEach(addon => { selectedAddons.forEach((addon) => {
addons += addon.options.reduce((acc, option) => { addons += addon.options.reduce((acc, option) => {
return acc + option.price return acc + option.price;
}, 0) }, 0);
}) });
return (variation + addons).toFixed(2) return (variation + addons).toFixed(2);
} }
function validateOrderItem() { function validateOrderItem() {
const validatedAddons = selectedVariation.addons.map(addon => { const validatedAddons = selectedVariation.addons.map((addon) => {
const selected = selectedAddons.find(ad => ad._id === addon._id) const selected = selectedAddons.find((ad) => ad._id === addon._id);
if (!selected && addon.quantity_minimum === 0) { if (!selected && addon.quantity_minimum === 0) {
addon.error = false addon.error = false;
} else if ( } else if (
selected && selected &&
selected.options.length >= addon.quantity_minimum && selected.options.length >= addon.quantity_minimum &&
selected.options.length <= addon.quantity_maximum selected.options.length <= addon.quantity_maximum
) { ) {
addon.error = false addon.error = false;
} else addon.error = true } else addon.error = true;
return addon return addon;
}) });
setSelectedVariation({ ...selectedVariation, addons: validatedAddons }) setSelectedVariation({ ...selectedVariation, addons: validatedAddons });
return validatedAddons.every(addon => addon.error === false) return validatedAddons.every((addon) => addon.error === false);
} }
function renderOption(addon) { function renderOption(addon) {
@ -164,23 +166,25 @@ function ItemDetail() {
options={addon.options} options={addon.options}
onPress={onSelectOption.bind(this, addon)} onPress={onSelectOption.bind(this, addon)}
/> />
) );
} else { } else {
return ( return (
<CheckComponent <CheckComponent
options={addon.options} options={addon.options}
onPress={onSelectOption.bind(this, addon)} onPress={onSelectOption.bind(this, addon)}
/> />
) );
} }
} }
console.log("Values:", selectedVariation);
return ( return (
<WrapperView> <WrapperView>
<View style={styles.flex}> <View style={styles.flex}>
<ScrollView <ScrollView
showsVerticalScrollIndicator={false} showsVerticalScrollIndicator={false}
style={styles.scrollViewContainer}> style={styles.scrollViewContainer}
>
{!!food.img_url && <ImageHeader image={food.img_url} />} {!!food.img_url && <ImageHeader image={food.img_url} />}
<View style={styles.subContainer}> <View style={styles.subContainer}>
<HeadingComponent <HeadingComponent
@ -197,23 +201,23 @@ function ItemDetail() {
status="Required" status="Required"
/> />
<View style={[alignment.PLmedium, alignment.PRmedium]}> <View style={[alignment.PLmedium, alignment.PRmedium]}>
<RadioComponent {<RadioComponent
options={food.variations} options={food.variations}
selected={selectedVariation} selected={selectedVariation}
onPress={onSelectVariation} onPress={onSelectVariation}
/> />}
</View> </View>
</> </>
)} )}
{selectedVariation.addons.map(addon => ( {selectedVariation.addons.map((addon) => (
<View key={addon._id}> <View key={addon._id}>
<TitleComponent <TitleComponent
title={addon.title} title={addon.title}
subTitle={addon.description} subTitle={addon.description}
error={addon.error} error={false}
status={ status={
addon.quantity_minimum === 0 addon.quantity_minimum === 0
? 'OPTIONAL' ? "OPTIONAL"
: `${addon.quantity_minimum} REQUIRED` : `${addon.quantity_minimum} REQUIRED`
} }
/> />
@ -229,7 +233,7 @@ function ItemDetail() {
/> />
</View> </View>
</WrapperView> </WrapperView>
) );
} }
export default ItemDetail export default ItemDetail;

View File

@ -33,7 +33,7 @@ function Menu() {
useLayoutEffect(() => { useLayoutEffect(() => {
navigation.setOptions({ navigation.setOptions({
title: i18n.t('home'), title: i18n.t("home"),
}); });
}, []); }, []);
@ -43,7 +43,7 @@ function Menu() {
} else if (error) { } else if (error) {
return ( return (
<TextError <TextError
text={error ? error.message : i18n.t('NoFoods')} text={error ? error.message : i18n.t("NoFoods")}
backColor="transparent" backColor="transparent"
/> />
); );
@ -52,7 +52,7 @@ function Menu() {
<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}>
{i18n.t('noItems')} {i18n.t("noItems")}
</TextDefault> </TextDefault>
</View> </View>
); );
@ -78,7 +78,7 @@ function Menu() {
{isLoggedIn && profile && <StatusCard />} {isLoggedIn && profile && <StatusCard />}
<TextDefault style={alignment.Psmall} H4 medium> <TextDefault style={alignment.Psmall} H4 medium>
{i18n.t('featured')} {i18n.t("featured")}
</TextDefault> </TextDefault>
</> </>
); );

View File

@ -7,7 +7,13 @@ import * as Localization from "expo-localization";
import * as Notifications from "expo-notifications"; import * as Notifications from "expo-notifications";
import * as Updates from "expo-updates"; import * as Updates from "expo-updates";
import gql from "graphql-tag"; import gql from "graphql-tag";
import React, { useContext, useEffect, useRef, useState } from "react"; import React, {
useContext,
useEffect,
useLayoutEffect,
useRef,
useState,
} from "react";
import { import {
AppState, AppState,
Linking, Linking,
@ -90,7 +96,7 @@ function Settings() {
const modalizeRef = useRef(null); const modalizeRef = useRef(null);
const modalizeRef1 = useRef(null); const modalizeRef1 = useRef(null);
useEffect(() => { useLayoutEffect(() => {
navigation.setOptions({ navigation.setOptions({
headerTitle: i18n.t("titleSettings"), headerTitle: i18n.t("titleSettings"),
headerRight: null, headerRight: null,
@ -160,9 +166,9 @@ function Settings() {
"enatega-language", "enatega-language",
languageTypes[languageInd].code languageTypes[languageInd].code
); );
i18n.locale = languageTypes[languageInd].code i18n.locale = languageTypes[languageInd].code;
const lang = await AsyncStorage.getItem("enatega-language"); const lang = await AsyncStorage.getItem("enatega-language");
console.log(lang) console.log(lang);
const defLang = languageTypes.findIndex((el) => el.code === lang); const defLang = languageTypes.findIndex((el) => el.code === lang);
const langName = languageTypes[defLang].value; const langName = languageTypes[defLang].value;
activeRadioSetter(defLang); activeRadioSetter(defLang);
@ -177,7 +183,7 @@ function Settings() {
function onCompleted() { function onCompleted() {
FlashMessage({ FlashMessage({
message: i18n.t('notificationUpdate'), message: i18n.t("notificationUpdate"),
}); });
} }
@ -250,7 +256,7 @@ function Settings() {
medium medium
H5 H5
> >
{i18n.t('language')} {i18n.t("language")}
</TextDefault> </TextDefault>
<TextDefault medium H5> <TextDefault medium H5>
({languageName}) ({languageName})
@ -283,7 +289,7 @@ function Settings() {
textColor={colors.statusSecondColor} textColor={colors.statusSecondColor}
> >
{" "} {" "}
{i18n.t('receiveOffers')}{" "} {i18n.t("receiveOffers")}{" "}
</TextDefault> </TextDefault>
<SwitchBtn <SwitchBtn
isEnabled={offerNotification} isEnabled={offerNotification}
@ -306,7 +312,7 @@ function Settings() {
textColor={colors.statusSecondColor} textColor={colors.statusSecondColor}
> >
{" "} {" "}
{i18n.t('getUpdatesText')}{" "} {i18n.t("getUpdatesText")}{" "}
</TextDefault> </TextDefault>
<SwitchBtn <SwitchBtn
isEnabled={orderNotification} isEnabled={orderNotification}
@ -325,7 +331,7 @@ function Settings() {
<View style={styles.notificationChekboxContainer}> <View style={styles.notificationChekboxContainer}>
<TextDefault numberOfLines={1} textColor={"red"}> <TextDefault numberOfLines={1} textColor={"red"}>
{" "} {" "}
{i18n.t('delAcc')}{" "} {i18n.t("delAcc")}{" "}
</TextDefault> </TextDefault>
<CustomIcon <CustomIcon
name={ICONS_NAME.Trash} name={ICONS_NAME.Trash}
@ -334,11 +340,11 @@ function Settings() {
/> />
</View> </View>
</TouchableOpacity> </TouchableOpacity>
<View style={styles.versionContainer}> {/* <View style={styles.versionContainer}>
<TextDefault textColor={colors.fontSecondColor}> <TextDefault textColor={colors.fontSecondColor}>
{/* Version: {Constants.manifest.version} */} {/* Version: {Constants.manifest.version}
</TextDefault> </TextDefault>
</View> </View> */}
</View> </View>
</View> </View>
<TextDefault <TextDefault
@ -346,7 +352,7 @@ function Settings() {
style={alignment.MBsmall} style={alignment.MBsmall}
center center
> >
{i18n.t('rightsReserved')} {i18n.t("rightsReserved")}
</TextDefault> </TextDefault>
{/* Modal for language Changes */} {/* Modal for language Changes */}
@ -381,7 +387,7 @@ function Settings() {
> >
<View style={{ flex: 1, alignItems: "center" }}> <View style={{ flex: 1, alignItems: "center" }}>
<TextDefault bolder H5 style={{ marginTop: 20 }}> <TextDefault bolder H5 style={{ marginTop: 20 }}>
{i18n.t('delAccText')} {i18n.t("delAccText")}
</TextDefault> </TextDefault>
<TouchableOpacity <TouchableOpacity
activeOpacity={0.7} activeOpacity={0.7}
@ -409,7 +415,7 @@ function Settings() {
style={[styles.width100, alignment.PBlarge, alignment.PTlarge]} style={[styles.width100, alignment.PBlarge, alignment.PTlarge]}
onPress={() => onClose()} onPress={() => onClose()}
> >
<TextDefault center>{i18n.t('cancel')}</TextDefault> <TextDefault center>{i18n.t("cancel")}</TextDefault>
</TouchableOpacity> </TouchableOpacity>
</View> </View>
</Modalize> </Modalize>

View File

@ -1,164 +1,165 @@
export const de = { export const de = {
home: 'Home', home: "Startseite",
title0: 'Gewählte Sprache', title0: "Gewählte Sprache",
subtitle0: 'English', subtitle0: "English",
description0: description0:
'Wählen Sie eine Sprache Ihrer Wahl, um den Inhalt der App in die gewünschte Sprache zu ändern.', "Wählen Sie eine Sprache Ihrer Wahl, um den Inhalt der App in die gewünschte Sprache zu ändern.",
title1: 'Lecker', title1: "Lecker",
subtitle1: 'Frühstück', subtitle1: "Frühstück",
description1: description1:
'Frühstück ist alles. Der Anfang, das Erste. Es ist der Mundvoll, der die Verpflichtung zu einem neuen Tag, einem fortwährenden Leben ist.', "Frühstück ist alles. Der Anfang, das Erste. Es ist der Mundvoll, der die Verpflichtung zu einem neuen Tag, einem fortwährenden Leben ist.",
title2: 'Erfrischend', title2: "Erfrischend",
subtitle2: 'Getränke', subtitle2: "Getränke",
description2: description2:
'Wahre Stille ist der Rest des Geistes und ist für den Geist das, was Schlaf für den Körper ist, Nahrung und Erfrischung.', "Wahre Stille ist der Rest des Geistes und ist für den Geist das, was Schlaf für den Körper ist, Nahrung und Erfrischung.",
title3: 'Köstlich', title3: "Köstlich",
subtitle3: 'Eis', subtitle3: "Eis",
description3: description3:
'Das Alter mindert nicht die extreme Enttäuschung darüber, dass eine Kugel Eis vom Kegel fällt', "Das Alter mindert nicht die extreme Enttäuschung darüber, dass eine Kugel Eis vom Kegel fällt",
getStarted: 'Loslegen!', getStarted: "Loslegen!",
welcome: welcome:
'Willkommen bei Enatega, manchmal brauchen Sie nur Liebe. Aber ein bisschen Essen tut ab und zu nicht weh.', "Willkommen bei Enatega, manchmal brauchen Sie nur Liebe. Aber ein bisschen Essen tut ab und zu nicht weh.",
loginBtn: 'Anmeldung', loginBtn: "Anmeldung",
registerBtn: 'Registrieren', registerBtn: "Registrieren",
name: 'Name', name: "Name",
phone: 'Telefon', phone: "Telefon",
email: 'Email', email: "Email",
emailphone: 'E-Mail oder Telefon', emailphone: "E-Mail oder Telefon",
password: 'Passwort', password: "Passwort",
deliveryAddress: 'Lieferadresse', deliveryAddress: "Lieferadresse",
fullDeliveryAddress: 'Ihre vollständige Lieferadresse', fullDeliveryAddress: "Ihre vollständige Lieferadresse",
deliveryDetails: 'Erforderliche Angaben, z. Boden / Gebäude', deliveryDetails: "Erforderliche Angaben, z. Boden / Gebäude",
myAddresses: 'Meine Adressen', myAddresses: "Meine Adressen",
addAddress: 'Neue Adressen hinzufügen', addAddress: "Neue Adressen hinzufügen",
editAddress: 'Adresse bearbeiten', editAddress: "Adresse bearbeiten",
registerText: 'Oder registriere dich bei', registerText: "Oder registriere dich bei",
forgotPassword: 'Passwort vergessen?', forgotPassword: "Passwort vergessen?",
loginText: 'Oder Einloggen mit', loginText: "Oder Einloggen mit",
deliveryLocation: deliveryLocation:
'Stellen Sie Ihren Lieferort so ein, dass wir Ihnen einen unendlichen Geschmack köstlichen Essens zusenden können.', "Stellen Sie Ihren Lieferort so ein, dass wir Ihnen einen unendlichen Geschmack köstlichen Essens zusenden können.",
locationBtn: 'Standort einschalten', locationBtn: "Standort einschalten",
locationPermissionDenied: locationPermissionDenied:
'Die Berechtigung zum Zugriff auf den Speicherort wurde verweigert', "Die Berechtigung zum Zugriff auf den Speicherort wurde verweigert",
locationOff: 'Ort einschalten und erneut versuchen', locationOff: "Ort einschalten und erneut versuchen",
titleLanguage: 'Sprache ändern', titleLanguage: "Sprache ändern",
titleMenu: 'Speisekarte', titleMenu: "Speisekarte",
titleOrders: 'meine Bestellungen', titleOrders: "meine Bestellungen",
titleNotifications: 'Benachrichtigungen', titleNotifications: "Benachrichtigungen",
titleReviews: 'Bewertungen', titleReviews: "Bewertungen",
titleProfile: 'Profiel', titleProfile: "Profiel",
titleHelp: 'Hilfe', titleHelp: "Hilfe",
titleChat: 'Plaudern', titleChat: "Plaudern",
titleLogout: 'Ausloggen', titleLogout: "Ausloggen",
titleCart: 'Mein Warenkorb', titleCart: "Mein Warenkorb",
titlePayment: 'Zahlung', titlePayment: "Zahlung",
totalOrderAmount: 'Gesamtbestellmenge', totalOrderAmount: "Gesamtbestellmenge",
reOrder: 'Nachbestellen', reOrder: "Nachbestellen",
unReadNotifications: 'Keine ungelesenen Benachrichtigungen', unReadNotifications: "Keine ungelesenen Benachrichtigungen",
upload: 'Hochladen', upload: "Hochladen",
saveBtn: 'sparen', saveBtn: "sparen",
saveContBtn: 'SPEICHERN UND FORTFAHREN', saveContBtn: "SPEICHERN UND FORTFAHREN",
emailUs: 'Mailen Sie uns an', emailUs: "Mailen Sie uns an",
question1: 'Wo finden wir das Essen?', question1: "Wo finden wir das Essen?",
question2: 'Wie treten wir in Kontakt?', question2: "Wie treten wir in Kontakt?",
question3: 'Wie kann ich den Zusteller bezahlen?', question3: "Wie kann ich den Zusteller bezahlen?",
question4: 'Ist der Dienst in meiner Stadt verfügbar?', question4: "Ist der Dienst in meiner Stadt verfügbar?",
answer1: answer1:
'Sie finden das Essen in einem Geschäft in Ihrer Nähe, ohne den Kundenservice zu belasten. Unsere Gebühren sind im Vergleich zu anderen extrem niedrig.', "Sie finden das Essen in einem Geschäft in Ihrer Nähe, ohne den Kundenservice zu belasten. Unsere Gebühren sind im Vergleich zu anderen extrem niedrig.",
answer2: answer2:
'Sie können uns über unsere E-Mail, Telefonnummer oder unsere Website kontaktieren.', "Sie können uns über unsere E-Mail, Telefonnummer oder unsere Website kontaktieren.",
answer3: answer3:
'Sie können den Zusteller persönlich bezahlen oder auch online mit Kredit- oder Debitkarte bezahlen.', "Sie können den Zusteller persönlich bezahlen oder auch online mit Kredit- oder Debitkarte bezahlen.",
answer4: answer4:
'Derzeit ist dieser Service in den Städten Islamabad und Karachi verfügbar. Sie können uns kontaktieren, um diesen Service in Ihrer Stadt in Anspruch zu nehmen.', "Derzeit ist dieser Service in den Städten Islamabad und Karachi verfügbar. Sie können uns kontaktieren, um diesen Service in Ihrer Stadt in Anspruch zu nehmen.",
add: 'HINZUFÜGEN', add: "HINZUFÜGEN",
quantity: 'Menge', quantity: "Menge",
size: 'Größe', size: "Größe",
addToCart: 'in den Warenkorb legen', addToCart: "in den Warenkorb legen",
orderNow: 'Jetzt bestellen', orderNow: "Jetzt bestellen",
addToCartMessage: 'Zum Warenkorb hinzugefügt', addToCartMessage: "Zum Warenkorb hinzugefügt",
emptyCart: 'Keine Artikel im Warenkorb', emptyCart: "Keine Artikel im Warenkorb",
itemTotal: 'Artikel Gesamt', itemTotal: "Artikel Gesamt",
delvieryCharges: 'Versandkosten', delvieryCharges: "Versandkosten",
total: 'Gesamt', total: "Gesamt",
contactInfo: 'Kontaktinformation', contactInfo: "Kontaktinformation",
deliveryAddressmessage: 'Lieferadresse einstellen', deliveryAddressmessage: "Lieferadresse einstellen",
proceedCheckout: 'Zur Kasse', proceedCheckout: "Zur Kasse",
paymentText: 'Wie möchten Sie bezahlen?', paymentText: "Wie möchten Sie bezahlen?",
checkout: 'Auschecken', checkout: "Auschecken",
creditCard: 'Kreditkarte Debitkarte', creditCard: "Kreditkarte Debitkarte",
paypal: 'Paypal', paypal: "Paypal",
cod: 'Nachnahme', cod: "Nachnahme",
thankYou: 'Danke dir!', thankYou: "Danke dir!",
orderConfirmed: 'Ihre Bestellung wird bestätigt', orderConfirmed: "Ihre Bestellung wird bestätigt",
orderId: 'Ihre Bestellnummer', orderId: "Ihre Bestellnummer",
orderAmount: 'Ihre Bestellmenge', orderAmount: "Ihre Bestellmenge",
orderDetail: 'Bestelldetails', orderDetail: "Bestelldetails",
paymentMethod: 'Zahlungsmethode', paymentMethod: "Zahlungsmethode",
trackOrder: 'Versandverfolgung', trackOrder: "Versandverfolgung",
backToMenu: 'Zurück zum Menü', backToMenu: "Zurück zum Menü",
foodItem: 'Essensgegenstand', foodItem: "Essensgegenstand",
deliveredTo: 'Geliefert an', deliveredTo: "Geliefert an",
writeAReview: 'Eine Rezension schreiben', writeAReview: "Eine Rezension schreiben",
orderReceived: 'Bestellung erhalten', orderReceived: "Bestellung erhalten",
cancelled: 'Abgebrochen', cancelled: "Abgebrochen",
foodPreparing: 'Essen wird zubereitet', foodPreparing: "Essen wird zubereitet",
delivered: 'Geliefert', delivered: "Geliefert",
rateAndReview: 'Bewerten und bewerten', rateAndReview: "Bewerten und bewerten",
reviewPlaceholder: 'Detaillierte Bewertungen erhalten mehr Sichtbarkeit ...', reviewPlaceholder: "Detaillierte Bewertungen erhalten mehr Sichtbarkeit ...",
submit: 'einreichen', submit: "einreichen",
noWorriesText: 'Keine Sorge, lassen Sie sich von uns helfen!', noWorriesText: "Keine Sorge, lassen Sie sich von uns helfen!",
yourEmail: 'Deine E-Mail', yourEmail: "Deine E-Mail",
send: 'Senden', send: "Senden",
checkEmail: checkEmail:
'Überprüfen Sie Ihre E-Mail-Adresse auf den Link zum Zurücksetzen des Kennworts', "Überprüfen Sie Ihre E-Mail-Adresse auf den Link zum Zurücksetzen des Kennworts",
languageText: 'Bitte wählen Sie Ihre gewünschte Sprache', languageText: "Bitte wählen Sie Ihre gewünschte Sprache",
countryCodePickerTranslation: 'deu', countryCodePickerTranslation: "deu",
countryCodeSelect: 'Ländercode auswählen', countryCodeSelect: "Ländercode auswählen",
paymentNotSupported: 'Diese Zahlungsmethode unterstützt diese Währung nicht', paymentNotSupported: "Diese Zahlungsmethode unterstützt diese Währung nicht",
unReadReviews: 'Noch keine Bewertungen!', unReadReviews: "Noch keine Bewertungen!",
unReadOrders: 'Noch keine Bestellungen!', unReadOrders: "Noch keine Bestellungen!",
error: 'Error', error: "Error",
noMoreItems: 'Keine Artikel mehr auf Lager', noMoreItems: "Keine Artikel mehr auf Lager",
hungry: 'Hungrig', hungry: "Hungrig",
emptyCartBtn: 'Zurück zum Essen', emptyCartBtn: "Zurück zum Essen",
subTotal: 'Zwischensumme', subTotal: "Zwischensumme",
deliveryFee: 'Liefergebühr', deliveryFee: "Liefergebühr",
haveVoucher: 'Hast du einen Gutschein?', haveVoucher: "Hast du einen Gutschein?",
remove: 'Entfernen', remove: "Entfernen",
change: 'Veränderung', change: "Veränderung",
condition1: condition1:
'Mit Abschluss dieser Bestellung stimme ich allen Allgemeinen Geschäftsbedingungen zu.', "Mit Abschluss dieser Bestellung stimme ich allen Allgemeinen Geschäftsbedingungen zu.",
condition2: condition2:
'Ich bin damit einverstanden und fordere Sie auf, den bestellten Service vor Ablauf der Widerrufsfrist auszuführen. Mir ist bekannt, dass ich nach vollständiger Erfüllung der Leistung mein Rücktrittsrecht verliere.', "Ich bin damit einverstanden und fordere Sie auf, den bestellten Service vor Ablauf der Widerrufsfrist auszuführen. Mir ist bekannt, dass ich nach vollständiger Erfüllung der Leistung mein Rücktrittsrecht verliere.",
orderBtn: 'Bestellung aufgeben', orderBtn: "Bestellung aufgeben",
coupanApply: 'Gutscheinrabatt angewendet', coupanApply: "Gutscheinrabatt angewendet",
coupanFailed: 'Gutschein nicht verfügbar', coupanFailed: "Gutschein nicht verfügbar",
invalidCoupan: 'Ungültiger Gutschein', invalidCoupan: "Ungültiger Gutschein",
validateItems: 'Artikel vor dem Auschecken in den Warenkorb legen', validateItems: "Artikel vor dem Auschecken in den Warenkorb legen",
validateDelivery: 'Stellen Sie die Lieferadresse vor dem Auschecken ein', validateDelivery: "Stellen Sie die Lieferadresse vor dem Auschecken ein",
language: 'Sprache', language: "Sprache",
getUpdatesText: 'Erhalten Sie Updates zum Bestellstatus!', getUpdatesText: "Erhalten Sie Updates zum Bestellstatus!",
delAcc: 'Konto löschen', delAcc: "Konto löschen",
delAccText: 'Sind Sie sicher, dass Sie das Konto löschen möchten?', delAccText: "Sind Sie sicher, dass Sie das Konto löschen möchten?",
cancel: 'Abbrechen', cancel: "Abbrechen",
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",
@ -179,32 +180,32 @@ export const de = {
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",
@ -215,35 +216,34 @@ export const de = {
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', Default: "Standaard",
'Ascending (A-Z)': 'Oplopend (A-Z)', "Ascending (A-Z)": "Oplopend (A-Z)",
'Descending (Z-A)': 'Aflopend (Z-A)', "Descending (Z-A)": "Aflopend (Z-A)",
'Price (Low - High)': 'Prijs (Laag - Hoog)', "Price (Low - High)": "Prijs (Laag - Hoog)",
'Price (High - Low)': 'Prijs (Hoog - Laag)', "Price (High - Low)": "Prijs (Hoog - Laag)",
Home: 'Thuis', Home: "Thuis",
Work: 'Werk', Work: "Werk",
Other: 'Anders', Other: "Anders",
NoStock: 'Geen Voorraad', NoStock: "Geen Voorraad",
ItemOutOfStock: 'Artikel uit voorraad', ItemOutOfStock: "Artikel uit voorraad",
SelectLanguage: 'Selecteer Taal', SelectLanguage: "Selecteer Taal",
Done: 'Voltooid', Done: "Voltooid",
Cancel: 'Annuleren', Cancel: "Annuleren",
NoFoods: 'Geen voedsel', NoFoods: "Geen voedsel",
CartIsEmpty: 'Winkelwagen is leeg.', CartIsEmpty: "Winkelwagen is leeg.",
SetPaymentMethod: 'Stel betalingsmethode in voordat u afrekent', SetPaymentMethod: "Stel betalingsmethode in voordat u afrekent",
AnErrorOccured: 'Er is een fout opgetreden. Probeer het opnieuw', AnErrorOccured: "Er is een fout opgetreden. Probeer het opnieuw",
ResetPasswordLinkSent: 'Reset wachtwoordlink verzonden naar uw e-mail', ResetPasswordLinkSent: "Reset wachtwoordlink verzonden naar uw e-mail",
LocationPermissionNotGranted: 'Locatietoestemming niet verleend', LocationPermissionNotGranted: "Locatietoestemming niet verleend",
NoFooditemFound: 'Geen voedingsmiddel gevonden', NoFooditemFound: "Geen voedingsmiddel gevonden",
SavedYet: 'Je hebt nog geen enkel adres opgeslagen.', SavedYet: "Je hebt nog geen enkel adres opgeslagen.",
ClickAddNewAddress: 'Klik op Nieuw adres toevoegen om te beginnen', ClickAddNewAddress: "Klik op Nieuw adres toevoegen om te beginnen",
NoAddressesfound: 'Geen adressen gevonden.', NoAddressesfound: "Geen adressen gevonden.",
AddNewAddress: 'Nieuw adres toevoegen', AddNewAddress: "Nieuw adres toevoegen",
'About Us': 'Over ons', "About Us": "Over ons",
'Product Page': 'Productpagina', "Product Page": "Productpagina",
};
}

View File

@ -1,165 +1,166 @@
export const fr = { export const fr = {
home: 'Home', home: "Accueil",
title0: 'Langue sélectionnée', title0: "Langue sélectionnée",
subtitle0: 'English', subtitle0: "English",
description0: description0:
"Sélectionnez la langue de votre choix pour modifier le contenu de l'application dans la langue de votre choix.", "Sélectionnez la langue de votre choix pour modifier le contenu de l'application dans la langue de votre choix.",
title1: 'Savoureux', title1: "Savoureux",
subtitle1: 'Petit déjeuner', subtitle1: "Petit déjeuner",
description1: description1:
"Le petit déjeuner est tout. Le début, la première chose. C'est la bouchée qui est l'engagement pour un nouveau jour, une vie continue.", "Le petit déjeuner est tout. Le début, la première chose. C'est la bouchée qui est l'engagement pour un nouveau jour, une vie continue.",
title2: 'Rafraîchissant', title2: "Rafraîchissant",
subtitle2: 'Boissons', subtitle2: "Boissons",
description2: description2:
"Le vrai silence est le reste de l'esprit, et à l'esprit ce que le sommeil est pour le corps, nourriture et rafraîchissement.", "Le vrai silence est le reste de l'esprit, et à l'esprit ce que le sommeil est pour le corps, nourriture et rafraîchissement.",
title3: 'Délicieux', title3: "Délicieux",
subtitle3: 'Crème glacée', subtitle3: "Crème glacée",
description3: description3:
"L'âge ne diminue en rien l'extrême déception d'avoir une boule de glace tombée du cône.", "L'âge ne diminue en rien l'extrême déception d'avoir une boule de glace tombée du cône.",
getStarted: 'Commencer!', getStarted: "Commencer!",
welcome: welcome:
"Bienvenue dans Enatega, parfois tout ce dont vous avez besoin est de l'amour. Mais un peu de nourriture maintenant et ensuite ne fait pas mal.", "Bienvenue dans Enatega, parfois tout ce dont vous avez besoin est de l'amour. Mais un peu de nourriture maintenant et ensuite ne fait pas mal.",
loginBtn: "S'identifier", loginBtn: "S'identifier",
registerBtn: 'registre', registerBtn: "registre",
name: 'prénom', name: "prénom",
phone: 'Téléphone', phone: "Téléphone",
email: 'Email', email: "Email",
emailphone: 'Email ou téléphone', emailphone: "Email ou téléphone",
password: 'Mot de passe', password: "Mot de passe",
deliveryAddress: 'Adresse de livraison', deliveryAddress: "Adresse de livraison",
fullDeliveryAddress: 'Votre adresse de livraison complète', fullDeliveryAddress: "Votre adresse de livraison complète",
deliveryDetails: 'Détails requis -e.g. étage / bâtiment', deliveryDetails: "Détails requis -e.g. étage / bâtiment",
myAddresses: 'Mes adresses', myAddresses: "Mes adresses",
addAddress: 'Ajouter une nouvelle adresse', addAddress: "Ajouter une nouvelle adresse",
editAddress: "Modifier l'adresse", editAddress: "Modifier l'adresse",
registerText: "Ou s'inscrire avec", registerText: "Ou s'inscrire avec",
forgotPassword: 'Mot de passe oublié?', forgotPassword: "Mot de passe oublié?",
loginText: 'Ou connectez-vous avec', loginText: "Ou connectez-vous avec",
deliveryLocation: deliveryLocation:
'Définissez votre lieu de livraison afin que nous puissions vous envoyer un goût infini de plats délicieux.', "Définissez votre lieu de livraison afin que nous puissions vous envoyer un goût infini de plats délicieux.",
locationBtn: "Activer l'emplacement", locationBtn: "Activer l'emplacement",
locationPermissionDenied: locationPermissionDenied:
"La permission d'accéder à l'emplacement a été refusée", "La permission d'accéder à l'emplacement a été refusée",
locationOff: "Activer l'emplacement et réessayer", locationOff: "Activer l'emplacement et réessayer",
titleLanguage: 'Changer de langue', titleLanguage: "Changer de langue",
titleMenu: 'Menu', titleMenu: "Menu",
titleOrders: 'Mes commandes', titleOrders: "Mes commandes",
titleNotifications: 'Les notifications', titleNotifications: "Les notifications",
titleReviews: 'Avis', titleReviews: "Avis",
titleProfile: 'Profil', titleProfile: "Profil",
titleHelp: 'Aidez-moi', titleHelp: "Aidez-moi",
titleChat: 'Bavarder', titleChat: "Bavarder",
titleLogout: 'Connectez - Out', titleLogout: "Connectez - Out",
titleCart: 'Mon panier', titleCart: "Mon panier",
titlePayment: 'Paiement', titlePayment: "Paiement",
totalOrderAmount: 'Total de la commande', totalOrderAmount: "Total de la commande",
reOrder: 'Réorganiser', reOrder: "Réorganiser",
unReadNotifications: 'Pas de notifications non lues', unReadNotifications: "Pas de notifications non lues",
upload: 'Télécharger', upload: "Télécharger",
saveBtn: 'sauvegarder', saveBtn: "sauvegarder",
saveContBtn: 'SAUVEGARDER ET CONTINUER', saveContBtn: "SAUVEGARDER ET CONTINUER",
emailUs: 'écrivez-nous à', emailUs: "écrivez-nous à",
question1: 'Où trouvons-nous la nourriture?', question1: "Où trouvons-nous la nourriture?",
question2: 'Comment pouvons-nous contacter?', question2: "Comment pouvons-nous contacter?",
question3: 'Comment puis-je payer le livreur?', question3: "Comment puis-je payer le livreur?",
question4: 'Le service est-il disponible dans ma ville?', question4: "Le service est-il disponible dans ma ville?",
answer1: answer1:
'Vous pouvez trouver la nourriture dans le magasin le plus proche sans rien payer au service client. Nos frais sont extrêmement bas comparés aux autres.', "Vous pouvez trouver la nourriture dans le magasin le plus proche sans rien payer au service client. Nos frais sont extrêmement bas comparés aux autres.",
answer2: answer2:
'Vous pouvez nous contacter via notre email, numéro de téléphone ou notre site web.', "Vous pouvez nous contacter via notre email, numéro de téléphone ou notre site web.",
answer3: answer3:
'Vous pouvez payer le livreur en personne ou en ligne, par carte de crédit ou de débit.', "Vous pouvez payer le livreur en personne ou en ligne, par carte de crédit ou de débit.",
answer4: answer4:
"Actuellement, ce service est disponible dans les villes d'Islamabad et de Karachi. Vous pouvez nous contacter pour bénéficier de ce service dans votre ville.", "Actuellement, ce service est disponible dans les villes d'Islamabad et de Karachi. Vous pouvez nous contacter pour bénéficier de ce service dans votre ville.",
add: 'AJOUTER', add: "AJOUTER",
quantity: 'Quantité', quantity: "Quantité",
size: 'Taille', size: "Taille",
addToCart: 'Ajouter au panier', addToCart: "Ajouter au panier",
orderNow: 'Commandez maintenant', orderNow: "Commandez maintenant",
addToCartMessage: 'Ajouté au panier', addToCartMessage: "Ajouté au panier",
emptyCart: 'Aucun article dans le panier', emptyCart: "Aucun article dans le panier",
itemTotal: 'Objet total', itemTotal: "Objet total",
delvieryCharges: 'Frais de livraison', delvieryCharges: "Frais de livraison",
total: 'Total', total: "Total",
contactInfo: 'Informations de contact', contactInfo: "Informations de contact",
deliveryAddressmessage: "Définir l'adresse de livraison", deliveryAddressmessage: "Définir l'adresse de livraison",
proceedCheckout: 'Passer à la caisse', proceedCheckout: "Passer à la caisse",
paymentText: 'Comment souhaitez-vous payer?', paymentText: "Comment souhaitez-vous payer?",
checkout: 'Check-out', checkout: "Check-out",
creditCard: 'Carte de crédit carte de débit', creditCard: "Carte de crédit carte de débit",
paypal: 'Pay Pal', paypal: "Pay Pal",
cod: 'Paiement à la livraison', cod: "Paiement à la livraison",
thankYou: 'Je vous remercie!', thankYou: "Je vous remercie!",
orderConfirmed: 'Votre commande est confirmée', orderConfirmed: "Votre commande est confirmée",
orderId: 'Votre identifiant de commande', orderId: "Votre identifiant de commande",
orderAmount: 'Le montant de votre commande', orderAmount: "Le montant de votre commande",
orderDetail: 'Détails de la commande', orderDetail: "Détails de la commande",
paymentMethod: 'Mode de paiement', paymentMethod: "Mode de paiement",
trackOrder: 'Suivi de commande', trackOrder: "Suivi de commande",
backToMenu: 'Suivi de commande', backToMenu: "Suivi de commande",
foodItem: 'Produit alimentaire', foodItem: "Produit alimentaire",
deliveredTo: 'livré à', deliveredTo: "livré à",
writeAReview: 'Écrire une critique', writeAReview: "Écrire une critique",
orderReceived: 'Ordre reçu', orderReceived: "Ordre reçu",
cancelled: 'Annulé', cancelled: "Annulé",
foodPreparing: 'La nourriture est en cours de préparation', foodPreparing: "La nourriture est en cours de préparation",
delivered: 'Livré', delivered: "Livré",
rateAndReview: 'Notez et évaluez', rateAndReview: "Notez et évaluez",
reviewPlaceholder: 'Des revues plus détaillées ont plus de visibilité ...', reviewPlaceholder: "Des revues plus détaillées ont plus de visibilité ...",
submit: 'Soumettre', submit: "Soumettre",
noWorriesText: 'Pas de soucis, laissez-nous vous aider!', noWorriesText: "Pas de soucis, laissez-nous vous aider!",
yourEmail: 'Votre email', yourEmail: "Votre email",
send: 'Envoyer', send: "Envoyer",
checkEmail: checkEmail:
'Vérifiez votre email pour le lien de réinitialisation du mot de passe', "Vérifiez votre email pour le lien de réinitialisation du mot de passe",
languageText: "S'il vous plaît sélectionnez votre langue requise", languageText: "S'il vous plaît sélectionnez votre langue requise",
countryCodePickerTranslation: 'fra', countryCodePickerTranslation: "fra",
countryCodeSelect: 'Sélectionnez le code pays', countryCodeSelect: "Sélectionnez le code pays",
paymentNotSupported: paymentNotSupported:
'Ce mode de paiement ne prend pas en charge cette devise', "Ce mode de paiement ne prend pas en charge cette devise",
unReadReviews: "Pas encore d'avis!", unReadReviews: "Pas encore d'avis!",
unReadOrders: 'Pas de commande pour le moment!', unReadOrders: "Pas de commande pour le moment!",
error: 'Erreur', error: "Erreur",
noMoreItems: "Plus d'articles en stock", noMoreItems: "Plus d'articles en stock",
hungry: 'Faim', hungry: "Faim",
emptyCartBtn: 'Retour à la nourriture', emptyCartBtn: "Retour à la nourriture",
subTotal: 'Total', subTotal: "Total",
deliveryFee: 'Frais de livraison', deliveryFee: "Frais de livraison",
haveVoucher: 'Avez-vous un bon', haveVoucher: "Avez-vous un bon",
remove: 'Retirer', remove: "Retirer",
change: 'Changement', change: "Changement",
condition1: condition1:
"En remplissant cette commande, j'accepte toutes les conditions générales.", "En remplissant cette commande, j'accepte toutes les conditions générales.",
condition2: condition2:
"J'accepte et je vous demande d'exécuter le service commandé avant la fin de la période de révocation. Je suis conscient qu'après l'accomplissement complet du service, je perds mon droit de résolution.", "J'accepte et je vous demande d'exécuter le service commandé avant la fin de la période de révocation. Je suis conscient qu'après l'accomplissement complet du service, je perds mon droit de résolution.",
orderBtn: 'Passer la commande', orderBtn: "Passer la commande",
coupanApply: 'Remise de coupon appliquée', coupanApply: "Remise de coupon appliquée",
coupanFailed: 'Coupon non disponible', coupanFailed: "Coupon non disponible",
invalidCoupan: 'Coupon non valide', invalidCoupan: "Coupon non valide",
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",
@ -180,32 +181,32 @@ export const fr = {
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",
@ -216,34 +217,36 @@ export const fr = {
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', Default: "Par défaut",
'Ascending (A-Z)': 'Croissant (A-Z)', "Ascending (A-Z)": "Croissant (A-Z)",
'Descending (Z-A)': 'Décroissant (Z-A)', "Descending (Z-A)": "Décroissant (Z-A)",
'Price (Low - High)': 'Prix (Bas - Élevé)', "Price (Low - High)": "Prix (Bas - Élevé)",
'Price (High - Low)': 'Prix (Élevé - Bas)', "Price (High - Low)": "Prix (Élevé - Bas)",
Home: 'Accueil', Home: "Accueil",
Work: 'Travail', Work: "Travail",
Other: 'Autre', Other: "Autre",
NoStock: 'Stock épuisé', NoStock: "Stock épuisé",
ItemOutOfStock: 'Article en rupture de stock', ItemOutOfStock: "Article en rupture de stock",
SelectLanguage: 'Sélectionner la langue', SelectLanguage: "Sélectionner la langue",
Done: 'Terminé', Done: "Terminé",
Cancel: 'Annuler', Cancel: "Annuler",
NoFoods: 'Pas de nourriture', NoFoods: "Pas de nourriture",
CartIsEmpty: 'Le panier est vide.', CartIsEmpty: "Le panier est vide.",
SetPaymentMethod: 'Définissez le mode de paiement avant de passer à la caisse', SetPaymentMethod:
AnErrorOccured: 'Une erreur s\'est produite. Veuillez réessayer', "Définissez le mode de paiement avant de passer à la caisse",
ResetPasswordLinkSent: 'Lien de réinitialisation du mot de passe envoyé sur votre email', AnErrorOccured: "Une erreur s'est produite. Veuillez réessayer",
LocationPermissionNotGranted: 'Permission de localisation non accordée', ResetPasswordLinkSent:
NoFooditemFound: 'Aucun article alimentaire trouvé', "Lien de réinitialisation du mot de passe envoyé sur votre email",
LocationPermissionNotGranted: "Permission de localisation non accordée",
NoFooditemFound: "Aucun article alimentaire trouvé",
SavedYet: "Vous n'avez encore sauvegardé aucune adresse.", SavedYet: "Vous n'avez encore sauvegardé aucune adresse.",
ClickAddNewAddress: 'Cliquez sur Ajouter une nouvelle adresse pour commencer', ClickAddNewAddress: "Cliquez sur Ajouter une nouvelle adresse pour commencer",
NoAddressesfound: 'Aucune adresse trouvée.', NoAddressesfound: "Aucune adresse trouvée.",
AddNewAddress: 'Ajouter une nouvelle adresse', AddNewAddress: "Ajouter une nouvelle adresse",
'About Us': 'À propos de nous', "About Us": "À propos de nous",
'Product Page': 'Page de produit', "Product Page": "Page de produit",
} };

View File

@ -1,165 +1,168 @@
export const km = { export const km = {
home: 'Home', home: "ទំព័រ​ដើម",
title0: 'ភាសាដែលបានជ្រើស', title0: "ភាសាដែលបានជ្រើស",
subtitle0: 'English', subtitle0: "English",
description0: description0:
'ជ្រើសរើសភាសាណាមួយនៃជម្រើសរបស់អ្នកដើម្បីប្តូរមាតិកានៃកម្មវិធីទៅភាសាដែលអ្នកត្រូវការ។', "ជ្រើសរើសភាសាណាមួយនៃជម្រើសរបស់អ្នកដើម្បីប្តូរមាតិកានៃកម្មវិធីទៅភាសាដែលអ្នកត្រូវការ។",
title1: 'ហ៊ាន', title1: "ហ៊ាន",
subtitle1: 'អាហារពេលព្រឹក', subtitle1: "អាហារពេលព្រឹក",
description1: description1:
'អាហារពេលព្រឹកគឺជាអ្វីគ្រប់យ៉ាង។ ការចាប់ផ្តើមរឿងដំបូង។ វាគឺជាមាត់ដែលជាការប្តេជ្ញាចិត្តចំពោះថ្ងៃថ្មីនិងជីវិតដែលនៅតែបន្ត។', "អាហារពេលព្រឹកគឺជាអ្វីគ្រប់យ៉ាង។ ការចាប់ផ្តើមរឿងដំបូង។ វាគឺជាមាត់ដែលជាការប្តេជ្ញាចិត្តចំពោះថ្ងៃថ្មីនិងជីវិតដែលនៅតែបន្ត។",
title2: 'ធ្វើឱ្យស្រស់', title2: "ធ្វើឱ្យស្រស់",
subtitle2: 'ភេសជ្ជៈ', subtitle2: "ភេសជ្ជៈ",
description2: description2:
'ភាពស្ងៀមស្ងាត់ពិតគឺជាគំនិតដែលនៅសល់ហើយជាវិញ្ញាណដែលជាការដេកលក់ដល់រាងកាយការថែទាំនិងការសំរាក។', "ភាពស្ងៀមស្ងាត់ពិតគឺជាគំនិតដែលនៅសល់ហើយជាវិញ្ញាណដែលជាការដេកលក់ដល់រាងកាយការថែទាំនិងការសំរាក។",
title3: 'ឆ្ងាញ់', title3: "ឆ្ងាញ់",
subtitle3: 'ការ៉េម', subtitle3: "ការ៉េម",
description3: description3:
'អាយុមិនបន្ថយនូវការខកចិត្តយ៉ាងខ្លាំងនៃការធ្លាក់ចុះនៃការ៉េមពីកោណទេ', "អាយុមិនបន្ថយនូវការខកចិត្តយ៉ាងខ្លាំងនៃការធ្លាក់ចុះនៃការ៉េមពីកោណទេ",
getStarted: 'ចាប់ផ្ដើម!', getStarted: "ចាប់ផ្ដើម!",
welcome: welcome:
'សូមស្វាគមន៏ទៅ Enatega ពេលខ្លះអ្វីដែលអ្នកត្រូវការគឺស្នេហា។ ប៉ុន្តែអាហារតិចតួចឥឡូវនេះហើយបន្ទាប់មកមិនឈឺទេ។', "សូមស្វាគមន៏ទៅ Enatega ពេលខ្លះអ្វីដែលអ្នកត្រូវការគឺស្នេហា។ ប៉ុន្តែអាហារតិចតួចឥឡូវនេះហើយបន្ទាប់មកមិនឈឺទេ។",
loginBtn: 'ចូល', loginBtn: "ចូល",
registerBtn: 'ចុះឈ្មោះ', registerBtn: "ចុះឈ្មោះ",
name: 'ឈ្មោះ', name: "ឈ្មោះ",
phone: 'ទូរស័ព្ទ', phone: "ទូរស័ព្ទ",
email: 'អ៊ីមែល', email: "អ៊ីមែល",
emailphone: 'អី​ុ​ម៉ែ​ល​ឬ​ទូរស័ព្ទ', emailphone: "អី​ុ​ម៉ែ​ល​ឬ​ទូរស័ព្ទ",
password: 'ពាក្យសម្ងាត់', password: "ពាក្យសម្ងាត់",
deliveryAddress: 'អាស័យ​ដ្ឋាន​សំរាប់​ការ​ដឹកជញ្ជូន', deliveryAddress: "អាស័យ​ដ្ឋាន​សំរាប់​ការ​ដឹកជញ្ជូន",
fullDeliveryAddress: 'អាសយដ្ឋានចែកចាយពេញរបស់អ្នក', fullDeliveryAddress: "អាសយដ្ឋានចែកចាយពេញរបស់អ្នក",
deliveryDetails: 'ព័ត៌មានលម្អិតចាំបាច់ -e. ជាន់ / អាគារ', deliveryDetails: "ព័ត៌មានលម្អិតចាំបាច់ -e. ជាន់ / អាគារ",
myAddresses: 'អាស័យដ្ឋានរបស់ខ្ញុំ', myAddresses: "អាស័យដ្ឋានរបស់ខ្ញុំ",
addAddress: 'បន្ថែមអាសយដ្ឋានថ្មី', addAddress: "បន្ថែមអាសយដ្ឋានថ្មី",
editAddress: 'កែសម្រួលអាសយដ្ឋាន', editAddress: "កែសម្រួលអាសយដ្ឋាន",
registerText: 'ឬចុះឈ្មោះជាមួយ', registerText: "ឬចុះឈ្មោះជាមួយ",
forgotPassword: 'ភ្លេច​លេខសំងាត់​?', forgotPassword: "ភ្លេច​លេខសំងាត់​?",
loginText: 'ឬចូលជាមួយ', loginText: "ឬចូលជាមួយ",
deliveryLocation: deliveryLocation:
'កំណត់ទីតាំងដឹកជញ្ជូនរបស់អ្នកដូច្នេះយើងអាចផ្ញើឱ្យអ្នកនូវរសជាតិអាហារឆ្ងាញ់គ្មានទីបញ្ចប់។', "កំណត់ទីតាំងដឹកជញ្ជូនរបស់អ្នកដូច្នេះយើងអាចផ្ញើឱ្យអ្នកនូវរសជាតិអាហារឆ្ងាញ់គ្មានទីបញ្ចប់។",
locationBtn: 'បើកទីតាំង', locationBtn: "បើកទីតាំង",
locationPermissionDenied: 'ការអនុញ្ញាតចូលទៅកាន់ទីតាំងត្រូវបានបដិសេធ', locationPermissionDenied: "ការអនុញ្ញាតចូលទៅកាន់ទីតាំងត្រូវបានបដិសេធ",
locationOff: 'បើកទីតាំងហើយព្យាយាមម្តងទៀត', locationOff: "បើកទីតាំងហើយព្យាយាមម្តងទៀត",
titleLanguage: 'ប្ដូរ​ភាសា', titleLanguage: "ប្ដូរ​ភាសា",
titleMenu: 'ម៉ឺនុយ', titleMenu: "ម៉ឺនុយ",
titleOrders: 'ការបញ្ជាទិញរបស់ខ្ញុំ', titleOrders: "ការបញ្ជាទិញរបស់ខ្ញុំ",
titleNotifications: 'ការជូនដំណឹង', titleNotifications: "ការជូនដំណឹង",
titleReviews: 'ពិនិត្យ', titleReviews: "ពិនិត្យ",
titleProfile: 'ប្រវត្តិរូប', titleProfile: "ប្រវត្តិរូប",
titleHelp: 'ជំនួយ', titleHelp: "ជំនួយ",
titleChat: 'ជជែក', titleChat: "ជជែក",
titleLogout: 'ចាកចេញ', titleLogout: "ចាកចេញ",
titleCart: 'កន្ត្រករបស់ខ្ញុំ', titleCart: "កន្ត្រករបស់ខ្ញុំ",
titlePayment: 'ការទូទាត់', titlePayment: "ការទូទាត់",
totalOrderAmount: 'បរិមាណសរុប', totalOrderAmount: "បរិមាណសរុប",
reOrder: 'តម្រៀបឡើងវិញ', reOrder: "តម្រៀបឡើងវិញ",
unReadNotifications: 'គ្មានការជូនដំណឹងមិនទាន់អាន', unReadNotifications: "គ្មានការជូនដំណឹងមិនទាន់អាន",
upload: 'ផ្ទុកឡើង', upload: "ផ្ទុកឡើង",
saveBtn: 'រក្សាទុក', saveBtn: "រក្សាទុក",
saveContBtn: 'រក្សាទុកនិងបន្ត', saveContBtn: "រក្សាទុកនិងបន្ត",
emailUs: 'អ៊ីម៉ែលមកយើងនៅ', emailUs: "អ៊ីម៉ែលមកយើងនៅ",
question1: 'តើយើងរកម្ហូបបាននៅឯណា?', question1: "តើយើងរកម្ហូបបាននៅឯណា?",
question2: 'តើយើងទាក់ទងយ៉ាងដូចម្តេច?', question2: "តើយើងទាក់ទងយ៉ាងដូចម្តេច?",
question3: 'តើខ្ញុំអាចបង់ប្រាក់ដល់មនុស្សដែលត្រូវដឹកជញ្ជូន?', question3: "តើខ្ញុំអាចបង់ប្រាក់ដល់មនុស្សដែលត្រូវដឹកជញ្ជូន?",
question4: 'តើសេវាកម្មនេះមាននៅក្នុងទីក្រុងរបស់ខ្ញុំដែរឬទេ?', question4: "តើសេវាកម្មនេះមាននៅក្នុងទីក្រុងរបស់ខ្ញុំដែរឬទេ?",
answer1: answer1:
'អ្នកអាចរកឃើញម្ហូបអាហារនៅហាងដែលនៅជិតបំផុតរបស់អ្នកដោយមិនបង់អ្វីឱ្យសេវាកម្មបំរើអតិថិជន។ ការចោទប្រកាន់របស់យើងមានកម្រិតទាបខ្លាំងបើប្រៀបធៀបទៅនឹងអ្នកដទៃ។', "អ្នកអាចរកឃើញម្ហូបអាហារនៅហាងដែលនៅជិតបំផុតរបស់អ្នកដោយមិនបង់អ្វីឱ្យសេវាកម្មបំរើអតិថិជន។ ការចោទប្រកាន់របស់យើងមានកម្រិតទាបខ្លាំងបើប្រៀបធៀបទៅនឹងអ្នកដទៃ។",
answer2: 'អ្នកអាចទាក់ទងយើងតាមរយៈអ៊ីម៉ែលលេខទូរស័ព្ទឬវេបសាយរបស់យើង។', answer2: "អ្នកអាចទាក់ទងយើងតាមរយៈអ៊ីម៉ែលលេខទូរស័ព្ទឬវេបសាយរបស់យើង។",
answer3: answer3:
'អ្នកអាចបង់ប្រាក់ទៅកាន់បុគ្គលដឹកជញ្ជូនដោយផ្ទាល់ឬបង់ប្រាក់តាមរយៈអ៊ីនធឺណេតតាមរយៈប័ណ្ណឥណទានឬឥណពន្ធផងដែរ។', "អ្នកអាចបង់ប្រាក់ទៅកាន់បុគ្គលដឹកជញ្ជូនដោយផ្ទាល់ឬបង់ប្រាក់តាមរយៈអ៊ីនធឺណេតតាមរយៈប័ណ្ណឥណទានឬឥណពន្ធផងដែរ។",
answer4: answer4:
'បច្ចុប្បន្នសេវាកម្មនេះអាចរកបាននៅក្នុងទីក្រុងអ៊ីស្លាម៉ាបាតនិងការ៉ាជីដែលអ្នកអាចទាក់ទងមកយើងដើម្បីទទួលបានសេវាកម្មនេះនៅក្នុងទីក្រុងរបស់អ្នក។', "បច្ចុប្បន្នសេវាកម្មនេះអាចរកបាននៅក្នុងទីក្រុងអ៊ីស្លាម៉ាបាតនិងការ៉ាជីដែលអ្នកអាចទាក់ទងមកយើងដើម្បីទទួលបានសេវាកម្មនេះនៅក្នុងទីក្រុងរបស់អ្នក។",
add: 'បន្ថែម', add: "បន្ថែម",
quantity: 'បរិមាណ', quantity: "បរិមាណ",
size: 'ទំហំ', size: "ទំហំ",
addToCart: 'បន្ថែមទៅកន្ត្រក', addToCart: "បន្ថែមទៅកន្ត្រក",
orderNow: 'បញ្ជាទិញឥឡូវ', orderNow: "បញ្ជាទិញឥឡូវ",
addToCartMessage: 'បានបន្ថែមទៅរទេះ', addToCartMessage: "បានបន្ថែមទៅរទេះ",
emptyCart: 'គ្មានធាតុក្នុងរទេះទេ', emptyCart: "គ្មានធាតុក្នុងរទេះទេ",
itemTotal: 'ធាតុសរុប', itemTotal: "ធាតុសរុប",
delvieryCharges: 'ការដឹកជញ្ជូន', delvieryCharges: "ការដឹកជញ្ជូន",
total: 'សរុប', total: "សរុប",
contactInfo: 'ព័ត៌មានទំនាក់ទំនង', contactInfo: "ព័ត៌មានទំនាក់ទំនង",
deliveryAddressmessage: 'កំណត់អាសយដ្ឋានបញ្ជូន', deliveryAddressmessage: "កំណត់អាសយដ្ឋានបញ្ជូន",
proceedCheckout: 'បន្តដើម្បីពិនិត្យចេញ', proceedCheckout: "បន្តដើម្បីពិនិត្យចេញ",
paymentText: 'តើអ្នកចង់បង់ប្រាក់ដោយរបៀបណា?', paymentText: "តើអ្នកចង់បង់ប្រាក់ដោយរបៀបណា?",
checkout: 'ពិនិត្យ​មុន​ពេល​ចេញ', checkout: "ពិនិត្យ​មុន​ពេល​ចេញ",
creditCard: 'ប័ណ្ណឥណទាន / ប័ណ្ណឥណពន្ធ', creditCard: "ប័ណ្ណឥណទាន / ប័ណ្ណឥណពន្ធ",
paypal: 'Paypal', paypal: "Paypal",
cod: 'សាច់ប្រាក់នៅពេលប្រគល់', cod: "សាច់ប្រាក់នៅពេលប្រគល់",
thankYou: 'សូមអរគុណ!', thankYou: "សូមអរគុណ!",
orderConfirmed: 'បញ្ជាទិញរបស់អ្នកត្រូវបានបញ្ជាក់', orderConfirmed: "បញ្ជាទិញរបស់អ្នកត្រូវបានបញ្ជាក់",
orderId: 'លេខសម្គាល់លំដាប់របស់អ្នក', orderId: "លេខសម្គាល់លំដាប់របស់អ្នក",
orderAmount: 'ចំនួនទឹកប្រាក់នៃការបញ្ជាទិញរបស់អ្នក', orderAmount: "ចំនួនទឹកប្រាក់នៃការបញ្ជាទិញរបស់អ្នក",
orderDetail: 'លំអិតលំដាប់', orderDetail: "លំអិតលំដាប់",
paymentMethod: 'វិធី​សា​ស្រ្ត​ទូទាត់', paymentMethod: "វិធី​សា​ស្រ្ត​ទូទាត់",
trackOrder: 'លំដាប់តាមបទ', trackOrder: "លំដាប់តាមបទ",
backToMenu: 'លំដាប់តាមបទ', backToMenu: "លំដាប់តាមបទ",
foodItem: 'ម្ហូបអាហារ', foodItem: "ម្ហូបអាហារ",
deliveredTo: 'បញ្ជូនទៅ', deliveredTo: "បញ្ជូនទៅ",
writeAReview: 'សរសេរ​សង្ខេប​ឡើងវិញ', writeAReview: "សរសេរ​សង្ខេប​ឡើងវិញ",
orderReceived: 'បញ្ជាទិញដែលទទួលបាន', orderReceived: "បញ្ជាទិញដែលទទួលបាន",
cancelled: 'បានបោះបង់', cancelled: "បានបោះបង់",
foodPreparing: 'ម្ហូបកំពុងត្រូវបានរៀបចំ', foodPreparing: "ម្ហូបកំពុងត្រូវបានរៀបចំ",
delivered: 'បានបញ្ជូន', delivered: "បានបញ្ជូន",
rateAndReview: 'វាយតម្លៃនិងពិនិត្យ', rateAndReview: "វាយតម្លៃនិងពិនិត្យ",
reviewPlaceholder: 'ការពិនិត្យលម្អិតបន្ថែមទៀតទទួលបានភាពមើលឃើញកាន់តែច្រើន ...', reviewPlaceholder: "ការពិនិត្យលម្អិតបន្ថែមទៀតទទួលបានភាពមើលឃើញកាន់តែច្រើន ...",
submit: 'ដាក់ស្នើ', submit: "ដាក់ស្នើ",
noWorriesText: 'គ្មានការព្រួយបារម្ភសូមឱ្យយើងជួយអ្នកចេញ!', noWorriesText: "គ្មានការព្រួយបារម្ភសូមឱ្យយើងជួយអ្នកចេញ!",
yourEmail: 'អ៊ីមែល​របស់​អ្នក', yourEmail: "អ៊ីមែល​របស់​អ្នក",
send: 'ផ្ញើ', send: "ផ្ញើ",
checkEmail: 'ពិនិត្យអ៊ីមែលរបស់អ្នកសម្រាប់តំណពាក្យសម្ងាត់ឡើងវិញ', checkEmail: "ពិនិត្យអ៊ីមែលរបស់អ្នកសម្រាប់តំណពាក្យសម្ងាត់ឡើងវិញ",
languageText: 'សូមជ្រើសរើសភាសាដែលអ្នកត្រូវការ', languageText: "សូមជ្រើសរើសភាសាដែលអ្នកត្រូវការ",
countryCodePickerTranslation: 'eng', countryCodePickerTranslation: "eng",
countryCodeSelect: 'ជ្រើសរើសលេខកូដប្រទេស', countryCodeSelect: "ជ្រើសរើសលេខកូដប្រទេស",
paymentNotSupported: 'វិធីសាស្ត្រទូទាត់នេះមិនគាំទ្ររូបិយប័ណ្ណនេះទេ', paymentNotSupported: "វិធីសាស្ត្រទូទាត់នេះមិនគាំទ្ររូបិយប័ណ្ណនេះទេ",
unReadReviews: 'មិនទាន់មានការពិនិត្យឡើងវិញទេ!', unReadReviews: "មិនទាន់មានការពិនិត្យឡើងវិញទេ!",
unReadOrders: 'មិនទាន់មានការបញ្ជាទិញនៅឡើយទេ!', unReadOrders: "មិនទាន់មានការបញ្ជាទិញនៅឡើយទេ!",
error: 'កំហុស', error: "កំហុស",
noMoreItems: 'មិនមានរបស់នៅក្នុងស្តុកទៀតទេ', noMoreItems: "មិនមានរបស់នៅក្នុងស្តុកទៀតទេ",
hungry: 'ឃ្លាន', hungry: "ឃ្លាន",
emptyCartBtn: 'ត្រឡប់ទៅអាហារ', emptyCartBtn: "ត្រឡប់ទៅអាហារ",
subTotal: 'SubTotal', subTotal: "SubTotal",
deliveryFee: 'ថ្លៃសេវាដឹកជញ្ជូន', deliveryFee: "ថ្លៃសេវាដឹកជញ្ជូន",
haveVoucher: 'តើអ្នកមានប័ណ្ណទូទាត់ទេ?', haveVoucher: "តើអ្នកមានប័ណ្ណទូទាត់ទេ?",
remove: 'យកចេញ', remove: "យកចេញ",
change: 'ផ្លាស់ប្តូរ', change: "ផ្លាស់ប្តូរ",
condition1: 'ដោយបំពេញការបញ្ជាទិញនេះខ្ញុំយល់ព្រមនឹងល័ក្ខខ័ណ្ឌទាំងអស់។', condition1: "ដោយបំពេញការបញ្ជាទិញនេះខ្ញុំយល់ព្រមនឹងល័ក្ខខ័ណ្ឌទាំងអស់។",
condition2: condition2:
'ខ្ញុំយល់ព្រមហើយខ្ញុំទាមទារឱ្យអ្នកប្រតិបត្តិសេវាកម្មដែលបានបញ្ជាទិញមុនពេលចុងបញ្ចប់នៃរយៈពេលដកហូត។ ខ្ញុំដឹងថាបន្ទាប់ពីការបំពេញសេវាកម្មពេញលេញខ្ញុំបាត់បង់សិទ្ធិក្នុងការរំដោះខ្លួន។', "ខ្ញុំយល់ព្រមហើយខ្ញុំទាមទារឱ្យអ្នកប្រតិបត្តិសេវាកម្មដែលបានបញ្ជាទិញមុនពេលចុងបញ្ចប់នៃរយៈពេលដកហូត។ ខ្ញុំដឹងថាបន្ទាប់ពីការបំពេញសេវាកម្មពេញលេញខ្ញុំបាត់បង់សិទ្ធិក្នុងការរំដោះខ្លួន។",
orderBtn: 'ដាក់បញ្ជាទិញ', orderBtn: "ដាក់បញ្ជាទិញ",
coupanApply: 'ការបញ្ចុះតម្លៃប័ណ្ណត្រូវបានអនុវត្ត', coupanApply: "ការបញ្ចុះតម្លៃប័ណ្ណត្រូវបានអនុវត្ត",
coupanFailed: 'គូប៉ុងមិនមានទេ', coupanFailed: "គូប៉ុងមិនមានទេ",
invalidCoupan: 'គូប៉ុងមិនត្រឹមត្រូវ', invalidCoupan: "គូប៉ុងមិនត្រឹមត្រូវ",
validateItems: 'បន្ថែមរបស់របរទៅរទេះមុនពេលឆែក', validateItems: "បន្ថែមរបស់របរទៅរទេះមុនពេលឆែក",
validateDelivery: 'កំណត់អាសយដ្ឋានដឹកជញ្ជូនមុនពេលពិនិត្យចេញ', validateDelivery: "កំណត់អាសយដ្ឋានដឹកជញ្ជូនមុនពេលពិនិត្យចេញ",
language: 'ភាសា', language: "ភាសា",
getUpdatesText: 'ទទួល​បាន​ការ​ធ្វើ​បច្ចុប្បន្ន​ភាព​លើ​ស្ថាន​ភាព​ការ​បញ្ជាទិញ​របស់​អ្នក!', getUpdatesText:
delAcc: 'លុប​គណនី', "ទទួល​បាន​ការ​ធ្វើ​បច្ចុប្បន្ន​ភាព​លើ​ស្ថាន​ភាព​ការ​បញ្ជាទិញ​របស់​អ្នក!",
delAccText: 'តើ​អ្នក​ប្រាកដ​ថា​តើ​ចង់​លុប​គណនី​ឬ​ទេ?', delAcc: "លុប​គណនី",
cancel: 'បោះបង់', delAccText: "តើ​អ្នក​ប្រាកដ​ថា​តើ​ចង់​លុប​គណនី​ឬ​ទេ?",
receiveOffers: 'ទទួល​បាន​ការ​ផ្តល់​ជូន​ពិសេស', cancel: "បោះបង់",
notificationUpdate: 'ការ​ប្រកាស​ការ​ជូន​ដំណឹង​ត្រូវបាន​ធ្វើ​បច្ចុប្បន្ន', receiveOffers: "ទទួល​បាន​ការ​ផ្តល់​ជូន​ពិសេស",
notificationsNotWorking: "ការ​ជូន​ដំណឹង​មិន​ដំណើរ​ការ​លើ​ម៉ាស៊ីន​សម្រាប់​ប្រើប្រាស់តំណល", notificationUpdate: "ការ​ប្រកាស​ការ​ជូន​ដំណឹង​ត្រូវបាន​ធ្វើ​បច្ចុប្បន្ន",
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: "លេខសម្ងាត់បច្ចុប្បន្ន",
@ -175,32 +178,32 @@ export const km = {
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: "ត្រូវការពាក្យសម្ងាត់",
@ -211,35 +214,34 @@ export const km = {
orderDelivered: "ការបញ្ជាទិញបានដឹកជញ្ជូន។", orderDelivered: "ការបញ្ជាទិញបានដឹកជញ្ជូន។",
completeOrder: "ការបញ្ជាទិញបានបញ្ចប់។", completeOrder: "ការបញ្ជាទិញបានបញ្ចប់។",
PENDING: "កំពុងរង់ចាំ", PENDING: "កំពុងរង់ចាំ",
ACCEPTED: 'បានទទួលយក', ACCEPTED: "បានទទួលយក",
PICKED: "បានជូនយក", PICKED: "បានជូនយក",
DELIVERED: "បានដឹកជញ្ជូន", DELIVERED: "បានដឹកជញ្ជូន",
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: 'គ្មាន​ស្តុក', NoStock: "គ្មាន​ស្តុក",
ItemOutOfStock: 'មុខទំនិញ​អស់​ស្តុក', ItemOutOfStock: "មុខទំនិញ​អស់​ស្តុក",
SelectLanguage: 'ជ្រើសរើសភាសា', SelectLanguage: "ជ្រើសរើសភាសា",
Done: 'រួចរាល់', Done: "រួចរាល់",
Cancel: 'បោះបង់', Cancel: "បោះបង់",
NoFoods: 'មិនមានអាហារ', NoFoods: "មិនមានអាហារ",
CartIsEmpty: 'រទេះទម្ងន់។', CartIsEmpty: "រទេះទម្ងន់។",
SetPaymentMethod: 'កំណត់របស់មុនពេលចេញ', SetPaymentMethod: "កំណត់របស់មុនពេលចេញ",
AnErrorOccured: 'មានកំហុសមិនរួចហើយ។ សូមព្យាយាមម្តងទៀត', AnErrorOccured: "មានកំហុសមិនរួចហើយ។ សូមព្យាយាមម្តងទៀត",
ResetPasswordLinkSent: 'បានផ្ញើតំណរពេលបានប្ដូរពាក្យសម្ងាត់របស់អ្នកហើយ', ResetPasswordLinkSent: "បានផ្ញើតំណរពេលបានប្ដូរពាក្យសម្ងាត់របស់អ្នកហើយ",
LocationPermissionNotGranted: 'មិនបានទទួលស្ថានភាពទីតាំង', LocationPermissionNotGranted: "មិនបានទទួលស្ថានភាពទីតាំង",
NoFooditemFound: 'មិនបានរកឃើញវាលម្ហូប', NoFooditemFound: "មិនបានរកឃើញវាលម្ហូប",
SavedYet: 'អ្នកមិនទាន់រក្សាទុកអាសយដ្ឋានណាមួយទេ។', SavedYet: "អ្នកមិនទាន់រក្សាទុកអាសយដ្ឋានណាមួយទេ។",
ClickAddNewAddress: 'ចុចលើប៊ូតុងបន្ថែមអាសយដ្ឋានថ្មីដើម្បីចាប់ផ្តើម', ClickAddNewAddress: "ចុចលើប៊ូតុងបន្ថែមអាសយដ្ឋានថ្មីដើម្បីចាប់ផ្តើម",
NoAddressesfound: 'រកមិនឃើញអាសយដ្ឋានទេ។', NoAddressesfound: "រកមិនឃើញអាសយដ្ឋានទេ។",
AddNewAddress: 'បន្ថែមអាសយដ្ឋានថ្មី', AddNewAddress: "បន្ថែមអាសយដ្ឋានថ្មី",
'About Us': 'អំពីពួកយើង', "About Us": "អំពីពួកយើង",
'Product Page': 'ទំព័រផលិតផល', "Product Page": "ទំព័រផលិតផល",
};
}

View File

@ -1,156 +1,156 @@
export const zh = { export const zh = {
home: 'Home', home: "主页",
title0: '选定的语言', title0: "选定的语言",
subtitle0: 'English', subtitle0: "English",
description0: '选择您选择的任何语言,将应用内容更改为您所需的语言。', description0: "选择您选择的任何语言,将应用内容更改为您所需的语言。",
title1: '可口', title1: "可口",
subtitle1: '早餐', subtitle1: "早餐",
description1: description1:
'早餐就是一切。一开始,第一件事。这是对新的一天,持续生活的承诺。', "早餐就是一切。一开始,第一件事。这是对新的一天,持续生活的承诺。",
title2: '清爽', title2: "清爽",
subtitle2: '饮料', subtitle2: "饮料",
description2: description2:
'真正的沉默是心灵的其余部分,对于精神来说,睡眠对身体,营养和茶点来说都是如此。', "真正的沉默是心灵的其余部分,对于精神来说,睡眠对身体,营养和茶点来说都是如此。",
title3: '美味的', title3: "美味的",
subtitle3: '冰淇淋', subtitle3: "冰淇淋",
description3: '年龄不会减少从冰锥中舀出一勺冰淇淋的极度失望', description3: "年龄不会减少从冰锥中舀出一勺冰淇淋的极度失望",
getStarted: '开始吧!', getStarted: "开始吧!",
welcome: welcome:
'欢迎来到Enatega有时您需要的只是爱。但是偶尔会有点食物不会受到伤害。', "欢迎来到Enatega有时您需要的只是爱。但是偶尔会有点食物不会受到伤害。",
loginBtn: '登录', loginBtn: "登录",
registerBtn: '寄存器', registerBtn: "寄存器",
name: '名称', name: "名称",
phone: '电话', phone: "电话",
email: '电子邮件', email: "电子邮件",
emailphone: '邮件或者电话', emailphone: "邮件或者电话",
password: '密码', password: "密码",
deliveryAddress: '邮寄地址', deliveryAddress: "邮寄地址",
fullDeliveryAddress: '您的完整收货地址', fullDeliveryAddress: "您的完整收货地址",
deliveryDetails: '必填详细信息-例如 楼层/建筑物', deliveryDetails: "必填详细信息-例如 楼层/建筑物",
myAddresses: '我的地址', myAddresses: "我的地址",
addAddress: '添加新地址', addAddress: "添加新地址",
editAddress: '编辑地址', editAddress: "编辑地址",
registerText: '或注册', registerText: "或注册",
forgotPassword: '忘记密码?', forgotPassword: "忘记密码?",
loginText: '或登录', loginText: "或登录",
deliveryLocation: '设置您的送货地点,以便我们可以向您发送无尽的美味食物。', deliveryLocation: "设置您的送货地点,以便我们可以向您发送无尽的美味食物。",
locationBtn: '打开位置', locationBtn: "打开位置",
locationPermissionDenied: '访问位置的权限被拒绝', locationPermissionDenied: "访问位置的权限被拒绝",
locationOff: '访问位置的权限被拒绝', locationOff: "访问位置的权限被拒绝",
titleLanguage: '改变语言', titleLanguage: "改变语言",
titleMenu: '菜单', titleMenu: "菜单",
titleOrders: '我的订单', titleOrders: "我的订单",
titleNotifications: '通知', titleNotifications: "通知",
titleReviews: '评测', titleReviews: "评测",
titleProfile: '轮廓', titleProfile: "轮廓",
titleHelp: '救命', titleHelp: "救命",
titleChat: '聊', titleChat: "聊",
titleLogout: '登出', titleLogout: "登出",
titleCart: '我的车', titleCart: "我的车",
titlePayment: '付款', titlePayment: "付款",
totalOrderAmount: '总订单金额', totalOrderAmount: "总订单金额",
reOrder: '重新排序', reOrder: "重新排序",
unReadNotifications: '没有未读通知', unReadNotifications: "没有未读通知",
upload: '上传', upload: "上传",
saveBtn: '保存', saveBtn: "保存",
saveContBtn: '保存并继续', saveContBtn: "保存并继续",
emailUs: '给我们发电子邮件', emailUs: "给我们发电子邮件",
question1: '我们在哪里找到食物?', question1: "我们在哪里找到食物?",
question2: '我们如何联系?', question2: "我们如何联系?",
question3: '我该如何付款给送货人?', question3: "我该如何付款给送货人?",
question4: '我的城市有这项服务吗?', question4: "我的城市有这项服务吗?",
answer1: answer1:
'您可以在离您最近的商店找到食物,而无需向客户支付任何费用。与其他人相比,我们的收费极低。', "您可以在离您最近的商店找到食物,而无需向客户支付任何费用。与其他人相比,我们的收费极低。",
answer2: '您可以通过我们的电子邮件,电话号码或我们的网站联系我们。', answer2: "您可以通过我们的电子邮件,电话号码或我们的网站联系我们。",
answer3: '您可以亲自向付款人付款或使用信用卡或借记卡在线付款。', answer3: "您可以亲自向付款人付款或使用信用卡或借记卡在线付款。",
answer4: answer4:
'目前,这项服务在伊斯兰堡和卡拉奇市提供,您可以联系我们以便在您所在的城市使用此服务。', "目前,这项服务在伊斯兰堡和卡拉奇市提供,您可以联系我们以便在您所在的城市使用此服务。",
add: '加', add: "加",
quantity: '数量', quantity: "数量",
size: '尺寸', size: "尺寸",
addToCart: '添加到购物车', addToCart: "添加到购物车",
orderNow: '现在下单', orderNow: "现在下单",
addToCartMessage: '已添加到购物车', addToCartMessage: "已添加到购物车",
emptyCart: '购物车中没有商品', emptyCart: "购物车中没有商品",
itemTotal: '项目总计', itemTotal: "项目总计",
delvieryCharges: '送货费', delvieryCharges: "送货费",
total: '总', total: "总",
contactInfo: '联系信息', contactInfo: "联系信息",
deliveryAddressmessage: '设置送货地址', deliveryAddressmessage: "设置送货地址",
proceedCheckout: '进行结算', proceedCheckout: "进行结算",
paymentText: '你想怎么付钱?', paymentText: "你想怎么付钱?",
checkout: '查看', checkout: "查看",
creditCard: '信用卡/借记卡', creditCard: "信用卡/借记卡",
paypal: '贝宝', paypal: "贝宝",
cod: '货到付款', cod: "货到付款",
thankYou: 'ស谢谢!', thankYou: "ស谢谢!",
orderConfirmed: '您的订单已确认', orderConfirmed: "您的订单已确认",
orderId: '您的订单ID', orderId: "您的订单ID",
orderAmount: '您的订单金额', orderAmount: "您的订单金额",
orderDetail: '订单详情', orderDetail: "订单详情",
paymentMethod: '付款方法', paymentMethod: "付款方法",
trackOrder: '跟踪订单', trackOrder: "跟踪订单",
backToMenu: '跟踪订单', backToMenu: "跟踪订单",
foodItem: '食品', foodItem: "食品",
deliveredTo: '送到了(送去了', deliveredTo: "送到了(送去了",
writeAReview: '写评论', writeAReview: "写评论",
orderReceived: '订单已经收到', orderReceived: "订单已经收到",
cancelled: '取消', cancelled: "取消",
foodPreparing: '食物正在准备中', foodPreparing: "食物正在准备中",
delivered: '交付', delivered: "交付",
rateAndReview: '打分和评论', rateAndReview: "打分和评论",
reviewPlaceholder: '更详细的评论获得更多可见性......', reviewPlaceholder: "更详细的评论获得更多可见性......",
submit: '提交', submit: "提交",
noWorriesText: '不用担心,让我们帮帮你吧!', noWorriesText: "不用担心,让我们帮帮你吧!",
yourEmail: '你的邮件', yourEmail: "你的邮件",
send: '发送', send: "发送",
checkEmail: '查看您的电子邮件以重置密码链接', checkEmail: "查看您的电子邮件以重置密码链接",
languageText: '请选择您需要的语言', languageText: "请选择您需要的语言",
countryCodePickerTranslation: 'zho', countryCodePickerTranslation: "zho",
countryCodeSelect: '选择国家代码', countryCodeSelect: "选择国家代码",
paymentNotSupported: '此付款方式不支持此货币', paymentNotSupported: "此付款方式不支持此货币",
unReadReviews: '暂无评论!', unReadReviews: "暂无评论!",
unReadOrders: '尚无订单!', unReadOrders: "尚无订单!",
error: '错误', error: "错误",
noMoreItems: '库存不多', noMoreItems: "库存不多",
hungry: '饥饿', hungry: "饥饿",
emptyCartBtn: '回到食物', emptyCartBtn: "回到食物",
subTotal: '小计', subTotal: "小计",
deliveryFee: '快递费', deliveryFee: "快递费",
haveVoucher: '你有优惠券吗', haveVoucher: "你有优惠券吗",
remove: '去掉', remove: "去掉",
change: '更改', change: "更改",
condition1: '完成此订单,即表示我同意所有条款和条件。', condition1: "完成此订单,即表示我同意所有条款和条件。",
condition2: condition2:
'我同意,我要求您在吊销期结束之前执行订购的服务。 我知道,在完全完成服务后,我将失去撤销的权利。', "我同意,我要求您在吊销期结束之前执行订购的服务。 我知道,在完全完成服务后,我将失去撤销的权利。",
orderBtn: '下订单', orderBtn: "下订单",
coupanApply: '优惠券折扣', coupanApply: "优惠券折扣",
coupanFailed: '优惠券不可用', coupanFailed: "优惠券不可用",
invalidCoupan: '优惠券无效', invalidCoupan: "优惠券无效",
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: "用户信息已更新",
@ -171,32 +171,32 @@ export const zh = {
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: "需要密码",
@ -207,35 +207,34 @@ export const zh = {
orderDelivered: "订单已送达。", orderDelivered: "订单已送达。",
completeOrder: "订单已完成。", completeOrder: "订单已完成。",
PENDING: "待处理", PENDING: "待处理",
ACCEPTED: '已接受', ACCEPTED: "已接受",
PICKED: "已取货", PICKED: "已取货",
DELIVERED: "已送达", DELIVERED: "已送达",
COMPLETED: "已完成", COMPLETED: "已完成",
'Default': '默认', Default: "默认",
'Ascending (A-Z)': '升序 (A-Z)', "Ascending (A-Z)": "升序 (A-Z)",
'Descending (Z-A)': '降序 (Z-A)', "Descending (Z-A)": "降序 (Z-A)",
'Price (Low - High)': '价格 (低 - 高)', "Price (Low - High)": "价格 (低 - 高)",
'Price (High - Low)': '价格 (高 - 低)', "Price (High - Low)": "价格 (高 - 低)",
Home: '首页', Home: "首页",
Work: '工作', Work: "工作",
Other: '其他', Other: "其他",
NoStock: '无库存', NoStock: "无库存",
ItemOutOfStock: '商品缺货', ItemOutOfStock: "商品缺货",
SelectLanguage: '选择语言', SelectLanguage: "选择语言",
Done: '完成', Done: "完成",
Cancel: '取消', Cancel: "取消",
NoFoods: '没有食物', NoFoods: "没有食物",
CartIsEmpty: '购物车是空的。', CartIsEmpty: "购物车是空的。",
SetPaymentMethod: '请在结账前设置付款方式', SetPaymentMethod: "请在结账前设置付款方式",
AnErrorOccured: '发生错误。请重试', AnErrorOccured: "发生错误。请重试",
ResetPasswordLinkSent: '重置密码链接已发送到您的电子邮件', ResetPasswordLinkSent: "重置密码链接已发送到您的电子邮件",
LocationPermissionNotGranted: '未授予位置权限', LocationPermissionNotGranted: "未授予位置权限",
NoFooditemFound: '找不到食品项目', NoFooditemFound: "找不到食品项目",
SavedYet: '您尚未保存任何地址。', SavedYet: "您尚未保存任何地址。",
ClickAddNewAddress: '单击“添加新地址”以开始', ClickAddNewAddress: "单击“添加新地址”以开始",
NoAddressesfound: '未找到地址。', NoAddressesfound: "未找到地址。",
AddNewAddress: '添加新地址', AddNewAddress: "添加新地址",
'About Us': '关于我们', "About Us": "关于我们",
'Product Page': '产品页面', "Product Page": "产品页面",
};
}