Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 383638f702 | |||
| 5939763b57 | |||
| fa56eb8293 | |||
| 6a34bfb78d | |||
| b8f4f1e694 | |||
| aa1d42651d | |||
| 0c8f0911c7 | |||
| db0d9e003e | |||
| f219c52306 | |||
| 3f7b6d16ed | |||
| 6dbebd152d | |||
| bb3bd7b50c | |||
| fbad3b0e51 | |||
| e551232564 | |||
| bf58f25072 | |||
| 85f55def2e | |||
| f72df3a5e8 | |||
| 48a1b97051 | |||
| 786ba0e41c | |||
| ce3197298d | |||
| 092477b2d3 |
+96
-2
@@ -1,13 +1,107 @@
|
|||||||
<a name="readme-top"></a>
|
<a name="readme-top"></a>
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
# [1.0.0-beta.33](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.32...v1.0.0-beta.33) (2025-03-18)
|
||||||
|
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
* **subscribe**: Handle optional values in price and discount calculations ([5939763](https://github.com/perfect-panel/ppanel-web/commit/5939763))
|
||||||
|
|
||||||
|
# [1.0.0-beta.32](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.31...v1.0.0-beta.32) (2025-03-17)
|
||||||
|
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
* **forms**: Add step attribute to number inputs for better value control ([b8f4f1e](https://github.com/perfect-panel/ppanel-web/commit/b8f4f1e))
|
||||||
|
* **locales**: Update invite code text to indicate it's optional ([6a34bfb](https://github.com/perfect-panel/ppanel-web/commit/6a34bfb))
|
||||||
|
|
||||||
|
<a name="readme-top"></a>
|
||||||
|
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
# [1.0.0-beta.31](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.30...v1.0.0-beta.31) (2025-03-15)
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
- **site**: Se ref to store site configuration for updates ([0c8f091](https://github.com/perfect-panel/ppanel-web/commit/0c8f091))
|
||||||
|
|
||||||
|
# [1.0.0-beta.30](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.29...v1.0.0-beta.30) (2025-03-15)
|
||||||
|
|
||||||
|
### ✨ Features
|
||||||
|
|
||||||
|
- **api**: Add CheckoutOrder request and response types, and update user purchase request parameters ([48a1b97](https://github.com/perfect-panel/ppanel-web/commit/48a1b97))
|
||||||
|
- **email**: Add traffic exhaustion template ([bb3bd7b](https://github.com/perfect-panel/ppanel-web/commit/bb3bd7b))
|
||||||
|
- **formatting**: Update differenceInDays function to return whole days or two decimal places ([bf58f25](https://github.com/perfect-panel/ppanel-web/commit/bf58f25))
|
||||||
|
- **global**: Add custom data ([6dbebd1](https://github.com/perfect-panel/ppanel-web/commit/6dbebd1))
|
||||||
|
- **input**: Add minimum value constraint and enhance number handling in EnhancedInput ([ce31972](https://github.com/perfect-panel/ppanel-web/commit/ce31972))
|
||||||
|
- **loading**: Replace loading animation with a simpler spinner and loading text ([f72df3a](https://github.com/perfect-panel/ppanel-web/commit/f72df3a))
|
||||||
|
- **node-form**: Update number input fields to enforce step, min, and max values ([3f7b6d1](https://github.com/perfect-panel/ppanel-web/commit/3f7b6d1))
|
||||||
|
- **payment**: Add isEdit prop to PaymentForm and disable fields when editing ([85f55de](https://github.com/perfect-panel/ppanel-web/commit/85f55de))
|
||||||
|
- **timeline**: Simplify timeline component layout and remove commented-out code ([fbad3b0](https://github.com/perfect-panel/ppanel-web/commit/fbad3b0))
|
||||||
|
|
||||||
|
### 🎫 Chores
|
||||||
|
|
||||||
|
- **release**: V1.0.0-beta.27 [skip ci] ([092477b](https://github.com/perfect-panel/ppanel-web/commit/092477b))
|
||||||
|
- **release**: V1.0.0-beta.28 [skip ci] ([786ba0e](https://github.com/perfect-panel/ppanel-web/commit/786ba0e))
|
||||||
|
- Merge branch 'beta' into develop ([f219c52](https://github.com/perfect-panel/ppanel-web/commit/f219c52))
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
- **dashboard**: Update date display to use start_time if available ([e551232](https://github.com/perfect-panel/ppanel-web/commit/e551232))
|
||||||
|
|
||||||
|
<a name="readme-top"></a>
|
||||||
|
|
||||||
|
# Changelog
|
||||||
|
|
||||||
# [1.0.0-beta.29](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.28...v1.0.0-beta.29) (2025-03-14)
|
# [1.0.0-beta.29](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.28...v1.0.0-beta.29) (2025-03-14)
|
||||||
|
|
||||||
|
### ✨ Features
|
||||||
|
|
||||||
|
- **api**: Add CheckoutOrder request and response types, and update user purchase request parameters ([dddc21c](https://github.com/perfect-panel/ppanel-web/commit/dddc21c))
|
||||||
|
- **loading**: Replace loading animation with a simpler spinner and loading text ([b8316bb](https://github.com/perfect-panel/ppanel-web/commit/b8316bb))
|
||||||
|
|
||||||
|
<a name="readme-top"></a>
|
||||||
|
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
# [1.0.0-beta.28](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.27...v1.0.0-beta.28) (2025-03-13)
|
||||||
|
|
||||||
### ✨ Features
|
### ✨ Features
|
||||||
|
|
||||||
* **api**: Add CheckoutOrder request and response types, and update user purchase request parameters ([dddc21c](https://github.com/perfect-panel/ppanel-web/commit/dddc21c))
|
- **input**: Add minimum value constraint and enhance number handling in EnhancedInput ([94822d9](https://github.com/perfect-panel/ppanel-web/commit/94822d9))
|
||||||
* **loading**: Replace loading animation with a simpler spinner and loading text ([b8316bb](https://github.com/perfect-panel/ppanel-web/commit/b8316bb))
|
|
||||||
|
# [1.0.0-beta.27](https://github.com/perfect-panel/ppanel-web/compare/v1.0.0-beta.26...v1.0.0-beta.27) (2025-03-13)
|
||||||
|
|
||||||
|
### ♻ Code Refactoring
|
||||||
|
|
||||||
|
- **payment**: Reconstruct the payment page ([7109472](https://github.com/perfect-panel/ppanel-web/commit/7109472))
|
||||||
|
- Enhance user navigation dropdown ui and styling ([d2732e6](https://github.com/perfect-panel/ppanel-web/commit/d2732e6))
|
||||||
|
|
||||||
|
### ✨ Features
|
||||||
|
|
||||||
|
- **cdn**: Add CDN URL configuration and update related references ([0c90733](https://github.com/perfect-panel/ppanel-web/commit/0c90733))
|
||||||
|
- **payment**: Add bank card payment ([7fa3a57](https://github.com/perfect-panel/ppanel-web/commit/7fa3a57))
|
||||||
|
- **subscription**: Improve layout and organization of subscription detail tabs ([e4630f8](https://github.com/perfect-panel/ppanel-web/commit/e4630f8))
|
||||||
|
- **subscription**: Refactor subscription handling and update imports for better organization ([2215c7f](https://github.com/perfect-panel/ppanel-web/commit/2215c7f))
|
||||||
|
|
||||||
|
### 🎫 Chores
|
||||||
|
|
||||||
|
- **merge**: Bump version to 1.0.0-beta.26 and update changelog ([3222016](https://github.com/perfect-panel/ppanel-web/commit/3222016))
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
- **affiliate**: Update user identifier ([35f92c9](https://github.com/perfect-panel/ppanel-web/commit/35f92c9))
|
||||||
|
- **changelog**: Update change log style ([cfa3fc0](https://github.com/perfect-panel/ppanel-web/commit/cfa3fc0))
|
||||||
|
- **payment**: Add notification URL field to payment management interface ([5c710e1](https://github.com/perfect-panel/ppanel-web/commit/5c710e1))
|
||||||
|
- **payment**: Fix payment related type definitions and update payment method references ([c3138a8](https://github.com/perfect-panel/ppanel-web/commit/c3138a8))
|
||||||
|
- **payment**: Refactor purchaseCheckout usage and remove redundant code ([a5e2079](https://github.com/perfect-panel/ppanel-web/commit/a5e2079))
|
||||||
|
- **payment**: Update checkout type from 'link' to 'url' for consistency ([136a1ab](https://github.com/perfect-panel/ppanel-web/commit/136a1ab))
|
||||||
|
- **payment**: Update payment information ([70d6a38](https://github.com/perfect-panel/ppanel-web/commit/70d6a38))
|
||||||
|
- **payment**: Update payment method update logic to include row data ([6752420](https://github.com/perfect-panel/ppanel-web/commit/6752420))
|
||||||
|
- **purchasing**: Update payment type to lowercase and add optional chaining for discounts ([c06ea49](https://github.com/perfect-panel/ppanel-web/commit/c06ea49))
|
||||||
|
- **ui**: Improve dashboard layout and enhance button functionality; open checkout URLs in a new tab ([fc0da76](https://github.com/perfect-panel/ppanel-web/commit/fc0da76))
|
||||||
|
- **ui**: Multiple display bugs ([f5d8fd3](https://github.com/perfect-panel/ppanel-web/commit/f5d8fd3))
|
||||||
|
|
||||||
<a name="readme-top"></a>
|
<a name="readme-top"></a>
|
||||||
|
|
||||||
|
|||||||
@@ -286,31 +286,34 @@ export default function Page() {
|
|||||||
</TabsContent>
|
</TabsContent>
|
||||||
|
|
||||||
<TabsContent value='template'>
|
<TabsContent value='template'>
|
||||||
<div className='grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3'>
|
<div className='grid grid-cols-1 gap-4 md:grid-cols-2'>
|
||||||
{['verify_email_template', 'expiration_email_template', 'maintenance_email_template'].map(
|
{[
|
||||||
(templateKey) => (
|
'verify_email_template',
|
||||||
<Card key={templateKey}>
|
'expiration_email_template',
|
||||||
<CardHeader>
|
'maintenance_email_template',
|
||||||
<CardTitle>{t(`${templateKey}`)}</CardTitle>
|
'traffic_exceed_email_template',
|
||||||
<CardDescription>
|
].map((templateKey) => (
|
||||||
{t(`${templateKey}Description`, { after: '{{', before: '}}' })}
|
<Card key={templateKey}>
|
||||||
</CardDescription>
|
<CardHeader>
|
||||||
</CardHeader>
|
<CardTitle>{t(`${templateKey}`)}</CardTitle>
|
||||||
<CardContent>
|
<CardDescription>
|
||||||
<HTMLEditor
|
{t(`${templateKey}Description`, { after: '{{', before: '}}' })}
|
||||||
placeholder={t('inputPlaceholder')}
|
</CardDescription>
|
||||||
value={data?.config?.[templateKey] as string}
|
</CardHeader>
|
||||||
onBlur={(value) =>
|
<CardContent>
|
||||||
updateConfig('config', {
|
<HTMLEditor
|
||||||
...data?.config,
|
placeholder={t('inputPlaceholder')}
|
||||||
[templateKey]: value,
|
value={data?.config?.[templateKey] as string}
|
||||||
})
|
onBlur={(value) =>
|
||||||
}
|
updateConfig('config', {
|
||||||
/>
|
...data?.config,
|
||||||
</CardContent>
|
[templateKey]: value,
|
||||||
</Card>
|
})
|
||||||
),
|
}
|
||||||
)}
|
/>
|
||||||
|
</CardContent>
|
||||||
|
</Card>
|
||||||
|
))}
|
||||||
</div>
|
</div>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
|
|
||||||
|
|||||||
@@ -307,6 +307,7 @@ export default function CouponForm<T extends Record<string, any>>({
|
|||||||
<EnhancedInput
|
<EnhancedInput
|
||||||
placeholder={t('form.countPlaceholder')}
|
placeholder={t('form.countPlaceholder')}
|
||||||
type='number'
|
type='number'
|
||||||
|
step={1}
|
||||||
{...field}
|
{...field}
|
||||||
onValueChange={(value) => {
|
onValueChange={(value) => {
|
||||||
form.setValue(field.name, value);
|
form.setValue(field.name, value);
|
||||||
@@ -327,6 +328,7 @@ export default function CouponForm<T extends Record<string, any>>({
|
|||||||
<EnhancedInput
|
<EnhancedInput
|
||||||
placeholder={t('form.userLimitPlaceholder')}
|
placeholder={t('form.userLimitPlaceholder')}
|
||||||
type='number'
|
type='number'
|
||||||
|
step={1}
|
||||||
{...field}
|
{...field}
|
||||||
onValueChange={(value) => {
|
onValueChange={(value) => {
|
||||||
form.setValue(field.name, value);
|
form.setValue(field.name, value);
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ interface PaymentFormProps<T> {
|
|||||||
loading?: boolean;
|
loading?: boolean;
|
||||||
initialValues?: T;
|
initialValues?: T;
|
||||||
onSubmit: (values: T) => Promise<boolean>;
|
onSubmit: (values: T) => Promise<boolean>;
|
||||||
|
isEdit?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function PaymentForm<T>({
|
export default function PaymentForm<T>({
|
||||||
@@ -53,6 +54,7 @@ export default function PaymentForm<T>({
|
|||||||
loading,
|
loading,
|
||||||
initialValues,
|
initialValues,
|
||||||
onSubmit,
|
onSubmit,
|
||||||
|
isEdit,
|
||||||
}: PaymentFormProps<T>) {
|
}: PaymentFormProps<T>) {
|
||||||
const t = useTranslations('payment');
|
const t = useTranslations('payment');
|
||||||
const { common } = useGlobalStore();
|
const { common } = useGlobalStore();
|
||||||
@@ -317,6 +319,8 @@ export default function PaymentForm<T>({
|
|||||||
}}
|
}}
|
||||||
defaultValue={field.value}
|
defaultValue={field.value}
|
||||||
value={field.value}
|
value={field.value}
|
||||||
|
// @ts-expect-error
|
||||||
|
disabled={isEdit && Boolean(initialValues?.platform)}
|
||||||
>
|
>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
<SelectTrigger>
|
<SelectTrigger>
|
||||||
|
|||||||
@@ -136,6 +136,7 @@ export default function PaymentTable() {
|
|||||||
actions={{
|
actions={{
|
||||||
render: (row) => [
|
render: (row) => [
|
||||||
<PaymentForm<API.UpdatePaymentMethodRequest>
|
<PaymentForm<API.UpdatePaymentMethodRequest>
|
||||||
|
isEdit
|
||||||
key='edit'
|
key='edit'
|
||||||
trigger={<Button>{t('edit')}</Button>}
|
trigger={<Button>{t('edit')}</Button>}
|
||||||
title={t('editPayment')}
|
title={t('editPayment')}
|
||||||
|
|||||||
@@ -362,9 +362,10 @@ export default function NodeForm<T extends { [x: string]: any }>({
|
|||||||
<EnhancedInput
|
<EnhancedInput
|
||||||
{...field}
|
{...field}
|
||||||
type='number'
|
type='number'
|
||||||
placeholder='1-65535'
|
step={1}
|
||||||
min={1}
|
min={1}
|
||||||
max={65535}
|
max={65535}
|
||||||
|
placeholder='1-65535'
|
||||||
onValueChange={(value) => {
|
onValueChange={(value) => {
|
||||||
form.setValue(field.name, value);
|
form.setValue(field.name, value);
|
||||||
}}
|
}}
|
||||||
@@ -418,6 +419,9 @@ export default function NodeForm<T extends { [x: string]: any }>({
|
|||||||
<EnhancedInput
|
<EnhancedInput
|
||||||
{...field}
|
{...field}
|
||||||
type='number'
|
type='number'
|
||||||
|
step={1}
|
||||||
|
min={1}
|
||||||
|
max={65535}
|
||||||
placeholder='1-65535'
|
placeholder='1-65535'
|
||||||
onValueChange={(value) => {
|
onValueChange={(value) => {
|
||||||
form.setValue(field.name, value);
|
form.setValue(field.name, value);
|
||||||
@@ -899,6 +903,7 @@ export default function NodeForm<T extends { [x: string]: any }>({
|
|||||||
{
|
{
|
||||||
name: 'port',
|
name: 'port',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
|
step: 1,
|
||||||
min: 1,
|
min: 1,
|
||||||
max: 65535,
|
max: 65535,
|
||||||
placeholder: t('form.relayPort'),
|
placeholder: t('form.relayPort'),
|
||||||
|
|||||||
@@ -298,6 +298,7 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
<EnhancedInput
|
<EnhancedInput
|
||||||
placeholder={t('form.noLimit')}
|
placeholder={t('form.noLimit')}
|
||||||
type='number'
|
type='number'
|
||||||
|
step={1}
|
||||||
{...field}
|
{...field}
|
||||||
onValueChange={(value) => {
|
onValueChange={(value) => {
|
||||||
form.setValue(field.name, value);
|
form.setValue(field.name, value);
|
||||||
@@ -321,7 +322,8 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
<EnhancedInput
|
<EnhancedInput
|
||||||
placeholder={t('form.noLimit')}
|
placeholder={t('form.noLimit')}
|
||||||
type='number'
|
type='number'
|
||||||
value={field.value === -1 ? 0 : field.value}
|
step={1}
|
||||||
|
value={field.value}
|
||||||
min={0}
|
min={0}
|
||||||
onValueChange={(value) => {
|
onValueChange={(value) => {
|
||||||
form.setValue(field.name, value);
|
form.setValue(field.name, value);
|
||||||
@@ -343,6 +345,7 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
<EnhancedInput
|
<EnhancedInput
|
||||||
placeholder={t('form.noLimit')}
|
placeholder={t('form.noLimit')}
|
||||||
type='number'
|
type='number'
|
||||||
|
step={1}
|
||||||
{...field}
|
{...field}
|
||||||
onValueChange={(value) => {
|
onValueChange={(value) => {
|
||||||
form.setValue(field.name, value);
|
form.setValue(field.name, value);
|
||||||
@@ -545,6 +548,7 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
{
|
{
|
||||||
name: 'quantity',
|
name: 'quantity',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
|
step: 1,
|
||||||
min: 1,
|
min: 1,
|
||||||
suffix: unit_time && t(`form.${unit_time}`),
|
suffix: unit_time && t(`form.${unit_time}`),
|
||||||
},
|
},
|
||||||
@@ -560,7 +564,7 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
return {
|
return {
|
||||||
...data,
|
...data,
|
||||||
price: evaluateWithPrecision(
|
price: evaluateWithPrecision(
|
||||||
`${unit_price} * ${data.quantity} * ${data.discount} / 100`,
|
`${unit_price || 0} * ${data.quantity || 0} * ${data.discount || 0} / 100`,
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -569,7 +573,6 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
name: 'price',
|
name: 'price',
|
||||||
placeholder: t('form.discount_price'),
|
placeholder: t('form.discount_price'),
|
||||||
type: 'number',
|
type: 'number',
|
||||||
min: 0,
|
|
||||||
formatInput: (value) => unitConversion('centsToDollars', value),
|
formatInput: (value) => unitConversion('centsToDollars', value),
|
||||||
formatOutput: (value) => unitConversion('dollarsToCents', value),
|
formatOutput: (value) => unitConversion('dollarsToCents', value),
|
||||||
internal: true,
|
internal: true,
|
||||||
@@ -578,7 +581,7 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
return {
|
return {
|
||||||
...data,
|
...data,
|
||||||
discount: evaluateWithPrecision(
|
discount: evaluateWithPrecision(
|
||||||
`${data.price} / ${data.quantity} / ${unit_price} * 100`,
|
`${data.price || 0} / ${data.quantity || 0} / ${unit_price || 0} * 100`,
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,18 +5,21 @@ import { useQuery } from '@tanstack/react-query';
|
|||||||
import { Label } from '@workspace/ui/components/label';
|
import { Label } from '@workspace/ui/components/label';
|
||||||
import { Table, TableBody, TableCell, TableRow } from '@workspace/ui/components/table';
|
import { Table, TableBody, TableCell, TableRow } from '@workspace/ui/components/table';
|
||||||
import { Textarea } from '@workspace/ui/components/textarea';
|
import { Textarea } from '@workspace/ui/components/textarea';
|
||||||
|
import { JSONEditor } from '@workspace/ui/custom-components/editor';
|
||||||
import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
|
import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
|
||||||
import { UploadImage } from '@workspace/ui/custom-components/upload-image';
|
import { UploadImage } from '@workspace/ui/custom-components/upload-image';
|
||||||
import { useTranslations } from 'next-intl';
|
import { useTranslations } from 'next-intl';
|
||||||
|
import { useRef } from 'react';
|
||||||
import { toast } from 'sonner';
|
import { toast } from 'sonner';
|
||||||
|
|
||||||
export default function Site() {
|
export default function Site() {
|
||||||
const t = useTranslations('system.site');
|
const t = useTranslations('system.site');
|
||||||
|
const ref = useRef<API.SiteConfig | undefined>(undefined);
|
||||||
const { data, refetch } = useQuery({
|
const { data, refetch } = useQuery({
|
||||||
queryKey: ['getSiteConfig'],
|
queryKey: ['getSiteConfig'],
|
||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
const { data } = await getSiteConfig();
|
const { data } = await getSiteConfig();
|
||||||
|
ref.current = data.data;
|
||||||
return data.data;
|
return data.data;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -25,7 +28,7 @@ export default function Site() {
|
|||||||
if (data?.[key] === value) return;
|
if (data?.[key] === value) return;
|
||||||
try {
|
try {
|
||||||
await updateSiteConfig({
|
await updateSiteConfig({
|
||||||
...data,
|
...ref.current,
|
||||||
[key]: value,
|
[key]: value,
|
||||||
} as API.SiteConfig);
|
} as API.SiteConfig);
|
||||||
toast.success(t('saveSuccess'));
|
toast.success(t('saveSuccess'));
|
||||||
@@ -130,6 +133,49 @@ export default function Site() {
|
|||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
<TableRow>
|
||||||
|
<TableCell>
|
||||||
|
<Label>{t('customData')}</Label>
|
||||||
|
<p className='text-muted-foreground text-xs'>{t('customDataDescription')}</p>
|
||||||
|
</TableCell>
|
||||||
|
<TableCell className='w-1/2 text-right'>
|
||||||
|
<JSONEditor
|
||||||
|
schema={{
|
||||||
|
type: 'object',
|
||||||
|
additionalProperties: true,
|
||||||
|
properties: {
|
||||||
|
website: { type: 'string', title: 'Website' },
|
||||||
|
contacts: {
|
||||||
|
type: 'object',
|
||||||
|
title: 'Contacts',
|
||||||
|
additionalProperties: true,
|
||||||
|
properties: {
|
||||||
|
email: { type: 'string', title: 'Email' },
|
||||||
|
telephone: { type: 'string', title: 'Telephone' },
|
||||||
|
address: { type: 'string', title: 'Address' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
community: {
|
||||||
|
type: 'object',
|
||||||
|
title: 'Community',
|
||||||
|
additionalProperties: true,
|
||||||
|
properties: {
|
||||||
|
telegram: { type: 'string', title: 'Telegram' },
|
||||||
|
twitter: { type: 'string', title: 'Twitter' },
|
||||||
|
discord: { type: 'string', title: 'Discord' },
|
||||||
|
instagram: { type: 'string', title: 'Instagram' },
|
||||||
|
linkedin: { type: 'string', title: 'Linkedin' },
|
||||||
|
facebook: { type: 'string', title: 'Facebook' },
|
||||||
|
github: { type: 'string', title: 'Github' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
value={data?.custom_data}
|
||||||
|
onBlur={(value) => updateConfig('custom_data', value)}
|
||||||
|
/>
|
||||||
|
</TableCell>
|
||||||
|
</TableRow>
|
||||||
</TableBody>
|
</TableBody>
|
||||||
</Table>
|
</Table>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -58,8 +58,21 @@ export default function Page() {
|
|||||||
<Switch
|
<Switch
|
||||||
defaultChecked={row.getValue('enable')}
|
defaultChecked={row.getValue('enable')}
|
||||||
onCheckedChange={async (checked) => {
|
onCheckedChange={async (checked) => {
|
||||||
|
const {
|
||||||
|
auth_methods,
|
||||||
|
user_devices,
|
||||||
|
enable_balance_notify,
|
||||||
|
enable_login_notify,
|
||||||
|
enable_subscribe_notify,
|
||||||
|
enable_trade_notify,
|
||||||
|
updated_at,
|
||||||
|
created_at,
|
||||||
|
id,
|
||||||
|
...rest
|
||||||
|
} = row.original;
|
||||||
await updateUserBasicInfo({
|
await updateUserBasicInfo({
|
||||||
...row.original,
|
user_id: id,
|
||||||
|
...rest,
|
||||||
enable: checked,
|
enable: checked,
|
||||||
} as unknown as API.UpdateUserBasiceInfoRequest);
|
} as unknown as API.UpdateUserBasiceInfoRequest);
|
||||||
toast.success(t('updateSuccess'));
|
toast.success(t('updateSuccess'));
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ export const useGlobalStore = create<GlobalStore>((set) => ({
|
|||||||
site_logo: '',
|
site_logo: '',
|
||||||
keywords: '',
|
keywords: '',
|
||||||
custom_html: '',
|
custom_html: '',
|
||||||
|
custom_data: '',
|
||||||
},
|
},
|
||||||
verify: {
|
verify: {
|
||||||
turnstile_site_key: '',
|
turnstile_site_key: '',
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Zadejte platnou e-mailovou adresu.",
|
"email": "Zadejte platnou e-mailovou adresu.",
|
||||||
"existingAccount": "Již máte účet?",
|
"existingAccount": "Již máte účet?",
|
||||||
"get": "Získat",
|
"get": "Získat",
|
||||||
"invite": "Pozvánkový kód",
|
"invite": "Pozvánkový kód (volitelné)",
|
||||||
"message": "#### Vážený uživateli,\n\nDěkujeme za váš zájem a podporu. V důsledku úpravy provozní strategie jsme uzavřeli registraci nových uživatelů. Během této doby nebude používání stávajících účtů nijak ovlivněno.\n\nSnažíme se vám poskytnout lepší služby a zážitky, a proto během uzavření registrace provedeme komplexní optimalizaci systému a aktualizaci funkcí. V budoucnu vás přivítáme s kvalitnějším obsahem a službami.\n\nSledujte naše webové stránky a sociální média pro nejnovější aktualizace a oznámení. Děkujeme za vaše pochopení a podporu.\n\nPokud máte jakékoli dotazy nebo potřebujete pomoc, neváhejte kontaktovat náš zákaznický servis.\n\n**Ještě jednou děkujeme za vaši podporu a pochopení.**",
|
"message": "#### Vážený uživateli,\n\nDěkujeme za váš zájem a podporu. V důsledku úpravy provozní strategie jsme uzavřeli registraci nových uživatelů. Během této doby nebude používání stávajících účtů nijak ovlivněno.\n\nSnažíme se vám poskytnout lepší služby a zážitky, a proto během uzavření registrace provedeme komplexní optimalizaci systému a aktualizaci funkcí. V budoucnu vás přivítáme s kvalitnějším obsahem a službami.\n\nSledujte naše webové stránky a sociální média pro nejnovější aktualizace a oznámení. Děkujeme za vaše pochopení a podporu.\n\nPokud máte jakékoli dotazy nebo potřebujete pomoc, neváhejte kontaktovat náš zákaznický servis.\n\n**Ještě jednou děkujeme za vaši podporu a pochopení.**",
|
||||||
"passwordMismatch": "Hesla se neshodují",
|
"passwordMismatch": "Hesla se neshodují",
|
||||||
"success": "Registrace úspěšná, automaticky přihlášeno!",
|
"success": "Registrace úspěšná, automaticky přihlášeno!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Stav",
|
"status": "Stav",
|
||||||
"subject": "Předmět",
|
"subject": "Předmět",
|
||||||
"template": "Šablona",
|
"template": "Šablona",
|
||||||
|
"traffic_exceed_email_template": "Šablona oznámení o překročení provozu",
|
||||||
|
"traffic_exceed_email_templateDescription": "Zástupné symboly {after}.variable{before} budou nahrazeny skutečnými daty. Ujistěte se, že tyto proměnné zachováte.",
|
||||||
"verify_email_template": "Šablona ověřovacího e-mailu",
|
"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.",
|
"verify_email_templateDescription": "Zástupné symboly {after}.variable{before} budou nahrazeny skutečnými daty. Ujistěte se, že tyto proměnné zachováte.",
|
||||||
"whitelistSuffixes": "Povolené přípony",
|
"whitelistSuffixes": "Povolené přípony",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Zásady ochrany osobních údajů"
|
"title": "Zásady ochrany osobních údajů"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Vlastní data",
|
||||||
|
"customDataDescription": "Vlastní data, používaná pro vlastní data webu",
|
||||||
"customHtml": "Vlastní HTML",
|
"customHtml": "Vlastní HTML",
|
||||||
"customHtmlDescription": "Vlastní HTML kód, který bude vložen na konec tagu body na stránce.",
|
"customHtmlDescription": "Vlastní HTML kód, který bude vložen na konec tagu body na stránce.",
|
||||||
"keywords": "Klíčová slova",
|
"keywords": "Klíčová slova",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
|
"email": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
|
||||||
"existingAccount": "Bereits ein Konto?",
|
"existingAccount": "Bereits ein Konto?",
|
||||||
"get": "Erhalten",
|
"get": "Erhalten",
|
||||||
"invite": "Einladungscode",
|
"invite": "Einladungscode (optional)",
|
||||||
"message": "#### Sehr geehrter Nutzer,\n\nVielen Dank für Ihr Interesse und Ihre Unterstützung. Aufgrund einer Anpassung unserer Betriebsstrategie haben wir die Registrierung für neue Nutzer geschlossen. Während dieser Zeit wird die Nutzung für bestehende Nutzer nicht beeinträchtigt.\n\nWir sind bestrebt, Ihnen einen besseren Service und ein besseres Erlebnis zu bieten, und werden daher während der Schließung der Registrierung umfassende Systemoptimierungen und Funktionsupgrades durchführen. In Zukunft werden wir Sie mit hochwertigeren Inhalten und Dienstleistungen willkommen heißen.\n\nBitte folgen Sie unserer Website und unseren Social-Media-Plattformen, um die neuesten Updates und Benachrichtigungen zu erhalten. Vielen Dank für Ihr Verständnis und Ihre Unterstützung.\n\nBei Fragen oder wenn Sie Hilfe benötigen, kontaktieren Sie bitte jederzeit unser Kundenserviceteam.\n\n**Nochmals vielen Dank für Ihre Unterstützung und Ihr Verständnis.**",
|
"message": "#### Sehr geehrter Nutzer,\n\nVielen Dank für Ihr Interesse und Ihre Unterstützung. Aufgrund einer Anpassung unserer Betriebsstrategie haben wir die Registrierung für neue Nutzer geschlossen. Während dieser Zeit wird die Nutzung für bestehende Nutzer nicht beeinträchtigt.\n\nWir sind bestrebt, Ihnen einen besseren Service und ein besseres Erlebnis zu bieten, und werden daher während der Schließung der Registrierung umfassende Systemoptimierungen und Funktionsupgrades durchführen. In Zukunft werden wir Sie mit hochwertigeren Inhalten und Dienstleistungen willkommen heißen.\n\nBitte folgen Sie unserer Website und unseren Social-Media-Plattformen, um die neuesten Updates und Benachrichtigungen zu erhalten. Vielen Dank für Ihr Verständnis und Ihre Unterstützung.\n\nBei Fragen oder wenn Sie Hilfe benötigen, kontaktieren Sie bitte jederzeit unser Kundenserviceteam.\n\n**Nochmals vielen Dank für Ihre Unterstützung und Ihr Verständnis.**",
|
||||||
"passwordMismatch": "Die eingegebenen Passwörter stimmen nicht überein",
|
"passwordMismatch": "Die eingegebenen Passwörter stimmen nicht überein",
|
||||||
"success": "Registrierung erfolgreich, Sie sind automatisch eingeloggt!",
|
"success": "Registrierung erfolgreich, Sie sind automatisch eingeloggt!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Status",
|
"status": "Status",
|
||||||
"subject": "Betreff",
|
"subject": "Betreff",
|
||||||
"template": "Vorlage",
|
"template": "Vorlage",
|
||||||
|
"traffic_exceed_email_template": "Benachrichtigung über überschreitenden Verkehr",
|
||||||
|
"traffic_exceed_email_templateDescription": "Die Platzhalter {after}.variable{before} werden durch tatsächliche Daten ersetzt. Stellen Sie sicher, dass Sie diese Variablen beibehalten.",
|
||||||
"verify_email_template": "E-Mail-Bestätigungsvorlage",
|
"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.",
|
"verify_email_templateDescription": "Die Platzhalter {after}.variable{before} werden durch tatsächliche Daten ersetzt. Stellen Sie sicher, dass diese Variablen beibehalten werden.",
|
||||||
"whitelistSuffixes": "Whitelist-Suffixe",
|
"whitelistSuffixes": "Whitelist-Suffixe",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Datenschutzrichtlinie"
|
"title": "Datenschutzrichtlinie"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Benutzerdefinierte Daten",
|
||||||
|
"customDataDescription": "Benutzerdefinierte Daten, die für benutzerdefinierte Daten der Website verwendet werden",
|
||||||
"customHtml": "Benutzerdefiniertes HTML",
|
"customHtml": "Benutzerdefiniertes HTML",
|
||||||
"customHtmlDescription": "Benutzerdefinierter HTML-Code, der am Ende des body-Tags der Seite eingefügt werden soll.",
|
"customHtmlDescription": "Benutzerdefinierter HTML-Code, der am Ende des body-Tags der Seite eingefügt werden soll.",
|
||||||
"keywords": "Schlüsselwörter",
|
"keywords": "Schlüsselwörter",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Please enter a valid email address.",
|
"email": "Please enter a valid email address.",
|
||||||
"existingAccount": "Already have an account?",
|
"existingAccount": "Already have an account?",
|
||||||
"get": "Get",
|
"get": "Get",
|
||||||
"invite": "Invitation code",
|
"invite": "Invitation code (optional)",
|
||||||
"message": "#### Dear User, Hello!\n\nThank you for your attention and support. Due to adjustments in site operation strategy, we have closed the new user registration function. During this period, existing users will not be affected.\n\nWe are committed to providing you with better service and experience, so we will conduct comprehensive system optimization and feature upgrades during the registration closure. In the future, we will welcome you with better content and services.\n\nPlease follow our website and social media platforms to get the latest updates and notifications. Thank you for your understanding and support.\n\nIf you have any questions or need assistance, please feel free to contact our customer service team.\n\n**Thank you again for your support and understanding.**",
|
"message": "#### Dear User, Hello!\n\nThank you for your attention and support. Due to adjustments in site operation strategy, we have closed the new user registration function. During this period, existing users will not be affected.\n\nWe are committed to providing you with better service and experience, so we will conduct comprehensive system optimization and feature upgrades during the registration closure. In the future, we will welcome you with better content and services.\n\nPlease follow our website and social media platforms to get the latest updates and notifications. Thank you for your understanding and support.\n\nIf you have any questions or need assistance, please feel free to contact our customer service team.\n\n**Thank you again for your support and understanding.**",
|
||||||
"passwordMismatch": "Passwords do not match",
|
"passwordMismatch": "Passwords do not match",
|
||||||
"success": "Registration successful, automatically logged in!",
|
"success": "Registration successful, automatically logged in!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Status",
|
"status": "Status",
|
||||||
"subject": "Subject",
|
"subject": "Subject",
|
||||||
"template": "Template",
|
"template": "Template",
|
||||||
|
"traffic_exceed_email_template": "Traffic Exceed Notice Template",
|
||||||
|
"traffic_exceed_email_templateDescription": "The {after}.variable{before} placeholders will be replaced with actual data. Ensure to keep these variables.",
|
||||||
"verify_email_template": "Verification Email Template",
|
"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.",
|
"verify_email_templateDescription": "The {after}.variable{before} placeholders will be replaced with actual data. Ensure to keep these variables.",
|
||||||
"whitelistSuffixes": "Whitelist Suffixes",
|
"whitelistSuffixes": "Whitelist Suffixes",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Privacy Policy"
|
"title": "Privacy Policy"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Custom Data",
|
||||||
|
"customDataDescription": "Custom Data, used for custom data of the site",
|
||||||
"customHtml": "Custom HTML",
|
"customHtml": "Custom HTML",
|
||||||
"customHtmlDescription": "Custom HTML code to be injected into the bottom of the site's body tag.",
|
"customHtmlDescription": "Custom HTML code to be injected into the bottom of the site's body tag.",
|
||||||
"keywords": "Keywords",
|
"keywords": "Keywords",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Por favor, introduce una dirección de correo electrónico válida.",
|
"email": "Por favor, introduce una dirección de correo electrónico válida.",
|
||||||
"existingAccount": "¿Ya tienes una cuenta?",
|
"existingAccount": "¿Ya tienes una cuenta?",
|
||||||
"get": "Obtener",
|
"get": "Obtener",
|
||||||
"invite": "Código de invitación",
|
"invite": "Código de invitación (opcional)",
|
||||||
"message": "#### ¡Estimado usuario!\n\nGracias por su interés y apoyo. Debido a un ajuste en la estrategia de operación del sitio, hemos cerrado la función de registro para nuevos usuarios. Durante este período, el uso por parte de los usuarios existentes no se verá afectado.\n\nNos comprometemos a brindarle un mejor servicio y experiencia, por lo que realizaremos una optimización completa del sistema y una actualización de funciones durante el cierre del registro. En el futuro, le daremos la bienvenida con contenido y servicios de mayor calidad.\n\nPor favor, siga nuestro sitio web y plataformas de redes sociales para obtener las últimas actualizaciones y notificaciones. Agradecemos su comprensión y apoyo.\n\nSi tiene alguna pregunta o necesita ayuda, no dude en ponerse en contacto con nuestro equipo de atención al cliente.\n\n**Nuevamente, gracias por su apoyo y comprensión.**",
|
"message": "#### ¡Estimado usuario!\n\nGracias por su interés y apoyo. Debido a un ajuste en la estrategia de operación del sitio, hemos cerrado la función de registro para nuevos usuarios. Durante este período, el uso por parte de los usuarios existentes no se verá afectado.\n\nNos comprometemos a brindarle un mejor servicio y experiencia, por lo que realizaremos una optimización completa del sistema y una actualización de funciones durante el cierre del registro. En el futuro, le daremos la bienvenida con contenido y servicios de mayor calidad.\n\nPor favor, siga nuestro sitio web y plataformas de redes sociales para obtener las últimas actualizaciones y notificaciones. Agradecemos su comprensión y apoyo.\n\nSi tiene alguna pregunta o necesita ayuda, no dude en ponerse en contacto con nuestro equipo de atención al cliente.\n\n**Nuevamente, gracias por su apoyo y comprensión.**",
|
||||||
"passwordMismatch": "Las contraseñas no coinciden",
|
"passwordMismatch": "Las contraseñas no coinciden",
|
||||||
"success": "¡Registro exitoso, sesión iniciada automáticamente!",
|
"success": "¡Registro exitoso, sesión iniciada automáticamente!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Estado",
|
"status": "Estado",
|
||||||
"subject": "Asunto",
|
"subject": "Asunto",
|
||||||
"template": "Plantilla",
|
"template": "Plantilla",
|
||||||
|
"traffic_exceed_email_template": "Plantilla de Notificación de Exceso de Tráfico",
|
||||||
|
"traffic_exceed_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables.",
|
||||||
"verify_email_template": "Plantilla de Correo Electrónico de Verificación",
|
"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.",
|
"verify_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrese de mantener estas variables.",
|
||||||
"whitelistSuffixes": "Sufijos de la lista blanca",
|
"whitelistSuffixes": "Sufijos de la lista blanca",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Política de Privacidad"
|
"title": "Política de Privacidad"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Datos Personalizados",
|
||||||
|
"customDataDescription": "Datos Personalizados, utilizados para datos personalizados del sitio",
|
||||||
"customHtml": "HTML personalizado",
|
"customHtml": "HTML personalizado",
|
||||||
"customHtmlDescription": "Código HTML personalizado que se inyectará en la parte inferior de la etiqueta body del sitio.",
|
"customHtmlDescription": "Código HTML personalizado que se inyectará en la parte inferior de la etiqueta body del sitio.",
|
||||||
"keywords": "Palabras clave",
|
"keywords": "Palabras clave",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Por favor, ingresa una dirección de correo electrónico válida.",
|
"email": "Por favor, ingresa una dirección de correo electrónico válida.",
|
||||||
"existingAccount": "¿Ya tienes una cuenta?",
|
"existingAccount": "¿Ya tienes una cuenta?",
|
||||||
"get": "Obtener",
|
"get": "Obtener",
|
||||||
"invite": "Código de invitación",
|
"invite": "Código de invitación (opcional)",
|
||||||
"message": "#### Estimado usuario,\n\nGracias por su interés y apoyo. Debido a un ajuste en la estrategia de operación del sitio, hemos cerrado la función de registro para nuevos usuarios. Durante este período, el uso por parte de los usuarios existentes no se verá afectado.\n\nNos comprometemos a ofrecerle un mejor servicio y experiencia, por lo que realizaremos una optimización completa del sistema y una actualización de funciones durante el cierre del registro. En el futuro, le daremos la bienvenida con contenido y servicios de mayor calidad.\n\nPor favor, siga nuestro sitio web y plataformas de redes sociales para obtener las últimas actualizaciones y notificaciones. Agradecemos su comprensión y apoyo.\n\nSi tiene alguna pregunta o necesita ayuda, no dude en ponerse en contacto con nuestro equipo de atención al cliente.\n\n**Nuevamente, gracias por su apoyo y comprensión.**",
|
"message": "#### Estimado usuario,\n\nGracias por su interés y apoyo. Debido a un ajuste en la estrategia de operación del sitio, hemos cerrado la función de registro para nuevos usuarios. Durante este período, el uso por parte de los usuarios existentes no se verá afectado.\n\nNos comprometemos a ofrecerle un mejor servicio y experiencia, por lo que realizaremos una optimización completa del sistema y una actualización de funciones durante el cierre del registro. En el futuro, le daremos la bienvenida con contenido y servicios de mayor calidad.\n\nPor favor, siga nuestro sitio web y plataformas de redes sociales para obtener las últimas actualizaciones y notificaciones. Agradecemos su comprensión y apoyo.\n\nSi tiene alguna pregunta o necesita ayuda, no dude en ponerse en contacto con nuestro equipo de atención al cliente.\n\n**Nuevamente, gracias por su apoyo y comprensión.**",
|
||||||
"passwordMismatch": "Las contraseñas no coinciden",
|
"passwordMismatch": "Las contraseñas no coinciden",
|
||||||
"success": "¡Registro exitoso, has iniciado sesión automáticamente!",
|
"success": "¡Registro exitoso, has iniciado sesión automáticamente!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Estado",
|
"status": "Estado",
|
||||||
"subject": "Asunto",
|
"subject": "Asunto",
|
||||||
"template": "Plantilla",
|
"template": "Plantilla",
|
||||||
|
"traffic_exceed_email_template": "Plantilla de Notificación de Exceso de Tráfico",
|
||||||
|
"traffic_exceed_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables.",
|
||||||
"verify_email_template": "Plantilla de Correo Electrónico de Verificación",
|
"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.",
|
"verify_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables.",
|
||||||
"whitelistSuffixes": "Sufijos de Lista Blanca",
|
"whitelistSuffixes": "Sufijos de Lista Blanca",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Política de Privacidad"
|
"title": "Política de Privacidad"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Datos Personalizados",
|
||||||
|
"customDataDescription": "Datos Personalizados, utilizados para datos personalizados del sitio",
|
||||||
"customHtml": "HTML personalizado",
|
"customHtml": "HTML personalizado",
|
||||||
"customHtmlDescription": "Código HTML personalizado que se inyectará al final de la etiqueta body del sitio.",
|
"customHtmlDescription": "Código HTML personalizado que se inyectará al final de la etiqueta body del sitio.",
|
||||||
"keywords": "Palabras clave",
|
"keywords": "Palabras clave",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "لطفاً یک آدرس ایمیل معتبر وارد کنید.",
|
"email": "لطفاً یک آدرس ایمیل معتبر وارد کنید.",
|
||||||
"existingAccount": "آیا قبلاً حساب کاربری دارید؟",
|
"existingAccount": "آیا قبلاً حساب کاربری دارید؟",
|
||||||
"get": "دریافت",
|
"get": "دریافت",
|
||||||
"invite": "کد دعوت",
|
"invite": "کد دعوت (اختیاری)",
|
||||||
"message": "#### کاربر گرامی، سلام!\n\nاز توجه و حمایت شما سپاسگزاریم. به دلیل تغییرات در استراتژی عملیاتی سایت، عملکرد ثبتنام کاربران جدید را متوقف کردهایم. در این مدت، کاربران فعلی تحت تأثیر قرار نخواهند گرفت.\n\nما متعهد به ارائه خدمات و تجربه بهتر به شما هستیم، بنابراین در طول این دوره، بهینهسازی جامع سیستم و ارتقاء ویژگیها را انجام خواهیم داد. در آینده، با محتوای و خدمات بهتر از شما استقبال خواهیم کرد.\n\nلطفاً برای دریافت آخرین بهروزرسانیها و اطلاعیهها، وبسایت و پلتفرمهای اجتماعی ما را دنبال کنید. از درک و حمایت شما سپاسگزاریم.\n\nاگر سوالی دارید یا به کمک نیاز دارید، لطفاً با تیم خدمات مشتری ما تماس بگیرید.\n\n**بار دیگر از حمایت و درک شما سپاسگزاریم.**",
|
"message": "#### کاربر گرامی، سلام!\n\nاز توجه و حمایت شما سپاسگزاریم. به دلیل تغییرات در استراتژی عملیاتی سایت، عملکرد ثبتنام کاربران جدید را متوقف کردهایم. در این مدت، کاربران فعلی تحت تأثیر قرار نخواهند گرفت.\n\nما متعهد به ارائه خدمات و تجربه بهتر به شما هستیم، بنابراین در طول این دوره، بهینهسازی جامع سیستم و ارتقاء ویژگیها را انجام خواهیم داد. در آینده، با محتوای و خدمات بهتر از شما استقبال خواهیم کرد.\n\nلطفاً برای دریافت آخرین بهروزرسانیها و اطلاعیهها، وبسایت و پلتفرمهای اجتماعی ما را دنبال کنید. از درک و حمایت شما سپاسگزاریم.\n\nاگر سوالی دارید یا به کمک نیاز دارید، لطفاً با تیم خدمات مشتری ما تماس بگیرید.\n\n**بار دیگر از حمایت و درک شما سپاسگزاریم.**",
|
||||||
"passwordMismatch": "رمزهای عبور مطابقت ندارند",
|
"passwordMismatch": "رمزهای عبور مطابقت ندارند",
|
||||||
"success": "ثبتنام موفقیتآمیز بود، بهطور خودکار وارد شدید!",
|
"success": "ثبتنام موفقیتآمیز بود، بهطور خودکار وارد شدید!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "وضعیت",
|
"status": "وضعیت",
|
||||||
"subject": "موضوع",
|
"subject": "موضوع",
|
||||||
"template": "الگو",
|
"template": "الگو",
|
||||||
|
"traffic_exceed_email_template": "الگوی اعلان ترافیک بیش از حد",
|
||||||
|
"traffic_exceed_email_templateDescription": "جایگزینهای {after}.variable{before} با دادههای واقعی خواهد شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
|
||||||
"verify_email_template": "قالب ایمیل تأیید",
|
"verify_email_template": "قالب ایمیل تأیید",
|
||||||
"verify_email_templateDescription": "جایگذاریهای {after}.variable{before} با دادههای واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
|
"verify_email_templateDescription": "جایگذاریهای {after}.variable{before} با دادههای واقعی جایگزین خواهند شد. اطمینان حاصل کنید که این متغیرها را حفظ کنید.",
|
||||||
"whitelistSuffixes": "پسوندهای لیست سفید",
|
"whitelistSuffixes": "پسوندهای لیست سفید",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "سیاست حفظ حریم خصوصی"
|
"title": "سیاست حفظ حریم خصوصی"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "دادههای سفارشی",
|
||||||
|
"customDataDescription": "دادههای سفارشی، استفاده شده برای دادههای سفارشی سایت",
|
||||||
"customHtml": "HTML سفارشی",
|
"customHtml": "HTML سفارشی",
|
||||||
"customHtmlDescription": "کد HTML سفارشی که باید در انتهای تگ body سایت وارد شود.",
|
"customHtmlDescription": "کد HTML سفارشی که باید در انتهای تگ body سایت وارد شود.",
|
||||||
"keywords": "کلمات کلیدی",
|
"keywords": "کلمات کلیدی",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Anna kelvollinen sähköpostiosoite.",
|
"email": "Anna kelvollinen sähköpostiosoite.",
|
||||||
"existingAccount": "Onko sinulla jo tili?",
|
"existingAccount": "Onko sinulla jo tili?",
|
||||||
"get": "Hanki",
|
"get": "Hanki",
|
||||||
"invite": "Kutsukoodi",
|
"invite": "Kutsukoodi (valinnainen)",
|
||||||
"message": "#### Arvoisa käyttäjä,\n\nKiitos mielenkiinnostasi ja tuestasi. Sivuston toimintastrategian muutosten vuoksi olemme sulkeneet uusien käyttäjien rekisteröinnin. Tänä aikana nykyisten käyttäjien käyttö ei vaikutu millään tavalla.\n\nOlemme sitoutuneet tarjoamaan sinulle parempaa palvelua ja kokemusta, joten rekisteröinnin sulkemisen aikana suoritamme kattavan järjestelmän optimoinnin ja toiminnallisuuden päivityksen. Tulevaisuudessa toivotamme sinut tervetulleeksi entistä laadukkaamman sisällön ja palvelun kera.\n\nSeuraa verkkosivustoamme ja sosiaalisen median alustoja saadaksesi uusimmat päivitykset ja ilmoitukset. Kiitos ymmärryksestäsi ja tuestasi.\n\nJos sinulla on kysyttävää tai tarvitset apua, ota yhteyttä asiakaspalvelutiimiimme.\n\n**Kiitos vielä kerran tuestasi ja ymmärryksestäsi.**",
|
"message": "#### Arvoisa käyttäjä,\n\nKiitos mielenkiinnostasi ja tuestasi. Sivuston toimintastrategian muutosten vuoksi olemme sulkeneet uusien käyttäjien rekisteröinnin. Tänä aikana nykyisten käyttäjien käyttö ei vaikutu millään tavalla.\n\nOlemme sitoutuneet tarjoamaan sinulle parempaa palvelua ja kokemusta, joten rekisteröinnin sulkemisen aikana suoritamme kattavan järjestelmän optimoinnin ja toiminnallisuuden päivityksen. Tulevaisuudessa toivotamme sinut tervetulleeksi entistä laadukkaamman sisällön ja palvelun kera.\n\nSeuraa verkkosivustoamme ja sosiaalisen median alustoja saadaksesi uusimmat päivitykset ja ilmoitukset. Kiitos ymmärryksestäsi ja tuestasi.\n\nJos sinulla on kysyttävää tai tarvitset apua, ota yhteyttä asiakaspalvelutiimiimme.\n\n**Kiitos vielä kerran tuestasi ja ymmärryksestäsi.**",
|
||||||
"passwordMismatch": "Salasanat eivät täsmää",
|
"passwordMismatch": "Salasanat eivät täsmää",
|
||||||
"success": "Rekisteröinti onnistui, olet kirjautunut automaattisesti!",
|
"success": "Rekisteröinti onnistui, olet kirjautunut automaattisesti!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Tila",
|
"status": "Tila",
|
||||||
"subject": "Aihe",
|
"subject": "Aihe",
|
||||||
"template": "Malline",
|
"template": "Malline",
|
||||||
|
"traffic_exceed_email_template": "Liikenteen Ylitysilmoitusmalli",
|
||||||
|
"traffic_exceed_email_templateDescription": "{after}.variable{before} -paikat korvataan todellisilla tiedoilla. Varmista, että säilytät nämä muuttujat.",
|
||||||
"verify_email_template": "Sähköpostin Vahvistusmalli",
|
"verify_email_template": "Sähköpostin Vahvistusmalli",
|
||||||
"verify_email_templateDescription": "Paikkamerkit {after}.variable{before} korvataan todellisilla tiedoilla. Varmista, että pidät nämä muuttujat.",
|
"verify_email_templateDescription": "Paikkamerkit {after}.variable{before} korvataan todellisilla tiedoilla. Varmista, että pidät nämä muuttujat.",
|
||||||
"whitelistSuffixes": "Sallittujen luetteloiden päätteet",
|
"whitelistSuffixes": "Sallittujen luetteloiden päätteet",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Tietosuojakäytäntö"
|
"title": "Tietosuojakäytäntö"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Mukautettu tieto",
|
||||||
|
"customDataDescription": "Mukautettu tieto, jota käytetään sivuston mukautettuun tietoon",
|
||||||
"customHtml": "Mukautettu HTML",
|
"customHtml": "Mukautettu HTML",
|
||||||
"customHtmlDescription": "Mukautettu HTML-koodi, joka lisätään sivuston body -tagin loppuun.",
|
"customHtmlDescription": "Mukautettu HTML-koodi, joka lisätään sivuston body -tagin loppuun.",
|
||||||
"keywords": "Avainsanat",
|
"keywords": "Avainsanat",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Veuillez entrer une adresse e-mail valide.",
|
"email": "Veuillez entrer une adresse e-mail valide.",
|
||||||
"existingAccount": "Vous avez déjà un compte ?",
|
"existingAccount": "Vous avez déjà un compte ?",
|
||||||
"get": "Obtenir",
|
"get": "Obtenir",
|
||||||
"invite": "Code d'invitation",
|
"invite": "Code d'invitation (facultatif)",
|
||||||
"message": "#### Cher utilisateur,\n\nMerci pour votre intérêt et votre soutien. En raison d'un ajustement de notre stratégie opérationnelle, nous avons fermé la fonction d'inscription pour les nouveaux utilisateurs. Pendant cette période, l'utilisation par les utilisateurs existants ne sera pas affectée.\n\nNous nous engageons à vous offrir un meilleur service et une meilleure expérience, c'est pourquoi nous procéderons à une optimisation complète du système et à une mise à niveau des fonctionnalités pendant la fermeture des inscriptions. À l'avenir, nous vous accueillerons avec un contenu et des services de meilleure qualité.\n\nVeuillez suivre notre site web et nos plateformes de médias sociaux pour obtenir les dernières nouvelles et notifications. Merci pour votre compréhension et votre soutien.\n\nSi vous avez des questions ou avez besoin d'aide, n'hésitez pas à contacter notre équipe de service client.\n\n**Merci encore pour votre soutien et votre compréhension.**",
|
"message": "#### Cher utilisateur,\n\nMerci pour votre intérêt et votre soutien. En raison d'un ajustement de notre stratégie opérationnelle, nous avons fermé la fonction d'inscription pour les nouveaux utilisateurs. Pendant cette période, l'utilisation par les utilisateurs existants ne sera pas affectée.\n\nNous nous engageons à vous offrir un meilleur service et une meilleure expérience, c'est pourquoi nous procéderons à une optimisation complète du système et à une mise à niveau des fonctionnalités pendant la fermeture des inscriptions. À l'avenir, nous vous accueillerons avec un contenu et des services de meilleure qualité.\n\nVeuillez suivre notre site web et nos plateformes de médias sociaux pour obtenir les dernières nouvelles et notifications. Merci pour votre compréhension et votre soutien.\n\nSi vous avez des questions ou avez besoin d'aide, n'hésitez pas à contacter notre équipe de service client.\n\n**Merci encore pour votre soutien et votre compréhension.**",
|
||||||
"passwordMismatch": "Les mots de passe saisis ne correspondent pas",
|
"passwordMismatch": "Les mots de passe saisis ne correspondent pas",
|
||||||
"success": "Inscription réussie, vous êtes maintenant connecté automatiquement !",
|
"success": "Inscription réussie, vous êtes maintenant connecté automatiquement !",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Statut",
|
"status": "Statut",
|
||||||
"subject": "Sujet",
|
"subject": "Sujet",
|
||||||
"template": "Modèle",
|
"template": "Modèle",
|
||||||
|
"traffic_exceed_email_template": "Modèle de notification de dépassement de trafic",
|
||||||
|
"traffic_exceed_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.",
|
||||||
"verify_email_template": "Modèle d'Email de Vérification",
|
"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.",
|
"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.",
|
||||||
"whitelistSuffixes": "Suffixes de la liste blanche",
|
"whitelistSuffixes": "Suffixes de la liste blanche",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Politique de confidentialité"
|
"title": "Politique de confidentialité"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Données personnalisées",
|
||||||
|
"customDataDescription": "Données personnalisées, utilisées pour les données personnalisées du site",
|
||||||
"customHtml": "HTML personnalisé",
|
"customHtml": "HTML personnalisé",
|
||||||
"customHtmlDescription": "Code HTML personnalisé à injecter dans le bas de la balise body du site.",
|
"customHtmlDescription": "Code HTML personnalisé à injecter dans le bas de la balise body du site.",
|
||||||
"keywords": "Mots-clés",
|
"keywords": "Mots-clés",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "कृपया एक मान्य ईमेल पता दर्ज करें।",
|
"email": "कृपया एक मान्य ईमेल पता दर्ज करें।",
|
||||||
"existingAccount": "पहले से खाता है?",
|
"existingAccount": "पहले से खाता है?",
|
||||||
"get": "प्राप्त करें",
|
"get": "प्राप्त करें",
|
||||||
"invite": "आमंत्रण कोड",
|
"invite": "आमंत्रण कोड (वैकल्पिक)",
|
||||||
"message": "#### प्रिय उपयोगकर्ता, नमस्ते!\n\nहमारे प्रति आपकी रुचि और समर्थन के लिए धन्यवाद। साइट संचालन रणनीति में बदलाव के कारण, हमने नए उपयोगकर्ता पंजीकरण को बंद कर दिया है। इस दौरान, मौजूदा उपयोगकर्ताओं के उपयोग पर कोई प्रभाव नहीं पड़ेगा।\n\nहम आपको बेहतर सेवा और अनुभव प्रदान करने के लिए प्रतिबद्ध हैं, इसलिए पंजीकरण बंद होने के दौरान हम व्यापक प्रणाली अनुकूलन और कार्यक्षमता उन्नयन करेंगे। भविष्य में, हम आपको बेहतर सामग्री और सेवाओं के साथ स्वागत करेंगे।\n\nहमारी वेबसाइट और सोशल मीडिया प्लेटफॉर्म पर नवीनतम अपडेट और सूचनाएं प्राप्त करने के लिए ध्यान दें। आपकी समझ और समर्थन के लिए धन्यवाद।\n\nयदि आपके कोई प्रश्न हैं या सहायता की आवश्यकता है, तो कृपया हमारी ग्राहक सेवा टीम से संपर्क करें।\n\n**आपके समर्थन और समझ के लिए एक बार फिर धन्यवाद।**",
|
"message": "#### प्रिय उपयोगकर्ता, नमस्ते!\n\nहमारे प्रति आपकी रुचि और समर्थन के लिए धन्यवाद। साइट संचालन रणनीति में बदलाव के कारण, हमने नए उपयोगकर्ता पंजीकरण को बंद कर दिया है। इस दौरान, मौजूदा उपयोगकर्ताओं के उपयोग पर कोई प्रभाव नहीं पड़ेगा।\n\nहम आपको बेहतर सेवा और अनुभव प्रदान करने के लिए प्रतिबद्ध हैं, इसलिए पंजीकरण बंद होने के दौरान हम व्यापक प्रणाली अनुकूलन और कार्यक्षमता उन्नयन करेंगे। भविष्य में, हम आपको बेहतर सामग्री और सेवाओं के साथ स्वागत करेंगे।\n\nहमारी वेबसाइट और सोशल मीडिया प्लेटफॉर्म पर नवीनतम अपडेट और सूचनाएं प्राप्त करने के लिए ध्यान दें। आपकी समझ और समर्थन के लिए धन्यवाद।\n\nयदि आपके कोई प्रश्न हैं या सहायता की आवश्यकता है, तो कृपया हमारी ग्राहक सेवा टीम से संपर्क करें।\n\n**आपके समर्थन और समझ के लिए एक बार फिर धन्यवाद।**",
|
||||||
"passwordMismatch": "दोनों बार दर्ज किया गया पासवर्ड मेल नहीं खा रहा है",
|
"passwordMismatch": "दोनों बार दर्ज किया गया पासवर्ड मेल नहीं खा रहा है",
|
||||||
"success": "पंजीकरण सफल, स्वचालित रूप से लॉग इन हो गया!",
|
"success": "पंजीकरण सफल, स्वचालित रूप से लॉग इन हो गया!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "स्थिति",
|
"status": "स्थिति",
|
||||||
"subject": "विषय",
|
"subject": "विषय",
|
||||||
"template": "टेम्पलेट",
|
"template": "टेम्पलेट",
|
||||||
|
"traffic_exceed_email_template": "ट्रैफिक अधिकता सूचना टेम्पलेट",
|
||||||
|
"traffic_exceed_email_templateDescription": "{after}.variable{before} प्लेसहोल्डर्स को वास्तविक डेटा के साथ प्रतिस्थापित किया जाएगा। सुनिश्चित करें कि इन वेरिएबल्स को बनाए रखें।",
|
||||||
"verify_email_template": "सत्यापन ईमेल टेम्पलेट",
|
"verify_email_template": "सत्यापन ईमेल टेम्पलेट",
|
||||||
"verify_email_templateDescription": "{after}.variable{before} प्लेसहोल्डर्स को वास्तविक डेटा से बदला जाएगा। सुनिश्चित करें कि इन वेरिएबल्स को बनाए रखें।",
|
"verify_email_templateDescription": "{after}.variable{before} प्लेसहोल्डर्स को वास्तविक डेटा से बदला जाएगा। सुनिश्चित करें कि इन वेरिएबल्स को बनाए रखें।",
|
||||||
"whitelistSuffixes": "श्वेतसूची प्रत्यय",
|
"whitelistSuffixes": "श्वेतसूची प्रत्यय",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "गोपनीयता नीति"
|
"title": "गोपनीयता नीति"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "कस्टम डेटा",
|
||||||
|
"customDataDescription": "कस्टम डेटा, साइट के कस्टम डेटा के लिए उपयोग किया जाता है",
|
||||||
"customHtml": "कस्टम HTML",
|
"customHtml": "कस्टम HTML",
|
||||||
"customHtmlDescription": "साइट के bodyैग के नीचे इंजेक्ट करने के लिए कस्टम HTML कोड।",
|
"customHtmlDescription": "साइट के bodyैग के नीचे इंजेक्ट करने के लिए कस्टम HTML कोड।",
|
||||||
"keywords": "कीवर्ड",
|
"keywords": "कीवर्ड",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Kérjük, adjon meg egy érvényes e-mail címet.",
|
"email": "Kérjük, adjon meg egy érvényes e-mail címet.",
|
||||||
"existingAccount": "Már van fiókja?",
|
"existingAccount": "Már van fiókja?",
|
||||||
"get": "Megkap",
|
"get": "Megkap",
|
||||||
"invite": "Meghívókód",
|
"invite": "Meghívó kód (opcionális)",
|
||||||
"message": "#### Tisztelt Felhasználó!\n\nKöszönjük érdeklődését és támogatását. Az oldal működési stratégiájának módosítása miatt lezártuk az új felhasználók regisztrációját. Ez idő alatt a meglévő felhasználók használata nem lesz érintett.\n\nElkötelezettek vagyunk abban, hogy jobb szolgáltatást és élményt nyújtsunk Önnek, ezért a regisztráció lezárása alatt átfogó rendszeroptimalizálást és funkciófrissítést hajtunk végre. A jövőben még jobb tartalommal és szolgáltatásokkal várjuk Önt.\n\nKérjük, kövesse weboldalunkat és közösségi média platformjainkat, hogy megkapja a legfrissebb híreket és értesítéseket. Köszönjük megértését és támogatását.\n\nHa bármilyen kérdése van, vagy segítségre van szüksége, kérjük, forduljon ügyfélszolgálati csapatunkhoz.\n\n**Még egyszer köszönjük támogatását és megértését.**",
|
"message": "#### Tisztelt Felhasználó!\n\nKöszönjük érdeklődését és támogatását. Az oldal működési stratégiájának módosítása miatt lezártuk az új felhasználók regisztrációját. Ez idő alatt a meglévő felhasználók használata nem lesz érintett.\n\nElkötelezettek vagyunk abban, hogy jobb szolgáltatást és élményt nyújtsunk Önnek, ezért a regisztráció lezárása alatt átfogó rendszeroptimalizálást és funkciófrissítést hajtunk végre. A jövőben még jobb tartalommal és szolgáltatásokkal várjuk Önt.\n\nKérjük, kövesse weboldalunkat és közösségi média platformjainkat, hogy megkapja a legfrissebb híreket és értesítéseket. Köszönjük megértését és támogatását.\n\nHa bármilyen kérdése van, vagy segítségre van szüksége, kérjük, forduljon ügyfélszolgálati csapatunkhoz.\n\n**Még egyszer köszönjük támogatását és megértését.**",
|
||||||
"passwordMismatch": "A két jelszó nem egyezik meg",
|
"passwordMismatch": "A két jelszó nem egyezik meg",
|
||||||
"success": "Sikeres regisztráció, automatikusan bejelentkezett!",
|
"success": "Sikeres regisztráció, automatikusan bejelentkezett!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Állapot",
|
"status": "Állapot",
|
||||||
"subject": "Tárgy",
|
"subject": "Tárgy",
|
||||||
"template": "Sablon",
|
"template": "Sablon",
|
||||||
|
"traffic_exceed_email_template": "Forgalmi Túllépés Értesítő Sablon",
|
||||||
|
"traffic_exceed_email_templateDescription": "A {after}.variable{before} helyettesítők tényleges adatokkal lesznek helyettesítve. Győződjön meg róla, hogy ezeket a változókat megőrzi.",
|
||||||
"verify_email_template": "Ellenőrző Email Sablon",
|
"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.",
|
"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.",
|
||||||
"whitelistSuffixes": "Engedélyezett utótagok",
|
"whitelistSuffixes": "Engedélyezett utótagok",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Adatvédelmi irányelvek"
|
"title": "Adatvédelmi irányelvek"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Egyedi adatok",
|
||||||
|
"customDataDescription": "Egyedi adatok, a webhely egyedi adatainak használatára",
|
||||||
"customHtml": "Egyedi HTML",
|
"customHtml": "Egyedi HTML",
|
||||||
"customHtmlDescription": "Egyedi HTML kód, amelyet a webhely bodyímkéjének aljára kell beilleszteni.",
|
"customHtmlDescription": "Egyedi HTML kód, amelyet a webhely bodyímkéjének aljára kell beilleszteni.",
|
||||||
"keywords": "Kulcsszavak",
|
"keywords": "Kulcsszavak",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "有効なメールアドレスを入力してください。",
|
"email": "有効なメールアドレスを入力してください。",
|
||||||
"existingAccount": "すでにアカウントをお持ちですか?",
|
"existingAccount": "すでにアカウントをお持ちですか?",
|
||||||
"get": "取得",
|
"get": "取得",
|
||||||
"invite": "招待コード",
|
"invite": "招待コード(任意)",
|
||||||
"message": "#### 親愛なるユーザーの皆様へ\n\n私たちのサイトにご関心とご支援をいただき、誠にありがとうございます。運営方針の調整に伴い、新規ユーザー登録機能を停止いたしました。この期間中、既存ユーザーのご利用には影響はございません。\n\nより良いサービスと体験を提供するため、登録停止期間中にシステムの全面的な最適化と機能のアップグレードを行います。今後、より質の高いコンテンツとサービスで皆様をお迎えいたします。\n\n最新の情報や通知を得るために、当社のウェブサイトやソーシャルメディアプラットフォームをご覧ください。ご理解とご支援に感謝いたします。\n\nご不明な点やご質問がございましたら、いつでもカスタマーサポートチームにお問い合わせください。\n\n**改めてご支援とご理解に感謝いたします。**",
|
"message": "#### 親愛なるユーザーの皆様へ\n\n私たちのサイトにご関心とご支援をいただき、誠にありがとうございます。運営方針の調整に伴い、新規ユーザー登録機能を停止いたしました。この期間中、既存ユーザーのご利用には影響はございません。\n\nより良いサービスと体験を提供するため、登録停止期間中にシステムの全面的な最適化と機能のアップグレードを行います。今後、より質の高いコンテンツとサービスで皆様をお迎えいたします。\n\n最新の情報や通知を得るために、当社のウェブサイトやソーシャルメディアプラットフォームをご覧ください。ご理解とご支援に感謝いたします。\n\nご不明な点やご質問がございましたら、いつでもカスタマーサポートチームにお問い合わせください。\n\n**改めてご支援とご理解に感謝いたします。**",
|
||||||
"passwordMismatch": "パスワードが一致しません",
|
"passwordMismatch": "パスワードが一致しません",
|
||||||
"success": "登録が成功しました。自動的にログインしました!",
|
"success": "登録が成功しました。自動的にログインしました!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "ステータス",
|
"status": "ステータス",
|
||||||
"subject": "件名",
|
"subject": "件名",
|
||||||
"template": "テンプレート",
|
"template": "テンプレート",
|
||||||
|
"traffic_exceed_email_template": "トラフィック超過通知テンプレート",
|
||||||
|
"traffic_exceed_email_templateDescription": "{after}と{before}の変数は実際のデータに置き換えられます。これらの変数を保持することを確認してください。",
|
||||||
"verify_email_template": "確認メールテンプレート",
|
"verify_email_template": "確認メールテンプレート",
|
||||||
"verify_email_templateDescription": "{after}.variable{before} のプレースホルダーは実際のデータに置き換えられます。これらの変数を保持してください。",
|
"verify_email_templateDescription": "{after}.variable{before} のプレースホルダーは実際のデータに置き換えられます。これらの変数を保持してください。",
|
||||||
"whitelistSuffixes": "ホワイトリストのサフィックス",
|
"whitelistSuffixes": "ホワイトリストのサフィックス",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "プライバシーポリシー"
|
"title": "プライバシーポリシー"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "カスタムデータ",
|
||||||
|
"customDataDescription": "サイトのカスタムデータに使用されるカスタムデータ",
|
||||||
"customHtml": "カスタムHTML",
|
"customHtml": "カスタムHTML",
|
||||||
"customHtmlDescription": "サイトの body タグの下部に挿入されるカスタム HTML コード。",
|
"customHtmlDescription": "サイトの body タグの下部に挿入されるカスタム HTML コード。",
|
||||||
"keywords": "キーワード",
|
"keywords": "キーワード",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "유효한 이메일 주소를 입력하세요.",
|
"email": "유효한 이메일 주소를 입력하세요.",
|
||||||
"existingAccount": "이미 계정이 있으신가요?",
|
"existingAccount": "이미 계정이 있으신가요?",
|
||||||
"get": "받기",
|
"get": "받기",
|
||||||
"invite": "초대 코드",
|
"invite": "초대 코드 (선택 사항)",
|
||||||
"message": "#### 존경하는 사용자님, 안녕하세요!\n\n저희에 대한 관심과 지원에 감사드립니다. 사이트 운영 전략의 조정으로 인해 신규 사용자 등록 기능을 닫았습니다. 이 기간 동안 기존 사용자의 사용에는 아무런 영향이 없습니다.\n\n저희는 더 나은 서비스와 경험을 제공하기 위해 등록이 닫힌 동안 시스템 최적화와 기능 업그레이드를 전면적으로 진행할 것입니다. 앞으로 더 나은 콘텐츠와 서비스로 여러분을 맞이하겠습니다.\n\n저희 웹사이트와 소셜 미디어 플랫폼을 주시하여 최신 동향과 공지를 받아보세요. 이해와 지원에 감사드립니다.\n\n궁금한 점이나 도움이 필요하시면 언제든지 고객 서비스 팀에 문의해 주세요.\n\n**다시 한번 지원과 이해에 감사드립니다.**",
|
"message": "#### 존경하는 사용자님, 안녕하세요!\n\n저희에 대한 관심과 지원에 감사드립니다. 사이트 운영 전략의 조정으로 인해 신규 사용자 등록 기능을 닫았습니다. 이 기간 동안 기존 사용자의 사용에는 아무런 영향이 없습니다.\n\n저희는 더 나은 서비스와 경험을 제공하기 위해 등록이 닫힌 동안 시스템 최적화와 기능 업그레이드를 전면적으로 진행할 것입니다. 앞으로 더 나은 콘텐츠와 서비스로 여러분을 맞이하겠습니다.\n\n저희 웹사이트와 소셜 미디어 플랫폼을 주시하여 최신 동향과 공지를 받아보세요. 이해와 지원에 감사드립니다.\n\n궁금한 점이나 도움이 필요하시면 언제든지 고객 서비스 팀에 문의해 주세요.\n\n**다시 한번 지원과 이해에 감사드립니다.**",
|
||||||
"passwordMismatch": "비밀번호가 일치하지 않습니다.",
|
"passwordMismatch": "비밀번호가 일치하지 않습니다.",
|
||||||
"success": "등록 성공, 자동으로 로그인되었습니다!",
|
"success": "등록 성공, 자동으로 로그인되었습니다!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "상태",
|
"status": "상태",
|
||||||
"subject": "제목",
|
"subject": "제목",
|
||||||
"template": "템플릿",
|
"template": "템플릿",
|
||||||
|
"traffic_exceed_email_template": "트래픽 초과 알림 템플릿",
|
||||||
|
"traffic_exceed_email_templateDescription": "{after}.variable{before} 자리표시는 실제 데이터로 대체됩니다. 이러한 변수를 유지해야 합니다.",
|
||||||
"verify_email_template": "이메일 인증 템플릿",
|
"verify_email_template": "이메일 인증 템플릿",
|
||||||
"verify_email_templateDescription": "{after}.variable{before} 자리표시는 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하십시오.",
|
"verify_email_templateDescription": "{after}.variable{before} 자리표시는 실제 데이터로 대체됩니다. 이 변수를 반드시 유지하십시오.",
|
||||||
"whitelistSuffixes": "허용 목록 접미사",
|
"whitelistSuffixes": "허용 목록 접미사",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "개인정보 처리방침"
|
"title": "개인정보 처리방침"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "사용자 정의 데이터",
|
||||||
|
"customDataDescription": "사이트의 사용자 정의 데이터에 사용되는 사용자 정의 데이터",
|
||||||
"customHtml": "사용자 정의 HTML",
|
"customHtml": "사용자 정의 HTML",
|
||||||
"customHtmlDescription": "사이트의 body그 하단에 삽입될 사용자 정의 HTML 코드입니다.",
|
"customHtmlDescription": "사이트의 body그 하단에 삽입될 사용자 정의 HTML 코드입니다.",
|
||||||
"keywords": "키워드",
|
"keywords": "키워드",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Vennligst skriv inn en gyldig e-postadresse.",
|
"email": "Vennligst skriv inn en gyldig e-postadresse.",
|
||||||
"existingAccount": "Har du allerede en konto?",
|
"existingAccount": "Har du allerede en konto?",
|
||||||
"get": "Få",
|
"get": "Få",
|
||||||
"invite": "Invitasjonskode",
|
"invite": "Invitasjonskode (valgfritt)",
|
||||||
"message": "#### Kjære bruker,\n\nTakk for din interesse og støtte. På grunn av justeringer i vår driftsstrategi har vi stengt for registrering av nye brukere. I denne perioden vil eksisterende brukere ikke bli påvirket.\n\nVi er forpliktet til å gi deg bedre service og opplevelse, og vil derfor gjennomføre en omfattende systemoptimalisering og funksjonsoppgradering mens registreringen er stengt. I fremtiden vil vi ønske deg velkommen med bedre innhold og tjenester.\n\nFølg med på vår nettside og sosiale medieplattformer for å få de siste oppdateringene og kunngjøringene. Takk for din forståelse og støtte.\n\nHvis du har spørsmål eller trenger hjelp, vennligst kontakt vårt kundeserviceteam.\n\n**Takk igjen for din støtte og forståelse.**",
|
"message": "#### Kjære bruker,\n\nTakk for din interesse og støtte. På grunn av justeringer i vår driftsstrategi har vi stengt for registrering av nye brukere. I denne perioden vil eksisterende brukere ikke bli påvirket.\n\nVi er forpliktet til å gi deg bedre service og opplevelse, og vil derfor gjennomføre en omfattende systemoptimalisering og funksjonsoppgradering mens registreringen er stengt. I fremtiden vil vi ønske deg velkommen med bedre innhold og tjenester.\n\nFølg med på vår nettside og sosiale medieplattformer for å få de siste oppdateringene og kunngjøringene. Takk for din forståelse og støtte.\n\nHvis du har spørsmål eller trenger hjelp, vennligst kontakt vårt kundeserviceteam.\n\n**Takk igjen for din støtte og forståelse.**",
|
||||||
"passwordMismatch": "Passordene stemmer ikke overens",
|
"passwordMismatch": "Passordene stemmer ikke overens",
|
||||||
"success": "Registrering vellykket, du er nå automatisk logget inn!",
|
"success": "Registrering vellykket, du er nå automatisk logget inn!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Status",
|
"status": "Status",
|
||||||
"subject": "Emne",
|
"subject": "Emne",
|
||||||
"template": "Mal",
|
"template": "Mal",
|
||||||
|
"traffic_exceed_email_template": "Varsel om overskridelse av trafikk",
|
||||||
|
"traffic_exceed_email_templateDescription": "Plassholderne {after}.variable{before} vil bli erstattet med faktiske data. Sørg for å beholde disse variablene.",
|
||||||
"verify_email_template": "Verifikasjons-e-postmal",
|
"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.",
|
"verify_email_templateDescription": "Plassholderne {after}.variable{before} vil bli erstattet med faktiske data. Sørg for å beholde disse variablene.",
|
||||||
"whitelistSuffixes": "Hvitelistesuffikser",
|
"whitelistSuffixes": "Hvitelistesuffikser",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Personvernerklæring"
|
"title": "Personvernerklæring"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Egendata",
|
||||||
|
"customDataDescription": "Egendata, brukt for egendata på nettstedet",
|
||||||
"customHtml": "Egendefinert HTML",
|
"customHtml": "Egendefinert HTML",
|
||||||
"customHtmlDescription": "Egendefinert HTML-kode som skal settes inn i bunnen av nettstedets body-tag.",
|
"customHtmlDescription": "Egendefinert HTML-kode som skal settes inn i bunnen av nettstedets body-tag.",
|
||||||
"keywords": "Nøkkelord",
|
"keywords": "Nøkkelord",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Proszę wprowadzić prawidłowy adres e-mail.",
|
"email": "Proszę wprowadzić prawidłowy adres e-mail.",
|
||||||
"existingAccount": "Masz już konto?",
|
"existingAccount": "Masz już konto?",
|
||||||
"get": "Pobierz",
|
"get": "Pobierz",
|
||||||
"invite": "Kod zaproszenia",
|
"invite": "Kod zaproszenia (opcjonalnie)",
|
||||||
"message": "#### Szanowny Użytkowniku,\n\nDziękujemy za Twoje zainteresowanie i wsparcie. Ze względu na zmianę strategii operacyjnej serwisu, zamknęliśmy funkcję rejestracji nowych użytkowników. W tym czasie korzystanie z serwisu przez obecnych użytkowników nie będzie w żaden sposób ograniczone.\n\nDążymy do zapewnienia lepszej obsługi i doświadczeń, dlatego w okresie zamknięcia rejestracji przeprowadzimy kompleksową optymalizację systemu i aktualizację funkcji. W przyszłości powitamy Cię z lepszą jakością treści i usług.\n\nŚledź naszą stronę internetową i platformy społecznościowe, aby uzyskać najnowsze informacje i powiadomienia. Dziękujemy za zrozumienie i wsparcie.\n\nW razie jakichkolwiek pytań lub potrzeby pomocy, skontaktuj się z naszym zespołem obsługi klienta.\n\n**Jeszcze raz dziękujemy za Twoje wsparcie i zrozumienie.**",
|
"message": "#### Szanowny Użytkowniku,\n\nDziękujemy za Twoje zainteresowanie i wsparcie. Ze względu na zmianę strategii operacyjnej serwisu, zamknęliśmy funkcję rejestracji nowych użytkowników. W tym czasie korzystanie z serwisu przez obecnych użytkowników nie będzie w żaden sposób ograniczone.\n\nDążymy do zapewnienia lepszej obsługi i doświadczeń, dlatego w okresie zamknięcia rejestracji przeprowadzimy kompleksową optymalizację systemu i aktualizację funkcji. W przyszłości powitamy Cię z lepszą jakością treści i usług.\n\nŚledź naszą stronę internetową i platformy społecznościowe, aby uzyskać najnowsze informacje i powiadomienia. Dziękujemy za zrozumienie i wsparcie.\n\nW razie jakichkolwiek pytań lub potrzeby pomocy, skontaktuj się z naszym zespołem obsługi klienta.\n\n**Jeszcze raz dziękujemy za Twoje wsparcie i zrozumienie.**",
|
||||||
"passwordMismatch": "Wprowadzone hasła nie są zgodne",
|
"passwordMismatch": "Wprowadzone hasła nie są zgodne",
|
||||||
"success": "Rejestracja zakończona sukcesem, automatycznie zalogowano!",
|
"success": "Rejestracja zakończona sukcesem, automatycznie zalogowano!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Status",
|
"status": "Status",
|
||||||
"subject": "Temat",
|
"subject": "Temat",
|
||||||
"template": "Szablon",
|
"template": "Szablon",
|
||||||
|
"traffic_exceed_email_template": "Szablon powiadomienia o przekroczeniu ruchu",
|
||||||
|
"traffic_exceed_email_templateDescription": "Miejsca {after}.variable{before} zostaną zastąpione rzeczywistymi danymi. Upewnij się, że te zmienne są zachowane.",
|
||||||
"verify_email_template": "Szablon e-maila weryfikacyjnego",
|
"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.",
|
"verify_email_templateDescription": "Elementy zastępcze {after}.variable{before} zostaną zastąpione rzeczywistymi danymi. Upewnij się, że te zmienne zostaną zachowane.",
|
||||||
"whitelistSuffixes": "Dozwolone Sufiksy",
|
"whitelistSuffixes": "Dozwolone Sufiksy",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Polityka prywatności"
|
"title": "Polityka prywatności"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Dane niestandardowe",
|
||||||
|
"customDataDescription": "Dane niestandardowe, używane do niestandardowych danych witryny",
|
||||||
"customHtml": "Niestandardowy HTML",
|
"customHtml": "Niestandardowy HTML",
|
||||||
"customHtmlDescription": "Niestandardowy kod HTML, który ma być wstrzyknięty na końcu tagu bodyitryny.",
|
"customHtmlDescription": "Niestandardowy kod HTML, który ma być wstrzyknięty na końcu tagu bodyitryny.",
|
||||||
"keywords": "Słowa kluczowe",
|
"keywords": "Słowa kluczowe",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Por favor, insira um endereço de e-mail válido.",
|
"email": "Por favor, insira um endereço de e-mail válido.",
|
||||||
"existingAccount": "Já tem uma conta?",
|
"existingAccount": "Já tem uma conta?",
|
||||||
"get": "Obter",
|
"get": "Obter",
|
||||||
"invite": "Código de convite",
|
"invite": "Código de convite (opcional)",
|
||||||
"message": "#### Prezado usuário,\n\nAgradecemos seu interesse e apoio. Devido a ajustes na estratégia de operação do site, fechamos o registro de novos usuários. Durante este período, o uso por usuários existentes não será afetado.\n\nEstamos comprometidos em oferecer um serviço e experiência melhores, por isso realizaremos uma otimização completa do sistema e atualizações de funcionalidades durante o fechamento do registro. No futuro, receberemos você com conteúdo e serviços de maior qualidade.\n\nAcompanhe nosso site e plataformas de mídia social para obter as últimas atualizações e notificações. Agradecemos sua compreensão e apoio.\n\nSe tiver dúvidas ou precisar de ajuda, entre em contato com nossa equipe de atendimento ao cliente.\n\n**Mais uma vez, obrigado por seu apoio e compreensão.**",
|
"message": "#### Prezado usuário,\n\nAgradecemos seu interesse e apoio. Devido a ajustes na estratégia de operação do site, fechamos o registro de novos usuários. Durante este período, o uso por usuários existentes não será afetado.\n\nEstamos comprometidos em oferecer um serviço e experiência melhores, por isso realizaremos uma otimização completa do sistema e atualizações de funcionalidades durante o fechamento do registro. No futuro, receberemos você com conteúdo e serviços de maior qualidade.\n\nAcompanhe nosso site e plataformas de mídia social para obter as últimas atualizações e notificações. Agradecemos sua compreensão e apoio.\n\nSe tiver dúvidas ou precisar de ajuda, entre em contato com nossa equipe de atendimento ao cliente.\n\n**Mais uma vez, obrigado por seu apoio e compreensão.**",
|
||||||
"passwordMismatch": "As senhas digitadas não coincidem",
|
"passwordMismatch": "As senhas digitadas não coincidem",
|
||||||
"success": "Registro bem-sucedido, login automático realizado!",
|
"success": "Registro bem-sucedido, login automático realizado!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Status",
|
"status": "Status",
|
||||||
"subject": "Assunto",
|
"subject": "Assunto",
|
||||||
"template": "Modelo",
|
"template": "Modelo",
|
||||||
|
"traffic_exceed_email_template": "Modelo de Notificação de Excesso de Tráfego",
|
||||||
|
"traffic_exceed_email_templateDescription": "Os espaços reservados {after}.variable{before} serão substituídos por dados reais. Certifique-se de manter essas variáveis.",
|
||||||
"verify_email_template": "Modelo de E-mail de Verificação",
|
"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.",
|
"verify_email_templateDescription": "Os marcadores {after}.variable{before} serão substituídos por dados reais. Certifique-se de manter essas variáveis.",
|
||||||
"whitelistSuffixes": "Sufixos de Lista Branca",
|
"whitelistSuffixes": "Sufixos de Lista Branca",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Política de Privacidade"
|
"title": "Política de Privacidade"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Dados Personalizados",
|
||||||
|
"customDataDescription": "Dados personalizados, usados para dados personalizados do site",
|
||||||
"customHtml": "HTML Personalizado",
|
"customHtml": "HTML Personalizado",
|
||||||
"customHtmlDescription": "Código HTML personalizado a ser inserido no final da tag bodyo site.",
|
"customHtmlDescription": "Código HTML personalizado a ser inserido no final da tag bodyo site.",
|
||||||
"keywords": "Palavras-chave",
|
"keywords": "Palavras-chave",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Vă rugăm să introduceți o adresă de email validă.",
|
"email": "Vă rugăm să introduceți o adresă de email validă.",
|
||||||
"existingAccount": "Aveți deja un cont?",
|
"existingAccount": "Aveți deja un cont?",
|
||||||
"get": "Obțineți",
|
"get": "Obțineți",
|
||||||
"invite": "Cod de invitație",
|
"invite": "Cod de invitație (opțional)",
|
||||||
"message": "#### Stimate utilizator,\n\nVă mulțumim pentru interesul și sprijinul acordat. Datorită ajustării strategiei de operare a site-ului, am închis funcția de înregistrare a utilizatorilor noi. În această perioadă, utilizatorii existenți nu vor fi afectați în niciun fel.\n\nNe angajăm să vă oferim servicii și experiențe mai bune, așa că vom efectua optimizări complete ale sistemului și actualizări ale funcționalităților în perioada în care înregistrarea este închisă. În viitor, vă vom întâmpina cu conținut și servicii de calitate superioară.\n\nVă rugăm să urmăriți site-ul nostru și platformele de social media pentru a obține cele mai recente actualizări și notificări. Vă mulțumim pentru înțelegerea și sprijinul dvs.\n\nDacă aveți întrebări sau aveți nevoie de ajutor, nu ezitați să contactați echipa noastră de asistență clienți.\n\n**Vă mulțumim din nou pentru sprijinul și înțelegerea dvs.**",
|
"message": "#### Stimate utilizator,\n\nVă mulțumim pentru interesul și sprijinul acordat. Datorită ajustării strategiei de operare a site-ului, am închis funcția de înregistrare a utilizatorilor noi. În această perioadă, utilizatorii existenți nu vor fi afectați în niciun fel.\n\nNe angajăm să vă oferim servicii și experiențe mai bune, așa că vom efectua optimizări complete ale sistemului și actualizări ale funcționalităților în perioada în care înregistrarea este închisă. În viitor, vă vom întâmpina cu conținut și servicii de calitate superioară.\n\nVă rugăm să urmăriți site-ul nostru și platformele de social media pentru a obține cele mai recente actualizări și notificări. Vă mulțumim pentru înțelegerea și sprijinul dvs.\n\nDacă aveți întrebări sau aveți nevoie de ajutor, nu ezitați să contactați echipa noastră de asistență clienți.\n\n**Vă mulțumim din nou pentru sprijinul și înțelegerea dvs.**",
|
||||||
"passwordMismatch": "Parolele introduse nu se potrivesc",
|
"passwordMismatch": "Parolele introduse nu se potrivesc",
|
||||||
"success": "Înregistrare reușită, ați fost conectat automat!",
|
"success": "Înregistrare reușită, ați fost conectat automat!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Stare",
|
"status": "Stare",
|
||||||
"subject": "Subiect",
|
"subject": "Subiect",
|
||||||
"template": "Șablon",
|
"template": "Șablon",
|
||||||
|
"traffic_exceed_email_template": "Șablon de notificare a depășirii traficului",
|
||||||
|
"traffic_exceed_email_templateDescription": "Plasamentele {after}.variable{before} vor fi înlocuite cu datele reale. Asigurați-vă că păstrați aceste variabile.",
|
||||||
"verify_email_template": "Șablon de e-mail pentru verificare",
|
"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.",
|
"verify_email_templateDescription": "Locurile rezervate {after}.variable{before} vor fi înlocuite cu date reale. Asigurați-vă că păstrați aceste variabile.",
|
||||||
"whitelistSuffixes": "Sufixe pe lista albă",
|
"whitelistSuffixes": "Sufixe pe lista albă",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Politica de confidențialitate"
|
"title": "Politica de confidențialitate"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Date personalizate",
|
||||||
|
"customDataDescription": "Date personalizate, utilizate pentru datele personalizate ale site-ului",
|
||||||
"customHtml": "HTML personalizat",
|
"customHtml": "HTML personalizat",
|
||||||
"customHtmlDescription": "Cod HTML personalizat care va fi injectat în partea de jos a etichetei body a site-ului.",
|
"customHtmlDescription": "Cod HTML personalizat care va fi injectat în partea de jos a etichetei body a site-ului.",
|
||||||
"keywords": "Cuvinte cheie",
|
"keywords": "Cuvinte cheie",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Пожалуйста, введите действительный адрес электронной почты.",
|
"email": "Пожалуйста, введите действительный адрес электронной почты.",
|
||||||
"existingAccount": "Уже есть аккаунт?",
|
"existingAccount": "Уже есть аккаунт?",
|
||||||
"get": "Получить",
|
"get": "Получить",
|
||||||
"invite": "Код приглашения",
|
"invite": "Код приглашения (необязательно)",
|
||||||
"message": "#### Уважаемый пользователь!\n\nБлагодарим вас за интерес и поддержку. В связи с изменением стратегии работы сайта, мы закрыли функцию регистрации новых пользователей. В этот период использование существующими пользователями не будет затронуто.\n\nМы стремимся предоставить вам лучший сервис и опыт, поэтому в период закрытия регистрации будет проведена полная оптимизация системы и обновление функций. В будущем мы встретим вас с более качественным контентом и услугами.\n\nПожалуйста, следите за нашим сайтом и социальными сетями, чтобы получать последние новости и уведомления. Благодарим за ваше понимание и поддержку.\n\nЕсли у вас есть вопросы или нужна помощь, пожалуйста, свяжитесь с нашей службой поддержки.\n\n**Еще раз благодарим за вашу поддержку и понимание.**",
|
"message": "#### Уважаемый пользователь!\n\nБлагодарим вас за интерес и поддержку. В связи с изменением стратегии работы сайта, мы закрыли функцию регистрации новых пользователей. В этот период использование существующими пользователями не будет затронуто.\n\nМы стремимся предоставить вам лучший сервис и опыт, поэтому в период закрытия регистрации будет проведена полная оптимизация системы и обновление функций. В будущем мы встретим вас с более качественным контентом и услугами.\n\nПожалуйста, следите за нашим сайтом и социальными сетями, чтобы получать последние новости и уведомления. Благодарим за ваше понимание и поддержку.\n\nЕсли у вас есть вопросы или нужна помощь, пожалуйста, свяжитесь с нашей службой поддержки.\n\n**Еще раз благодарим за вашу поддержку и понимание.**",
|
||||||
"passwordMismatch": "Введенные пароли не совпадают",
|
"passwordMismatch": "Введенные пароли не совпадают",
|
||||||
"success": "Регистрация успешна, вы автоматически вошли в систему!",
|
"success": "Регистрация успешна, вы автоматически вошли в систему!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Статус",
|
"status": "Статус",
|
||||||
"subject": "Тема",
|
"subject": "Тема",
|
||||||
"template": "Шаблон",
|
"template": "Шаблон",
|
||||||
|
"traffic_exceed_email_template": "Шаблон уведомления о превышении трафика",
|
||||||
|
"traffic_exceed_email_templateDescription": "Места {after}.variable{before} будут заменены на фактические данные. Убедитесь, что эти переменные сохранены.",
|
||||||
"verify_email_template": "Шаблон письма для подтверждения",
|
"verify_email_template": "Шаблон письма для подтверждения",
|
||||||
"verify_email_templateDescription": "Заполнители {after}.variable{before} будут заменены фактическими данными. Убедитесь, что эти переменные сохранены.",
|
"verify_email_templateDescription": "Заполнители {after}.variable{before} будут заменены фактическими данными. Убедитесь, что эти переменные сохранены.",
|
||||||
"whitelistSuffixes": "Белый список суффиксов",
|
"whitelistSuffixes": "Белый список суффиксов",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Политика конфиденциальности"
|
"title": "Политика конфиденциальности"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Пользовательские данные",
|
||||||
|
"customDataDescription": "Пользовательские данные, используемые для пользовательских данных сайта",
|
||||||
"customHtml": "Пользовательский HTML",
|
"customHtml": "Пользовательский HTML",
|
||||||
"customHtmlDescription": "Пользовательский HTML-код, который будет вставлен в конец тега body сайта.",
|
"customHtmlDescription": "Пользовательский HTML-код, который будет вставлен в конец тега body сайта.",
|
||||||
"keywords": "Ключевые слова",
|
"keywords": "Ключевые слова",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "กรุณาใส่ที่อยู่อีเมลที่ถูกต้อง",
|
"email": "กรุณาใส่ที่อยู่อีเมลที่ถูกต้อง",
|
||||||
"existingAccount": "มีบัญชีอยู่แล้ว?",
|
"existingAccount": "มีบัญชีอยู่แล้ว?",
|
||||||
"get": "รับ",
|
"get": "รับ",
|
||||||
"invite": "รหัสเชิญ",
|
"invite": "รหัสเชิญ (ไม่บังคับ)",
|
||||||
"message": "#### เรียนผู้ใช้ที่เคารพ\n\nขอขอบคุณที่ให้ความสนใจและสนับสนุนเรา เนื่องจากการปรับเปลี่ยนนโยบายการดำเนินงานของเว็บไซต์ เราได้ปิดการลงทะเบียนผู้ใช้ใหม่ ในช่วงเวลานี้ การใช้งานของผู้ใช้ปัจจุบันจะไม่ได้รับผลกระทบใดๆ\n\nเรามุ่งมั่นที่จะให้บริการและประสบการณ์ที่ดียิ่งขึ้นแก่คุณ ดังนั้นเราจะทำการปรับปรุงระบบและอัปเกรดฟังก์ชันอย่างเต็มรูปแบบในช่วงที่ปิดการลงทะเบียน ในอนาคต เราจะต้อนรับคุณด้วยเนื้อหาและบริการที่มีคุณภาพยิ่งขึ้น\n\nโปรดติดตามเว็บไซต์และแพลตฟอร์มโซเชียลมีเดียของเรา เพื่อรับข้อมูลและการแจ้งเตือนล่าสุด ขอบคุณสำหรับความเข้าใจและการสนับสนุนของคุณ\n\nหากมีคำถามหรือความต้องการความช่วยเหลือใดๆ โปรดติดต่อทีมบริการลูกค้าของเราได้ตลอดเวลา\n\n**ขอขอบคุณอีกครั้งสำหรับการสนับสนุนและความเข้าใจของคุณ**",
|
"message": "#### เรียนผู้ใช้ที่เคารพ\n\nขอขอบคุณที่ให้ความสนใจและสนับสนุนเรา เนื่องจากการปรับเปลี่ยนนโยบายการดำเนินงานของเว็บไซต์ เราได้ปิดการลงทะเบียนผู้ใช้ใหม่ ในช่วงเวลานี้ การใช้งานของผู้ใช้ปัจจุบันจะไม่ได้รับผลกระทบใดๆ\n\nเรามุ่งมั่นที่จะให้บริการและประสบการณ์ที่ดียิ่งขึ้นแก่คุณ ดังนั้นเราจะทำการปรับปรุงระบบและอัปเกรดฟังก์ชันอย่างเต็มรูปแบบในช่วงที่ปิดการลงทะเบียน ในอนาคต เราจะต้อนรับคุณด้วยเนื้อหาและบริการที่มีคุณภาพยิ่งขึ้น\n\nโปรดติดตามเว็บไซต์และแพลตฟอร์มโซเชียลมีเดียของเรา เพื่อรับข้อมูลและการแจ้งเตือนล่าสุด ขอบคุณสำหรับความเข้าใจและการสนับสนุนของคุณ\n\nหากมีคำถามหรือความต้องการความช่วยเหลือใดๆ โปรดติดต่อทีมบริการลูกค้าของเราได้ตลอดเวลา\n\n**ขอขอบคุณอีกครั้งสำหรับการสนับสนุนและความเข้าใจของคุณ**",
|
||||||
"passwordMismatch": "รหัสผ่านที่กรอกไม่ตรงกัน",
|
"passwordMismatch": "รหัสผ่านที่กรอกไม่ตรงกัน",
|
||||||
"success": "สมัครสมาชิกสำเร็จ เข้าสู่ระบบอัตโนมัติแล้ว!",
|
"success": "สมัครสมาชิกสำเร็จ เข้าสู่ระบบอัตโนมัติแล้ว!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "สถานะ",
|
"status": "สถานะ",
|
||||||
"subject": "เรื่อง",
|
"subject": "เรื่อง",
|
||||||
"template": "แม่แบบ",
|
"template": "แม่แบบ",
|
||||||
|
"traffic_exceed_email_template": "เทมเพลตการแจ้งเตือนการเกินการจราจร",
|
||||||
|
"traffic_exceed_email_templateDescription": "ตัวแปร {after}.variable{before} จะถูกแทนที่ด้วยข้อมูลจริง โปรดตรวจสอบให้แน่ใจว่าได้เก็บตัวแปรเหล่านี้ไว้",
|
||||||
"verify_email_template": "เทมเพลตอีเมลยืนยัน",
|
"verify_email_template": "เทมเพลตอีเมลยืนยัน",
|
||||||
"verify_email_templateDescription": "ตัวแปร {after}.variable{before} จะถูกแทนที่ด้วยข้อมูลจริง โปรดตรวจสอบให้แน่ใจว่าเก็บตัวแปรเหล่านี้ไว้",
|
"verify_email_templateDescription": "ตัวแปร {after}.variable{before} จะถูกแทนที่ด้วยข้อมูลจริง โปรดตรวจสอบให้แน่ใจว่าเก็บตัวแปรเหล่านี้ไว้",
|
||||||
"whitelistSuffixes": "อนุญาตให้ใช้คำต่อท้าย",
|
"whitelistSuffixes": "อนุญาตให้ใช้คำต่อท้าย",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "นโยบายความเป็นส่วนตัว"
|
"title": "นโยบายความเป็นส่วนตัว"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "ข้อมูลที่กำหนดเอง",
|
||||||
|
"customDataDescription": "ข้อมูลที่กำหนดเอง ใช้สำหรับข้อมูลที่กำหนดเองของเว็บไซต์",
|
||||||
"customHtml": "HTML ที่กำหนดเอง",
|
"customHtml": "HTML ที่กำหนดเอง",
|
||||||
"customHtmlDescription": "รหัส HTML ที่กำหนดเองเพื่อแทรกลงในส่วนล่างของแท็ก body ของเว็บไซต์.",
|
"customHtmlDescription": "รหัส HTML ที่กำหนดเองเพื่อแทรกลงในส่วนล่างของแท็ก body ของเว็บไซต์.",
|
||||||
"keywords": "คำสำคัญ",
|
"keywords": "คำสำคัญ",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Lütfen geçerli bir e-posta adresi girin.",
|
"email": "Lütfen geçerli bir e-posta adresi girin.",
|
||||||
"existingAccount": "Zaten bir hesabınız var mı?",
|
"existingAccount": "Zaten bir hesabınız var mı?",
|
||||||
"get": "Al",
|
"get": "Al",
|
||||||
"invite": "Davet Kodu",
|
"invite": "Davet kodu (isteğe bağlı)",
|
||||||
"message": "#### Sayın Kullanıcı,\n\nİlginiz ve desteğiniz için teşekkür ederiz. Site işletme stratejimizin değişikliği nedeniyle, yeni kullanıcı kaydı işlevini kapattık. Bu süre zarfında, mevcut kullanıcıların kullanımı hiçbir şekilde etkilenmeyecektir.\n\nSize daha iyi hizmet ve deneyim sunmak için, kayıt kapalıyken kapsamlı bir sistem optimizasyonu ve işlev yükseltmesi gerçekleştireceğiz. Gelecekte, daha kaliteli içerik ve hizmetlerle sizi karşılamayı dört gözle bekliyoruz.\n\nEn son gelişmeler ve bildirimler için web sitemizi ve sosyal medya platformlarımızı takip edin. Anlayışınız ve desteğiniz için teşekkür ederiz.\n\nHerhangi bir sorunuz veya yardıma ihtiyacınız olursa, lütfen müşteri hizmetleri ekibimizle iletişime geçmekten çekinmeyin.\n\n**Desteğiniz ve anlayışınız için tekrar teşekkür ederiz.**",
|
"message": "#### Sayın Kullanıcı,\n\nİlginiz ve desteğiniz için teşekkür ederiz. Site işletme stratejimizin değişikliği nedeniyle, yeni kullanıcı kaydı işlevini kapattık. Bu süre zarfında, mevcut kullanıcıların kullanımı hiçbir şekilde etkilenmeyecektir.\n\nSize daha iyi hizmet ve deneyim sunmak için, kayıt kapalıyken kapsamlı bir sistem optimizasyonu ve işlev yükseltmesi gerçekleştireceğiz. Gelecekte, daha kaliteli içerik ve hizmetlerle sizi karşılamayı dört gözle bekliyoruz.\n\nEn son gelişmeler ve bildirimler için web sitemizi ve sosyal medya platformlarımızı takip edin. Anlayışınız ve desteğiniz için teşekkür ederiz.\n\nHerhangi bir sorunuz veya yardıma ihtiyacınız olursa, lütfen müşteri hizmetleri ekibimizle iletişime geçmekten çekinmeyin.\n\n**Desteğiniz ve anlayışınız için tekrar teşekkür ederiz.**",
|
||||||
"passwordMismatch": "Girilen şifreler uyuşmuyor",
|
"passwordMismatch": "Girilen şifreler uyuşmuyor",
|
||||||
"success": "Kayıt başarılı, otomatik olarak giriş yapıldı!",
|
"success": "Kayıt başarılı, otomatik olarak giriş yapıldı!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Durum",
|
"status": "Durum",
|
||||||
"subject": "Konu",
|
"subject": "Konu",
|
||||||
"template": "Şablon",
|
"template": "Şablon",
|
||||||
|
"traffic_exceed_email_template": "Trafik Aşım Bildirimi Şablonu",
|
||||||
|
"traffic_exceed_email_templateDescription": "{after}.variable{before} yer tutucuları gerçek verilerle değiştirilecektir. Bu değişkenleri koruduğunuzdan emin olun.",
|
||||||
"verify_email_template": "Doğrulama E-posta Şablonu",
|
"verify_email_template": "Doğrulama E-posta Şablonu",
|
||||||
"verify_email_templateDescription": "{after}.variable{before} yer tutucuları gerçek verilerle değiştirilecektir. Bu değişkenleri koruduğunuzdan emin olun.",
|
"verify_email_templateDescription": "{after}.variable{before} yer tutucuları gerçek verilerle değiştirilecektir. Bu değişkenleri koruduğunuzdan emin olun.",
|
||||||
"whitelistSuffixes": "Beyaz Liste Sonekleri",
|
"whitelistSuffixes": "Beyaz Liste Sonekleri",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Gizlilik Politikası"
|
"title": "Gizlilik Politikası"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Özel Veri",
|
||||||
|
"customDataDescription": "Özel Veri, sitenin özel verileri için kullanılır",
|
||||||
"customHtml": "Özel HTML",
|
"customHtml": "Özel HTML",
|
||||||
"customHtmlDescription": "Site'in body etiketinin altına yerleştirilecek özel HTML kodu.",
|
"customHtmlDescription": "Site'in body etiketinin altına yerleştirilecek özel HTML kodu.",
|
||||||
"keywords": "Anahtar Kelimeler",
|
"keywords": "Anahtar Kelimeler",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Будь ласка, введіть дійсну електронну адресу.",
|
"email": "Будь ласка, введіть дійсну електронну адресу.",
|
||||||
"existingAccount": "Вже маєте обліковий запис?",
|
"existingAccount": "Вже маєте обліковий запис?",
|
||||||
"get": "Отримати",
|
"get": "Отримати",
|
||||||
"invite": "Код запрошення",
|
"invite": "Код запрошення (необов'язково)",
|
||||||
"message": "#### Шановний користувач!\n\nДякуємо за вашу увагу та підтримку. У зв'язку зі зміною стратегії роботи сайту, ми закрили функцію реєстрації нових користувачів. Протягом цього періоду використання існуючими користувачами не буде зазнавати жодних змін.\n\nМи прагнемо надавати вам кращий сервіс та досвід, тому під час закриття реєстрації ми проведемо повну оптимізацію системи та оновлення функцій. У майбутньому ми зустрінемо вас з якіснішим контентом та послугами.\n\nБудь ласка, слідкуйте за нашим сайтом та соціальними мережами, щоб отримувати останні новини та повідомлення. Дякуємо за ваше розуміння та підтримку.\n\nЯкщо у вас є будь-які питання або потрібна допомога, будь ласка, зв'яжіться з нашою службою підтримки.\n\n**Ще раз дякуємо за вашу підтримку та розуміння.**",
|
"message": "#### Шановний користувач!\n\nДякуємо за вашу увагу та підтримку. У зв'язку зі зміною стратегії роботи сайту, ми закрили функцію реєстрації нових користувачів. Протягом цього періоду використання існуючими користувачами не буде зазнавати жодних змін.\n\nМи прагнемо надавати вам кращий сервіс та досвід, тому під час закриття реєстрації ми проведемо повну оптимізацію системи та оновлення функцій. У майбутньому ми зустрінемо вас з якіснішим контентом та послугами.\n\nБудь ласка, слідкуйте за нашим сайтом та соціальними мережами, щоб отримувати останні новини та повідомлення. Дякуємо за ваше розуміння та підтримку.\n\nЯкщо у вас є будь-які питання або потрібна допомога, будь ласка, зв'яжіться з нашою службою підтримки.\n\n**Ще раз дякуємо за вашу підтримку та розуміння.**",
|
||||||
"passwordMismatch": "Паролі не співпадають",
|
"passwordMismatch": "Паролі не співпадають",
|
||||||
"success": "Реєстрація успішна, автоматично увійшли!",
|
"success": "Реєстрація успішна, автоматично увійшли!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Статус",
|
"status": "Статус",
|
||||||
"subject": "Тема",
|
"subject": "Тема",
|
||||||
"template": "Шаблон",
|
"template": "Шаблон",
|
||||||
|
"traffic_exceed_email_template": "Шаблон сповіщення про перевищення трафіку",
|
||||||
|
"traffic_exceed_email_templateDescription": "Місця для змінних {after}.variable{before} будуть замінені на фактичні дані. Переконайтеся, що ці змінні залишаються.",
|
||||||
"verify_email_template": "Шаблон електронного листа для підтвердження",
|
"verify_email_template": "Шаблон електронного листа для підтвердження",
|
||||||
"verify_email_templateDescription": "Заповнювачі {after}.variable{before} будуть замінені на фактичні дані. Переконайтеся, що зберегли ці змінні.",
|
"verify_email_templateDescription": "Заповнювачі {after}.variable{before} будуть замінені на фактичні дані. Переконайтеся, що зберегли ці змінні.",
|
||||||
"whitelistSuffixes": "Білий список суфіксів",
|
"whitelistSuffixes": "Білий список суфіксів",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Політика конфіденційності"
|
"title": "Політика конфіденційності"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Користувацькі дані",
|
||||||
|
"customDataDescription": "Користувацькі дані, що використовуються для користувацьких даних сайту",
|
||||||
"customHtml": "Користувацький HTML",
|
"customHtml": "Користувацький HTML",
|
||||||
"customHtmlDescription": "Користувацький HTML-код, який буде вставлено в кінець тегу body сайту.",
|
"customHtmlDescription": "Користувацький HTML-код, який буде вставлено в кінець тегу body сайту.",
|
||||||
"keywords": "Ключові слова",
|
"keywords": "Ключові слова",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "Vui lòng nhập địa chỉ email hợp lệ.",
|
"email": "Vui lòng nhập địa chỉ email hợp lệ.",
|
||||||
"existingAccount": "Đã có tài khoản?",
|
"existingAccount": "Đã có tài khoản?",
|
||||||
"get": "Lấy",
|
"get": "Lấy",
|
||||||
"invite": "Mã mời",
|
"invite": "Mã mời (tùy chọn)",
|
||||||
"message": "#### Kính gửi người dùng,\n\nCảm ơn bạn đã quan tâm và ủng hộ chúng tôi. Do điều chỉnh chiến lược vận hành trang web, chúng tôi đã đóng chức năng đăng ký người dùng mới. Trong thời gian này, việc sử dụng của người dùng hiện tại sẽ không bị ảnh hưởng.\n\nChúng tôi cam kết mang đến cho bạn dịch vụ và trải nghiệm tốt hơn, do đó sẽ tiến hành tối ưu hóa hệ thống và nâng cấp chức năng toàn diện trong thời gian đóng đăng ký. Trong tương lai, chúng tôi sẽ chào đón bạn với nội dung và dịch vụ chất lượng hơn.\n\nHãy theo dõi trang web và các nền tảng truyền thông xã hội của chúng tôi để nhận thông tin và thông báo mới nhất. Cảm ơn bạn đã hiểu và ủng hộ.\n\nNếu có bất kỳ thắc mắc hoặc cần hỗ trợ, vui lòng liên hệ với đội ngũ chăm sóc khách hàng của chúng tôi.\n\n**Một lần nữa cảm ơn sự ủng hộ và hiểu biết của bạn.**",
|
"message": "#### Kính gửi người dùng,\n\nCảm ơn bạn đã quan tâm và ủng hộ chúng tôi. Do điều chỉnh chiến lược vận hành trang web, chúng tôi đã đóng chức năng đăng ký người dùng mới. Trong thời gian này, việc sử dụng của người dùng hiện tại sẽ không bị ảnh hưởng.\n\nChúng tôi cam kết mang đến cho bạn dịch vụ và trải nghiệm tốt hơn, do đó sẽ tiến hành tối ưu hóa hệ thống và nâng cấp chức năng toàn diện trong thời gian đóng đăng ký. Trong tương lai, chúng tôi sẽ chào đón bạn với nội dung và dịch vụ chất lượng hơn.\n\nHãy theo dõi trang web và các nền tảng truyền thông xã hội của chúng tôi để nhận thông tin và thông báo mới nhất. Cảm ơn bạn đã hiểu và ủng hộ.\n\nNếu có bất kỳ thắc mắc hoặc cần hỗ trợ, vui lòng liên hệ với đội ngũ chăm sóc khách hàng của chúng tôi.\n\n**Một lần nữa cảm ơn sự ủng hộ và hiểu biết của bạn.**",
|
||||||
"passwordMismatch": "Mật khẩu nhập hai lần không khớp",
|
"passwordMismatch": "Mật khẩu nhập hai lần không khớp",
|
||||||
"success": "Đăng ký thành công, đã tự động đăng nhập!",
|
"success": "Đăng ký thành công, đã tự động đăng nhập!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "Trạng thái",
|
"status": "Trạng thái",
|
||||||
"subject": "Chủ đề",
|
"subject": "Chủ đề",
|
||||||
"template": "Mẫu",
|
"template": "Mẫu",
|
||||||
|
"traffic_exceed_email_template": "Mẫu Thông Báo Vượt Quá Lưu Lượng",
|
||||||
|
"traffic_exceed_email_templateDescription": "Các biến {after}.variable{before} sẽ được thay thế bằng dữ liệu thực tế. Đảm bảo giữ nguyên các biến này.",
|
||||||
"verify_email_template": "Mẫu Email Xác Minh",
|
"verify_email_template": "Mẫu Email Xác Minh",
|
||||||
"verify_email_templateDescription": "Các chỗ trống {after}.variable{before} sẽ được thay thế bằng dữ liệu thực tế. Đảm bảo giữ nguyên các biến này.",
|
"verify_email_templateDescription": "Các chỗ trống {after}.variable{before} sẽ được thay thế bằng dữ liệu thực tế. Đảm bảo giữ nguyên các biến này.",
|
||||||
"whitelistSuffixes": "Danh sách trắng Hậu tố",
|
"whitelistSuffixes": "Danh sách trắng Hậu tố",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "Chính sách bảo mật"
|
"title": "Chính sách bảo mật"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "Dữ liệu tùy chỉnh",
|
||||||
|
"customDataDescription": "Dữ liệu tùy chỉnh, được sử dụng cho dữ liệu tùy chỉnh của trang web",
|
||||||
"customHtml": "HTML tùy chỉnh",
|
"customHtml": "HTML tùy chỉnh",
|
||||||
"customHtmlDescription": "Mã HTML tùy chỉnh để được chèn vào cuối thẻ body của trang.",
|
"customHtmlDescription": "Mã HTML tùy chỉnh để được chèn vào cuối thẻ body của trang.",
|
||||||
"keywords": "Từ khóa",
|
"keywords": "Từ khóa",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "请输入有效的电子邮件地址。",
|
"email": "请输入有效的电子邮件地址。",
|
||||||
"existingAccount": "已有账户?",
|
"existingAccount": "已有账户?",
|
||||||
"get": "获取",
|
"get": "获取",
|
||||||
"invite": "邀请码",
|
"invite": "邀请码(可选)",
|
||||||
"message": "#### 尊敬的用户,您好!\n\n感谢您对我们的关注和支持。由于站点运营策略的调整,我们已关闭新用户注册功能。在此期间,现有用户的使用不会受到任何影响。\n\n我们致力于为您提供更好的服务和体验,因此将在关闭注册期间进行全面的系统优化和功能升级。未来,我们将以更优质的内容和服务迎接您的到来。\n\n请关注我们的网站和社交媒体平台,获取最新的动态和通知。感谢您的理解与支持。\n\n如有任何疑问或需要帮助,请随时联系我们的客服团队。\n\n**再次感谢您的支持与理解。**",
|
"message": "#### 尊敬的用户,您好!\n\n感谢您对我们的关注和支持。由于站点运营策略的调整,我们已关闭新用户注册功能。在此期间,现有用户的使用不会受到任何影响。\n\n我们致力于为您提供更好的服务和体验,因此将在关闭注册期间进行全面的系统优化和功能升级。未来,我们将以更优质的内容和服务迎接您的到来。\n\n请关注我们的网站和社交媒体平台,获取最新的动态和通知。感谢您的理解与支持。\n\n如有任何疑问或需要帮助,请随时联系我们的客服团队。\n\n**再次感谢您的支持与理解。**",
|
||||||
"passwordMismatch": "两次密码输入不一致",
|
"passwordMismatch": "两次密码输入不一致",
|
||||||
"success": "注册成功,已自动登录!",
|
"success": "注册成功,已自动登录!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "状态",
|
"status": "状态",
|
||||||
"subject": "主题",
|
"subject": "主题",
|
||||||
"template": "模板",
|
"template": "模板",
|
||||||
|
"traffic_exceed_email_template": "流量超限通知模板",
|
||||||
|
"traffic_exceed_email_templateDescription": "{after}和{before}变量将被实际数据替换。请确保保留这些变量。",
|
||||||
"verify_email_template": "验证电子邮件模板",
|
"verify_email_template": "验证电子邮件模板",
|
||||||
"verify_email_templateDescription": "{after}.variable{before} 占位符将被实际数据替换。请确保保留这些变量。",
|
"verify_email_templateDescription": "{after}.variable{before} 占位符将被实际数据替换。请确保保留这些变量。",
|
||||||
"whitelistSuffixes": "白名单后缀",
|
"whitelistSuffixes": "白名单后缀",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "隐私政策"
|
"title": "隐私政策"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "自定义数据",
|
||||||
|
"customDataDescription": "自定义数据,用于网站的自定义数据",
|
||||||
"customHtml": "自定义HTML",
|
"customHtml": "自定义HTML",
|
||||||
"customHtmlDescription": "要注入到网站 body 标签底部的自定义 HTML 代码。",
|
"customHtmlDescription": "要注入到网站 body 标签底部的自定义 HTML 代码。",
|
||||||
"keywords": "关键词",
|
"keywords": "关键词",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"email": "請輸入有效的電郵地址。",
|
"email": "請輸入有效的電郵地址。",
|
||||||
"existingAccount": "已有帳戶?",
|
"existingAccount": "已有帳戶?",
|
||||||
"get": "獲取",
|
"get": "獲取",
|
||||||
"invite": "邀請碼",
|
"invite": "邀請碼(可選)",
|
||||||
"message": "#### 尊敬的用戶,您好!\n\n感謝您對我們的關注和支持。由於站點營運策略的調整,我們已關閉新用戶註冊功能。在此期間,現有用戶的使用不會受到任何影響。\n\n我們致力於為您提供更好的服務和體驗,因此將在關閉註冊期間進行全面的系統優化和功能升級。未來,我們將以更優質的內容和服務迎接您的到來。\n\n請關注我們的網站和社交媒體平台,獲取最新的動態和通知。感謝您的理解與支持。\n\n如有任何疑問或需要幫助,請隨時聯繫我們的客服團隊。\n\n**再次感謝您的支持與理解。**",
|
"message": "#### 尊敬的用戶,您好!\n\n感謝您對我們的關注和支持。由於站點營運策略的調整,我們已關閉新用戶註冊功能。在此期間,現有用戶的使用不會受到任何影響。\n\n我們致力於為您提供更好的服務和體驗,因此將在關閉註冊期間進行全面的系統優化和功能升級。未來,我們將以更優質的內容和服務迎接您的到來。\n\n請關注我們的網站和社交媒體平台,獲取最新的動態和通知。感謝您的理解與支持。\n\n如有任何疑問或需要幫助,請隨時聯繫我們的客服團隊。\n\n**再次感謝您的支持與理解。**",
|
||||||
"passwordMismatch": "兩次密碼輸入不一致",
|
"passwordMismatch": "兩次密碼輸入不一致",
|
||||||
"success": "註冊成功,已自動登入!",
|
"success": "註冊成功,已自動登入!",
|
||||||
|
|||||||
@@ -39,6 +39,8 @@
|
|||||||
"status": "狀態",
|
"status": "狀態",
|
||||||
"subject": "主題",
|
"subject": "主題",
|
||||||
"template": "模板",
|
"template": "模板",
|
||||||
|
"traffic_exceed_email_template": "流量超標通知模板",
|
||||||
|
"traffic_exceed_email_templateDescription": "{after}和{before}變量將會被實際數據替換。請確保保留這些變量。",
|
||||||
"verify_email_template": "驗證電郵範本",
|
"verify_email_template": "驗證電郵範本",
|
||||||
"verify_email_templateDescription": "{after}.variable{before} 佔位符將被實際數據替換。請確保保留這些變數。",
|
"verify_email_templateDescription": "{after}.variable{before} 佔位符將被實際數據替換。請確保保留這些變數。",
|
||||||
"whitelistSuffixes": "白名單後綴",
|
"whitelistSuffixes": "白名單後綴",
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
"title": "私隱政策"
|
"title": "私隱政策"
|
||||||
},
|
},
|
||||||
"site": {
|
"site": {
|
||||||
|
"customData": "自定義數據",
|
||||||
|
"customDataDescription": "自定義數據,用於網站的自定義數據",
|
||||||
"customHtml": "自定義HTML",
|
"customHtml": "自定義HTML",
|
||||||
"customHtmlDescription": "自定義 HTML 代碼,將注入到網站 body 標籤的底部。",
|
"customHtmlDescription": "自定義 HTML 代碼,將注入到網站 body 標籤的底部。",
|
||||||
"keywords": "關鍵字",
|
"keywords": "關鍵字",
|
||||||
|
|||||||
+7
@@ -1269,6 +1269,13 @@ declare namespace API {
|
|||||||
site_logo: string;
|
site_logo: string;
|
||||||
keywords: string;
|
keywords: string;
|
||||||
custom_html: string;
|
custom_html: string;
|
||||||
|
custom_data: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
type SiteCustomDataContacts = {
|
||||||
|
email: string;
|
||||||
|
telephone: string;
|
||||||
|
address: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
type SortItem = {
|
type SortItem = {
|
||||||
|
|||||||
+7
@@ -659,6 +659,13 @@ declare namespace API {
|
|||||||
site_logo: string;
|
site_logo: string;
|
||||||
keywords: string;
|
keywords: string;
|
||||||
custom_html: string;
|
custom_html: string;
|
||||||
|
custom_data: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
type SiteCustomDataContacts = {
|
||||||
|
email: string;
|
||||||
|
telephone: string;
|
||||||
|
address: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
type SortItem = {
|
type SortItem = {
|
||||||
|
|||||||
@@ -164,9 +164,7 @@ export default function Content() {
|
|||||||
<CardHeader className='flex flex-row flex-wrap items-center justify-between gap-2 space-y-0'>
|
<CardHeader className='flex flex-row flex-wrap items-center justify-between gap-2 space-y-0'>
|
||||||
<CardTitle className='font-medium'>
|
<CardTitle className='font-medium'>
|
||||||
{item.subscribe.name}
|
{item.subscribe.name}
|
||||||
<p className='text-foreground/50 mt-1 text-sm'>
|
<p className='text-foreground/50 mt-1 text-sm'>{formatDate(item.start_time)}</p>
|
||||||
{formatDate(item.subscribe.created_at)}
|
|
||||||
</p>
|
|
||||||
</CardTitle>
|
</CardTitle>
|
||||||
<div className='flex flex-wrap gap-2'>
|
<div className='flex flex-wrap gap-2'>
|
||||||
<AlertDialog>
|
<AlertDialog>
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ export const useGlobalStore = create<GlobalStore>((set, get) => ({
|
|||||||
site_logo: '',
|
site_logo: '',
|
||||||
keywords: '',
|
keywords: '',
|
||||||
custom_html: '',
|
custom_html: '',
|
||||||
|
custom_data: '',
|
||||||
},
|
},
|
||||||
verify: {
|
verify: {
|
||||||
turnstile_site_key: '',
|
turnstile_site_key: '',
|
||||||
|
|||||||
+7
@@ -659,6 +659,13 @@ declare namespace API {
|
|||||||
site_logo: string;
|
site_logo: string;
|
||||||
keywords: string;
|
keywords: string;
|
||||||
custom_html: string;
|
custom_html: string;
|
||||||
|
custom_data: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
type SiteCustomDataContacts = {
|
||||||
|
email: string;
|
||||||
|
telephone: string;
|
||||||
|
address: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
type SortItem = {
|
type SortItem = {
|
||||||
|
|||||||
Vendored
+7
@@ -777,6 +777,13 @@ declare namespace API {
|
|||||||
site_logo: string;
|
site_logo: string;
|
||||||
keywords: string;
|
keywords: string;
|
||||||
custom_html: string;
|
custom_html: string;
|
||||||
|
custom_data: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
type SiteCustomDataContacts = {
|
||||||
|
email: string;
|
||||||
|
telephone: string;
|
||||||
|
address: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
type SortItem = {
|
type SortItem = {
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ppanel-web",
|
"name": "ppanel-web",
|
||||||
"version": "1.0.0-beta.29",
|
"version": "1.0.0-beta.33",
|
||||||
"private": true,
|
"private": true,
|
||||||
"homepage": "https://github.com/perfect-panel/ppanel-web",
|
"homepage": "https://github.com/perfect-panel/ppanel-web",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
|
|||||||
@@ -28,25 +28,25 @@ export const Timeline = ({ data }: { data: TimelineEntry[] }) => {
|
|||||||
const opacityTransform = useTransform(scrollYProgress, [0, 0.1], [0, 1]);
|
const opacityTransform = useTransform(scrollYProgress, [0, 0.1], [0, 1]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='w-full bg-white font-sans md:px-10 dark:bg-neutral-950' ref={containerRef}>
|
<div className='w-full font-sans md:px-10' ref={containerRef}>
|
||||||
<div className='mx-auto max-w-7xl px-4 py-20 md:px-8 lg:px-10'>
|
<div className='mx-auto max-w-7xl px-4 py-10 md:px-8 lg:px-10'>
|
||||||
<h2 className='mb-4 max-w-4xl text-lg text-black md:text-4xl dark:text-white'>
|
{/* <h2 className='mb-4 max-w-4xl text-lg text-black md:text-4xl dark:text-white'>
|
||||||
Changelog from my journey
|
Changelog from my journey
|
||||||
</h2>
|
</h2>
|
||||||
<p className='max-w-sm text-sm text-neutral-700 md:text-base dark:text-neutral-300'>
|
<p className='max-w-sm text-sm text-neutral-700 md:text-base dark:text-neutral-300'>
|
||||||
I've been working on Aceternity for the past 2 years. Here's a timeline of my
|
I've been working on Aceternity for the past 2 years. Here's a timeline of my
|
||||||
journey.
|
journey.
|
||||||
</p>
|
</p> */}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div ref={ref} className='relative mx-auto max-w-7xl pb-20'>
|
<div ref={ref} className='relative mx-auto max-w-7xl pb-20'>
|
||||||
{data.map((item, index) => (
|
{data.map((item, index) => (
|
||||||
<div key={index} className='flex justify-start pt-10 md:gap-10 md:pt-40'>
|
<div key={index} className='flex justify-start pt-10 md:gap-10 md:pt-40'>
|
||||||
<div className='sticky top-40 z-40 flex max-w-xs flex-col items-center self-start md:w-full md:flex-row lg:max-w-sm'>
|
<div className='sticky top-40 z-40 flex max-w-xs flex-col items-center self-start whitespace-nowrap md:w-auto md:flex-row lg:max-w-sm'>
|
||||||
<div className='absolute left-3 flex h-10 w-10 items-center justify-center rounded-full bg-white md:left-3 dark:bg-black'>
|
<div className='absolute left-3 flex h-10 w-10 items-center justify-center rounded-full bg-white md:left-3 dark:bg-black'>
|
||||||
<div className='h-4 w-4 rounded-full border border-neutral-300 bg-neutral-200 p-2 dark:border-neutral-700 dark:bg-neutral-800' />
|
<div className='h-4 w-4 rounded-full border border-neutral-300 bg-neutral-200 p-2 dark:border-neutral-700 dark:bg-neutral-800' />
|
||||||
</div>
|
</div>
|
||||||
<h3 className='hidden text-xl font-bold text-neutral-500 md:block md:pl-20 md:text-5xl dark:text-neutral-500'>
|
<h3 className='hidden text-xl font-bold text-neutral-500 md:block md:pl-20 md:text-xl dark:text-neutral-500'>
|
||||||
{item.title}
|
{item.title}
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -33,8 +33,16 @@ export function ObjectInput<T extends Record<string, any>>({
|
|||||||
const [internalState, setInternalState] = useState<T>(value);
|
const [internalState, setInternalState] = useState<T>(value);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setInternalState(value);
|
let updatedState = { ...internalState, ...value };
|
||||||
}, [value]);
|
|
||||||
|
fields.forEach((field) => {
|
||||||
|
if (field?.calculateValue) {
|
||||||
|
updatedState = field.calculateValue(updatedState);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
setInternalState(updatedState);
|
||||||
|
}, [value, fields]);
|
||||||
|
|
||||||
const updateField = (key: keyof T, fieldValue: string | number | boolean) => {
|
const updateField = (key: keyof T, fieldValue: string | number | boolean) => {
|
||||||
let updatedInternalState = { ...internalState, [key]: fieldValue };
|
let updatedInternalState = { ...internalState, [key]: fieldValue };
|
||||||
|
|||||||
@@ -28,6 +28,6 @@ export function formatDate(date?: Date | number, showTime: boolean = true) {
|
|||||||
export function differenceInDays(dateLeft: Date | number, dateRight: Date | number) {
|
export function differenceInDays(dateLeft: Date | number, dateRight: Date | number) {
|
||||||
const diffInMs = differenceInMilliseconds(dateLeft, dateRight);
|
const diffInMs = differenceInMilliseconds(dateLeft, dateRight);
|
||||||
const diffInDays = diffInMs / (1000 * 60 * 60 * 24);
|
const diffInDays = diffInMs / (1000 * 60 * 60 * 24);
|
||||||
if (diffInDays % 1 === 0) return diffInDays;
|
if (diffInDays >= 1) return diffInDays.toFixed(0);
|
||||||
return Number(diffInDays.toFixed(1));
|
return Number(diffInDays.toFixed(2));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user