mirror of
https://github.com/Qortal/Qortal-Hub.git
synced 2025-06-15 20:41:21 +00:00
Translation for addGroup page
This commit is contained in:
parent
efbf195c60
commit
51c65e8236
@ -24,6 +24,10 @@
|
||||
"peers": "connected peers",
|
||||
"version": "core version"
|
||||
},
|
||||
"count": {
|
||||
"none": "none",
|
||||
"one": "one"
|
||||
},
|
||||
"description": "description",
|
||||
"fee": {
|
||||
"payment": "payment fee",
|
||||
@ -56,16 +60,12 @@
|
||||
"synchronizing": "synchronizing"
|
||||
},
|
||||
"success": {
|
||||
"group_creation": "successfully created group. It may take a couple of minutes for the changes to propagate",
|
||||
"order_submitted": "your buy order was submitted",
|
||||
"publish_qdn": "successfully published to QDN",
|
||||
"request_read": "I have read this request",
|
||||
"transfer": "the transfer was succesful!"
|
||||
}
|
||||
},
|
||||
"question": {
|
||||
"perform_create_group": "would you like to perform an CREATE_GROUP transaction?"
|
||||
},
|
||||
"save_options": {
|
||||
"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?",
|
||||
@ -88,6 +88,14 @@
|
||||
"dark": "dark mode",
|
||||
"light": "light mode"
|
||||
},
|
||||
"time": {
|
||||
"day_one": "{{count}} day",
|
||||
"day_other": "{{count}} days",
|
||||
"hour_one": "{{count}} hour",
|
||||
"hour_other": "{{count}} hours",
|
||||
"minute_one": "{{count}} minute",
|
||||
"minute_other": "{{count}} minutes"
|
||||
},
|
||||
"title": "title",
|
||||
"tutorial": "tutorial",
|
||||
"user_lookup": "user lookup",
|
||||
|
@ -1,39 +1,38 @@
|
||||
{
|
||||
"action": {
|
||||
"create_group": "create group",
|
||||
"find_group": "find group",
|
||||
"return_to_thread": "return to threads"
|
||||
},
|
||||
"group_invites": "group invites",
|
||||
"provide_thread": "please provide a thread title",
|
||||
"advanced_options": "advanced options",
|
||||
"approval_threshold": "group Approval Threshold (number / percentage of Admins that must approve a transaction)",
|
||||
"block_delay": {
|
||||
"minimum": "minimum Block delay for Group Transaction Approvals",
|
||||
"maximum": "maximum Block delay for Group Transaction Approvals"
|
||||
},
|
||||
"group": {
|
||||
"closed": "closed (private) - users need permission to join",
|
||||
"description": "description of group",
|
||||
"invites": "group invites",
|
||||
"management": "group management",
|
||||
"name": "name of group",
|
||||
"open": "open (public)",
|
||||
"type": "group type"
|
||||
},
|
||||
"question": {
|
||||
"create_group": "would you like to perform an CREATE_GROUP transaction?",
|
||||
"provide_thread": "please provide a thread title"
|
||||
},
|
||||
"result": {
|
||||
"cannot": {
|
||||
"error": {
|
||||
"access_name": "Cannot send a message without a access to your name",
|
||||
"group_info": "Cannot access group information"
|
||||
},
|
||||
"loading_threads": "loading threads... please wait."
|
||||
},
|
||||
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": "",
|
||||
"": ""
|
||||
"loading_threads": "loading threads... please wait.",
|
||||
"success": {
|
||||
"group_creation": "successfully created group. It may take a couple of minutes for the changes to propagate",
|
||||
"group_creation_name": "created group {{group_name}}: awaiting confirmation",
|
||||
"group_creation_label": "created group {{name}}: success!"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
setMaxBlock(event.target.value as string);
|
||||
};
|
||||
|
||||
const { t } = useTranslation(['core']);
|
||||
const { t } = useTranslation(['core', 'group']);
|
||||
const theme = useTheme();
|
||||
|
||||
const handleCreateGroup = async () => {
|
||||
@ -102,8 +102,9 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
if (!description) throw new Error('Please provide a description');
|
||||
|
||||
const fee = await getFee('CREATE_GROUP');
|
||||
|
||||
await show({
|
||||
message: t('core:question.perform_create_group', {
|
||||
message: t('group:question.create_group', {
|
||||
postProcess: 'capitalize',
|
||||
}),
|
||||
publishFee: fee.fee + ' QORT',
|
||||
@ -123,7 +124,7 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
if (!response?.error) {
|
||||
setInfoSnack({
|
||||
type: 'success',
|
||||
message: t('core:result.success.group_creation', {
|
||||
message: t('group:result.success.group_creation', {
|
||||
postProcess: 'capitalize',
|
||||
}),
|
||||
});
|
||||
@ -132,8 +133,14 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
{
|
||||
...response,
|
||||
type: 'created-group',
|
||||
label: `Created group ${name}: awaiting confirmation`,
|
||||
labelDone: `Created group ${name}: success!`,
|
||||
label: t('group:result.success.group_creation_name', {
|
||||
group_name: name,
|
||||
postProcess: 'capitalize',
|
||||
}),
|
||||
labelDone: t('group:result.success.group_creation_label', {
|
||||
group_name: name,
|
||||
postProcess: 'capitalize',
|
||||
}),
|
||||
done: false,
|
||||
},
|
||||
...prev,
|
||||
@ -144,7 +151,11 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
rej({ message: response.error });
|
||||
})
|
||||
.catch((error) => {
|
||||
rej({ message: error.message || 'An error occurred' });
|
||||
rej({
|
||||
message:
|
||||
error.message ||
|
||||
t('core:result.error.generic', { postProcess: 'capitalize' }),
|
||||
});
|
||||
});
|
||||
});
|
||||
} catch (error) {
|
||||
@ -194,7 +205,7 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
>
|
||||
<Toolbar>
|
||||
<Typography sx={{ ml: 2, flex: 1 }} variant="h4" component="div">
|
||||
Group Management
|
||||
{t('group:group.management', { postProcess: 'capitalize' })}
|
||||
</Typography>
|
||||
|
||||
<IconButton
|
||||
@ -235,7 +246,9 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
}}
|
||||
>
|
||||
<Tab
|
||||
label="Create Group"
|
||||
label={t('group:action.create_group', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
{...a11yProps(0)}
|
||||
sx={{
|
||||
'&.Mui-selected': {
|
||||
@ -245,7 +258,9 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
}}
|
||||
/>
|
||||
<Tab
|
||||
label="Find Group"
|
||||
label={t('group:action.find_group', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
{...a11yProps(1)}
|
||||
sx={{
|
||||
'&.Mui-selected': {
|
||||
@ -255,7 +270,9 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
}}
|
||||
/>
|
||||
<Tab
|
||||
label="Group Invites"
|
||||
label={t('group:group.invites', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
{...a11yProps(2)}
|
||||
sx={{
|
||||
'&.Mui-selected': {
|
||||
@ -289,9 +306,15 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
gap: '5px',
|
||||
}}
|
||||
>
|
||||
<Label>Name of group</Label>
|
||||
<Label>
|
||||
{t('group:group.name', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</Label>
|
||||
<Input
|
||||
placeholder="Name of group"
|
||||
placeholder={t('group:group.name', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
value={name}
|
||||
onChange={(e) => setName(e.target.value)}
|
||||
/>
|
||||
@ -303,10 +326,16 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
gap: '5px',
|
||||
}}
|
||||
>
|
||||
<Label>Description of group</Label>
|
||||
<Label>
|
||||
{t('group:group.description', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</Label>
|
||||
|
||||
<Input
|
||||
placeholder="Description of group"
|
||||
placeholder={t('group:group.description', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
value={description}
|
||||
onChange={(e) => setDescription(e.target.value)}
|
||||
/>
|
||||
@ -318,7 +347,13 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
gap: '5px',
|
||||
}}
|
||||
>
|
||||
<Label>Group type</Label>
|
||||
<Label>
|
||||
{' '}
|
||||
{t('group:group.type', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</Label>
|
||||
|
||||
<Select
|
||||
labelId="demo-simple-select-label"
|
||||
id="demo-simple-select"
|
||||
@ -326,9 +361,15 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
label="Group Type"
|
||||
onChange={handleChangeGroupType}
|
||||
>
|
||||
<MenuItem value={1}>Open (public)</MenuItem>
|
||||
<MenuItem value={1}>
|
||||
{t('group:group.open', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</MenuItem>
|
||||
<MenuItem value={0}>
|
||||
Closed (private) - users need permission to join
|
||||
{t('group:group.closed', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</MenuItem>
|
||||
</Select>
|
||||
</Box>
|
||||
@ -341,7 +382,11 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
}}
|
||||
onClick={() => setOpenAdvance((prev) => !prev)}
|
||||
>
|
||||
<Typography>Advanced options</Typography>
|
||||
<Typography>
|
||||
{t('group:advanced_options', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</Typography>
|
||||
|
||||
{openAdvance ? <ExpandLess /> : <ExpandMore />}
|
||||
</Box>
|
||||
@ -355,8 +400,9 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
}}
|
||||
>
|
||||
<Label>
|
||||
Group Approval Threshold (number / percentage of Admins
|
||||
that must approve a transaction)
|
||||
{t('group:approval_threshold', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</Label>
|
||||
<Select
|
||||
labelId="demo-simple-select-label"
|
||||
@ -365,14 +411,21 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
label="Group Approval Threshold"
|
||||
onChange={handleChangeApprovalThreshold}
|
||||
>
|
||||
<MenuItem value={0}>NONE</MenuItem>
|
||||
<MenuItem value={1}>ONE </MenuItem>
|
||||
|
||||
<MenuItem value={20}>20% </MenuItem>
|
||||
<MenuItem value={40}>40% </MenuItem>
|
||||
<MenuItem value={60}>60% </MenuItem>
|
||||
<MenuItem value={80}>80% </MenuItem>
|
||||
<MenuItem value={100}>100% </MenuItem>
|
||||
<MenuItem value={0}>
|
||||
{t('core.count.none', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</MenuItem>
|
||||
<MenuItem value={1}>
|
||||
{t('core.count.one', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</MenuItem>
|
||||
<MenuItem value={20}>20%</MenuItem>
|
||||
<MenuItem value={40}>40%</MenuItem>
|
||||
<MenuItem value={60}>60%</MenuItem>
|
||||
<MenuItem value={80}>80%</MenuItem>
|
||||
<MenuItem value={100}>100%</MenuItem>
|
||||
</Select>
|
||||
</Box>
|
||||
<Box
|
||||
@ -383,7 +436,9 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
}}
|
||||
>
|
||||
<Label>
|
||||
Minimum Block delay for Group Transaction Approvals
|
||||
{t('group.block_delay.minimum', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</Label>
|
||||
<Select
|
||||
labelId="demo-simple-select-label"
|
||||
@ -392,18 +447,42 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
label="Minimum Block delay"
|
||||
onChange={handleChangeMinBlock}
|
||||
>
|
||||
<MenuItem value={5}>5 minutes</MenuItem>
|
||||
<MenuItem value={10}>10 minutes</MenuItem>
|
||||
<MenuItem value={30}>30 minutes</MenuItem>
|
||||
<MenuItem value={60}>1 hour</MenuItem>
|
||||
<MenuItem value={180}>3 hours</MenuItem>
|
||||
<MenuItem value={300}>5 hours</MenuItem>
|
||||
<MenuItem value={420}>7 hours</MenuItem>
|
||||
<MenuItem value={720}>12 hours</MenuItem>
|
||||
<MenuItem value={1440}>1 day</MenuItem>
|
||||
<MenuItem value={4320}>3 days</MenuItem>
|
||||
<MenuItem value={7200}>5 days</MenuItem>
|
||||
<MenuItem value={10080}>7 days</MenuItem>
|
||||
<MenuItem value={5}>
|
||||
{t('core.time.minute', { count: 5 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={10}>
|
||||
{t('core.time.minute', { count: 10 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={30}>
|
||||
{t('core.time.minute', { count: 30 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={60}>
|
||||
{t('core.time.hour', { count: 1 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={180}>
|
||||
{t('core.time.hour', { count: 3 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={300}>
|
||||
{t('core.time.hour', { count: 5 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={420}>
|
||||
{t('core.time.hour', { count: 7 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={720}>
|
||||
{t('core.time.hour', { count: 12 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={1440}>
|
||||
{t('core.time.day', { count: 1 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={4320}>
|
||||
{t('core.time.day', { count: 3 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={7200}>
|
||||
{t('core.time.day', { count: 5 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={10080}>
|
||||
{t('core.time.day', { count: 7 })}
|
||||
</MenuItem>
|
||||
</Select>
|
||||
</Box>
|
||||
<Box
|
||||
@ -414,7 +493,9 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
}}
|
||||
>
|
||||
<Label>
|
||||
Maximum Block delay for Group Transaction Approvals
|
||||
{t('group.block_delay.maximum', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</Label>
|
||||
<Select
|
||||
labelId="demo-simple-select-label"
|
||||
@ -423,17 +504,39 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
label="Maximum Block delay"
|
||||
onChange={handleChangeMaxBlock}
|
||||
>
|
||||
<MenuItem value={60}>1 hour</MenuItem>
|
||||
<MenuItem value={180}>3 hours</MenuItem>
|
||||
<MenuItem value={300}>5 hours</MenuItem>
|
||||
<MenuItem value={420}>7 hours</MenuItem>
|
||||
<MenuItem value={720}>12 hours</MenuItem>
|
||||
<MenuItem value={1440}>1 day</MenuItem>
|
||||
<MenuItem value={4320}>3 days</MenuItem>
|
||||
<MenuItem value={7200}>5 days</MenuItem>
|
||||
<MenuItem value={10080}>7 days</MenuItem>
|
||||
<MenuItem value={14400}>10 days</MenuItem>
|
||||
<MenuItem value={21600}>15 days</MenuItem>
|
||||
<MenuItem value={60}>
|
||||
{t('core.time.hour', { count: 1 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={180}>
|
||||
3{t('core.time.hour', { count: 3 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={300}>
|
||||
{t('core.time.hour', { count: 5 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={420}>
|
||||
{t('core.time.hour', { count: 7 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={720}>
|
||||
{t('core.time.hour', { count: 12 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={1440}>
|
||||
{t('core.time.day', { count: 1 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={4320}>
|
||||
{t('core.time.day', { count: 3 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={7200}>
|
||||
{t('core.time.day', { count: 5 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={10080}>
|
||||
{t('core.time.day', { count: 7 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={14400}>
|
||||
{t('core.time.day', { count: 10 })}
|
||||
</MenuItem>
|
||||
<MenuItem value={21600}>
|
||||
{t('core.time.day', { count: 15 })}
|
||||
</MenuItem>
|
||||
</Select>
|
||||
</Box>
|
||||
</Collapse>
|
||||
@ -449,7 +552,9 @@ export const AddGroup = ({ address, open, setOpen }) => {
|
||||
color="primary"
|
||||
onClick={handleCreateGroup}
|
||||
>
|
||||
Create Group
|
||||
{t('group.action.create', {
|
||||
postProcess: 'capitalize',
|
||||
})}
|
||||
</Button>
|
||||
</Box>
|
||||
</Box>
|
||||
|
@ -183,19 +183,19 @@ export const NewThread = ({
|
||||
const missingFields: string[] = [];
|
||||
|
||||
if (!isMessage && !threadTitle) {
|
||||
errorMsg = t('group:provide_thread', {
|
||||
errorMsg = t('group:question.provide_thread', {
|
||||
postProcess: 'capitalize',
|
||||
});
|
||||
}
|
||||
|
||||
if (!name) {
|
||||
errorMsg = t('group:result.cannot.access_name', {
|
||||
errorMsg = t('group:result.error.access_name', {
|
||||
postProcess: 'capitalize',
|
||||
});
|
||||
}
|
||||
|
||||
if (!groupInfo) {
|
||||
errorMsg = t('group:result.cannot.group_info', {
|
||||
errorMsg = t('group:result.error.group_info', {
|
||||
postProcess: 'capitalize',
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user