From 3e6d2f5e4b0faaab8a8eb39df560d1d20202ffe7 Mon Sep 17 00:00:00 2001 From: Nicola Benaglia Date: Thu, 15 May 2025 19:02:12 +0200 Subject: [PATCH] Update translations --- src/components/Apps/AppPublish.tsx | 97 ++++++++++++++++++------ src/components/Group/Forum/NewThread.tsx | 2 +- src/components/MainAvatar.tsx | 1 + src/components/Save/Save.tsx | 6 +- src/i18n/locales/en/core.json | 22 +++++- 5 files changed, 98 insertions(+), 30 deletions(-) diff --git a/src/components/Apps/AppPublish.tsx b/src/components/Apps/AppPublish.tsx index 5a181cd..1425ba6 100644 --- a/src/components/Apps/AppPublish.tsx +++ b/src/components/Apps/AppPublish.tsx @@ -169,17 +169,25 @@ export const AppPublish = ({ names, categories }) => { }); if (missingFields.length > 0) { const missingFieldsString = missingFields.join(', '); - const errorMsg = `Missing fields: ${missingFieldsString}`; + const errorMsg = t('core:message.error.missing_fields', { + fields: missingFieldsString, + postProcess: 'capitalize', + }); throw new Error(errorMsg); } const fee = await getFee('ARBITRARY'); await show({ - // TODO translate - message: 'Would you like to publish this app?', + message: t('core:save_options.publish_app', { + postProcess: 'capitalize', + }), publishFee: fee.fee + ' QORT', }); - setIsLoading('Publishing... Please wait.'); + setIsLoading( + t('core:message.generic.publishing', { + postProcess: 'capitalize', + }) + ); const fileBase64 = await fileToBase64(file); await new Promise((res, rej) => { window @@ -204,13 +212,17 @@ export const AppPublish = ({ names, categories }) => { rej(response.error); }) .catch((error) => { - rej(error.message || 'An error occurred'); + rej( + error.message || + t('core:message.error.generic', { postProcess: 'capitalize' }) + ); }); }); setInfoSnack({ type: 'success', - message: - 'Successfully published. Please wait a couple minutes for the network to propogate the changes.', + message: t('core:message.success.published', { + postProcess: 'capitalize', + }), }); setOpenSnack(true); const dataObj = { @@ -229,7 +241,11 @@ export const AppPublish = ({ names, categories }) => { } catch (error) { setInfoSnack({ type: 'error', - message: error?.message || 'Unable to publish app', + message: + error?.message || + t('core:message.error.publish_app', { + postProcess: 'capitalize', + }), }); setOpenSnack(true); } finally { @@ -250,18 +266,27 @@ export const AppPublish = ({ names, categories }) => { width: 'auto', }} > - Create Apps! + + {t('core:action.create_apps', { + postProcess: 'capitalize', + })} + ! + - Note: Currently, only one App and Website is allowed per Name. + {t('core:message.generic.one_app_per_name', { + postProcess: 'capitalize', + })} - Name/App + {t('core:name_app', { + postProcess: 'capitalize', + })} { color: theme.palette.text.secondary, }} > - Select Name/App + {t('core:action.select_name_app', { + postProcess: 'capitalize', + })} {/* This is the placeholder item */} @@ -288,7 +315,9 @@ export const AppPublish = ({ names, categories }) => { - App service type + {t('core:app_service_type', { + postProcess: 'capitalize', + })} { color: theme.palette.text.secondary, }} > - Select App Type + {t('core:action.select_app_type', { + postProcess: 'capitalize', + })} - App - Website + + {t('core:app', { + postProcess: 'capitalize', + })} + + + {t('core:website', { + postProcess: 'capitalize', + })} + - Title + {t('core:title', { + postProcess: 'capitalize', + })} { - Description + {t('core:description', { + postProcess: 'capitalize', + })} { - Category + {t('core:category', { + postProcess: 'capitalize', + })} { color: theme.palette.text.secondary, }} > - Select Category + {t('core:action.select_category', { + postProcess: 'capitalize', + })} {categories?.map((category) => { @@ -393,7 +440,9 @@ export const AppPublish = ({ names, categories }) => { - Tags + {t('core:tags', { + postProcess: 'capitalize', + })} @@ -487,7 +536,7 @@ export const AppPublish = ({ names, categories }) => { - Select .zip file containing static content:{' '} + {t('core:message.generic.select_zip', { postProcess: 'capitalize' })} @@ -507,7 +556,7 @@ export const AppPublish = ({ names, categories }) => { {' '} - Choose File + {t('core:action.choose_file', { postProcess: 'capitalize' })} @@ -518,7 +567,7 @@ export const AppPublish = ({ names, categories }) => { }} onClick={publishApp} > - Publish + {t('core:action.publish', { postProcess: 'capitalize' })} diff --git a/src/components/Group/Forum/NewThread.tsx b/src/components/Group/Forum/NewThread.tsx index 1a1e5df..0212702 100644 --- a/src/components/Group/Forum/NewThread.tsx +++ b/src/components/Group/Forum/NewThread.tsx @@ -202,7 +202,7 @@ export const NewThread = ({ // if (!description) missingFields.push('subject') if (missingFields.length > 0) { const missingFieldsString = missingFields.join(', '); - const errMsg = t('group:message.error.missing_field', { + const errMsg = t('core:message.error.missing_fields', { field: missingFieldsString, postProcess: 'capitalize', }); diff --git a/src/components/MainAvatar.tsx b/src/components/MainAvatar.tsx index 10370de..60a32b8 100644 --- a/src/components/MainAvatar.tsx +++ b/src/components/MainAvatar.tsx @@ -65,6 +65,7 @@ export const MainAvatar = ({ myName, balance, setOpenSnack, setInfoSnack }) => { const publishAvatar = async () => { try { + // TODO translate const fee = await getFee('ARBITRARY'); if (+balance < +fee.fee) throw new Error(`Publishing an Avatar requires ${fee.fee}`); diff --git a/src/components/Save/Save.tsx b/src/components/Save/Save.tsx index d67780a..23032ee 100644 --- a/src/components/Save/Save.tsx +++ b/src/components/Save/Save.tsx @@ -155,7 +155,9 @@ export const Save = ({ isDesktop, disableWidth, myName }) => { const fee = await getFee('ARBITRARY'); await show({ - message: t('core:save.publish_qnd', { postProcess: 'capitalize' }), + message: t('core:save_options.publish_qnd', { + postProcess: 'capitalize', + }), publishFee: fee.fee + ' QORT', }); const response = await new Promise((res, rej) => { @@ -184,7 +186,7 @@ export const Save = ({ isDesktop, disableWidth, myName }) => { setSettingsQdnLastUpdated(Date.now()); setInfoSnack({ type: 'success', - message: t('core:message.success.publish_qdn', { + message: t('core:message.success.published_qdn', { postProcess: 'capitalize', }), }); diff --git a/src/i18n/locales/en/core.json b/src/i18n/locales/en/core.json index 757350d..22c1c25 100644 --- a/src/i18n/locales/en/core.json +++ b/src/i18n/locales/en/core.json @@ -12,6 +12,8 @@ "close": "close", "continue": "continue", "continue_logout": "continue to logout", + "create_apps": "create apps", + "create_file": "create file", "create_thread": "create thread", "choose_name": "choose a name", "decline": "decline", @@ -39,11 +41,16 @@ "register_name": "register name", "remove": "remove", "save": "save", + "select_app_type": "select App Type", + "select_category": "select Category", + "select_name_app": "select Name/App", "start_minting": "start minting", "unpin": "unpin", "unpin_from_dashboard": "unpin from dashboard" }, "admin": "admin", + "app": "app", + "app_service_type": "app service type", "category": "category", "core": { "block_height": "block height", @@ -83,7 +90,8 @@ "incorrect_password": "incorrect password", "minting_account_add": "unable to add minting account", "minting_account_remove": "unable to remove minting account", - "missing_field": "missing: {{ field }}", + "missing_fields": "missing: {{ fields }}", + "publish_app": "unable to publish app", "save_qdn": "unable to save to QDN" }, "generic": { @@ -93,8 +101,11 @@ "name_registration": "your balance is {{ balance }} QORT. A name registration requires a {{ fee }} QORT fee", "name_unavailable": "{{ name }} is unavailable", "no_description": "no description", + "one_app_per_name": "note: Currently, only one App and Website is allowed per Name.", "publish_data": "publish data to Qortal: anything from apps to videos. Fully decentralized!", - "secure_ownership": "secure ownership of data published by your name. You can even sell your name, along with your data to a third party." + "publishing": "publishing... Please wait.", + "secure_ownership": "secure ownership of data published by your name. You can even sell your name, along with your data to a third party.", + "select_zip": "select .zip file containing static content:" }, "question": { "new_user": "are you a new user?" @@ -107,12 +118,14 @@ }, "success": { "order_submitted": "your buy order was submitted", - "publish_qdn": "successfully published to QDN", + "published": "successfully published. Please wait a couple minutes for the network to propogate the changes.", + "published_qdn": "successfully published to QDN", "request_read": "I have read this request", "transfer": "the transfer was succesful!" } }, "minting_status": "minting status", + "name_app": "name/App", "none": "none", "page": { "last": "last", @@ -130,6 +143,7 @@ "no_pinned_changes": "you currently do not have any changes to your pinned apps", "overwrite_changes": "the app was unable to download your existing QDN-saved pinned apps. Would you like to overwrite those changes?", "overwrite_qdn": "overwrite to QDN", + "publish_app": "would you like to publish this app?", "publish_qdn": "would you like to publish your settings to QDN (encrypted)?", "qdn": "use QDN saving", "register_name": "you need a registered Qortal name to save your pinned apps to QDN.", @@ -144,6 +158,7 @@ }, "settings": "settings", "supply": "supply", + "tags": "tags", "theme": { "dark": "dark mode", "light": "light mode" @@ -163,5 +178,6 @@ "wallet": "wallet", "wallet_other": "wallets" }, + "website": "website", "welcome": "welcome" }