mirror of
https://github.com/perfect-panel/ppanel-web.git
synced 2026-02-06 03:30:25 -05:00
✨ feat: Update Auth Control
This commit is contained in:
parent
dd23279e3e
commit
c59742a4f3
33
CHANGELOG.md
33
CHANGELOG.md
@ -1,39 +1,36 @@
|
||||
<a name="readme-top"></a>
|
||||
|
||||
# Changelog
|
||||
|
||||
# [1.0.0-beta.6](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2025-01-10)
|
||||
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
* **auth**: Update UserCheckForm to use setInitialValues and modify onSubmit type ([c984c0d](https://github.com/perfect-panel/ppanel-web/commit/c984c0d))
|
||||
- **auth**: Update UserCheckForm to use setInitialValues and modify onSubmit type ([c984c0d](https://github.com/perfect-panel/ppanel-web/commit/c984c0d))
|
||||
|
||||
# [1.0.0-beta.5](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2025-01-09)
|
||||
|
||||
|
||||
### ✨ Features
|
||||
|
||||
* **locales**: Replace 'nodeGroupId' with 'groupId' in multiple language files for consistency ([a4e9d5d](https://github.com/perfect-panel/ppanel-web/commit/a4e9d5d))
|
||||
* **locales**: Update 'deductBalance' to 'giftAmount' across multiple languages and fix newline in announcement.json ([70497af](https://github.com/perfect-panel/ppanel-web/commit/70497af))
|
||||
* **stats**: Replace dynamic stat fetching with environment constants for user, server, and location counts ([46ae166](https://github.com/perfect-panel/ppanel-web/commit/46ae166))
|
||||
* **subscribe**: Update suffix from 'MB' to 'Mbps' and enhance speed limit display logic ([3547bb1](https://github.com/perfect-panel/ppanel-web/commit/3547bb1))
|
||||
* **user**: Add 'gift_amount' field and update related references in user services and components ([b13c77e](https://github.com/perfect-panel/ppanel-web/commit/b13c77e))
|
||||
|
||||
- **locales**: Replace 'nodeGroupId' with 'groupId' in multiple language files for consistency ([a4e9d5d](https://github.com/perfect-panel/ppanel-web/commit/a4e9d5d))
|
||||
- **locales**: Update 'deductBalance' to 'giftAmount' across multiple languages and fix newline in announcement.json ([70497af](https://github.com/perfect-panel/ppanel-web/commit/70497af))
|
||||
- **stats**: Replace dynamic stat fetching with environment constants for user, server, and location counts ([46ae166](https://github.com/perfect-panel/ppanel-web/commit/46ae166))
|
||||
- **subscribe**: Update suffix from 'MB' to 'Mbps' and enhance speed limit display logic ([3547bb1](https://github.com/perfect-panel/ppanel-web/commit/3547bb1))
|
||||
- **user**: Add 'gift_amount' field and update related references in user services and components ([b13c77e](https://github.com/perfect-panel/ppanel-web/commit/b13c77e))
|
||||
|
||||
### 🎫 Chores
|
||||
|
||||
* **deps**: Update package dependencies across multiple projects for improved stability and performance ([b01a5bc](https://github.com/perfect-panel/ppanel-web/commit/b01a5bc))
|
||||
* **ui**: Update package dependencies for improved stability and performance ([25da429](https://github.com/perfect-panel/ppanel-web/commit/25da429))
|
||||
|
||||
- **deps**: Update package dependencies across multiple projects for improved stability and performance ([b01a5bc](https://github.com/perfect-panel/ppanel-web/commit/b01a5bc))
|
||||
- **ui**: Update package dependencies for improved stability and performance ([25da429](https://github.com/perfect-panel/ppanel-web/commit/25da429))
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
* **api**: Replace 'deduction' with 'gift_amount' and add 'commission' field in type definitions ([77edf1d](https://github.com/perfect-panel/ppanel-web/commit/77edf1d))
|
||||
* **api**: Update API type definitions to replace 'deduction' with 'gift_amount' and make 'commission' field optional ([c2af060](https://github.com/perfect-panel/ppanel-web/commit/c2af060))
|
||||
* **auth**: Refactor user authentication forms to remove global store dependency and improve type handling ([12026b0](https://github.com/perfect-panel/ppanel-web/commit/12026b0))
|
||||
* **coupon**: Rename 'server' field to 'subscribe' in coupon form and update coupon update request type ([f8b6d82](https://github.com/perfect-panel/ppanel-web/commit/f8b6d82))
|
||||
* **types**: Add 'gift_amount' field to API type definitions ([8f8a12a](https://github.com/perfect-panel/ppanel-web/commit/8f8a12a))
|
||||
* **user**: Add the 'gift_amount' field to the user service's type definition ([6301409](https://github.com/perfect-panel/ppanel-web/commit/6301409))
|
||||
- **api**: Replace 'deduction' with 'gift_amount' and add 'commission' field in type definitions ([77edf1d](https://github.com/perfect-panel/ppanel-web/commit/77edf1d))
|
||||
- **api**: Update API type definitions to replace 'deduction' with 'gift_amount' and make 'commission' field optional ([c2af060](https://github.com/perfect-panel/ppanel-web/commit/c2af060))
|
||||
- **auth**: Refactor user authentication forms to remove global store dependency and improve type handling ([12026b0](https://github.com/perfect-panel/ppanel-web/commit/12026b0))
|
||||
- **coupon**: Rename 'server' field to 'subscribe' in coupon form and update coupon update request type ([f8b6d82](https://github.com/perfect-panel/ppanel-web/commit/f8b6d82))
|
||||
- **types**: Add 'gift_amount' field to API type definitions ([8f8a12a](https://github.com/perfect-panel/ppanel-web/commit/8f8a12a))
|
||||
- **user**: Add the 'gift_amount' field to the user service's type definition ([6301409](https://github.com/perfect-panel/ppanel-web/commit/6301409))
|
||||
|
||||
<a name="readme-top"></a>
|
||||
|
||||
|
||||
179
apps/admin/app/dashboard/auth-control/email/page.tsx
Normal file
179
apps/admin/app/dashboard/auth-control/email/page.tsx
Normal file
@ -0,0 +1,179 @@
|
||||
'use client';
|
||||
|
||||
import { getEmailSmtpConfig, testEmailSmtp, updateEmailSmtpConfig } from '@/services/admin/system';
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { Button } from '@workspace/ui/components/button';
|
||||
import { Label } from '@workspace/ui/components/label';
|
||||
import { Switch } from '@workspace/ui/components/switch';
|
||||
import { Table, TableBody, TableCell, TableRow } from '@workspace/ui/components/table';
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@workspace/ui/components/tabs';
|
||||
import { HTMLEditor } from '@workspace/ui/custom-components/editor';
|
||||
import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useRef, useState } from 'react';
|
||||
import { toast } from 'sonner';
|
||||
|
||||
interface ConfigProps {
|
||||
data?: Record<string, any> & API.EmailSmtpConfig;
|
||||
updateConfig: (key: string, value: unknown) => Promise<void>;
|
||||
isFetching?: boolean;
|
||||
}
|
||||
|
||||
export default function Page() {
|
||||
const t = useTranslations('email');
|
||||
const ref = useRef<Partial<API.EmailSmtpConfig>>({});
|
||||
|
||||
const { data, refetch, isFetching } = useQuery({
|
||||
queryKey: ['getEmailSmtpConfig'],
|
||||
queryFn: async () => {
|
||||
const { data } = await getEmailSmtpConfig();
|
||||
ref.current = data.data as API.EmailSmtpConfig;
|
||||
return data.data;
|
||||
},
|
||||
});
|
||||
|
||||
async function updateConfig(key: string, value: unknown) {
|
||||
if (data?.[key] === value) return;
|
||||
try {
|
||||
await updateEmailSmtpConfig({
|
||||
...ref.current,
|
||||
[key]: value,
|
||||
} as API.EmailSmtpConfig);
|
||||
toast.success(t('saveSuccess'));
|
||||
refetch();
|
||||
} catch (error) {
|
||||
/* empty */
|
||||
}
|
||||
}
|
||||
const [email, setEmail] = useState<string>();
|
||||
|
||||
return (
|
||||
<Tabs defaultValue='basic'>
|
||||
<TabsList>
|
||||
<TabsTrigger value='basic'>{t('emailBasicConfig')}</TabsTrigger>
|
||||
<TabsTrigger value='template'>{t('emailTemplate')}</TabsTrigger>
|
||||
<TabsTrigger value='logs'>{t('emailLogs')}</TabsTrigger>
|
||||
</TabsList>
|
||||
|
||||
<div className='flex-1'>
|
||||
<TabsContent value='basic'>
|
||||
<Table>
|
||||
<TableBody>
|
||||
{[
|
||||
{
|
||||
key: 'email_smtp_host',
|
||||
label: t('smtpServerAddress'),
|
||||
description: t('smtpServerAddressDescription'),
|
||||
},
|
||||
{
|
||||
key: 'email_smtp_port',
|
||||
label: t('smtpServerPort'),
|
||||
description: t('smtpServerPortDescription'),
|
||||
type: 'number',
|
||||
},
|
||||
{
|
||||
key: 'email_smtp_ssl',
|
||||
label: t('smtpEncryptionMethod'),
|
||||
description: t('smtpEncryptionMethodDescription'),
|
||||
component: 'switch',
|
||||
},
|
||||
{
|
||||
key: 'email_smtp_user',
|
||||
label: t('smtpAccount'),
|
||||
description: t('smtpAccountDescription'),
|
||||
},
|
||||
{
|
||||
key: 'email_smtp_pass',
|
||||
label: t('smtpPassword'),
|
||||
description: t('smtpPasswordDescription'),
|
||||
type: 'password',
|
||||
},
|
||||
{
|
||||
key: 'email_smtp_from',
|
||||
label: t('senderAddress'),
|
||||
description: t('senderAddressDescription'),
|
||||
},
|
||||
].map(({ key, label, description, type = 'text', component = 'input' }) => (
|
||||
<TableRow key={key}>
|
||||
<TableCell>
|
||||
<Label>{label}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{description}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
{component === 'input' ? (
|
||||
<EnhancedInput
|
||||
placeholder={t('inputPlaceholder')}
|
||||
value={data?.[key]}
|
||||
type={type}
|
||||
onValueBlur={(value) => updateConfig(key, value)}
|
||||
/>
|
||||
) : (
|
||||
<Switch
|
||||
checked={data?.[key]}
|
||||
onCheckedChange={(checked) => updateConfig(key, checked)}
|
||||
/>
|
||||
)}
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
))}
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('sendTestEmail')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('sendTestEmailDescription')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='flex items-center gap-2 text-right'>
|
||||
<EnhancedInput
|
||||
placeholder={t('inputPlaceholder')}
|
||||
value={email}
|
||||
onValueChange={(value) => setEmail(value as string)}
|
||||
/>
|
||||
<Button
|
||||
disabled={!email}
|
||||
onClick={async () => {
|
||||
if (isFetching || !email) return;
|
||||
try {
|
||||
await testEmailSmtp({ email });
|
||||
toast.success(t('sendSuccess'));
|
||||
} catch {
|
||||
toast.error(t('sendFailure'));
|
||||
}
|
||||
}}
|
||||
>
|
||||
{t('sendTestEmail')}
|
||||
</Button>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value='template'>
|
||||
<div className='grid grid-cols-1 gap-4 py-4 md:grid-cols-3'>
|
||||
{[
|
||||
'verify_email_template',
|
||||
'expiration_email_template',
|
||||
'maintenance_email_template',
|
||||
].map((templateKey) => (
|
||||
<HTMLEditor
|
||||
key={templateKey}
|
||||
title={t(`${templateKey}`)}
|
||||
description={t(`${templateKey}Description`, { after: '{{', before: '}}' })}
|
||||
placeholder={t('inputPlaceholder')}
|
||||
value={data?.[templateKey as keyof API.EmailSmtpConfig] as string}
|
||||
onBlur={(value) => {
|
||||
updateConfig(templateKey, value);
|
||||
}}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value='logs'>
|
||||
<div>
|
||||
<p>TODO: placeholder for email logs</p>
|
||||
</div>
|
||||
</TabsContent>
|
||||
</div>
|
||||
</Tabs>
|
||||
);
|
||||
}
|
||||
@ -10,8 +10,8 @@ import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { toast } from 'sonner';
|
||||
|
||||
export default function Register() {
|
||||
const t = useTranslations('system.register');
|
||||
export default function Page() {
|
||||
const t = useTranslations('auth-control');
|
||||
|
||||
const { data, refetch } = useQuery({
|
||||
queryKey: ['getRegisterConfig'],
|
||||
29
apps/admin/app/dashboard/auth-control/layout.tsx
Normal file
29
apps/admin/app/dashboard/auth-control/layout.tsx
Normal file
@ -0,0 +1,29 @@
|
||||
'use client';
|
||||
|
||||
import { AuthControl } from '@/config/navs';
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@workspace/ui/components/tabs';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import Link from 'next/link';
|
||||
import { usePathname } from 'next/navigation';
|
||||
|
||||
interface AuthControlLayoutProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
export default function AuthControlLayout({ children }: Readonly<AuthControlLayoutProps>) {
|
||||
const pathname = usePathname();
|
||||
const t = useTranslations('menu');
|
||||
if (!pathname) return null;
|
||||
return (
|
||||
<Tabs value={pathname}>
|
||||
<TabsList className='h-full flex-wrap'>
|
||||
{AuthControl.map((item) => (
|
||||
<TabsTrigger key={item.url} value={item.url} asChild>
|
||||
<Link href={item.url}>{t(item.title)}</Link>
|
||||
</TabsTrigger>
|
||||
))}
|
||||
</TabsList>
|
||||
<TabsContent value={pathname}>{children}</TabsContent>
|
||||
</Tabs>
|
||||
);
|
||||
}
|
||||
5
apps/admin/app/dashboard/auth-control/page.tsx
Normal file
5
apps/admin/app/dashboard/auth-control/page.tsx
Normal file
@ -0,0 +1,5 @@
|
||||
import { redirect } from 'next/navigation';
|
||||
|
||||
export default function Page() {
|
||||
return redirect('/dashboard/auth-control/general');
|
||||
}
|
||||
389
apps/admin/app/dashboard/auth-control/phone/page.tsx
Normal file
389
apps/admin/app/dashboard/auth-control/phone/page.tsx
Normal file
@ -0,0 +1,389 @@
|
||||
'use client';
|
||||
|
||||
import { ProTable, ProTableActions } from '@/components/pro-table';
|
||||
import { getSmsList } from '@/services/admin/sms';
|
||||
import {
|
||||
getSmsConfig,
|
||||
getSmsPlatform,
|
||||
testSmsSend,
|
||||
updateSmsConfig,
|
||||
} from '@/services/admin/system';
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { Badge } from '@workspace/ui/components/badge';
|
||||
import { Button } from '@workspace/ui/components/button';
|
||||
import { Label } from '@workspace/ui/components/label';
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
SelectItem,
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
} from '@workspace/ui/components/select';
|
||||
import { Switch } from '@workspace/ui/components/switch';
|
||||
import { Table, TableBody, TableCell, TableRow } from '@workspace/ui/components/table';
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@workspace/ui/components/tabs';
|
||||
import { Textarea } from '@workspace/ui/components/textarea';
|
||||
import { AreaCodeSelect } from '@workspace/ui/custom-components/area-code-select';
|
||||
import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
|
||||
import { formatDate } from '@workspace/ui/utils';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useRef, useState } from 'react';
|
||||
import { toast } from 'sonner';
|
||||
|
||||
export default function Page() {
|
||||
const t = useTranslations('phone');
|
||||
const { data, refetch, isFetching } = useQuery({
|
||||
queryKey: ['getSmsConfig'],
|
||||
queryFn: async () => {
|
||||
const { data } = await getSmsConfig();
|
||||
return data.data;
|
||||
},
|
||||
});
|
||||
|
||||
const { data: platform } = useQuery({
|
||||
queryKey: ['getSmsPlatform'],
|
||||
queryFn: async () => {
|
||||
const { data } = await getSmsPlatform();
|
||||
return data.data?.list;
|
||||
},
|
||||
});
|
||||
|
||||
async function updateConfig(key: string, value: unknown) {
|
||||
if (data?.[key] === value) return;
|
||||
try {
|
||||
await updateSmsConfig({
|
||||
...data,
|
||||
[key]: value,
|
||||
} as API.SmsConfig);
|
||||
toast.success(t('updateSuccess'));
|
||||
refetch();
|
||||
} catch (error) {
|
||||
/* empty */
|
||||
}
|
||||
}
|
||||
const [params, setParams] = useState<API.SendSmsRequest>({
|
||||
telephone: '',
|
||||
content: t('testSmsContent'),
|
||||
area_code: '1',
|
||||
});
|
||||
|
||||
return (
|
||||
<Tabs defaultValue='settings' className='w-full'>
|
||||
<TabsList>
|
||||
<TabsTrigger value='settings'>{t('settings')}</TabsTrigger>
|
||||
<TabsTrigger value='logs'>{t('logs')}</TabsTrigger>
|
||||
</TabsList>
|
||||
|
||||
<TabsContent value='settings'>
|
||||
<Table>
|
||||
<TableBody>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('enable')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('enableTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<Switch
|
||||
checked={data?.sms_enabled}
|
||||
onCheckedChange={(checked) => updateConfig('sms_enabled', checked)}
|
||||
disabled={isFetching}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('expireTime')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('expireTimeTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<EnhancedInput
|
||||
type='number'
|
||||
min={0}
|
||||
value={data?.sms_expire ?? 60}
|
||||
onValueBlur={(value) => updateConfig('sms_expire', value)}
|
||||
suffix='S'
|
||||
disabled={isFetching}
|
||||
placeholder={t('placeholders.expireTime')}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell className='align-top'>
|
||||
<Label>{t('interval')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('intervalTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<EnhancedInput
|
||||
type='number'
|
||||
value={data?.sms_interval ?? 60}
|
||||
min={0}
|
||||
onValueBlur={(value) => updateConfig('sms_interval', value)}
|
||||
suffix='S'
|
||||
disabled={isFetching}
|
||||
placeholder={t('placeholders.interval')}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('limit')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('limitTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<EnhancedInput
|
||||
type='number'
|
||||
value={data?.sms_limit ?? 20}
|
||||
min={0}
|
||||
onValueBlur={(value) => updateConfig('sms_limit', value)}
|
||||
disabled={isFetching}
|
||||
placeholder={t('placeholders.limit')}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('platform')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('platformTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<Select
|
||||
value={data?.sms_platform}
|
||||
onValueChange={(value) => updateConfig('sms_platform', value)}
|
||||
disabled={isFetching}
|
||||
>
|
||||
<SelectTrigger>
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
{platform?.map((item) => (
|
||||
<SelectItem key={item} value={item}>
|
||||
{item}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('username')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('usernameTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<EnhancedInput
|
||||
value={data?.sms_key ?? ''}
|
||||
onValueBlur={(value) => updateConfig('sms_key', value)}
|
||||
disabled={isFetching}
|
||||
placeholder={t('placeholders.username')}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('password')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('passwordTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<EnhancedInput
|
||||
value={data?.sms_secret ?? ''}
|
||||
onValueBlur={(value) => updateConfig('sms_secret', value)}
|
||||
disabled={isFetching}
|
||||
type='password'
|
||||
placeholder={t('placeholders.password')}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('apiUrl')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('apiUrlTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<EnhancedInput
|
||||
value={data?.sms_api_url ?? ''}
|
||||
onValueBlur={(value) => updateConfig('sms_api_url', value)}
|
||||
disabled={isFetching}
|
||||
placeholder={t('placeholders.apiUrl')}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('foreignApiUrl')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('foreignApiUrlTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<EnhancedInput
|
||||
value={data?.sms_api_foreign_url ?? ''}
|
||||
onValueBlur={(value) => updateConfig('sms_api_foreign_url', value)}
|
||||
disabled={isFetching}
|
||||
placeholder={t('placeholders.foreignApiUrl')}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('region')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('regionTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<EnhancedInput
|
||||
value={data?.sms_region ?? ''}
|
||||
onValueBlur={(value) => updateConfig('sms_region', value)}
|
||||
disabled={isFetching}
|
||||
placeholder={t('placeholders.region')}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('templateCode')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('templateCodeTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<EnhancedInput
|
||||
value={data?.sms_template_code ?? ''}
|
||||
onValueBlur={(value) => updateConfig('sms_template_code', value)}
|
||||
disabled={isFetching}
|
||||
placeholder={t('placeholders.templateCode')}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('templateParam')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('templateParamTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<EnhancedInput
|
||||
value={data?.sms_template_param ?? 'code'}
|
||||
onValueBlur={(value) => updateConfig('sms_template_param', value)}
|
||||
disabled={isFetching}
|
||||
placeholder={t('placeholders.templateParam')}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('template')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>
|
||||
{t('templateTip', {
|
||||
code: '{{.Code}}',
|
||||
})}
|
||||
</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
<Textarea
|
||||
defaultValue={data?.sms_template ?? ''}
|
||||
onBlur={(e) => updateConfig('sms_template', e.target.value)}
|
||||
disabled={isFetching}
|
||||
placeholder={t('placeholders.template', { code: '{{.Code}}' })}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('testSms')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('testSmsTip')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='flex items-center gap-2 text-right'>
|
||||
<AreaCodeSelect
|
||||
value={params.area_code}
|
||||
onChange={(value) => {
|
||||
if (value.phone) {
|
||||
setParams((prev) => ({ ...prev, area_code: value.phone! }));
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<EnhancedInput
|
||||
placeholder={t('testSmsPhone')}
|
||||
value={params.telephone}
|
||||
onValueChange={(value) => {
|
||||
setParams((prev) => ({ ...prev, telephone: value as string }));
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
disabled={!params.telephone || !params.area_code}
|
||||
onClick={async () => {
|
||||
if (isFetching || !params.telephone || !params.area_code) return;
|
||||
try {
|
||||
await testSmsSend(params);
|
||||
toast.success(t('sendSuccess'));
|
||||
} catch {
|
||||
toast.error(t('sendFailed'));
|
||||
}
|
||||
}}
|
||||
>
|
||||
{t('testSms')}
|
||||
</Button>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value='logs'>
|
||||
<LogsTable />
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
);
|
||||
}
|
||||
|
||||
function LogsTable() {
|
||||
const t = useTranslations('phone');
|
||||
const ref = useRef<ProTableActions>(null);
|
||||
|
||||
return (
|
||||
<ProTable<API.Sms, { telephone: string }>
|
||||
action={ref}
|
||||
header={{
|
||||
title: t('SmsList'),
|
||||
}}
|
||||
columns={[
|
||||
{
|
||||
accessorKey: 'platform',
|
||||
header: t('platform'),
|
||||
},
|
||||
{
|
||||
accessorKey: 'areaCode',
|
||||
header: t('areaCode'),
|
||||
},
|
||||
{
|
||||
accessorKey: 'telephone',
|
||||
header: t('telephone'),
|
||||
},
|
||||
{
|
||||
accessorKey: 'content',
|
||||
header: t('content'),
|
||||
},
|
||||
{
|
||||
accessorKey: 'status',
|
||||
header: t('status'),
|
||||
cell: ({ row }) => {
|
||||
const status = row.getValue('status');
|
||||
const text = status === 1 ? t('sendSuccess') : t('sendFailed');
|
||||
return <Badge variant={status === 1 ? 'default' : 'destructive'}>{text}</Badge>;
|
||||
},
|
||||
},
|
||||
{
|
||||
accessorKey: 'created_at',
|
||||
header: t('createdAt'),
|
||||
cell: ({ row }) => formatDate(row.getValue('created_at')),
|
||||
},
|
||||
]}
|
||||
params={[
|
||||
{
|
||||
key: 'telephone',
|
||||
placeholder: t('search'),
|
||||
},
|
||||
]}
|
||||
request={async (pagination, filter) => {
|
||||
const { data } = await getSmsList({ ...pagination, ...filter });
|
||||
return {
|
||||
list: data.data?.list || [],
|
||||
total: data.data?.total || 0,
|
||||
};
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -1,150 +0,0 @@
|
||||
'use client';
|
||||
|
||||
import { getEmailSmtpConfig, testEmailSmtp, updateEmailSmtpConfig } from '@/services/admin/system';
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { Button } from '@workspace/ui/components/button';
|
||||
import { Label } from '@workspace/ui/components/label';
|
||||
import { Switch } from '@workspace/ui/components/switch';
|
||||
import { Table, TableBody, TableCell, TableRow } from '@workspace/ui/components/table';
|
||||
import { HTMLEditor } from '@workspace/ui/custom-components/editor';
|
||||
import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
|
||||
import { useTranslations } from 'next-intl';
|
||||
import { useState } from 'react';
|
||||
import { toast } from 'sonner';
|
||||
|
||||
export default function Email() {
|
||||
const t = useTranslations('system.email');
|
||||
|
||||
const { data, refetch, isFetching } = useQuery({
|
||||
queryKey: ['getEmailSmtpConfig'],
|
||||
queryFn: async () => {
|
||||
const { data } = await getEmailSmtpConfig();
|
||||
return data.data;
|
||||
},
|
||||
});
|
||||
|
||||
const [email, setEmail] = useState<string>();
|
||||
|
||||
async function updateConfig(key: string, value: unknown) {
|
||||
if (data?.[key] === value) return;
|
||||
try {
|
||||
await updateEmailSmtpConfig({
|
||||
...data,
|
||||
[key]: value,
|
||||
} as API.EmailSmtpConfig);
|
||||
toast.success(t('saveSuccess'));
|
||||
refetch();
|
||||
} catch (error) {
|
||||
/* empty */
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Table>
|
||||
<TableBody>
|
||||
{[
|
||||
{
|
||||
key: 'email_smtp_host',
|
||||
label: t('smtpServerAddress'),
|
||||
description: t('smtpServerAddressDescription'),
|
||||
},
|
||||
{
|
||||
key: 'email_smtp_port',
|
||||
label: t('smtpServerPort'),
|
||||
description: t('smtpServerPortDescription'),
|
||||
type: 'number',
|
||||
},
|
||||
{
|
||||
key: 'email_smtp_ssl',
|
||||
label: t('smtpEncryptionMethod'),
|
||||
description: t('smtpEncryptionMethodDescription'),
|
||||
component: 'switch',
|
||||
},
|
||||
{
|
||||
key: 'email_smtp_user',
|
||||
label: t('smtpAccount'),
|
||||
description: t('smtpAccountDescription'),
|
||||
},
|
||||
{
|
||||
key: 'email_smtp_pass',
|
||||
label: t('smtpPassword'),
|
||||
description: t('smtpPasswordDescription'),
|
||||
type: 'password',
|
||||
},
|
||||
{
|
||||
key: 'email_smtp_from',
|
||||
label: t('senderAddress'),
|
||||
description: t('senderAddressDescription'),
|
||||
},
|
||||
].map(({ key, label, description, type = 'text', component = 'input' }) => (
|
||||
<TableRow key={key}>
|
||||
<TableCell>
|
||||
<Label>{label}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{description}</p>
|
||||
</TableCell>
|
||||
<TableCell className='text-right'>
|
||||
{component === 'input' ? (
|
||||
<EnhancedInput
|
||||
placeholder={t('inputPlaceholder')}
|
||||
value={data?.[key]}
|
||||
type={type}
|
||||
onValueBlur={(value) => updateConfig(key, value)}
|
||||
/>
|
||||
) : (
|
||||
<Switch
|
||||
checked={data?.[key]}
|
||||
onCheckedChange={(checked) => updateConfig(key, checked)}
|
||||
/>
|
||||
)}
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
))}
|
||||
<TableRow>
|
||||
<TableCell>
|
||||
<Label>{t('sendTestEmail')}</Label>
|
||||
<p className='text-muted-foreground text-xs'>{t('sendTestEmailDescription')}</p>
|
||||
</TableCell>
|
||||
<TableCell className='flex items-center gap-2 text-right'>
|
||||
<EnhancedInput
|
||||
placeholder={t('inputPlaceholder')}
|
||||
value={email}
|
||||
onValueChange={(value) => setEmail(value as string)}
|
||||
/>
|
||||
<Button
|
||||
disabled={!email}
|
||||
onClick={async () => {
|
||||
if (isFetching || !email) return;
|
||||
try {
|
||||
await testEmailSmtp({ email });
|
||||
toast.success(t('sendSuccess'));
|
||||
} catch {
|
||||
toast.error(t('sendFailure'));
|
||||
}
|
||||
}}
|
||||
>
|
||||
{t('sendTestEmail')}
|
||||
</Button>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
<div className='grid grid-cols-1 gap-4 py-4 md:grid-cols-3'>
|
||||
{['verify_email_template', 'expiration_email_template', 'maintenance_email_template'].map(
|
||||
(templateKey) => (
|
||||
<HTMLEditor
|
||||
key={templateKey}
|
||||
title={t(`${templateKey}`)}
|
||||
description={t(`${templateKey}Description`, { after: '{{', before: '}}' })}
|
||||
placeholder={t('inputPlaceholder')}
|
||||
value={data?.[templateKey]}
|
||||
onBlur={(value) => {
|
||||
updateConfig(templateKey, value);
|
||||
}}
|
||||
/>
|
||||
),
|
||||
)}
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@ -2,10 +2,8 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from '@workspace/ui/componen
|
||||
import { getTranslations } from 'next-intl/server';
|
||||
|
||||
import Currency from './currency';
|
||||
import Email from './email';
|
||||
import Invite from './invite';
|
||||
import Node from './node';
|
||||
import Register from './register';
|
||||
import Site from './site';
|
||||
import Subscription from './subscription';
|
||||
import Telegram from './telegram';
|
||||
@ -21,9 +19,7 @@ export default async function Page() {
|
||||
<TabsTrigger value='site'>{t('tabs.site')}</TabsTrigger>
|
||||
<TabsTrigger value='currency'>{t('tabs.currency')}</TabsTrigger>
|
||||
<TabsTrigger value='subscription'>{t('tabs.subscription')}</TabsTrigger>
|
||||
<TabsTrigger value='register'>{t('tabs.register')}</TabsTrigger>
|
||||
<TabsTrigger value='verify'>{t('tabs.verify')}</TabsTrigger>
|
||||
<TabsTrigger value='email'>{t('tabs.email')}</TabsTrigger>
|
||||
<TabsTrigger value='node'>{t('tabs.node')}</TabsTrigger>
|
||||
<TabsTrigger value='invite'>{t('tabs.invite')}</TabsTrigger>
|
||||
<TabsTrigger value='telegram'>{t('tabs.telegram')}</TabsTrigger>
|
||||
@ -38,15 +34,9 @@ export default async function Page() {
|
||||
<TabsContent value='subscription'>
|
||||
<Subscription />
|
||||
</TabsContent>
|
||||
<TabsContent value='register'>
|
||||
<Register />
|
||||
</TabsContent>
|
||||
<TabsContent value='verify'>
|
||||
<Verify />
|
||||
</TabsContent>
|
||||
<TabsContent value='email'>
|
||||
<Email />
|
||||
</TabsContent>
|
||||
<TabsContent value='node'>
|
||||
<Node />
|
||||
</TabsContent>
|
||||
|
||||
@ -61,7 +61,11 @@ export function SidebarLeft({ ...props }: React.ComponentProps<typeof Sidebar>)
|
||||
<SidebarMenuButton
|
||||
asChild
|
||||
tooltip={t(item.title)}
|
||||
isActive={item.url === pathname}
|
||||
isActive={
|
||||
item.url === '/dashboard'
|
||||
? pathname === item.url
|
||||
: pathname.startsWith(item.url)
|
||||
}
|
||||
>
|
||||
<Link href={item.url}>
|
||||
{item.icon && <Icon icon={item.icon} />}
|
||||
|
||||
@ -1,3 +1,42 @@
|
||||
export const AuthControl = [
|
||||
{
|
||||
title: 'General',
|
||||
url: '/dashboard/auth-control/general',
|
||||
},
|
||||
{
|
||||
title: 'Email',
|
||||
url: '/dashboard/auth-control/email',
|
||||
},
|
||||
{
|
||||
title: 'Phone Number',
|
||||
url: '/dashboard/auth-control/phone',
|
||||
},
|
||||
{
|
||||
title: 'Apple',
|
||||
url: '/dashboard/auth-control/apple',
|
||||
},
|
||||
{
|
||||
title: 'Telegram',
|
||||
url: '/dashboard/auth-control/telegram',
|
||||
},
|
||||
{
|
||||
title: 'Google',
|
||||
url: '/dashboard/auth-control/google',
|
||||
},
|
||||
{
|
||||
title: 'Facebook',
|
||||
url: '/dashboard/auth-control/facebook',
|
||||
},
|
||||
{
|
||||
title: 'Twitter',
|
||||
url: '/dashboard/auth-control/twitter',
|
||||
},
|
||||
{
|
||||
title: 'GitHub',
|
||||
url: '/dashboard/auth-control/github',
|
||||
},
|
||||
];
|
||||
|
||||
export const navs = [
|
||||
{
|
||||
title: 'Dashboard',
|
||||
@ -12,6 +51,12 @@ export const navs = [
|
||||
url: '/dashboard/system',
|
||||
icon: 'flat-color-icons:services',
|
||||
},
|
||||
{
|
||||
title: 'Auth Control',
|
||||
url: '/dashboard/auth-control',
|
||||
icon: 'flat-color-icons:lock-portrait',
|
||||
items: AuthControl,
|
||||
},
|
||||
{
|
||||
title: 'Payment Config',
|
||||
url: '/dashboard/payment',
|
||||
@ -82,16 +127,20 @@ export const navs = [
|
||||
];
|
||||
|
||||
export function findNavByUrl(url: string) {
|
||||
for (const nav of navs) {
|
||||
if (nav.url && nav.url === url) {
|
||||
return [nav];
|
||||
}
|
||||
if (nav.items) {
|
||||
const current = nav.items.find((item) => item.url === url);
|
||||
if (current) {
|
||||
return [nav, current];
|
||||
function findNav(items: any[], url: string, path: any[] = []): any[] {
|
||||
for (const item of items) {
|
||||
if (item.url === url) {
|
||||
return [...path, item];
|
||||
}
|
||||
if (item.items) {
|
||||
const result = findNav(item.items, url, [...path, item]);
|
||||
if (result.length) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
return [];
|
||||
}
|
||||
return [];
|
||||
|
||||
return findNav(navs, url);
|
||||
}
|
||||
|
||||
20
apps/admin/locales/cs-CZ/auth-control.json
Normal file
20
apps/admin/locales/cs-CZ/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "Seznam povolených přípon e-mailů",
|
||||
"emailSuffixWhitelistDescription": "Když je povoleno, mohou se registrovat pouze e-maily s příponami v seznamu",
|
||||
"emailVerification": "Ověření e-mailu",
|
||||
"emailVerificationDescription": "Když je povoleno, uživatelé budou muset ověřit svůj e-mail",
|
||||
"ipRegistrationLimit": "Limit registrace IP",
|
||||
"ipRegistrationLimitDescription": "Když je povoleno, IP adresy, které splňují požadavky pravidla, budou omezeny v registraci; mějte na paměti, že určení IP může způsobit problémy kvůli CDN nebo frontendovým proxy serverům",
|
||||
"penaltyTime": "Čas trestu (minuty)",
|
||||
"penaltyTimeDescription": "Uživatelé musí počkat, až vyprší doba penalizace, než se mohou znovu zaregistrovat",
|
||||
"registrationLimitCount": "Počet registrací",
|
||||
"registrationLimitCountDescription": "Povolit sankci po dosažení limitu registrací",
|
||||
"saveSuccess": "Uložení bylo úspěšné",
|
||||
"stopNewUserRegistration": "Zastavit registraci nových uživatelů",
|
||||
"stopNewUserRegistrationDescription": "Když je povoleno, nikdo se nemůže registrovat",
|
||||
"trialRegistration": "Registrace do zkušební verze",
|
||||
"trialRegistrationDescription": "Povolit registraci na zkušební verzi; nejprve upravte zkušební balíček a dobu trvání",
|
||||
"whitelistSuffixes": "Povolené přípony",
|
||||
"whitelistSuffixesDescription": "Používá se pro ověření e-mailu během registrace; jeden na řádek",
|
||||
"whitelistSuffixesPlaceholder": "Zadejte přípony e-mailů, každou na samostatný řádek"
|
||||
}
|
||||
29
apps/admin/locales/cs-CZ/email.json
Normal file
29
apps/admin/locales/cs-CZ/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Základní konfigurace",
|
||||
"emailLogs": "Záznamy e-mailů",
|
||||
"emailTemplate": "Šablona e-mailu",
|
||||
"expiration_email_template": "Šablona oznámení o vypršení platnosti",
|
||||
"expiration_email_templateDescription": "Zástupné symboly {after}.variable{before} budou nahrazeny skutečnými daty. Ujistěte se, že tyto proměnné zachováte.",
|
||||
"inputPlaceholder": "Zadejte hodnotu...",
|
||||
"maintenance_email_template": "Šablona oznámení o údržbě",
|
||||
"maintenance_email_templateDescription": "Zástupné symboly {after}.variable{before} budou nahrazeny skutečnými daty. Ujistěte se, že tyto proměnné zachováte.",
|
||||
"saveSuccess": "Konfigurace byla úspěšně uložena.",
|
||||
"sendFailure": "Nepodařilo se odeslat testovací e-mail, zkontrolujte prosím konfiguraci.",
|
||||
"sendSuccess": "Testovací e-mail byl úspěšně odeslán.",
|
||||
"sendTestEmail": "Odeslat testovací e-mail",
|
||||
"sendTestEmailDescription": "Odeslat testovací e-mail pro ověření konfigurace.",
|
||||
"senderAddress": "Adresa odesílatele",
|
||||
"senderAddressDescription": "Výchozí e-mailová adresa používaná pro odesílání e-mailů.",
|
||||
"smtpAccount": "SMTP účet",
|
||||
"smtpAccountDescription": "E-mailový účet používaný pro ověřování.",
|
||||
"smtpEncryptionMethod": "Metoda šifrování SMTP",
|
||||
"smtpEncryptionMethodDescription": "Vyberte, zda povolit šifrování SSL/TLS.",
|
||||
"smtpPassword": "SMTP heslo",
|
||||
"smtpPasswordDescription": "Heslo pro účet SMTP.",
|
||||
"smtpServerAddress": "Adresa SMTP serveru",
|
||||
"smtpServerAddressDescription": "Zadejte adresu serveru používanou pro odesílání e-mailů.",
|
||||
"smtpServerPort": "Port SMTP serveru",
|
||||
"smtpServerPortDescription": "Zadejte port používaný k připojení k SMTP serveru.",
|
||||
"verify_email_template": "Šablona ověřovacího e-mailu",
|
||||
"verify_email_templateDescription": "Zástupné symboly {after}.variable{before} budou nahrazeny skutečnými daty. Ujistěte se, že tyto proměnné zachováte."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Správa oznámení",
|
||||
"Apple": "Apple ID",
|
||||
"Auth Control": "Řízení ověřování",
|
||||
"Coupon Management": "Správa kupónů",
|
||||
"Dashboard": "Přístrojová deska",
|
||||
"Document Management": "Správa dokumentů",
|
||||
"Email": "E-mail",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Finance",
|
||||
"General": "Obecné",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Správa objednávek",
|
||||
"Payment Config": "Konfigurace platby",
|
||||
"Phone Number": "Telefonní číslo",
|
||||
"Server": "Server",
|
||||
"Server Management": "Správa serveru",
|
||||
"Settings": "Nastavení",
|
||||
"Subscribe Management": "Správa předplatného",
|
||||
"System Config": "Systémová konfigurace",
|
||||
"System Tool": "Systémový nástroj",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Správa lístků",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Uživatel",
|
||||
"User Management": "Správa uživatelů"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/cs-CZ/phone.json
Normal file
57
apps/admin/locales/cs-CZ/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "Seznam SMS záznamů",
|
||||
"apiUrl": "API URL",
|
||||
"apiUrlTip": "Koncový bod API platformy SMS",
|
||||
"areaCode": "Směrový kód",
|
||||
"content": "Obsah",
|
||||
"createdAt": "Čas odeslání",
|
||||
"enable": "Povolit",
|
||||
"enableTip": "Po povolení budou povoleny funkce registrace, přihlášení, připojení a odpojení mobilního telefonu",
|
||||
"expireTime": "Čas vypršení",
|
||||
"expireTimeTip": "Doba platnosti ověřovacího kódu SMS (v sekundách)",
|
||||
"foreignApiUrl": "Mezinárodní API URL",
|
||||
"foreignApiUrlTip": "Koncový bod API pro mezinárodní SMS službu",
|
||||
"interval": "Interval",
|
||||
"intervalTip": "Interval odesílání SMS ověřovacího kódu pro stejné telefonní číslo (v sekundách), 0 znamená bez omezení",
|
||||
"limit": "Denní limit",
|
||||
"limitTip": "Denní limit pro odesílání ověřovacích SMS kódů na stejné telefonní číslo, 0 znamená bez omezení",
|
||||
"logs": "Protokoly",
|
||||
"password": "Heslo",
|
||||
"passwordTip": "Heslo pro SMS platformu, například Aliyun Access Key Secret",
|
||||
"placeholders": {
|
||||
"apiUrl": "Zadejte URL API, např. https://api.example.com",
|
||||
"expireTime": "Zadejte dobu vypršení, výchozí je 300",
|
||||
"foreignApiUrl": "Zadejte mezinárodní URL API",
|
||||
"interval": "Zadejte interval, výchozí je 60",
|
||||
"limit": "Zadejte denní limit, výchozí je 20",
|
||||
"password": "Zadejte heslo platformy",
|
||||
"region": "Zadejte region, např. cn-hangzhou",
|
||||
"template": "Váš ověřovací kód je {code}, platný po dobu 5 minut",
|
||||
"templateCode": "Zadejte kód šablony",
|
||||
"templateParam": "Zadejte název parametru, výchozí je kód",
|
||||
"username": "Zadejte uživatelské jméno platformy"
|
||||
},
|
||||
"platform": "SMS platforma",
|
||||
"platformTip": "Vyberte prosím platformu pro SMS",
|
||||
"region": "Region",
|
||||
"regionTip": "Region SMS služby, například cn-hangzhou pro Aliyun",
|
||||
"search": "Vyhledat telefonní číslo",
|
||||
"sendFailed": "Odeslání se nezdařilo",
|
||||
"sendSuccess": "Úspěšně odesláno",
|
||||
"settings": "Nastavení",
|
||||
"status": "Stav",
|
||||
"telephone": "Telefonní číslo",
|
||||
"template": "Šablona SMS",
|
||||
"templateCode": "Kód šablony",
|
||||
"templateCodeTip": "Kód šablony SMS služby",
|
||||
"templateParam": "Parametr šablony",
|
||||
"templateParamTip": "Název proměnného parametru v SMS šabloně, výchozí je 'kód'",
|
||||
"templateTip": "Vyplňte prosím šablonu SMS, ponechte {code} uprostřed, jinak funkce SMS nebude fungovat",
|
||||
"testSms": "Odeslat testovací SMS",
|
||||
"testSmsContent": "Toto je testovací zpráva",
|
||||
"testSmsPhone": "Zadejte telefonní číslo",
|
||||
"testSmsTip": "Odeslat testovací SMS pro ověření vaší konfigurace",
|
||||
"updateSuccess": "Aktualizace úspěšná",
|
||||
"username": "Uživatelské jméno",
|
||||
"usernameTip": "Uživatelské jméno SMS platformy, například Aliyun Access Key ID"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Pouze pro zobrazení, po změně se změní všechny měnové jednotky v systému",
|
||||
"saveSuccess": "Úspěšně uloženo"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Šablona oznámení o vypršení platnosti",
|
||||
"expiration_email_templateDescription": "Proměnné {after}.názevProměnné{before} v šabloně budou nahrazeny skutečnými daty, ujistěte se, že tyto proměnné zachováte.",
|
||||
"inputPlaceholder": "Zadejte obsah...",
|
||||
"maintenance_email_template": "Šablona oznámení o údržbě",
|
||||
"maintenance_email_templateDescription": "Proměnné {after}.názevProměnné{before} v šabloně budou nahrazeny skutečnými daty, ujistěte se, že tyto proměnné zachováte.",
|
||||
"saveSuccess": "Konfigurace byla úspěšně uložena.",
|
||||
"sendFailure": "Odeslání testovacího e-mailu selhalo, zkontrolujte konfiguraci.",
|
||||
"sendSuccess": "Testovací e-mail byl úspěšně odeslán.",
|
||||
"sendTestEmail": "Odeslat testovací e-mail",
|
||||
"sendTestEmailDescription": "Odešlete testovací e-mail pro ověření správnosti konfigurace.",
|
||||
"senderAddress": "Adresa odesílatele",
|
||||
"senderAddressDescription": "Výchozí e-mailová adresa použitá k odesílání e-mailů.",
|
||||
"smtpAccount": "Účet SMTP",
|
||||
"smtpAccountDescription": "E-mailový účet pro ověření identity.",
|
||||
"smtpEncryptionMethod": "Metoda šifrování SMTP",
|
||||
"smtpEncryptionMethodDescription": "Vyberte, zda povolit šifrování SSL/TLS.",
|
||||
"smtpPassword": "Heslo SMTP",
|
||||
"smtpPasswordDescription": "Heslo k účtu SMTP.",
|
||||
"smtpServerAddress": "Adresa serveru SMTP",
|
||||
"smtpServerAddressDescription": "Zadejte adresu serveru pro odesílání e-mailů.",
|
||||
"smtpServerPort": "Port serveru SMTP",
|
||||
"smtpServerPortDescription": "Zadejte číslo portu pro připojení k serveru SMTP.",
|
||||
"verify_email_template": "Šablona ověřovacího e-mailu",
|
||||
"verify_email_templateDescription": "Proměnné {after}.názevProměnné{before} v šabloně budou nahrazeny skutečnými daty, ujistěte se, že tyto proměnné zachováte."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Provize pouze při prvním nákupu",
|
||||
"commissionFirstTimeOnlyDescription": "Po aktivaci se provize generuje pouze při první platbě pozvaného uživatele. Můžete konfigurovat jednotlivé uživatele ve správě uživatelů.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Čas začátku",
|
||||
"timeSlot": "Časový úsek"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Seznam povolených přípon e-mailů",
|
||||
"emailSuffixWhitelistDescription": "Po aktivaci se mohou registrovat pouze e-maily s příponami uvedenými v seznamu",
|
||||
"emailVerification": "Ověření e-mailu",
|
||||
"emailVerificationDescription": "Po aktivaci budou uživatelé muset ověřit svůj e-mail",
|
||||
"ipRegistrationLimit": "Omezení registrace podle IP",
|
||||
"ipRegistrationLimitDescription": "Po aktivaci budou IP adresy, které splňují pravidla, omezeny v registraci. Upozorňujeme, že kvůli CDN nebo front-end proxy může dojít k problémům s určením IP adresy",
|
||||
"penaltyTime": "Doba trestu (minuty)",
|
||||
"penaltyTimeDescription": "Uživatelé musí počkat, až uplyne doba trestu, než se budou moci znovu registrovat",
|
||||
"registrationLimitCount": "Počet omezení registrace",
|
||||
"registrationLimitCountDescription": "Po dosažení limitu registrace se aktivuje trest",
|
||||
"saveSuccess": "Úspěšně uloženo",
|
||||
"stopNewUserRegistration": "Zastavit registraci nových uživatelů",
|
||||
"stopNewUserRegistrationDescription": "Po aktivaci se nikdo nebude moci registrovat",
|
||||
"trialRegistration": "Zkušební registrace",
|
||||
"trialRegistrationDescription": "Aktivujte zkušební registraci, nejprve upravte zkušební balíček a dobu trvání",
|
||||
"whitelistSuffixes": "Povolené přípony",
|
||||
"whitelistSuffixesDescription": "Používá se pro ověření e-mailu při registraci, jedna přípona na řádek",
|
||||
"whitelistSuffixesPlaceholder": "Zadejte přípony e-mailů, jednu na řádek"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Používá se k zobrazení místa, kde je potřeba zobrazit LOGO",
|
||||
|
||||
20
apps/admin/locales/de-DE/auth-control.json
Normal file
20
apps/admin/locales/de-DE/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "E-Mail-Suffix-Whitelist",
|
||||
"emailSuffixWhitelistDescription": "Wenn aktiviert, können sich nur E-Mails mit Suffixen aus der Liste registrieren",
|
||||
"emailVerification": "E-Mail-Verifizierung",
|
||||
"emailVerificationDescription": "Wenn aktiviert, müssen Benutzer ihre E-Mail-Adresse verifizieren",
|
||||
"ipRegistrationLimit": "IP-Registrierungsgrenze",
|
||||
"ipRegistrationLimitDescription": "Wenn aktiviert, werden IPs, die die Regelanforderungen erfüllen, von der Registrierung ausgeschlossen; beachten Sie, dass die Bestimmung der IPs aufgrund von CDNs oder Frontend-Proxys Probleme verursachen kann",
|
||||
"penaltyTime": "Strafzeit (Minuten)",
|
||||
"penaltyTimeDescription": "Benutzer müssen warten, bis die Strafzeit abgelaufen ist, bevor sie sich erneut registrieren können",
|
||||
"registrationLimitCount": "Anzahl der Anmeldungen",
|
||||
"registrationLimitCountDescription": "Strafe aktivieren, nachdem das Registrierungslimit erreicht wurde",
|
||||
"saveSuccess": "Erfolgreich gespeichert",
|
||||
"stopNewUserRegistration": "Neue Benutzerregistrierung stoppen",
|
||||
"stopNewUserRegistrationDescription": "Wenn aktiviert, kann sich niemand registrieren",
|
||||
"trialRegistration": "Studienregistrierung",
|
||||
"trialRegistrationDescription": "Testregistrierung aktivieren; zuerst Testpaket und -dauer anpassen",
|
||||
"whitelistSuffixes": "Whitelist-Suffixe",
|
||||
"whitelistSuffixesDescription": "Wird zur E-Mail-Verifizierung während der Registrierung verwendet; eine pro Zeile",
|
||||
"whitelistSuffixesPlaceholder": "Geben Sie E-Mail-Suffixe ein, eines pro Zeile"
|
||||
}
|
||||
29
apps/admin/locales/de-DE/email.json
Normal file
29
apps/admin/locales/de-DE/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Grundkonfiguration",
|
||||
"emailLogs": "E-Mail-Protokolle",
|
||||
"emailTemplate": "E-Mail-Vorlage",
|
||||
"expiration_email_template": "Vorlage für Ablaufbenachrichtigung",
|
||||
"expiration_email_templateDescription": "Die Platzhalter {after}.variable{before} werden durch tatsächliche Daten ersetzt. Stellen Sie sicher, dass Sie diese Variablen beibehalten.",
|
||||
"inputPlaceholder": "Wert eingeben...",
|
||||
"maintenance_email_template": "Wartungshinweis Vorlage",
|
||||
"maintenance_email_templateDescription": "Die Platzhalter {after}.variable{before} werden durch tatsächliche Daten ersetzt. Stellen Sie sicher, dass Sie diese Variablen beibehalten.",
|
||||
"saveSuccess": "Konfiguration erfolgreich gespeichert.",
|
||||
"sendFailure": "Senden der Test-E-Mail fehlgeschlagen, bitte überprüfen Sie die Konfiguration.",
|
||||
"sendSuccess": "Test-E-Mail erfolgreich gesendet.",
|
||||
"sendTestEmail": "Test-E-Mail senden",
|
||||
"sendTestEmailDescription": "Senden Sie eine Test-E-Mail, um die Konfiguration zu überprüfen.",
|
||||
"senderAddress": "Absenderadresse",
|
||||
"senderAddressDescription": "Die standardmäßige E-Mail-Adresse, die zum Versenden von E-Mails verwendet wird.",
|
||||
"smtpAccount": "SMTP-Konto",
|
||||
"smtpAccountDescription": "Das E-Mail-Konto, das für die Authentifizierung verwendet wird.",
|
||||
"smtpEncryptionMethod": "SMTP-Verschlüsselungsmethode",
|
||||
"smtpEncryptionMethodDescription": "Wählen Sie, ob SSL/TLS-Verschlüsselung aktiviert werden soll.",
|
||||
"smtpPassword": "SMTP-Passwort",
|
||||
"smtpPasswordDescription": "Das Passwort für das SMTP-Konto.",
|
||||
"smtpServerAddress": "SMTP-Server-Adresse",
|
||||
"smtpServerAddressDescription": "Geben Sie die Serveradresse an, die zum Senden von E-Mails verwendet wird.",
|
||||
"smtpServerPort": "SMTP-Server-Port",
|
||||
"smtpServerPortDescription": "Geben Sie den Port an, der für die Verbindung zum SMTP-Server verwendet wird.",
|
||||
"verify_email_template": "E-Mail-Bestätigungsvorlage",
|
||||
"verify_email_templateDescription": "Die Platzhalter {after}.variable{before} werden durch tatsächliche Daten ersetzt. Stellen Sie sicher, dass diese Variablen beibehalten werden."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Ankündigungsverwaltung",
|
||||
"Apple": "Apple-ID",
|
||||
"Auth Control": "Authentifizierungskontrolle",
|
||||
"Coupon Management": "Gutscheinverwaltung",
|
||||
"Dashboard": "Armaturenbrett",
|
||||
"Document Management": "Dokumentenverwaltung",
|
||||
"Email": "E-Mail",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Finanzen",
|
||||
"General": "Allgemein",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Bestellverwaltung",
|
||||
"Payment Config": "Zahlungskonfiguration",
|
||||
"Phone Number": "Telefonnummer",
|
||||
"Server": "Dienst",
|
||||
"Server Management": "Serververwaltung",
|
||||
"Settings": "Einstellungen",
|
||||
"Subscribe Management": "Abonnementverwaltung",
|
||||
"System Config": "Systemkonfiguration",
|
||||
"System Tool": "Systemwerkzeug",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Ticketverwaltung",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Benutzer",
|
||||
"User Management": "Benutzerverwaltung"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/de-DE/phone.json
Normal file
57
apps/admin/locales/de-DE/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "SMS-Protokollliste",
|
||||
"apiUrl": "API-URL",
|
||||
"apiUrlTip": "API-Endpunkt der SMS-Plattform",
|
||||
"areaCode": "Vorwahl",
|
||||
"content": "Inhalt",
|
||||
"createdAt": "Sendezeit",
|
||||
"enable": "Aktivieren",
|
||||
"enableTip": "Nach der Aktivierung werden die Funktionen zur Registrierung, Anmeldung, Bindung und Entbindung von Mobiltelefonen aktiviert",
|
||||
"expireTime": "Ablaufzeit",
|
||||
"expireTimeTip": "Gültigkeitsdauer des SMS-Bestätigungscodes (Sekunden)",
|
||||
"foreignApiUrl": "Internationale API-URL",
|
||||
"foreignApiUrlTip": "API-Endpunkt für internationalen SMS-Dienst",
|
||||
"interval": "Intervall",
|
||||
"intervalTip": "SMS-Bestätigungscode-Sendeintervall für dieselbe Telefonnummer (Sekunden), 0 bedeutet keine Begrenzung",
|
||||
"limit": "Tageslimit",
|
||||
"limitTip": "Tägliches Limit für das Senden von SMS-Verifizierungscodes an dieselbe Telefonnummer, 0 bedeutet kein Limit",
|
||||
"logs": "Protokolle",
|
||||
"password": "Passwort",
|
||||
"passwordTip": "SMS-Plattform-Passwort, wie zum Beispiel Aliyun Access Key Secret",
|
||||
"placeholders": {
|
||||
"apiUrl": "Geben Sie die API-URL ein, z.B. https://api.example.com",
|
||||
"expireTime": "Geben Sie die Ablaufzeit ein, Standard ist 300",
|
||||
"foreignApiUrl": "Geben Sie die internationale API-URL ein",
|
||||
"interval": "Geben Sie das Intervall ein, Standard ist 60",
|
||||
"limit": "Geben Sie das tägliche Limit ein, Standard ist 20",
|
||||
"password": "Geben Sie das Plattform-Passwort ein",
|
||||
"region": "Geben Sie die Region ein, z.B. cn-hangzhou",
|
||||
"template": "Ihr Bestätigungscode ist {code}, gültig für 5 Minuten",
|
||||
"templateCode": "Geben Sie den Vorlagen-Code ein",
|
||||
"templateParam": "Geben Sie den Parameternamen ein, Standard ist code",
|
||||
"username": "Geben Sie den Plattform-Benutzernamen ein"
|
||||
},
|
||||
"platform": "SMS-Plattform",
|
||||
"platformTip": "Bitte wählen Sie die SMS-Plattform aus",
|
||||
"region": "Region",
|
||||
"regionTip": "SMS-Dienstregion, wie z.B. cn-hangzhou für Aliyun",
|
||||
"search": "Telefonnummer suchen",
|
||||
"sendFailed": "Senden fehlgeschlagen",
|
||||
"sendSuccess": "Erfolgreich gesendet",
|
||||
"settings": "Einstellungen",
|
||||
"status": "Status",
|
||||
"telephone": "Telefonnummer",
|
||||
"template": "SMS-Vorlage",
|
||||
"templateCode": "Vorlagen-Code",
|
||||
"templateCodeTip": "Vorlagen-Code des SMS-Dienstes",
|
||||
"templateParam": "Vorlagenparameter",
|
||||
"templateParamTip": "Variabler Parametername im SMS-Template, standardmäßig 'code'",
|
||||
"templateTip": "Bitte füllen Sie die SMS-Vorlage aus und lassen Sie {code} in der Mitte stehen, da sonst die SMS-Funktion nicht funktioniert.",
|
||||
"testSms": "Test-SMS senden",
|
||||
"testSmsContent": "Dies ist eine Testnachricht",
|
||||
"testSmsPhone": "Telefonnummer eingeben",
|
||||
"testSmsTip": "Senden Sie eine Test-SMS, um Ihre Konfiguration zu überprüfen",
|
||||
"updateSuccess": "Aktualisierung erfolgreich",
|
||||
"username": "Benutzername",
|
||||
"usernameTip": "SMS-Plattform-Benutzername, wie z.B. Aliyun Access Key ID"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Nur zur Anzeige verwendet, nach der Änderung werden alle Währungseinheiten im System geändert",
|
||||
"saveSuccess": "Erfolgreich gespeichert"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Ablaufbenachrichtigungsvorlage",
|
||||
"expiration_email_templateDescription": "Die Variablennamen {after}.Variable{before} im Template werden durch tatsächliche Daten ersetzt. Bitte stellen Sie sicher, dass diese Variablen erhalten bleiben.",
|
||||
"inputPlaceholder": "Bitte Inhalt eingeben...",
|
||||
"maintenance_email_template": "Wartungsbenachrichtigungsvorlage",
|
||||
"maintenance_email_templateDescription": "Die Variablennamen {after}.Variable{before} im Template werden durch tatsächliche Daten ersetzt. Bitte stellen Sie sicher, dass diese Variablen erhalten bleiben.",
|
||||
"saveSuccess": "Die Konfiguration wurde erfolgreich gespeichert.",
|
||||
"sendFailure": "Der Versand der Test-E-Mail ist fehlgeschlagen. Bitte überprüfen Sie die Konfiguration.",
|
||||
"sendSuccess": "Die Test-E-Mail wurde erfolgreich gesendet.",
|
||||
"sendTestEmail": "Test-E-Mail senden",
|
||||
"sendTestEmailDescription": "Senden Sie eine Test-E-Mail, um zu überprüfen, ob die Konfiguration korrekt ist.",
|
||||
"senderAddress": "Absenderadresse",
|
||||
"senderAddressDescription": "Standard-E-Mail-Adresse, die zum Senden von E-Mails verwendet wird.",
|
||||
"smtpAccount": "SMTP-Konto",
|
||||
"smtpAccountDescription": "E-Mail-Konto zur Authentifizierung.",
|
||||
"smtpEncryptionMethod": "SMTP-Verschlüsselungsmethode",
|
||||
"smtpEncryptionMethodDescription": "Wählen Sie, ob SSL/TLS-Verschlüsselung aktiviert werden soll.",
|
||||
"smtpPassword": "SMTP-Passwort",
|
||||
"smtpPasswordDescription": "Das Passwort für das SMTP-Konto.",
|
||||
"smtpServerAddress": "SMTP-Serveradresse",
|
||||
"smtpServerAddressDescription": "Geben Sie die Serveradresse zum Senden von E-Mails an.",
|
||||
"smtpServerPort": "SMTP-Serverport",
|
||||
"smtpServerPortDescription": "Geben Sie die Portnummer für die Verbindung zum SMTP-Server an.",
|
||||
"verify_email_template": "Verifizierungsmailvorlage",
|
||||
"verify_email_templateDescription": "Die Variablennamen {after}.Variable{before} im Template werden durch tatsächliche Daten ersetzt. Bitte stellen Sie sicher, dass diese Variablen erhalten bleiben."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Nur Provision beim ersten Kauf",
|
||||
"commissionFirstTimeOnlyDescription": "Nach Aktivierung wird die Provision nur bei der ersten Zahlung des Eingeladenen generiert. Sie können in der Benutzerverwaltung einen individuellen Benutzer konfigurieren.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Startzeit",
|
||||
"timeSlot": "Zeitfenster"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "E-Mail-Suffix-Whitelist",
|
||||
"emailSuffixWhitelistDescription": "Wenn aktiviert, können sich nur E-Mails mit den in der Liste enthaltenen Suffixen registrieren",
|
||||
"emailVerification": "E-Mail-Verifizierung",
|
||||
"emailVerificationDescription": "Wenn aktiviert, müssen Benutzer ihre E-Mail verifizieren",
|
||||
"ipRegistrationLimit": "IP-Registrierungsbeschränkung",
|
||||
"ipRegistrationLimitDescription": "Wenn aktiviert, werden IPs, die den Regelanforderungen entsprechen, in der Registrierung eingeschränkt. Bitte beachten Sie, dass die Bestimmung der IP aufgrund von CDN oder Frontend-Proxy zu Problemen führen kann",
|
||||
"penaltyTime": "Strafzeit (Minuten)",
|
||||
"penaltyTimeDescription": "Benutzer müssen die Strafzeit abwarten, bevor sie sich erneut registrieren können",
|
||||
"registrationLimitCount": "Registrierungsbeschränkungsanzahl",
|
||||
"registrationLimitCountDescription": "Nach Erreichen der Registrierungsbeschränkung wird die Strafe aktiviert",
|
||||
"saveSuccess": "Erfolgreich gespeichert",
|
||||
"stopNewUserRegistration": "Registrierung neuer Benutzer stoppen",
|
||||
"stopNewUserRegistrationDescription": "Wenn aktiviert, kann sich niemand registrieren",
|
||||
"trialRegistration": "Testregistrierung",
|
||||
"trialRegistrationDescription": "Testregistrierung aktivieren, bitte zuerst Testpaket und -dauer ändern",
|
||||
"whitelistSuffixes": "Whitelist-Suffixe",
|
||||
"whitelistSuffixesDescription": "Für die E-Mail-Verifizierung bei der Registrierung, ein Suffix pro Zeile",
|
||||
"whitelistSuffixesPlaceholder": "Bitte geben Sie E-Mail-Suffixe ein, eines pro Zeile"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Position zur Anzeige des LOGOs",
|
||||
|
||||
20
apps/admin/locales/en-US/auth-control.json
Normal file
20
apps/admin/locales/en-US/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "Email Suffix Whitelist",
|
||||
"emailSuffixWhitelistDescription": "When enabled, only emails with suffixes in the list can register",
|
||||
"emailVerification": "Email Verification",
|
||||
"emailVerificationDescription": "When enabled, users will need to verify their email",
|
||||
"ipRegistrationLimit": "IP Registration Limit",
|
||||
"ipRegistrationLimitDescription": "When enabled, IPs that meet the rule requirements will be restricted from registering; note that IP determination may cause issues due to CDNs or frontend proxies",
|
||||
"penaltyTime": "Penalty Time (minutes)",
|
||||
"penaltyTimeDescription": "Users must wait for the penalty time to expire before registering again",
|
||||
"registrationLimitCount": "Registration Limit Count",
|
||||
"registrationLimitCountDescription": "Enable penalty after reaching registration limit",
|
||||
"saveSuccess": "Save Successful",
|
||||
"stopNewUserRegistration": "Stop New User Registration",
|
||||
"stopNewUserRegistrationDescription": "When enabled, no one can register",
|
||||
"trialRegistration": "Trial Registration",
|
||||
"trialRegistrationDescription": "Enable trial registration; modify trial package and duration first",
|
||||
"whitelistSuffixes": "Whitelist Suffixes",
|
||||
"whitelistSuffixesDescription": "Used for email verification during registration; one per line",
|
||||
"whitelistSuffixesPlaceholder": "Enter email suffixes, one per line"
|
||||
}
|
||||
29
apps/admin/locales/en-US/email.json
Normal file
29
apps/admin/locales/en-US/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Basic Configuration",
|
||||
"emailLogs": "Email Logs",
|
||||
"emailTemplate": "Email Template",
|
||||
"expiration_email_template": "Expiration Notice Template",
|
||||
"expiration_email_templateDescription": "The {after}.variable{before} placeholders will be replaced with actual data. Ensure to keep these variables.",
|
||||
"inputPlaceholder": "Enter value...",
|
||||
"maintenance_email_template": "Maintenance Notice Template",
|
||||
"maintenance_email_templateDescription": "The {after}.variable{before} placeholders will be replaced with actual data. Ensure to keep these variables.",
|
||||
"saveSuccess": "Configuration saved successfully.",
|
||||
"sendFailure": "Failed to send test email, please check the configuration.",
|
||||
"sendSuccess": "Test email sent successfully.",
|
||||
"sendTestEmail": "Send Test Email",
|
||||
"sendTestEmailDescription": "Send a test email to verify the configuration.",
|
||||
"senderAddress": "Sender Address",
|
||||
"senderAddressDescription": "The default email address used for sending emails.",
|
||||
"smtpAccount": "SMTP Account",
|
||||
"smtpAccountDescription": "The email account used for authentication.",
|
||||
"smtpEncryptionMethod": "SMTP Encryption Method",
|
||||
"smtpEncryptionMethodDescription": "Choose whether to enable SSL/TLS encryption.",
|
||||
"smtpPassword": "SMTP Password",
|
||||
"smtpPasswordDescription": "The password for the SMTP account.",
|
||||
"smtpServerAddress": "SMTP Server Address",
|
||||
"smtpServerAddressDescription": "Specify the server address used for sending emails.",
|
||||
"smtpServerPort": "SMTP Server Port",
|
||||
"smtpServerPortDescription": "Specify the port used to connect to the SMTP server.",
|
||||
"verify_email_template": "Verification Email Template",
|
||||
"verify_email_templateDescription": "The {after}.variable{before} placeholders will be replaced with actual data. Ensure to keep these variables."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Announcement Management",
|
||||
"Apple": "Apple ID",
|
||||
"Auth Control": "Auth Control",
|
||||
"Coupon Management": "Coupon Management",
|
||||
"Dashboard": "Dashboard",
|
||||
"Document Management": "Document Management",
|
||||
"Email": "Email",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Finance",
|
||||
"General": "General",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Order Management",
|
||||
"Payment Config": "Payment Config",
|
||||
"Phone Number": "Phone Number",
|
||||
"Server": "Server",
|
||||
"Server Management": "Server Management",
|
||||
"Settings": "Settings",
|
||||
"Subscribe Management": "Subscribe Management",
|
||||
"System Config": "System Config",
|
||||
"System Tool": "System Tool",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Ticket Management",
|
||||
"Twitter": "Twitter",
|
||||
"User": "User",
|
||||
"User Management": "User Management"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/en-US/phone.json
Normal file
57
apps/admin/locales/en-US/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "SMS Log List",
|
||||
"apiUrl": "API URL",
|
||||
"apiUrlTip": "SMS platform API endpoint",
|
||||
"areaCode": "Area Code",
|
||||
"content": "Content",
|
||||
"createdAt": "Send Time",
|
||||
"enable": "Enable",
|
||||
"enableTip": "After enabling, mobile phone registration, login, binding, and unbinding functions will be enabled",
|
||||
"expireTime": "Expire Time",
|
||||
"expireTimeTip": "SMS verification code validity period (seconds)",
|
||||
"foreignApiUrl": "International API URL",
|
||||
"foreignApiUrlTip": "International SMS service API endpoint",
|
||||
"interval": "Interval",
|
||||
"intervalTip": "SMS verification code sending interval for the same phone number (seconds), 0 means no limit",
|
||||
"limit": "Daily Limit",
|
||||
"limitTip": "Daily SMS verification code sending limit for the same phone number, 0 means no limit",
|
||||
"logs": "Logs",
|
||||
"password": "Password",
|
||||
"passwordTip": "SMS platform password, such as Aliyun Access Key Secret",
|
||||
"placeholders": {
|
||||
"apiUrl": "Enter API URL, e.g. https://api.example.com",
|
||||
"expireTime": "Enter expire time, default is 300",
|
||||
"foreignApiUrl": "Enter international API URL",
|
||||
"interval": "Enter interval time, default is 60",
|
||||
"limit": "Enter daily limit, default is 20",
|
||||
"password": "Enter platform password",
|
||||
"region": "Enter region, e.g. cn-hangzhou",
|
||||
"template": "Your verification code is {code}, valid for 5 minutes",
|
||||
"templateCode": "Enter template code",
|
||||
"templateParam": "Enter parameter name, default is code",
|
||||
"username": "Enter platform username"
|
||||
},
|
||||
"platform": "SMS Platform",
|
||||
"platformTip": "Please select SMS platform",
|
||||
"region": "Region",
|
||||
"regionTip": "SMS service region, such as cn-hangzhou for Aliyun",
|
||||
"search": "Search phone number",
|
||||
"sendFailed": "Send Failed",
|
||||
"sendSuccess": "Send Success",
|
||||
"settings": "Settings",
|
||||
"status": "Status",
|
||||
"telephone": "Phone Number",
|
||||
"template": "SMS Template",
|
||||
"templateCode": "Template Code",
|
||||
"templateCodeTip": "SMS service template code",
|
||||
"templateParam": "Template Parameter",
|
||||
"templateParamTip": "Variable parameter name in SMS template, default is 'code'",
|
||||
"templateTip": "Please fill in the SMS template, keep {code} in the middle, otherwise SMS function will not work",
|
||||
"testSms": "Send Test SMS",
|
||||
"testSmsContent": "This is a test message",
|
||||
"testSmsPhone": "Enter phone number",
|
||||
"testSmsTip": "Send a test SMS to verify your configuration",
|
||||
"updateSuccess": "Update Success",
|
||||
"username": "Username",
|
||||
"usernameTip": "SMS platform username, such as Aliyun Access Key ID"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Used for display purposes only; changing this will affect all currency units in the system",
|
||||
"saveSuccess": "Save Successful"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Expiration Notice Template",
|
||||
"expiration_email_templateDescription": "The {after}.variable{before} placeholders will be replaced with actual data. Ensure to keep these variables.",
|
||||
"inputPlaceholder": "Enter value...",
|
||||
"maintenance_email_template": "Maintenance Notice Template",
|
||||
"maintenance_email_templateDescription": "The {after}.variable{before} placeholders will be replaced with actual data. Ensure to keep these variables.",
|
||||
"saveSuccess": "Configuration saved successfully.",
|
||||
"sendFailure": "Failed to send test email, please check the configuration.",
|
||||
"sendSuccess": "Test email sent successfully.",
|
||||
"sendTestEmail": "Send Test Email",
|
||||
"sendTestEmailDescription": "Send a test email to verify the configuration.",
|
||||
"senderAddress": "Sender Address",
|
||||
"senderAddressDescription": "The default email address used for sending emails.",
|
||||
"smtpAccount": "SMTP Account",
|
||||
"smtpAccountDescription": "The email account used for authentication.",
|
||||
"smtpEncryptionMethod": "SMTP Encryption Method",
|
||||
"smtpEncryptionMethodDescription": "Choose whether to enable SSL/TLS encryption.",
|
||||
"smtpPassword": "SMTP Password",
|
||||
"smtpPasswordDescription": "The password for the SMTP account.",
|
||||
"smtpServerAddress": "SMTP Server Address",
|
||||
"smtpServerAddressDescription": "Specify the server address used for sending emails.",
|
||||
"smtpServerPort": "SMTP Server Port",
|
||||
"smtpServerPortDescription": "Specify the port used to connect to the SMTP server.",
|
||||
"verify_email_template": "Verification Email Template",
|
||||
"verify_email_templateDescription": "The {after}.variable{before} placeholders will be replaced with actual data. Ensure to keep these variables."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Commission for First Purchase Only",
|
||||
"commissionFirstTimeOnlyDescription": "When enabled, commission is generated only on the inviter's first payment; you can configure individual users in user management",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Start Time",
|
||||
"timeSlot": "Time Slot"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Email Suffix Whitelist",
|
||||
"emailSuffixWhitelistDescription": "When enabled, only emails with suffixes in the list can register",
|
||||
"emailVerification": "Email Verification",
|
||||
"emailVerificationDescription": "When enabled, users will need to verify their email",
|
||||
"ipRegistrationLimit": "IP Registration Limit",
|
||||
"ipRegistrationLimitDescription": "When enabled, IPs that meet the rule requirements will be restricted from registering; note that IP determination may cause issues due to CDNs or frontend proxies",
|
||||
"penaltyTime": "Penalty Time (minutes)",
|
||||
"penaltyTimeDescription": "Users must wait for the penalty time to expire before registering again",
|
||||
"registrationLimitCount": "Registration Limit Count",
|
||||
"registrationLimitCountDescription": "Enable penalty after reaching registration limit",
|
||||
"saveSuccess": "Save Successful",
|
||||
"stopNewUserRegistration": "Stop New User Registration",
|
||||
"stopNewUserRegistrationDescription": "When enabled, no one can register",
|
||||
"trialRegistration": "Trial Registration",
|
||||
"trialRegistrationDescription": "Enable trial registration; modify trial package and duration first",
|
||||
"whitelistSuffixes": "Whitelist Suffixes",
|
||||
"whitelistSuffixesDescription": "Used for email verification during registration; one per line",
|
||||
"whitelistSuffixesPlaceholder": "Enter email suffixes, one per line"
|
||||
},
|
||||
"site": {
|
||||
"logo": "Logo",
|
||||
"logoDescription": "Used for displaying the logo in designated locations",
|
||||
|
||||
20
apps/admin/locales/es-ES/auth-control.json
Normal file
20
apps/admin/locales/es-ES/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "Lista Blanca de Sufijos de Correo Electrónico",
|
||||
"emailSuffixWhitelistDescription": "Cuando está habilitado, solo los correos electrónicos con sufijos en la lista pueden registrarse",
|
||||
"emailVerification": "Verificación de correo electrónico",
|
||||
"emailVerificationDescription": "Cuando esté habilitado, los usuarios deberán verificar su correo electrónico",
|
||||
"ipRegistrationLimit": "Límite de Registro de IP",
|
||||
"ipRegistrationLimitDescription": "Cuando está habilitado, las IPs que cumplan con los requisitos de la regla serán restringidas de registrarse; tenga en cuenta que la determinación de IP puede causar problemas debido a CDNs o proxies frontend",
|
||||
"penaltyTime": "Tiempo de Penalización (minutos)",
|
||||
"penaltyTimeDescription": "Los usuarios deben esperar a que expire el tiempo de penalización antes de registrarse nuevamente",
|
||||
"registrationLimitCount": "Límite de Registro",
|
||||
"registrationLimitCountDescription": "Habilitar penalización después de alcanzar el límite de registro",
|
||||
"saveSuccess": "Guardado Exitoso",
|
||||
"stopNewUserRegistration": "Detener el registro de nuevos usuarios",
|
||||
"stopNewUserRegistrationDescription": "Cuando está habilitado, nadie puede registrarse",
|
||||
"trialRegistration": "Registro de Prueba",
|
||||
"trialRegistrationDescription": "Habilitar el registro de prueba; modifique primero el paquete y la duración de la prueba",
|
||||
"whitelistSuffixes": "Sufijos de la lista blanca",
|
||||
"whitelistSuffixesDescription": "Utilizado para la verificación de correo electrónico durante el registro; uno por línea",
|
||||
"whitelistSuffixesPlaceholder": "Introduce los sufijos de correo electrónico, uno por línea"
|
||||
}
|
||||
29
apps/admin/locales/es-ES/email.json
Normal file
29
apps/admin/locales/es-ES/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Configuración Básica",
|
||||
"emailLogs": "Registros de Correo Electrónico",
|
||||
"emailTemplate": "Plantilla de correo electrónico",
|
||||
"expiration_email_template": "Plantilla de Aviso de Vencimiento",
|
||||
"expiration_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables.",
|
||||
"inputPlaceholder": "Ingrese valor...",
|
||||
"maintenance_email_template": "Plantilla de Aviso de Mantenimiento",
|
||||
"maintenance_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrese de mantener estas variables.",
|
||||
"saveSuccess": "Configuración guardada con éxito.",
|
||||
"sendFailure": "Error al enviar el correo electrónico de prueba, por favor verifica la configuración.",
|
||||
"sendSuccess": "Correo de prueba enviado con éxito.",
|
||||
"sendTestEmail": "Enviar correo electrónico de prueba",
|
||||
"sendTestEmailDescription": "Envía un correo electrónico de prueba para verificar la configuración.",
|
||||
"senderAddress": "Dirección del Remitente",
|
||||
"senderAddressDescription": "La dirección de correo electrónico predeterminada utilizada para enviar correos electrónicos.",
|
||||
"smtpAccount": "Cuenta SMTP",
|
||||
"smtpAccountDescription": "La cuenta de correo electrónico utilizada para la autenticación.",
|
||||
"smtpEncryptionMethod": "Método de Cifrado SMTP",
|
||||
"smtpEncryptionMethodDescription": "Elija si desea habilitar el cifrado SSL/TLS.",
|
||||
"smtpPassword": "Contraseña SMTP",
|
||||
"smtpPasswordDescription": "La contraseña para la cuenta SMTP.",
|
||||
"smtpServerAddress": "Dirección del servidor SMTP",
|
||||
"smtpServerAddressDescription": "Especifique la dirección del servidor utilizada para enviar correos electrónicos.",
|
||||
"smtpServerPort": "Puerto del Servidor SMTP",
|
||||
"smtpServerPortDescription": "Especifique el puerto utilizado para conectarse al servidor SMTP.",
|
||||
"verify_email_template": "Plantilla de Correo Electrónico de Verificación",
|
||||
"verify_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrese de mantener estas variables."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Gestión de Anuncios",
|
||||
"Apple": "ID de Apple",
|
||||
"Auth Control": "Control de Autenticación",
|
||||
"Coupon Management": "Gestión de Cupones",
|
||||
"Dashboard": "Tablero",
|
||||
"Document Management": "Gestión de Documentos",
|
||||
"Email": "Correo electrónico",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Finanzas",
|
||||
"General": "General",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Gestión de Pedidos",
|
||||
"Payment Config": "Configuración de Pago",
|
||||
"Phone Number": "Número de Teléfono",
|
||||
"Server": "Servidor",
|
||||
"Server Management": "Gestión de Servidores",
|
||||
"Settings": "Configuración",
|
||||
"Subscribe Management": "Gestión de Suscripciones",
|
||||
"System Config": "Configuración del sistema",
|
||||
"System Tool": "Herramienta del sistema",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Gestión de Tickets",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Usuario",
|
||||
"User Management": "Gestión de Usuarios"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/es-ES/phone.json
Normal file
57
apps/admin/locales/es-ES/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "Lista de Registro de SMS",
|
||||
"apiUrl": "URL de la API",
|
||||
"apiUrlTip": "Punto final de la API de la plataforma de SMS",
|
||||
"areaCode": "Código de Área",
|
||||
"content": "Contenido",
|
||||
"createdAt": "Hora de envío",
|
||||
"enable": "Habilitar",
|
||||
"enableTip": "Después de habilitar, se activarán las funciones de registro, inicio de sesión, vinculación y desvinculación del teléfono móvil",
|
||||
"expireTime": "Tiempo de Expiración",
|
||||
"expireTimeTip": "Periodo de validez del código de verificación por SMS (segundos)",
|
||||
"foreignApiUrl": "URL de API Internacional",
|
||||
"foreignApiUrlTip": "Punto de acceso de la API del servicio de SMS internacional",
|
||||
"interval": "Intervalo",
|
||||
"intervalTip": "Intervalo de envío del código de verificación por SMS para el mismo número de teléfono (segundos), 0 significa sin límite",
|
||||
"limit": "Límite Diario",
|
||||
"limitTip": "Límite diario de envío de códigos de verificación por SMS para el mismo número de teléfono, 0 significa sin límite",
|
||||
"logs": "Registros",
|
||||
"password": "Contraseña",
|
||||
"passwordTip": "Contraseña de la plataforma SMS, como la Clave Secreta de Acceso de Aliyun",
|
||||
"placeholders": {
|
||||
"apiUrl": "Ingrese la URL de la API, por ejemplo, https://api.example.com",
|
||||
"expireTime": "Ingrese el tiempo de expiración, el valor predeterminado es 300",
|
||||
"foreignApiUrl": "Ingrese la URL de la API internacional",
|
||||
"interval": "Ingrese el tiempo de intervalo, el valor predeterminado es 60",
|
||||
"limit": "Ingrese el límite diario, el valor predeterminado es 20",
|
||||
"password": "Ingrese la contraseña de la plataforma",
|
||||
"region": "Ingrese la región, por ejemplo, cn-hangzhou",
|
||||
"template": "Su código de verificación es {code}, válido por 5 minutos",
|
||||
"templateCode": "Ingrese el código de la plantilla",
|
||||
"templateParam": "Ingrese el nombre del parámetro, el valor predeterminado es código",
|
||||
"username": "Ingrese el nombre de usuario de la plataforma"
|
||||
},
|
||||
"platform": "Plataforma de SMS",
|
||||
"platformTip": "Por favor, seleccione la plataforma de SMS",
|
||||
"region": "Región",
|
||||
"regionTip": "Región del servicio SMS, como cn-hangzhou para Aliyun",
|
||||
"search": "Buscar número de teléfono",
|
||||
"sendFailed": "Envío fallido",
|
||||
"sendSuccess": "Envío exitoso",
|
||||
"settings": "Configuración",
|
||||
"status": "Estado",
|
||||
"telephone": "Número de Teléfono",
|
||||
"template": "Plantilla de SMS",
|
||||
"templateCode": "Código de Plantilla",
|
||||
"templateCodeTip": "Código de plantilla del servicio SMS",
|
||||
"templateParam": "Parámetro de Plantilla",
|
||||
"templateParamTip": "Nombre del parámetro variable en la plantilla de SMS, por defecto es 'código'",
|
||||
"templateTip": "Por favor, complete la plantilla de SMS, mantenga {code} en el medio, de lo contrario, la función de SMS no funcionará",
|
||||
"testSms": "Enviar SMS de prueba",
|
||||
"testSmsContent": "Este es un mensaje de prueba",
|
||||
"testSmsPhone": "Ingrese número de teléfono",
|
||||
"testSmsTip": "Envía un SMS de prueba para verificar tu configuración",
|
||||
"updateSuccess": "Actualización Exitosa",
|
||||
"username": "Nombre de usuario",
|
||||
"usernameTip": "Nombre de usuario de la plataforma SMS, como el ID de clave de acceso de Aliyun"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Solo para uso de visualización, al cambiarlo se modificarán todas las unidades monetarias en el sistema",
|
||||
"saveSuccess": "Guardado exitosamente"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Plantilla de notificación de expiración",
|
||||
"expiration_email_templateDescription": "Las variables {after}.nombreVariable{before} en la plantilla serán reemplazadas por datos reales, asegúrese de conservar estas variables.",
|
||||
"inputPlaceholder": "Por favor, introduzca el contenido...",
|
||||
"maintenance_email_template": "Plantilla de notificación de mantenimiento",
|
||||
"maintenance_email_templateDescription": "Las variables {after}.nombreVariable{before} en la plantilla serán reemplazadas por datos reales, asegúrese de conservar estas variables.",
|
||||
"saveSuccess": "La configuración se ha guardado con éxito.",
|
||||
"sendFailure": "El envío del correo de prueba ha fallado, por favor verifique la configuración.",
|
||||
"sendSuccess": "El correo de prueba se ha enviado con éxito.",
|
||||
"sendTestEmail": "Enviar correo de prueba",
|
||||
"sendTestEmailDescription": "Envíe un correo de prueba para verificar si la configuración es correcta.",
|
||||
"senderAddress": "Dirección del remitente",
|
||||
"senderAddressDescription": "Dirección de correo electrónico predeterminada utilizada para enviar correos.",
|
||||
"smtpAccount": "Cuenta SMTP",
|
||||
"smtpAccountDescription": "Cuenta de correo utilizada para la autenticación.",
|
||||
"smtpEncryptionMethod": "Método de encriptación SMTP",
|
||||
"smtpEncryptionMethodDescription": "Seleccione si desea habilitar la encriptación SSL/TLS.",
|
||||
"smtpPassword": "Contraseña SMTP",
|
||||
"smtpPasswordDescription": "Contraseña de la cuenta SMTP.",
|
||||
"smtpServerAddress": "Dirección del servidor SMTP",
|
||||
"smtpServerAddressDescription": "Especifique la dirección del servidor utilizada para enviar correos.",
|
||||
"smtpServerPort": "Puerto del servidor SMTP",
|
||||
"smtpServerPortDescription": "Especifique el número de puerto para conectar al servidor SMTP.",
|
||||
"verify_email_template": "Plantilla de verificación de correo",
|
||||
"verify_email_templateDescription": "Las variables {after}.nombreVariable{before} en la plantilla serán reemplazadas por datos reales, asegúrese de conservar estas variables."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Comisión solo en la primera compra",
|
||||
"commissionFirstTimeOnlyDescription": "Al habilitar, la comisión se genera solo en el primer pago del invitado. Puede configurar usuarios individuales en la gestión de usuarios.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Hora de Inicio",
|
||||
"timeSlot": "Franja Horaria"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Lista blanca de sufijos de correo electrónico",
|
||||
"emailSuffixWhitelistDescription": "Al habilitar, solo se podrán registrar correos electrónicos con los sufijos de la lista",
|
||||
"emailVerification": "Verificación de correo electrónico",
|
||||
"emailVerificationDescription": "Al habilitar, los usuarios necesitarán verificar su correo electrónico",
|
||||
"ipRegistrationLimit": "Límite de registro por IP",
|
||||
"ipRegistrationLimitDescription": "Al habilitar, las IP que cumplan con los requisitos de las reglas serán restringidas para registrarse. Tenga en cuenta que la determinación de IP puede causar problemas debido a CDN o proxies frontales",
|
||||
"penaltyTime": "Tiempo de penalización (minutos)",
|
||||
"penaltyTimeDescription": "El usuario debe esperar a que pase el tiempo de penalización para registrarse nuevamente",
|
||||
"registrationLimitCount": "Conteo de límite de registro",
|
||||
"registrationLimitCountDescription": "Habilitar penalización después de alcanzar el límite de registro",
|
||||
"saveSuccess": "Guardado exitosamente",
|
||||
"stopNewUserRegistration": "Detener registro de nuevos usuarios",
|
||||
"stopNewUserRegistrationDescription": "Al habilitar, nadie podrá registrarse",
|
||||
"trialRegistration": "Registro de prueba",
|
||||
"trialRegistrationDescription": "Habilitar registro de prueba, por favor modifique primero el paquete de prueba y la duración",
|
||||
"whitelistSuffixes": "Sufijos de lista blanca",
|
||||
"whitelistSuffixesDescription": "Para la verificación de correo electrónico de registro, uno por línea",
|
||||
"whitelistSuffixesPlaceholder": "Por favor, introduzca el sufijo de correo electrónico, uno por línea"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Se utiliza para mostrar la ubicación donde se debe mostrar el LOGO",
|
||||
|
||||
20
apps/admin/locales/es-MX/auth-control.json
Normal file
20
apps/admin/locales/es-MX/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "Lista Blanca de Sufijos de Correo Electrónico",
|
||||
"emailSuffixWhitelistDescription": "Cuando está habilitado, solo los correos electrónicos con sufijos en la lista pueden registrarse",
|
||||
"emailVerification": "Verificación de Correo Electrónico",
|
||||
"emailVerificationDescription": "Cuando esté habilitado, los usuarios deberán verificar su correo electrónico",
|
||||
"ipRegistrationLimit": "Límite de Registro de IP",
|
||||
"ipRegistrationLimitDescription": "Cuando está habilitado, las IPs que cumplen con los requisitos de la regla serán restringidas de registrarse; tenga en cuenta que la determinación de IP puede causar problemas debido a CDNs o proxies frontend",
|
||||
"penaltyTime": "Tiempo de Penalización (minutos)",
|
||||
"penaltyTimeDescription": "Los usuarios deben esperar a que expire el tiempo de penalización antes de registrarse nuevamente",
|
||||
"registrationLimitCount": "Límite de Registro",
|
||||
"registrationLimitCountDescription": "Habilitar penalización después de alcanzar el límite de registro",
|
||||
"saveSuccess": "Guardado Exitoso",
|
||||
"stopNewUserRegistration": "Detener el Registro de Nuevos Usuarios",
|
||||
"stopNewUserRegistrationDescription": "Cuando está habilitado, nadie puede registrarse",
|
||||
"trialRegistration": "Registro de Prueba",
|
||||
"trialRegistrationDescription": "Habilitar el registro de prueba; primero modifica el paquete de prueba y la duración",
|
||||
"whitelistSuffixes": "Sufijos de Lista Blanca",
|
||||
"whitelistSuffixesDescription": "Se utiliza para la verificación de correo electrónico durante el registro; uno por línea",
|
||||
"whitelistSuffixesPlaceholder": "Ingresa los sufijos de correo electrónico, uno por línea"
|
||||
}
|
||||
29
apps/admin/locales/es-MX/email.json
Normal file
29
apps/admin/locales/es-MX/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Configuración Básica",
|
||||
"emailLogs": "Registros de Correo Electrónico",
|
||||
"emailTemplate": "Plantilla de Correo Electrónico",
|
||||
"expiration_email_template": "Plantilla de Aviso de Vencimiento",
|
||||
"expiration_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables.",
|
||||
"inputPlaceholder": "Ingresa valor...",
|
||||
"maintenance_email_template": "Plantilla de Aviso de Mantenimiento",
|
||||
"maintenance_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables.",
|
||||
"saveSuccess": "Configuración guardada exitosamente.",
|
||||
"sendFailure": "No se pudo enviar el correo electrónico de prueba, por favor verifica la configuración.",
|
||||
"sendSuccess": "Correo de prueba enviado exitosamente.",
|
||||
"sendTestEmail": "Enviar correo de prueba",
|
||||
"sendTestEmailDescription": "Envía un correo electrónico de prueba para verificar la configuración.",
|
||||
"senderAddress": "Dirección del Remitente",
|
||||
"senderAddressDescription": "La dirección de correo electrónico predeterminada utilizada para enviar correos electrónicos.",
|
||||
"smtpAccount": "Cuenta SMTP",
|
||||
"smtpAccountDescription": "La cuenta de correo electrónico utilizada para la autenticación.",
|
||||
"smtpEncryptionMethod": "Método de Cifrado SMTP",
|
||||
"smtpEncryptionMethodDescription": "Elija si desea habilitar el cifrado SSL/TLS.",
|
||||
"smtpPassword": "Contraseña SMTP",
|
||||
"smtpPasswordDescription": "La contraseña para la cuenta SMTP.",
|
||||
"smtpServerAddress": "Dirección del Servidor SMTP",
|
||||
"smtpServerAddressDescription": "Especifique la dirección del servidor utilizada para enviar correos electrónicos.",
|
||||
"smtpServerPort": "Puerto del Servidor SMTP",
|
||||
"smtpServerPortDescription": "Especifique el puerto utilizado para conectarse al servidor SMTP.",
|
||||
"verify_email_template": "Plantilla de Correo Electrónico de Verificación",
|
||||
"verify_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Gestión de Anuncios",
|
||||
"Apple": "ID de Apple",
|
||||
"Auth Control": "Control de Autenticación",
|
||||
"Coupon Management": "Gestión de Cupones",
|
||||
"Dashboard": "Tablero",
|
||||
"Document Management": "Gestión de Documentos",
|
||||
"Email": "Correo electrónico",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Finanzas",
|
||||
"General": "General",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Gestión de Pedidos",
|
||||
"Payment Config": "Configuración de Pago",
|
||||
"Phone Number": "Número de Teléfono",
|
||||
"Server": "Servidor",
|
||||
"Server Management": "Gestión de Servidores",
|
||||
"Settings": "Configuración",
|
||||
"Subscribe Management": "Gestión de Suscripciones",
|
||||
"System Config": "Configuración del Sistema",
|
||||
"System Tool": "Herramienta del sistema",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Gestión de Tickets",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Usuario",
|
||||
"User Management": "Gestión de Usuarios"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/es-MX/phone.json
Normal file
57
apps/admin/locales/es-MX/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "Lista de Registro de SMS",
|
||||
"apiUrl": "URL de la API",
|
||||
"apiUrlTip": "Punto final de la API de la plataforma de SMS",
|
||||
"areaCode": "Código de Área",
|
||||
"content": "Contenido",
|
||||
"createdAt": "Hora de Envío",
|
||||
"enable": "Habilitar",
|
||||
"enableTip": "Después de habilitar, se activarán las funciones de registro, inicio de sesión, vinculación y desvinculación del teléfono móvil",
|
||||
"expireTime": "Tiempo de Expiración",
|
||||
"expireTimeTip": "Periodo de validez del código de verificación por SMS (segundos)",
|
||||
"foreignApiUrl": "URL de API Internacional",
|
||||
"foreignApiUrlTip": "Punto de acceso de la API del servicio de SMS internacional",
|
||||
"interval": "Intervalo",
|
||||
"intervalTip": "Intervalo de envío del código de verificación por SMS para el mismo número de teléfono (segundos), 0 significa sin límite",
|
||||
"limit": "Límite Diario",
|
||||
"limitTip": "Límite diario de envío de códigos de verificación por SMS para el mismo número de teléfono, 0 significa sin límite",
|
||||
"logs": "Registros",
|
||||
"password": "Contraseña",
|
||||
"passwordTip": "Contraseña de la plataforma SMS, como la Clave Secreta de Acceso de Aliyun",
|
||||
"placeholders": {
|
||||
"apiUrl": "Ingrese la URL de la API, por ejemplo, https://api.example.com",
|
||||
"expireTime": "Ingrese el tiempo de expiración, el valor predeterminado es 300",
|
||||
"foreignApiUrl": "Ingrese la URL de la API internacional",
|
||||
"interval": "Ingrese el tiempo de intervalo, el valor predeterminado es 60",
|
||||
"limit": "Ingrese el límite diario, el valor predeterminado es 20",
|
||||
"password": "Ingrese la contraseña de la plataforma",
|
||||
"region": "Ingrese la región, por ejemplo, cn-hangzhou",
|
||||
"template": "Su código de verificación es {code}, válido por 5 minutos",
|
||||
"templateCode": "Ingrese el código de la plantilla",
|
||||
"templateParam": "Ingrese el nombre del parámetro, el valor predeterminado es código",
|
||||
"username": "Ingrese el nombre de usuario de la plataforma"
|
||||
},
|
||||
"platform": "Plataforma de SMS",
|
||||
"platformTip": "Por favor, seleccione la plataforma de SMS",
|
||||
"region": "Región",
|
||||
"regionTip": "Región del servicio SMS, como cn-hangzhou para Aliyun",
|
||||
"search": "Buscar número de teléfono",
|
||||
"sendFailed": "Envío Fallido",
|
||||
"sendSuccess": "Envío Exitoso",
|
||||
"settings": "Configuración",
|
||||
"status": "Estado",
|
||||
"telephone": "Número de Teléfono",
|
||||
"template": "Plantilla de SMS",
|
||||
"templateCode": "Código de Plantilla",
|
||||
"templateCodeTip": "Código de plantilla del servicio SMS",
|
||||
"templateParam": "Parámetro de Plantilla",
|
||||
"templateParamTip": "Nombre del parámetro variable en la plantilla de SMS, por defecto es 'código'",
|
||||
"templateTip": "Por favor, complete la plantilla de SMS, mantenga {code} en el medio, de lo contrario, la función de SMS no funcionará",
|
||||
"testSms": "Enviar SMS de Prueba",
|
||||
"testSmsContent": "Este es un mensaje de prueba",
|
||||
"testSmsPhone": "Ingrese número de teléfono",
|
||||
"testSmsTip": "Envía un SMS de prueba para verificar tu configuración",
|
||||
"updateSuccess": "Actualización Exitosa",
|
||||
"username": "Nombre de usuario",
|
||||
"usernameTip": "Nombre de usuario de la plataforma SMS, como el ID de clave de acceso de Aliyun"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Solo para fines de visualización, cambiarlo alterará todas las unidades monetarias en el sistema",
|
||||
"saveSuccess": "Guardado exitosamente"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Plantilla de notificación de expiración",
|
||||
"expiration_email_templateDescription": "Las variables {after}.nombreVariable{before} en la plantilla serán reemplazadas por datos reales, asegúrese de conservar estas variables.",
|
||||
"inputPlaceholder": "Por favor, ingrese contenido...",
|
||||
"maintenance_email_template": "Plantilla de notificación de mantenimiento",
|
||||
"maintenance_email_templateDescription": "Las variables {after}.nombreVariable{before} en la plantilla serán reemplazadas por datos reales, asegúrese de conservar estas variables.",
|
||||
"saveSuccess": "La configuración se ha guardado exitosamente.",
|
||||
"sendFailure": "El envío del correo de prueba falló, por favor verifique la configuración.",
|
||||
"sendSuccess": "El correo de prueba se ha enviado exitosamente.",
|
||||
"sendTestEmail": "Enviar correo de prueba",
|
||||
"sendTestEmailDescription": "Envía un correo de prueba para verificar si la configuración es correcta.",
|
||||
"senderAddress": "Dirección del remitente",
|
||||
"senderAddressDescription": "La dirección de correo predeterminada utilizada para enviar correos.",
|
||||
"smtpAccount": "Cuenta SMTP",
|
||||
"smtpAccountDescription": "Cuenta de correo utilizada para la autenticación.",
|
||||
"smtpEncryptionMethod": "Método de encriptación SMTP",
|
||||
"smtpEncryptionMethodDescription": "Seleccione si desea habilitar la encriptación SSL/TLS.",
|
||||
"smtpPassword": "Contraseña SMTP",
|
||||
"smtpPasswordDescription": "La contraseña de la cuenta SMTP.",
|
||||
"smtpServerAddress": "Dirección del servidor SMTP",
|
||||
"smtpServerAddressDescription": "Especifique la dirección del servidor utilizada para enviar correos.",
|
||||
"smtpServerPort": "Puerto del servidor SMTP",
|
||||
"smtpServerPortDescription": "Especifique el número de puerto para conectar al servidor SMTP.",
|
||||
"verify_email_template": "Plantilla de verificación de correo",
|
||||
"verify_email_templateDescription": "Las variables {after}.nombreVariable{before} en la plantilla serán reemplazadas por datos reales, asegúrese de conservar estas variables."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Comisión solo en la primera compra",
|
||||
"commissionFirstTimeOnlyDescription": "Al habilitar, la comisión se genera solo en el primer pago del invitado. Puede configurar usuarios individuales en la gestión de usuarios.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Hora de Inicio",
|
||||
"timeSlot": "Franja Horaria"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Lista blanca de sufijos de correo electrónico",
|
||||
"emailSuffixWhitelistDescription": "Al habilitar, solo se podrán registrar correos electrónicos con los sufijos de la lista",
|
||||
"emailVerification": "Verificación de correo electrónico",
|
||||
"emailVerificationDescription": "Al habilitar, los usuarios deberán verificar su correo electrónico",
|
||||
"ipRegistrationLimit": "Límite de registro por IP",
|
||||
"ipRegistrationLimitDescription": "Al habilitar, las IP que cumplan con los requisitos de las reglas serán restringidas para registrarse. Tenga en cuenta que la determinación de IP puede causar problemas debido a CDN o proxies frontales",
|
||||
"penaltyTime": "Tiempo de penalización (minutos)",
|
||||
"penaltyTimeDescription": "El usuario debe esperar a que pase el tiempo de penalización para registrarse nuevamente",
|
||||
"registrationLimitCount": "Conteo de límite de registro",
|
||||
"registrationLimitCountDescription": "Habilitar penalización después de alcanzar el límite de registro",
|
||||
"saveSuccess": "Guardado exitosamente",
|
||||
"stopNewUserRegistration": "Detener registro de nuevos usuarios",
|
||||
"stopNewUserRegistrationDescription": "Al habilitar, nadie podrá registrarse",
|
||||
"trialRegistration": "Registro de prueba",
|
||||
"trialRegistrationDescription": "Habilitar registro de prueba, por favor modifique primero el paquete y la duración de la prueba",
|
||||
"whitelistSuffixes": "Sufijos de lista blanca",
|
||||
"whitelistSuffixesDescription": "Para la verificación de correo electrónico de registro, uno por línea",
|
||||
"whitelistSuffixesPlaceholder": "Por favor ingrese los sufijos de correo electrónico, uno por línea"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Usado para mostrar la ubicación donde se debe exhibir el LOGO",
|
||||
|
||||
20
apps/admin/locales/fa-IR/auth-control.json
Normal file
20
apps/admin/locales/fa-IR/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "لیست سفید پسوند ایمیل",
|
||||
"emailSuffixWhitelistDescription": "هنگامی که فعال شود، تنها ایمیلهایی با پسوندهای موجود در فهرست میتوانند ثبتنام کنند",
|
||||
"emailVerification": "تأیید ایمیل",
|
||||
"emailVerificationDescription": "هنگامی که فعال شود، کاربران باید ایمیل خود را تأیید کنند",
|
||||
"ipRegistrationLimit": "محدودیت ثبتنام IP",
|
||||
"ipRegistrationLimitDescription": "هنگامی که فعال شود، آیپیهایی که شرایط قوانین را برآورده میکنند از ثبتنام محدود خواهند شد؛ توجه داشته باشید که تعیین آیپی ممکن است به دلیل شبکههای تحویل محتوا (CDN) یا پروکسیهای فرانتاند مشکلاتی ایجاد کند",
|
||||
"penaltyTime": "زمان جریمه (دقیقه)",
|
||||
"penaltyTimeDescription": "کاربران باید منتظر بمانند تا زمان جریمه به پایان برسد و سپس دوباره ثبتنام کنند",
|
||||
"registrationLimitCount": "تعداد محدودیت ثبتنام",
|
||||
"registrationLimitCountDescription": "فعالسازی جریمه پس از رسیدن به حد ثبتنام",
|
||||
"saveSuccess": "ذخیره با موفقیت انجام شد",
|
||||
"stopNewUserRegistration": "توقف ثبتنام کاربر جدید",
|
||||
"stopNewUserRegistrationDescription": "وقتی فعال باشد، هیچکس نمیتواند ثبتنام کند",
|
||||
"trialRegistration": "ثبتنام آزمایشی",
|
||||
"trialRegistrationDescription": "فعالسازی ثبتنام آزمایشی؛ ابتدا بسته و مدت زمان آزمایشی را تغییر دهید",
|
||||
"whitelistSuffixes": "پسوندهای لیست سفید",
|
||||
"whitelistSuffixesDescription": "برای تأیید ایمیل در هنگام ثبتنام استفاده میشود؛ هر خط یک مورد",
|
||||
"whitelistSuffixesPlaceholder": "پسوندهای ایمیل را وارد کنید، هر کدام در یک خط"
|
||||
}
|
||||
29
apps/admin/locales/fa-IR/email.json
Normal file
29
apps/admin/locales/fa-IR/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "پیکربندی پایه",
|
||||
"emailLogs": "گزارشهای ایمیل",
|
||||
"emailTemplate": "قالب ایمیل",
|
||||
"expiration_email_template": "قالب اطلاعیه انقضا",
|
||||
"expiration_email_templateDescription": "جایگذاریهای {after}.variable{before} با دادههای واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
|
||||
"inputPlaceholder": "مقدار را وارد کنید...",
|
||||
"maintenance_email_template": "قالب اطلاعیه نگهداری",
|
||||
"maintenance_email_templateDescription": "جایگزینهای {after}.variable{before} با دادههای واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
|
||||
"saveSuccess": "پیکربندی با موفقیت ذخیره شد.",
|
||||
"sendFailure": "ارسال ایمیل آزمایشی ناموفق بود، لطفاً تنظیمات را بررسی کنید.",
|
||||
"sendSuccess": "ایمیل آزمایشی با موفقیت ارسال شد.",
|
||||
"sendTestEmail": "ارسال ایمیل آزمایشی",
|
||||
"sendTestEmailDescription": "ارسال یک ایمیل آزمایشی برای تأیید پیکربندی.",
|
||||
"senderAddress": "آدرس فرستنده",
|
||||
"senderAddressDescription": "آدرس ایمیل پیشفرض برای ارسال ایمیلها استفاده میشود.",
|
||||
"smtpAccount": "حساب SMTP",
|
||||
"smtpAccountDescription": "حساب ایمیلی که برای احراز هویت استفاده میشود.",
|
||||
"smtpEncryptionMethod": "روش رمزگذاری SMTP",
|
||||
"smtpEncryptionMethodDescription": "انتخاب کنید که آیا میخواهید رمزگذاری SSL/TLS را فعال کنید.",
|
||||
"smtpPassword": "رمز عبور SMTP",
|
||||
"smtpPasswordDescription": "رمز عبور برای حساب SMTP.",
|
||||
"smtpServerAddress": "آدرس سرور SMTP",
|
||||
"smtpServerAddressDescription": "آدرس سروری را که برای ارسال ایمیلها استفاده میشود مشخص کنید.",
|
||||
"smtpServerPort": "پورت سرور SMTP",
|
||||
"smtpServerPortDescription": "پورت مورد استفاده برای اتصال به سرور SMTP را مشخص کنید.",
|
||||
"verify_email_template": "قالب ایمیل تأیید",
|
||||
"verify_email_templateDescription": "جایگذاریهای {after}.variable{before} با دادههای واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "مدیریت اطلاعیهها",
|
||||
"Apple": "شناسه اپل",
|
||||
"Auth Control": "کنترل احراز هویت",
|
||||
"Coupon Management": "مدیریت کوپن",
|
||||
"Dashboard": "داشبورد",
|
||||
"Document Management": "مدیریت اسناد",
|
||||
"Email": "ایمیل",
|
||||
"Facebook": "فیسبوک",
|
||||
"Finance": "امور مالی",
|
||||
"General": "عمومی",
|
||||
"GitHub": "گیتهاب",
|
||||
"Google": "گوگل",
|
||||
"Order Management": "مدیریت سفارش",
|
||||
"Payment Config": "پیکربندی پرداخت",
|
||||
"Phone Number": "شماره تلفن",
|
||||
"Server": "سرور",
|
||||
"Server Management": "مدیریت سرور",
|
||||
"Settings": "تنظیمات",
|
||||
"Subscribe Management": "مدیریت اشتراک",
|
||||
"System Config": "پیکربندی سیستم",
|
||||
"System Tool": "ابزار سیستم",
|
||||
"Telegram": "تلگرام",
|
||||
"Ticket Management": "مدیریت بلیط",
|
||||
"Twitter": "توییتر",
|
||||
"User": "کاربر",
|
||||
"User Management": "مدیریت کاربران"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/fa-IR/phone.json
Normal file
57
apps/admin/locales/fa-IR/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "لیست گزارش پیامک",
|
||||
"apiUrl": "آدرس API",
|
||||
"apiUrlTip": "نقطه پایانی API پلتفرم پیامک",
|
||||
"areaCode": "کد منطقه",
|
||||
"content": "محتوا",
|
||||
"createdAt": "زمان ارسال",
|
||||
"enable": "فعال کردن",
|
||||
"enableTip": "پس از فعالسازی، عملکردهای ثبتنام، ورود، اتصال و قطع اتصال تلفن همراه فعال خواهند شد",
|
||||
"expireTime": "زمان انقضا",
|
||||
"expireTimeTip": "مدت اعتبار کد تأیید پیامکی (ثانیه)",
|
||||
"foreignApiUrl": "آدرس API بینالمللی",
|
||||
"foreignApiUrlTip": "نقطه پایانی API خدمات پیامک بینالمللی",
|
||||
"interval": "فاصله زمانی",
|
||||
"intervalTip": "فاصله زمانی ارسال کد تأیید پیامکی برای همان شماره تلفن (ثانیه)، 0 به معنای بدون محدودیت است",
|
||||
"limit": "محدودیت روزانه",
|
||||
"limitTip": "محدودیت ارسال کد تأییدیه پیامکی روزانه برای همان شماره تلفن، ۰ به معنای بدون محدودیت است",
|
||||
"logs": "لاگها",
|
||||
"password": "رمز عبور",
|
||||
"passwordTip": "رمز عبور پلتفرم پیامک، مانند کلید دسترسی مخفی علیبابا",
|
||||
"placeholders": {
|
||||
"apiUrl": "آدرس API را وارد کنید، به عنوان مثال https://api.example.com",
|
||||
"expireTime": "زمان انقضا را وارد کنید، پیشفرض ۳۰۰ است",
|
||||
"foreignApiUrl": "آدرس API بینالمللی را وارد کنید",
|
||||
"interval": "زمان فاصله را وارد کنید، پیشفرض ۶۰ است",
|
||||
"limit": "محدودیت روزانه را وارد کنید، پیشفرض ۲۰ است",
|
||||
"password": "رمز عبور پلتفرم را وارد کنید",
|
||||
"region": "منطقه را وارد کنید، به عنوان مثال cn-hangzhou",
|
||||
"template": "کد تأیید شما {code} است و به مدت ۵ دقیقه معتبر است",
|
||||
"templateCode": "کد قالب را وارد کنید",
|
||||
"templateParam": "نام پارامتر را وارد کنید، پیشفرض code است",
|
||||
"username": "نام کاربری پلتفرم را وارد کنید"
|
||||
},
|
||||
"platform": "پلتفرم پیامک",
|
||||
"platformTip": "لطفاً پلتفرم پیامک را انتخاب کنید",
|
||||
"region": "منطقه",
|
||||
"regionTip": "منطقه خدمات پیامک، مانند cn-hangzhou برای علیبابا",
|
||||
"search": "جستجوی شماره تلفن",
|
||||
"sendFailed": "ارسال ناموفق بود",
|
||||
"sendSuccess": "ارسال موفقیتآمیز",
|
||||
"settings": "تنظیمات",
|
||||
"status": "وضعیت",
|
||||
"telephone": "شماره تلفن",
|
||||
"template": "قالب پیامک",
|
||||
"templateCode": "کد الگو",
|
||||
"templateCodeTip": "کد قالب سرویس پیامک",
|
||||
"templateParam": "پارامتر الگو",
|
||||
"templateParamTip": "نام پارامتر متغیر در قالب پیامک، به طور پیشفرض 'code' است",
|
||||
"templateTip": "لطفاً قالب پیامک را پر کنید، {code} را در وسط نگه دارید، در غیر این صورت عملکرد پیامک کار نخواهد کرد",
|
||||
"testSms": "ارسال پیامک آزمایشی",
|
||||
"testSmsContent": "این یک پیام آزمایشی است",
|
||||
"testSmsPhone": "شماره تلفن را وارد کنید",
|
||||
"testSmsTip": "ارسال یک پیامک آزمایشی برای تأیید تنظیمات شما",
|
||||
"updateSuccess": "بهروزرسانی با موفقیت انجام شد",
|
||||
"username": "نام کاربری",
|
||||
"usernameTip": "نام کاربری پلتفرم پیامک، مانند شناسه کلید دسترسی علیبابا"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "فقط برای نمایش استفاده میشود؛ تغییر این مورد بر تمام واحدهای ارزی در سیستم تأثیر خواهد گذاشت",
|
||||
"saveSuccess": "ذخیرهسازی موفقیتآمیز"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "قالب اطلاعیه انقضا",
|
||||
"expiration_email_templateDescription": "جایگزینهای {after}.variable{before} با دادههای واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
|
||||
"inputPlaceholder": "مقدار را وارد کنید...",
|
||||
"maintenance_email_template": "قالب اطلاعیه نگهداری",
|
||||
"maintenance_email_templateDescription": "جایگزینهای {after}.variable{before} با دادههای واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
|
||||
"saveSuccess": "پیکربندی با موفقیت ذخیره شد.",
|
||||
"sendFailure": "ارسال ایمیل آزمایشی ناموفق بود، لطفاً پیکربندی را بررسی کنید.",
|
||||
"sendSuccess": "ایمیل آزمایشی با موفقیت ارسال شد.",
|
||||
"sendTestEmail": "ارسال ایمیل آزمایشی",
|
||||
"sendTestEmailDescription": "برای تأیید پیکربندی، یک ایمیل آزمایشی ارسال کنید.",
|
||||
"senderAddress": "آدرس فرستنده",
|
||||
"senderAddressDescription": "آدرس ایمیل پیشفرض برای ارسال ایمیلها استفاده میشود.",
|
||||
"smtpAccount": "حساب SMTP",
|
||||
"smtpAccountDescription": "حساب ایمیلی که برای احراز هویت استفاده میشود.",
|
||||
"smtpEncryptionMethod": "روش رمزگذاری SMTP",
|
||||
"smtpEncryptionMethodDescription": "انتخاب کنید که آیا رمزگذاری SSL/TLS فعال شود یا خیر.",
|
||||
"smtpPassword": "رمز عبور SMTP",
|
||||
"smtpPasswordDescription": "رمز عبور برای حساب SMTP.",
|
||||
"smtpServerAddress": "آدرس سرور SMTP",
|
||||
"smtpServerAddressDescription": "آدرس سروری که برای ارسال ایمیلها استفاده میشود را مشخص کنید.",
|
||||
"smtpServerPort": "پورت سرور SMTP",
|
||||
"smtpServerPortDescription": "پورتی که برای اتصال به سرور SMTP استفاده میشود را مشخص کنید.",
|
||||
"verify_email_template": "قالب ایمیل تأیید",
|
||||
"verify_email_templateDescription": "جایگزینهای {after}.variable{before} با دادههای واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "کمیسیون فقط برای اولین خرید",
|
||||
"commissionFirstTimeOnlyDescription": "هنگامی که فعال شود، کمیسیون فقط بر روی اولین پرداخت دعوتکننده تولید میشود؛ شما میتوانید کاربران فردی را در مدیریت کاربران پیکربندی کنید",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "زمان شروع",
|
||||
"timeSlot": "بازه زمانی"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "لیست سفید پسوند ایمیل",
|
||||
"emailSuffixWhitelistDescription": "هنگامی که فعال شود، تنها ایمیلهایی با پسوندهای موجود در لیست میتوانند ثبتنام کنند",
|
||||
"emailVerification": "تأیید ایمیل",
|
||||
"emailVerificationDescription": "هنگامی که فعال شود، کاربران باید ایمیل خود را تأیید کنند",
|
||||
"ipRegistrationLimit": "محدودیت ثبتنام IP",
|
||||
"ipRegistrationLimitDescription": "هنگامی که فعال شود، IPهایی که شرایط قوانین را برآورده میکنند از ثبتنام محدود خواهند شد؛ توجه داشته باشید که تعیین IP ممکن است به دلیل CDNها یا پروکسیهای فرانتاند مشکلاتی ایجاد کند",
|
||||
"penaltyTime": "زمان جریمه (دقیقه)",
|
||||
"penaltyTimeDescription": "کاربران باید منتظر بمانند تا زمان جریمه به پایان برسد تا بتوانند دوباره ثبتنام کنند",
|
||||
"registrationLimitCount": "تعداد محدودیت ثبتنام",
|
||||
"registrationLimitCountDescription": "پس از رسیدن به محدودیت ثبتنام، جریمه را فعال کنید",
|
||||
"saveSuccess": "ذخیره با موفقیت انجام شد",
|
||||
"stopNewUserRegistration": "توقف ثبتنام کاربر جدید",
|
||||
"stopNewUserRegistrationDescription": "هنگامی که فعال شود، هیچکس نمیتواند ثبتنام کند",
|
||||
"trialRegistration": "ثبتنام آزمایشی",
|
||||
"trialRegistrationDescription": "ثبتنام آزمایشی را فعال کنید؛ ابتدا بسته و مدت زمان آزمایشی را تغییر دهید",
|
||||
"whitelistSuffixes": "پسوندهای لیست سفید",
|
||||
"whitelistSuffixesDescription": "برای تأیید ایمیل در هنگام ثبتنام استفاده میشود؛ هر کدام در یک خط",
|
||||
"whitelistSuffixesPlaceholder": "پسوندهای ایمیل را وارد کنید، هر کدام در یک خط"
|
||||
},
|
||||
"site": {
|
||||
"logo": "لوگو",
|
||||
"logoDescription": "برای نمایش لوگو در مکانهای تعیینشده استفاده میشود",
|
||||
|
||||
20
apps/admin/locales/fi-FI/auth-control.json
Normal file
20
apps/admin/locales/fi-FI/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "Sähköpostin loppuliitteen sallittu lista",
|
||||
"emailSuffixWhitelistDescription": "Kun tämä on käytössä, vain listassa olevilla päätteillä varustetut sähköpostit voivat rekisteröityä",
|
||||
"emailVerification": "Sähköpostin vahvistus",
|
||||
"emailVerificationDescription": "Kun tämä on käytössä, käyttäjien on vahvistettava sähköpostinsa",
|
||||
"ipRegistrationLimit": "IP-rekisteröintirajoitus",
|
||||
"ipRegistrationLimitDescription": "Kun tämä on käytössä, säännön vaatimukset täyttävät IP-osoitteet estetään rekisteröitymästä; huomaa, että IP-määritys voi aiheuttaa ongelmia CDN:ien tai etupään välityspalvelimien vuoksi",
|
||||
"penaltyTime": "Rangaistusaika (minuuttia)",
|
||||
"penaltyTimeDescription": "Käyttäjien on odotettava rangaistusajan päättymistä ennen kuin he voivat rekisteröityä uudelleen",
|
||||
"registrationLimitCount": "Rekisteröitymisrajoituksen määrä",
|
||||
"registrationLimitCountDescription": "Ota käyttöön rangaistus rekisteröintirajan saavuttamisen jälkeen",
|
||||
"saveSuccess": "Tallennus onnistui",
|
||||
"stopNewUserRegistration": "Lopeta uusien käyttäjien rekisteröinti",
|
||||
"stopNewUserRegistrationDescription": "Kun tämä on käytössä, kukaan ei voi rekisteröityä",
|
||||
"trialRegistration": "Kokeilurekisteröinti",
|
||||
"trialRegistrationDescription": "Ota kokeilurekisteröinti käyttöön; muokkaa ensin kokeilupakettia ja kestoa",
|
||||
"whitelistSuffixes": "Sallittujen luetteloiden päätteet",
|
||||
"whitelistSuffixesDescription": "Käytetään sähköpostin vahvistamiseen rekisteröinnin aikana; yksi per rivi",
|
||||
"whitelistSuffixesPlaceholder": "Syötä sähköpostin päätteet, yksi per rivi"
|
||||
}
|
||||
29
apps/admin/locales/fi-FI/email.json
Normal file
29
apps/admin/locales/fi-FI/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Perusasetukset",
|
||||
"emailLogs": "Sähköpostilokit",
|
||||
"emailTemplate": "Sähköpostimalli",
|
||||
"expiration_email_template": "Vanhentumisilmoituksen malli",
|
||||
"expiration_email_templateDescription": "Paikkamerkit {after}.variable{before} korvataan todellisilla tiedoilla. Varmista, että pidät nämä muuttujat.",
|
||||
"inputPlaceholder": "Syötä arvo...",
|
||||
"maintenance_email_template": "Huoltoilmoituksen malli",
|
||||
"maintenance_email_templateDescription": "Paikkamerkit {after}.variable{before} korvataan todellisilla tiedoilla. Varmista, että pidät nämä muuttujat.",
|
||||
"saveSuccess": "Asetukset tallennettu onnistuneesti.",
|
||||
"sendFailure": "Testisähköpostin lähettäminen epäonnistui, tarkista asetukset.",
|
||||
"sendSuccess": "Testisähköposti lähetetty onnistuneesti.",
|
||||
"sendTestEmail": "Lähetä testisähköposti",
|
||||
"sendTestEmailDescription": "Lähetä testisähköposti varmistaaksesi kokoonpanon.",
|
||||
"senderAddress": "Lähettäjän osoite",
|
||||
"senderAddressDescription": "Oletussähköpostiosoite, jota käytetään sähköpostien lähettämiseen.",
|
||||
"smtpAccount": "SMTP-tili",
|
||||
"smtpAccountDescription": "Sähköpostitili, jota käytetään todennukseen.",
|
||||
"smtpEncryptionMethod": "SMTP-salausmenetelmä",
|
||||
"smtpEncryptionMethodDescription": "Valitse, haluatko ottaa käyttöön SSL/TLS-salauksen.",
|
||||
"smtpPassword": "SMTP-salasana",
|
||||
"smtpPasswordDescription": "SMTP-tilin salasana.",
|
||||
"smtpServerAddress": "SMTP-palvelimen osoite",
|
||||
"smtpServerAddressDescription": "Määritä palvelimen osoite, jota käytetään sähköpostien lähettämiseen.",
|
||||
"smtpServerPort": "SMTP-palvelimen portti",
|
||||
"smtpServerPortDescription": "Määritä portti, jota käytetään yhteyden muodostamiseen SMTP-palvelimeen.",
|
||||
"verify_email_template": "Sähköpostin Vahvistusmalli",
|
||||
"verify_email_templateDescription": "Paikkamerkit {after}.variable{before} korvataan todellisilla tiedoilla. Varmista, että pidät nämä muuttujat."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Ilmoitusten hallinta",
|
||||
"Apple": "Apple ID",
|
||||
"Auth Control": "Todennuksen hallinta",
|
||||
"Coupon Management": "Kuponkien hallinta",
|
||||
"Dashboard": "Kojelauta",
|
||||
"Document Management": "Asiakirjojen hallinta",
|
||||
"Email": "Sähköposti",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Rahoitus",
|
||||
"General": "Yleinen",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Tilausten hallinta",
|
||||
"Payment Config": "Maksukonfiguraatio",
|
||||
"Phone Number": "Puhelinnumero",
|
||||
"Server": "Palvelu",
|
||||
"Server Management": "Palvelimen hallinta",
|
||||
"Settings": "Asetukset",
|
||||
"Subscribe Management": "Tilauksen hallinta",
|
||||
"System Config": "Järjestelmän asetukset",
|
||||
"System Tool": "Järjestelmätyökalu",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Lipputoiminta",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Käyttäjä",
|
||||
"User Management": "Käyttäjien hallinta"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/fi-FI/phone.json
Normal file
57
apps/admin/locales/fi-FI/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "SMS-luettelolista",
|
||||
"apiUrl": "API-osoite",
|
||||
"apiUrlTip": "SMS-alustan API-päätepiste",
|
||||
"areaCode": "Alueen koodi",
|
||||
"content": "Sisältö",
|
||||
"createdAt": "Lähetysaika",
|
||||
"enable": "Ota käyttöön",
|
||||
"enableTip": "Kun otat tämän käyttöön, matkapuhelimen rekisteröinti-, kirjautumis-, sitomis- ja purkutoiminnot otetaan käyttöön",
|
||||
"expireTime": "Vanhentumisaika",
|
||||
"expireTimeTip": "Tekstiviestivarmennuskoodin voimassaoloaika (sekunteina)",
|
||||
"foreignApiUrl": "Kansainvälinen API-URL",
|
||||
"foreignApiUrlTip": "Kansainvälisen tekstiviestipalvelun API-päätepiste",
|
||||
"interval": "Aikaväli",
|
||||
"intervalTip": "Saman puhelinnumeron SMS-varmistuskoodin lähetysväli (sekunteina), 0 tarkoittaa ei rajoitusta",
|
||||
"limit": "Päivittäinen raja",
|
||||
"limitTip": "Päivittäinen tekstiviestivarmistuskoodin lähetysraja samalle puhelinnumerolle, 0 tarkoittaa ei rajoitusta",
|
||||
"logs": "Lokit",
|
||||
"password": "Salasana",
|
||||
"passwordTip": "SMS-alustan salasana, kuten Aliyun Access Key Secret",
|
||||
"placeholders": {
|
||||
"apiUrl": "Anna API-URL, esim. https://api.example.com",
|
||||
"expireTime": "Syötä vanhentumisaika, oletus on 300",
|
||||
"foreignApiUrl": "Anna kansainvälinen API-URL",
|
||||
"interval": "Anna aikaväli, oletus on 60",
|
||||
"limit": "Anna päivittäinen raja, oletus on 20",
|
||||
"password": "Anna alustan salasana",
|
||||
"region": "Anna alue, esim. cn-hangzhou",
|
||||
"template": "Vahvistuskoodisi on {code}, voimassa 5 minuuttia",
|
||||
"templateCode": "Anna mallikoodi",
|
||||
"templateParam": "Anna parametrin nimi, oletus on koodi",
|
||||
"username": "Anna alustan käyttäjänimi"
|
||||
},
|
||||
"platform": "SMS-alusta",
|
||||
"platformTip": "Valitse SMS-alusta",
|
||||
"region": "Alue",
|
||||
"regionTip": "SMS-palvelun alue, kuten cn-hangzhou Aliyunille",
|
||||
"search": "Hae puhelinnumeroa",
|
||||
"sendFailed": "Lähetys epäonnistui",
|
||||
"sendSuccess": "Lähetys onnistui",
|
||||
"settings": "Asetukset",
|
||||
"status": "Tila",
|
||||
"telephone": "Puhelinnumero",
|
||||
"template": "SMS-malli",
|
||||
"templateCode": "Mallikoodi",
|
||||
"templateCodeTip": "SMS-palvelun mallikoodi",
|
||||
"templateParam": "Malliparametri",
|
||||
"templateParamTip": "Muuttujan parametrin nimi SMS-mallissa, oletuksena 'koodi'",
|
||||
"templateTip": "Täytä SMS-malli, pidä {code} keskellä, muuten SMS-toiminto ei toimi",
|
||||
"testSms": "Lähetä testiviesti",
|
||||
"testSmsContent": "Tämä on testiviesti",
|
||||
"testSmsPhone": "Syötä puhelinnumero",
|
||||
"testSmsTip": "Lähetä testiviesti varmistaaksesi asetuksesi",
|
||||
"updateSuccess": "Päivitys onnistui",
|
||||
"username": "Käyttäjänimi",
|
||||
"usernameTip": "SMS-alustan käyttäjätunnus, kuten Aliyun Access Key ID"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Käytetään vain näyttötarkoituksiin, muutoksen jälkeen kaikki järjestelmän valuuttayksiköt muuttuvat",
|
||||
"saveSuccess": "Tallennus onnistui"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Vanhentumisilmoitusmalli",
|
||||
"expiration_email_templateDescription": "Mallin {after}.muuttujanimi{before} korvataan todellisilla tiedoilla, varmista, että säilytät nämä muuttujat.",
|
||||
"inputPlaceholder": "Syötä sisältö...",
|
||||
"maintenance_email_template": "Huoltoilmoitusmalli",
|
||||
"maintenance_email_templateDescription": "Mallin {after}.muuttujanimi{before} korvataan todellisilla tiedoilla, varmista, että säilytät nämä muuttujat.",
|
||||
"saveSuccess": "Asetukset on tallennettu onnistuneesti.",
|
||||
"sendFailure": "Testisähköpostin lähetys epäonnistui, tarkista asetukset.",
|
||||
"sendSuccess": "Testisähköposti on lähetetty onnistuneesti.",
|
||||
"sendTestEmail": "Lähetä testisähköposti",
|
||||
"sendTestEmailDescription": "Lähetä testisähköposti varmistaaksesi, että asetukset ovat oikein.",
|
||||
"senderAddress": "Lähettäjän osoite",
|
||||
"senderAddressDescription": "Oletussähköpostiosoite, jota käytetään sähköpostien lähettämiseen.",
|
||||
"smtpAccount": "SMTP-tili",
|
||||
"smtpAccountDescription": "Sähköpostitili todennusta varten.",
|
||||
"smtpEncryptionMethod": "SMTP-salausmenetelmä",
|
||||
"smtpEncryptionMethodDescription": "Valitse, otetaanko SSL/TLS-salaus käyttöön.",
|
||||
"smtpPassword": "SMTP-salasana",
|
||||
"smtpPasswordDescription": "Tämän SMTP-tilin salasana.",
|
||||
"smtpServerAddress": "SMTP-palvelimen osoite",
|
||||
"smtpServerAddressDescription": "Määritä palvelimen osoite, jota käytetään sähköpostien lähettämiseen.",
|
||||
"smtpServerPort": "SMTP-palvelimen portti",
|
||||
"smtpServerPortDescription": "Määritä porttinumero, jota käytetään SMTP-palvelimeen yhdistämiseen.",
|
||||
"verify_email_template": "Vahvistussähköpostimalli",
|
||||
"verify_email_templateDescription": "Mallin {after}.muuttujanimi{before} korvataan todellisilla tiedoilla, varmista, että säilytät nämä muuttujat."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Vain ensimmäisestä ostosta provisio",
|
||||
"commissionFirstTimeOnlyDescription": "Kun tämä on käytössä, provisio syntyy vain, kun kutsuttu henkilö maksaa ensimmäisen kerran. Voit määrittää yksittäisen käyttäjän käyttäjähallinnassa.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Aloitusaika",
|
||||
"timeSlot": "Aikaväli"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Sähköpostin jälkiliitteen sallittu luettelo",
|
||||
"emailSuffixWhitelistDescription": "Kun tämä on käytössä, vain luettelossa olevilla jälkiliitteillä varustetut sähköpostit voivat rekisteröityä",
|
||||
"emailVerification": "Sähköpostivarmennus",
|
||||
"emailVerificationDescription": "Kun tämä on käytössä, käyttäjien on vahvistettava sähköpostinsa",
|
||||
"ipRegistrationLimit": "IP-rekisteröintirajoitus",
|
||||
"ipRegistrationLimitDescription": "Kun tämä on käytössä, sääntöjen mukaisia IP-osoitteita rajoitetaan rekisteröitymästä. Huomaa, että CDN tai etuvälimuistin käyttö voi aiheuttaa ongelmia IP-määrityksessä",
|
||||
"penaltyTime": "Rangaistusaika (minuuttia)",
|
||||
"penaltyTimeDescription": "Käyttäjän on odotettava rangaistusajan umpeutumista ennen kuin voi rekisteröityä uudelleen",
|
||||
"registrationLimitCount": "Rekisteröintirajoituksen määrä",
|
||||
"registrationLimitCountDescription": "Kun rekisteröintirajoitus saavutetaan, rangaistus otetaan käyttöön",
|
||||
"saveSuccess": "Tallennus onnistui",
|
||||
"stopNewUserRegistration": "Lopeta uusien käyttäjien rekisteröinti",
|
||||
"stopNewUserRegistrationDescription": "Kun tämä on käytössä, kukaan ei voi rekisteröityä",
|
||||
"trialRegistration": "Kokeilurekisteröinti",
|
||||
"trialRegistrationDescription": "Ota kokeilurekisteröinti käyttöön, muokkaa ensin kokeilupakettia ja kestoa",
|
||||
"whitelistSuffixes": "Sallitut jälkiliitteet",
|
||||
"whitelistSuffixesDescription": "Käytetään sähköpostin rekisteröintivarmennukseen, yksi per rivi",
|
||||
"whitelistSuffixesPlaceholder": "Anna sähköpostin jälkiliite, yksi per rivi"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Näyttääksesi paikan, jossa LOGO tulee näkyä",
|
||||
|
||||
20
apps/admin/locales/fr-FR/auth-control.json
Normal file
20
apps/admin/locales/fr-FR/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "Liste blanche des suffixes d'email",
|
||||
"emailSuffixWhitelistDescription": "Lorsqu'elle est activée, seules les adresses e-mail avec des suffixes figurant dans la liste peuvent s'inscrire",
|
||||
"emailVerification": "Vérification de l'email",
|
||||
"emailVerificationDescription": "Lorsqu'elle est activée, les utilisateurs devront vérifier leur adresse e-mail",
|
||||
"ipRegistrationLimit": "Limite d'enregistrement IP",
|
||||
"ipRegistrationLimitDescription": "Lorsqu'elle est activée, les IPs qui répondent aux exigences de la règle seront restreintes de l'enregistrement ; notez que la détermination des IPs peut causer des problèmes en raison des CDN ou des proxies frontaux",
|
||||
"penaltyTime": "Temps de pénalité (minutes)",
|
||||
"penaltyTimeDescription": "Les utilisateurs doivent attendre l'expiration du temps de pénalité avant de pouvoir s'inscrire à nouveau",
|
||||
"registrationLimitCount": "Nombre limite d'inscriptions",
|
||||
"registrationLimitCountDescription": "Activer la pénalité après avoir atteint la limite d'inscription",
|
||||
"saveSuccess": "Enregistrement réussi",
|
||||
"stopNewUserRegistration": "Arrêter l'enregistrement des nouveaux utilisateurs",
|
||||
"stopNewUserRegistrationDescription": "Lorsqu'elle est activée, personne ne peut s'inscrire",
|
||||
"trialRegistration": "Inscription à l'essai",
|
||||
"trialRegistrationDescription": "Activer l'inscription à l'essai ; modifiez d'abord le forfait et la durée de l'essai",
|
||||
"whitelistSuffixes": "Suffixes de la liste blanche",
|
||||
"whitelistSuffixesDescription": "Utilisé pour la vérification des e-mails lors de l'inscription ; un par ligne",
|
||||
"whitelistSuffixesPlaceholder": "Entrez les suffixes d'email, un par ligne"
|
||||
}
|
||||
29
apps/admin/locales/fr-FR/email.json
Normal file
29
apps/admin/locales/fr-FR/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Configuration de base",
|
||||
"emailLogs": "Journaux d'e-mails",
|
||||
"emailTemplate": "Modèle d'email",
|
||||
"expiration_email_template": "Modèle d'avis d'expiration",
|
||||
"expiration_email_templateDescription": "Les espaces réservés {after}.variable{before} seront remplacés par des données réelles. Assurez-vous de conserver ces variables.",
|
||||
"inputPlaceholder": "Entrez la valeur...",
|
||||
"maintenance_email_template": "Modèle d'avis de maintenance",
|
||||
"maintenance_email_templateDescription": "Les espaces réservés {after}.variable{before} seront remplacés par des données réelles. Assurez-vous de conserver ces variables.",
|
||||
"saveSuccess": "Configuration enregistrée avec succès.",
|
||||
"sendFailure": "Échec de l'envoi de l'email de test, veuillez vérifier la configuration.",
|
||||
"sendSuccess": "E-mail de test envoyé avec succès.",
|
||||
"sendTestEmail": "Envoyer un e-mail de test",
|
||||
"sendTestEmailDescription": "Envoyez un e-mail de test pour vérifier la configuration.",
|
||||
"senderAddress": "Adresse de l'expéditeur",
|
||||
"senderAddressDescription": "L'adresse e-mail par défaut utilisée pour envoyer des e-mails.",
|
||||
"smtpAccount": "Compte SMTP",
|
||||
"smtpAccountDescription": "Le compte de messagerie utilisé pour l'authentification.",
|
||||
"smtpEncryptionMethod": "Méthode de chiffrement SMTP",
|
||||
"smtpEncryptionMethodDescription": "Choisissez si vous souhaitez activer le chiffrement SSL/TLS.",
|
||||
"smtpPassword": "Mot de passe SMTP",
|
||||
"smtpPasswordDescription": "Le mot de passe pour le compte SMTP.",
|
||||
"smtpServerAddress": "Adresse du serveur SMTP",
|
||||
"smtpServerAddressDescription": "Spécifiez l'adresse du serveur utilisée pour l'envoi des e-mails.",
|
||||
"smtpServerPort": "Port du serveur SMTP",
|
||||
"smtpServerPortDescription": "Spécifiez le port utilisé pour se connecter au serveur SMTP.",
|
||||
"verify_email_template": "Modèle d'Email de Vérification",
|
||||
"verify_email_templateDescription": "Les espaces réservés {after}.variable{before} seront remplacés par des données réelles. Assurez-vous de conserver ces variables."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Gestion des annonces",
|
||||
"Apple": "Identifiant Apple",
|
||||
"Auth Control": "Contrôle d'authentification",
|
||||
"Coupon Management": "Gestion des coupons",
|
||||
"Dashboard": "Tableau de bord",
|
||||
"Document Management": "Gestion des documents",
|
||||
"Email": "E-mail",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Finance",
|
||||
"General": "Général",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Gestion des commandes",
|
||||
"Payment Config": "Configuration de paiement",
|
||||
"Phone Number": "Numéro de téléphone",
|
||||
"Server": "Serveur",
|
||||
"Server Management": "Gestion des services",
|
||||
"Settings": "Paramètres",
|
||||
"Subscribe Management": "Gestion des abonnements",
|
||||
"System Config": "Configuration du système",
|
||||
"System Tool": "Outil Système",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Gestion des billets",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Utilisateur",
|
||||
"User Management": "Gestion des utilisateurs"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/fr-FR/phone.json
Normal file
57
apps/admin/locales/fr-FR/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "Liste des journaux SMS",
|
||||
"apiUrl": "URL de l'API",
|
||||
"apiUrlTip": "Point de terminaison de l'API de la plateforme SMS",
|
||||
"areaCode": "Indicatif régional",
|
||||
"content": "Contenu",
|
||||
"createdAt": "Heure d'envoi",
|
||||
"enable": "Activer",
|
||||
"enableTip": "Après activation, les fonctions d'enregistrement, de connexion, de liaison et de déliaison par téléphone mobile seront activées",
|
||||
"expireTime": "Date d'expiration",
|
||||
"expireTimeTip": "Période de validité du code de vérification par SMS (secondes)",
|
||||
"foreignApiUrl": "URL de l'API internationale",
|
||||
"foreignApiUrlTip": "Point de terminaison de l'API du service SMS international",
|
||||
"interval": "Intervalle",
|
||||
"intervalTip": "Intervalle d'envoi du code de vérification par SMS pour le même numéro de téléphone (secondes), 0 signifie aucune limite",
|
||||
"limit": "Limite quotidienne",
|
||||
"limitTip": "Limite quotidienne d'envoi de code de vérification par SMS pour le même numéro de téléphone, 0 signifie aucune limite",
|
||||
"logs": "Journaux",
|
||||
"password": "Mot de passe",
|
||||
"passwordTip": "Mot de passe de la plateforme SMS, tel que le Secret de la clé d'accès Aliyun",
|
||||
"placeholders": {
|
||||
"apiUrl": "Entrez l'URL de l'API, par exemple https://api.example.com",
|
||||
"expireTime": "Entrez le temps d'expiration, par défaut 300",
|
||||
"foreignApiUrl": "Entrez l'URL de l'API internationale",
|
||||
"interval": "Entrez le temps d'intervalle, par défaut 60",
|
||||
"limit": "Entrez la limite quotidienne, par défaut 20",
|
||||
"password": "Entrez le mot de passe de la plateforme",
|
||||
"region": "Entrez la région, par exemple cn-hangzhou",
|
||||
"template": "Votre code de vérification est {code}, valable pendant 5 minutes",
|
||||
"templateCode": "Entrez le code du modèle",
|
||||
"templateParam": "Entrez le nom du paramètre, par défaut code",
|
||||
"username": "Entrez le nom d'utilisateur de la plateforme"
|
||||
},
|
||||
"platform": "Plateforme SMS",
|
||||
"platformTip": "Veuillez sélectionner la plateforme SMS",
|
||||
"region": "Région",
|
||||
"regionTip": "Région du service SMS, comme cn-hangzhou pour Aliyun",
|
||||
"search": "Rechercher un numéro de téléphone",
|
||||
"sendFailed": "Échec de l'envoi",
|
||||
"sendSuccess": "Envoi réussi",
|
||||
"settings": "Paramètres",
|
||||
"status": "Statut",
|
||||
"telephone": "Numéro de téléphone",
|
||||
"template": "Modèle SMS",
|
||||
"templateCode": "Code du modèle",
|
||||
"templateCodeTip": "Code de modèle de service SMS",
|
||||
"templateParam": "Paramètre de Modèle",
|
||||
"templateParamTip": "Nom du paramètre variable dans le modèle SMS, par défaut 'code'",
|
||||
"templateTip": "Veuillez remplir le modèle de SMS, gardez {code} au milieu, sinon la fonction SMS ne fonctionnera pas",
|
||||
"testSms": "Envoyer un SMS de test",
|
||||
"testSmsContent": "Ceci est un message de test",
|
||||
"testSmsPhone": "Entrez le numéro de téléphone",
|
||||
"testSmsTip": "Envoyez un SMS de test pour vérifier votre configuration",
|
||||
"updateSuccess": "Mise à jour réussie",
|
||||
"username": "Nom d'utilisateur",
|
||||
"usernameTip": "Nom d'utilisateur de la plateforme SMS, tel que l'ID de clé d'accès Aliyun"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Utilisé uniquement pour l'affichage, toute modification entraînera un changement de toutes les unités monétaires dans le système",
|
||||
"saveSuccess": "Enregistrement réussi"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Modèle de notification d'expiration",
|
||||
"expiration_email_templateDescription": "Les variables {after}.nomDeVariable{before} dans le modèle seront remplacées par des données réelles, veuillez vous assurer de conserver ces variables.",
|
||||
"inputPlaceholder": "Veuillez entrer le contenu...",
|
||||
"maintenance_email_template": "Modèle de notification de maintenance",
|
||||
"maintenance_email_templateDescription": "Les variables {after}.nomDeVariable{before} dans le modèle seront remplacées par des données réelles, veuillez vous assurer de conserver ces variables.",
|
||||
"saveSuccess": "La configuration a été enregistrée avec succès.",
|
||||
"sendFailure": "L'envoi de l'e-mail de test a échoué, veuillez vérifier la configuration.",
|
||||
"sendSuccess": "L'e-mail de test a été envoyé avec succès.",
|
||||
"sendTestEmail": "Envoyer un e-mail de test",
|
||||
"sendTestEmailDescription": "Envoyez un e-mail de test pour vérifier si la configuration est correcte.",
|
||||
"senderAddress": "Adresse de l'expéditeur",
|
||||
"senderAddressDescription": "Adresse e-mail par défaut utilisée pour envoyer des e-mails.",
|
||||
"smtpAccount": "Compte SMTP",
|
||||
"smtpAccountDescription": "Compte e-mail utilisé pour l'authentification.",
|
||||
"smtpEncryptionMethod": "Méthode de chiffrement SMTP",
|
||||
"smtpEncryptionMethodDescription": "Choisissez si vous souhaitez activer le chiffrement SSL/TLS.",
|
||||
"smtpPassword": "Mot de passe SMTP",
|
||||
"smtpPasswordDescription": "Mot de passe pour ce compte SMTP.",
|
||||
"smtpServerAddress": "Adresse du serveur SMTP",
|
||||
"smtpServerAddressDescription": "Spécifiez l'adresse du serveur utilisée pour envoyer des e-mails.",
|
||||
"smtpServerPort": "Port du serveur SMTP",
|
||||
"smtpServerPortDescription": "Spécifiez le numéro de port pour se connecter au serveur SMTP.",
|
||||
"verify_email_template": "Modèle d'e-mail de vérification",
|
||||
"verify_email_templateDescription": "Les variables {after}.nomDeVariable{before} dans le modèle seront remplacées par des données réelles, veuillez vous assurer de conserver ces variables."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Commission uniquement sur le premier achat",
|
||||
"commissionFirstTimeOnlyDescription": "Une fois activé, la commission est générée uniquement lors du premier paiement de l'invité. Vous pouvez configurer chaque utilisateur individuellement dans la gestion des utilisateurs.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Heure de Début",
|
||||
"timeSlot": "Créneau horaire"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Liste blanche des suffixes d'email",
|
||||
"emailSuffixWhitelistDescription": "Une fois activé, seuls les emails avec les suffixes de la liste pourront s'inscrire",
|
||||
"emailVerification": "Vérification de l'email",
|
||||
"emailVerificationDescription": "Une fois activé, les utilisateurs devront vérifier leur email",
|
||||
"ipRegistrationLimit": "Limite d'inscription par IP",
|
||||
"ipRegistrationLimitDescription": "Une fois activé, les IP répondant aux critères seront limitées pour l'inscription. Veuillez noter que la détermination de l'IP peut poser problème en raison du CDN ou du proxy frontal",
|
||||
"penaltyTime": "Temps de pénalité (minutes)",
|
||||
"penaltyTimeDescription": "L'utilisateur doit attendre que le temps de pénalité soit écoulé pour s'inscrire à nouveau",
|
||||
"registrationLimitCount": "Compteur de limite d'inscription",
|
||||
"registrationLimitCountDescription": "Active la pénalité après avoir atteint la limite d'inscription",
|
||||
"saveSuccess": "Enregistrement réussi",
|
||||
"stopNewUserRegistration": "Arrêter l'inscription de nouveaux utilisateurs",
|
||||
"stopNewUserRegistrationDescription": "Une fois activé, personne ne pourra s'inscrire",
|
||||
"trialRegistration": "Inscription d'essai",
|
||||
"trialRegistrationDescription": "Activez l'inscription d'essai, veuillez d'abord modifier le forfait et la durée d'essai",
|
||||
"whitelistSuffixes": "Suffixes de la liste blanche",
|
||||
"whitelistSuffixesDescription": "Utilisé pour la vérification des emails d'inscription, un par ligne",
|
||||
"whitelistSuffixesPlaceholder": "Veuillez entrer les suffixes d'email, un par ligne"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Utilisé pour afficher l'emplacement où le LOGO doit être montré",
|
||||
|
||||
20
apps/admin/locales/hi-IN/auth-control.json
Normal file
20
apps/admin/locales/hi-IN/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "ईमेल प्रत्यय श्वेतसूची",
|
||||
"emailSuffixWhitelistDescription": "जब सक्षम किया जाता है, तो केवल सूची में शामिल प्रत्ययों वाले ईमेल ही पंजीकरण कर सकते हैं",
|
||||
"emailVerification": "ईमेल सत्यापन",
|
||||
"emailVerificationDescription": "सक्षम होने पर, उपयोगकर्ताओं को अपने ईमेल की पुष्टि करनी होगी",
|
||||
"ipRegistrationLimit": "आईपी पंजीकरण सीमा",
|
||||
"ipRegistrationLimitDescription": "जब सक्षम किया जाता है, तो नियम आवश्यकताओं को पूरा करने वाले IPs को पंजीकरण से प्रतिबंधित कर दिया जाएगा; ध्यान दें कि IP निर्धारण CDNs या फ्रंटेंड प्रॉक्सी के कारण समस्याएं उत्पन्न कर सकता है",
|
||||
"penaltyTime": "दंड समय (मिनटों में)",
|
||||
"penaltyTimeDescription": "उपयोगकर्ताओं को फिर से पंजीकरण करने से पहले दंड समय समाप्त होने की प्रतीक्षा करनी होगी",
|
||||
"registrationLimitCount": "पंजीकरण सीमा संख्या",
|
||||
"registrationLimitCountDescription": "पंजीकरण सीमा तक पहुँचने के बाद दंड सक्षम करें",
|
||||
"saveSuccess": "सहेजना सफल हुआ",
|
||||
"stopNewUserRegistration": "नए उपयोगकर्ता पंजीकरण को रोकें",
|
||||
"stopNewUserRegistrationDescription": "सक्रिय होने पर, कोई भी पंजीकरण नहीं कर सकता",
|
||||
"trialRegistration": "परीक्षण पंजीकरण",
|
||||
"trialRegistrationDescription": "परीक्षण पंजीकरण सक्षम करें; पहले परीक्षण पैकेज और अवधि संशोधित करें",
|
||||
"whitelistSuffixes": "श्वेतसूची प्रत्यय",
|
||||
"whitelistSuffixesDescription": "पंजीकरण के दौरान ईमेल सत्यापन के लिए उपयोग किया जाता है; प्रत्येक पंक्ति में एक",
|
||||
"whitelistSuffixesPlaceholder": "ईमेल प्रत्यय दर्ज करें, प्रत्येक पंक्ति में एक"
|
||||
}
|
||||
29
apps/admin/locales/hi-IN/email.json
Normal file
29
apps/admin/locales/hi-IN/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "मूल विन्यास",
|
||||
"emailLogs": "ईमेल लॉग्स",
|
||||
"emailTemplate": "ईमेल टेम्पलेट",
|
||||
"expiration_email_template": "समाप्ति सूचना टेम्पलेट",
|
||||
"expiration_email_templateDescription": "{after}.variable{before} प्लेसहोल्डर को वास्तविक डेटा से बदला जाएगा। सुनिश्चित करें कि इन वेरिएबल्स को बनाए रखें।",
|
||||
"inputPlaceholder": "मान दर्ज करें...",
|
||||
"maintenance_email_template": "रखरखाव सूचना टेम्पलेट",
|
||||
"maintenance_email_templateDescription": "{after}.variable{before} प्लेसहोल्डर को वास्तविक डेटा से बदला जाएगा। सुनिश्चित करें कि इन वेरिएबल्स को बनाए रखें।",
|
||||
"saveSuccess": "विन्यास सफलतापूर्वक सहेजा गया।",
|
||||
"sendFailure": "परीक्षण ईमेल भेजने में विफल, कृपया विन्यास की जाँच करें।",
|
||||
"sendSuccess": "परीक्षण ईमेल सफलतापूर्वक भेजा गया।",
|
||||
"sendTestEmail": "परीक्षण ईमेल भेजें",
|
||||
"sendTestEmailDescription": "कॉन्फ़िगरेशन की पुष्टि के लिए एक परीक्षण ईमेल भेजें।",
|
||||
"senderAddress": "प्रेषक का पता",
|
||||
"senderAddressDescription": "ईमेल भेजने के लिए उपयोग किया जाने वाला डिफ़ॉल्ट ईमेल पता।",
|
||||
"smtpAccount": "एसएमटीपी खाता",
|
||||
"smtpAccountDescription": "प्रमाणीकरण के लिए उपयोग किया जाने वाला ईमेल खाता।",
|
||||
"smtpEncryptionMethod": "SMTP एन्क्रिप्शन विधि",
|
||||
"smtpEncryptionMethodDescription": "SSL/TLS एन्क्रिप्शन को सक्षम करने के लिए चुनें।",
|
||||
"smtpPassword": "SMTP पासवर्ड",
|
||||
"smtpPasswordDescription": "SMTP खाते के लिए पासवर्ड।",
|
||||
"smtpServerAddress": "SMTP सर्वर पता",
|
||||
"smtpServerAddressDescription": "ईमेल भेजने के लिए उपयोग किए जाने वाले सर्वर पते को निर्दिष्ट करें।",
|
||||
"smtpServerPort": "SMTP सर्वर पोर्ट",
|
||||
"smtpServerPortDescription": "SMTP सर्वर से कनेक्ट करने के लिए उपयोग किए जाने वाले पोर्ट को निर्दिष्ट करें।",
|
||||
"verify_email_template": "सत्यापन ईमेल टेम्पलेट",
|
||||
"verify_email_templateDescription": "{after}.variable{before} प्लेसहोल्डर्स को वास्तविक डेटा से बदला जाएगा। सुनिश्चित करें कि इन वेरिएबल्स को बनाए रखें।"
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "घोषणा प्रबंधन",
|
||||
"Apple": "एप्पल आईडी",
|
||||
"Auth Control": "प्रमाणिकरण नियंत्रण",
|
||||
"Coupon Management": "कूपन प्रबंधन",
|
||||
"Dashboard": "डैशबोर्ड",
|
||||
"Document Management": "दस्तावेज़ प्रबंधन",
|
||||
"Email": "ईमेल",
|
||||
"Facebook": "फेसबुक",
|
||||
"Finance": "वित्त",
|
||||
"General": "सामान्य",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "गूगल",
|
||||
"Order Management": "ऑर्डर प्रबंधन",
|
||||
"Payment Config": "भुगतान कॉन्फ़िगरेशन",
|
||||
"Phone Number": "फ़ोन नंबर",
|
||||
"Server": "सर्वर",
|
||||
"Server Management": "सर्वर प्रबंधन",
|
||||
"Settings": "सेटिंग्स",
|
||||
"Subscribe Management": "सदस्यता प्रबंधन",
|
||||
"System Config": "सिस्टम कॉन्फ़िगरेशन",
|
||||
"System Tool": "सिस्टम उपकरण",
|
||||
"Telegram": "टेलीग्राम",
|
||||
"Ticket Management": "टिकट प्रबंधन",
|
||||
"Twitter": "ट्विटर",
|
||||
"User": "उपयोगकर्ता",
|
||||
"User Management": "उपयोगकर्ता प्रबंधन"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/hi-IN/phone.json
Normal file
57
apps/admin/locales/hi-IN/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "एसएमएस लॉग सूची",
|
||||
"apiUrl": "एपीआई यूआरएल",
|
||||
"apiUrlTip": "एसएमएस प्लेटफ़ॉर्म एपीआई एंडपॉइंट",
|
||||
"areaCode": "क्षेत्र कोड",
|
||||
"content": "सामग्री",
|
||||
"createdAt": "भेजने का समय",
|
||||
"enable": "सक्षम करें",
|
||||
"enableTip": "सक्षम करने के बाद, मोबाइल फोन पंजीकरण, लॉगिन, बाइंडिंग, और अनबाइंडिंग कार्यक्षमताएँ सक्षम हो जाएँगी",
|
||||
"expireTime": "समाप्ति समय",
|
||||
"expireTimeTip": "एसएमएस सत्यापन कोड की वैधता अवधि (सेकंड)",
|
||||
"foreignApiUrl": "अंतरराष्ट्रीय एपीआई यूआरएल",
|
||||
"foreignApiUrlTip": "अंतरराष्ट्रीय एसएमएस सेवा एपीआई एंडपॉइंट",
|
||||
"interval": "अंतराल",
|
||||
"intervalTip": "उसी फोन नंबर के लिए एसएमएस सत्यापन कोड भेजने का अंतराल (सेकंड में), 0 का मतलब है कोई सीमा नहीं",
|
||||
"limit": "दैनिक सीमा",
|
||||
"limitTip": "उसी फोन नंबर के लिए दैनिक एसएमएस सत्यापन कोड भेजने की सीमा, 0 का मतलब कोई सीमा नहीं है",
|
||||
"logs": "लॉग्स",
|
||||
"password": "पासवर्ड",
|
||||
"passwordTip": "एसएमएस प्लेटफ़ॉर्म पासवर्ड, जैसे अलीयुन एक्सेस की सीक्रेट",
|
||||
"placeholders": {
|
||||
"apiUrl": "API URL दर्ज करें, जैसे https://api.example.com",
|
||||
"expireTime": "समाप्ति समय दर्ज करें, डिफ़ॉल्ट 300 है",
|
||||
"foreignApiUrl": "अंतरराष्ट्रीय API URL दर्ज करें",
|
||||
"interval": "अंतराल समय दर्ज करें, डिफ़ॉल्ट 60 है",
|
||||
"limit": "दैनिक सीमा दर्ज करें, डिफ़ॉल्ट 20 है",
|
||||
"password": "प्लेटफ़ॉर्म पासवर्ड दर्ज करें",
|
||||
"region": "क्षेत्र दर्ज करें, जैसे cn-hangzhou",
|
||||
"template": "आपका सत्यापन कोड {code} है, 5 मिनट के लिए मान्य",
|
||||
"templateCode": "टेम्पलेट कोड दर्ज करें",
|
||||
"templateParam": "पैरामीटर नाम दर्ज करें, डिफ़ॉल्ट कोड है",
|
||||
"username": "प्लेटफ़ॉर्म उपयोगकर्ता नाम दर्ज करें"
|
||||
},
|
||||
"platform": "एसएमएस प्लेटफॉर्म",
|
||||
"platformTip": "कृपया एसएमएस प्लेटफ़ॉर्म चुनें",
|
||||
"region": "क्षेत्र",
|
||||
"regionTip": "एसएमएस सेवा क्षेत्र, जैसे अलीयुन के लिए cn-hangzhou",
|
||||
"search": "फ़ोन नंबर खोजें",
|
||||
"sendFailed": "भेजना विफल",
|
||||
"sendSuccess": "सफलतापूर्वक भेजा गया",
|
||||
"settings": "सेटिंग्स",
|
||||
"status": "स्थिति",
|
||||
"telephone": "फ़ोन नंबर",
|
||||
"template": "एसएमएस टेम्पलेट",
|
||||
"templateCode": "टेम्पलेट कोड",
|
||||
"templateCodeTip": "एसएमएस सेवा टेम्पलेट कोड",
|
||||
"templateParam": "टेम्पलेट पैरामीटर",
|
||||
"templateParamTip": "एसएमएस टेम्पलेट में परिवर्तनीय पैरामीटर का नाम, डिफ़ॉल्ट रूप से 'कोड' है",
|
||||
"templateTip": "कृपया एसएमएस टेम्पलेट भरें, {code} को बीच में रखें, अन्यथा एसएमएस कार्यक्षमता काम नहीं करेगी",
|
||||
"testSms": "परीक्षण एसएमएस भेजें",
|
||||
"testSmsContent": "यह एक परीक्षण संदेश है",
|
||||
"testSmsPhone": "फ़ोन नंबर दर्ज करें",
|
||||
"testSmsTip": "अपनी कॉन्फ़िगरेशन की पुष्टि करने के लिए एक परीक्षण एसएमएस भेजें",
|
||||
"updateSuccess": "अद्यतन सफल",
|
||||
"username": "उपयोगकर्ता नाम",
|
||||
"usernameTip": "एसएमएस प्लेटफॉर्म उपयोगकर्ता नाम, जैसे अलीयुन एक्सेस की आईडी"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "केवल प्रदर्शन के लिए उपयोग किया जाता है, परिवर्तन के बाद सिस्टम में सभी मुद्रा इकाइयाँ बदल जाएँगी",
|
||||
"saveSuccess": "सफलतापूर्वक सहेजा गया"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "समाप्ति सूचना टेम्पलेट",
|
||||
"expiration_email_templateDescription": "टेम्पलेट में {after}.वेरिएबल नाम{before} को वास्तविक डेटा से बदल दिया जाएगा, कृपया सुनिश्चित करें कि इन वेरिएबल्स को बनाए रखें।",
|
||||
"inputPlaceholder": "कृपया सामग्री दर्ज करें...",
|
||||
"maintenance_email_template": "रखरखाव सूचना टेम्पलेट",
|
||||
"maintenance_email_templateDescription": "टेम्पलेट में {after}.वेरिएबल नाम{before} को वास्तविक डेटा से बदल दिया जाएगा, कृपया सुनिश्चित करें कि इन वेरिएबल्स को बनाए रखें।",
|
||||
"saveSuccess": "कॉन्फ़िगरेशन सफलतापूर्वक सहेजा गया है।",
|
||||
"sendFailure": "परीक्षण ईमेल भेजने में विफल, कृपया कॉन्फ़िगरेशन की जाँच करें।",
|
||||
"sendSuccess": "परीक्षण ईमेल सफलतापूर्वक भेजा गया है।",
|
||||
"sendTestEmail": "परीक्षण ईमेल भेजें",
|
||||
"sendTestEmailDescription": "कॉन्फ़िगरेशन सही है या नहीं, यह सत्यापित करने के लिए एक परीक्षण ईमेल भेजें।",
|
||||
"senderAddress": "प्रेषक का पता",
|
||||
"senderAddressDescription": "ईमेल भेजने के लिए डिफ़ॉल्ट रूप से उपयोग किया जाने वाला ईमेल पता।",
|
||||
"smtpAccount": "SMTP खाता",
|
||||
"smtpAccountDescription": "प्रमाणीकरण के लिए उपयोग किया जाने वाला ईमेल खाता।",
|
||||
"smtpEncryptionMethod": "SMTP एन्क्रिप्शन विधि",
|
||||
"smtpEncryptionMethodDescription": "SSL/TLS एन्क्रिप्शन को सक्षम करने के लिए चुनें।",
|
||||
"smtpPassword": "SMTP पासवर्ड",
|
||||
"smtpPasswordDescription": "इस SMTP खाते का पासवर्ड।",
|
||||
"smtpServerAddress": "SMTP सर्वर पता",
|
||||
"smtpServerAddressDescription": "ईमेल भेजने के लिए उपयोग किए जाने वाले सर्वर पते को निर्दिष्ट करें।",
|
||||
"smtpServerPort": "SMTP सर्वर पोर्ट",
|
||||
"smtpServerPortDescription": "SMTP सर्वर से कनेक्ट करने के लिए उपयोग किए जाने वाले पोर्ट नंबर को निर्दिष्ट करें।",
|
||||
"verify_email_template": "सत्यापन ईमेल टेम्पलेट",
|
||||
"verify_email_templateDescription": "टेम्पलेट में {after}.वेरिएबल नाम{before} को वास्तविक डेटा से बदल दिया जाएगा, कृपया सुनिश्चित करें कि इन वेरिएबल्स को बनाए रखें।"
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "केवल पहली खरीद पर कमीशन",
|
||||
"commissionFirstTimeOnlyDescription": "सक्रिय करने पर, कमीशन केवल तब उत्पन्न होगा जब आमंत्रित व्यक्ति पहली बार भुगतान करेगा। आप उपयोगकर्ता प्रबंधन में व्यक्तिगत उपयोगकर्ता को कॉन्फ़िगर कर सकते हैं।",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "प्रारंभ समय",
|
||||
"timeSlot": "समय स्लॉट"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "ईमेल प्रत्यय श्वेतसूची",
|
||||
"emailSuffixWhitelistDescription": "सक्रिय करने पर, केवल सूची में शामिल प्रत्ययों वाले ईमेल ही पंजीकरण कर सकते हैं",
|
||||
"emailVerification": "ईमेल सत्यापन",
|
||||
"emailVerificationDescription": "सक्रिय करने पर, उपयोगकर्ताओं को अपने ईमेल को सत्यापित करना होगा",
|
||||
"ipRegistrationLimit": "आईपी पंजीकरण सीमा",
|
||||
"ipRegistrationLimitDescription": "सक्रिय करने पर, नियमों के अनुरूप आईपी पंजीकरण सीमित होगा। कृपया ध्यान दें कि सीडीएन या फ्रंट-एंड प्रॉक्सी के कारण आईपी निर्धारण में समस्या हो सकती है",
|
||||
"penaltyTime": "दंड समय (मिनटों में)",
|
||||
"penaltyTimeDescription": "उपयोगकर्ताओं को पुनः पंजीकरण करने से पहले दंड समय समाप्त होने की प्रतीक्षा करनी होगी",
|
||||
"registrationLimitCount": "पंजीकरण सीमा गणना",
|
||||
"registrationLimitCountDescription": "पंजीकरण सीमा तक पहुँचने पर दंड सक्रिय होगा",
|
||||
"saveSuccess": "सफलतापूर्वक सहेजा गया",
|
||||
"stopNewUserRegistration": "नए उपयोगकर्ता पंजीकरण को रोकें",
|
||||
"stopNewUserRegistrationDescription": "सक्रिय करने पर, कोई भी पंजीकरण नहीं कर सकता",
|
||||
"trialRegistration": "परीक्षण पंजीकरण",
|
||||
"trialRegistrationDescription": "परीक्षण पंजीकरण को सक्रिय करें, कृपया पहले परीक्षण योजना और अवधि को संशोधित करें",
|
||||
"whitelistSuffixes": "श्वेतसूची प्रत्यय",
|
||||
"whitelistSuffixesDescription": "पंजीकरण ईमेल सत्यापन के लिए, प्रत्येक पंक्ति में एक",
|
||||
"whitelistSuffixesPlaceholder": "कृपया ईमेल प्रत्यय दर्ज करें, प्रत्येक पंक्ति में एक"
|
||||
},
|
||||
"site": {
|
||||
"logo": "लोगो",
|
||||
"logoDescription": "लोगो प्रदर्शित करने के लिए आवश्यक स्थान",
|
||||
|
||||
20
apps/admin/locales/hu-HU/auth-control.json
Normal file
20
apps/admin/locales/hu-HU/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "E-mail végződés fehérlista",
|
||||
"emailSuffixWhitelistDescription": "Ha engedélyezve van, csak a listán szereplő végződésű e-mailek regisztrálhatnak",
|
||||
"emailVerification": "Email ellenőrzés",
|
||||
"emailVerificationDescription": "Ha engedélyezve van, a felhasználóknak ellenőrizniük kell az e-mail címüket",
|
||||
"ipRegistrationLimit": "IP regisztrációs korlát",
|
||||
"ipRegistrationLimitDescription": "Ha engedélyezve van, azok az IP-k, amelyek megfelelnek a szabály követelményeinek, korlátozva lesznek a regisztrációtól; vegye figyelembe, hogy az IP meghatározása problémákat okozhat a CDN-ek vagy frontend proxyk miatt",
|
||||
"penaltyTime": "Büntetési idő (percben)",
|
||||
"penaltyTimeDescription": "A felhasználóknak meg kell várniuk, amíg a büntetési idő lejár, mielőtt újra regisztrálhatnának",
|
||||
"registrationLimitCount": "Regisztrációs limit száma",
|
||||
"registrationLimitCountDescription": "Büntetés engedélyezése a regisztrációs limit elérése után",
|
||||
"saveSuccess": "Sikeres mentés",
|
||||
"stopNewUserRegistration": "Új felhasználók regisztrációjának leállítása",
|
||||
"stopNewUserRegistrationDescription": "Ha engedélyezve van, senki sem regisztrálhat",
|
||||
"trialRegistration": "Próbaregisztráció",
|
||||
"trialRegistrationDescription": "Engedélyezze a próbaregisztrációt; először módosítsa a próba csomagot és az időtartamot",
|
||||
"whitelistSuffixes": "Engedélyezett utótagok",
|
||||
"whitelistSuffixesDescription": "E-mail ellenőrzéshez használatos a regisztráció során; soronként egy",
|
||||
"whitelistSuffixesPlaceholder": "Adja meg az e-mail végződéseket, soronként egyet"
|
||||
}
|
||||
29
apps/admin/locales/hu-HU/email.json
Normal file
29
apps/admin/locales/hu-HU/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Alapbeállítás",
|
||||
"emailLogs": "Email naplók",
|
||||
"emailTemplate": "Email sablon",
|
||||
"expiration_email_template": "Lejárati Értesítő Sablon",
|
||||
"expiration_email_templateDescription": "A {after}.variable{before} helyőrzőket tényleges adatokkal fogjuk helyettesíteni. Ügyeljen arra, hogy ezeket a változókat megtartsa.",
|
||||
"inputPlaceholder": "Adja meg az értéket...",
|
||||
"maintenance_email_template": "Karbantartási Értesítő Sablon",
|
||||
"maintenance_email_templateDescription": "A {after}.variable{before} helyőrzőket tényleges adatokkal fogjuk helyettesíteni. Ügyeljen arra, hogy ezeket a változókat megtartsa.",
|
||||
"saveSuccess": "A konfiguráció sikeresen mentve.",
|
||||
"sendFailure": "Nem sikerült elküldeni a teszt e-mailt, kérjük, ellenőrizze a beállításokat.",
|
||||
"sendSuccess": "Teszt e-mail sikeresen elküldve.",
|
||||
"sendTestEmail": "Teszt e-mail küldése",
|
||||
"sendTestEmailDescription": "Küldjön egy teszt e-mailt a konfiguráció ellenőrzéséhez.",
|
||||
"senderAddress": "Feladó címe",
|
||||
"senderAddressDescription": "Az alapértelmezett e-mail cím, amelyet az e-mailek küldésére használnak.",
|
||||
"smtpAccount": "SMTP fiók",
|
||||
"smtpAccountDescription": "Az e-mail fiók, amelyet hitelesítésre használnak.",
|
||||
"smtpEncryptionMethod": "SMTP titkosítási módszer",
|
||||
"smtpEncryptionMethodDescription": "Válassza ki, hogy engedélyezi-e az SSL/TLS titkosítást.",
|
||||
"smtpPassword": "SMTP jelszó",
|
||||
"smtpPasswordDescription": "Az SMTP-fiók jelszava.",
|
||||
"smtpServerAddress": "SMTP szerver címe",
|
||||
"smtpServerAddressDescription": "Adja meg az e-mailek küldésére használt szerver címét.",
|
||||
"smtpServerPort": "SMTP szerver port",
|
||||
"smtpServerPortDescription": "Adja meg az SMTP szerverhez való csatlakozáshoz használt portot.",
|
||||
"verify_email_template": "Ellenőrző Email Sablon",
|
||||
"verify_email_templateDescription": "A {after}.variable{before} helyőrzőket tényleges adatokkal fogjuk helyettesíteni. Ügyeljen arra, hogy ezeket a változókat megtartsa."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Hirdetménykezelés",
|
||||
"Apple": "Apple ID",
|
||||
"Auth Control": "Hitelesítési vezérlés",
|
||||
"Coupon Management": "Kuponkezelés",
|
||||
"Dashboard": "Irányítópult",
|
||||
"Document Management": "Dokumentumkezelés",
|
||||
"Email": "E-mail",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Pénzügy",
|
||||
"General": "Általános",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Rendeléskezelés",
|
||||
"Payment Config": "Fizetési beállítások",
|
||||
"Phone Number": "Telefonszám",
|
||||
"Server": "Szolgáltatás",
|
||||
"Server Management": "Szerverkezelés",
|
||||
"Settings": "Beállítások",
|
||||
"Subscribe Management": "Előfizetés kezelése",
|
||||
"System Config": "Rendszerkonfiguráció",
|
||||
"System Tool": "Rendszereszköz",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Jegykezelés",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Felhasználó",
|
||||
"User Management": "Felhasználókezelés"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/hu-HU/phone.json
Normal file
57
apps/admin/locales/hu-HU/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "SMS naplólista",
|
||||
"apiUrl": "API URL",
|
||||
"apiUrlTip": "SMS platform API végpont",
|
||||
"areaCode": "Körzetszám",
|
||||
"content": "Tartalom",
|
||||
"createdAt": "Küldés ideje",
|
||||
"enable": "Engedélyez",
|
||||
"enableTip": "A bekapcsolás után a mobiltelefon regisztráció, bejelentkezés, kötés és oldás funkciók elérhetővé válnak",
|
||||
"expireTime": "Lejárati idő",
|
||||
"expireTimeTip": "Az SMS ellenőrző kód érvényességi ideje (másodpercben)",
|
||||
"foreignApiUrl": "Nemzetközi API URL",
|
||||
"foreignApiUrlTip": "Nemzetközi SMS szolgáltatás API végpontja",
|
||||
"interval": "Intervallum",
|
||||
"intervalTip": "SMS ellenőrző kód küldési intervalluma ugyanarra a telefonszámra (másodpercben), 0 azt jelenti, hogy nincs korlátozás",
|
||||
"limit": "Napi limit",
|
||||
"limitTip": "Napi SMS ellenőrző kód küldési limit ugyanarra a telefonszámra, 0 azt jelenti, hogy nincs korlátozás",
|
||||
"logs": "Naplók",
|
||||
"password": "Jelszó",
|
||||
"passwordTip": "SMS platform jelszó, például Aliyun Access Key Secret",
|
||||
"placeholders": {
|
||||
"apiUrl": "Adja meg az API URL-t, pl. https://api.example.com",
|
||||
"expireTime": "Adja meg a lejárati időt, alapértelmezett érték: 300",
|
||||
"foreignApiUrl": "Adja meg a nemzetközi API URL-t",
|
||||
"interval": "Adja meg az intervallum időt, alapértelmezett 60",
|
||||
"limit": "Adja meg a napi limitet, alapértelmezett 20",
|
||||
"password": "Adja meg a platform jelszavát",
|
||||
"region": "Adja meg a régiót, pl. cn-hangzhou",
|
||||
"template": "Az Ön ellenőrző kódja {code}, érvényes 5 percig",
|
||||
"templateCode": "Adja meg a sablonkódot",
|
||||
"templateParam": "Adja meg a paraméter nevét, alapértelmezett a kód",
|
||||
"username": "Adja meg a platform felhasználónevét"
|
||||
},
|
||||
"platform": "SMS Platform",
|
||||
"platformTip": "Kérjük, válassza ki az SMS platformot",
|
||||
"region": "Régió",
|
||||
"regionTip": "SMS szolgáltatási régió, például cn-hangzhou az Aliyun esetében",
|
||||
"search": "Telefonszám keresése",
|
||||
"sendFailed": "Küldés sikertelen",
|
||||
"sendSuccess": "Sikeres küldés",
|
||||
"settings": "Beállítások",
|
||||
"status": "Állapot",
|
||||
"telephone": "Telefonszám",
|
||||
"template": "SMS sablon",
|
||||
"templateCode": "Sablon kód",
|
||||
"templateCodeTip": "SMS szolgáltatási sablonkód",
|
||||
"templateParam": "Sablon Paraméter",
|
||||
"templateParamTip": "Változó paraméter neve az SMS sablonban, alapértelmezett a 'kód'",
|
||||
"templateTip": "Kérjük, töltse ki az SMS sablont, tartsa meg a {code} elemet középen, különben az SMS funkció nem fog működni",
|
||||
"testSms": "Teszt SMS küldése",
|
||||
"testSmsContent": "Ez egy tesztüzenet",
|
||||
"testSmsPhone": "Adja meg a telefonszámot",
|
||||
"testSmsTip": "Küldjön egy teszt SMS-t a konfiguráció ellenőrzéséhez",
|
||||
"updateSuccess": "Sikeres frissítés",
|
||||
"username": "Felhasználónév",
|
||||
"usernameTip": "SMS platform felhasználónév, például Aliyun Access Key ID"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Csak megjelenítésre használatos, a módosítás után a rendszer összes pénznem egysége megváltozik",
|
||||
"saveSuccess": "Sikeres mentés"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Lejárati értesítő sablon",
|
||||
"expiration_email_templateDescription": "A sablonban található {after}.változónév{before} helyére a tényleges adatok kerülnek, kérjük, győződjön meg róla, hogy ezek a változók megmaradnak.",
|
||||
"inputPlaceholder": "Kérjük, írja be a tartalmat...",
|
||||
"maintenance_email_template": "Karbantartási értesítő sablon",
|
||||
"maintenance_email_templateDescription": "A sablonban található {after}.változónév{before} helyére a tényleges adatok kerülnek, kérjük, győződjön meg róla, hogy ezek a változók megmaradnak.",
|
||||
"saveSuccess": "A konfiguráció sikeresen elmentve.",
|
||||
"sendFailure": "A teszt e-mail küldése sikertelen, kérjük, ellenőrizze a konfigurációt.",
|
||||
"sendSuccess": "A teszt e-mail sikeresen elküldve.",
|
||||
"sendTestEmail": "Teszt e-mail küldése",
|
||||
"sendTestEmailDescription": "Küldjön egy teszt e-mailt a konfiguráció helyességének ellenőrzéséhez.",
|
||||
"senderAddress": "Feladó címe",
|
||||
"senderAddressDescription": "Az alapértelmezett e-mail cím, amelyről az e-mailek küldése történik.",
|
||||
"smtpAccount": "SMTP fiók",
|
||||
"smtpAccountDescription": "Az az e-mail fiók, amelyet azonosításra használnak.",
|
||||
"smtpEncryptionMethod": "SMTP titkosítási mód",
|
||||
"smtpEncryptionMethodDescription": "Válassza ki, hogy engedélyezi-e az SSL/TLS titkosítást.",
|
||||
"smtpPassword": "SMTP jelszó",
|
||||
"smtpPasswordDescription": "Az SMTP fiók jelszava.",
|
||||
"smtpServerAddress": "SMTP szerver címe",
|
||||
"smtpServerAddressDescription": "Adja meg a szerver címét, amelyet az e-mailek küldésére használnak.",
|
||||
"smtpServerPort": "SMTP szerver portja",
|
||||
"smtpServerPortDescription": "Adja meg az SMTP szerverhez való csatlakozás portszámát.",
|
||||
"verify_email_template": "Ellenőrző e-mail sablon",
|
||||
"verify_email_templateDescription": "A sablonban található {after}.változónév{before} helyére a tényleges adatok kerülnek, kérjük, győződjön meg róla, hogy ezek a változók megmaradnak."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Csak az első vásárláskor járó jutalék",
|
||||
"commissionFirstTimeOnlyDescription": "Bekapcsolás után a jutalék csak az első fizetéskor keletkezik. Az egyes felhasználók beállításait a felhasználókezelésben konfigurálhatja.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Kezdési Idő",
|
||||
"timeSlot": "Időpont"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "E-mail végződés fehérlista",
|
||||
"emailSuffixWhitelistDescription": "Bekapcsolás után csak a listában szereplő végződésű e-mailekkel lehet regisztrálni",
|
||||
"emailVerification": "E-mail ellenőrzés",
|
||||
"emailVerificationDescription": "Bekapcsolás után a felhasználóknak ellenőrizniük kell az e-mailjüket",
|
||||
"ipRegistrationLimit": "IP regisztrációs korlátozás",
|
||||
"ipRegistrationLimitDescription": "Bekapcsolás után a szabályoknak megfelelő IP-k regisztrációja korlátozva lesz. Kérjük, vegye figyelembe, hogy a CDN vagy front-end proxy miatt az IP meghatározása problémákat okozhat",
|
||||
"penaltyTime": "Büntetési idő (perc)",
|
||||
"penaltyTimeDescription": "A felhasználóknak meg kell várniuk a büntetési idő leteltét, hogy újra regisztrálhassanak",
|
||||
"registrationLimitCount": "Regisztrációs korlát száma",
|
||||
"registrationLimitCountDescription": "A regisztrációs korlát elérése után a büntetés aktiválódik",
|
||||
"saveSuccess": "Sikeres mentés",
|
||||
"stopNewUserRegistration": "Új felhasználók regisztrációjának leállítása",
|
||||
"stopNewUserRegistrationDescription": "Bekapcsolás után senki sem regisztrálhat",
|
||||
"trialRegistration": "Próbaregisztráció",
|
||||
"trialRegistrationDescription": "Próbaregisztráció engedélyezése, kérjük, először módosítsa a próba csomagot és időtartamot",
|
||||
"whitelistSuffixes": "Fehérlista végződések",
|
||||
"whitelistSuffixesDescription": "E-mail ellenőrzéshez regisztrációkor, soronként egy",
|
||||
"whitelistSuffixesPlaceholder": "Kérjük, adja meg az e-mail végződéseket, soronként egyet"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGÓ",
|
||||
"logoDescription": "A LOGÓ megjelenítésére szolgáló hely",
|
||||
|
||||
20
apps/admin/locales/ja-JP/auth-control.json
Normal file
20
apps/admin/locales/ja-JP/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "メールサフィックスホワイトリスト",
|
||||
"emailSuffixWhitelistDescription": "有効にすると、リストにあるサフィックスを持つメールのみが登録できます",
|
||||
"emailVerification": "メール確認",
|
||||
"emailVerificationDescription": "有効にすると、ユーザーはメールを確認する必要があります",
|
||||
"ipRegistrationLimit": "IP登録制限",
|
||||
"ipRegistrationLimitDescription": "有効にすると、ルール要件を満たすIPは登録が制限されます。ただし、CDNやフロントエンドプロキシの影響でIPの判定に問題が生じる可能性があることに注意してください。",
|
||||
"penaltyTime": "ペナルティ時間(分)",
|
||||
"penaltyTimeDescription": "ユーザーは再登録する前にペナルティ時間が終了するのを待たなければなりません",
|
||||
"registrationLimitCount": "登録制限数",
|
||||
"registrationLimitCountDescription": "登録制限に達した後にペナルティを有効にする",
|
||||
"saveSuccess": "保存に成功しました",
|
||||
"stopNewUserRegistration": "新規ユーザー登録を停止",
|
||||
"stopNewUserRegistrationDescription": "有効にすると、誰も登録できなくなります",
|
||||
"trialRegistration": "試験登録",
|
||||
"trialRegistrationDescription": "トライアル登録を有効にします。まずトライアルパッケージと期間を変更してください",
|
||||
"whitelistSuffixes": "ホワイトリストのサフィックス",
|
||||
"whitelistSuffixesDescription": "登録時のメール確認に使用します。1行につき1つのサフィックスを入力してください。",
|
||||
"whitelistSuffixesPlaceholder": "メールのサフィックスを入力してください。1行につき1つ"
|
||||
}
|
||||
29
apps/admin/locales/ja-JP/email.json
Normal file
29
apps/admin/locales/ja-JP/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "基本設定",
|
||||
"emailLogs": "メールログ",
|
||||
"emailTemplate": "メールテンプレート",
|
||||
"expiration_email_template": "有効期限通知テンプレート",
|
||||
"expiration_email_templateDescription": "{after}.variable{before} のプレースホルダーは実際のデータに置き換えられます。これらの変数を必ず保持してください。",
|
||||
"inputPlaceholder": "値を入力してください...",
|
||||
"maintenance_email_template": "メンテナンス通知テンプレート",
|
||||
"maintenance_email_templateDescription": "{after}.variable{before} のプレースホルダーは実際のデータに置き換えられます。これらの変数を保持してください。",
|
||||
"saveSuccess": "設定が正常に保存されました。",
|
||||
"sendFailure": "テストメールの送信に失敗しました。設定を確認してください。",
|
||||
"sendSuccess": "テストメールが正常に送信されました。",
|
||||
"sendTestEmail": "テストメールを送信",
|
||||
"sendTestEmailDescription": "設定を確認するためにテストメールを送信します。",
|
||||
"senderAddress": "送信者の住所",
|
||||
"senderAddressDescription": "メール送信に使用されるデフォルトのメールアドレス。",
|
||||
"smtpAccount": "SMTPアカウント",
|
||||
"smtpAccountDescription": "認証に使用されるメールアカウント。",
|
||||
"smtpEncryptionMethod": "SMTP暗号化方式",
|
||||
"smtpEncryptionMethodDescription": "SSL/TLS暗号化を有効にするかどうかを選択してください。",
|
||||
"smtpPassword": "SMTPパスワード",
|
||||
"smtpPasswordDescription": "SMTPアカウントのパスワード。",
|
||||
"smtpServerAddress": "SMTPサーバーアドレス",
|
||||
"smtpServerAddressDescription": "メール送信に使用するサーバーアドレスを指定してください。",
|
||||
"smtpServerPort": "SMTPサーバーポート",
|
||||
"smtpServerPortDescription": "SMTPサーバーに接続するために使用するポートを指定してください。",
|
||||
"verify_email_template": "確認メールテンプレート",
|
||||
"verify_email_templateDescription": "{after}.variable{before} のプレースホルダーは実際のデータに置き換えられます。これらの変数を保持してください。"
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "お知らせ管理",
|
||||
"Apple": "Apple ID",
|
||||
"Auth Control": "認証管理",
|
||||
"Coupon Management": "クーポン管理",
|
||||
"Dashboard": "ダッシュボード",
|
||||
"Document Management": "ドキュメント管理",
|
||||
"Email": "メール",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "財務",
|
||||
"General": "一般",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "注文管理",
|
||||
"Payment Config": "支払い設定",
|
||||
"Phone Number": "電話番号",
|
||||
"Server": "サーバー",
|
||||
"Server Management": "サーバー管理",
|
||||
"Settings": "設定",
|
||||
"Subscribe Management": "サブスクリプション管理",
|
||||
"System Config": "システム構成",
|
||||
"System Tool": "システムツール",
|
||||
"Telegram": "テレグラム",
|
||||
"Ticket Management": "チケット管理",
|
||||
"Twitter": "Twitter",
|
||||
"User": "ユーザー",
|
||||
"User Management": "ユーザー管理"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/ja-JP/phone.json
Normal file
57
apps/admin/locales/ja-JP/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "SMSログリスト",
|
||||
"apiUrl": "API URL",
|
||||
"apiUrlTip": "SMSプラットフォームのAPIエンドポイント",
|
||||
"areaCode": "市外局番",
|
||||
"content": "コンテンツ",
|
||||
"createdAt": "送信時間",
|
||||
"enable": "有効にする",
|
||||
"enableTip": "有効にすると、携帯電話の登録、ログイン、バインド、アンバインド機能が有効になります",
|
||||
"expireTime": "有効期限",
|
||||
"expireTimeTip": "SMS認証コードの有効期間(秒)",
|
||||
"foreignApiUrl": "国際API URL",
|
||||
"foreignApiUrlTip": "国際SMSサービスAPIエンドポイント",
|
||||
"interval": "間隔",
|
||||
"intervalTip": "同じ電話番号へのSMS認証コード送信間隔(秒)、0は制限なしを意味します",
|
||||
"limit": "1日の制限",
|
||||
"limitTip": "同一の電話番号に対する1日のSMS認証コード送信制限。0は制限なしを意味します。",
|
||||
"logs": "ログ",
|
||||
"password": "パスワード",
|
||||
"passwordTip": "SMSプラットフォームのパスワード、例えばアリババクラウドのアクセスキーシークレット",
|
||||
"placeholders": {
|
||||
"apiUrl": "API URLを入力してください。例: https://api.example.com",
|
||||
"expireTime": "有効期限を入力してください。デフォルトは300です",
|
||||
"foreignApiUrl": "国際API URLを入力してください",
|
||||
"interval": "間隔時間を入力してください。デフォルトは60です",
|
||||
"limit": "1日の制限を入力してください。デフォルトは20です",
|
||||
"password": "プラットフォームのパスワードを入力してください",
|
||||
"region": "地域を入力してください。例: cn-hangzhou",
|
||||
"template": "あなたの認証コードは{code}です。5分間有効です",
|
||||
"templateCode": "テンプレートコードを入力してください",
|
||||
"templateParam": "パラメーター名を入力してください。デフォルトはcodeです",
|
||||
"username": "プラットフォームのユーザー名を入力してください"
|
||||
},
|
||||
"platform": "SMSプラットフォーム",
|
||||
"platformTip": "SMSプラットフォームを選択してください",
|
||||
"region": "地域",
|
||||
"regionTip": "SMSサービスの地域。例:Aliyunの場合はcn-hangzhou",
|
||||
"search": "電話番号を検索",
|
||||
"sendFailed": "送信に失敗しました",
|
||||
"sendSuccess": "送信成功",
|
||||
"settings": "設定",
|
||||
"status": "ステータス",
|
||||
"telephone": "電話番号",
|
||||
"template": "SMSテンプレート",
|
||||
"templateCode": "テンプレートコード",
|
||||
"templateCodeTip": "SMSサービスのテンプレートコード",
|
||||
"templateParam": "テンプレートパラメータ",
|
||||
"templateParamTip": "SMSテンプレートの変数パラメータ名、デフォルトは「コード」",
|
||||
"templateTip": "SMSテンプレートに記入してください。{code}を中央に保持しないと、SMS機能が動作しません。",
|
||||
"testSms": "テストSMSを送信",
|
||||
"testSmsContent": "これはテストメッセージです",
|
||||
"testSmsPhone": "電話番号を入力してください",
|
||||
"testSmsTip": "設定を確認するためにテストSMSを送信する",
|
||||
"updateSuccess": "更新が成功しました",
|
||||
"username": "ユーザー名",
|
||||
"usernameTip": "SMSプラットフォームのユーザー名、例えばAliyunのアクセスキーID"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "表示のみに使用され、変更するとシステム内のすべての通貨単位が変更されます",
|
||||
"saveSuccess": "保存に成功しました"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "期限切れ通知テンプレート",
|
||||
"expiration_email_templateDescription": "テンプレート内の {after}.変数名{before} は実際のデータに置き換えられます。これらの変数を必ず保持してください。",
|
||||
"inputPlaceholder": "内容を入力してください...",
|
||||
"maintenance_email_template": "メンテナンス通知テンプレート",
|
||||
"maintenance_email_templateDescription": "テンプレート内の {after}.変数名{before} は実際のデータに置き換えられます。これらの変数を必ず保持してください。",
|
||||
"saveSuccess": "設定が正常に保存されました。",
|
||||
"sendFailure": "テストメールの送信に失敗しました。設定を確認してください。",
|
||||
"sendSuccess": "テストメールが正常に送信されました。",
|
||||
"sendTestEmail": "テストメールを送信",
|
||||
"sendTestEmailDescription": "設定が正しいかどうかを確認するためにテストメールを送信します。",
|
||||
"senderAddress": "送信者アドレス",
|
||||
"senderAddressDescription": "メール送信に使用されるデフォルトのメールアドレス。",
|
||||
"smtpAccount": "SMTP アカウント",
|
||||
"smtpAccountDescription": "認証に使用されるメールアカウント。",
|
||||
"smtpEncryptionMethod": "SMTP 暗号化方式",
|
||||
"smtpEncryptionMethodDescription": "SSL/TLS 暗号化を有効にするかどうかを選択します。",
|
||||
"smtpPassword": "SMTP パスワード",
|
||||
"smtpPasswordDescription": "この SMTP アカウントのパスワード。",
|
||||
"smtpServerAddress": "SMTP サーバーアドレス",
|
||||
"smtpServerAddressDescription": "メール送信に使用されるサーバーアドレスを指定します。",
|
||||
"smtpServerPort": "SMTP サーバーポート",
|
||||
"smtpServerPortDescription": "SMTP サーバーに接続するためのポート番号を指定します。",
|
||||
"verify_email_template": "確認メールテンプレート",
|
||||
"verify_email_templateDescription": "テンプレート内の {after}.変数名{before} は実際のデータに置き換えられます。これらの変数を必ず保持してください。"
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "初回購入のみのコミッション",
|
||||
"commissionFirstTimeOnlyDescription": "有効にすると、コミッションは招待者が初めて支払ったときにのみ生成されます。ユーザー管理で個別のユーザーを設定できます。",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "開始時間",
|
||||
"timeSlot": "時間枠"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "メールサフィックスホワイトリスト",
|
||||
"emailSuffixWhitelistDescription": "有効にすると、リスト内のサフィックスを持つメールのみが登録可能になります",
|
||||
"emailVerification": "メール認証",
|
||||
"emailVerificationDescription": "有効にすると、ユーザーはメールを認証する必要があります",
|
||||
"ipRegistrationLimit": "IP登録制限",
|
||||
"ipRegistrationLimitDescription": "有効にすると、ルールに従ったIPは登録が制限されます。CDNやフロントエンドプロキシの影響でIPの判定に問題が生じる可能性があります",
|
||||
"penaltyTime": "ペナルティ時間(分)",
|
||||
"penaltyTimeDescription": "ユーザーはペナルティ時間が経過するまで再登録できません",
|
||||
"registrationLimitCount": "登録制限カウント",
|
||||
"registrationLimitCountDescription": "登録制限に達するとペナルティが有効になります",
|
||||
"saveSuccess": "保存に成功しました",
|
||||
"stopNewUserRegistration": "新規ユーザー登録の停止",
|
||||
"stopNewUserRegistrationDescription": "有効にすると、誰も登録できません",
|
||||
"trialRegistration": "トライアル登録",
|
||||
"trialRegistrationDescription": "トライアル登録を有効にするには、まずトライアルプランと期間を変更してください",
|
||||
"whitelistSuffixes": "ホワイトリストサフィックス",
|
||||
"whitelistSuffixesDescription": "登録メール認証用、1行に1つずつ",
|
||||
"whitelistSuffixesPlaceholder": "メールサフィックスを入力してください、1行に1つずつ"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "LOGOを表示する必要がある場所に使用されます",
|
||||
|
||||
20
apps/admin/locales/ko-KR/auth-control.json
Normal file
20
apps/admin/locales/ko-KR/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "이메일 접미사 허용 목록",
|
||||
"emailSuffixWhitelistDescription": "활성화되면, 목록에 있는 접미사를 가진 이메일만 등록할 수 있습니다",
|
||||
"emailVerification": "이메일 인증",
|
||||
"emailVerificationDescription": "활성화되면 사용자는 이메일을 인증해야 합니다",
|
||||
"ipRegistrationLimit": "IP 등록 제한",
|
||||
"ipRegistrationLimitDescription": "활성화되면 규칙 요구 사항을 충족하는 IP는 등록이 제한됩니다. 단, CDN이나 프론트엔드 프록시로 인해 IP 결정에 문제가 발생할 수 있습니다.",
|
||||
"penaltyTime": "벌칙 시간 (분)",
|
||||
"penaltyTimeDescription": "사용자는 다시 등록하기 전에 페널티 시간이 만료될 때까지 기다려야 합니다",
|
||||
"registrationLimitCount": "등록 제한 수",
|
||||
"registrationLimitCountDescription": "등록 한도에 도달하면 패널티 활성화",
|
||||
"saveSuccess": "저장 성공",
|
||||
"stopNewUserRegistration": "신규 사용자 등록 중지",
|
||||
"stopNewUserRegistrationDescription": "활성화되면 누구도 등록할 수 없습니다",
|
||||
"trialRegistration": "시험 등록",
|
||||
"trialRegistrationDescription": "체험 등록을 활성화합니다. 먼저 체험 패키지와 기간을 수정하세요.",
|
||||
"whitelistSuffixes": "허용 목록 접미사",
|
||||
"whitelistSuffixesDescription": "등록 시 이메일 확인에 사용됩니다. 한 줄에 하나씩 입력하세요.",
|
||||
"whitelistSuffixesPlaceholder": "이메일 접미사를 입력하세요. 한 줄에 하나씩"
|
||||
}
|
||||
29
apps/admin/locales/ko-KR/email.json
Normal file
29
apps/admin/locales/ko-KR/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "기본 구성",
|
||||
"emailLogs": "이메일 로그",
|
||||
"emailTemplate": "이메일 템플릿",
|
||||
"expiration_email_template": "만료 알림 템플릿",
|
||||
"expiration_email_templateDescription": "{after}.variable{before} 자리표시는 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하십시오.",
|
||||
"inputPlaceholder": "값을 입력하세요...",
|
||||
"maintenance_email_template": "유지보수 공지 템플릿",
|
||||
"maintenance_email_templateDescription": "{after}.variable{before} 자리표시자는 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하십시오.",
|
||||
"saveSuccess": "구성이 성공적으로 저장되었습니다.",
|
||||
"sendFailure": "테스트 이메일 전송에 실패했습니다. 설정을 확인해 주세요.",
|
||||
"sendSuccess": "테스트 이메일이 성공적으로 전송되었습니다.",
|
||||
"sendTestEmail": "테스트 이메일 보내기",
|
||||
"sendTestEmailDescription": "구성을 확인하기 위해 테스트 이메일을 보냅니다.",
|
||||
"senderAddress": "발신자 주소",
|
||||
"senderAddressDescription": "이메일을 보낼 때 사용하는 기본 이메일 주소입니다.",
|
||||
"smtpAccount": "SMTP 계정",
|
||||
"smtpAccountDescription": "인증에 사용되는 이메일 계정입니다.",
|
||||
"smtpEncryptionMethod": "SMTP 암호화 방법",
|
||||
"smtpEncryptionMethodDescription": "SSL/TLS 암호화를 활성화할지 선택하세요.",
|
||||
"smtpPassword": "SMTP 비밀번호",
|
||||
"smtpPasswordDescription": "SMTP 계정의 비밀번호입니다.",
|
||||
"smtpServerAddress": "SMTP 서버 주소",
|
||||
"smtpServerAddressDescription": "이메일 전송에 사용되는 서버 주소를 지정하세요.",
|
||||
"smtpServerPort": "SMTP 서버 포트",
|
||||
"smtpServerPortDescription": "SMTP 서버에 연결하는 데 사용되는 포트를 지정하십시오.",
|
||||
"verify_email_template": "이메일 인증 템플릿",
|
||||
"verify_email_templateDescription": "{after}.variable{before} 자리표시는 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하십시오."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "공지 관리",
|
||||
"Apple": "Apple ID",
|
||||
"Auth Control": "인증 제어",
|
||||
"Coupon Management": "쿠폰 관리",
|
||||
"Dashboard": "대시보드",
|
||||
"Document Management": "문서 관리",
|
||||
"Email": "이메일",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "재무",
|
||||
"General": "일반",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "주문 관리",
|
||||
"Payment Config": "결제 구성",
|
||||
"Phone Number": "전화번호",
|
||||
"Server": "서버",
|
||||
"Server Management": "서버 관리",
|
||||
"Settings": "설정",
|
||||
"Subscribe Management": "구독 관리",
|
||||
"System Config": "시스템 구성",
|
||||
"System Tool": "시스템 도구",
|
||||
"Telegram": "텔레그램",
|
||||
"Ticket Management": "티켓 관리",
|
||||
"Twitter": "트위터",
|
||||
"User": "사용자",
|
||||
"User Management": "사용자 관리"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/ko-KR/phone.json
Normal file
57
apps/admin/locales/ko-KR/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "SMS 로그 목록",
|
||||
"apiUrl": "API URL",
|
||||
"apiUrlTip": "SMS 플랫폼 API 엔드포인트",
|
||||
"areaCode": "지역 코드",
|
||||
"content": "콘텐츠",
|
||||
"createdAt": "전송 시간",
|
||||
"enable": "활성화",
|
||||
"enableTip": "활성화 후, 휴대폰 등록, 로그인, 연결 및 연결 해제 기능이 활성화됩니다",
|
||||
"expireTime": "만료 시간",
|
||||
"expireTimeTip": "SMS 인증 코드 유효 기간 (초)",
|
||||
"foreignApiUrl": "국제 API URL",
|
||||
"foreignApiUrlTip": "국제 SMS 서비스 API 엔드포인트",
|
||||
"interval": "간격",
|
||||
"intervalTip": "같은 전화번호로 SMS 인증 코드를 보내는 간격(초), 0은 제한 없음",
|
||||
"limit": "일일 한도",
|
||||
"limitTip": "동일한 전화번호에 대한 일일 SMS 인증 코드 전송 제한, 0은 제한 없음",
|
||||
"logs": "로그",
|
||||
"password": "비밀번호",
|
||||
"passwordTip": "SMS 플랫폼 비밀번호, 예: 알리윈 액세스 키 시크릿",
|
||||
"placeholders": {
|
||||
"apiUrl": "API URL을 입력하세요, 예: https://api.example.com",
|
||||
"expireTime": "만료 시간을 입력하세요. 기본값은 300입니다",
|
||||
"foreignApiUrl": "국제 API URL을 입력하세요",
|
||||
"interval": "간격 시간을 입력하세요, 기본값은 60입니다",
|
||||
"limit": "일일 제한을 입력하세요, 기본값은 20입니다",
|
||||
"password": "플랫폼 비밀번호를 입력하세요",
|
||||
"region": "지역을 입력하세요, 예: cn-hangzhou",
|
||||
"template": "귀하의 인증 코드는 {code}이며, 5분 동안 유효합니다",
|
||||
"templateCode": "템플릿 코드를 입력하세요",
|
||||
"templateParam": "매개변수 이름을 입력하세요, 기본값은 code입니다",
|
||||
"username": "플랫폼 사용자 이름을 입력하세요"
|
||||
},
|
||||
"platform": "SMS 플랫폼",
|
||||
"platformTip": "SMS 플랫폼을 선택하세요",
|
||||
"region": "지역",
|
||||
"regionTip": "SMS 서비스 지역, 예를 들어 Aliyun의 경우 cn-hangzhou",
|
||||
"search": "전화번호 검색",
|
||||
"sendFailed": "전송 실패",
|
||||
"sendSuccess": "전송 성공",
|
||||
"settings": "설정",
|
||||
"status": "상태",
|
||||
"telephone": "전화번호",
|
||||
"template": "SMS 템플릿",
|
||||
"templateCode": "템플릿 코드",
|
||||
"templateCodeTip": "SMS 서비스 템플릿 코드",
|
||||
"templateParam": "템플릿 매개변수",
|
||||
"templateParamTip": "SMS 템플릿의 변수 매개변수 이름, 기본값은 'code'입니다.",
|
||||
"templateTip": "SMS 템플릿을 작성해 주세요. {code}를 중간에 유지해야 SMS 기능이 작동합니다.",
|
||||
"testSms": "테스트 SMS 보내기",
|
||||
"testSmsContent": "이것은 테스트 메시지입니다",
|
||||
"testSmsPhone": "전화번호를 입력하세요",
|
||||
"testSmsTip": "구성을 확인하기 위해 테스트 SMS를 전송하세요",
|
||||
"updateSuccess": "업데이트 성공",
|
||||
"username": "사용자 이름",
|
||||
"usernameTip": "SMS 플랫폼 사용자 이름, 예를 들어 Aliyun 액세스 키 ID"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "표시용으로만 사용되며, 변경 시 시스템 내 모든 통화 단위가 변경됩니다",
|
||||
"saveSuccess": "저장 성공"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "만료 알림 템플릿",
|
||||
"expiration_email_templateDescription": "템플릿의 {after}.변수명{before}은 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하세요.",
|
||||
"inputPlaceholder": "내용을 입력하세요...",
|
||||
"maintenance_email_template": "유지보수 알림 템플릿",
|
||||
"maintenance_email_templateDescription": "템플릿의 {after}.변수명{before}은 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하세요.",
|
||||
"saveSuccess": "구성이 성공적으로 저장되었습니다.",
|
||||
"sendFailure": "테스트 이메일 전송에 실패했습니다. 구성을 확인하세요.",
|
||||
"sendSuccess": "테스트 이메일이 성공적으로 전송되었습니다.",
|
||||
"sendTestEmail": "테스트 이메일 전송",
|
||||
"sendTestEmailDescription": "구성이 올바른지 확인하기 위해 테스트 이메일을 전송합니다.",
|
||||
"senderAddress": "발신자 주소",
|
||||
"senderAddressDescription": "기본적으로 이메일을 보내는 데 사용되는 이메일 주소입니다.",
|
||||
"smtpAccount": "SMTP 계정",
|
||||
"smtpAccountDescription": "인증에 사용되는 이메일 계정입니다.",
|
||||
"smtpEncryptionMethod": "SMTP 암호화 방식",
|
||||
"smtpEncryptionMethodDescription": "SSL/TLS 암호화 사용 여부를 선택하세요.",
|
||||
"smtpPassword": "SMTP 비밀번호",
|
||||
"smtpPasswordDescription": "이 SMTP 계정의 비밀번호입니다.",
|
||||
"smtpServerAddress": "SMTP 서버 주소",
|
||||
"smtpServerAddressDescription": "이메일 전송에 사용되는 서버 주소를 지정합니다.",
|
||||
"smtpServerPort": "SMTP 서버 포트",
|
||||
"smtpServerPortDescription": "SMTP 서버에 연결하는 데 사용되는 포트 번호를 지정합니다.",
|
||||
"verify_email_template": "인증 이메일 템플릿",
|
||||
"verify_email_templateDescription": "템플릿의 {after}.변수명{before}은 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하세요."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "최초 구매 시에만 커미션",
|
||||
"commissionFirstTimeOnlyDescription": "활성화하면, 초대받은 사람이 최초 결제 시에만 커미션이 생성됩니다. 사용자 관리에서 개별 사용자를 구성할 수 있습니다.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "시작 시간",
|
||||
"timeSlot": "시간대"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "이메일 접미사 화이트리스트",
|
||||
"emailSuffixWhitelistDescription": "활성화하면, 목록에 있는 접미사의 이메일만 등록할 수 있습니다.",
|
||||
"emailVerification": "이메일 인증",
|
||||
"emailVerificationDescription": "활성화하면, 사용자는 이메일을 인증해야 합니다.",
|
||||
"ipRegistrationLimit": "IP 등록 제한",
|
||||
"ipRegistrationLimitDescription": "활성화하면, 규칙에 맞는 IP는 등록이 제한됩니다. CDN 또는 프론트엔드 프록시로 인해 IP 확인에 문제가 발생할 수 있습니다.",
|
||||
"penaltyTime": "처벌 시간 (분)",
|
||||
"penaltyTimeDescription": "사용자는 처벌 시간이 지나야 다시 등록할 수 있습니다.",
|
||||
"registrationLimitCount": "등록 제한 횟수",
|
||||
"registrationLimitCountDescription": "등록 제한에 도달하면 처벌이 활성화됩니다.",
|
||||
"saveSuccess": "저장 성공",
|
||||
"stopNewUserRegistration": "신규 사용자 등록 중지",
|
||||
"stopNewUserRegistrationDescription": "활성화하면, 아무도 등록할 수 없습니다.",
|
||||
"trialRegistration": "체험 등록",
|
||||
"trialRegistrationDescription": "체험 등록을 활성화하려면, 먼저 체험 패키지와 기간을 수정하세요.",
|
||||
"whitelistSuffixes": "화이트리스트 접미사",
|
||||
"whitelistSuffixesDescription": "이메일 인증 등록에 사용됩니다. 한 줄에 하나씩 입력하세요.",
|
||||
"whitelistSuffixesPlaceholder": "이메일 접미사를 입력하세요. 한 줄에 하나씩"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "LOGO를 표시해야 하는 위치에 사용됩니다",
|
||||
|
||||
20
apps/admin/locales/no-NO/auth-control.json
Normal file
20
apps/admin/locales/no-NO/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "E-post Suffix Hviteliste",
|
||||
"emailSuffixWhitelistDescription": "Når aktivert, kan kun e-poster med suffikser i listen registrere seg",
|
||||
"emailVerification": "E-postbekreftelse",
|
||||
"emailVerificationDescription": "Når aktivert, må brukere bekrefte e-posten sin",
|
||||
"ipRegistrationLimit": "IP-registreringsgrense",
|
||||
"ipRegistrationLimitDescription": "Når aktivert, vil IP-er som oppfyller regelkravene bli begrenset fra å registrere seg; merk at IP-bestemmelse kan forårsake problemer på grunn av CDNs eller frontend-proxyer",
|
||||
"penaltyTime": "Straffetid (minutter)",
|
||||
"penaltyTimeDescription": "Brukere må vente til straffetiden er utløpt før de kan registrere seg igjen",
|
||||
"registrationLimitCount": "Registreringsgrenseantall",
|
||||
"registrationLimitCountDescription": "Aktiver straff etter å ha nådd registreringsgrensen",
|
||||
"saveSuccess": "Lagring Vellykket",
|
||||
"stopNewUserRegistration": "Stopp ny brukerregistrering",
|
||||
"stopNewUserRegistrationDescription": "Når aktivert, kan ingen registrere seg",
|
||||
"trialRegistration": "Prøve Registrering",
|
||||
"trialRegistrationDescription": "Aktiver prøveabonnement; endre prøvepakke og varighet først",
|
||||
"whitelistSuffixes": "Hvitelistesuffikser",
|
||||
"whitelistSuffixesDescription": "Brukes for e-postbekreftelse under registrering; én per linje",
|
||||
"whitelistSuffixesPlaceholder": "Skriv inn e-postsuffikser, ett per linje"
|
||||
}
|
||||
29
apps/admin/locales/no-NO/email.json
Normal file
29
apps/admin/locales/no-NO/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Grunnleggende konfigurasjon",
|
||||
"emailLogs": "E-postlogger",
|
||||
"emailTemplate": "E-postmal",
|
||||
"expiration_email_template": "Utløpsvarsel Mal",
|
||||
"expiration_email_templateDescription": "Plassholderne {after}.variable{before} vil bli erstattet med faktiske data. Sørg for å beholde disse variablene.",
|
||||
"inputPlaceholder": "Skriv inn verdi...",
|
||||
"maintenance_email_template": "Vedlikeholdsvarsel Mal",
|
||||
"maintenance_email_templateDescription": "Plassholderne {after}.variable{before} vil bli erstattet med faktiske data. Sørg for å beholde disse variablene.",
|
||||
"saveSuccess": "Konfigurasjonen ble lagret.",
|
||||
"sendFailure": "Kunne ikke sende test-e-post, vennligst sjekk konfigurasjonen.",
|
||||
"sendSuccess": "Test-e-post sendt vellykket.",
|
||||
"sendTestEmail": "Send test-e-post",
|
||||
"sendTestEmailDescription": "Send en test-e-post for å verifisere konfigurasjonen.",
|
||||
"senderAddress": "Avsenderadresse",
|
||||
"senderAddressDescription": "Standard e-postadresse som brukes for å sende e-poster.",
|
||||
"smtpAccount": "SMTP-konto",
|
||||
"smtpAccountDescription": "E-postkontoen som brukes for autentisering.",
|
||||
"smtpEncryptionMethod": "SMTP-krypteringsmetode",
|
||||
"smtpEncryptionMethodDescription": "Velg om du vil aktivere SSL/TLS-kryptering.",
|
||||
"smtpPassword": "SMTP-passord",
|
||||
"smtpPasswordDescription": "Passordet for SMTP-kontoen.",
|
||||
"smtpServerAddress": "SMTP-serveradresse",
|
||||
"smtpServerAddressDescription": "Angi serveradressen som brukes for å sende e-poster.",
|
||||
"smtpServerPort": "SMTP-serverport",
|
||||
"smtpServerPortDescription": "Angi porten som brukes til å koble til SMTP-serveren.",
|
||||
"verify_email_template": "Verifikasjons-e-postmal",
|
||||
"verify_email_templateDescription": "Plassholderne {after}.variable{before} vil bli erstattet med faktiske data. Sørg for å beholde disse variablene."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Kunngjøringsadministrasjon",
|
||||
"Apple": "Apple-ID",
|
||||
"Auth Control": "Autentiseringskontroll",
|
||||
"Coupon Management": "Kupongadministrasjon",
|
||||
"Dashboard": "Dashbord",
|
||||
"Document Management": "Dokumenthåndtering",
|
||||
"Email": "E-post",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Finans",
|
||||
"General": "Generell",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Bestillingsadministrasjon",
|
||||
"Payment Config": "Betalingskonfigurasjon",
|
||||
"Phone Number": "Telefonnummer",
|
||||
"Server": "Tjeneste",
|
||||
"Server Management": "Serveradministrasjon",
|
||||
"Settings": "Innstillinger",
|
||||
"Subscribe Management": "Abonnementsadministrasjon",
|
||||
"System Config": "Systemkonfigurasjon",
|
||||
"System Tool": "Systemverktøy",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Billettadministrasjon",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Bruker",
|
||||
"User Management": "Brukeradministrasjon"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/no-NO/phone.json
Normal file
57
apps/admin/locales/no-NO/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "SMS-loggliste",
|
||||
"apiUrl": "API URL",
|
||||
"apiUrlTip": "API-endepunkt for SMS-plattform",
|
||||
"areaCode": "Retningsnummer",
|
||||
"content": "Innhold",
|
||||
"createdAt": "Sendetid",
|
||||
"enable": "Aktiver",
|
||||
"enableTip": "Etter aktivering vil funksjonene for registrering, innlogging, binding og frakobling av mobiltelefon bli aktivert",
|
||||
"expireTime": "Utløpstid",
|
||||
"expireTimeTip": "Gyldighetsperiode for SMS-bekreftelseskode (sekunder)",
|
||||
"foreignApiUrl": "Internasjonal API-URL",
|
||||
"foreignApiUrlTip": "API-endepunkt for internasjonal SMS-tjeneste",
|
||||
"interval": "Intervall",
|
||||
"intervalTip": "SMS-verifiseringskode sendingsintervall for samme telefonnummer (sekunder), 0 betyr ingen begrensning",
|
||||
"limit": "Daglig grense",
|
||||
"limitTip": "Daglig grense for sending av SMS-verifiseringskode til samme telefonnummer, 0 betyr ingen grense",
|
||||
"logs": "Logger",
|
||||
"password": "Passord",
|
||||
"passwordTip": "SMS-plattformens passord, for eksempel Aliyun Access Key Secret",
|
||||
"placeholders": {
|
||||
"apiUrl": "Skriv inn API-URL, f.eks. https://api.example.com",
|
||||
"expireTime": "Skriv inn utløpstid, standard er 300",
|
||||
"foreignApiUrl": "Skriv inn internasjonal API-URL",
|
||||
"interval": "Skriv inn intervalltid, standard er 60",
|
||||
"limit": "Skriv inn daglig grense, standard er 20",
|
||||
"password": "Skriv inn plattformpassord",
|
||||
"region": "Skriv inn region, f.eks. cn-hangzhou",
|
||||
"template": "Din verifiseringskode er {code}, gyldig i 5 minutter",
|
||||
"templateCode": "Skriv inn malkode",
|
||||
"templateParam": "Skriv inn parameternavn, standard er kode",
|
||||
"username": "Skriv inn plattformbrukernavn"
|
||||
},
|
||||
"platform": "SMS-plattform",
|
||||
"platformTip": "Vennligst velg SMS-plattform",
|
||||
"region": "Region",
|
||||
"regionTip": "SMS-tjenesteregion, for eksempel cn-hangzhou for Aliyun",
|
||||
"search": "Søk telefonnummer",
|
||||
"sendFailed": "Sending mislyktes",
|
||||
"sendSuccess": "Sendt Vellykket",
|
||||
"settings": "Innstillinger",
|
||||
"status": "Status",
|
||||
"telephone": "Telefonnummer",
|
||||
"template": "SMS-mal",
|
||||
"templateCode": "Malkode",
|
||||
"templateCodeTip": "SMS-tjenestens mal-kode",
|
||||
"templateParam": "Malparameter",
|
||||
"templateParamTip": "Variabelparameter navn i SMS-mal, standard er 'kode'",
|
||||
"templateTip": "Vennligst fyll ut SMS-malen, behold {code} i midten, ellers vil ikke SMS-funksjonen fungere",
|
||||
"testSms": "Send test-SMS",
|
||||
"testSmsContent": "Dette er en testmelding",
|
||||
"testSmsPhone": "Skriv inn telefonnummer",
|
||||
"testSmsTip": "Send en test-SMS for å verifisere konfigurasjonen din",
|
||||
"updateSuccess": "Oppdatering Vellykket",
|
||||
"username": "Brukernavn",
|
||||
"usernameTip": "SMS-plattform brukernavn, for eksempel Aliyun Access Key ID"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Kun for visningsformål, endring vil påvirke alle valutaenheter i systemet",
|
||||
"saveSuccess": "Lagring vellykket"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Utløpsvarselmal",
|
||||
"expiration_email_templateDescription": "Variabelnavnene {after}.variabelnavn{before} i malen vil bli erstattet med faktiske data, sørg for å beholde disse variablene.",
|
||||
"inputPlaceholder": "Vennligst skriv inn innhold...",
|
||||
"maintenance_email_template": "Vedlikeholdsvarselmal",
|
||||
"maintenance_email_templateDescription": "Variabelnavnene {after}.variabelnavn{before} i malen vil bli erstattet med faktiske data, sørg for å beholde disse variablene.",
|
||||
"saveSuccess": "Konfigurasjonen er lagret.",
|
||||
"sendFailure": "Test-e-posten ble ikke sendt, vennligst sjekk konfigurasjonen.",
|
||||
"sendSuccess": "Test-e-posten ble sendt.",
|
||||
"sendTestEmail": "Send test-e-post",
|
||||
"sendTestEmailDescription": "Send en test-e-post for å verifisere om konfigurasjonen er korrekt.",
|
||||
"senderAddress": "Avsenderadresse",
|
||||
"senderAddressDescription": "Standard e-postadresse som brukes til å sende e-poster.",
|
||||
"smtpAccount": "SMTP-konto",
|
||||
"smtpAccountDescription": "E-postkontoen som brukes for autentisering.",
|
||||
"smtpEncryptionMethod": "SMTP-krypteringsmetode",
|
||||
"smtpEncryptionMethodDescription": "Velg om du vil aktivere SSL/TLS-kryptering.",
|
||||
"smtpPassword": "SMTP-passord",
|
||||
"smtpPasswordDescription": "Passordet for denne SMTP-kontoen.",
|
||||
"smtpServerAddress": "SMTP-serveradresse",
|
||||
"smtpServerAddressDescription": "Spesifiser serveradressen som brukes til å sende e-poster.",
|
||||
"smtpServerPort": "SMTP-serverport",
|
||||
"smtpServerPortDescription": "Spesifiser portnummeret som brukes til å koble til SMTP-serveren.",
|
||||
"verify_email_template": "Verifiseringsmal for e-post",
|
||||
"verify_email_templateDescription": "Variabelnavnene {after}.variabelnavn{before} i malen vil bli erstattet med faktiske data, sørg for å beholde disse variablene."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Kun kommisjon ved første kjøp",
|
||||
"commissionFirstTimeOnlyDescription": "Når aktivert, genereres kommisjon kun ved den første betalingen fra den inviterte. Du kan konfigurere individuelle brukere i brukerstyring",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Starttid",
|
||||
"timeSlot": "Tidsluke"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "E-post suffiks hviteliste",
|
||||
"emailSuffixWhitelistDescription": "Når aktivert, kan kun e-poster med suffikser fra listen registrere seg",
|
||||
"emailVerification": "E-postverifisering",
|
||||
"emailVerificationDescription": "Når aktivert, må brukere verifisere e-posten sin",
|
||||
"ipRegistrationLimit": "IP-registreringsbegrensning",
|
||||
"ipRegistrationLimitDescription": "Når aktivert, vil IP-er som oppfyller regelkravene bli begrenset fra registrering. Vær oppmerksom på at IP-bestemmelse kan forårsake problemer på grunn av CDN eller frontend-proxy",
|
||||
"penaltyTime": "Straffetid (minutter)",
|
||||
"penaltyTimeDescription": "Brukere må vente til straffetiden er over før de kan registrere seg igjen",
|
||||
"registrationLimitCount": "Registreringsbegrensning antall",
|
||||
"registrationLimitCountDescription": "Aktiver straff når registreringsbegrensningen er nådd",
|
||||
"saveSuccess": "Lagret vellykket",
|
||||
"stopNewUserRegistration": "Stopp ny brukerregistrering",
|
||||
"stopNewUserRegistrationDescription": "Når aktivert, kan ingen registrere seg",
|
||||
"trialRegistration": "Prøveperiode registrering",
|
||||
"trialRegistrationDescription": "Aktiver prøveperiode registrering, vennligst endre prøvepakke og varighet først",
|
||||
"whitelistSuffixes": "Hviteliste suffikser",
|
||||
"whitelistSuffixesDescription": "Brukes for e-postverifisering ved registrering, ett per linje",
|
||||
"whitelistSuffixesPlaceholder": "Vennligst skriv inn e-post suffiks, ett per linje"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Brukes til å vise hvor LOGO skal vises",
|
||||
|
||||
20
apps/admin/locales/pl-PL/auth-control.json
Normal file
20
apps/admin/locales/pl-PL/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "Biała lista sufiksów e-mail",
|
||||
"emailSuffixWhitelistDescription": "Po włączeniu, tylko e-maile z sufiksami z listy mogą się rejestrować",
|
||||
"emailVerification": "Weryfikacja e-maila",
|
||||
"emailVerificationDescription": "Po włączeniu użytkownicy będą musieli zweryfikować swój adres e-mail",
|
||||
"ipRegistrationLimit": "Limit rejestracji IP",
|
||||
"ipRegistrationLimitDescription": "Po włączeniu, adresy IP spełniające wymagania reguły będą miały ograniczoną możliwość rejestracji; należy pamiętać, że określanie adresów IP może powodować problemy z powodu użycia CDN-ów lub proxy frontendowych",
|
||||
"penaltyTime": "Czas kary (minuty)",
|
||||
"penaltyTimeDescription": "Użytkownicy muszą poczekać na wygaśnięcie czasu kary, zanim będą mogli zarejestrować się ponownie",
|
||||
"registrationLimitCount": "Limit rejestracji",
|
||||
"registrationLimitCountDescription": "Włącz karę po osiągnięciu limitu rejestracji",
|
||||
"saveSuccess": "Zapisano pomyślnie",
|
||||
"stopNewUserRegistration": "Zatrzymaj rejestrację nowych użytkowników",
|
||||
"stopNewUserRegistrationDescription": "Gdy włączone, nikt nie może się zarejestrować",
|
||||
"trialRegistration": "Rejestracja próbna",
|
||||
"trialRegistrationDescription": "Włącz rejestrację próbną; najpierw zmodyfikuj pakiet próbny i czas trwania",
|
||||
"whitelistSuffixes": "Dozwolone Sufiksy",
|
||||
"whitelistSuffixesDescription": "Używane do weryfikacji adresu e-mail podczas rejestracji; jeden na linię",
|
||||
"whitelistSuffixesPlaceholder": "Wprowadź przyrostki e-mail, jeden na linię"
|
||||
}
|
||||
29
apps/admin/locales/pl-PL/email.json
Normal file
29
apps/admin/locales/pl-PL/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Podstawowa konfiguracja",
|
||||
"emailLogs": "Dzienniki e-mail",
|
||||
"emailTemplate": "Szablon e-maila",
|
||||
"expiration_email_template": "Szablon Powiadomienia o Wygaśnięciu",
|
||||
"expiration_email_templateDescription": "Elementy zastępcze {after}.variable{before} zostaną zastąpione rzeczywistymi danymi. Upewnij się, że te zmienne zostaną zachowane.",
|
||||
"inputPlaceholder": "Wprowadź wartość...",
|
||||
"maintenance_email_template": "Szablon Powiadomienia o Konserwacji",
|
||||
"maintenance_email_templateDescription": "Elementy zastępcze {after}.variable{before} zostaną zastąpione rzeczywistymi danymi. Upewnij się, że te zmienne zostaną zachowane.",
|
||||
"saveSuccess": "Konfiguracja została pomyślnie zapisana.",
|
||||
"sendFailure": "Nie udało się wysłać testowego e-maila, proszę sprawdzić konfigurację.",
|
||||
"sendSuccess": "Testowy e-mail został pomyślnie wysłany.",
|
||||
"sendTestEmail": "Wyślij wiadomość testową",
|
||||
"sendTestEmailDescription": "Wyślij wiadomość testową, aby zweryfikować konfigurację.",
|
||||
"senderAddress": "Adres nadawcy",
|
||||
"senderAddressDescription": "Domyślny adres e-mail używany do wysyłania wiadomości e-mail.",
|
||||
"smtpAccount": "Konto SMTP",
|
||||
"smtpAccountDescription": "Konto e-mail używane do uwierzytelniania.",
|
||||
"smtpEncryptionMethod": "Metoda szyfrowania SMTP",
|
||||
"smtpEncryptionMethodDescription": "Wybierz, czy włączyć szyfrowanie SSL/TLS.",
|
||||
"smtpPassword": "Hasło SMTP",
|
||||
"smtpPasswordDescription": "Hasło do konta SMTP.",
|
||||
"smtpServerAddress": "Adres serwera SMTP",
|
||||
"smtpServerAddressDescription": "Określ adres serwera używanego do wysyłania e-maili.",
|
||||
"smtpServerPort": "Port serwera SMTP",
|
||||
"smtpServerPortDescription": "Określ port używany do połączenia z serwerem SMTP.",
|
||||
"verify_email_template": "Szablon e-maila weryfikacyjnego",
|
||||
"verify_email_templateDescription": "Elementy zastępcze {after}.variable{before} zostaną zastąpione rzeczywistymi danymi. Upewnij się, że te zmienne zostaną zachowane."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Zarządzanie ogłoszeniami",
|
||||
"Apple": "Identyfikator Apple",
|
||||
"Auth Control": "Kontrola autoryzacji",
|
||||
"Coupon Management": "Zarządzanie kuponami",
|
||||
"Dashboard": "Pulpit",
|
||||
"Document Management": "Zarządzanie dokumentami",
|
||||
"Email": "E-mail",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Finanse",
|
||||
"General": "Ogólne",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Zarządzanie zamówieniami",
|
||||
"Payment Config": "Konfiguracja płatności",
|
||||
"Phone Number": "Numer telefonu",
|
||||
"Server": "Serwer",
|
||||
"Server Management": "Zarządzanie serwerem",
|
||||
"Settings": "Ustawienia",
|
||||
"Subscribe Management": "Zarządzanie subskrypcjami",
|
||||
"System Config": "Konfiguracja systemu",
|
||||
"System Tool": "Narzędzie systemowe",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Zarządzanie zgłoszeniami",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Użytkownik",
|
||||
"User Management": "Zarządzanie użytkownikami"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/pl-PL/phone.json
Normal file
57
apps/admin/locales/pl-PL/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "Lista dziennika SMS",
|
||||
"apiUrl": "URL interfejsu API",
|
||||
"apiUrlTip": "Punkt końcowy API platformy SMS",
|
||||
"areaCode": "Kod obszaru",
|
||||
"content": "Treść",
|
||||
"createdAt": "Czas wysłania",
|
||||
"enable": "Włącz",
|
||||
"enableTip": "Po włączeniu zostaną aktywowane funkcje rejestracji, logowania, wiązania i odwiązywania telefonu komórkowego",
|
||||
"expireTime": "Czas wygaśnięcia",
|
||||
"expireTimeTip": "Okres ważności kodu weryfikacyjnego SMS (sekundy)",
|
||||
"foreignApiUrl": "Międzynarodowy URL API",
|
||||
"foreignApiUrlTip": "Punkt końcowy API międzynarodowej usługi SMS",
|
||||
"interval": "Interwał",
|
||||
"intervalTip": "Interwał wysyłania kodu weryfikacyjnego SMS dla tego samego numeru telefonu (w sekundach), 0 oznacza brak ograniczeń",
|
||||
"limit": "Dzienne ograniczenie",
|
||||
"limitTip": "Dzienny limit wysyłania kodów weryfikacyjnych SMS dla tego samego numeru telefonu, 0 oznacza brak limitu",
|
||||
"logs": "Dzienniki",
|
||||
"password": "Hasło",
|
||||
"passwordTip": "Hasło platformy SMS, takie jak Aliyun Access Key Secret",
|
||||
"placeholders": {
|
||||
"apiUrl": "Wprowadź URL API, np. https://api.example.com",
|
||||
"expireTime": "Wprowadź czas wygaśnięcia, domyślnie 300",
|
||||
"foreignApiUrl": "Wprowadź międzynarodowy URL API",
|
||||
"interval": "Wprowadź czas interwału, domyślnie 60",
|
||||
"limit": "Wprowadź dzienny limit, domyślnie 20",
|
||||
"password": "Wprowadź hasło do platformy",
|
||||
"region": "Wprowadź region, np. cn-hangzhou",
|
||||
"template": "Twój kod weryfikacyjny to {code}, ważny przez 5 minut",
|
||||
"templateCode": "Wprowadź kod szablonu",
|
||||
"templateParam": "Wprowadź nazwę parametru, domyślnie kod",
|
||||
"username": "Wprowadź nazwę użytkownika platformy"
|
||||
},
|
||||
"platform": "Platforma SMS",
|
||||
"platformTip": "Proszę wybrać platformę SMS",
|
||||
"region": "Region",
|
||||
"regionTip": "Region usługi SMS, na przykład cn-hangzhou dla Aliyun",
|
||||
"search": "Wyszukaj numer telefonu",
|
||||
"sendFailed": "Wysyłanie nie powiodło się",
|
||||
"sendSuccess": "Wysłano pomyślnie",
|
||||
"settings": "Ustawienia",
|
||||
"status": "Status",
|
||||
"telephone": "Numer telefonu",
|
||||
"template": "Szablon SMS",
|
||||
"templateCode": "Kod szablonu",
|
||||
"templateCodeTip": "Kod szablonu usługi SMS",
|
||||
"templateParam": "Parametr Szablonu",
|
||||
"templateParamTip": "Nazwa zmiennej parametru w szablonie SMS, domyślnie 'kod'",
|
||||
"templateTip": "Proszę wypełnić szablon SMS, zachowując {code} w środku, w przeciwnym razie funkcja SMS nie będzie działać",
|
||||
"testSms": "Wyślij testowy SMS",
|
||||
"testSmsContent": "To jest wiadomość testowa",
|
||||
"testSmsPhone": "Wprowadź numer telefonu",
|
||||
"testSmsTip": "Wyślij testowy SMS, aby zweryfikować swoją konfigurację",
|
||||
"updateSuccess": "Aktualizacja zakończona pomyślnie",
|
||||
"username": "Nazwa użytkownika",
|
||||
"usernameTip": "Nazwa użytkownika platformy SMS, na przykład Aliyun Access Key ID"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Używane wyłącznie do celów wyświetlania, po zmianie wszystkie jednostki walutowe w systemie zostaną zmienione",
|
||||
"saveSuccess": "Zapisano pomyślnie"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Szablon powiadomienia o wygaśnięciu",
|
||||
"expiration_email_templateDescription": "Zmienne {after}.nazwa_zmiennej{before} w szablonie zostaną zastąpione rzeczywistymi danymi, upewnij się, że zachowasz te zmienne.",
|
||||
"inputPlaceholder": "Wprowadź treść...",
|
||||
"maintenance_email_template": "Szablon powiadomienia o konserwacji",
|
||||
"maintenance_email_templateDescription": "Zmienne {after}.nazwa_zmiennej{before} w szablonie zostaną zastąpione rzeczywistymi danymi, upewnij się, że zachowasz te zmienne.",
|
||||
"saveSuccess": "Konfiguracja została pomyślnie zapisana.",
|
||||
"sendFailure": "Wysłanie testowego e-maila nie powiodło się, sprawdź konfigurację.",
|
||||
"sendSuccess": "Testowy e-mail został pomyślnie wysłany.",
|
||||
"sendTestEmail": "Wyślij testowy e-mail",
|
||||
"sendTestEmailDescription": "Wyślij testowy e-mail, aby sprawdzić, czy konfiguracja jest poprawna.",
|
||||
"senderAddress": "Adres nadawcy",
|
||||
"senderAddressDescription": "Domyślny adres e-mail używany do wysyłania wiadomości.",
|
||||
"smtpAccount": "Konto SMTP",
|
||||
"smtpAccountDescription": "Konto e-mail używane do uwierzytelniania.",
|
||||
"smtpEncryptionMethod": "Metoda szyfrowania SMTP",
|
||||
"smtpEncryptionMethodDescription": "Wybierz, czy włączyć szyfrowanie SSL/TLS.",
|
||||
"smtpPassword": "Hasło SMTP",
|
||||
"smtpPasswordDescription": "Hasło do tego konta SMTP.",
|
||||
"smtpServerAddress": "Adres serwera SMTP",
|
||||
"smtpServerAddressDescription": "Określ adres serwera używanego do wysyłania wiadomości e-mail.",
|
||||
"smtpServerPort": "Port serwera SMTP",
|
||||
"smtpServerPortDescription": "Określ numer portu używanego do łączenia się z serwerem SMTP.",
|
||||
"verify_email_template": "Szablon weryfikacji e-mail",
|
||||
"verify_email_templateDescription": "Zmienne {after}.nazwa_zmiennej{before} w szablonie zostaną zastąpione rzeczywistymi danymi, upewnij się, że zachowasz te zmienne."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Prowizja tylko przy pierwszym zakupie",
|
||||
"commissionFirstTimeOnlyDescription": "Po włączeniu, prowizja jest generowana tylko przy pierwszej płatności zaproszonego użytkownika. Możesz skonfigurować indywidualnych użytkowników w zarządzaniu użytkownikami.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Czas rozpoczęcia",
|
||||
"timeSlot": "Przedział czasowy"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Biała lista sufiksów e-mail",
|
||||
"emailSuffixWhitelistDescription": "Po włączeniu, tylko e-maile z sufiksami z listy będą mogły się zarejestrować",
|
||||
"emailVerification": "Weryfikacja e-mail",
|
||||
"emailVerificationDescription": "Po włączeniu, użytkownicy będą musieli zweryfikować swoje e-maile",
|
||||
"ipRegistrationLimit": "Limit rejestracji IP",
|
||||
"ipRegistrationLimitDescription": "Po włączeniu, IP spełniające wymagania reguł będą miały ograniczoną możliwość rejestracji. Proszę pamiętać, że z powodu CDN lub proxy front-end, określenie IP może powodować problemy",
|
||||
"penaltyTime": "Czas kary (minuty)",
|
||||
"penaltyTimeDescription": "Użytkownik musi poczekać, aż czas kary minie, aby móc zarejestrować się ponownie",
|
||||
"registrationLimitCount": "Licznik limitu rejestracji",
|
||||
"registrationLimitCountDescription": "Po osiągnięciu limitu rejestracji włącza się kara",
|
||||
"saveSuccess": "Zapisano pomyślnie",
|
||||
"stopNewUserRegistration": "Zatrzymaj rejestrację nowych użytkowników",
|
||||
"stopNewUserRegistrationDescription": "Po włączeniu, nikt nie będzie mógł się zarejestrować",
|
||||
"trialRegistration": "Rejestracja próbna",
|
||||
"trialRegistrationDescription": "Włącz rejestrację próbną, najpierw zmodyfikuj pakiet próbny i czas trwania",
|
||||
"whitelistSuffixes": "Sufiksy białej listy",
|
||||
"whitelistSuffixesDescription": "Używane do weryfikacji e-mail przy rejestracji, jeden na linię",
|
||||
"whitelistSuffixesPlaceholder": "Proszę wprowadzić sufiksy e-mail, jeden na linię"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Miejsce do wyświetlania LOGO",
|
||||
|
||||
20
apps/admin/locales/pt-BR/auth-control.json
Normal file
20
apps/admin/locales/pt-BR/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "Lista de Sufixos de Email Permitidos",
|
||||
"emailSuffixWhitelistDescription": "Quando ativado, apenas e-mails com sufixos na lista podem se registrar",
|
||||
"emailVerification": "Verificação de Email",
|
||||
"emailVerificationDescription": "Quando ativado, os usuários precisarão verificar seu e-mail",
|
||||
"ipRegistrationLimit": "Limite de Registro de IP",
|
||||
"ipRegistrationLimitDescription": "Quando ativado, IPs que atendem aos requisitos da regra serão restritos de se registrarem; observe que a determinação de IP pode causar problemas devido a CDNs ou proxies de frontend",
|
||||
"penaltyTime": "Tempo de Penalidade (minutos)",
|
||||
"penaltyTimeDescription": "Os usuários devem aguardar o tempo de penalidade expirar antes de se registrarem novamente",
|
||||
"registrationLimitCount": "Contagem de Limite de Inscrição",
|
||||
"registrationLimitCountDescription": "Ativar penalidade após atingir o limite de inscrições",
|
||||
"saveSuccess": "Salvo com sucesso",
|
||||
"stopNewUserRegistration": "Parar Registro de Novo Usuário",
|
||||
"stopNewUserRegistrationDescription": "Quando ativado, ninguém pode se registrar",
|
||||
"trialRegistration": "Registro de Teste",
|
||||
"trialRegistrationDescription": "Habilitar registro de teste; modifique o pacote de teste e a duração primeiro",
|
||||
"whitelistSuffixes": "Sufixos de Lista Branca",
|
||||
"whitelistSuffixesDescription": "Usado para verificação de e-mail durante o registro; um por linha",
|
||||
"whitelistSuffixesPlaceholder": "Digite os sufixos de e-mail, um por linha"
|
||||
}
|
||||
29
apps/admin/locales/pt-BR/email.json
Normal file
29
apps/admin/locales/pt-BR/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Configuração Básica",
|
||||
"emailLogs": "Registros de Email",
|
||||
"emailTemplate": "Modelo de Email",
|
||||
"expiration_email_template": "Modelo de Aviso de Expiração",
|
||||
"expiration_email_templateDescription": "Os marcadores {after}.variable{before} serão substituídos por dados reais. Certifique-se de manter essas variáveis.",
|
||||
"inputPlaceholder": "Digite o valor...",
|
||||
"maintenance_email_template": "Modelo de Aviso de Manutenção",
|
||||
"maintenance_email_templateDescription": "Os marcadores {after}.variable{before} serão substituídos por dados reais. Certifique-se de manter essas variáveis.",
|
||||
"saveSuccess": "Configuração salva com sucesso.",
|
||||
"sendFailure": "Falha ao enviar o e-mail de teste, por favor verifique a configuração.",
|
||||
"sendSuccess": "E-mail de teste enviado com sucesso.",
|
||||
"sendTestEmail": "Enviar E-mail de Teste",
|
||||
"sendTestEmailDescription": "Envie um e-mail de teste para verificar a configuração.",
|
||||
"senderAddress": "Endereço do Remetente",
|
||||
"senderAddressDescription": "O endereço de e-mail padrão usado para enviar e-mails.",
|
||||
"smtpAccount": "Conta SMTP",
|
||||
"smtpAccountDescription": "A conta de e-mail usada para autenticação.",
|
||||
"smtpEncryptionMethod": "Método de Criptografia SMTP",
|
||||
"smtpEncryptionMethodDescription": "Escolha se deseja habilitar a criptografia SSL/TLS.",
|
||||
"smtpPassword": "Senha SMTP",
|
||||
"smtpPasswordDescription": "A senha para a conta SMTP.",
|
||||
"smtpServerAddress": "Endereço do Servidor SMTP",
|
||||
"smtpServerAddressDescription": "Especifique o endereço do servidor usado para enviar e-mails.",
|
||||
"smtpServerPort": "Porta do Servidor SMTP",
|
||||
"smtpServerPortDescription": "Especifique a porta usada para conectar ao servidor SMTP.",
|
||||
"verify_email_template": "Modelo de E-mail de Verificação",
|
||||
"verify_email_templateDescription": "Os marcadores {after}.variable{before} serão substituídos por dados reais. Certifique-se de manter essas variáveis."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Gerenciamento de Anúncios",
|
||||
"Apple": "ID Apple",
|
||||
"Auth Control": "Controle de Autenticação",
|
||||
"Coupon Management": "Gerenciamento de Cupons",
|
||||
"Dashboard": "Painel de Controle",
|
||||
"Document Management": "Gerenciamento de Documentos",
|
||||
"Email": "E-mail",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Finanças",
|
||||
"General": "Geral",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Gerenciamento de Pedidos",
|
||||
"Payment Config": "Configuração de Pagamento",
|
||||
"Phone Number": "Número de Telefone",
|
||||
"Server": "Servidor",
|
||||
"Server Management": "Gerenciamento de Servidor",
|
||||
"Settings": "Configurações",
|
||||
"Subscribe Management": "Gerenciamento de Assinaturas",
|
||||
"System Config": "Configuração do Sistema",
|
||||
"System Tool": "Ferramenta do Sistema",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Gerenciamento de Chamados",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Usuário",
|
||||
"User Management": "Gerenciamento de Usuários"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/pt-BR/phone.json
Normal file
57
apps/admin/locales/pt-BR/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "Lista de Registro de SMS",
|
||||
"apiUrl": "URL da API",
|
||||
"apiUrlTip": "Ponto de extremidade da API da plataforma de SMS",
|
||||
"areaCode": "Código de Área",
|
||||
"content": "Conteúdo",
|
||||
"createdAt": "Hora de Envio",
|
||||
"enable": "Habilitar",
|
||||
"enableTip": "Após a ativação, as funções de registro, login, vinculação e desvinculação de telefone celular serão ativadas",
|
||||
"expireTime": "Tempo de Expiração",
|
||||
"expireTimeTip": "Período de validade do código de verificação por SMS (segundos)",
|
||||
"foreignApiUrl": "URL da API Internacional",
|
||||
"foreignApiUrlTip": "Ponto de extremidade da API do serviço de SMS internacional",
|
||||
"interval": "Intervalo",
|
||||
"intervalTip": "Intervalo de envio do código de verificação por SMS para o mesmo número de telefone (segundos), 0 significa sem limite",
|
||||
"limit": "Limite Diário",
|
||||
"limitTip": "Limite diário de envio de código de verificação por SMS para o mesmo número de telefone, 0 significa sem limite",
|
||||
"logs": "Registros",
|
||||
"password": "Senha",
|
||||
"passwordTip": "Senha da plataforma de SMS, como o Aliyun Access Key Secret",
|
||||
"placeholders": {
|
||||
"apiUrl": "Insira a URL da API, por exemplo, https://api.example.com",
|
||||
"expireTime": "Insira o tempo de expiração, o padrão é 300",
|
||||
"foreignApiUrl": "Insira a URL da API internacional",
|
||||
"interval": "Insira o tempo de intervalo, o padrão é 60",
|
||||
"limit": "Insira o limite diário, o padrão é 20",
|
||||
"password": "Insira a senha da plataforma",
|
||||
"region": "Insira a região, por exemplo, cn-hangzhou",
|
||||
"template": "Seu código de verificação é {code}, válido por 5 minutos",
|
||||
"templateCode": "Insira o código do modelo",
|
||||
"templateParam": "Insira o nome do parâmetro, o padrão é código",
|
||||
"username": "Insira o nome de usuário da plataforma"
|
||||
},
|
||||
"platform": "Plataforma de SMS",
|
||||
"platformTip": "Por favor, selecione a plataforma de SMS",
|
||||
"region": "Região",
|
||||
"regionTip": "Região do serviço de SMS, como cn-hangzhou para Aliyun",
|
||||
"search": "Pesquisar número de telefone",
|
||||
"sendFailed": "Envio Falhou",
|
||||
"sendSuccess": "Envio bem-sucedido",
|
||||
"settings": "Configurações",
|
||||
"status": "Status",
|
||||
"telephone": "Número de Telefone",
|
||||
"template": "Modelo de SMS",
|
||||
"templateCode": "Código do Modelo",
|
||||
"templateCodeTip": "Código do modelo de serviço SMS",
|
||||
"templateParam": "Parâmetro de Modelo",
|
||||
"templateParamTip": "Nome do parâmetro variável no modelo de SMS, o padrão é 'código'",
|
||||
"templateTip": "Por favor, preencha o modelo de SMS, mantenha {code} no meio, caso contrário, a função de SMS não funcionará",
|
||||
"testSms": "Enviar SMS de Teste",
|
||||
"testSmsContent": "Esta é uma mensagem de teste",
|
||||
"testSmsPhone": "Digite o número de telefone",
|
||||
"testSmsTip": "Envie um SMS de teste para verificar sua configuração",
|
||||
"updateSuccess": "Atualização bem-sucedida",
|
||||
"username": "Nome de usuário",
|
||||
"usernameTip": "Nome de usuário da plataforma SMS, como o ID da Chave de Acesso da Aliyun"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Usado apenas para exibição, após a alteração todas as unidades monetárias no sistema serão alteradas",
|
||||
"saveSuccess": "Salvo com sucesso"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Modelo de Notificação de Expiração",
|
||||
"expiration_email_templateDescription": "Os nomes das variáveis {after}.variável{before} no modelo serão substituídos por dados reais, certifique-se de manter essas variáveis.",
|
||||
"inputPlaceholder": "Por favor, insira o conteúdo...",
|
||||
"maintenance_email_template": "Modelo de Notificação de Manutenção",
|
||||
"maintenance_email_templateDescription": "Os nomes das variáveis {after}.variável{before} no modelo serão substituídos por dados reais, certifique-se de manter essas variáveis.",
|
||||
"saveSuccess": "Configuração salva com sucesso.",
|
||||
"sendFailure": "Falha ao enviar e-mail de teste, verifique a configuração.",
|
||||
"sendSuccess": "E-mail de teste enviado com sucesso.",
|
||||
"sendTestEmail": "Enviar e-mail de teste",
|
||||
"sendTestEmailDescription": "Envie um e-mail de teste para verificar se a configuração está correta.",
|
||||
"senderAddress": "Endereço do Remetente",
|
||||
"senderAddressDescription": "Endereço de e-mail padrão usado para enviar e-mails.",
|
||||
"smtpAccount": "Conta SMTP",
|
||||
"smtpAccountDescription": "Conta de e-mail usada para autenticação.",
|
||||
"smtpEncryptionMethod": "Método de Criptografia SMTP",
|
||||
"smtpEncryptionMethodDescription": "Escolha se deseja habilitar a criptografia SSL/TLS.",
|
||||
"smtpPassword": "Senha SMTP",
|
||||
"smtpPasswordDescription": "Senha da conta SMTP.",
|
||||
"smtpServerAddress": "Endereço do Servidor SMTP",
|
||||
"smtpServerAddressDescription": "Especifique o endereço do servidor usado para enviar e-mails.",
|
||||
"smtpServerPort": "Porta do Servidor SMTP",
|
||||
"smtpServerPortDescription": "Especifique o número da porta para conectar ao servidor SMTP.",
|
||||
"verify_email_template": "Modelo de E-mail de Verificação",
|
||||
"verify_email_templateDescription": "Os nomes das variáveis {after}.variável{before} no modelo serão substituídos por dados reais, certifique-se de manter essas variáveis."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Comissão apenas na primeira compra",
|
||||
"commissionFirstTimeOnlyDescription": "Ao ativar, a comissão será gerada apenas no primeiro pagamento do convidado. Você pode configurar individualmente no gerenciamento de usuários.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Hora de Início",
|
||||
"timeSlot": "Horário"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Lista branca de sufixos de e-mail",
|
||||
"emailSuffixWhitelistDescription": "Ao ativar, apenas e-mails com sufixos na lista poderão se registrar",
|
||||
"emailVerification": "Verificação de e-mail",
|
||||
"emailVerificationDescription": "Ao ativar, os usuários precisarão verificar seus e-mails",
|
||||
"ipRegistrationLimit": "Limite de registro por IP",
|
||||
"ipRegistrationLimitDescription": "Ao ativar, IPs que atendem aos requisitos das regras serão limitados no registro. Observe que a determinação de IP pode causar problemas devido a CDN ou proxy frontal",
|
||||
"penaltyTime": "Tempo de penalidade (minutos)",
|
||||
"penaltyTimeDescription": "Os usuários devem esperar o tempo de penalidade passar para se registrar novamente",
|
||||
"registrationLimitCount": "Contagem de limite de registro",
|
||||
"registrationLimitCountDescription": "Ativa a penalidade após atingir o limite de registro",
|
||||
"saveSuccess": "Salvo com sucesso",
|
||||
"stopNewUserRegistration": "Parar registro de novos usuários",
|
||||
"stopNewUserRegistrationDescription": "Ao ativar, ninguém poderá se registrar",
|
||||
"trialRegistration": "Registro de teste",
|
||||
"trialRegistrationDescription": "Ativar registro de teste, por favor, modifique primeiro o pacote de teste e a duração",
|
||||
"whitelistSuffixes": "Sufixos da lista branca",
|
||||
"whitelistSuffixesDescription": "Usado para verificação de e-mail de registro, um por linha",
|
||||
"whitelistSuffixesPlaceholder": "Por favor, insira o sufixo de e-mail, um por linha"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Usado para exibir a posição onde o LOGO precisa ser mostrado",
|
||||
|
||||
@ -10,22 +10,25 @@ export default getRequestConfig(async () => {
|
||||
const locale = cookieLocale || defaultLocale || NEXT_PUBLIC_DEFAULT_LANGUAGE;
|
||||
|
||||
const messages = {
|
||||
language: (await import(`./${locale}/language.json`)).default,
|
||||
menu: (await import(`./${locale}/menu.json`)).default,
|
||||
auth: (await import(`./${locale}/auth.json`)).default,
|
||||
common: (await import(`./${locale}/common.json`)).default,
|
||||
system: (await import(`./${locale}/system.json`)).default,
|
||||
payment: (await import(`./${locale}/payment.json`)).default,
|
||||
server: (await import(`./${locale}/server.json`)).default,
|
||||
subscribe: (await import(`./${locale}/subscribe.json`)).default,
|
||||
order: (await import(`./${locale}/order.json`)).default,
|
||||
coupon: (await import(`./${locale}/coupon.json`)).default,
|
||||
user: (await import(`./${locale}/user.json`)).default,
|
||||
announcement: (await import(`./${locale}/announcement.json`)).default,
|
||||
ticket: (await import(`./${locale}/ticket.json`)).default,
|
||||
document: (await import(`./${locale}/document.json`)).default,
|
||||
tool: (await import(`./${locale}/tool.json`)).default,
|
||||
index: (await import(`./${locale}/index.json`)).default,
|
||||
'language': (await import(`./${locale}/language.json`)).default,
|
||||
'menu': (await import(`./${locale}/menu.json`)).default,
|
||||
'auth': (await import(`./${locale}/auth.json`)).default,
|
||||
'common': (await import(`./${locale}/common.json`)).default,
|
||||
'system': (await import(`./${locale}/system.json`)).default,
|
||||
'auth-control': (await import(`./${locale}/auth-control.json`)).default,
|
||||
'email': (await import(`./${locale}/email.json`)).default,
|
||||
'phone': (await import(`./${locale}/phone.json`)).default,
|
||||
'payment': (await import(`./${locale}/payment.json`)).default,
|
||||
'server': (await import(`./${locale}/server.json`)).default,
|
||||
'subscribe': (await import(`./${locale}/subscribe.json`)).default,
|
||||
'order': (await import(`./${locale}/order.json`)).default,
|
||||
'coupon': (await import(`./${locale}/coupon.json`)).default,
|
||||
'user': (await import(`./${locale}/user.json`)).default,
|
||||
'announcement': (await import(`./${locale}/announcement.json`)).default,
|
||||
'ticket': (await import(`./${locale}/ticket.json`)).default,
|
||||
'document': (await import(`./${locale}/document.json`)).default,
|
||||
'tool': (await import(`./${locale}/tool.json`)).default,
|
||||
'index': (await import(`./${locale}/index.json`)).default,
|
||||
};
|
||||
|
||||
return {
|
||||
|
||||
20
apps/admin/locales/ro-RO/auth-control.json
Normal file
20
apps/admin/locales/ro-RO/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "Lista albă a sufixelor de email",
|
||||
"emailSuffixWhitelistDescription": "Când este activată, doar e-mailurile cu sufixe din listă se pot înregistra",
|
||||
"emailVerification": "Verificare Email",
|
||||
"emailVerificationDescription": "Când este activată, utilizatorii vor trebui să-și verifice emailul",
|
||||
"ipRegistrationLimit": "Limită de înregistrare IP",
|
||||
"ipRegistrationLimitDescription": "Când este activată, IP-urile care îndeplinesc cerințele regulii vor fi restricționate de la înregistrare; rețineți că determinarea IP-ului poate cauza probleme din cauza CDN-urilor sau a proxy-urilor frontend",
|
||||
"penaltyTime": "Timp de penalizare (minute)",
|
||||
"penaltyTimeDescription": "Utilizatorii trebuie să aștepte expirarea timpului de penalizare înainte de a se înregistra din nou",
|
||||
"registrationLimitCount": "Număr limită de înregistrări",
|
||||
"registrationLimitCountDescription": "Activează penalizarea după atingerea limitei de înregistrare",
|
||||
"saveSuccess": "Salvare reușită",
|
||||
"stopNewUserRegistration": "Opriți înregistrarea utilizatorilor noi",
|
||||
"stopNewUserRegistrationDescription": "Când este activat, nimeni nu se poate înregistra",
|
||||
"trialRegistration": "Înregistrare Proces",
|
||||
"trialRegistrationDescription": "Permite înregistrarea pentru încercare; modifică mai întâi pachetul și durata încercării",
|
||||
"whitelistSuffixes": "Sufixe pe lista albă",
|
||||
"whitelistSuffixesDescription": "Folosit pentru verificarea emailului în timpul înregistrării; unul pe linie",
|
||||
"whitelistSuffixesPlaceholder": "Introduceți sufixele de e-mail, câte unul pe linie"
|
||||
}
|
||||
29
apps/admin/locales/ro-RO/email.json
Normal file
29
apps/admin/locales/ro-RO/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Configurație de bază",
|
||||
"emailLogs": "Jurnale de e-mail",
|
||||
"emailTemplate": "Șablon de e-mail",
|
||||
"expiration_email_template": "Șablon de Notificare a Expirării",
|
||||
"expiration_email_templateDescription": "Locurile rezervate {after}.variable{before} vor fi înlocuite cu date reale. Asigurați-vă că păstrați aceste variabile.",
|
||||
"inputPlaceholder": "Introduceți valoarea...",
|
||||
"maintenance_email_template": "Șablon de Notificare pentru Mentenanță",
|
||||
"maintenance_email_templateDescription": "Locurile rezervate {after}.variable{before} vor fi înlocuite cu date reale. Asigurați-vă că păstrați aceste variabile.",
|
||||
"saveSuccess": "Configurarea a fost salvată cu succes.",
|
||||
"sendFailure": "Trimiterea e-mailului de test a eșuat, vă rugăm să verificați configurația.",
|
||||
"sendSuccess": "Emailul de test a fost trimis cu succes.",
|
||||
"sendTestEmail": "Trimite Email de Test",
|
||||
"sendTestEmailDescription": "Trimite un e-mail de test pentru a verifica configurația.",
|
||||
"senderAddress": "Adresa Expeditorului",
|
||||
"senderAddressDescription": "Adresa de email implicită folosită pentru trimiterea emailurilor.",
|
||||
"smtpAccount": "Cont SMTP",
|
||||
"smtpAccountDescription": "Contul de e-mail utilizat pentru autentificare.",
|
||||
"smtpEncryptionMethod": "Metoda de criptare SMTP",
|
||||
"smtpEncryptionMethodDescription": "Alegeți dacă doriți să activați criptarea SSL/TLS.",
|
||||
"smtpPassword": "Parolă SMTP",
|
||||
"smtpPasswordDescription": "Parola pentru contul SMTP.",
|
||||
"smtpServerAddress": "Adresa serverului SMTP",
|
||||
"smtpServerAddressDescription": "Specificați adresa serverului utilizată pentru trimiterea e-mailurilor.",
|
||||
"smtpServerPort": "Port server SMTP",
|
||||
"smtpServerPortDescription": "Specificați portul utilizat pentru a vă conecta la serverul SMTP.",
|
||||
"verify_email_template": "Șablon de e-mail pentru verificare",
|
||||
"verify_email_templateDescription": "Locurile rezervate {after}.variable{before} vor fi înlocuite cu date reale. Asigurați-vă că păstrați aceste variabile."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Managementul Anunțurilor",
|
||||
"Apple": "ID Apple",
|
||||
"Auth Control": "Control Autentificare",
|
||||
"Coupon Management": "Managementul Cuponului",
|
||||
"Dashboard": "Tablou de bord",
|
||||
"Document Management": "Managementul documentelor",
|
||||
"Email": "E-mail",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Finanțe",
|
||||
"General": "General",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Gestionarea comenzilor",
|
||||
"Payment Config": "Configurație Plată",
|
||||
"Phone Number": "Număr de telefon",
|
||||
"Server": "Serviciu",
|
||||
"Server Management": "Managementul serverului",
|
||||
"Settings": "Setări",
|
||||
"Subscribe Management": "Gestionarea abonamentelor",
|
||||
"System Config": "Configurația sistemului",
|
||||
"System Tool": "Instrumente de sistem",
|
||||
"Telegram": "Telegram",
|
||||
"Ticket Management": "Gestionarea Biletelor",
|
||||
"Twitter": "Twitter",
|
||||
"User": "Utilizator",
|
||||
"User Management": "Gestionarea Utilizatorilor"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/ro-RO/phone.json
Normal file
57
apps/admin/locales/ro-RO/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "Listă Jurnal SMS",
|
||||
"apiUrl": "URL API",
|
||||
"apiUrlTip": "Punct final API al platformei SMS",
|
||||
"areaCode": "Prefix telefonic",
|
||||
"content": "Conținut",
|
||||
"createdAt": "Ora trimiterii",
|
||||
"enable": "Activează",
|
||||
"enableTip": "După activare, funcțiile de înregistrare, autentificare, asociere și disociere a telefonului mobil vor fi activate",
|
||||
"expireTime": "Timp de expirare",
|
||||
"expireTimeTip": "Perioada de valabilitate a codului de verificare prin SMS (secunde)",
|
||||
"foreignApiUrl": "URL API Internațional",
|
||||
"foreignApiUrlTip": "Punct final API pentru serviciul internațional de SMS-uri",
|
||||
"interval": "Interval",
|
||||
"intervalTip": "Intervalul de trimitere a codului de verificare prin SMS pentru același număr de telefon (secunde), 0 înseamnă fără limită",
|
||||
"limit": "Limită zilnică",
|
||||
"limitTip": "Limita zilnică de trimitere a codului de verificare prin SMS pentru același număr de telefon, 0 înseamnă fără limită",
|
||||
"logs": "Jurnale",
|
||||
"password": "Parolă",
|
||||
"passwordTip": "Parola platformei SMS, cum ar fi Aliyun Access Key Secret",
|
||||
"placeholders": {
|
||||
"apiUrl": "Introduceți URL-ul API, de exemplu https://api.example.com",
|
||||
"expireTime": "Introduceți timpul de expirare, implicit este 300",
|
||||
"foreignApiUrl": "Introduceți URL-ul API internațional",
|
||||
"interval": "Introduceți timpul de interval, implicit este 60",
|
||||
"limit": "Introduceți limita zilnică, implicit este 20",
|
||||
"password": "Introduceți parola platformei",
|
||||
"region": "Introduceți regiunea, de exemplu cn-hangzhou",
|
||||
"template": "Codul dumneavoastră de verificare este {code}, valabil timp de 5 minute",
|
||||
"templateCode": "Introduceți codul șablonului",
|
||||
"templateParam": "Introduceți numele parametrului, implicit este cod",
|
||||
"username": "Introduceți numele de utilizator al platformei"
|
||||
},
|
||||
"platform": "Platformă SMS",
|
||||
"platformTip": "Vă rugăm să selectați platforma SMS",
|
||||
"region": "Regiune",
|
||||
"regionTip": "Regiunea serviciului SMS, cum ar fi cn-hangzhou pentru Aliyun",
|
||||
"search": "Caută număr de telefon",
|
||||
"sendFailed": "Trimitere eșuată",
|
||||
"sendSuccess": "Trimitere reușită",
|
||||
"settings": "Setări",
|
||||
"status": "Stare",
|
||||
"telephone": "Număr de telefon",
|
||||
"template": "Șablon SMS",
|
||||
"templateCode": "Cod Șablon",
|
||||
"templateCodeTip": "Codul șablonului serviciului SMS",
|
||||
"templateParam": "Parametru Șablon",
|
||||
"templateParamTip": "Numele parametrului variabil în șablonul SMS, implicit este 'cod'",
|
||||
"templateTip": "Vă rugăm să completați șablonul SMS, păstrați {code} în mijloc, altfel funcția SMS nu va funcționa",
|
||||
"testSms": "Trimite SMS de test",
|
||||
"testSmsContent": "Acesta este un mesaj de test",
|
||||
"testSmsPhone": "Introduceți numărul de telefon",
|
||||
"testSmsTip": "Trimite un SMS de test pentru a verifica configurația ta",
|
||||
"updateSuccess": "Actualizare reușită",
|
||||
"username": "Nume utilizator",
|
||||
"usernameTip": "Nume de utilizator al platformei SMS, cum ar fi ID-ul cheii de acces Aliyun"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Utilizat doar pentru afișare, după modificare toate unitățile monetare din sistem vor fi schimbate",
|
||||
"saveSuccess": "Salvare reușită"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Șablon notificare expirare",
|
||||
"expiration_email_templateDescription": "Variabilele {after}.numeVariabilă{before} din șablon vor fi înlocuite cu datele reale, asigurați-vă că păstrați aceste variabile.",
|
||||
"inputPlaceholder": "Vă rugăm să introduceți conținutul...",
|
||||
"maintenance_email_template": "Șablon notificare întreținere",
|
||||
"maintenance_email_templateDescription": "Variabilele {after}.numeVariabilă{before} din șablon vor fi înlocuite cu datele reale, asigurați-vă că păstrați aceste variabile.",
|
||||
"saveSuccess": "Configurația a fost salvată cu succes.",
|
||||
"sendFailure": "Trimiterea e-mailului de test a eșuat, vă rugăm să verificați configurația.",
|
||||
"sendSuccess": "E-mailul de test a fost trimis cu succes.",
|
||||
"sendTestEmail": "Trimite e-mail de test",
|
||||
"sendTestEmailDescription": "Trimiteți un e-mail de test pentru a verifica dacă configurația este corectă.",
|
||||
"senderAddress": "Adresa expeditorului",
|
||||
"senderAddressDescription": "Adresa de e-mail implicită utilizată pentru trimiterea e-mailurilor.",
|
||||
"smtpAccount": "Cont SMTP",
|
||||
"smtpAccountDescription": "Contul de e-mail utilizat pentru autentificare.",
|
||||
"smtpEncryptionMethod": "Metoda de criptare SMTP",
|
||||
"smtpEncryptionMethodDescription": "Selectați dacă doriți să activați criptarea SSL/TLS.",
|
||||
"smtpPassword": "Parola SMTP",
|
||||
"smtpPasswordDescription": "Parola pentru acest cont SMTP.",
|
||||
"smtpServerAddress": "Adresa serverului SMTP",
|
||||
"smtpServerAddressDescription": "Specificați adresa serverului utilizat pentru trimiterea e-mailurilor.",
|
||||
"smtpServerPort": "Portul serverului SMTP",
|
||||
"smtpServerPortDescription": "Specificați numărul portului utilizat pentru conectarea la serverul SMTP.",
|
||||
"verify_email_template": "Șablon e-mail de verificare",
|
||||
"verify_email_templateDescription": "Variabilele {after}.numeVariabilă{before} din șablon vor fi înlocuite cu datele reale, asigurați-vă că păstrați aceste variabile."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Comision doar la prima achiziție",
|
||||
"commissionFirstTimeOnlyDescription": "După activare, comisionul este generat doar la prima plată a persoanei invitate. Puteți configura utilizatori individuali în gestionarea utilizatorilor.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Ora de Începere",
|
||||
"timeSlot": "Interval de timp"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Lista albă a sufixelor de e-mail",
|
||||
"emailSuffixWhitelistDescription": "După activare, doar e-mailurile cu sufixele din listă vor putea să se înregistreze",
|
||||
"emailVerification": "Verificare e-mail",
|
||||
"emailVerificationDescription": "După activare, utilizatorii vor trebui să-și verifice e-mailul",
|
||||
"ipRegistrationLimit": "Limită de înregistrare IP",
|
||||
"ipRegistrationLimitDescription": "După activare, IP-urile care îndeplinesc cerințele regulilor vor fi restricționate de la înregistrare. Vă rugăm să rețineți că, din cauza CDN-ului sau a proxy-ului frontal, determinarea IP-ului poate cauza probleme",
|
||||
"penaltyTime": "Timp de penalizare (minute)",
|
||||
"penaltyTimeDescription": "Utilizatorii trebuie să aștepte să treacă timpul de penalizare pentru a se putea înregistra din nou",
|
||||
"registrationLimitCount": "Număr limită de înregistrări",
|
||||
"registrationLimitCountDescription": "După atingerea limitei de înregistrare, se activează penalizarea",
|
||||
"saveSuccess": "Salvare reușită",
|
||||
"stopNewUserRegistration": "Oprire înregistrare utilizatori noi",
|
||||
"stopNewUserRegistrationDescription": "După activare, nimeni nu se poate înregistra",
|
||||
"trialRegistration": "Înregistrare de probă",
|
||||
"trialRegistrationDescription": "Activați înregistrarea de probă, vă rugăm să modificați mai întâi pachetul și durata de probă",
|
||||
"whitelistSuffixes": "Sufixe listă albă",
|
||||
"whitelistSuffixesDescription": "Pentru verificarea e-mailului la înregistrare, câte unul pe linie",
|
||||
"whitelistSuffixesPlaceholder": "Vă rugăm să introduceți sufixele de e-mail, câte unul pe linie"
|
||||
},
|
||||
"site": {
|
||||
"logo": "LOGO",
|
||||
"logoDescription": "Utilizat pentru a afișa locația unde trebuie să fie prezentat LOGO-ul",
|
||||
|
||||
20
apps/admin/locales/ru-RU/auth-control.json
Normal file
20
apps/admin/locales/ru-RU/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "Белый список суффиксов электронной почты",
|
||||
"emailSuffixWhitelistDescription": "Когда включено, только электронные письма с суффиксами из списка могут регистрироваться",
|
||||
"emailVerification": "Подтверждение электронной почты",
|
||||
"emailVerificationDescription": "Когда включено, пользователям необходимо будет подтвердить свой адрес электронной почты",
|
||||
"ipRegistrationLimit": "Лимит регистрации по IP",
|
||||
"ipRegistrationLimitDescription": "Когда включено, IP-адреса, соответствующие требованиям правила, будут ограничены в регистрации; обратите внимание, что определение IP-адреса может вызвать проблемы из-за CDN или фронтенд-прокси",
|
||||
"penaltyTime": "Время штрафа (минуты)",
|
||||
"penaltyTimeDescription": "Пользователи должны дождаться истечения времени штрафа, прежде чем снова зарегистрироваться",
|
||||
"registrationLimitCount": "Лимит количества регистраций",
|
||||
"registrationLimitCountDescription": "Включить штраф после достижения лимита регистрации",
|
||||
"saveSuccess": "Сохранение успешно",
|
||||
"stopNewUserRegistration": "Остановить регистрацию новых пользователей",
|
||||
"stopNewUserRegistrationDescription": "Когда включено, никто не может зарегистрироваться",
|
||||
"trialRegistration": "Регистрация на испытание",
|
||||
"trialRegistrationDescription": "Включить регистрацию пробной версии; сначала измените пробный пакет и продолжительность",
|
||||
"whitelistSuffixes": "Белый список суффиксов",
|
||||
"whitelistSuffixesDescription": "Используется для проверки электронной почты при регистрации; по одному на строку",
|
||||
"whitelistSuffixesPlaceholder": "Введите суффиксы электронной почты, по одному на строку"
|
||||
}
|
||||
29
apps/admin/locales/ru-RU/email.json
Normal file
29
apps/admin/locales/ru-RU/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "Базовая конфигурация",
|
||||
"emailLogs": "Журналы электронной почты",
|
||||
"emailTemplate": "Шаблон электронной почты",
|
||||
"expiration_email_template": "Шаблон уведомления об истечении срока",
|
||||
"expiration_email_templateDescription": "Заполнители {after}.variable{before} будут заменены фактическими данными. Убедитесь, что эти переменные сохранены.",
|
||||
"inputPlaceholder": "Введите значение...",
|
||||
"maintenance_email_template": "Шаблон уведомления о техническом обслуживании",
|
||||
"maintenance_email_templateDescription": "Заполнители {after}.variable{before} будут заменены на фактические данные. Убедитесь, что эти переменные сохранены.",
|
||||
"saveSuccess": "Конфигурация успешно сохранена.",
|
||||
"sendFailure": "Не удалось отправить тестовое письмо, пожалуйста, проверьте настройки.",
|
||||
"sendSuccess": "Тестовое письмо успешно отправлено.",
|
||||
"sendTestEmail": "Отправить тестовое письмо",
|
||||
"sendTestEmailDescription": "Отправьте тестовое письмо, чтобы проверить конфигурацию.",
|
||||
"senderAddress": "Адрес отправителя",
|
||||
"senderAddressDescription": "Адрес электронной почты по умолчанию, используемый для отправки писем.",
|
||||
"smtpAccount": "Учетная запись SMTP",
|
||||
"smtpAccountDescription": "Учетная запись электронной почты, используемая для аутентификации.",
|
||||
"smtpEncryptionMethod": "Метод шифрования SMTP",
|
||||
"smtpEncryptionMethodDescription": "Выберите, включить ли шифрование SSL/TLS.",
|
||||
"smtpPassword": "Пароль SMTP",
|
||||
"smtpPasswordDescription": "Пароль для учетной записи SMTP.",
|
||||
"smtpServerAddress": "Адрес SMTP сервера",
|
||||
"smtpServerAddressDescription": "Укажите адрес сервера, используемого для отправки электронных писем.",
|
||||
"smtpServerPort": "Порт SMTP сервера",
|
||||
"smtpServerPortDescription": "Укажите порт, используемый для подключения к SMTP-серверу.",
|
||||
"verify_email_template": "Шаблон письма для подтверждения",
|
||||
"verify_email_templateDescription": "Заполнители {after}.variable{before} будут заменены фактическими данными. Убедитесь, что эти переменные сохранены."
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "Управление объявлениями",
|
||||
"Apple": "Apple ID",
|
||||
"Auth Control": "Управление аутентификацией",
|
||||
"Coupon Management": "Управление купонами",
|
||||
"Dashboard": "Панель управления",
|
||||
"Document Management": "Управление документами",
|
||||
"Email": "Электронная почта",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "Финансы",
|
||||
"General": "Общий",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "Управление заказами",
|
||||
"Payment Config": "Настройки оплаты",
|
||||
"Phone Number": "Номер телефона",
|
||||
"Server": "Сервер",
|
||||
"Server Management": "Управление сервером",
|
||||
"Settings": "Настройки",
|
||||
"Subscribe Management": "Управление подписками",
|
||||
"System Config": "Системная конфигурация",
|
||||
"System Tool": "Системные инструменты",
|
||||
"Telegram": "Телеграм",
|
||||
"Ticket Management": "Управление заявками",
|
||||
"Twitter": "Твиттер",
|
||||
"User": "Пользователь",
|
||||
"User Management": "Управление пользователями"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/ru-RU/phone.json
Normal file
57
apps/admin/locales/ru-RU/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "Список журнала SMS",
|
||||
"apiUrl": "URL API",
|
||||
"apiUrlTip": "Конечная точка API платформы SMS",
|
||||
"areaCode": "Код региона",
|
||||
"content": "Содержание",
|
||||
"createdAt": "Время отправки",
|
||||
"enable": "Включить",
|
||||
"enableTip": "После включения будут доступны функции регистрации, входа, привязки и отвязки мобильного телефона",
|
||||
"expireTime": "Время истечения",
|
||||
"expireTimeTip": "Срок действия кода подтверждения по SMS (в секундах)",
|
||||
"foreignApiUrl": "Международный URL API",
|
||||
"foreignApiUrlTip": "Конечная точка API международного SMS-сервиса",
|
||||
"interval": "Интервал",
|
||||
"intervalTip": "Интервал отправки SMS-кода подтверждения для одного и того же номера телефона (в секундах), 0 означает отсутствие ограничений",
|
||||
"limit": "Дневной лимит",
|
||||
"limitTip": "Дневной лимит отправки SMS-кодов подтверждения на один и тот же номер телефона, 0 означает отсутствие лимита",
|
||||
"logs": "Журналы",
|
||||
"password": "Пароль",
|
||||
"passwordTip": "Пароль платформы SMS, например, секретный ключ доступа Aliyun",
|
||||
"placeholders": {
|
||||
"apiUrl": "Введите URL API, например, https://api.example.com",
|
||||
"expireTime": "Введите время истечения, по умолчанию 300",
|
||||
"foreignApiUrl": "Введите международный URL API",
|
||||
"interval": "Введите интервал времени, по умолчанию 60",
|
||||
"limit": "Введите дневной лимит, по умолчанию 20",
|
||||
"password": "Введите пароль платформы",
|
||||
"region": "Введите регион, например, cn-hangzhou",
|
||||
"template": "Ваш проверочный код: {code}, действителен в течение 5 минут",
|
||||
"templateCode": "Введите код шаблона",
|
||||
"templateParam": "Введите имя параметра, по умолчанию code",
|
||||
"username": "Введите имя пользователя платформы"
|
||||
},
|
||||
"platform": "Платформа SMS",
|
||||
"platformTip": "Пожалуйста, выберите платформу SMS",
|
||||
"region": "Регион",
|
||||
"regionTip": "Регион службы SMS, например, cn-hangzhou для Aliyun",
|
||||
"search": "Поиск номера телефона",
|
||||
"sendFailed": "Не удалось отправить",
|
||||
"sendSuccess": "Успешно отправлено",
|
||||
"settings": "Настройки",
|
||||
"status": "Статус",
|
||||
"telephone": "Номер телефона",
|
||||
"template": "Шаблон SMS",
|
||||
"templateCode": "Код шаблона",
|
||||
"templateCodeTip": "Код шаблона SMS-сервиса",
|
||||
"templateParam": "Параметр шаблона",
|
||||
"templateParamTip": "Имя переменной параметра в шаблоне SMS, по умолчанию 'code'",
|
||||
"templateTip": "Пожалуйста, заполните шаблон SMS, оставьте {code} в середине, иначе функция SMS не будет работать",
|
||||
"testSms": "Отправить тестовое SMS",
|
||||
"testSmsContent": "Это тестовое сообщение",
|
||||
"testSmsPhone": "Введите номер телефона",
|
||||
"testSmsTip": "Отправьте тестовое SMS, чтобы проверить вашу конфигурацию",
|
||||
"updateSuccess": "Обновление успешно",
|
||||
"username": "Имя пользователя",
|
||||
"usernameTip": "Имя пользователя платформы SMS, например, Aliyun Access Key ID"
|
||||
}
|
||||
@ -8,32 +8,6 @@
|
||||
"currencyUnitDescription": "Используется только для отображения, после изменения все валютные единицы в системе будут изменены",
|
||||
"saveSuccess": "Успешно сохранено"
|
||||
},
|
||||
"email": {
|
||||
"expiration_email_template": "Шаблон уведомления об истечении срока",
|
||||
"expiration_email_templateDescription": "Переменные {after}.имя_переменной{before} в шаблоне будут заменены фактическими данными, пожалуйста, убедитесь, что эти переменные сохранены.",
|
||||
"inputPlaceholder": "Пожалуйста, введите содержимое...",
|
||||
"maintenance_email_template": "Шаблон уведомления о техническом обслуживании",
|
||||
"maintenance_email_templateDescription": "Переменные {after}.имя_переменной{before} в шаблоне будут заменены фактическими данными, пожалуйста, убедитесь, что эти переменные сохранены.",
|
||||
"saveSuccess": "Конфигурация успешно сохранена.",
|
||||
"sendFailure": "Не удалось отправить тестовое письмо, пожалуйста, проверьте конфигурацию.",
|
||||
"sendSuccess": "Тестовое письмо успешно отправлено.",
|
||||
"sendTestEmail": "Отправить тестовое письмо",
|
||||
"sendTestEmailDescription": "Отправьте тестовое письмо, чтобы проверить правильность конфигурации.",
|
||||
"senderAddress": "Адрес отправителя",
|
||||
"senderAddressDescription": "Адрес электронной почты, используемый по умолчанию для отправки писем.",
|
||||
"smtpAccount": "Учетная запись SMTP",
|
||||
"smtpAccountDescription": "Учетная запись электронной почты для аутентификации.",
|
||||
"smtpEncryptionMethod": "Метод шифрования SMTP",
|
||||
"smtpEncryptionMethodDescription": "Выберите, включать ли шифрование SSL/TLS.",
|
||||
"smtpPassword": "Пароль SMTP",
|
||||
"smtpPasswordDescription": "Пароль для этой учетной записи SMTP.",
|
||||
"smtpServerAddress": "Адрес SMTP-сервера",
|
||||
"smtpServerAddressDescription": "Укажите адрес сервера для отправки писем.",
|
||||
"smtpServerPort": "Порт SMTP-сервера",
|
||||
"smtpServerPortDescription": "Укажите номер порта для подключения к SMTP-серверу.",
|
||||
"verify_email_template": "Шаблон письма для верификации",
|
||||
"verify_email_templateDescription": "Переменные {after}.имя_переменной{before} в шаблоне будут заменены фактическими данными, пожалуйста, убедитесь, что эти переменные сохранены."
|
||||
},
|
||||
"invite": {
|
||||
"commissionFirstTimeOnly": "Комиссия только за первую покупку",
|
||||
"commissionFirstTimeOnlyDescription": "После активации комиссия начисляется только при первой оплате приглашённого. Вы можете настроить для каждого пользователя в управлении пользователями.",
|
||||
@ -64,26 +38,6 @@
|
||||
"startTime": "Время начала",
|
||||
"timeSlot": "Временной интервал"
|
||||
},
|
||||
"register": {
|
||||
"emailSuffixWhitelist": "Белый список суффиксов электронной почты",
|
||||
"emailSuffixWhitelistDescription": "После включения только электронные письма с суффиксами из списка смогут зарегистрироваться",
|
||||
"emailVerification": "Подтверждение электронной почты",
|
||||
"emailVerificationDescription": "После включения пользователям потребуется подтвердить свою электронную почту",
|
||||
"ipRegistrationLimit": "Ограничение регистрации по IP",
|
||||
"ipRegistrationLimitDescription": "После включения IP, соответствующие правилам, будут ограничены в регистрации. Обратите внимание, что из-за CDN или прокси-сервера определение IP может вызвать проблемы",
|
||||
"penaltyTime": "Время наказания (в минутах)",
|
||||
"penaltyTimeDescription": "Пользователь должен подождать, пока не истечет время наказания, чтобы зарегистрироваться снова",
|
||||
"registrationLimitCount": "Лимит регистраций",
|
||||
"registrationLimitCountDescription": "После достижения лимита регистраций включается наказание",
|
||||
"saveSuccess": "Успешно сохранено",
|
||||
"stopNewUserRegistration": "Остановить регистрацию новых пользователей",
|
||||
"stopNewUserRegistrationDescription": "После включения никто не сможет зарегистрироваться",
|
||||
"trialRegistration": "Пробная регистрация",
|
||||
"trialRegistrationDescription": "Включите пробную регистрацию, сначала измените пробный пакет и продолжительность",
|
||||
"whitelistSuffixes": "Суффиксы белого списка",
|
||||
"whitelistSuffixesDescription": "Для проверки электронной почты при регистрации, по одному на строку",
|
||||
"whitelistSuffixesPlaceholder": "Введите суффиксы электронной почты, по одному на строку"
|
||||
},
|
||||
"site": {
|
||||
"logo": "ЛОГОТИП",
|
||||
"logoDescription": "Используется для отображения места, где необходимо показать ЛОГОТИП",
|
||||
|
||||
20
apps/admin/locales/th-TH/auth-control.json
Normal file
20
apps/admin/locales/th-TH/auth-control.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"emailSuffixWhitelist": "รายการอนุญาตให้ใช้คำต่อท้ายอีเมล",
|
||||
"emailSuffixWhitelistDescription": "เมื่อเปิดใช้งาน จะสามารถลงทะเบียนได้เฉพาะอีเมลที่มีคำต่อท้ายในรายการเท่านั้น",
|
||||
"emailVerification": "การยืนยันอีเมล",
|
||||
"emailVerificationDescription": "เมื่อเปิดใช้งาน ผู้ใช้จะต้องยืนยันอีเมลของตน",
|
||||
"ipRegistrationLimit": "จำกัดการลงทะเบียน IP",
|
||||
"ipRegistrationLimitDescription": "เมื่อเปิดใช้งาน IP ที่ตรงตามข้อกำหนดของกฎจะถูกจำกัดไม่ให้ลงทะเบียน; โปรดทราบว่าการกำหนด IP อาจทำให้เกิดปัญหาเนื่องจาก CDN หรือพร็อกซีส่วนหน้า",
|
||||
"penaltyTime": "เวลาลงโทษ (นาที)",
|
||||
"penaltyTimeDescription": "ผู้ใช้ต้องรอให้เวลาการลงโทษหมดอายุก่อนที่จะลงทะเบียนใหม่ได้",
|
||||
"registrationLimitCount": "จำนวนจำกัดการลงทะเบียน",
|
||||
"registrationLimitCountDescription": "เปิดใช้งานบทลงโทษหลังจากถึงขีดจำกัดการลงทะเบียน",
|
||||
"saveSuccess": "บันทึกสำเร็จ",
|
||||
"stopNewUserRegistration": "หยุดการลงทะเบียนผู้ใช้ใหม่",
|
||||
"stopNewUserRegistrationDescription": "เมื่อเปิดใช้งาน จะไม่มีใครสามารถลงทะเบียนได้",
|
||||
"trialRegistration": "การลงทะเบียนทดลองใช้",
|
||||
"trialRegistrationDescription": "เปิดใช้งานการลงทะเบียนทดลอง; ปรับเปลี่ยนแพ็คเกจทดลองและระยะเวลาก่อน",
|
||||
"whitelistSuffixes": "อนุญาตให้ใช้คำต่อท้าย",
|
||||
"whitelistSuffixesDescription": "ใช้สำหรับการยืนยันอีเมลระหว่างการลงทะเบียน; หนึ่งบรรทัดต่อหนึ่งรายการ",
|
||||
"whitelistSuffixesPlaceholder": "กรอกคำต่อท้ายอีเมล หนึ่งบรรทัดต่อหนึ่งคำ"
|
||||
}
|
||||
29
apps/admin/locales/th-TH/email.json
Normal file
29
apps/admin/locales/th-TH/email.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"emailBasicConfig": "การกำหนดค่าพื้นฐาน",
|
||||
"emailLogs": "บันทึกอีเมล",
|
||||
"emailTemplate": "เทมเพลตอีเมล",
|
||||
"expiration_email_template": "เทมเพลตแจ้งเตือนการหมดอายุ",
|
||||
"expiration_email_templateDescription": "ตัวแปร {after}.variable{before} จะถูกแทนที่ด้วยข้อมูลจริง โปรดตรวจสอบให้แน่ใจว่าเก็บตัวแปรเหล่านี้ไว้",
|
||||
"inputPlaceholder": "กรอกค่า...",
|
||||
"maintenance_email_template": "เทมเพลตการแจ้งเตือนการบำรุงรักษา",
|
||||
"maintenance_email_templateDescription": "ตัวแปร {after}.variable{before} จะถูกแทนที่ด้วยข้อมูลจริง โปรดตรวจสอบให้แน่ใจว่าเก็บตัวแปรเหล่านี้ไว้",
|
||||
"saveSuccess": "บันทึกการตั้งค่าเรียบร้อยแล้ว",
|
||||
"sendFailure": "การส่งอีเมลทดสอบล้มเหลว กรุณาตรวจสอบการตั้งค่า",
|
||||
"sendSuccess": "ส่งอีเมลทดสอบสำเร็จแล้ว",
|
||||
"sendTestEmail": "ส่งอีเมลทดสอบ",
|
||||
"sendTestEmailDescription": "ส่งอีเมลทดสอบเพื่อตรวจสอบการตั้งค่า",
|
||||
"senderAddress": "ที่อยู่ผู้ส่ง",
|
||||
"senderAddressDescription": "ที่อยู่อีเมลเริ่มต้นที่ใช้สำหรับการส่งอีเมล.",
|
||||
"smtpAccount": "บัญชี SMTP",
|
||||
"smtpAccountDescription": "บัญชีอีเมลที่ใช้สำหรับการยืนยันตัวตน.",
|
||||
"smtpEncryptionMethod": "วิธีการเข้ารหัส SMTP",
|
||||
"smtpEncryptionMethodDescription": "เลือกว่าจะเปิดใช้งานการเข้ารหัส SSL/TLS หรือไม่",
|
||||
"smtpPassword": "รหัสผ่าน SMTP",
|
||||
"smtpPasswordDescription": "รหัสผ่านสำหรับบัญชี SMTP.",
|
||||
"smtpServerAddress": "ที่อยู่เซิร์ฟเวอร์ SMTP",
|
||||
"smtpServerAddressDescription": "ระบุที่อยู่เซิร์ฟเวอร์ที่ใช้สำหรับการส่งอีเมล",
|
||||
"smtpServerPort": "พอร์ตเซิร์ฟเวอร์ SMTP",
|
||||
"smtpServerPortDescription": "ระบุพอร์ตที่ใช้ในการเชื่อมต่อกับเซิร์ฟเวอร์ SMTP.",
|
||||
"verify_email_template": "เทมเพลตอีเมลยืนยัน",
|
||||
"verify_email_templateDescription": "ตัวแปร {after}.variable{before} จะถูกแทนที่ด้วยข้อมูลจริง โปรดตรวจสอบให้แน่ใจว่าเก็บตัวแปรเหล่านี้ไว้"
|
||||
}
|
||||
@ -1,18 +1,28 @@
|
||||
{
|
||||
"Announcement Management": "การจัดการประกาศ",
|
||||
"Apple": "Apple ID",
|
||||
"Auth Control": "การควบคุมการยืนยันตัวตน",
|
||||
"Coupon Management": "การจัดการคูปอง",
|
||||
"Dashboard": "แดชบอร์ด",
|
||||
"Document Management": "การจัดการเอกสาร",
|
||||
"Email": "อีเมล",
|
||||
"Facebook": "Facebook",
|
||||
"Finance": "การเงิน",
|
||||
"General": "ทั่วไป",
|
||||
"GitHub": "GitHub",
|
||||
"Google": "Google",
|
||||
"Order Management": "การจัดการคำสั่งซื้อ",
|
||||
"Payment Config": "การตั้งค่าการชำระเงิน",
|
||||
"Phone Number": "หมายเลขโทรศัพท์",
|
||||
"Server": "เซิร์ฟเวอร์",
|
||||
"Server Management": "การจัดการเซิร์ฟเวอร์",
|
||||
"Settings": "การตั้งค่า",
|
||||
"Subscribe Management": "การจัดการการสมัครสมาชิก",
|
||||
"System Config": "การกำหนดค่าระบบ",
|
||||
"System Tool": "เครื่องมือระบบ",
|
||||
"Telegram": "เทเลแกรม",
|
||||
"Ticket Management": "การจัดการตั๋ว",
|
||||
"Twitter": "ทวิตเตอร์",
|
||||
"User": "ผู้ใช้",
|
||||
"User Management": "การจัดการผู้ใช้"
|
||||
}
|
||||
|
||||
57
apps/admin/locales/th-TH/phone.json
Normal file
57
apps/admin/locales/th-TH/phone.json
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
"SmsList": "รายการบันทึก SMS",
|
||||
"apiUrl": "URL ของ API",
|
||||
"apiUrlTip": "จุดเชื่อมต่อ API ของแพลตฟอร์ม SMS",
|
||||
"areaCode": "รหัสพื้นที่",
|
||||
"content": "เนื้อหา",
|
||||
"createdAt": "เวลาที่ส่ง",
|
||||
"enable": "เปิดใช้งาน",
|
||||
"enableTip": "หลังจากเปิดใช้งานแล้ว ฟังก์ชันการลงทะเบียน การเข้าสู่ระบบ การผูก และการยกเลิกการผูกโทรศัพท์มือถือจะถูกเปิดใช้งาน",
|
||||
"expireTime": "เวลาหมดอายุ",
|
||||
"expireTimeTip": "ระยะเวลาหมดอายุของรหัสยืนยันทาง SMS (วินาที)",
|
||||
"foreignApiUrl": "URL ของ API ระหว่างประเทศ",
|
||||
"foreignApiUrlTip": "จุดเชื่อมต่อ API สำหรับบริการ SMS ระหว่างประเทศ",
|
||||
"interval": "ช่วงเวลา",
|
||||
"intervalTip": "ช่วงเวลาการส่งรหัสยืนยันทาง SMS สำหรับหมายเลขโทรศัพท์เดียวกัน (วินาที), 0 หมายถึงไม่มีข้อจำกัด",
|
||||
"limit": "ขีดจำกัดรายวัน",
|
||||
"limitTip": "จำกัดการส่งรหัสยืนยันทาง SMS รายวันสำหรับหมายเลขโทรศัพท์เดียวกัน, 0 หมายถึงไม่จำกัด",
|
||||
"logs": "บันทึก",
|
||||
"password": "รหัสผ่าน",
|
||||
"passwordTip": "รหัสผ่านแพลตฟอร์ม SMS เช่น รหัสลับ Access Key ของ Aliyun",
|
||||
"placeholders": {
|
||||
"apiUrl": "กรอก URL ของ API เช่น https://api.example.com",
|
||||
"expireTime": "กรอกเวลาหมดอายุ ค่าเริ่มต้นคือ 300",
|
||||
"foreignApiUrl": "กรอก URL ของ API ระหว่างประเทศ",
|
||||
"interval": "กรอกช่วงเวลา ค่าเริ่มต้นคือ 60",
|
||||
"limit": "กรอกขีดจำกัดรายวัน ค่าเริ่มต้นคือ 20",
|
||||
"password": "กรอกรหัสผ่านแพลตฟอร์ม",
|
||||
"region": "กรอกภูมิภาค เช่น cn-hangzhou",
|
||||
"template": "รหัสยืนยันของคุณคือ {code} ใช้ได้ภายใน 5 นาที",
|
||||
"templateCode": "กรอกรหัสเทมเพลต",
|
||||
"templateParam": "กรอกชื่อพารามิเตอร์ ค่าเริ่มต้นคือ code",
|
||||
"username": "กรอกชื่อผู้ใช้แพลตฟอร์ม"
|
||||
},
|
||||
"platform": "แพลตฟอร์ม SMS",
|
||||
"platformTip": "กรุณาเลือกแพลตฟอร์ม SMS",
|
||||
"region": "ภูมิภาค",
|
||||
"regionTip": "ภูมิภาคบริการ SMS เช่น cn-hangzhou สำหรับ Aliyun",
|
||||
"search": "ค้นหาเบอร์โทรศัพท์",
|
||||
"sendFailed": "ส่งไม่สำเร็จ",
|
||||
"sendSuccess": "ส่งสำเร็จ",
|
||||
"settings": "การตั้งค่า",
|
||||
"status": "สถานะ",
|
||||
"telephone": "หมายเลขโทรศัพท์",
|
||||
"template": "เทมเพลต SMS",
|
||||
"templateCode": "รหัสเทมเพลต",
|
||||
"templateCodeTip": "รหัสเทมเพลตบริการ SMS",
|
||||
"templateParam": "พารามิเตอร์แม่แบบ",
|
||||
"templateParamTip": "ชื่อพารามิเตอร์ตัวแปรในเทมเพลต SMS ค่าเริ่มต้นคือ 'code'",
|
||||
"templateTip": "กรุณากรอกเทมเพลต SMS โดยคง {code} ไว้ตรงกลาง มิฉะนั้นฟังก์ชัน SMS จะไม่ทำงาน",
|
||||
"testSms": "ส่ง SMS ทดสอบ",
|
||||
"testSmsContent": "นี่คือข้อความทดสอบ",
|
||||
"testSmsPhone": "กรุณาใส่หมายเลขโทรศัพท์",
|
||||
"testSmsTip": "ส่ง SMS ทดสอบเพื่อตรวจสอบการตั้งค่าของคุณ",
|
||||
"updateSuccess": "อัปเดตสำเร็จ",
|
||||
"username": "ชื่อผู้ใช้",
|
||||
"usernameTip": "ชื่อผู้ใช้แพลตฟอร์ม SMS เช่น Aliyun Access Key ID"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user