From 75e075ef8ea99e03494c14544c894f10b8e71b79 Mon Sep 17 00:00:00 2001
From: Mysterious_Dev <40738104+Mysterious-Dev@users.noreply.github.com>
Date: Sat, 2 Sep 2023 15:37:04 +0200
Subject: [PATCH] Add translations for profile page (#1340)
Co-authored-by: Sasha Sorokin <10401817+brawaru@users.noreply.github.com>
---
assets/styles/utils.scss | 4 +
locales/en-US/index.json | 105 +++++++++++++++++++++
pages/user/[id].vue | 185 ++++++++++++++++++++++++++++++-------
utils/common-messages.ts | 34 +++++++
utils/i18n-project-type.ts | 58 ++++++++++++
utils/vue-children.ts | 25 +++++
6 files changed, 379 insertions(+), 32 deletions(-)
create mode 100644 utils/common-messages.ts
create mode 100644 utils/i18n-project-type.ts
create mode 100644 utils/vue-children.ts
diff --git a/assets/styles/utils.scss b/assets/styles/utils.scss
index ad1b84b7c..afeeb8b89 100644
--- a/assets/styles/utils.scss
+++ b/assets/styles/utils.scss
@@ -33,3 +33,7 @@ body {
position: absolute !important;
}
}
+
+.preserve-lines {
+ white-space: pre-line;
+}
diff --git a/locales/en-US/index.json b/locales/en-US/index.json
index c52e8e939..64bb5fefb 100644
--- a/locales/en-US/index.json
+++ b/locales/en-US/index.json
@@ -1,4 +1,13 @@
{
+ "button.cancel": {
+ "message": "Cancel"
+ },
+ "button.edit": {
+ "message": "Edit"
+ },
+ "button.save": {
+ "message": "Save"
+ },
"frog": {
"message": "You've been frogged! 🐸"
},
@@ -14,6 +23,102 @@
"frog.title": {
"message": "Frog"
},
+ "input.view.gallery": {
+ "message": "Gallery view"
+ },
+ "input.view.grid": {
+ "message": "Grid view"
+ },
+ "input.view.list": {
+ "message": "List view"
+ },
+ "notification.error.title": {
+ "message": "An error occurred"
+ },
+ "profile.button.manage-projects": {
+ "message": "Manage projects"
+ },
+ "profile.button.report": {
+ "message": "Report"
+ },
+ "profile.error.not-found": {
+ "message": "User not found"
+ },
+ "profile.input.upload-avatar": {
+ "message": "Upload avatar"
+ },
+ "profile.joined-at": {
+ "message": "Joined {ago}"
+ },
+ "profile.joined-at.tooltip": {
+ "message": "{date, date, long} at {time, time, short}"
+ },
+ "profile.label.edit-bio": {
+ "message": "Bio"
+ },
+ "profile.label.edit-username": {
+ "message": "Username"
+ },
+ "profile.label.no-projects": {
+ "message": "This user has no projects!"
+ },
+ "profile.label.no-projects-auth": {
+ "message": "You don't have any projects.\nWould you like to create one?"
+ },
+ "profile.meta.description": {
+ "message": "Download {username}'s projects on Modrinth"
+ },
+ "profile.meta.description-with-bio": {
+ "message": "{bio} - Download {username}'s projects on Modrinth"
+ },
+ "profile.stats.downloads": {
+ "message": "{count, plural, one {{count} download} other {{count} downloads}}"
+ },
+ "profile.stats.projects-followers": {
+ "message": "{count, plural, one {{count} follower} other {{count} followers}} of projects"
+ },
+ "profile.user-id": {
+ "message": "User ID: {id}"
+ },
+ "project-type.all": {
+ "message": "All"
+ },
+ "project-type.datapack.plural": {
+ "message": "Data Packs"
+ },
+ "project-type.datapack.singular": {
+ "message": "Data Pack"
+ },
+ "project-type.mod.plural": {
+ "message": "Mods"
+ },
+ "project-type.mod.singular": {
+ "message": "Mod"
+ },
+ "project-type.modpack.plural": {
+ "message": "Modpacks"
+ },
+ "project-type.modpack.singular": {
+ "message": "Modpack"
+ },
+ "project-type.plugin.plural": {
+ "message": "Plugins"
+ },
+ "project-type.plugin.singular": {
+ "message": "Plugin"
+ },
+ "project-type.resourcepack.plural": {
+ "message": "Resource Packs"
+ },
+ "project-type.resourcepack.singular": {
+ "message": "Resource Pack"
+ },
+ "project-type.shader.plural": {
+ "message": "Shaders"
+ },
+ "project-type.shader.singular": {
+ "message": "Shader"
+ },
"settings.language.categories.auto": {
"message": "Automatic"
},
diff --git a/pages/user/[id].vue b/pages/user/[id].vue
index 4ed90597d..03b1ba48e 100644
--- a/pages/user/[id].vue
+++ b/pages/user/[id].vue
@@ -38,9 +38,9 @@
v-if="isEditing"
:max-size="262144"
:show-icon="true"
+ :prompt="formatMessage(messages.profileUploadAvatarInput)"
accept="image/png,image/jpeg,image/gif,image/webp"
class="choose-image iconified-button"
- prompt="Upload avatar"
@change="showPreviewImage"
>
@@ -51,7 +51,7 @@
@click="isEditing = true"
>
- Edit
+ {{ formatMessage(commonMessages.editButton) }}
- Report
+ {{ formatMessage(messages.profileReportButton) }}
@@ -104,30 +112,59 @@
- {{ sumDownloads }}
- downloads
+
+
+
+
+
+
+
- {{ sumFollows }}
- followers of projects
+
+
+
+
+
+
+
- Joined {{ fromNow(user.created) }}
+ {{
+ formatMessage(messages.profileJoinedAt, { ago: formatRelativeTime(user.created) })
+ }}
- User ID:
+
+
+
+
+
+
+
@@ -138,12 +175,12 @@
- Manage projects
+ {{ formatMessage(messages.profileManageProjectsButton) }}