diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx
index d6aca60..ac93a74 100644
--- a/app/(tabs)/index.tsx
+++ b/app/(tabs)/index.tsx
@@ -1,18 +1,24 @@
+import MemoChat from '@/assets/icons/svg/memo-chat.svg';
+import MemoIP from '@/assets/icons/svg/memo-ip.svg';
import { useRouter } from 'expo-router';
+import { useTranslation } from 'react-i18next';
import { Text, TouchableOpacity, View } from 'react-native';
-
export default function HomeScreen() {
const router = useRouter();
-
+ const { t } = useTranslation();
return (
{/* 标题区域 */}
- Awaken{"\n"}your{"\n"}precious memories
+ {t('auth.welcomeAwaken.awaken', { ns: 'login' })}
+
+ {t('auth.welcomeAwaken.your', { ns: 'login' })}
+
+ {t('auth.welcomeAwaken.pm', { ns: 'login' })}
- let every moment speak and feel alive
+ {t('auth.welcomeAwaken.slogan', { ns: 'login' })}
@@ -23,78 +29,23 @@ export default function HomeScreen() {
- Hi!{"\n"}I'm Memo
+ {t('auth.welcomeAwaken.hi', { ns: 'login' })}
+
+ {t('auth.welcomeAwaken.memo', { ns: 'login' })}
-
+
{/* Memo 形象 */}
-
-
+
{/* 介绍文本 */}
- I live deep inside your photo gallery, {"\n"}waiting for you to bring me back...
+ {t('auth.welcomeAwaken.gallery', { ns: 'login' })}
+
+ {t('auth.welcomeAwaken.back', { ns: 'login' })}
{/* 唤醒按钮 */}
@@ -104,7 +55,7 @@ export default function HomeScreen() {
activeOpacity={0.8}
>
- Awake your Memo
+ {t('auth.welcomeAwaken.awake', { ns: 'login' })}
diff --git a/app/(tabs)/loading.tsx b/app/(tabs)/loading.tsx
index 2e971d7..eb254e2 100644
--- a/app/(tabs)/loading.tsx
+++ b/app/(tabs)/loading.tsx
@@ -1,53 +1,11 @@
+import LoadingIP from '@/assets/icons/svg/loadingIP.svg';
import { View } from 'react-native';
export default function LoadingScreen() {
return (
-
+
Loading...
diff --git a/app/(tabs)/login.tsx b/app/(tabs)/login.tsx
index 5468607..7611780 100644
--- a/app/(tabs)/login.tsx
+++ b/app/(tabs)/login.tsx
@@ -1,3 +1,4 @@
+import Handers from '@/assets/icons/svg/handers.svg';
import LoginIP1 from '@/assets/icons/svg/loginIp1.svg';
import LoginIP2 from '@/assets/icons/svg/loginIp2.svg';
import ForgetPwd from '@/components/login/forgetPwd';
@@ -58,12 +59,7 @@ const LoginScreen = () => {
top: containerHeight > 0 ? windowHeight - containerHeight - 1 : 0
}}
>
-
+
{
{error}
- {
- status === 'signUp'
- ?
-
- :
- status === 'forgetPwd' ?
+ {(() => {
+ const commonProps = {
+ updateUrlParam,
+ setError,
+ };
+
+ const components = {
+ signUp: (
+
+ ),
+ forgetPwd: (
- :
- }
- {status == 'login' &&
+ ),
+ login: (
+
+ )
+ };
+
+ return components[status as keyof typeof components] || components.login;
+ })()}
+
+ {status == 'login' || !status &&
- {status === 'login' ? t('auth.agree.logintext', { ns: 'login' }) : t('auth.agree.singupText', { ns: 'login' })}
+ {status === 'login' || !status ? t('auth.agree.logintext', { ns: 'login' }) : t('auth.agree.singupText', { ns: 'login' })}
{ }}>
diff --git a/app/(tabs)/user-message.tsx b/app/(tabs)/user-message.tsx
index e370791..60915fe 100644
--- a/app/(tabs)/user-message.tsx
+++ b/app/(tabs)/user-message.tsx
@@ -47,21 +47,33 @@ export default function UserMessage() {
return (
- {
- steps == "userName"
- ?
-
- :
- steps == "look"
- ?
-
- :
- steps == "choice"
- ?
-
- :
-
- }
+
+ {(() => {
+ const components = {
+ userName: (
+
+ ),
+ look: (
+
+ ),
+ choice: ,
+ done:
+ };
+
+ return components[steps as keyof typeof components] || null;
+ })()}
+
);
}
diff --git a/assets/icons/svg/activity.svg b/assets/icons/svg/activity.svg
deleted file mode 100644
index fa8f1d4..0000000
--- a/assets/icons/svg/activity.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/svg/ai-video.svg b/assets/icons/svg/ai-video.svg
deleted file mode 100644
index b980461..0000000
--- a/assets/icons/svg/ai-video.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/assets/icons/svg/album.svg b/assets/icons/svg/album.svg
deleted file mode 100644
index e7180cf..0000000
--- a/assets/icons/svg/album.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/assets/icons/svg/arrow-big-left.svg b/assets/icons/svg/arrow-big-left.svg
deleted file mode 100644
index 46f24ea..0000000
--- a/assets/icons/svg/arrow-big-left.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/icons/svg/arrow-right-long.svg b/assets/icons/svg/arrow-right-long.svg
deleted file mode 100644
index 8827895..0000000
--- a/assets/icons/svg/arrow-right-long.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/assets/icons/svg/arrow-right-rotate.svg b/assets/icons/svg/arrow-right-rotate.svg
deleted file mode 100644
index 8827895..0000000
--- a/assets/icons/svg/arrow-right-rotate.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/assets/icons/svg/arrow-right.svg b/assets/icons/svg/arrow-right.svg
deleted file mode 100644
index 69d4fd6..0000000
--- a/assets/icons/svg/arrow-right.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/svg/ataver.svg b/assets/icons/svg/ataver.svg
new file mode 100644
index 0000000..20a4896
--- /dev/null
+++ b/assets/icons/svg/ataver.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/assets/icons/svg/back-arrow.svg b/assets/icons/svg/back-arrow.svg
deleted file mode 100644
index 4828b06..0000000
--- a/assets/icons/svg/back-arrow.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/icons/svg/badge-check.svg b/assets/icons/svg/badge-check.svg
deleted file mode 100644
index 2e60b2e..0000000
--- a/assets/icons/svg/badge-check.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/assets/icons/svg/bot-off.svg b/assets/icons/svg/bot-off.svg
deleted file mode 100644
index bdb1f09..0000000
--- a/assets/icons/svg/bot-off.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
diff --git a/assets/icons/svg/brain-cog.svg b/assets/icons/svg/brain-cog.svg
deleted file mode 100644
index 278ef60..0000000
--- a/assets/icons/svg/brain-cog.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-
diff --git a/assets/icons/svg/check.svg b/assets/icons/svg/check.svg
deleted file mode 100644
index b59df74..0000000
--- a/assets/icons/svg/check.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/svg/chevron-left.svg b/assets/icons/svg/chevron-left.svg
deleted file mode 100644
index 22473a3..0000000
--- a/assets/icons/svg/chevron-left.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/assets/icons/svg/choice.svg b/assets/icons/svg/choice.svg
new file mode 100644
index 0000000..943cd5f
--- /dev/null
+++ b/assets/icons/svg/choice.svg
@@ -0,0 +1,44 @@
+
\ No newline at end of file
diff --git a/assets/icons/svg/choicePhoto.svg b/assets/icons/svg/choicePhoto.svg
new file mode 100644
index 0000000..20a4896
--- /dev/null
+++ b/assets/icons/svg/choicePhoto.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/assets/icons/svg/cloud-upload.svg b/assets/icons/svg/cloud-upload.svg
deleted file mode 100644
index fe12768..0000000
--- a/assets/icons/svg/cloud-upload.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/icons/svg/customer-service.svg b/assets/icons/svg/customer-service.svg
deleted file mode 100644
index 8275007..0000000
--- a/assets/icons/svg/customer-service.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/assets/icons/svg/decorative.svg b/assets/icons/svg/decorative.svg
deleted file mode 100644
index d8d691e..0000000
--- a/assets/icons/svg/decorative.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
diff --git a/assets/icons/svg/delete.svg b/assets/icons/svg/delete.svg
deleted file mode 100644
index 6d57316..0000000
--- a/assets/icons/svg/delete.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/svg/done.svg b/assets/icons/svg/done.svg
new file mode 100644
index 0000000..1c99375
--- /dev/null
+++ b/assets/icons/svg/done.svg
@@ -0,0 +1,42 @@
+
\ No newline at end of file
diff --git a/assets/icons/svg/download.svg b/assets/icons/svg/download.svg
deleted file mode 100644
index 20e347e..0000000
--- a/assets/icons/svg/download.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/assets/icons/svg/error.svg b/assets/icons/svg/error.svg
new file mode 100644
index 0000000..aa74610
--- /dev/null
+++ b/assets/icons/svg/error.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/assets/icons/svg/eye.svg b/assets/icons/svg/eye.svg
deleted file mode 100644
index 0d963a0..0000000
--- a/assets/icons/svg/eye.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
diff --git a/assets/icons/svg/file.svg b/assets/icons/svg/file.svg
deleted file mode 100644
index b983f40..0000000
--- a/assets/icons/svg/file.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/svg/gallery.svg b/assets/icons/svg/gallery.svg
deleted file mode 100644
index 47804b9..0000000
--- a/assets/icons/svg/gallery.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/assets/icons/svg/handers.svg b/assets/icons/svg/handers.svg
new file mode 100644
index 0000000..a9575a0
--- /dev/null
+++ b/assets/icons/svg/handers.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/assets/icons/svg/image-plus.svg b/assets/icons/svg/image-plus.svg
deleted file mode 100644
index 698a74f..0000000
--- a/assets/icons/svg/image-plus.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/assets/icons/svg/loadingIP.svg b/assets/icons/svg/loadingIP.svg
new file mode 100644
index 0000000..e638263
--- /dev/null
+++ b/assets/icons/svg/loadingIP.svg
@@ -0,0 +1,44 @@
+
\ No newline at end of file
diff --git a/assets/icons/svg/logout.svg b/assets/icons/svg/logout.svg
deleted file mode 100644
index 8f8315e..0000000
--- a/assets/icons/svg/logout.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/assets/icons/svg/memo-chat.svg b/assets/icons/svg/memo-chat.svg
new file mode 100644
index 0000000..007d35e
--- /dev/null
+++ b/assets/icons/svg/memo-chat.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/assets/icons/svg/memo-ip.svg b/assets/icons/svg/memo-ip.svg
new file mode 100644
index 0000000..b3d4af5
--- /dev/null
+++ b/assets/icons/svg/memo-ip.svg
@@ -0,0 +1,43 @@
+
\ No newline at end of file
diff --git a/assets/icons/svg/memory-data.svg b/assets/icons/svg/memory-data.svg
deleted file mode 100644
index a6039d2..0000000
--- a/assets/icons/svg/memory-data.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/icons/svg/phone.svg b/assets/icons/svg/phone.svg
deleted file mode 100644
index b11b5e6..0000000
--- a/assets/icons/svg/phone.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/assets/icons/svg/photo-count.svg b/assets/icons/svg/photo-count.svg
deleted file mode 100644
index e8ebddd..0000000
--- a/assets/icons/svg/photo-count.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/icons/svg/play.svg b/assets/icons/svg/play.svg
deleted file mode 100644
index 528d781..0000000
--- a/assets/icons/svg/play.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/svg/plus.svg b/assets/icons/svg/plus.svg
deleted file mode 100644
index 46bea28..0000000
--- a/assets/icons/svg/plus.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/svg/recommend.svg b/assets/icons/svg/recommend.svg
deleted file mode 100644
index 2b12472..0000000
--- a/assets/icons/svg/recommend.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/assets/icons/svg/send.svg b/assets/icons/svg/send.svg
deleted file mode 100644
index c7a9ce4..0000000
--- a/assets/icons/svg/send.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/assets/icons/svg/settings.svg b/assets/icons/svg/settings.svg
deleted file mode 100644
index 73f58d3..0000000
--- a/assets/icons/svg/settings.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/icons/svg/share.svg b/assets/icons/svg/share.svg
deleted file mode 100644
index 88053aa..0000000
--- a/assets/icons/svg/share.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/assets/icons/svg/shield-check.svg b/assets/icons/svg/shield-check.svg
deleted file mode 100644
index 497b799..0000000
--- a/assets/icons/svg/shield-check.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/assets/icons/svg/star-x.svg b/assets/icons/svg/star-x.svg
deleted file mode 100644
index b992780..0000000
--- a/assets/icons/svg/star-x.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/assets/icons/svg/star.svg b/assets/icons/svg/star.svg
deleted file mode 100644
index 8e9f166..0000000
--- a/assets/icons/svg/star.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/assets/icons/svg/sync-third-party.svg b/assets/icons/svg/sync-third-party.svg
deleted file mode 100644
index 5860c95..0000000
--- a/assets/icons/svg/sync-third-party.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/assets/icons/svg/upload-device.svg b/assets/icons/svg/upload-device.svg
deleted file mode 100644
index 062ee6c..0000000
--- a/assets/icons/svg/upload-device.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/svg/user-edit.svg b/assets/icons/svg/user-edit.svg
deleted file mode 100644
index f365c8d..0000000
--- a/assets/icons/svg/user-edit.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
diff --git a/assets/icons/svg/user-id.svg b/assets/icons/svg/user-id.svg
deleted file mode 100644
index b08b236..0000000
--- a/assets/icons/svg/user-id.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/assets/icons/svg/user.svg b/assets/icons/svg/user.svg
deleted file mode 100644
index 6f434b5..0000000
--- a/assets/icons/svg/user.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/assets/icons/svg/version.svg b/assets/icons/svg/version.svg
deleted file mode 100644
index 2e903c6..0000000
--- a/assets/icons/svg/version.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/icons/svg/video-count.svg b/assets/icons/svg/video-count.svg
deleted file mode 100644
index 7a87241..0000000
--- a/assets/icons/svg/video-count.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/icons/svg/video.svg b/assets/icons/svg/video.svg
deleted file mode 100644
index d7307f5..0000000
--- a/assets/icons/svg/video.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/svg/wave.svg b/assets/icons/svg/wave.svg
deleted file mode 100644
index c6bb7af..0000000
--- a/assets/icons/svg/wave.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/icons/svg/x.svg b/assets/icons/svg/x.svg
deleted file mode 100644
index eb194fd..0000000
--- a/assets/icons/svg/x.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/components/login/code.tsx b/components/login/code.tsx
index 5b8fb8d..66b66d8 100644
--- a/components/login/code.tsx
+++ b/components/login/code.tsx
@@ -1,3 +1,4 @@
+import Error from "@/assets/icons/svg/error.svg";
import { fetchApi } from "@/lib/server-api-util";
import { User } from "@/types/user";
import { router } from "expo-router";
@@ -139,10 +140,7 @@ const Code = ({ setSteps, phone }: LoginProps) => {
))}
-
+
{error}
diff --git a/components/login/phoneLogin.tsx b/components/login/phoneLogin.tsx
index 241e6cf..a509ad9 100644
--- a/components/login/phoneLogin.tsx
+++ b/components/login/phoneLogin.tsx
@@ -3,19 +3,15 @@ import { View } from "react-native";
import Code from "./code";
import Phone from "./phone";
-interface LoginProps {
- updateUrlParam: (status: string, value: string) => void;
- setError: (error: string) => void
-}
export type Steps = "phone" | "code";
-const PhoneLogin = ({ updateUrlParam, setError }: LoginProps) => {
+const PhoneLogin = () => {
const [steps, setSteps] = useState("phone");
const [phone, setPhone] = useState('');
return
{
- steps === "phone" ? :
+ steps === "phone" ? :
}
}
diff --git a/components/login/vetify.tsx b/components/login/vetify.tsx
deleted file mode 100644
index 798e013..0000000
--- a/components/login/vetify.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import React, { useRef, useState } from 'react';
-import { Animated, Keyboard, Text, TextInput, TouchableOpacity, View } from 'react-native';
-
-const VerificationCodeInput = () => {
- const [code, setCode] = useState(['', '', '', '', '', '']);
- const refs = useRef([]);
- const shakeAnim = useRef(new Animated.Value(0)).current;
-
- const focusNext = (index, value) => {
- if (value && index < 5) {
- refs.current[index + 1].focus();
- }
- };
-
- const focusPrevious = (index, key) => {
- if (key === 'Backspace' && index > 0 && !code[index]) {
- refs.current[index - 1].focus();
- }
- };
-
- const handleCodeChange = (text, index) => {
- const newCode = [...code];
- newCode[index] = text;
- setCode(newCode);
- focusNext(index, text);
- };
-
- const handleSubmit = () => {
- const fullCode = code.join('');
- if (fullCode.length === 5) {
- Keyboard.dismiss();
- // 这里处理验证逻辑
- console.log('验证码:', fullCode);
- } else {
- // 抖动动画效果
- Animated.sequence([
- Animated.timing(shakeAnim, {
- toValue: 10,
- duration: 50,
- useNativeDriver: true
- }),
- Animated.timing(shakeAnim, {
- toValue: -10,
- duration: 50,
- useNativeDriver: true
- }),
- Animated.timing(shakeAnim, {
- toValue: 10,
- duration: 50,
- useNativeDriver: true
- }),
- Animated.timing(shakeAnim, {
- toValue: 0,
- duration: 50,
- useNativeDriver: true
- })
- ]).start();
- }
- };
-
- const handleClear = () => {
- setCode(['', '', '', '', '']);
- refs.current[0].focus();
- };
-
- return (
-
-
- {code.map((digit, index) => (
- refs.current[index] = ref}
- className="w-16 h-16 bg-[#FFF8DE] rounded-xl text-textTertiary text-3xl text-center"
- keyboardType="number-pad"
- maxLength={1}
- value={digit}
- onChangeText={text => handleCodeChange(text, index)}
- onKeyPress={({ nativeEvent: { key } }) => focusPrevious(index, key)}
- selectTextOnFocus
- caretHidden={true}
- />
- ))}
-
-
-
-
- 清除
-
-
-
- 验证
-
-
-
-
- 未收到验证码?
-
- 重新发送
-
-
-
- );
-};
-
-export default VerificationCodeInput;
\ No newline at end of file
diff --git a/components/user-message.tsx/choice.tsx b/components/user-message.tsx/choice.tsx
index 8f020e0..962d94d 100644
--- a/components/user-message.tsx/choice.tsx
+++ b/components/user-message.tsx/choice.tsx
@@ -1,8 +1,8 @@
import { Steps } from '@/app/(tabs)/user-message';
+import ChoiceSvg from '@/assets/icons/svg/choice.svg';
import { ThemedText } from '@/components/ThemedText';
import { useState } from 'react';
import { TouchableOpacity, View } from 'react-native';
-
interface Props {
setSteps: (steps: Steps) => void;
}
@@ -72,50 +72,7 @@ export default function Choice({ setSteps }: Props) {
{/* Fixed Header */}
-
+
Every memory matters.
diff --git a/components/user-message.tsx/done.tsx b/components/user-message.tsx/done.tsx
index e00b604..e61e3dc 100644
--- a/components/user-message.tsx/done.tsx
+++ b/components/user-message.tsx/done.tsx
@@ -1,4 +1,5 @@
import { Steps } from '@/app/(tabs)/user-message';
+import DoneSvg from '@/assets/icons/svg/done.svg';
import { useTranslation } from 'react-i18next';
import { TouchableOpacity, View } from 'react-native';
import { ThemedText } from '../ThemedText';
@@ -20,48 +21,7 @@ export default function Done(props: Props) {
-
+
{/* Next Button */}
{
- fileData?.[0]?.thumbnailUrl
- ?
-
- :
- avatar
- ?
+ (() => {
+ const imageSource = fileData?.[0]?.thumbnailUrl || avatar;
+
+ if (!imageSource) {
+ return ;
+ }
+
+ return (
- :
-
-
+ );
+ })()
}
{ setIsModalVisible(true) }}
>
-
+
{t('auth.userMessage.choosePhoto', { ns: 'login' })}
diff --git a/i18n/locales/en/login.json b/i18n/locales/en/login.json
index 75d4c9c..ea568c7 100644
--- a/i18n/locales/en/login.json
+++ b/i18n/locales/en/login.json
@@ -1,5 +1,16 @@
{
"auth": {
+ "welcomeAwaken": {
+ "hi": "Hi!",
+ "memo": "I'm Memo",
+ "awaken": "Awaken",
+ "your": "Your",
+ "pm": "precious memories",
+ "slogan": "let every moment speak and feel alive",
+ "gallery": "I live deep inside your photo gallery, ",
+ "back": "waiting for you to bring me back...",
+ "awake": "Awake your Memo"
+ },
"userMessage": {
"title": "Choose Username",
"username": "Username",
diff --git a/i18n/locales/zh/login.json b/i18n/locales/zh/login.json
index 58edc9f..fa391b5 100644
--- a/i18n/locales/zh/login.json
+++ b/i18n/locales/zh/login.json
@@ -1,5 +1,16 @@
{
"auth": {
+ "welcomeAwaken": {
+ "hi": "Hi!",
+ "memo": "I'm Memo",
+ "awaken": "Awaken",
+ "your": "Your",
+ "pm": "precious memories",
+ "slogan": "let every moment speak and feel alive",
+ "gallery": "I live deep inside your photo gallery, ",
+ "back": "waiting for you to bring me back...",
+ "awake": "Awake your Memo"
+ },
"userMessage": {
"title": "设置用户名",
"username": "用户名",