From ac25df32ab30b60e1f509c0dc6585ec15020d187 Mon Sep 17 00:00:00 2001 From: lumiscosity Date: Tue, 10 Feb 2026 12:42:17 +0100 Subject: [PATCH 1/5] Various typo fixes and clearups As reported on Crowdin. --- .../ui/instance_settings/InstallationSettings.vue | 2 +- .../components/ui/create/CollectionCreateModal.vue | 2 +- .../components/ui/create/OrganizationCreateModal.vue | 2 +- .../src/components/ui/create/ProjectCreateModal.vue | 2 +- .../dashboard/withdraw-stages/MuralpayKycStage.vue | 2 +- .../ui/servers/marketing/MedalPlanPromotion.vue | 2 +- apps/frontend/src/composables/auth/scopes.ts | 2 +- apps/frontend/src/pages/app.vue | 4 ++-- apps/frontend/src/pages/hosting/index.vue | 2 +- apps/frontend/src/pages/settings/applications.vue | 4 ++-- apps/frontend/src/pages/settings/pats.vue | 2 +- .../project/settings/environment/environments.ts | 12 ++++++------ packages/ui/src/utils/common-messages.ts | 4 ++-- packages/ui/src/utils/tag-messages.ts | 2 +- 14 files changed, 22 insertions(+), 22 deletions(-) diff --git a/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue b/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue index 93cf9bc553..3e6915c365 100644 --- a/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue +++ b/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue @@ -435,7 +435,7 @@ const messages = defineMessages({ unlinkInstanceConfirmDescription: { id: 'instance.settings.tabs.installation.unlink.confirm.description', defaultMessage: - 'If you proceed, you will not be able to re-link it without creating an entirely new instance. You will no longer receive modpack updates and it will become a normal.', + 'If you proceed, you will not be able to re-link it without creating an entirely new instance. You will no longer receive modpack updates and it will become a normal instance.', }, reinstallModpackConfirmTitle: { id: 'instance.settings.tabs.installation.reinstall.confirm.title', diff --git a/apps/frontend/src/components/ui/create/CollectionCreateModal.vue b/apps/frontend/src/components/ui/create/CollectionCreateModal.vue index e745f2c180..971d1e087c 100644 --- a/apps/frontend/src/components/ui/create/CollectionCreateModal.vue +++ b/apps/frontend/src/components/ui/create/CollectionCreateModal.vue @@ -91,7 +91,7 @@ const messages = defineMessages({ }, summaryDescription: { id: 'create.collection.summary-description', - defaultMessage: 'A sentence or two that describes your collection.', + defaultMessage: 'A sentence or two that describe your collection.', }, summaryPlaceholder: { id: 'create.collection.summary-placeholder', diff --git a/apps/frontend/src/components/ui/create/OrganizationCreateModal.vue b/apps/frontend/src/components/ui/create/OrganizationCreateModal.vue index 8fe0418072..0d100b4ea1 100644 --- a/apps/frontend/src/components/ui/create/OrganizationCreateModal.vue +++ b/apps/frontend/src/components/ui/create/OrganizationCreateModal.vue @@ -118,7 +118,7 @@ const messages = defineMessages({ }, summaryDescription: { id: 'create.organization.summary-description', - defaultMessage: 'A sentence or two that describes your organization.', + defaultMessage: 'A sentence or two that describe your organization.', }, summaryPlaceholder: { id: 'create.organization.summary-placeholder', diff --git a/apps/frontend/src/components/ui/create/ProjectCreateModal.vue b/apps/frontend/src/components/ui/create/ProjectCreateModal.vue index a1fbc214fb..16ebd99440 100644 --- a/apps/frontend/src/components/ui/create/ProjectCreateModal.vue +++ b/apps/frontend/src/components/ui/create/ProjectCreateModal.vue @@ -136,7 +136,7 @@ const messages = defineMessages({ }, summaryDescription: { id: 'create.project.summary-description', - defaultMessage: 'A sentence or two that describes your project.', + defaultMessage: 'A sentence or two that describe your project.', }, summaryPlaceholder: { id: 'create.project.summary-placeholder', diff --git a/apps/frontend/src/components/ui/dashboard/withdraw-stages/MuralpayKycStage.vue b/apps/frontend/src/components/ui/dashboard/withdraw-stages/MuralpayKycStage.vue index f5d7321354..ae2ea27871 100644 --- a/apps/frontend/src/components/ui/dashboard/withdraw-stages/MuralpayKycStage.vue +++ b/apps/frontend/src/components/ui/dashboard/withdraw-stages/MuralpayKycStage.vue @@ -345,7 +345,7 @@ watch( const messages = defineMessages({ entityQuestion: { id: 'dashboard.creator-withdraw-modal.kyc.entity-question', - defaultMessage: 'Are you a withdrawing as an individual or business?', + defaultMessage: 'Are you withdrawing as an individual or a business?', }, entityDescription: { id: 'dashboard.creator-withdraw-modal.kyc.entity-description', diff --git a/apps/frontend/src/components/ui/servers/marketing/MedalPlanPromotion.vue b/apps/frontend/src/components/ui/servers/marketing/MedalPlanPromotion.vue index 2381c3c6fc..1c233781d4 100644 --- a/apps/frontend/src/components/ui/servers/marketing/MedalPlanPromotion.vue +++ b/apps/frontend/src/components/ui/servers/marketing/MedalPlanPromotion.vue @@ -49,7 +49,7 @@ const messages = defineMessages({ info: { id: 'hosting-marketing.medal.info', defaultMessage: - 'Try a free 3GB server for 5 days powered by Medal', + 'Try a free 3 GB server for 5 days powered by Medal', }, textSecondary: { id: 'hosting-marketing.medal.text-secondary', diff --git a/apps/frontend/src/composables/auth/scopes.ts b/apps/frontend/src/composables/auth/scopes.ts index 39f1a0211c..15e78f7da2 100644 --- a/apps/frontend/src/composables/auth/scopes.ts +++ b/apps/frontend/src/composables/auth/scopes.ts @@ -319,7 +319,7 @@ export const scopeMessages = defineMessages({ }, sessionAccessDescription: { id: 'scopes.sessionAccess.description', - defaultMessage: 'Access modrinth-issued sessions', + defaultMessage: 'Access Modrinth-issued sessions', }, }) diff --git a/apps/frontend/src/pages/app.vue b/apps/frontend/src/pages/app.vue index d089377a3c..316d75d310 100644 --- a/apps/frontend/src/pages/app.vue +++ b/apps/frontend/src/pages/app.vue @@ -380,7 +380,7 @@ const messages = defineMessages({ performantDescription: { id: 'app-marketing.features.performance.description', defaultMessage: - 'Modrinth App performs better than many of the leading mod managers, using just 150mb of RAM!', + 'Modrinth App performs better than many of the leading mod managers, using just 150 MB of RAM!', }, websiteIntegration: { id: 'app-marketing.features.website.title', @@ -485,7 +485,7 @@ const messages = defineMessages({ downloadTerms: { id: 'app-marketing.download.terms', defaultMessage: - 'By downloading Modrinth App you agree to our Terms and Privacy Policy.', + 'By downloading Modrinth App, you agree to our Terms and Privacy Policy.', }, linuxDisclaimer: { id: 'app-marketing.download.linux-disclaimer', diff --git a/apps/frontend/src/pages/hosting/index.vue b/apps/frontend/src/pages/hosting/index.vue index bab6725db7..6407de5a0b 100644 --- a/apps/frontend/src/pages/hosting/index.vue +++ b/apps/frontend/src/pages/hosting/index.vue @@ -860,7 +860,7 @@ const messages = defineMessages({ faqDDOSProtectionAnswer: { id: 'hosting-marketing.faq.ddos-protection.answer', defaultMessage: - 'Yes. All Modrinth Hosting servers come with DDoS protection, with up to 17Tbps capacity in some locations.', + 'Yes. All Modrinth Hosting servers come with DDoS protection, with up to 17 Tbps capacity in some locations.', }, faqLocation: { id: 'hosting-marketing.faq.location', diff --git a/apps/frontend/src/pages/settings/applications.vue b/apps/frontend/src/pages/settings/applications.vue index 048f63a29f..7dc341651b 100644 --- a/apps/frontend/src/pages/settings/applications.vue +++ b/apps/frontend/src/pages/settings/applications.vue @@ -337,7 +337,7 @@ const messages = defineMessages({ }, redirectUrisLabel: { id: 'settings.applications.field.redirect-uris', - defaultMessage: 'Redirect uris', + defaultMessage: 'Redirect URIs', }, redirectUriPlaceholder: { id: 'settings.applications.field.redirect-uri.placeholder', @@ -349,7 +349,7 @@ const messages = defineMessages({ }, addRedirectUri: { id: 'settings.applications.button.add-redirect-uri', - defaultMessage: 'Add a redirect uri', + defaultMessage: 'Add a redirect URI', }, cancel: { id: 'settings.applications.button.cancel', diff --git a/apps/frontend/src/pages/settings/pats.vue b/apps/frontend/src/pages/settings/pats.vue index 7b2614b3a5..c015c7fa0d 100644 --- a/apps/frontend/src/pages/settings/pats.vue +++ b/apps/frontend/src/pages/settings/pats.vue @@ -287,7 +287,7 @@ const messages = defineMessages({ description: { id: 'settings.pats.description', defaultMessage: - "PATs can be used to access Modrinth's API. For more information, see Modrinth's API documentation. They can be created and revoked at any time.", + "PATs can be used to access Modrinth's API. They can be created and revoked at any time. For more information, see Modrinth's API documentation.", }, create: { id: 'settings.pats.action.create', diff --git a/packages/ui/src/components/project/settings/environment/environments.ts b/packages/ui/src/components/project/settings/environment/environments.ts index 4c34ebcaea..dd9c5f427f 100644 --- a/packages/ui/src/components/project/settings/environment/environments.ts +++ b/packages/ui/src/components/project/settings/environment/environments.ts @@ -30,7 +30,7 @@ export const ENVIRONMENTS_COPY: Record< description: defineMessage({ id: 'project.environment.server-only.description', defaultMessage: - 'All functionality is done server-side and is compatible with vanilla clients.', + 'All functionality is done server-side and is compatible with vanilla clients. Also works on the internal server in singleplayer.', }), }, singleplayer_only: { @@ -52,7 +52,7 @@ export const ENVIRONMENTS_COPY: Record< description: defineMessage({ id: 'project.environment.dedicated-server-only.description', defaultMessage: - 'All functionality is done server-side and is compatible with vanilla clients.', + 'All functionality is done server-side and is compatible with vanilla clients. Only works on dedicated servers.', }), }, client_and_server: { @@ -63,7 +63,7 @@ export const ENVIRONMENTS_COPY: Record< description: defineMessage({ id: 'project.environment.client-and-server.description', defaultMessage: - 'Has some functionality on both the client and server, even if only partially.', + 'Has required functionality on both the client and server.', }), }, client_only_server_optional: { @@ -74,7 +74,7 @@ export const ENVIRONMENTS_COPY: Record< description: defineMessage({ id: 'project.environment.client-only-server-optional.description', defaultMessage: - 'Has some functionality on both the client and server, even if only partially.', + 'Most functionality is client-side, but installing it on the server enables additional features.', }), }, server_only_client_optional: { @@ -85,7 +85,7 @@ export const ENVIRONMENTS_COPY: Record< description: defineMessage({ id: 'project.environment.server-only-client-optional.description', defaultMessage: - 'Has some functionality on both the client and server, even if only partially.', + 'Most functionality is server-side, but installing it on the client enables additional features.', }), }, client_or_server: { @@ -107,7 +107,7 @@ export const ENVIRONMENTS_COPY: Record< description: defineMessage({ id: 'project.environment.client-or-server-prefers-both.description', defaultMessage: - 'Has some functionality on both the client and server, even if only partially.', + 'Has some functionality on both the client and server, even if only partially. Installing it on both sides leads to the best experience.', }), }, unknown: { diff --git a/packages/ui/src/utils/common-messages.ts b/packages/ui/src/utils/common-messages.ts index e2c1db7914..cc47caff61 100644 --- a/packages/ui/src/utils/common-messages.ts +++ b/packages/ui/src/utils/common-messages.ts @@ -199,7 +199,7 @@ export const commonMessages = defineMessages({ }, playedLabel: { id: 'label.played', - defaultMessage: 'Played {time}', + defaultMessage: 'Played {ago}', }, privateLabel: { id: 'collections.label.private', @@ -391,7 +391,7 @@ export const commonMessages = defineMessages({ }, projectFollowers: { id: 'project.follower-count-tooltip', - defaultMessage: '{count} {count, plural, one {followers} other {followers}}', + defaultMessage: '{count} {count, plural, one {follower} other {followers}}', }, }) diff --git a/packages/ui/src/utils/tag-messages.ts b/packages/ui/src/utils/tag-messages.ts index 964278a2c1..d82bfd5a01 100644 --- a/packages/ui/src/utils/tag-messages.ts +++ b/packages/ui/src/utils/tag-messages.ts @@ -414,7 +414,7 @@ export function sortTagsForDisplay(tags: string[]): string[] { export const categoryHeaderMessages = defineMessages({ resolutions: { id: 'header.category.resolutions', - defaultMessage: 'Resolutions', + defaultMessage: 'Resolution', }, categories: { id: 'header.category.category', From f4da86491e43a138ec56b8d2d5664826024d3776 Mon Sep 17 00:00:00 2001 From: lumiscosity Date: Wed, 11 Feb 2026 12:21:15 +0100 Subject: [PATCH 2/5] touch up wording on the environments --- .../project/settings/environment/environments.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/ui/src/components/project/settings/environment/environments.ts b/packages/ui/src/components/project/settings/environment/environments.ts index dd9c5f427f..f725011d30 100644 --- a/packages/ui/src/components/project/settings/environment/environments.ts +++ b/packages/ui/src/components/project/settings/environment/environments.ts @@ -63,7 +63,7 @@ export const ENVIRONMENTS_COPY: Record< description: defineMessage({ id: 'project.environment.client-and-server.description', defaultMessage: - 'Has required functionality on both the client and server.', + 'Required on both the client and server.', }), }, client_only_server_optional: { @@ -74,7 +74,7 @@ export const ENVIRONMENTS_COPY: Record< description: defineMessage({ id: 'project.environment.client-only-server-optional.description', defaultMessage: - 'Most functionality is client-side, but installing it on the server enables additional features.', + 'Most functionality is client-side, but installing it on the server enables enhanced functionality.', }), }, server_only_client_optional: { @@ -85,7 +85,7 @@ export const ENVIRONMENTS_COPY: Record< description: defineMessage({ id: 'project.environment.server-only-client-optional.description', defaultMessage: - 'Most functionality is server-side, but installing it on the client enables additional features.', + 'Most functionality is server-side, but installing it on the client enables enhanced functionality.', }), }, client_or_server: { @@ -107,7 +107,7 @@ export const ENVIRONMENTS_COPY: Record< description: defineMessage({ id: 'project.environment.client-or-server-prefers-both.description', defaultMessage: - 'Has some functionality on both the client and server, even if only partially. Installing it on both sides leads to the best experience.', + 'Has some functionality on both the client and server, even if only partially. Installing it on both leads to the best experience.', }), }, unknown: { From 18fa1f49edd72396b66a35b60e5914c30e405e7f Mon Sep 17 00:00:00 2001 From: lumiscosity Date: Wed, 11 Feb 2026 12:22:22 +0100 Subject: [PATCH 3/5] lint --- .../app-frontend/src/locales/en-US/index.json | 2 +- apps/frontend/src/locales/en-US/index.json | 24 +++++++++---------- packages/assets/generated-icons.ts | 4 ++-- .../settings/environment/environments.ts | 3 +-- packages/ui/src/locales/en-US/index.json | 18 +++++++------- 5 files changed, 25 insertions(+), 26 deletions(-) diff --git a/apps/app-frontend/src/locales/en-US/index.json b/apps/app-frontend/src/locales/en-US/index.json index d621401151..b76a26a3e7 100644 --- a/apps/app-frontend/src/locales/en-US/index.json +++ b/apps/app-frontend/src/locales/en-US/index.json @@ -468,7 +468,7 @@ "message": "Unlink instance" }, "instance.settings.tabs.installation.unlink.confirm.description": { - "message": "If you proceed, you will not be able to re-link it without creating an entirely new instance. You will no longer receive modpack updates and it will become a normal." + "message": "If you proceed, you will not be able to re-link it without creating an entirely new instance. You will no longer receive modpack updates and it will become a normal instance." }, "instance.settings.tabs.installation.unlink.confirm.title": { "message": "Are you sure you want to unlink this instance?" diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json index 58d79aa6be..40097a6bc5 100644 --- a/apps/frontend/src/locales/en-US/index.json +++ b/apps/frontend/src/locales/en-US/index.json @@ -39,7 +39,7 @@ "message": "Download options" }, "app-marketing.download.terms": { - "message": "By downloading Modrinth App you agree to our Terms and Privacy Policy." + "message": "By downloading Modrinth App, you agree to our Terms and Privacy Policy." }, "app-marketing.download.title": { "message": "Download Modrinth App (Beta)" @@ -108,7 +108,7 @@ "message": "% CPU" }, "app-marketing.features.performance.description": { - "message": "Modrinth App performs better than many of the leading mod managers, using just 150mb of RAM!" + "message": "Modrinth App performs better than many of the leading mod managers, using just 150 MB of RAM!" }, "app-marketing.features.performance.discord": { "message": "Discord" @@ -423,7 +423,7 @@ "message": "Enter collection name..." }, "create.collection.summary-description": { - "message": "A sentence or two that describes your collection." + "message": "A sentence or two that describe your collection." }, "create.collection.summary-label": { "message": "Summary" @@ -480,7 +480,7 @@ "message": "You will be the owner of this organization, but you can invite other members and transfer ownership at any time." }, "create.organization.summary-description": { - "message": "A sentence or two that describes your organization." + "message": "A sentence or two that describe your organization." }, "create.organization.summary-label": { "message": "Summary" @@ -504,7 +504,7 @@ "message": "Enter project name..." }, "create.project.summary-description": { - "message": "A sentence or two that describes your project." + "message": "A sentence or two that describe your project." }, "create.project.summary-label": { "message": "Summary" @@ -633,7 +633,7 @@ "message": "A business entity refers to a registered organization such as a corporation, partnership, or LLC." }, "dashboard.creator-withdraw-modal.kyc.entity-question": { - "message": "Are you a withdrawing as an individual or business?" + "message": "Are you withdrawing as an individual or a business?" }, "dashboard.creator-withdraw-modal.kyc.private-individual": { "message": "Private individual" @@ -1107,7 +1107,7 @@ "message": "Do Modrinth Hosting servers have DDoS protection?" }, "hosting-marketing.faq.ddos-protection.answer": { - "message": "Yes. All Modrinth Hosting servers come with DDoS protection, with up to 17Tbps capacity in some locations." + "message": "Yes. All Modrinth Hosting servers come with DDoS protection, with up to 17 Tbps capacity in some locations." }, "hosting-marketing.faq.heading": { "message": "Frequently Asked Questions" @@ -1215,7 +1215,7 @@ "message": "Know exactly what you need?" }, "hosting-marketing.medal.info": { - "message": "Try a free 3GB server for 5 days powered by Medal" + "message": "Try a free 3 GB server for 5 days powered by Medal" }, "hosting-marketing.medal.learn-more": { "message": "Learn more" @@ -2631,7 +2631,7 @@ "message": "Write reports" }, "scopes.sessionAccess.description": { - "message": "Access modrinth-issued sessions" + "message": "Access Modrinth-issued sessions" }, "scopes.sessionAccess.label": { "message": "Access sessions" @@ -2784,7 +2784,7 @@ "message": "Add more" }, "settings.applications.button.add-redirect-uri": { - "message": "Add a redirect uri" + "message": "Add a redirect URI" }, "settings.applications.button.cancel": { "message": "Cancel" @@ -2847,7 +2847,7 @@ "message": "https://example.com/auth/callback" }, "settings.applications.field.redirect-uris": { - "message": "Redirect uris" + "message": "Redirect URIs" }, "settings.applications.field.scopes": { "message": "Scopes" @@ -3006,7 +3006,7 @@ "message": "Create a PAT" }, "settings.pats.description": { - "message": "PATs can be used to access Modrinth's API. For more information, see Modrinth's API documentation. They can be created and revoked at any time." + "message": "PATs can be used to access Modrinth's API. They can be created and revoked at any time. For more information, see Modrinth's API documentation." }, "settings.pats.modal.create.action": { "message": "Create PAT" diff --git a/packages/assets/generated-icons.ts b/packages/assets/generated-icons.ts index 22569d9b31..d960a5f4da 100644 --- a/packages/assets/generated-icons.ts +++ b/packages/assets/generated-icons.ts @@ -3,8 +3,6 @@ import type { FunctionalComponent, SVGAttributes } from 'vue' -export type IconComponent = FunctionalComponent - import _AffiliateIcon from './icons/affiliate.svg?component' import _AlignLeftIcon from './icons/align-left.svg?component' import _ArchiveIcon from './icons/archive.svg?component' @@ -327,6 +325,8 @@ import _XCircleIcon from './icons/x-circle.svg?component' import _ZoomInIcon from './icons/zoom-in.svg?component' import _ZoomOutIcon from './icons/zoom-out.svg?component' +export type IconComponent = FunctionalComponent + export const AffiliateIcon = _AffiliateIcon export const AlignLeftIcon = _AlignLeftIcon export const ArchiveIcon = _ArchiveIcon diff --git a/packages/ui/src/components/project/settings/environment/environments.ts b/packages/ui/src/components/project/settings/environment/environments.ts index f725011d30..585ee060ef 100644 --- a/packages/ui/src/components/project/settings/environment/environments.ts +++ b/packages/ui/src/components/project/settings/environment/environments.ts @@ -62,8 +62,7 @@ export const ENVIRONMENTS_COPY: Record< }), description: defineMessage({ id: 'project.environment.client-and-server.description', - defaultMessage: - 'Required on both the client and server.', + defaultMessage: 'Required on both the client and server.', }), }, client_only_server_optional: { diff --git a/packages/ui/src/locales/en-US/index.json b/packages/ui/src/locales/en-US/index.json index 37502c870d..79cdfe6ba7 100644 --- a/packages/ui/src/locales/en-US/index.json +++ b/packages/ui/src/locales/en-US/index.json @@ -258,7 +258,7 @@ "defaultMessage": "Performance impact" }, "header.category.resolutions": { - "defaultMessage": "Resolutions" + "defaultMessage": "Resolution" }, "hosting.specs.burst": { "defaultMessage": "Bursts up to {cpus} CPUs" @@ -429,7 +429,7 @@ "defaultMessage": "Password" }, "label.played": { - "defaultMessage": "Played {time}" + "defaultMessage": "Played {ago}" }, "label.project": { "defaultMessage": "Project" @@ -825,13 +825,13 @@ "defaultMessage": "{count} {count, plural, one {download} other {downloads}}" }, "project.environment.client-and-server.description": { - "defaultMessage": "Has some functionality on both the client and server, even if only partially." + "defaultMessage": "Required on both the client and server." }, "project.environment.client-and-server.title": { "defaultMessage": "Client and server, required on both" }, "project.environment.client-only-server-optional.description": { - "defaultMessage": "Has some functionality on both the client and server, even if only partially." + "defaultMessage": "Most functionality is client-side, but installing it on the server enables enhanced functionality." }, "project.environment.client-only-server-optional.title": { "defaultMessage": "Client and server, optional on server" @@ -843,7 +843,7 @@ "defaultMessage": "Client-side only" }, "project.environment.client-or-server-prefers-both.description": { - "defaultMessage": "Has some functionality on both the client and server, even if only partially." + "defaultMessage": "Has some functionality on both the client and server, even if only partially. Installing it on both leads to the best experience." }, "project.environment.client-or-server-prefers-both.title": { "defaultMessage": "Client and server, best when installed on both" @@ -855,19 +855,19 @@ "defaultMessage": "Client and server, optional on both" }, "project.environment.dedicated-server-only.description": { - "defaultMessage": "All functionality is done server-side and is compatible with vanilla clients." + "defaultMessage": "All functionality is done server-side and is compatible with vanilla clients. Only works on dedicated servers." }, "project.environment.dedicated-server-only.title": { "defaultMessage": "Server-side only" }, "project.environment.server-only-client-optional.description": { - "defaultMessage": "Has some functionality on both the client and server, even if only partially." + "defaultMessage": "Most functionality is server-side, but installing it on the client enables enhanced functionality." }, "project.environment.server-only-client-optional.title": { "defaultMessage": "Client and server, optional on client" }, "project.environment.server-only.description": { - "defaultMessage": "All functionality is done server-side and is compatible with vanilla clients." + "defaultMessage": "All functionality is done server-side and is compatible with vanilla clients. Also works on the internal server in singleplayer." }, "project.environment.server-only.title": { "defaultMessage": "Server-side only, works in singleplayer too" @@ -891,7 +891,7 @@ "defaultMessage": "Unknown environment" }, "project.follower-count-tooltip": { - "defaultMessage": "{count} {count, plural, one {followers} other {followers}}" + "defaultMessage": "{count} {count, plural, one {follower} other {followers}}" }, "project.settings.analytics.title": { "defaultMessage": "Analytics" From 2da4987e4882c3e17f5d9fc8f29c9cb3b02c4916 Mon Sep 17 00:00:00 2001 From: lumiscosity Date: Thu, 12 Feb 2026 13:09:16 +0100 Subject: [PATCH 4/5] roll back describes + lint --- .../src/components/ui/create/CollectionCreateModal.vue | 2 +- .../src/components/ui/create/OrganizationCreateModal.vue | 2 +- .../src/components/ui/create/ProjectCreateModal.vue | 2 +- apps/frontend/src/locales/en-US/index.json | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/frontend/src/components/ui/create/CollectionCreateModal.vue b/apps/frontend/src/components/ui/create/CollectionCreateModal.vue index 971d1e087c..e745f2c180 100644 --- a/apps/frontend/src/components/ui/create/CollectionCreateModal.vue +++ b/apps/frontend/src/components/ui/create/CollectionCreateModal.vue @@ -91,7 +91,7 @@ const messages = defineMessages({ }, summaryDescription: { id: 'create.collection.summary-description', - defaultMessage: 'A sentence or two that describe your collection.', + defaultMessage: 'A sentence or two that describes your collection.', }, summaryPlaceholder: { id: 'create.collection.summary-placeholder', diff --git a/apps/frontend/src/components/ui/create/OrganizationCreateModal.vue b/apps/frontend/src/components/ui/create/OrganizationCreateModal.vue index 0d100b4ea1..8fe0418072 100644 --- a/apps/frontend/src/components/ui/create/OrganizationCreateModal.vue +++ b/apps/frontend/src/components/ui/create/OrganizationCreateModal.vue @@ -118,7 +118,7 @@ const messages = defineMessages({ }, summaryDescription: { id: 'create.organization.summary-description', - defaultMessage: 'A sentence or two that describe your organization.', + defaultMessage: 'A sentence or two that describes your organization.', }, summaryPlaceholder: { id: 'create.organization.summary-placeholder', diff --git a/apps/frontend/src/components/ui/create/ProjectCreateModal.vue b/apps/frontend/src/components/ui/create/ProjectCreateModal.vue index 16ebd99440..a1fbc214fb 100644 --- a/apps/frontend/src/components/ui/create/ProjectCreateModal.vue +++ b/apps/frontend/src/components/ui/create/ProjectCreateModal.vue @@ -136,7 +136,7 @@ const messages = defineMessages({ }, summaryDescription: { id: 'create.project.summary-description', - defaultMessage: 'A sentence or two that describe your project.', + defaultMessage: 'A sentence or two that describes your project.', }, summaryPlaceholder: { id: 'create.project.summary-placeholder', diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json index 40097a6bc5..7a1353cb1e 100644 --- a/apps/frontend/src/locales/en-US/index.json +++ b/apps/frontend/src/locales/en-US/index.json @@ -423,7 +423,7 @@ "message": "Enter collection name..." }, "create.collection.summary-description": { - "message": "A sentence or two that describe your collection." + "message": "A sentence or two that describes your collection." }, "create.collection.summary-label": { "message": "Summary" @@ -480,7 +480,7 @@ "message": "You will be the owner of this organization, but you can invite other members and transfer ownership at any time." }, "create.organization.summary-description": { - "message": "A sentence or two that describe your organization." + "message": "A sentence or two that describes your organization." }, "create.organization.summary-label": { "message": "Summary" @@ -504,7 +504,7 @@ "message": "Enter project name..." }, "create.project.summary-description": { - "message": "A sentence or two that describe your project." + "message": "A sentence or two that describes your project." }, "create.project.summary-label": { "message": "Summary" From b72d1d6ca4849e730b150ad1bce1f0bcaa508365 Mon Sep 17 00:00:00 2001 From: lumiscosity Date: Thu, 12 Feb 2026 20:09:03 +0100 Subject: [PATCH 5/5] fix extra "usd" in some languages in the hosting marketing page --- .../src/components/ui/servers/marketing/ServerPlanSelector.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/frontend/src/components/ui/servers/marketing/ServerPlanSelector.vue b/apps/frontend/src/components/ui/servers/marketing/ServerPlanSelector.vue index acddaf0eed..aaab0a63dc 100644 --- a/apps/frontend/src/components/ui/servers/marketing/ServerPlanSelector.vue +++ b/apps/frontend/src/components/ui/servers/marketing/ServerPlanSelector.vue @@ -133,7 +133,6 @@ const billingMonths = computed(() => { {{ formatPrice(locale, price / billingMonths, currency, true) }} - {{ isUsa ? '' : currency }} / month