|
2 | 2 | "about": { |
3 | 3 | "description": "Hi! I'm Nelson Lai, a passionate web development student creating innovative projects with HTML, CSS, and JavaScript. Explore my portfolio, skills, and journey in building user-friendly apps. Let's connect!" |
4 | 4 | }, |
| 5 | + "account": { |
| 6 | + "account-created": "Account created", |
| 7 | + "active-sessions": "Active sessions", |
| 8 | + "avatar": "Avatar", |
| 9 | + "avatar-too-large": "Avatar file is too large. Please choose a file smaller than {size} MB.", |
| 10 | + "avatar-unsupported-file": "Please choose a supported image type (JPEG, PNG, WEBP, GIF, AVIF).", |
| 11 | + "description": "Manage your account.", |
| 12 | + "display-name": "Display name", |
| 13 | + "edit-name": "Edit name", |
| 14 | + "edit-name-description": "Change your display name. This name will be shown on your profile and comments.", |
| 15 | + "edit-name-successfully": "Edit name successfully", |
| 16 | + "email": "Email", |
| 17 | + "no-active-sessions": "No active sessions", |
| 18 | + "profile": "Profile", |
| 19 | + "revoke-session": "Revoke", |
| 20 | + "session-revoked-successfully": "Session revoked successfully", |
| 21 | + "this-device": "This device", |
| 22 | + "update-avatar": "Update avatar", |
| 23 | + "update-avatar-failed": "Failed to update avatar. Please try again.", |
| 24 | + "update-avatar-successfully": "Avatar updated successfully" |
| 25 | + }, |
5 | 26 | "admin": { |
6 | 27 | "page-header": { |
7 | 28 | "comments": { |
|
12 | 33 | } |
13 | 34 | } |
14 | 35 | }, |
| 36 | + "auth": { |
| 37 | + "sign-out-failed": "Sign out failed. Please try again.", |
| 38 | + "sign-out-successfully": "Sign out successfully" |
| 39 | + }, |
15 | 40 | "blog": { |
16 | 41 | "comments": { |
17 | 42 | "author": "Author", |
|
27 | 52 | "oldest": "Oldest", |
28 | 53 | "open-menu": "Open menu", |
29 | 54 | "placeholder": "Leave a comment", |
| 55 | + "preview": "Preview", |
30 | 56 | "replies": "{count, plural, =1 {reply} other {replies}}", |
31 | 57 | "reply": "Reply", |
32 | 58 | "reply-posted": "Reply posted", |
|
37 | 63 | "toggle-bold": "Toggle bold", |
38 | 64 | "toggle-italic": "Toggle italic", |
39 | 65 | "toggle-strikethrough": "Toggle strikethrough", |
40 | | - "write": "Write", |
41 | | - "preview": "Preview" |
| 66 | + "write": "Write" |
42 | 67 | }, |
43 | 68 | "description": "Discover my website and blog, where I share tutorials, notes, and experiences as a full-stack engineer based in Hong Kong. I began web dev as a hobby in Dec 2020. Explore my journey!", |
44 | 69 | "footer": { |
|
68 | 93 | "common": { |
69 | 94 | "cancel": "Cancel", |
70 | 95 | "delete": "Delete", |
| 96 | + "dialogs": { |
| 97 | + "delete-comment": { |
| 98 | + "description": "Are you sure you want to delete this comment? This action cannot be undone.", |
| 99 | + "title": "Delete a comment" |
| 100 | + } |
| 101 | + }, |
71 | 102 | "error": "Error", |
72 | | - "likes": "{count, plural, =1 {# like} other {# likes}}", |
73 | | - "sign-in": "Sign in", |
74 | | - "sign-out": "Sign out", |
75 | | - "views": "{count, plural, =1 {# view} other {# views}}", |
76 | | - "like": "Like", |
77 | | - "unknown": "Unknown", |
78 | | - "save": "Save", |
79 | 103 | "labels": { |
80 | | - "home": "Home", |
81 | 104 | "about": "About", |
82 | 105 | "account": "Account", |
83 | 106 | "blog": "Blog", |
| 107 | + "comment": "Comment", |
| 108 | + "comments": "Comments", |
84 | 109 | "dashboard": "Dashboard", |
| 110 | + "facebook": "Facebook", |
| 111 | + "general": "General", |
| 112 | + "github": "GitHub", |
85 | 113 | "guestbook": "Guestbook", |
86 | | - "projects": "Projects", |
87 | | - "uses": "Uses", |
| 114 | + "home": "Home", |
| 115 | + "instagram": "Instagram", |
| 116 | + "links": "Links", |
88 | 117 | "privacy-policy": "Privacy Policy", |
| 118 | + "projects": "Projects", |
| 119 | + "settings": "Settings", |
89 | 120 | "terms-of-service": "Terms of Service", |
90 | | - "comments": "Comments", |
91 | | - "comment": "Comment", |
92 | 121 | "unsubscribe": "Unsubscribe", |
93 | 122 | "users": "Users", |
94 | | - "settings": "Settings", |
95 | | - "general": "General", |
96 | | - "links": "Links", |
97 | | - "facebook": "Facebook", |
98 | | - "github": "GitHub", |
99 | | - "instagram": "Instagram", |
| 123 | + "uses": "Uses", |
100 | 124 | "youtube": "YouTube" |
101 | 125 | }, |
102 | | - "dialogs": { |
103 | | - "delete-comment": { |
104 | | - "title": "Delete a comment", |
105 | | - "description": "Are you sure you want to delete this comment? This action cannot be undone." |
106 | | - } |
107 | | - } |
| 126 | + "like": "Like", |
| 127 | + "likes": "{count, plural, =1 {# like} other {# likes}}", |
| 128 | + "save": "Save", |
| 129 | + "sign-in": "Sign in", |
| 130 | + "sign-out": "Sign out", |
| 131 | + "unknown": "Unknown", |
| 132 | + "views": "{count, plural, =1 {# view} other {# views}}" |
108 | 133 | }, |
109 | 134 | "component": { |
110 | 135 | "filtered-posts": { |
|
134 | 159 | } |
135 | 160 | }, |
136 | 161 | "error": { |
| 162 | + "comment-cannot-be-empty": "Comment cannot be empty", |
| 163 | + "copy-to-clipboard-error": "Unable to copy to clipboard. Please try again!", |
137 | 164 | "failed-to-fetch-comments-data": "Failed to fetch comments data. Please refresh the page.", |
138 | 165 | "failed-to-fetch-users-data": "Failed to fetch users data. Please refresh the page.", |
139 | | - "comment-cannot-be-empty": "Comment cannot be empty", |
| 166 | + "failed-to-load": "Failed to load.", |
140 | 167 | "failed-to-load-comments": "Failed to load comments. Please refresh the page.", |
| 168 | + "failed-to-load-messages": "Failed to load messages. Please refresh the page.", |
141 | 169 | "failed-to-load-replies": "Failed to load replies. Please refresh the page.", |
142 | | - "failed-to-load": "Failed to load.", |
| 170 | + "like-limit-reached": "You can only like 3 times per post", |
| 171 | + "message-cannot-be-empty": "Message cannot be empty", |
| 172 | + "name-cannot-be-empty": "Name cannot be empty", |
| 173 | + "name-too-long": "Name is too long", |
143 | 174 | "need-logged-in-to-vote": "You need to be logged in to vote comments", |
| 175 | + "not-found": "Page Not Found!", |
| 176 | + "now-playing-error": "Failed to fetch Spotify data", |
144 | 177 | "reply-cannot-be-empty": "Reply cannot be empty", |
145 | | - "like-limit-reached": "You can only like 3 times per post", |
146 | 178 | "sign-in-error": "Failed to sign in. Please try again.", |
147 | 179 | "something-went-wrong": "Something went wrong!", |
148 | | - "try-again": "Try again", |
149 | | - "failed-to-load-messages": "Failed to load messages. Please refresh the page.", |
150 | | - "message-cannot-be-empty": "Message cannot be empty", |
151 | | - "copy-to-clipboard-error": "Unable to copy to clipboard. Please try again!", |
152 | | - "now-playing-error": "Failed to fetch Spotify data", |
153 | | - "not-found": "Page Not Found!", |
154 | | - "name-cannot-be-empty": "Name cannot be empty", |
155 | | - "name-too-long": "Name is too long" |
| 180 | + "try-again": "Try again" |
156 | 181 | }, |
157 | 182 | "guestbook": { |
158 | 183 | "create-message-successfully": "Create message successfully", |
|
161 | 186 | "no-messages": "No messages. Be the first to leave a message!", |
162 | 187 | "pinned": { |
163 | 188 | "description": "Thanks for visiting my website. If you have a moment, I'd love to hear your thoughts on my work. Please log in with your account to leave a comment. Thanks!", |
164 | | - "greeting": "Hey there! \ud83d\udc4b" |
| 189 | + "greeting": "Hey there! 👋" |
165 | 190 | }, |
166 | 191 | "placeholder": "Leave a message", |
167 | 192 | "signin": { |
|
188 | 213 | "amazing": "Amazing", |
189 | 214 | "attractive": "Attractive", |
190 | 215 | "fantastic": "Fantastic", |
191 | | - "location-timezone": "Hong Kong \u2022 UTC/GMT +8", |
| 216 | + "location-timezone": "Hong Kong • UTC/GMT +8", |
192 | 217 | "stunning": "Stunning", |
193 | 218 | "title-bottom": "React", |
194 | 219 | "title-middle-left": "building", |
|
226 | 251 | "metadata": { |
227 | 252 | "site-description": "Nelson Lai is a full stack engineer based in Hong Kong. He builds performant and elegant websites using React, Node.js, and modern technologies." |
228 | 253 | }, |
| 254 | + "privacy": { |
| 255 | + "description": "This page explains how we handle your data and protect your privacy when you use our website." |
| 256 | + }, |
229 | 257 | "projects": { |
230 | 258 | "description": "A collection of my projects, crafted with dedication.", |
231 | 259 | "visit-website": "Visit Website" |
232 | 260 | }, |
233 | | - "theme-toggle": { |
234 | | - "options": { |
235 | | - "dark": "Dark", |
236 | | - "light": "Light", |
237 | | - "system": "System" |
238 | | - }, |
239 | | - "toggle-theme": "Toggle theme" |
240 | | - }, |
241 | | - "uses": { |
242 | | - "description": "This is the equipment I currently use for gaming, programming, making videos, and every day." |
243 | | - }, |
244 | | - "account": { |
245 | | - "description": "Manage your account.", |
246 | | - "active-sessions": "Active sessions", |
247 | | - "no-active-sessions": "No active sessions", |
248 | | - "revoke-session": "Revoke", |
249 | | - "this-device": "This device", |
250 | | - "session-revoked-successfully": "Session revoked successfully", |
251 | | - "profile": "Profile", |
252 | | - "avatar": "Avatar", |
253 | | - "update-avatar": "Update avatar", |
254 | | - "update-avatar-successfully": "Avatar updated successfully", |
255 | | - "update-avatar-failed": "Failed to update avatar. Please try again.", |
256 | | - "avatar-too-large": "Avatar file is too large. Please choose a file smaller than {size} MB.", |
257 | | - "avatar-unsupported-file": "Please choose a supported image type (JPEG, PNG, WEBP, GIF, AVIF).", |
258 | | - "display-name": "Display name", |
259 | | - "edit-name": "Edit name", |
260 | | - "edit-name-description": "Change your display name. This name will be shown on your profile and comments.", |
261 | | - "edit-name-successfully": "Edit name successfully", |
262 | | - "email": "Email", |
263 | | - "account-created": "Account created" |
264 | | - }, |
265 | 261 | "settings": { |
266 | 262 | "description": "Manage your settings.", |
267 | 263 | "notification-settings": "Notification Settings", |
268 | 264 | "reply-notification": "Reply Notification", |
269 | 265 | "reply-notification-description": "Receive email notifications when someone replies to your comment.", |
270 | 266 | "save-settings-successfully": "Settings saved successfully" |
271 | 267 | }, |
272 | | - "privacy": { |
273 | | - "description": "This page explains how we handle your data and protect your privacy when you use our website." |
274 | | - }, |
275 | 268 | "terms": { |
276 | 269 | "description": "These terms and conditions outline the rules and regulations for the use our website." |
277 | 270 | }, |
278 | | - "auth": { |
279 | | - "sign-out-successfully": "Sign out successfully", |
280 | | - "sign-out-failed": "Sign out failed. Please try again." |
| 271 | + "theme-toggle": { |
| 272 | + "options": { |
| 273 | + "dark": "Dark", |
| 274 | + "light": "Light", |
| 275 | + "system": "System" |
| 276 | + }, |
| 277 | + "toggle-theme": "Toggle theme" |
281 | 278 | }, |
282 | 279 | "unsubscribe": { |
283 | | - "unsubscribe-from-this-comment": "Unsubscribe from this comment", |
| 280 | + "invalid-link-description": "The unsubscribe link is invalid. Please try again.", |
| 281 | + "invalid-unsubscribe-link": "Invalid unsubscribe link", |
284 | 282 | "stop-receiving-email-notifications": "Stop receiving email notifications for replies to this comment", |
285 | | - "you-are-unsubscribing-as": "You're unsubscribing as {email}", |
286 | | - "you-have-been-unsubscribed": "You've been unsubscribed", |
| 283 | + "unsubscribe-from-this-comment": "Unsubscribe from this comment", |
287 | 284 | "unsubscribed-description": "You will no longer receive reply notifications emails for this comment.", |
288 | | - "invalid-unsubscribe-link": "Invalid unsubscribe link", |
289 | | - "invalid-link-description": "The unsubscribe link is invalid. Please try again." |
| 285 | + "you-are-unsubscribing-as": "You're unsubscribing as {email}", |
| 286 | + "you-have-been-unsubscribed": "You've been unsubscribed" |
| 287 | + }, |
| 288 | + "uses": { |
| 289 | + "description": "This is the equipment I currently use for gaming, programming, making videos, and every day." |
290 | 290 | } |
291 | 291 | } |
0 commit comments