Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ffa5c86d23 | |||
| f84f98c80f | |||
| e8ea597664 | |||
| 04af2f9433 | |||
| 96eba171d5 | |||
| 2675034b75 | |||
| 8f772c2364 | |||
| 166e48f442 | |||
| eec0b12154 | |||
| 3e290d7cb5 | |||
| 3304a55fd4 | |||
| 7cdc6bdd8f | |||
| 1fb305e7a1 |
+36
-2
@@ -1,12 +1,46 @@
|
|||||||
<a name="readme-top"></a>
|
<a name="readme-top"></a>
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [1.1.3](https://github.com/perfect-panel/ppanel-web/compare/v1.1.2...v1.1.3) (2025-07-24)
|
||||||
|
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
* **auth**: Implement user redirection to dashboard upon authentication ([f84f98c](https://github.com/perfect-panel/ppanel-web/commit/f84f98c))
|
||||||
|
|
||||||
|
## [1.1.2](https://github.com/perfect-panel/ppanel-web/compare/v1.1.1...v1.1.2) (2025-07-24)
|
||||||
|
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
* **billing**: Add display for gift amount in subscription billing ([04af2f9](https://github.com/perfect-panel/ppanel-web/commit/04af2f9))
|
||||||
|
* **order**: Update subscription cell to display name and quantity ([96eba17](https://github.com/perfect-panel/ppanel-web/commit/96eba17))
|
||||||
|
* **tool**: Added API for obtaining version, updated version information display logic ([2675034](https://github.com/perfect-panel/ppanel-web/commit/2675034))
|
||||||
|
|
||||||
|
<a name="readme-top"></a>
|
||||||
|
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
## [1.1.1](https://github.com/perfect-panel/ppanel-web/compare/v1.1.0...v1.1.1) (2025-07-20)
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
- **node-table**: Update translations for headers and no data display ([eec0b12](https://github.com/perfect-panel/ppanel-web/commit/eec0b12))
|
||||||
|
- **rules**: Change rule type from 'auto' to 'default' and update ([3e290d7](https://github.com/perfect-panel/ppanel-web/commit/3e290d7))
|
||||||
|
- **rules**: Update rule settings ([3304a55](https://github.com/perfect-panel/ppanel-web/commit/3304a55))
|
||||||
|
- **subscribe-form**: Optimize discount calculation logic and debounce updates ([166e48f](https://github.com/perfect-panel/ppanel-web/commit/166e48f))
|
||||||
|
- **tutorial**: Comment out unused getVersion function and simplify getVersionPath ([7cdc6bd](https://github.com/perfect-panel/ppanel-web/commit/7cdc6bd))
|
||||||
|
- **tutorial**: Return latest version in case of fetch error ([1fb305e](https://github.com/perfect-panel/ppanel-web/commit/1fb305e))
|
||||||
|
|
||||||
|
<a name="readme-top"></a>
|
||||||
|
|
||||||
|
# Changelog
|
||||||
|
|
||||||
# [1.1.0](https://github.com/perfect-panel/ppanel-web/compare/v1.0.2...v1.1.0) (2025-07-06)
|
# [1.1.0](https://github.com/perfect-panel/ppanel-web/compare/v1.0.2...v1.1.0) (2025-07-06)
|
||||||
|
|
||||||
|
|
||||||
### ✨ Features
|
### ✨ Features
|
||||||
|
|
||||||
* **view**: Add AnyTLS protocol support and enhance node configuration options ([bcfb10a](https://github.com/perfect-panel/ppanel-web/commit/bcfb10a))
|
- **view**: Add AnyTLS protocol support and enhance node configuration options ([bcfb10a](https://github.com/perfect-panel/ppanel-web/commit/bcfb10a))
|
||||||
|
|
||||||
<a name="readme-top"></a>
|
<a name="readme-top"></a>
|
||||||
|
|
||||||
|
|||||||
@@ -8,13 +8,22 @@ import LoginLottie from '@workspace/ui/lotties/login.json';
|
|||||||
import { useTranslations } from 'next-intl';
|
import { useTranslations } from 'next-intl';
|
||||||
import Image from 'next/legacy/image';
|
import Image from 'next/legacy/image';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
|
import { useRouter } from 'next/navigation';
|
||||||
|
import { useEffect } from 'react';
|
||||||
import EmailAuthForm from './email/auth-form';
|
import EmailAuthForm from './email/auth-form';
|
||||||
|
|
||||||
export default function Page() {
|
export default function Page() {
|
||||||
const t = useTranslations('auth');
|
const t = useTranslations('auth');
|
||||||
const { common } = useGlobalStore();
|
const { common, user } = useGlobalStore();
|
||||||
const { site } = common;
|
const { site } = common;
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
useEffect(() => {
|
||||||
|
if (user) {
|
||||||
|
router.replace('/dashboard');
|
||||||
|
}
|
||||||
|
}, [router, user]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<main className='bg-muted/50 flex h-full min-h-screen items-center'>
|
<main className='bg-muted/50 flex h-full min-h-screen items-center'>
|
||||||
<div className='flex size-full flex-auto flex-col justify-center lg:flex-row'>
|
<div className='flex size-full flex-auto flex-col justify-center lg:flex-row'>
|
||||||
|
|||||||
@@ -57,8 +57,13 @@ export default function Page(props: any) {
|
|||||||
{
|
{
|
||||||
accessorKey: 'subscribe_id',
|
accessorKey: 'subscribe_id',
|
||||||
header: t('subscribe'),
|
header: t('subscribe'),
|
||||||
cell: ({ row }) =>
|
cell: ({ row }) => {
|
||||||
subscribeList?.find((item) => item.id === row.getValue('subscribe_id'))?.name,
|
const name = subscribeList?.find(
|
||||||
|
(item) => item.id === row.getValue('subscribe_id'),
|
||||||
|
)?.name;
|
||||||
|
const quantity = row.original.quantity;
|
||||||
|
return name ? `${name} × ${quantity}` : '';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorKey: 'amount',
|
accessorKey: 'amount',
|
||||||
|
|||||||
@@ -88,12 +88,32 @@ export default function ImportYamlRules({ onImportSuccess }: ImportYamlRulesProp
|
|||||||
if (!groups[policyGroup]) {
|
if (!groups[policyGroup]) {
|
||||||
groups[policyGroup] = [];
|
groups[policyGroup] = [];
|
||||||
}
|
}
|
||||||
groups[policyGroup].push(cleanRule);
|
|
||||||
|
// 不插入 MATCH 规则,只用于标识默认规则组
|
||||||
|
if (!rule.trim().startsWith('MATCH,')) {
|
||||||
|
groups[policyGroup].push(cleanRule);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return groups;
|
return groups;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const checkIfDefaultRule = (originalRules: string[], groupName: string): boolean => {
|
||||||
|
return originalRules.some((rule) => {
|
||||||
|
const trimmedRule = rule.trim();
|
||||||
|
if (!trimmedRule.startsWith('MATCH,')) return false;
|
||||||
|
|
||||||
|
// 检查 MATCH 规则是否属于当前组
|
||||||
|
const parts = trimmedRule.split(',');
|
||||||
|
if (parts.length >= 3) {
|
||||||
|
const ruleGroup = parts[2]?.trim();
|
||||||
|
return ruleGroup === groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
return groupName === 'default';
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
const handleImport = async () => {
|
const handleImport = async () => {
|
||||||
if (!yamlContent) {
|
if (!yamlContent) {
|
||||||
toast.error(t('pleaseUploadFile'));
|
toast.error(t('pleaseUploadFile'));
|
||||||
@@ -130,12 +150,17 @@ export default function ImportYamlRules({ onImportSuccess }: ImportYamlRulesProp
|
|||||||
for (let i = 0; i < groups.length; i++) {
|
for (let i = 0; i < groups.length; i++) {
|
||||||
const group = groups[i];
|
const group = groups[i];
|
||||||
if (!group?.name || !group?.rules.length) continue;
|
if (!group?.name || !group?.rules.length) continue;
|
||||||
|
|
||||||
|
const isDefault = checkIfDefaultRule(allRules, group.name);
|
||||||
|
|
||||||
await createRuleGroup({
|
await createRuleGroup({
|
||||||
name: group.name,
|
name: group.name,
|
||||||
rules: group?.rules.join('\n'),
|
rules: group?.rules.join('\n'),
|
||||||
enable: false,
|
enable: false,
|
||||||
tags: [],
|
tags: [],
|
||||||
icon: '',
|
icon: '',
|
||||||
|
type: 'default',
|
||||||
|
default: isDefault,
|
||||||
});
|
});
|
||||||
setImportProgress(i + 1);
|
setImportProgress(i + 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,8 @@ export default function Page() {
|
|||||||
enable: false,
|
enable: false,
|
||||||
tags: values.tags || [],
|
tags: values.tags || [],
|
||||||
icon: values.icon || '',
|
icon: values.icon || '',
|
||||||
|
type: values.type || 'default',
|
||||||
|
default: false,
|
||||||
});
|
});
|
||||||
toast.success(t('createSuccess'));
|
toast.success(t('createSuccess'));
|
||||||
ref.current?.refresh();
|
ref.current?.refresh();
|
||||||
@@ -100,27 +102,55 @@ export default function Page() {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorKey: 'icon',
|
accessorKey: 'default',
|
||||||
header: t('appIcon'),
|
header: t('defaultRule'),
|
||||||
cell: ({ row }) =>
|
cell: ({ row }) => (
|
||||||
row.getValue('icon') ? (
|
<Switch
|
||||||
<Image
|
defaultChecked={row.original.default}
|
||||||
src={row.getValue('icon')}
|
onCheckedChange={async (checked) => {
|
||||||
alt={row.getValue('name')}
|
await updateRuleGroup({
|
||||||
className='h-8 w-8 rounded-md'
|
...row.original,
|
||||||
width={32}
|
default: checked,
|
||||||
height={32}
|
} as API.UpdateRuleGroupRequest);
|
||||||
/>
|
ref.current?.refresh();
|
||||||
) : (
|
}}
|
||||||
<div className='bg-muted flex h-8 w-8 items-center justify-center rounded-md'>
|
/>
|
||||||
{row.original.name?.slice(0, 2)}
|
),
|
||||||
</div>
|
},
|
||||||
),
|
{
|
||||||
|
accessorKey: 'type',
|
||||||
|
header: t('type'),
|
||||||
|
cell: ({ row }) => {
|
||||||
|
const type = row.original.type || 'default';
|
||||||
|
if (type === 'default') {
|
||||||
|
return <Badge variant='default'>{t('default')}</Badge>;
|
||||||
|
}
|
||||||
|
if (type === 'reject') {
|
||||||
|
return <Badge variant='destructive'>{t('reject')}</Badge>;
|
||||||
|
}
|
||||||
|
if (type === 'direct') {
|
||||||
|
return <Badge variant='secondary'>{t('direct')}</Badge>;
|
||||||
|
}
|
||||||
|
return <Badge variant='default'>{t('default')}</Badge>;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
accessorKey: 'name',
|
accessorKey: 'name',
|
||||||
header: t('name'),
|
header: t('name'),
|
||||||
|
cell: ({ row }) => (
|
||||||
|
<div className='flex items-center gap-2'>
|
||||||
|
{row.original.icon && (
|
||||||
|
<Image
|
||||||
|
src={row.original.icon}
|
||||||
|
alt={row.original.name}
|
||||||
|
className='h-6 w-6 rounded-md'
|
||||||
|
width={24}
|
||||||
|
height={24}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
<span>{row.original.name}</span>
|
||||||
|
</div>
|
||||||
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorKey: 'tags',
|
accessorKey: 'tags',
|
||||||
@@ -163,6 +193,8 @@ export default function Page() {
|
|||||||
rules: values.rules,
|
rules: values.rules,
|
||||||
enable: row.enable,
|
enable: row.enable,
|
||||||
icon: values.icon,
|
icon: values.icon,
|
||||||
|
type: values.type,
|
||||||
|
default: row.default,
|
||||||
});
|
});
|
||||||
toast.success(t('updateSuccess'));
|
toast.success(t('updateSuccess'));
|
||||||
ref.current?.refresh();
|
ref.current?.refresh();
|
||||||
|
|||||||
@@ -13,6 +13,13 @@ import {
|
|||||||
FormMessage,
|
FormMessage,
|
||||||
} from '@workspace/ui/components/form';
|
} from '@workspace/ui/components/form';
|
||||||
import { ScrollArea } from '@workspace/ui/components/scroll-area';
|
import { ScrollArea } from '@workspace/ui/components/scroll-area';
|
||||||
|
import {
|
||||||
|
Select,
|
||||||
|
SelectContent,
|
||||||
|
SelectItem,
|
||||||
|
SelectTrigger,
|
||||||
|
SelectValue,
|
||||||
|
} from '@workspace/ui/components/select';
|
||||||
import {
|
import {
|
||||||
Sheet,
|
Sheet,
|
||||||
SheetContent,
|
SheetContent,
|
||||||
@@ -36,6 +43,7 @@ const formSchema = z.object({
|
|||||||
tags: z.array(z.string()).default([]),
|
tags: z.array(z.string()).default([]),
|
||||||
rules: z.string().default(''),
|
rules: z.string().default(''),
|
||||||
icon: z.string().default(''),
|
icon: z.string().default(''),
|
||||||
|
type: z.string().default('default'),
|
||||||
});
|
});
|
||||||
|
|
||||||
interface RuleFormProps<T> {
|
interface RuleFormProps<T> {
|
||||||
@@ -147,6 +155,33 @@ export default function RuleForm<T extends Record<string, any>>({
|
|||||||
</FormItem>
|
</FormItem>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
|
<FormField
|
||||||
|
control={form.control}
|
||||||
|
name='type'
|
||||||
|
render={({ field }) => (
|
||||||
|
<FormItem>
|
||||||
|
<FormLabel>{t('type')}</FormLabel>
|
||||||
|
<FormControl>
|
||||||
|
<Select
|
||||||
|
value={field.value}
|
||||||
|
onValueChange={(value) => {
|
||||||
|
form.setValue(field.name, value);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<SelectTrigger>
|
||||||
|
<SelectValue placeholder={t('selectType')} />
|
||||||
|
</SelectTrigger>
|
||||||
|
<SelectContent>
|
||||||
|
<SelectItem value='default'>{t('default')}</SelectItem>
|
||||||
|
<SelectItem value='reject'>{t('reject')}</SelectItem>
|
||||||
|
<SelectItem value='direct'>{t('direct')}</SelectItem>
|
||||||
|
</SelectContent>
|
||||||
|
</Select>
|
||||||
|
</FormControl>
|
||||||
|
<FormMessage />
|
||||||
|
</FormItem>
|
||||||
|
)}
|
||||||
|
/>
|
||||||
<FormField
|
<FormField
|
||||||
control={form.control}
|
control={form.control}
|
||||||
name='tags'
|
name='tags'
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ export default function NodeTable() {
|
|||||||
columns={[
|
columns={[
|
||||||
{
|
{
|
||||||
accessorKey: 'id',
|
accessorKey: 'id',
|
||||||
header: 'ID',
|
header: t('id'),
|
||||||
cell: ({ row }) => (
|
cell: ({ row }) => (
|
||||||
<TooltipProvider>
|
<TooltipProvider>
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
@@ -160,7 +160,7 @@ export default function NodeTable() {
|
|||||||
header: t('nodeGroup'),
|
header: t('nodeGroup'),
|
||||||
cell: ({ row }) => {
|
cell: ({ row }) => {
|
||||||
const name = groups?.find((group) => group.id === row.getValue('group_id'))?.name;
|
const name = groups?.find((group) => group.id === row.getValue('group_id'))?.name;
|
||||||
return name ? <Badge variant='outline'>{name}</Badge> : '--';
|
return name ? <Badge variant='outline'>{name}</Badge> : t('noData');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -177,7 +177,7 @@ export default function NodeTable() {
|
|||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
'--'
|
t('noData')
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -273,17 +273,17 @@ export default function NodeTable() {
|
|||||||
<ConfirmButton
|
<ConfirmButton
|
||||||
key='delete'
|
key='delete'
|
||||||
trigger={<Button variant='destructive'>{t('delete')}</Button>}
|
trigger={<Button variant='destructive'>{t('delete')}</Button>}
|
||||||
title={t('group.confirmDelete')}
|
title={t('confirmDelete')}
|
||||||
description={t('group.deleteWarning')}
|
description={t('deleteWarning')}
|
||||||
onConfirm={async () => {
|
onConfirm={async () => {
|
||||||
await batchDeleteNode({
|
await batchDeleteNode({
|
||||||
ids: rows.map((item) => item.id),
|
ids: rows.map((item) => item.id),
|
||||||
});
|
});
|
||||||
toast.success(t('group.deleteSuccess'));
|
toast.success(t('deleteSuccess'));
|
||||||
ref.current?.refresh();
|
ref.current?.refresh();
|
||||||
}}
|
}}
|
||||||
cancelText={t('group.cancel')}
|
cancelText={t('cancel')}
|
||||||
confirmText={t('group.confirm')}
|
confirmText={t('confirm')}
|
||||||
/>,
|
/>,
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ import { evaluateWithPrecision, unitConversion } from '@workspace/ui/utils';
|
|||||||
import { CreditCard, Server, Settings } from 'lucide-react';
|
import { CreditCard, Server, Settings } from 'lucide-react';
|
||||||
import { useTranslations } from 'next-intl';
|
import { useTranslations } from 'next-intl';
|
||||||
import { assign, shake } from 'radash';
|
import { assign, shake } from 'radash';
|
||||||
import { useEffect, useState } from 'react';
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
||||||
import { useForm } from 'react-hook-form';
|
import { useForm } from 'react-hook-form';
|
||||||
import { toast } from 'sonner';
|
import { toast } from 'sonner';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
@@ -81,6 +81,7 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
}: Readonly<SubscribeFormProps<T>>) {
|
}: Readonly<SubscribeFormProps<T>>) {
|
||||||
const t = useTranslations('subscribe');
|
const t = useTranslations('subscribe');
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
|
const updateTimeoutRef = useRef<NodeJS.Timeout | null>(null);
|
||||||
|
|
||||||
const formSchema = z.object({
|
const formSchema = z.object({
|
||||||
name: z.string(),
|
name: z.string(),
|
||||||
@@ -118,12 +119,111 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
),
|
),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const debouncedCalculateDiscount = useCallback(
|
||||||
|
(values: any[], fieldName: string, lastChangedField?: string, changedIndex?: number) => {
|
||||||
|
if (updateTimeoutRef.current) {
|
||||||
|
clearTimeout(updateTimeoutRef.current);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateTimeoutRef.current = setTimeout(() => {
|
||||||
|
const { unit_price } = form.getValues();
|
||||||
|
if (!unit_price || !values?.length) return;
|
||||||
|
|
||||||
|
let hasChanges = false;
|
||||||
|
const calculatedValues = values.map((item: any, index: number) => {
|
||||||
|
const result = { ...item };
|
||||||
|
|
||||||
|
if (changedIndex !== undefined && index !== changedIndex) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
const quantity = Number(item.quantity) || 0;
|
||||||
|
const discount = Number(item.discount) || 0;
|
||||||
|
const price = Number(item.price) || 0;
|
||||||
|
|
||||||
|
switch (lastChangedField) {
|
||||||
|
case 'quantity':
|
||||||
|
case 'discount':
|
||||||
|
if (quantity > 0 && discount > 0) {
|
||||||
|
const newPrice = evaluateWithPrecision(
|
||||||
|
`${unit_price} * ${quantity} * ${discount} / 100`,
|
||||||
|
);
|
||||||
|
if (Math.abs(newPrice - price) > 0.01) {
|
||||||
|
result.price = newPrice;
|
||||||
|
hasChanges = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'price':
|
||||||
|
if (quantity > 0 && price > 0) {
|
||||||
|
const newDiscount = evaluateWithPrecision(
|
||||||
|
`${price} / ${quantity} / ${unit_price} * 100`,
|
||||||
|
);
|
||||||
|
if (Math.abs(newDiscount - discount) > 0.01) {
|
||||||
|
result.discount = Math.min(100, Math.max(0, newDiscount));
|
||||||
|
hasChanges = true;
|
||||||
|
}
|
||||||
|
} else if (discount > 0 && price > 0) {
|
||||||
|
const newQuantity = evaluateWithPrecision(
|
||||||
|
`${price} / ${unit_price} / ${discount} * 100`,
|
||||||
|
);
|
||||||
|
if (Math.abs(newQuantity - quantity) > 0.01 && newQuantity > 0) {
|
||||||
|
result.quantity = Math.max(1, Math.round(newQuantity));
|
||||||
|
hasChanges = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
if (quantity > 0 && discount > 0 && price === 0) {
|
||||||
|
result.price = evaluateWithPrecision(
|
||||||
|
`${unit_price} * ${quantity} * ${discount} / 100`,
|
||||||
|
);
|
||||||
|
hasChanges = true;
|
||||||
|
} else if (quantity > 0 && price > 0 && discount === 0) {
|
||||||
|
const newDiscount = evaluateWithPrecision(
|
||||||
|
`${price} / ${quantity} / ${unit_price} * 100`,
|
||||||
|
);
|
||||||
|
result.discount = Math.min(100, Math.max(0, newDiscount));
|
||||||
|
hasChanges = true;
|
||||||
|
} else if (discount > 0 && price > 0 && quantity === 0) {
|
||||||
|
const newQuantity = evaluateWithPrecision(
|
||||||
|
`${price} / ${unit_price} / ${discount} * 100`,
|
||||||
|
);
|
||||||
|
if (newQuantity > 0) {
|
||||||
|
result.quantity = Math.max(1, Math.round(newQuantity));
|
||||||
|
hasChanges = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (hasChanges) {
|
||||||
|
form.setValue(fieldName, calculatedValues, { shouldDirty: true });
|
||||||
|
}
|
||||||
|
}, 300);
|
||||||
|
},
|
||||||
|
[form],
|
||||||
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
form?.reset(
|
form?.reset(
|
||||||
assign(defaultValues, shake(initialValues, (value) => value === null) as Record<string, any>),
|
assign(defaultValues, shake(initialValues, (value) => value === null) as Record<string, any>),
|
||||||
);
|
);
|
||||||
}, [form, initialValues]);
|
}, [form, initialValues]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
return () => {
|
||||||
|
if (updateTimeoutRef.current) {
|
||||||
|
clearTimeout(updateTimeoutRef.current);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}, []);
|
||||||
|
|
||||||
async function handleSubmit(data: { [x: string]: any }) {
|
async function handleSubmit(data: { [x: string]: any }) {
|
||||||
const bool = await onSubmit(data as T);
|
const bool = await onSubmit(data as T);
|
||||||
if (bool) setOpen(false);
|
if (bool) setOpen(false);
|
||||||
@@ -158,31 +258,6 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
|
|
||||||
const unit_time = form.watch('unit_time');
|
const unit_time = form.watch('unit_time');
|
||||||
const unit_price = form.watch('unit_price');
|
const unit_price = form.watch('unit_price');
|
||||||
const discounts = form.watch('discount');
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (!discounts?.length || !unit_price) return;
|
|
||||||
|
|
||||||
const calculatedValues = discounts.map((item: any) => {
|
|
||||||
const result = { ...item };
|
|
||||||
|
|
||||||
if (item.quantity && item.discount) {
|
|
||||||
result.price = evaluateWithPrecision(
|
|
||||||
`${unit_price || 0} * ${item.quantity} * ${item.discount} / 100`,
|
|
||||||
);
|
|
||||||
} else if (item.quantity && item.price && !item.discount) {
|
|
||||||
result.discount = evaluateWithPrecision(
|
|
||||||
`${item.price} / ${item.quantity} / ${unit_price} * 100`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (JSON.stringify(calculatedValues) !== JSON.stringify(discounts)) {
|
|
||||||
form.setValue('discount', calculatedValues);
|
|
||||||
}
|
|
||||||
}, [unit_price, discounts, form]);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Sheet open={open} onOpenChange={setOpen}>
|
<Sheet open={open} onOpenChange={setOpen}>
|
||||||
@@ -581,8 +656,9 @@ export default function SubscribeForm<T extends Record<string, any>>({
|
|||||||
{
|
{
|
||||||
name: 'discount',
|
name: 'discount',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
min: 1,
|
min: 0.01,
|
||||||
max: 100,
|
max: 100,
|
||||||
|
step: 0.01,
|
||||||
placeholder: t('form.discountPercent'),
|
placeholder: t('form.discountPercent'),
|
||||||
suffix: '%',
|
suffix: '%',
|
||||||
},
|
},
|
||||||
@@ -590,51 +666,53 @@ 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,
|
||||||
|
step: 0.01,
|
||||||
formatInput: (value) => unitConversion('centsToDollars', value),
|
formatInput: (value) => unitConversion('centsToDollars', value),
|
||||||
formatOutput: (value) => unitConversion('dollarsToCents', value),
|
formatOutput: (value) => unitConversion('dollarsToCents', value),
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
value={field.value}
|
value={field.value}
|
||||||
onChange={(newValues) => {
|
onChange={(
|
||||||
|
newValues: (API.SubscribeDiscount & { price?: number })[],
|
||||||
|
) => {
|
||||||
const oldValues = field.value || [];
|
const oldValues = field.value || [];
|
||||||
const { unit_price } = form.getValues();
|
let lastChangedField: string | undefined;
|
||||||
|
let changedIndex: number | undefined;
|
||||||
|
|
||||||
const calculatedValues = newValues.map((newItem, index) => {
|
for (
|
||||||
const oldItem = oldValues[index] || {};
|
let i = 0;
|
||||||
|
i < Math.max(newValues.length, oldValues.length);
|
||||||
|
i++
|
||||||
|
) {
|
||||||
|
const newItem = newValues[i] || {};
|
||||||
|
const oldItem = oldValues[i] || {};
|
||||||
|
|
||||||
const result = { ...newItem };
|
if ((newItem as any).quantity !== (oldItem as any).quantity) {
|
||||||
|
lastChangedField = 'quantity';
|
||||||
const quantityChanged = newItem.quantity !== oldItem.quantity;
|
changedIndex = i;
|
||||||
const discountChanged = newItem.discount !== oldItem.discount;
|
break;
|
||||||
const priceChanged = newItem.price !== oldItem.price;
|
|
||||||
|
|
||||||
if (
|
|
||||||
(quantityChanged || discountChanged) &&
|
|
||||||
!priceChanged &&
|
|
||||||
newItem.quantity &&
|
|
||||||
newItem.discount
|
|
||||||
) {
|
|
||||||
result.price = evaluateWithPrecision(
|
|
||||||
`${unit_price || 0} * ${newItem.quantity} * ${newItem.discount} / 100`,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
if ((newItem as any).discount !== (oldItem as any).discount) {
|
||||||
if (
|
lastChangedField = 'discount';
|
||||||
priceChanged &&
|
changedIndex = i;
|
||||||
!discountChanged &&
|
break;
|
||||||
newItem.price &&
|
|
||||||
newItem.quantity &&
|
|
||||||
unit_price
|
|
||||||
) {
|
|
||||||
result.discount = evaluateWithPrecision(
|
|
||||||
`${newItem.price} / ${newItem.quantity} / ${unit_price} * 100`,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
if ((newItem as any).price !== (oldItem as any).price) {
|
||||||
return result;
|
lastChangedField = 'price';
|
||||||
});
|
changedIndex = i;
|
||||||
|
break;
|
||||||
form.setValue(field.name, calculatedValues);
|
}
|
||||||
|
}
|
||||||
|
form.setValue(field.name, newValues, { shouldDirty: true });
|
||||||
|
if (newValues?.length > 0) {
|
||||||
|
debouncedCalculateDiscount(
|
||||||
|
newValues,
|
||||||
|
field.name,
|
||||||
|
lastChangedField,
|
||||||
|
changedIndex,
|
||||||
|
);
|
||||||
|
}
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { getSystemLog, restartSystem } from '@/services/admin/tool';
|
import { getSystemLog, getVersion, restartSystem } from '@/services/admin/tool';
|
||||||
import { useQuery } from '@tanstack/react-query';
|
import { useQuery } from '@tanstack/react-query';
|
||||||
import {
|
import {
|
||||||
Accordion,
|
Accordion,
|
||||||
@@ -18,6 +18,7 @@ import {
|
|||||||
AlertDialogTitle,
|
AlertDialogTitle,
|
||||||
AlertDialogTrigger,
|
AlertDialogTrigger,
|
||||||
} from '@workspace/ui/components/alert-dialog';
|
} from '@workspace/ui/components/alert-dialog';
|
||||||
|
import { Badge } from '@workspace/ui/components/badge';
|
||||||
import { Button } from '@workspace/ui/components/button';
|
import { Button } from '@workspace/ui/components/button';
|
||||||
import {
|
import {
|
||||||
Card,
|
Card,
|
||||||
@@ -28,8 +29,10 @@ import {
|
|||||||
} from '@workspace/ui/components/card';
|
} from '@workspace/ui/components/card';
|
||||||
import { ScrollArea } from '@workspace/ui/components/scroll-area';
|
import { ScrollArea } from '@workspace/ui/components/scroll-area';
|
||||||
import { Icon } from '@workspace/ui/custom-components/icon';
|
import { Icon } from '@workspace/ui/custom-components/icon';
|
||||||
|
import { formatDate } from '@workspace/ui/utils';
|
||||||
import { useTranslations } from 'next-intl';
|
import { useTranslations } from 'next-intl';
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
|
import packageJson from '../../../../../package.json';
|
||||||
|
|
||||||
const getLogLevelColor = (level: string) => {
|
const getLogLevelColor = (level: string) => {
|
||||||
const colorMap: { [key: string]: string } = {
|
const colorMap: { [key: string]: string } = {
|
||||||
@@ -57,6 +60,91 @@ export default function Page() {
|
|||||||
const [openRestart, setOpenRestart] = useState(false);
|
const [openRestart, setOpenRestart] = useState(false);
|
||||||
const [isRestarting, setIsRestarting] = useState(false);
|
const [isRestarting, setIsRestarting] = useState(false);
|
||||||
|
|
||||||
|
const { data: latestReleases } = useQuery({
|
||||||
|
queryKey: ['getLatestReleases'],
|
||||||
|
queryFn: async () => {
|
||||||
|
try {
|
||||||
|
const [webResponse, serverResponse] = await Promise.all([
|
||||||
|
fetch('https://api.github.com/repos/perfect-panel/ppanel-web/releases/latest'),
|
||||||
|
fetch('https://api.github.com/repos/perfect-panel/server/releases/latest'),
|
||||||
|
]);
|
||||||
|
|
||||||
|
const webData = webResponse.ok ? await webResponse.json() : null;
|
||||||
|
const serverData = serverResponse.ok ? await serverResponse.json() : null;
|
||||||
|
|
||||||
|
return {
|
||||||
|
web: webData
|
||||||
|
? {
|
||||||
|
version: webData.tag_name,
|
||||||
|
url: webData.html_url,
|
||||||
|
publishedAt: webData.published_at,
|
||||||
|
}
|
||||||
|
: null,
|
||||||
|
server: serverData
|
||||||
|
? {
|
||||||
|
version: serverData.tag_name,
|
||||||
|
url: serverData.html_url,
|
||||||
|
publishedAt: serverData.published_at,
|
||||||
|
}
|
||||||
|
: null,
|
||||||
|
};
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Failed to fetch latest releases:', error);
|
||||||
|
return { web: null, server: null };
|
||||||
|
}
|
||||||
|
},
|
||||||
|
staleTime: 60 * 60 * 1000,
|
||||||
|
retry: 1,
|
||||||
|
retryDelay: 10000,
|
||||||
|
});
|
||||||
|
|
||||||
|
// 检查是否有新版本
|
||||||
|
const hasNewVersion =
|
||||||
|
latestReleases?.web && packageJson.version !== latestReleases.web.version.replace(/^v/, '');
|
||||||
|
|
||||||
|
const { data: systemInfo } = useQuery({
|
||||||
|
queryKey: ['getVersion'],
|
||||||
|
queryFn: async () => {
|
||||||
|
const { data } = await getVersion();
|
||||||
|
|
||||||
|
const versionString = data.data?.version || '';
|
||||||
|
const releaseVersionRegex = /^[Vv]?\d+\.\d+\.\d+$/;
|
||||||
|
const timeMatch = versionString.match(/\(([^)]+)\)/);
|
||||||
|
const timeInBrackets = timeMatch ? timeMatch[1] : '';
|
||||||
|
|
||||||
|
const versionWithoutTime = versionString.replace(/\([^)]*\)/, '').trim();
|
||||||
|
const isDevelopment = !releaseVersionRegex.test(versionWithoutTime);
|
||||||
|
|
||||||
|
let baseVersion = versionWithoutTime;
|
||||||
|
let versionSuffix = '';
|
||||||
|
let lastUpdated = '';
|
||||||
|
|
||||||
|
if (isDevelopment && versionWithoutTime.includes('-')) {
|
||||||
|
const parts = versionWithoutTime.split('-');
|
||||||
|
baseVersion = parts[0] || versionWithoutTime;
|
||||||
|
versionSuffix = parts.slice(1).join('-');
|
||||||
|
}
|
||||||
|
|
||||||
|
lastUpdated = formatDate(new Date(timeInBrackets || Date.now())) || '';
|
||||||
|
|
||||||
|
const displayVersion =
|
||||||
|
baseVersion.startsWith('V') || baseVersion.startsWith('v')
|
||||||
|
? baseVersion
|
||||||
|
: `V${baseVersion}`;
|
||||||
|
|
||||||
|
return {
|
||||||
|
isRelease: !isDevelopment,
|
||||||
|
version: displayVersion,
|
||||||
|
lastUpdated,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const hasServerNewVersion =
|
||||||
|
latestReleases?.server &&
|
||||||
|
systemInfo &&
|
||||||
|
systemInfo.version.replace(/^V/, '') !== latestReleases.server.version.replace(/^v/, '');
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className='border-none'>
|
<Card className='border-none'>
|
||||||
<CardHeader className='flex flex-col items-start justify-between sm:flex-row sm:items-center'>
|
<CardHeader className='flex flex-col items-start justify-between sm:flex-row sm:items-center'>
|
||||||
@@ -110,15 +198,90 @@ export default function Page() {
|
|||||||
</div>
|
</div>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardContent>
|
<CardContent>
|
||||||
<div className='space-y-6'>
|
<div className='space-y-4'>
|
||||||
{/* <div className='flex items-center justify-between'>
|
{/* 版本信息紧凑显示 */}
|
||||||
<div className='text-lg font-semibold'>
|
<div className='flex flex-col space-y-2 sm:flex-row sm:space-x-3 sm:space-y-0'>
|
||||||
{t('currentVersion')} <span>V1.0.0</span>
|
{/* 用户端/管理端版本 */}
|
||||||
|
<div className='bg-muted/30 flex flex-1 items-center justify-between rounded-md p-2'>
|
||||||
|
<div className='flex items-center'>
|
||||||
|
<Icon icon='mdi:web' className='mr-2 h-4 w-4 text-green-600' />
|
||||||
|
<div className='flex items-center space-x-2'>
|
||||||
|
<span className='text-xs font-medium'>{t('webVersion')}</span>
|
||||||
|
<Badge variant='default' className='px-1.5 py-0.5 text-xs'>
|
||||||
|
V{packageJson.version}
|
||||||
|
</Badge>
|
||||||
|
{hasNewVersion && (
|
||||||
|
<Badge variant='destructive' className='animate-pulse px-1.5 py-0.5 text-xs'>
|
||||||
|
{t('newVersionAvailable')}
|
||||||
|
</Badge>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{hasNewVersion && (
|
||||||
|
<Button
|
||||||
|
variant='outline'
|
||||||
|
size='sm'
|
||||||
|
className='h-6 px-2 text-xs'
|
||||||
|
onClick={() =>
|
||||||
|
window.open(
|
||||||
|
latestReleases?.web?.url ||
|
||||||
|
'https://github.com/perfect-panel/ppanel-web/releases',
|
||||||
|
'_blank',
|
||||||
|
)
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<Icon icon='mdi:open-in-new' className='mr-1 h-3 w-3' />
|
||||||
|
{t('viewNewVersion')}
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div className='text-muted-foreground text-sm'>
|
|
||||||
{t('lastUpdated')} <span>2024-12-16 12:00:00</span>
|
{/* 服务端版本 */}
|
||||||
|
<div className='bg-muted/30 flex flex-1 items-center justify-between rounded-md p-2'>
|
||||||
|
<div className='flex items-center'>
|
||||||
|
<Icon icon='mdi:server' className='mr-2 h-4 w-4 text-blue-600' />
|
||||||
|
<div className='flex items-center space-x-2'>
|
||||||
|
<span className='text-xs font-medium'>{t('serverVersion')}</span>
|
||||||
|
<Badge
|
||||||
|
variant={!systemInfo?.isRelease ? 'destructive' : 'default'}
|
||||||
|
className='px-1.5 py-0.5 text-xs'
|
||||||
|
>
|
||||||
|
{systemInfo?.version || 'V1.0.0'}
|
||||||
|
{!systemInfo?.isRelease && (
|
||||||
|
<span className='ml-1'>{t('developmentVersion')}</span>
|
||||||
|
)}
|
||||||
|
</Badge>
|
||||||
|
{hasServerNewVersion && (
|
||||||
|
<Badge variant='destructive' className='animate-pulse px-1.5 py-0.5 text-xs'>
|
||||||
|
{t('newVersionAvailable')}
|
||||||
|
</Badge>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className='flex items-center space-x-2'>
|
||||||
|
{hasServerNewVersion && (
|
||||||
|
<Button
|
||||||
|
variant='outline'
|
||||||
|
size='sm'
|
||||||
|
className='h-6 px-2 text-xs'
|
||||||
|
onClick={() =>
|
||||||
|
window.open(
|
||||||
|
latestReleases?.server?.url ||
|
||||||
|
'https://github.com/perfect-panel/server/releases',
|
||||||
|
'_blank',
|
||||||
|
)
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<Icon icon='mdi:open-in-new' className='mr-1 h-3 w-3' />
|
||||||
|
{t('viewNewVersion')}
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
|
<div className='text-muted-foreground hidden text-right text-xs sm:block'>
|
||||||
|
<div className='font-mono'>{systemInfo?.lastUpdated || '--'}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div> */}
|
</div>
|
||||||
<Card className='overflow-hidden'>
|
<Card className='overflow-hidden'>
|
||||||
<CardHeader className='bg-secondary py-1'>
|
<CardHeader className='bg-secondary py-1'>
|
||||||
<div className='flex items-center justify-between'>
|
<div className='flex items-center justify-between'>
|
||||||
@@ -148,19 +311,15 @@ export default function Page() {
|
|||||||
</div>
|
</div>
|
||||||
</AccordionTrigger>
|
</AccordionTrigger>
|
||||||
<AccordionContent className='px-2'>
|
<AccordionContent className='px-2'>
|
||||||
{
|
{Object.entries(log).map(([key, value]) => (
|
||||||
// 直接渲染 key: value
|
<div
|
||||||
|
key={key}
|
||||||
Object.entries(log).map(([key, value]) => (
|
className='grid grid-cols-1 gap-2 text-xs sm:grid-cols-2 sm:text-sm'
|
||||||
<div
|
>
|
||||||
key={key}
|
<span className='font-medium'>{key}:</span>
|
||||||
className='grid grid-cols-1 gap-2 text-xs sm:grid-cols-2 sm:text-sm'
|
<span className='break-all'>{value as string}</span>
|
||||||
>
|
</div>
|
||||||
<span className='font-medium'>{key}:</span>
|
))}
|
||||||
<span className='break-all'>{value as string}</span>
|
|
||||||
</div>
|
|
||||||
))
|
|
||||||
}
|
|
||||||
{/* <div className='grid grid-cols-1 gap-2 text-xs sm:grid-cols-2 sm:text-sm'>
|
{/* <div className='grid grid-cols-1 gap-2 text-xs sm:grid-cols-2 sm:text-sm'>
|
||||||
<div className='font-medium'>{t('ip')}:</div>
|
<div className='font-medium'>{t('ip')}:</div>
|
||||||
<div>{log.ip}</div>
|
<div>{log.ip}</div>
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Smazat",
|
"delete": "Smazat",
|
||||||
"deleteSuccess": "Pravidlo bylo úspěšně smazáno",
|
"deleteSuccess": "Pravidlo bylo úspěšně smazáno",
|
||||||
"deleteWarning": "Opravdu chcete smazat toto pravidlo? Tato akce není vratná.",
|
"deleteWarning": "Opravdu chcete smazat toto pravidlo? Tato akce není vratná.",
|
||||||
"description": "Popis pravidla",
|
|
||||||
"downloadTemplate": "Stáhnout šablonu",
|
"downloadTemplate": "Stáhnout šablonu",
|
||||||
"edit": "Upravit",
|
"edit": "Upravit",
|
||||||
"editRule": "Upravit pravidlo",
|
"editRule": "Upravit pravidlo",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Importovat",
|
"import": "Importovat",
|
||||||
"importFailed": "Import se nezdařil",
|
"importFailed": "Import se nezdařil",
|
||||||
"importSuccess": "Import byl úspěšný",
|
"importSuccess": "Import byl úspěšný",
|
||||||
"importYaml": "Importovat YAML",
|
|
||||||
"importYamlDescription": "Importujte pravidla ze souboru YAML, systém automaticky vytvoří skupiny pravidel na základě názvů skupin politiky",
|
"importYamlDescription": "Importujte pravidla ze souboru YAML, systém automaticky vytvoří skupiny pravidel na základě názvů skupin politiky",
|
||||||
"importYamlRules": "Importovat YAML pravidla",
|
"importYamlRules": "Importovat YAML pravidla",
|
||||||
"importing": "Importuji...",
|
"importing": "Importuji...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Nebyly nalezeny žádné platné pravidla",
|
"noValidRules": "Nebyly nalezeny žádné platné pravidla",
|
||||||
"pleaseUploadFile": "Prosím, nahrajte soubor YAML",
|
"pleaseUploadFile": "Prosím, nahrajte soubor YAML",
|
||||||
"preview": "Náhled",
|
"preview": "Náhled",
|
||||||
"rules": "Obsah pravidla",
|
|
||||||
"rulesFormat": "Formát pravidla: typ pravidla, obsah shody, [politika], kde politika je volitelná.\nPokud politika není specifikována, bude automaticky použito aktuální jméno skupiny pravidel. Příklady:",
|
"rulesFormat": "Formát pravidla: typ pravidla, obsah shody, [politika], kde politika je volitelná.\nPokud politika není specifikována, bude automaticky použito aktuální jméno skupiny pravidel. Příklady:",
|
||||||
"rulesLabel": "Obsah pravidla",
|
"rulesLabel": "Obsah pravidla",
|
||||||
"searchRule": "Hledat název pravidla",
|
"searchRule": "Hledat název pravidla",
|
||||||
"selectFile": "Vybrat soubor",
|
|
||||||
"selectTags": "Vybrat značky uzlu",
|
"selectTags": "Vybrat značky uzlu",
|
||||||
"tags": "Značky uzlu",
|
"tags": "Značky uzlu",
|
||||||
"tagsLabel": "Značky uzlu",
|
"tagsLabel": "Značky uzlu",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Potvrdit aktualizaci systému",
|
"confirmSystemUpgrade": "Potvrdit aktualizaci systému",
|
||||||
"confirmUpgrade": "Potvrdit aktualizaci",
|
"confirmUpgrade": "Potvrdit aktualizaci",
|
||||||
"currentVersion": "Aktuální verze systému:",
|
"currentVersion": "Aktuální verze systému:",
|
||||||
|
"developmentVersion": "Vývojová verze",
|
||||||
"errors": "Chyby",
|
"errors": "Chyby",
|
||||||
"ip": "IP",
|
"ip": "IP adresa",
|
||||||
"lastUpdated": "Poslední aktualizace:",
|
"lastUpdated": "Poslední aktualizace:",
|
||||||
|
"newVersionAvailable": "Nová verze",
|
||||||
"none": "Žádný",
|
"none": "Žádný",
|
||||||
"query": "Dotaz",
|
"query": "Dotaz",
|
||||||
"rebootDescription": "Opravdu chcete restartovat systém? Tato akce způsobí krátké přerušení služby.",
|
"rebootDescription": "Opravdu chcete restartovat systém? Tato akce způsobí krátké přerušení služby.",
|
||||||
"rebooting": "Systém se restartuje...",
|
"rebooting": "Systém se restartuje...",
|
||||||
"refreshLogs": "Obnovit protokoly",
|
"refreshLogs": "Obnovit protokoly",
|
||||||
"request": "Žádost",
|
"request": "Žádost",
|
||||||
|
"serverVersion": "Server",
|
||||||
"status": "Stav",
|
"status": "Stav",
|
||||||
"systemLogs": "Systémové protokoly",
|
"systemLogs": "Systémové protokoly",
|
||||||
"systemReboot": "Restart systému",
|
"systemReboot": "Restart systému",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Aktualizace systému",
|
"systemUpgrade": "Aktualizace systému",
|
||||||
"upgradeDescription": "Jste si jisti, že chcete provést aktualizaci systému? Tato operace může trvat několik minut a během ní může být systém neodpovídající.",
|
"upgradeDescription": "Jste si jisti, že chcete provést aktualizaci systému? Tato operace může trvat několik minut a během ní může být systém neodpovídající.",
|
||||||
"userAgent": "Uživatelský agent",
|
"userAgent": "Uživatelský agent",
|
||||||
"viewLogsAndManage": "Zobrazit systémové protokoly, provádět aktualizace systému a restartovat operace"
|
"versionInfo": "Informace o verzi",
|
||||||
|
"viewLogsAndManage": "Zobrazit systémové protokoly, provádět aktualizace systému a restartovat operace",
|
||||||
|
"viewNewVersion": "Zobrazit novou verzi",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Löschen",
|
"delete": "Löschen",
|
||||||
"deleteSuccess": "Regel erfolgreich gelöscht",
|
"deleteSuccess": "Regel erfolgreich gelöscht",
|
||||||
"deleteWarning": "Sind Sie sicher, dass Sie diese Regel löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
|
"deleteWarning": "Sind Sie sicher, dass Sie diese Regel löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||||
"description": "Regelbeschreibung",
|
|
||||||
"downloadTemplate": "Vorlage herunterladen",
|
"downloadTemplate": "Vorlage herunterladen",
|
||||||
"edit": "Bearbeiten",
|
"edit": "Bearbeiten",
|
||||||
"editRule": "Regel bearbeiten",
|
"editRule": "Regel bearbeiten",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Importieren",
|
"import": "Importieren",
|
||||||
"importFailed": "Import fehlgeschlagen",
|
"importFailed": "Import fehlgeschlagen",
|
||||||
"importSuccess": "Import erfolgreich",
|
"importSuccess": "Import erfolgreich",
|
||||||
"importYaml": "YAML importieren",
|
|
||||||
"importYamlDescription": "Regeln aus einer YAML-Datei importieren, das System erstellt automatisch Regelgruppen basierend auf den Namen der Richtliniengruppen",
|
"importYamlDescription": "Regeln aus einer YAML-Datei importieren, das System erstellt automatisch Regelgruppen basierend auf den Namen der Richtliniengruppen",
|
||||||
"importYamlRules": "YAML-Regeln importieren",
|
"importYamlRules": "YAML-Regeln importieren",
|
||||||
"importing": "Importiere...",
|
"importing": "Importiere...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Keine gültigen Regeln gefunden",
|
"noValidRules": "Keine gültigen Regeln gefunden",
|
||||||
"pleaseUploadFile": "Bitte laden Sie eine YAML-Datei hoch",
|
"pleaseUploadFile": "Bitte laden Sie eine YAML-Datei hoch",
|
||||||
"preview": "Vorschau",
|
"preview": "Vorschau",
|
||||||
"rules": "Regelinhalt",
|
|
||||||
"rulesFormat": "Regelformat: Regeltyp, Übereinstimmungsinhalt, [Richtlinie], wobei die Richtlinie optional ist.\nWenn keine Richtlinie angegeben ist, wird automatisch der aktuelle Regelgruppenname verwendet. Beispiele:",
|
"rulesFormat": "Regelformat: Regeltyp, Übereinstimmungsinhalt, [Richtlinie], wobei die Richtlinie optional ist.\nWenn keine Richtlinie angegeben ist, wird automatisch der aktuelle Regelgruppenname verwendet. Beispiele:",
|
||||||
"rulesLabel": "Regelinhalt",
|
"rulesLabel": "Regelinhalt",
|
||||||
"searchRule": "Regelname suchen",
|
"searchRule": "Regelname suchen",
|
||||||
"selectFile": "Datei auswählen",
|
|
||||||
"selectTags": "Knoten-Tags auswählen",
|
"selectTags": "Knoten-Tags auswählen",
|
||||||
"tags": "Knoten-Tags",
|
"tags": "Knoten-Tags",
|
||||||
"tagsLabel": "Knoten-Tags",
|
"tagsLabel": "Knoten-Tags",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Systemaktualisierung bestätigen",
|
"confirmSystemUpgrade": "Systemaktualisierung bestätigen",
|
||||||
"confirmUpgrade": "Upgrade bestätigen",
|
"confirmUpgrade": "Upgrade bestätigen",
|
||||||
"currentVersion": "Aktuelle Systemversion:",
|
"currentVersion": "Aktuelle Systemversion:",
|
||||||
|
"developmentVersion": "Entwicklungsversion",
|
||||||
"errors": "Fehler",
|
"errors": "Fehler",
|
||||||
"ip": "IP",
|
"ip": "IP-Adresse",
|
||||||
"lastUpdated": "Zuletzt aktualisiert:",
|
"lastUpdated": "Zuletzt aktualisiert:",
|
||||||
|
"newVersionAvailable": "Neue Version",
|
||||||
"none": "Keine",
|
"none": "Keine",
|
||||||
"query": "Abfrage",
|
"query": "Abfrage",
|
||||||
"rebootDescription": "Möchten Sie das System wirklich neu starten? Dieser Vorgang führt zu einer kurzen Unterbrechung des Dienstes.",
|
"rebootDescription": "Möchten Sie das System wirklich neu starten? Dieser Vorgang führt zu einer kurzen Unterbrechung des Dienstes.",
|
||||||
"rebooting": "System wird neu gestartet...",
|
"rebooting": "System wird neu gestartet...",
|
||||||
"refreshLogs": "Protokolle aktualisieren",
|
"refreshLogs": "Protokolle aktualisieren",
|
||||||
"request": "Anfrage",
|
"request": "Anfrage",
|
||||||
|
"serverVersion": "Server",
|
||||||
"status": "Status",
|
"status": "Status",
|
||||||
"systemLogs": "Systemprotokolle",
|
"systemLogs": "Systemprotokolle",
|
||||||
"systemReboot": "Systemneustart",
|
"systemReboot": "Systemneustart",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Systemaktualisierung",
|
"systemUpgrade": "Systemaktualisierung",
|
||||||
"upgradeDescription": "Möchten Sie das System-Upgrade wirklich durchführen? Dieser Vorgang kann einige Minuten dauern, währenddessen das System möglicherweise nicht reagiert.",
|
"upgradeDescription": "Möchten Sie das System-Upgrade wirklich durchführen? Dieser Vorgang kann einige Minuten dauern, währenddessen das System möglicherweise nicht reagiert.",
|
||||||
"userAgent": "Benutzeragent",
|
"userAgent": "Benutzeragent",
|
||||||
"viewLogsAndManage": "Systemprotokolle anzeigen, Systemaktualisierungen durchführen und Neustartvorgänge ausführen"
|
"versionInfo": "Versionsinformationen",
|
||||||
|
"viewLogsAndManage": "Systemprotokolle anzeigen, Systemaktualisierungen durchführen und Neustartvorgänge ausführen",
|
||||||
|
"viewNewVersion": "Neue Version anzeigen",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,12 @@
|
|||||||
"createRule": "Add Rule",
|
"createRule": "Add Rule",
|
||||||
"createSuccess": "Rule created successfully",
|
"createSuccess": "Rule created successfully",
|
||||||
"createdAt": "Created At",
|
"createdAt": "Created At",
|
||||||
|
"default": "Default",
|
||||||
|
"defaultRule": "Default Rule",
|
||||||
"delete": "Delete",
|
"delete": "Delete",
|
||||||
"deleteSuccess": "Rule deleted successfully",
|
"deleteSuccess": "Rule deleted successfully",
|
||||||
"deleteWarning": "Are you sure you want to delete this rule? This action cannot be undone.",
|
"deleteWarning": "Are you sure you want to delete this rule? This action cannot be undone.",
|
||||||
"description": "Rule Description",
|
"direct": "Direct",
|
||||||
"downloadTemplate": "Download Template",
|
"downloadTemplate": "Download Template",
|
||||||
"edit": "Edit",
|
"edit": "Edit",
|
||||||
"editRule": "Edit Rule",
|
"editRule": "Edit Rule",
|
||||||
@@ -22,7 +24,6 @@
|
|||||||
"import": "Import",
|
"import": "Import",
|
||||||
"importFailed": "Import failed",
|
"importFailed": "Import failed",
|
||||||
"importSuccess": "Import successful",
|
"importSuccess": "Import successful",
|
||||||
"importYaml": "Import YAML",
|
|
||||||
"importYamlDescription": "Import rules from YAML file, the system will automatically create rule groups based on policy group names",
|
"importYamlDescription": "Import rules from YAML file, the system will automatically create rule groups based on policy group names",
|
||||||
"importYamlRules": "Import YAML Rules",
|
"importYamlRules": "Import YAML Rules",
|
||||||
"importing": "Importing...",
|
"importing": "Importing...",
|
||||||
@@ -31,13 +32,14 @@
|
|||||||
"noValidRules": "No valid rules found",
|
"noValidRules": "No valid rules found",
|
||||||
"pleaseUploadFile": "Please upload a YAML file",
|
"pleaseUploadFile": "Please upload a YAML file",
|
||||||
"preview": "Preview",
|
"preview": "Preview",
|
||||||
"rules": "Rule Content",
|
"reject": "Reject",
|
||||||
"rulesFormat": "Rule format: rule type,match content,[policy], where policy is optional.\nIf policy is not specified, the current rule group name will be used automatically. Examples:",
|
"rulesFormat": "Rule format: rule type,match content,[policy], where policy is optional.\nIf policy is not specified, the current rule group name will be used automatically. Examples:",
|
||||||
"rulesLabel": "Rule Content",
|
"rulesLabel": "Rule Content",
|
||||||
"searchRule": "Search rule name",
|
"searchRule": "Search rule name",
|
||||||
"selectFile": "Select File",
|
|
||||||
"selectTags": "Select node tags",
|
"selectTags": "Select node tags",
|
||||||
|
"selectType": "Select rule type",
|
||||||
"tags": "Node Tags",
|
"tags": "Node Tags",
|
||||||
"tagsLabel": "Node Tags",
|
"tagsLabel": "Node Tags",
|
||||||
|
"type": "Rule Type",
|
||||||
"updateSuccess": "Rule updated successfully"
|
"updateSuccess": "Rule updated successfully"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,6 +63,7 @@
|
|||||||
"edit": "Edit",
|
"edit": "Edit",
|
||||||
"editNode": "Edit Node",
|
"editNode": "Edit Node",
|
||||||
"enable": "Enable",
|
"enable": "Enable",
|
||||||
|
"id": "ID",
|
||||||
"form": {
|
"form": {
|
||||||
"allowInsecure": "Allow Insecure",
|
"allowInsecure": "Allow Insecure",
|
||||||
"cancel": "Cancel",
|
"cancel": "Cancel",
|
||||||
@@ -141,6 +142,7 @@
|
|||||||
"name": "Name",
|
"name": "Name",
|
||||||
"node": "Node",
|
"node": "Node",
|
||||||
"nodeGroup": "Node Group",
|
"nodeGroup": "Node Group",
|
||||||
|
"noData": "--",
|
||||||
"normal": "Normal",
|
"normal": "Normal",
|
||||||
"onlineCount": "Online users",
|
"onlineCount": "Online users",
|
||||||
"onlineUsers": "Online Users",
|
"onlineUsers": "Online Users",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Confirm System Upgrade",
|
"confirmSystemUpgrade": "Confirm System Upgrade",
|
||||||
"confirmUpgrade": "Confirm Upgrade",
|
"confirmUpgrade": "Confirm Upgrade",
|
||||||
"currentVersion": "Current System Version:",
|
"currentVersion": "Current System Version:",
|
||||||
|
"developmentVersion": "Dev",
|
||||||
"errors": "Errors",
|
"errors": "Errors",
|
||||||
"ip": "IP",
|
"ip": "IP",
|
||||||
"lastUpdated": "Last Updated:",
|
"lastUpdated": "Last Updated:",
|
||||||
|
"newVersionAvailable": "New Version",
|
||||||
"none": "None",
|
"none": "None",
|
||||||
"query": "Query",
|
"query": "Query",
|
||||||
"rebootDescription": "Are you sure you want to reboot the system? This operation will cause a brief service interruption.",
|
"rebootDescription": "Are you sure you want to reboot the system? This operation will cause a brief service interruption.",
|
||||||
"rebooting": "Rebooting system...",
|
"rebooting": "Rebooting system...",
|
||||||
"refreshLogs": "Refresh Logs",
|
"refreshLogs": "Refresh Logs",
|
||||||
"request": "Request",
|
"request": "Request",
|
||||||
|
"serverVersion": "Server",
|
||||||
"status": "Status",
|
"status": "Status",
|
||||||
"systemLogs": "System Logs",
|
"systemLogs": "System Logs",
|
||||||
"systemReboot": "System Reboot",
|
"systemReboot": "System Reboot",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "System Upgrade",
|
"systemUpgrade": "System Upgrade",
|
||||||
"upgradeDescription": "Are you sure you want to perform a system upgrade? This operation may take a few minutes, during which the system may be unresponsive.",
|
"upgradeDescription": "Are you sure you want to perform a system upgrade? This operation may take a few minutes, during which the system may be unresponsive.",
|
||||||
"userAgent": "User Agent",
|
"userAgent": "User Agent",
|
||||||
"viewLogsAndManage": "View system logs, perform system upgrade and reboot operations"
|
"versionInfo": "Version Information",
|
||||||
|
"viewLogsAndManage": "View system logs, perform system upgrade and reboot operations",
|
||||||
|
"viewNewVersion": "View New Version",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Eliminar",
|
"delete": "Eliminar",
|
||||||
"deleteSuccess": "Regla eliminada con éxito",
|
"deleteSuccess": "Regla eliminada con éxito",
|
||||||
"deleteWarning": "¿Está seguro de que desea eliminar esta regla? Esta acción no se puede deshacer.",
|
"deleteWarning": "¿Está seguro de que desea eliminar esta regla? Esta acción no se puede deshacer.",
|
||||||
"description": "Descripción de la Regla",
|
|
||||||
"downloadTemplate": "Descargar Plantilla",
|
"downloadTemplate": "Descargar Plantilla",
|
||||||
"edit": "Editar",
|
"edit": "Editar",
|
||||||
"editRule": "Editar Regla",
|
"editRule": "Editar Regla",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Importar",
|
"import": "Importar",
|
||||||
"importFailed": "Importación fallida",
|
"importFailed": "Importación fallida",
|
||||||
"importSuccess": "Importación exitosa",
|
"importSuccess": "Importación exitosa",
|
||||||
"importYaml": "Importar YAML",
|
|
||||||
"importYamlDescription": "Importar reglas desde un archivo YAML, el sistema creará automáticamente grupos de reglas basados en los nombres de los grupos de políticas",
|
"importYamlDescription": "Importar reglas desde un archivo YAML, el sistema creará automáticamente grupos de reglas basados en los nombres de los grupos de políticas",
|
||||||
"importYamlRules": "Importar Reglas YAML",
|
"importYamlRules": "Importar Reglas YAML",
|
||||||
"importing": "Importando...",
|
"importing": "Importando...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "No se encontraron reglas válidas",
|
"noValidRules": "No se encontraron reglas válidas",
|
||||||
"pleaseUploadFile": "Por favor, suba un archivo YAML",
|
"pleaseUploadFile": "Por favor, suba un archivo YAML",
|
||||||
"preview": "Vista Previa",
|
"preview": "Vista Previa",
|
||||||
"rules": "Contenido de la Regla",
|
|
||||||
"rulesFormat": "Formato de regla: tipo de regla, contenido de coincidencia, [política], donde la política es opcional.\nSi no se especifica la política, se utilizará automáticamente el nombre del grupo de reglas actual. Ejemplos:",
|
"rulesFormat": "Formato de regla: tipo de regla, contenido de coincidencia, [política], donde la política es opcional.\nSi no se especifica la política, se utilizará automáticamente el nombre del grupo de reglas actual. Ejemplos:",
|
||||||
"rulesLabel": "Contenido de la Regla",
|
"rulesLabel": "Contenido de la Regla",
|
||||||
"searchRule": "Buscar nombre de regla",
|
"searchRule": "Buscar nombre de regla",
|
||||||
"selectFile": "Seleccionar Archivo",
|
|
||||||
"selectTags": "Seleccionar etiquetas de nodo",
|
"selectTags": "Seleccionar etiquetas de nodo",
|
||||||
"tags": "Etiquetas de Nodo",
|
"tags": "Etiquetas de Nodo",
|
||||||
"tagsLabel": "Etiquetas de Nodo",
|
"tagsLabel": "Etiquetas de Nodo",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Confirmar actualización del sistema",
|
"confirmSystemUpgrade": "Confirmar actualización del sistema",
|
||||||
"confirmUpgrade": "Confirmar actualización",
|
"confirmUpgrade": "Confirmar actualización",
|
||||||
"currentVersion": "Versión actual del sistema:",
|
"currentVersion": "Versión actual del sistema:",
|
||||||
|
"developmentVersion": "Versión de desarrollo",
|
||||||
"errors": "Errores",
|
"errors": "Errores",
|
||||||
"ip": "IP",
|
"ip": "Dirección IP",
|
||||||
"lastUpdated": "Última actualización:",
|
"lastUpdated": "Última actualización:",
|
||||||
|
"newVersionAvailable": "Nueva versión",
|
||||||
"none": "Ninguno",
|
"none": "Ninguno",
|
||||||
"query": "Consulta",
|
"query": "Consulta",
|
||||||
"rebootDescription": "¿Está seguro de que desea reiniciar el sistema? Esta acción provocará una breve interrupción del servicio.",
|
"rebootDescription": "¿Está seguro de que desea reiniciar el sistema? Esta acción provocará una breve interrupción del servicio.",
|
||||||
"rebooting": "Reiniciando el sistema...",
|
"rebooting": "Reiniciando el sistema...",
|
||||||
"refreshLogs": "Actualizar registros",
|
"refreshLogs": "Actualizar registros",
|
||||||
"request": "Solicitud",
|
"request": "Solicitud",
|
||||||
|
"serverVersion": "Servidor",
|
||||||
"status": "Estado",
|
"status": "Estado",
|
||||||
"systemLogs": "Registros del sistema",
|
"systemLogs": "Registros del sistema",
|
||||||
"systemReboot": "Reinicio del sistema",
|
"systemReboot": "Reinicio del sistema",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Actualización del sistema",
|
"systemUpgrade": "Actualización del sistema",
|
||||||
"upgradeDescription": "¿Está seguro de que desea realizar la actualización del sistema? Esta operación puede tardar unos minutos, durante los cuales el sistema podría no responder.",
|
"upgradeDescription": "¿Está seguro de que desea realizar la actualización del sistema? Esta operación puede tardar unos minutos, durante los cuales el sistema podría no responder.",
|
||||||
"userAgent": "Agente de Usuario",
|
"userAgent": "Agente de Usuario",
|
||||||
"viewLogsAndManage": "Ver los registros del sistema, realizar actualizaciones del sistema y reiniciar operaciones"
|
"versionInfo": "Información de versión",
|
||||||
|
"viewLogsAndManage": "Ver los registros del sistema, realizar actualizaciones del sistema y reiniciar operaciones",
|
||||||
|
"viewNewVersion": "Ver nueva versión",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Eliminar",
|
"delete": "Eliminar",
|
||||||
"deleteSuccess": "Regla eliminada con éxito",
|
"deleteSuccess": "Regla eliminada con éxito",
|
||||||
"deleteWarning": "¿Está seguro de que desea eliminar esta regla? Esta acción no se puede deshacer.",
|
"deleteWarning": "¿Está seguro de que desea eliminar esta regla? Esta acción no se puede deshacer.",
|
||||||
"description": "Descripción de la Regla",
|
|
||||||
"downloadTemplate": "Descargar Plantilla",
|
"downloadTemplate": "Descargar Plantilla",
|
||||||
"edit": "Editar",
|
"edit": "Editar",
|
||||||
"editRule": "Editar Regla",
|
"editRule": "Editar Regla",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Importar",
|
"import": "Importar",
|
||||||
"importFailed": "Importación fallida",
|
"importFailed": "Importación fallida",
|
||||||
"importSuccess": "Importación exitosa",
|
"importSuccess": "Importación exitosa",
|
||||||
"importYaml": "Importar YAML",
|
|
||||||
"importYamlDescription": "Importar reglas desde un archivo YAML, el sistema creará automáticamente grupos de reglas basados en los nombres de los grupos de políticas",
|
"importYamlDescription": "Importar reglas desde un archivo YAML, el sistema creará automáticamente grupos de reglas basados en los nombres de los grupos de políticas",
|
||||||
"importYamlRules": "Importar Reglas YAML",
|
"importYamlRules": "Importar Reglas YAML",
|
||||||
"importing": "Importando...",
|
"importing": "Importando...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "No se encontraron reglas válidas",
|
"noValidRules": "No se encontraron reglas válidas",
|
||||||
"pleaseUploadFile": "Por favor, suba un archivo YAML",
|
"pleaseUploadFile": "Por favor, suba un archivo YAML",
|
||||||
"preview": "Vista Previa",
|
"preview": "Vista Previa",
|
||||||
"rules": "Contenido de la Regla",
|
|
||||||
"rulesFormat": "Formato de regla: tipo de regla, contenido de coincidencia, [política], donde la política es opcional.\nSi no se especifica la política, se utilizará automáticamente el nombre del grupo de reglas actual. Ejemplos:",
|
"rulesFormat": "Formato de regla: tipo de regla, contenido de coincidencia, [política], donde la política es opcional.\nSi no se especifica la política, se utilizará automáticamente el nombre del grupo de reglas actual. Ejemplos:",
|
||||||
"rulesLabel": "Contenido de la Regla",
|
"rulesLabel": "Contenido de la Regla",
|
||||||
"searchRule": "Buscar nombre de regla",
|
"searchRule": "Buscar nombre de regla",
|
||||||
"selectFile": "Seleccionar Archivo",
|
|
||||||
"selectTags": "Seleccionar etiquetas de nodo",
|
"selectTags": "Seleccionar etiquetas de nodo",
|
||||||
"tags": "Etiquetas de Nodo",
|
"tags": "Etiquetas de Nodo",
|
||||||
"tagsLabel": "Etiquetas de Nodo",
|
"tagsLabel": "Etiquetas de Nodo",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Confirmar actualización del sistema",
|
"confirmSystemUpgrade": "Confirmar actualización del sistema",
|
||||||
"confirmUpgrade": "Confirmar actualización",
|
"confirmUpgrade": "Confirmar actualización",
|
||||||
"currentVersion": "Versión actual del sistema:",
|
"currentVersion": "Versión actual del sistema:",
|
||||||
|
"developmentVersion": "Versión de desarrollo",
|
||||||
"errors": "Errores",
|
"errors": "Errores",
|
||||||
"ip": "IP",
|
"ip": "Dirección IP",
|
||||||
"lastUpdated": "Última actualización:",
|
"lastUpdated": "Última actualización:",
|
||||||
|
"newVersionAvailable": "Nueva versión",
|
||||||
"none": "Ninguno",
|
"none": "Ninguno",
|
||||||
"query": "Consulta",
|
"query": "Consulta",
|
||||||
"rebootDescription": "¿Está seguro de que desea reiniciar el sistema? Esta acción provocará una breve interrupción del servicio.",
|
"rebootDescription": "¿Está seguro de que desea reiniciar el sistema? Esta acción provocará una breve interrupción del servicio.",
|
||||||
"rebooting": "Reiniciando el sistema...",
|
"rebooting": "Reiniciando el sistema...",
|
||||||
"refreshLogs": "Actualizar registros",
|
"refreshLogs": "Actualizar registros",
|
||||||
"request": "Solicitud",
|
"request": "Solicitud",
|
||||||
|
"serverVersion": "Servidor",
|
||||||
"status": "Estado",
|
"status": "Estado",
|
||||||
"systemLogs": "Registros del sistema",
|
"systemLogs": "Registros del sistema",
|
||||||
"systemReboot": "Reinicio del sistema",
|
"systemReboot": "Reinicio del sistema",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Actualización del sistema",
|
"systemUpgrade": "Actualización del sistema",
|
||||||
"upgradeDescription": "¿Está seguro de que desea realizar la actualización del sistema? Esta operación puede tardar unos minutos, durante los cuales el sistema podría no responder.",
|
"upgradeDescription": "¿Está seguro de que desea realizar la actualización del sistema? Esta operación puede tardar unos minutos, durante los cuales el sistema podría no responder.",
|
||||||
"userAgent": "Agente de Usuario",
|
"userAgent": "Agente de Usuario",
|
||||||
"viewLogsAndManage": "Ver los registros del sistema, realizar actualizaciones del sistema y reiniciar operaciones"
|
"versionInfo": "Información de versión",
|
||||||
|
"viewLogsAndManage": "Ver los registros del sistema, realizar actualizaciones del sistema y reiniciar operaciones",
|
||||||
|
"viewNewVersion": "Ver nueva versión",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "حذف",
|
"delete": "حذف",
|
||||||
"deleteSuccess": "قانون با موفقیت حذف شد",
|
"deleteSuccess": "قانون با موفقیت حذف شد",
|
||||||
"deleteWarning": "آیا مطمئن هستید که میخواهید این قانون را حذف کنید؟ این عمل قابل بازگشت نیست.",
|
"deleteWarning": "آیا مطمئن هستید که میخواهید این قانون را حذف کنید؟ این عمل قابل بازگشت نیست.",
|
||||||
"description": "توضیحات قانون",
|
|
||||||
"downloadTemplate": "دانلود الگو",
|
"downloadTemplate": "دانلود الگو",
|
||||||
"edit": "ویرایش",
|
"edit": "ویرایش",
|
||||||
"editRule": "ویرایش قانون",
|
"editRule": "ویرایش قانون",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "وارد کردن",
|
"import": "وارد کردن",
|
||||||
"importFailed": "وارد کردن ناموفق بود",
|
"importFailed": "وارد کردن ناموفق بود",
|
||||||
"importSuccess": "وارد کردن با موفقیت انجام شد",
|
"importSuccess": "وارد کردن با موفقیت انجام شد",
|
||||||
"importYaml": "وارد کردن YAML",
|
|
||||||
"importYamlDescription": "وارد کردن قوانین از فایل YAML، سیستم به طور خودکار گروههای قانونی را بر اساس نامهای گروه سیاست ایجاد خواهد کرد",
|
"importYamlDescription": "وارد کردن قوانین از فایل YAML، سیستم به طور خودکار گروههای قانونی را بر اساس نامهای گروه سیاست ایجاد خواهد کرد",
|
||||||
"importYamlRules": "وارد کردن قوانین YAML",
|
"importYamlRules": "وارد کردن قوانین YAML",
|
||||||
"importing": "در حال وارد کردن...",
|
"importing": "در حال وارد کردن...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "هیچ قانونی یافت نشد",
|
"noValidRules": "هیچ قانونی یافت نشد",
|
||||||
"pleaseUploadFile": "لطفاً یک فایل YAML بارگذاری کنید",
|
"pleaseUploadFile": "لطفاً یک فایل YAML بارگذاری کنید",
|
||||||
"preview": "پیشنمایش",
|
"preview": "پیشنمایش",
|
||||||
"rules": "محتوای قانون",
|
|
||||||
"rulesFormat": "فرمت قانون: نوع قانون، محتوای تطابق، [سیاست]، که سیاست اختیاری است.\nاگر سیاست مشخص نشود، نام گروه قانونی فعلی به طور خودکار استفاده خواهد شد. مثالها:",
|
"rulesFormat": "فرمت قانون: نوع قانون، محتوای تطابق، [سیاست]، که سیاست اختیاری است.\nاگر سیاست مشخص نشود، نام گروه قانونی فعلی به طور خودکار استفاده خواهد شد. مثالها:",
|
||||||
"rulesLabel": "محتوای قانون",
|
"rulesLabel": "محتوای قانون",
|
||||||
"searchRule": "جستجوی نام قانون",
|
"searchRule": "جستجوی نام قانون",
|
||||||
"selectFile": "انتخاب فایل",
|
|
||||||
"selectTags": "انتخاب برچسبهای گره",
|
"selectTags": "انتخاب برچسبهای گره",
|
||||||
"tags": "برچسبهای گره",
|
"tags": "برچسبهای گره",
|
||||||
"tagsLabel": "برچسبهای گره",
|
"tagsLabel": "برچسبهای گره",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "تأیید ارتقاء سیستم",
|
"confirmSystemUpgrade": "تأیید ارتقاء سیستم",
|
||||||
"confirmUpgrade": "تأیید ارتقاء",
|
"confirmUpgrade": "تأیید ارتقاء",
|
||||||
"currentVersion": "نسخه فعلی سیستم:",
|
"currentVersion": "نسخه فعلی سیستم:",
|
||||||
|
"developmentVersion": "نسخه توسعه",
|
||||||
"errors": "خطاها",
|
"errors": "خطاها",
|
||||||
"ip": "آیپی",
|
"ip": "آدرس آیپی",
|
||||||
"lastUpdated": "آخرین بهروزرسانی:",
|
"lastUpdated": "آخرین بهروزرسانی:",
|
||||||
|
"newVersionAvailable": "نسخه جدید",
|
||||||
"none": "هیچ",
|
"none": "هیچ",
|
||||||
"query": "پرس و جو",
|
"query": "پرس و جو",
|
||||||
"rebootDescription": "آیا مطمئن هستید که میخواهید سیستم را راهاندازی مجدد کنید؟ این عملیات باعث وقفه کوتاهی در خدمات خواهد شد.",
|
"rebootDescription": "آیا مطمئن هستید که میخواهید سیستم را راهاندازی مجدد کنید؟ این عملیات باعث وقفه کوتاهی در خدمات خواهد شد.",
|
||||||
"rebooting": "در حال راهاندازی مجدد سیستم...",
|
"rebooting": "در حال راهاندازی مجدد سیستم...",
|
||||||
"refreshLogs": "تازهسازی گزارشها",
|
"refreshLogs": "تازهسازی گزارشها",
|
||||||
"request": "درخواست",
|
"request": "درخواست",
|
||||||
|
"serverVersion": "سرور",
|
||||||
"status": "وضعیت",
|
"status": "وضعیت",
|
||||||
"systemLogs": "گزارشهای سیستم",
|
"systemLogs": "گزارشهای سیستم",
|
||||||
"systemReboot": "راهاندازی مجدد سیستم",
|
"systemReboot": "راهاندازی مجدد سیستم",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "ارتقاء سیستم",
|
"systemUpgrade": "ارتقاء سیستم",
|
||||||
"upgradeDescription": "آیا مطمئن هستید که میخواهید ارتقاء سیستم را انجام دهید؟ این عملیات ممکن است چند دقیقه طول بکشد و در این مدت سیستم ممکن است پاسخگو نباشد.",
|
"upgradeDescription": "آیا مطمئن هستید که میخواهید ارتقاء سیستم را انجام دهید؟ این عملیات ممکن است چند دقیقه طول بکشد و در این مدت سیستم ممکن است پاسخگو نباشد.",
|
||||||
"userAgent": "عامل کاربر",
|
"userAgent": "عامل کاربر",
|
||||||
"viewLogsAndManage": "مشاهده گزارشهای سیستم، انجام ارتقاء سیستم و عملیات راهاندازی مجدد"
|
"versionInfo": "اطلاعات نسخه",
|
||||||
|
"viewLogsAndManage": "مشاهده گزارشهای سیستم، انجام ارتقاء سیستم و عملیات راهاندازی مجدد",
|
||||||
|
"viewNewVersion": "مشاهده نسخه جدید",
|
||||||
|
"webVersion": "وب/مدیریت"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Poista",
|
"delete": "Poista",
|
||||||
"deleteSuccess": "Sääntö poistettiin onnistuneesti",
|
"deleteSuccess": "Sääntö poistettiin onnistuneesti",
|
||||||
"deleteWarning": "Oletko varma, että haluat poistaa tämän säännön? Tätä toimintoa ei voi peruuttaa.",
|
"deleteWarning": "Oletko varma, että haluat poistaa tämän säännön? Tätä toimintoa ei voi peruuttaa.",
|
||||||
"description": "Säännön kuvaus",
|
|
||||||
"downloadTemplate": "Lataa malli",
|
"downloadTemplate": "Lataa malli",
|
||||||
"edit": "Muokkaa",
|
"edit": "Muokkaa",
|
||||||
"editRule": "Muokkaa sääntöä",
|
"editRule": "Muokkaa sääntöä",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Tuoda",
|
"import": "Tuoda",
|
||||||
"importFailed": "Tuonti epäonnistui",
|
"importFailed": "Tuonti epäonnistui",
|
||||||
"importSuccess": "Tuonti onnistui",
|
"importSuccess": "Tuonti onnistui",
|
||||||
"importYaml": "Tuo YAML",
|
|
||||||
"importYamlDescription": "Tuo sääntöjä YAML-tiedostosta, järjestelmä luo automaattisesti sääntöryhmiä politiikkaryhmän nimien perusteella",
|
"importYamlDescription": "Tuo sääntöjä YAML-tiedostosta, järjestelmä luo automaattisesti sääntöryhmiä politiikkaryhmän nimien perusteella",
|
||||||
"importYamlRules": "Tuo YAML-säännöt",
|
"importYamlRules": "Tuo YAML-säännöt",
|
||||||
"importing": "Tuodaan...",
|
"importing": "Tuodaan...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Ei voimassa olevia sääntöjä löytynyt",
|
"noValidRules": "Ei voimassa olevia sääntöjä löytynyt",
|
||||||
"pleaseUploadFile": "Lataa YAML-tiedosto",
|
"pleaseUploadFile": "Lataa YAML-tiedosto",
|
||||||
"preview": "Esikatselu",
|
"preview": "Esikatselu",
|
||||||
"rules": "Säännön sisältö",
|
|
||||||
"rulesFormat": "Sääntömuoto: sääntötyyppi, vastaavuus, [politiikka], jossa politiikka on valinnainen.\nJos politiikkaa ei ole määritelty, nykyistä sääntöryhmän nimeä käytetään automaattisesti. Esimerkkejä:",
|
"rulesFormat": "Sääntömuoto: sääntötyyppi, vastaavuus, [politiikka], jossa politiikka on valinnainen.\nJos politiikkaa ei ole määritelty, nykyistä sääntöryhmän nimeä käytetään automaattisesti. Esimerkkejä:",
|
||||||
"rulesLabel": "Säännön sisältö",
|
"rulesLabel": "Säännön sisältö",
|
||||||
"searchRule": "Etsi säännön nimeä",
|
"searchRule": "Etsi säännön nimeä",
|
||||||
"selectFile": "Valitse tiedosto",
|
|
||||||
"selectTags": "Valitse solmun tunnisteet",
|
"selectTags": "Valitse solmun tunnisteet",
|
||||||
"tags": "Solmun tunnisteet",
|
"tags": "Solmun tunnisteet",
|
||||||
"tagsLabel": "Solmun tunnisteet",
|
"tagsLabel": "Solmun tunnisteet",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Vahvista järjestelmän päivitys",
|
"confirmSystemUpgrade": "Vahvista järjestelmän päivitys",
|
||||||
"confirmUpgrade": "Vahvista päivitys",
|
"confirmUpgrade": "Vahvista päivitys",
|
||||||
"currentVersion": "Nykyinen järjestelmäversio:",
|
"currentVersion": "Nykyinen järjestelmäversio:",
|
||||||
|
"developmentVersion": "Kehitysversio",
|
||||||
"errors": "Virheet",
|
"errors": "Virheet",
|
||||||
"ip": "IP",
|
"ip": "IP-osoite",
|
||||||
"lastUpdated": "Viimeksi päivitetty:",
|
"lastUpdated": "Viimeksi päivitetty:",
|
||||||
|
"newVersionAvailable": "Uusi versio",
|
||||||
"none": "Ei mitään",
|
"none": "Ei mitään",
|
||||||
"query": "Kysely",
|
"query": "Kysely",
|
||||||
"rebootDescription": "Oletko varma, että haluat käynnistää järjestelmän uudelleen? Tämä toimenpide aiheuttaa lyhyen palvelukatkon.",
|
"rebootDescription": "Oletko varma, että haluat käynnistää järjestelmän uudelleen? Tämä toimenpide aiheuttaa lyhyen palvelukatkon.",
|
||||||
"rebooting": "Järjestelmä käynnistyy uudelleen...",
|
"rebooting": "Järjestelmä käynnistyy uudelleen...",
|
||||||
"refreshLogs": "Päivitä lokit",
|
"refreshLogs": "Päivitä lokit",
|
||||||
"request": "Pyyntö",
|
"request": "Pyyntö",
|
||||||
|
"serverVersion": "Palvelin",
|
||||||
"status": "Tila",
|
"status": "Tila",
|
||||||
"systemLogs": "Järjestelmän lokit",
|
"systemLogs": "Järjestelmän lokit",
|
||||||
"systemReboot": "Järjestelmän uudelleenkäynnistys",
|
"systemReboot": "Järjestelmän uudelleenkäynnistys",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Järjestelmän päivitys",
|
"systemUpgrade": "Järjestelmän päivitys",
|
||||||
"upgradeDescription": "Haluatko varmasti suorittaa järjestelmäpäivityksen? Tämä toimenpide voi kestää muutaman minuutin, ja sen aikana järjestelmä ei välttämättä vastaa.",
|
"upgradeDescription": "Haluatko varmasti suorittaa järjestelmäpäivityksen? Tämä toimenpide voi kestää muutaman minuutin, ja sen aikana järjestelmä ei välttämättä vastaa.",
|
||||||
"userAgent": "Käyttäjäagentti",
|
"userAgent": "Käyttäjäagentti",
|
||||||
"viewLogsAndManage": "Tarkastele järjestelmän lokitietoja, suorita järjestelmäpäivityksiä ja uudelleenkäynnistyksiä"
|
"versionInfo": "Versiotiedot",
|
||||||
|
"viewLogsAndManage": "Tarkastele järjestelmän lokitietoja, suorita järjestelmäpäivityksiä ja uudelleenkäynnistyksiä",
|
||||||
|
"viewNewVersion": "Näytä uusi versio",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Supprimer",
|
"delete": "Supprimer",
|
||||||
"deleteSuccess": "Règle supprimée avec succès",
|
"deleteSuccess": "Règle supprimée avec succès",
|
||||||
"deleteWarning": "Êtes-vous sûr de vouloir supprimer cette règle ? Cette action ne peut pas être annulée.",
|
"deleteWarning": "Êtes-vous sûr de vouloir supprimer cette règle ? Cette action ne peut pas être annulée.",
|
||||||
"description": "Description de la règle",
|
|
||||||
"downloadTemplate": "Télécharger le modèle",
|
"downloadTemplate": "Télécharger le modèle",
|
||||||
"edit": "Modifier",
|
"edit": "Modifier",
|
||||||
"editRule": "Modifier la règle",
|
"editRule": "Modifier la règle",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Importer",
|
"import": "Importer",
|
||||||
"importFailed": "Échec de l'importation",
|
"importFailed": "Échec de l'importation",
|
||||||
"importSuccess": "Importation réussie",
|
"importSuccess": "Importation réussie",
|
||||||
"importYaml": "Importer YAML",
|
|
||||||
"importYamlDescription": "Importer des règles à partir d'un fichier YAML, le système créera automatiquement des groupes de règles en fonction des noms de groupes de politiques",
|
"importYamlDescription": "Importer des règles à partir d'un fichier YAML, le système créera automatiquement des groupes de règles en fonction des noms de groupes de politiques",
|
||||||
"importYamlRules": "Importer des règles YAML",
|
"importYamlRules": "Importer des règles YAML",
|
||||||
"importing": "Importation en cours...",
|
"importing": "Importation en cours...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Aucune règle valide trouvée",
|
"noValidRules": "Aucune règle valide trouvée",
|
||||||
"pleaseUploadFile": "Veuillez télécharger un fichier YAML",
|
"pleaseUploadFile": "Veuillez télécharger un fichier YAML",
|
||||||
"preview": "Aperçu",
|
"preview": "Aperçu",
|
||||||
"rules": "Contenu de la règle",
|
|
||||||
"rulesFormat": "Format de la règle : type de règle, contenu de correspondance, [politique], où la politique est optionnelle.\nSi la politique n'est pas spécifiée, le nom du groupe de règles actuel sera utilisé automatiquement. Exemples :",
|
"rulesFormat": "Format de la règle : type de règle, contenu de correspondance, [politique], où la politique est optionnelle.\nSi la politique n'est pas spécifiée, le nom du groupe de règles actuel sera utilisé automatiquement. Exemples :",
|
||||||
"rulesLabel": "Contenu de la règle",
|
"rulesLabel": "Contenu de la règle",
|
||||||
"searchRule": "Rechercher le nom de la règle",
|
"searchRule": "Rechercher le nom de la règle",
|
||||||
"selectFile": "Sélectionner un fichier",
|
|
||||||
"selectTags": "Sélectionner des balises de nœud",
|
"selectTags": "Sélectionner des balises de nœud",
|
||||||
"tags": "Balises de nœud",
|
"tags": "Balises de nœud",
|
||||||
"tagsLabel": "Balises de nœud",
|
"tagsLabel": "Balises de nœud",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Confirmer la mise à niveau du système",
|
"confirmSystemUpgrade": "Confirmer la mise à niveau du système",
|
||||||
"confirmUpgrade": "Confirmer la mise à niveau",
|
"confirmUpgrade": "Confirmer la mise à niveau",
|
||||||
"currentVersion": "Version actuelle du système :",
|
"currentVersion": "Version actuelle du système :",
|
||||||
|
"developmentVersion": "Version de développement",
|
||||||
"errors": "Erreurs",
|
"errors": "Erreurs",
|
||||||
"ip": "IP",
|
"ip": "Adresse IP",
|
||||||
"lastUpdated": "Dernière mise à jour :",
|
"lastUpdated": "Dernière mise à jour :",
|
||||||
|
"newVersionAvailable": "Nouvelle version",
|
||||||
"none": "Aucun",
|
"none": "Aucun",
|
||||||
"query": "Requête",
|
"query": "Requête",
|
||||||
"rebootDescription": "Êtes-vous sûr de vouloir redémarrer le système ? Cette opération entraînera une interruption temporaire du service.",
|
"rebootDescription": "Êtes-vous sûr de vouloir redémarrer le système ? Cette opération entraînera une interruption temporaire du service.",
|
||||||
"rebooting": "Redémarrage du système...",
|
"rebooting": "Redémarrage du système...",
|
||||||
"refreshLogs": "Rafraîchir les journaux",
|
"refreshLogs": "Rafraîchir les journaux",
|
||||||
"request": "Demande",
|
"request": "Demande",
|
||||||
|
"serverVersion": "Serveur",
|
||||||
"status": "Statut",
|
"status": "Statut",
|
||||||
"systemLogs": "Journaux système",
|
"systemLogs": "Journaux système",
|
||||||
"systemReboot": "Redémarrage du système",
|
"systemReboot": "Redémarrage du système",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Mise à niveau du système",
|
"systemUpgrade": "Mise à niveau du système",
|
||||||
"upgradeDescription": "Êtes-vous sûr de vouloir effectuer la mise à niveau du système ? Cette opération peut prendre quelques minutes, pendant lesquelles le système peut ne pas répondre.",
|
"upgradeDescription": "Êtes-vous sûr de vouloir effectuer la mise à niveau du système ? Cette opération peut prendre quelques minutes, pendant lesquelles le système peut ne pas répondre.",
|
||||||
"userAgent": "Agent utilisateur",
|
"userAgent": "Agent utilisateur",
|
||||||
"viewLogsAndManage": "Afficher les journaux système, effectuer des mises à niveau et redémarrer le système"
|
"versionInfo": "Informations de version",
|
||||||
|
"viewLogsAndManage": "Afficher les journaux système, effectuer des mises à niveau et redémarrer le système",
|
||||||
|
"viewNewVersion": "Voir la nouvelle version",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "हटाएं",
|
"delete": "हटाएं",
|
||||||
"deleteSuccess": "नियम सफलतापूर्वक हटाया गया",
|
"deleteSuccess": "नियम सफलतापूर्वक हटाया गया",
|
||||||
"deleteWarning": "क्या आप वाकई इस नियम को हटाना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती।",
|
"deleteWarning": "क्या आप वाकई इस नियम को हटाना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती।",
|
||||||
"description": "नियम विवरण",
|
|
||||||
"downloadTemplate": "टेम्पलेट डाउनलोड करें",
|
"downloadTemplate": "टेम्पलेट डाउनलोड करें",
|
||||||
"edit": "संपादित करें",
|
"edit": "संपादित करें",
|
||||||
"editRule": "नियम संपादित करें",
|
"editRule": "नियम संपादित करें",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "आयात करें",
|
"import": "आयात करें",
|
||||||
"importFailed": "आयात विफल",
|
"importFailed": "आयात विफल",
|
||||||
"importSuccess": "आयात सफल",
|
"importSuccess": "आयात सफल",
|
||||||
"importYaml": "YAML आयात करें",
|
|
||||||
"importYamlDescription": "YAML फ़ाइल से नियम आयात करें, प्रणाली स्वचालित रूप से नीति समूह नामों के आधार पर नियम समूह बनाएगी",
|
"importYamlDescription": "YAML फ़ाइल से नियम आयात करें, प्रणाली स्वचालित रूप से नीति समूह नामों के आधार पर नियम समूह बनाएगी",
|
||||||
"importYamlRules": "YAML नियम आयात करें",
|
"importYamlRules": "YAML नियम आयात करें",
|
||||||
"importing": "आयात कर रहा है...",
|
"importing": "आयात कर रहा है...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "कोई मान्य नियम नहीं मिला",
|
"noValidRules": "कोई मान्य नियम नहीं मिला",
|
||||||
"pleaseUploadFile": "कृपया एक YAML फ़ाइल अपलोड करें",
|
"pleaseUploadFile": "कृपया एक YAML फ़ाइल अपलोड करें",
|
||||||
"preview": "पूर्वावलोकन",
|
"preview": "पूर्वावलोकन",
|
||||||
"rules": "नियम सामग्री",
|
|
||||||
"rulesFormat": "नियम प्रारूप: नियम प्रकार, मिलान सामग्री, [नीति], जहाँ नीति वैकल्पिक है।\nयदि नीति निर्दिष्ट नहीं की गई है, तो वर्तमान नियम समूह का नाम स्वचालित रूप से उपयोग किया जाएगा। उदाहरण:",
|
"rulesFormat": "नियम प्रारूप: नियम प्रकार, मिलान सामग्री, [नीति], जहाँ नीति वैकल्पिक है।\nयदि नीति निर्दिष्ट नहीं की गई है, तो वर्तमान नियम समूह का नाम स्वचालित रूप से उपयोग किया जाएगा। उदाहरण:",
|
||||||
"rulesLabel": "नियम सामग्री",
|
"rulesLabel": "नियम सामग्री",
|
||||||
"searchRule": "नियम नाम खोजें",
|
"searchRule": "नियम नाम खोजें",
|
||||||
"selectFile": "फ़ाइल चुनें",
|
|
||||||
"selectTags": "नोड टैग चुनें",
|
"selectTags": "नोड टैग चुनें",
|
||||||
"tags": "नोड टैग",
|
"tags": "नोड टैग",
|
||||||
"tagsLabel": "नोड टैग",
|
"tagsLabel": "नोड टैग",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "सिस्टम उन्नयन की पुष्टि करें",
|
"confirmSystemUpgrade": "सिस्टम उन्नयन की पुष्टि करें",
|
||||||
"confirmUpgrade": "उन्नयन की पुष्टि करें",
|
"confirmUpgrade": "उन्नयन की पुष्टि करें",
|
||||||
"currentVersion": "वर्तमान सिस्टम संस्करण:",
|
"currentVersion": "वर्तमान सिस्टम संस्करण:",
|
||||||
|
"developmentVersion": "विकास संस्करण",
|
||||||
"errors": "त्रुटियाँ",
|
"errors": "त्रुटियाँ",
|
||||||
"ip": "आईपी",
|
"ip": "आईपी पता",
|
||||||
"lastUpdated": "अंतिम अपडेट:",
|
"lastUpdated": "अंतिम अपडेट:",
|
||||||
|
"newVersionAvailable": "नया संस्करण",
|
||||||
"none": "कोई नहीं",
|
"none": "कोई नहीं",
|
||||||
"query": "प्रश्न",
|
"query": "प्रश्न",
|
||||||
"rebootDescription": "क्या आप वाकई सिस्टम को पुनः आरंभ करना चाहते हैं? इस क्रिया से थोड़े समय के लिए सेवा में बाधा आ सकती है।",
|
"rebootDescription": "क्या आप वाकई सिस्टम को पुनः आरंभ करना चाहते हैं? इस क्रिया से थोड़े समय के लिए सेवा में बाधा आ सकती है।",
|
||||||
"rebooting": "सिस्टम को पुनः आरंभ किया जा रहा है...",
|
"rebooting": "सिस्टम को पुनः आरंभ किया जा रहा है...",
|
||||||
"refreshLogs": "लॉग्स को ताज़ा करें",
|
"refreshLogs": "लॉग्स को ताज़ा करें",
|
||||||
"request": "अनुरोध",
|
"request": "अनुरोध",
|
||||||
|
"serverVersion": "सर्वर",
|
||||||
"status": "स्थिति",
|
"status": "स्थिति",
|
||||||
"systemLogs": "सिस्टम लॉग्स",
|
"systemLogs": "सिस्टम लॉग्स",
|
||||||
"systemReboot": "सिस्टम पुनरारंभ",
|
"systemReboot": "सिस्टम पुनरारंभ",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "सिस्टम उन्नयन",
|
"systemUpgrade": "सिस्टम उन्नयन",
|
||||||
"upgradeDescription": "क्या आप वाकई सिस्टम अपग्रेड करना चाहते हैं? इस प्रक्रिया में कुछ मिनट लग सकते हैं और इस दौरान सिस्टम प्रतिक्रिया नहीं दे सकता है।",
|
"upgradeDescription": "क्या आप वाकई सिस्टम अपग्रेड करना चाहते हैं? इस प्रक्रिया में कुछ मिनट लग सकते हैं और इस दौरान सिस्टम प्रतिक्रिया नहीं दे सकता है।",
|
||||||
"userAgent": "उपयोगकर्ता एजेंट",
|
"userAgent": "उपयोगकर्ता एजेंट",
|
||||||
"viewLogsAndManage": "सिस्टम लॉग देखें, सिस्टम अपग्रेड और पुनरारंभ संचालन करें"
|
"versionInfo": "संस्करण जानकारी",
|
||||||
|
"viewLogsAndManage": "सिस्टम लॉग देखें, सिस्टम अपग्रेड और पुनरारंभ संचालन करें",
|
||||||
|
"viewNewVersion": "नया संस्करण देखें",
|
||||||
|
"webVersion": "वेब/एडमिन"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Törlés",
|
"delete": "Törlés",
|
||||||
"deleteSuccess": "A szabály sikeresen törölve",
|
"deleteSuccess": "A szabály sikeresen törölve",
|
||||||
"deleteWarning": "Biztosan törölni szeretné ezt a szabályt? Ez a művelet nem vonható vissza.",
|
"deleteWarning": "Biztosan törölni szeretné ezt a szabályt? Ez a művelet nem vonható vissza.",
|
||||||
"description": "Szabály leírása",
|
|
||||||
"downloadTemplate": "Sablon letöltése",
|
"downloadTemplate": "Sablon letöltése",
|
||||||
"edit": "Szerkesztés",
|
"edit": "Szerkesztés",
|
||||||
"editRule": "Szabály szerkesztése",
|
"editRule": "Szabály szerkesztése",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Importálás",
|
"import": "Importálás",
|
||||||
"importFailed": "Importálás sikertelen",
|
"importFailed": "Importálás sikertelen",
|
||||||
"importSuccess": "Importálás sikeres",
|
"importSuccess": "Importálás sikeres",
|
||||||
"importYaml": "YAML importálása",
|
|
||||||
"importYamlDescription": "Szabályok importálása YAML fájlból, a rendszer automatikusan létrehozza a szabálycsoportokat a politikai csoportnevek alapján",
|
"importYamlDescription": "Szabályok importálása YAML fájlból, a rendszer automatikusan létrehozza a szabálycsoportokat a politikai csoportnevek alapján",
|
||||||
"importYamlRules": "YAML szabályok importálása",
|
"importYamlRules": "YAML szabályok importálása",
|
||||||
"importing": "Importálás...",
|
"importing": "Importálás...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Nincsenek érvényes szabályok",
|
"noValidRules": "Nincsenek érvényes szabályok",
|
||||||
"pleaseUploadFile": "Kérjük, töltsön fel egy YAML fájlt",
|
"pleaseUploadFile": "Kérjük, töltsön fel egy YAML fájlt",
|
||||||
"preview": "Előnézet",
|
"preview": "Előnézet",
|
||||||
"rules": "Szabály tartalom",
|
|
||||||
"rulesFormat": "Szabály formátum: szabály típusa, egyezési tartalom, [politika], ahol a politika opcionális.\nHa a politika nincs megadva, az aktuális szabálycsoport neve automatikusan felhasználásra kerül. Példák:",
|
"rulesFormat": "Szabály formátum: szabály típusa, egyezési tartalom, [politika], ahol a politika opcionális.\nHa a politika nincs megadva, az aktuális szabálycsoport neve automatikusan felhasználásra kerül. Példák:",
|
||||||
"rulesLabel": "Szabály tartalom",
|
"rulesLabel": "Szabály tartalom",
|
||||||
"searchRule": "Szabály név keresése",
|
"searchRule": "Szabály név keresése",
|
||||||
"selectFile": "Fájl kiválasztása",
|
|
||||||
"selectTags": "Válassza ki a csomópont címkéket",
|
"selectTags": "Válassza ki a csomópont címkéket",
|
||||||
"tags": "Csomópont címkék",
|
"tags": "Csomópont címkék",
|
||||||
"tagsLabel": "Csomópont címkék",
|
"tagsLabel": "Csomópont címkék",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Rendszerfrissítés megerősítése",
|
"confirmSystemUpgrade": "Rendszerfrissítés megerősítése",
|
||||||
"confirmUpgrade": "Megerősítés frissítése",
|
"confirmUpgrade": "Megerősítés frissítése",
|
||||||
"currentVersion": "Jelenlegi rendszerverzió:",
|
"currentVersion": "Jelenlegi rendszerverzió:",
|
||||||
|
"developmentVersion": "Fejlesztői verzió",
|
||||||
"errors": "Hibák",
|
"errors": "Hibák",
|
||||||
"ip": "IP",
|
"ip": "IP-cím",
|
||||||
"lastUpdated": "Utoljára frissítve:",
|
"lastUpdated": "Utoljára frissítve:",
|
||||||
|
"newVersionAvailable": "Új verzió",
|
||||||
"none": "Nincs",
|
"none": "Nincs",
|
||||||
"query": "Lekérdezés",
|
"query": "Lekérdezés",
|
||||||
"rebootDescription": "Biztosan újra akarja indítani a rendszert? Ez a művelet rövid idejű szolgáltatáskimaradást okoz.",
|
"rebootDescription": "Biztosan újra akarja indítani a rendszert? Ez a művelet rövid idejű szolgáltatáskimaradást okoz.",
|
||||||
"rebooting": "A rendszer újraindítása folyamatban...",
|
"rebooting": "A rendszer újraindítása folyamatban...",
|
||||||
"refreshLogs": "Naplók frissítése",
|
"refreshLogs": "Naplók frissítése",
|
||||||
"request": "Kérés",
|
"request": "Kérés",
|
||||||
|
"serverVersion": "Szerver",
|
||||||
"status": "Állapot",
|
"status": "Állapot",
|
||||||
"systemLogs": "Rendszernaplók",
|
"systemLogs": "Rendszernaplók",
|
||||||
"systemReboot": "Rendszer újraindítása",
|
"systemReboot": "Rendszer újraindítása",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Rendszerfrissítés",
|
"systemUpgrade": "Rendszerfrissítés",
|
||||||
"upgradeDescription": "Biztosan végre akarja hajtani a rendszerfrissítést? Ez a művelet néhány percet vehet igénybe, és ezalatt a rendszer esetleg nem fog válaszolni.",
|
"upgradeDescription": "Biztosan végre akarja hajtani a rendszerfrissítést? Ez a művelet néhány percet vehet igénybe, és ezalatt a rendszer esetleg nem fog válaszolni.",
|
||||||
"userAgent": "Felhasználói ügynök",
|
"userAgent": "Felhasználói ügynök",
|
||||||
"viewLogsAndManage": "Tekintse meg a rendszer naplóit, hajtsa végre a rendszerfrissítéseket és az újraindítási műveleteket"
|
"versionInfo": "Verzióinformáció",
|
||||||
|
"viewLogsAndManage": "Tekintse meg a rendszer naplóit, hajtsa végre a rendszerfrissítéseket és az újraindítási műveleteket",
|
||||||
|
"viewNewVersion": "Új verzió megtekintése",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
"createRule": "ルールを追加",
|
"createRule": "ルールを追加",
|
||||||
"createSuccess": "ルールが正常に作成されました",
|
"createSuccess": "ルールが正常に作成されました",
|
||||||
"createdAt": "作成日時",
|
"createdAt": "作成日時",
|
||||||
|
"defaultRule": "デフォルトルール",
|
||||||
"delete": "削除",
|
"delete": "削除",
|
||||||
"deleteSuccess": "ルールが正常に削除されました",
|
"deleteSuccess": "ルールが正常に削除されました",
|
||||||
"deleteWarning": "このルールを削除してもよろしいですか?この操作は元に戻せません。",
|
"deleteWarning": "このルールを削除してもよろしいですか?この操作は元に戻せません。",
|
||||||
"description": "ルールの説明",
|
|
||||||
"downloadTemplate": "テンプレートをダウンロード",
|
"downloadTemplate": "テンプレートをダウンロード",
|
||||||
"edit": "編集",
|
"edit": "編集",
|
||||||
"editRule": "ルールを編集",
|
"editRule": "ルールを編集",
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
"import": "インポート",
|
"import": "インポート",
|
||||||
"importFailed": "インポートに失敗しました",
|
"importFailed": "インポートに失敗しました",
|
||||||
"importSuccess": "インポートが成功しました",
|
"importSuccess": "インポートが成功しました",
|
||||||
"importYaml": "YAMLをインポート",
|
|
||||||
"importYamlDescription": "YAMLファイルからルールをインポートします。システムはポリシーグループ名に基づいてルールグループを自動的に作成します。",
|
"importYamlDescription": "YAMLファイルからルールをインポートします。システムはポリシーグループ名に基づいてルールグループを自動的に作成します。",
|
||||||
"importYamlRules": "YAMLルールをインポート",
|
"importYamlRules": "YAMLルールをインポート",
|
||||||
"importing": "インポート中...",
|
"importing": "インポート中...",
|
||||||
@@ -31,13 +30,13 @@
|
|||||||
"noValidRules": "有効なルールが見つかりません",
|
"noValidRules": "有効なルールが見つかりません",
|
||||||
"pleaseUploadFile": "YAMLファイルをアップロードしてください",
|
"pleaseUploadFile": "YAMLファイルをアップロードしてください",
|
||||||
"preview": "プレビュー",
|
"preview": "プレビュー",
|
||||||
"rules": "ルールの内容",
|
|
||||||
"rulesFormat": "ルール形式: ルールタイプ, マッチ内容, [ポリシー](ポリシーはオプションです)。\nポリシーが指定されていない場合、現在のルールグループ名が自動的に使用されます。例:",
|
"rulesFormat": "ルール形式: ルールタイプ, マッチ内容, [ポリシー](ポリシーはオプションです)。\nポリシーが指定されていない場合、現在のルールグループ名が自動的に使用されます。例:",
|
||||||
"rulesLabel": "ルールの内容",
|
"rulesLabel": "ルールの内容",
|
||||||
"searchRule": "ルール名を検索",
|
"searchRule": "ルール名を検索",
|
||||||
"selectFile": "ファイルを選択",
|
|
||||||
"selectTags": "ノードタグを選択",
|
"selectTags": "ノードタグを選択",
|
||||||
|
"selectType": "ルールタイプを選択",
|
||||||
"tags": "ノードタグ",
|
"tags": "ノードタグ",
|
||||||
"tagsLabel": "ノードタグ",
|
"tagsLabel": "ノードタグ",
|
||||||
|
"type": "ルールタイプ",
|
||||||
"updateSuccess": "ルールが正常に更新されました"
|
"updateSuccess": "ルールが正常に更新されました"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "システムアップグレードを確認",
|
"confirmSystemUpgrade": "システムアップグレードを確認",
|
||||||
"confirmUpgrade": "アップグレードを確認",
|
"confirmUpgrade": "アップグレードを確認",
|
||||||
"currentVersion": "現在のシステムバージョン:",
|
"currentVersion": "現在のシステムバージョン:",
|
||||||
|
"developmentVersion": "開発版",
|
||||||
"errors": "エラー",
|
"errors": "エラー",
|
||||||
"ip": "IP",
|
"ip": "IPアドレス",
|
||||||
"lastUpdated": "最終更新:",
|
"lastUpdated": "最終更新:",
|
||||||
|
"newVersionAvailable": "新版利用可能",
|
||||||
"none": "なし",
|
"none": "なし",
|
||||||
"query": "クエリ",
|
"query": "クエリ",
|
||||||
"rebootDescription": "システムを再起動してもよろしいですか?この操作は一時的なサービス中断を引き起こします。",
|
"rebootDescription": "システムを再起動してもよろしいですか?この操作は一時的なサービス中断を引き起こします。",
|
||||||
"rebooting": "システムを再起動しています...",
|
"rebooting": "システムを再起動しています...",
|
||||||
"refreshLogs": "ログを更新",
|
"refreshLogs": "ログを更新",
|
||||||
"request": "リクエスト",
|
"request": "リクエスト",
|
||||||
|
"serverVersion": "サーバー",
|
||||||
"status": "ステータス",
|
"status": "ステータス",
|
||||||
"systemLogs": "システムログ",
|
"systemLogs": "システムログ",
|
||||||
"systemReboot": "システム再起動",
|
"systemReboot": "システム再起動",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "システムアップグレード",
|
"systemUpgrade": "システムアップグレード",
|
||||||
"upgradeDescription": "システムのアップグレードを実行してもよろしいですか?この操作には数分かかる場合があり、その間システムが応答しない可能性があります。",
|
"upgradeDescription": "システムのアップグレードを実行してもよろしいですか?この操作には数分かかる場合があり、その間システムが応答しない可能性があります。",
|
||||||
"userAgent": "ユーザーエージェント",
|
"userAgent": "ユーザーエージェント",
|
||||||
"viewLogsAndManage": "システムログを表示し、システムのアップグレードと再起動を実行する"
|
"versionInfo": "バージョン情報",
|
||||||
|
"viewLogsAndManage": "システムログを表示し、システムのアップグレードと再起動を実行する",
|
||||||
|
"viewNewVersion": "新版を表示",
|
||||||
|
"webVersion": "ウェブ/管理者"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "삭제",
|
"delete": "삭제",
|
||||||
"deleteSuccess": "규칙이 성공적으로 삭제되었습니다",
|
"deleteSuccess": "규칙이 성공적으로 삭제되었습니다",
|
||||||
"deleteWarning": "이 규칙을 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
|
"deleteWarning": "이 규칙을 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
|
||||||
"description": "규칙 설명",
|
|
||||||
"downloadTemplate": "템플릿 다운로드",
|
"downloadTemplate": "템플릿 다운로드",
|
||||||
"edit": "편집",
|
"edit": "편집",
|
||||||
"editRule": "규칙 편집",
|
"editRule": "규칙 편집",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "가져오기",
|
"import": "가져오기",
|
||||||
"importFailed": "가져오기에 실패했습니다",
|
"importFailed": "가져오기에 실패했습니다",
|
||||||
"importSuccess": "가져오기가 성공적으로 완료되었습니다",
|
"importSuccess": "가져오기가 성공적으로 완료되었습니다",
|
||||||
"importYaml": "YAML 가져오기",
|
|
||||||
"importYamlDescription": "YAML 파일에서 규칙을 가져오며, 시스템이 정책 그룹 이름에 따라 규칙 그룹을 자동으로 생성합니다",
|
"importYamlDescription": "YAML 파일에서 규칙을 가져오며, 시스템이 정책 그룹 이름에 따라 규칙 그룹을 자동으로 생성합니다",
|
||||||
"importYamlRules": "YAML 규칙 가져오기",
|
"importYamlRules": "YAML 규칙 가져오기",
|
||||||
"importing": "가져오는 중...",
|
"importing": "가져오는 중...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "유효한 규칙이 없습니다",
|
"noValidRules": "유효한 규칙이 없습니다",
|
||||||
"pleaseUploadFile": "YAML 파일을 업로드해 주세요",
|
"pleaseUploadFile": "YAML 파일을 업로드해 주세요",
|
||||||
"preview": "미리보기",
|
"preview": "미리보기",
|
||||||
"rules": "규칙 내용",
|
|
||||||
"rulesFormat": "규칙 형식: 규칙 유형, 일치하는 내용, [정책], 여기서 정책은 선택 사항입니다.\n정책이 지정되지 않으면 현재 규칙 그룹 이름이 자동으로 사용됩니다. 예시:",
|
"rulesFormat": "규칙 형식: 규칙 유형, 일치하는 내용, [정책], 여기서 정책은 선택 사항입니다.\n정책이 지정되지 않으면 현재 규칙 그룹 이름이 자동으로 사용됩니다. 예시:",
|
||||||
"rulesLabel": "규칙 내용",
|
"rulesLabel": "규칙 내용",
|
||||||
"searchRule": "규칙 이름 검색",
|
"searchRule": "규칙 이름 검색",
|
||||||
"selectFile": "파일 선택",
|
|
||||||
"selectTags": "노드 태그 선택",
|
"selectTags": "노드 태그 선택",
|
||||||
"tags": "노드 태그",
|
"tags": "노드 태그",
|
||||||
"tagsLabel": "노드 태그",
|
"tagsLabel": "노드 태그",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "시스템 업그레이드를 확인",
|
"confirmSystemUpgrade": "시스템 업그레이드를 확인",
|
||||||
"confirmUpgrade": "업그레이드 확인",
|
"confirmUpgrade": "업그레이드 확인",
|
||||||
"currentVersion": "현재 시스템 버전:",
|
"currentVersion": "현재 시스템 버전:",
|
||||||
|
"developmentVersion": "개발 버전",
|
||||||
"errors": "오류",
|
"errors": "오류",
|
||||||
"ip": "IP",
|
"ip": "IP 주소",
|
||||||
"lastUpdated": "마지막 업데이트:",
|
"lastUpdated": "마지막 업데이트:",
|
||||||
|
"newVersionAvailable": "새 버전",
|
||||||
"none": "없음",
|
"none": "없음",
|
||||||
"query": "쿼리",
|
"query": "쿼리",
|
||||||
"rebootDescription": "시스템을 재부팅하시겠습니까? 이 작업은 일시적인 서비스 중단을 초래할 수 있습니다.",
|
"rebootDescription": "시스템을 재부팅하시겠습니까? 이 작업은 일시적인 서비스 중단을 초래할 수 있습니다.",
|
||||||
"rebooting": "시스템을 재부팅 중입니다...",
|
"rebooting": "시스템을 재부팅 중입니다...",
|
||||||
"refreshLogs": "로그 새로고침",
|
"refreshLogs": "로그 새로고침",
|
||||||
"request": "요청",
|
"request": "요청",
|
||||||
|
"serverVersion": "서버",
|
||||||
"status": "상태",
|
"status": "상태",
|
||||||
"systemLogs": "시스템 로그",
|
"systemLogs": "시스템 로그",
|
||||||
"systemReboot": "시스템 재부팅",
|
"systemReboot": "시스템 재부팅",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "시스템 업그레이드",
|
"systemUpgrade": "시스템 업그레이드",
|
||||||
"upgradeDescription": "시스템 업그레이드를 수행하시겠습니까? 이 작업은 몇 분이 소요될 수 있으며, 그 동안 시스템이 응답하지 않을 수 있습니다.",
|
"upgradeDescription": "시스템 업그레이드를 수행하시겠습니까? 이 작업은 몇 분이 소요될 수 있으며, 그 동안 시스템이 응답하지 않을 수 있습니다.",
|
||||||
"userAgent": "사용자 에이전트",
|
"userAgent": "사용자 에이전트",
|
||||||
"viewLogsAndManage": "시스템 로그를 보고 시스템 업그레이드 및 재시작 작업을 수행합니다"
|
"versionInfo": "버전 정보",
|
||||||
|
"viewLogsAndManage": "시스템 로그를 보고 시스템 업그레이드 및 재시작 작업을 수행합니다",
|
||||||
|
"viewNewVersion": "새 버전 보기",
|
||||||
|
"webVersion": "웹/관리자"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Slett",
|
"delete": "Slett",
|
||||||
"deleteSuccess": "Regel slettet med suksess",
|
"deleteSuccess": "Regel slettet med suksess",
|
||||||
"deleteWarning": "Er du sikker på at du vil slette denne regelen? Denne handlingen kan ikke angres.",
|
"deleteWarning": "Er du sikker på at du vil slette denne regelen? Denne handlingen kan ikke angres.",
|
||||||
"description": "Regelbeskrivelse",
|
|
||||||
"downloadTemplate": "Last ned mal",
|
"downloadTemplate": "Last ned mal",
|
||||||
"edit": "Rediger",
|
"edit": "Rediger",
|
||||||
"editRule": "Rediger regel",
|
"editRule": "Rediger regel",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Importer",
|
"import": "Importer",
|
||||||
"importFailed": "Import mislyktes",
|
"importFailed": "Import mislyktes",
|
||||||
"importSuccess": "Import vellykket",
|
"importSuccess": "Import vellykket",
|
||||||
"importYaml": "Importer YAML",
|
|
||||||
"importYamlDescription": "Importer regler fra YAML-fil, systemet vil automatisk opprette regelgrupper basert på policygruppens navn",
|
"importYamlDescription": "Importer regler fra YAML-fil, systemet vil automatisk opprette regelgrupper basert på policygruppens navn",
|
||||||
"importYamlRules": "Importer YAML-regler",
|
"importYamlRules": "Importer YAML-regler",
|
||||||
"importing": "Importer...",
|
"importing": "Importer...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Ingen gyldige regler funnet",
|
"noValidRules": "Ingen gyldige regler funnet",
|
||||||
"pleaseUploadFile": "Vennligst last opp en YAML-fil",
|
"pleaseUploadFile": "Vennligst last opp en YAML-fil",
|
||||||
"preview": "Forhåndsvisning",
|
"preview": "Forhåndsvisning",
|
||||||
"rules": "Regelinnhold",
|
|
||||||
"rulesFormat": "Regelformat: regeltype, matchinnhold, [policy], der policy er valgfritt.\nHvis policy ikke er spesifisert, vil det nåværende regelgruppens navn bli brukt automatisk. Eksempler:",
|
"rulesFormat": "Regelformat: regeltype, matchinnhold, [policy], der policy er valgfritt.\nHvis policy ikke er spesifisert, vil det nåværende regelgruppens navn bli brukt automatisk. Eksempler:",
|
||||||
"rulesLabel": "Regelinnhold",
|
"rulesLabel": "Regelinnhold",
|
||||||
"searchRule": "Søk etter regelnavn",
|
"searchRule": "Søk etter regelnavn",
|
||||||
"selectFile": "Velg fil",
|
|
||||||
"selectTags": "Velg nodetagger",
|
"selectTags": "Velg nodetagger",
|
||||||
"tags": "Nodetagger",
|
"tags": "Nodetagger",
|
||||||
"tagsLabel": "Nodetagger",
|
"tagsLabel": "Nodetagger",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Bekreft systemoppgradering",
|
"confirmSystemUpgrade": "Bekreft systemoppgradering",
|
||||||
"confirmUpgrade": "Bekreft oppgradering",
|
"confirmUpgrade": "Bekreft oppgradering",
|
||||||
"currentVersion": "Nåværende systemversjon:",
|
"currentVersion": "Nåværende systemversjon:",
|
||||||
|
"developmentVersion": "Utviklingsversjon",
|
||||||
"errors": "Feil",
|
"errors": "Feil",
|
||||||
"ip": "IP",
|
"ip": "IP-adresse",
|
||||||
"lastUpdated": "Sist oppdatert:",
|
"lastUpdated": "Sist oppdatert:",
|
||||||
|
"newVersionAvailable": "Ny versjon",
|
||||||
"none": "Ingen",
|
"none": "Ingen",
|
||||||
"query": "Forespørsel",
|
"query": "Forespørsel",
|
||||||
"rebootDescription": "Er du sikker på at du vil starte systemet på nytt? Denne handlingen vil føre til et kort avbrudd i tjenesten.",
|
"rebootDescription": "Er du sikker på at du vil starte systemet på nytt? Denne handlingen vil føre til et kort avbrudd i tjenesten.",
|
||||||
"rebooting": "Starter systemet på nytt...",
|
"rebooting": "Starter systemet på nytt...",
|
||||||
"refreshLogs": "Oppdater logger",
|
"refreshLogs": "Oppdater logger",
|
||||||
"request": "Forespørsel",
|
"request": "Forespørsel",
|
||||||
|
"serverVersion": "Server",
|
||||||
"status": "Status",
|
"status": "Status",
|
||||||
"systemLogs": "Systemlogger",
|
"systemLogs": "Systemlogger",
|
||||||
"systemReboot": "System omstart",
|
"systemReboot": "System omstart",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Systemoppgradering",
|
"systemUpgrade": "Systemoppgradering",
|
||||||
"upgradeDescription": "Er du sikker på at du vil utføre en systemoppgradering? Denne handlingen kan ta noen minutter, og systemet kan være utilgjengelig i løpet av denne tiden.",
|
"upgradeDescription": "Er du sikker på at du vil utføre en systemoppgradering? Denne handlingen kan ta noen minutter, og systemet kan være utilgjengelig i løpet av denne tiden.",
|
||||||
"userAgent": "Brukeragent",
|
"userAgent": "Brukeragent",
|
||||||
"viewLogsAndManage": "Se systemlogger, utfør systemoppgraderinger og omstart"
|
"versionInfo": "Versjonsinformasjon",
|
||||||
|
"viewLogsAndManage": "Se systemlogger, utfør systemoppgraderinger og omstart",
|
||||||
|
"viewNewVersion": "Se ny versjon",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Usuń",
|
"delete": "Usuń",
|
||||||
"deleteSuccess": "Reguła została pomyślnie usunięta",
|
"deleteSuccess": "Reguła została pomyślnie usunięta",
|
||||||
"deleteWarning": "Czy na pewno chcesz usunąć tę regułę? Ta akcja nie może być cofnięta.",
|
"deleteWarning": "Czy na pewno chcesz usunąć tę regułę? Ta akcja nie może być cofnięta.",
|
||||||
"description": "Opis Reguły",
|
|
||||||
"downloadTemplate": "Pobierz Szablon",
|
"downloadTemplate": "Pobierz Szablon",
|
||||||
"edit": "Edytuj",
|
"edit": "Edytuj",
|
||||||
"editRule": "Edytuj Regułę",
|
"editRule": "Edytuj Regułę",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Importuj",
|
"import": "Importuj",
|
||||||
"importFailed": "Import nie powiódł się",
|
"importFailed": "Import nie powiódł się",
|
||||||
"importSuccess": "Import zakończony sukcesem",
|
"importSuccess": "Import zakończony sukcesem",
|
||||||
"importYaml": "Importuj YAML",
|
|
||||||
"importYamlDescription": "Importuj reguły z pliku YAML, system automatycznie utworzy grupy reguł na podstawie nazw grup polityk",
|
"importYamlDescription": "Importuj reguły z pliku YAML, system automatycznie utworzy grupy reguł na podstawie nazw grup polityk",
|
||||||
"importYamlRules": "Importuj Reguły YAML",
|
"importYamlRules": "Importuj Reguły YAML",
|
||||||
"importing": "Importowanie...",
|
"importing": "Importowanie...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Nie znaleziono prawidłowych reguł",
|
"noValidRules": "Nie znaleziono prawidłowych reguł",
|
||||||
"pleaseUploadFile": "Proszę przesłać plik YAML",
|
"pleaseUploadFile": "Proszę przesłać plik YAML",
|
||||||
"preview": "Podgląd",
|
"preview": "Podgląd",
|
||||||
"rules": "Treść Reguły",
|
|
||||||
"rulesFormat": "Format reguły: typ reguły, treść dopasowania, [polityka], gdzie polityka jest opcjonalna.\nJeśli polityka nie jest określona, aktualna nazwa grupy reguł zostanie użyta automatycznie. Przykłady:",
|
"rulesFormat": "Format reguły: typ reguły, treść dopasowania, [polityka], gdzie polityka jest opcjonalna.\nJeśli polityka nie jest określona, aktualna nazwa grupy reguł zostanie użyta automatycznie. Przykłady:",
|
||||||
"rulesLabel": "Treść Reguły",
|
"rulesLabel": "Treść Reguły",
|
||||||
"searchRule": "Szukaj nazwy reguły",
|
"searchRule": "Szukaj nazwy reguły",
|
||||||
"selectFile": "Wybierz Plik",
|
|
||||||
"selectTags": "Wybierz tagi węzła",
|
"selectTags": "Wybierz tagi węzła",
|
||||||
"tags": "Tagi Węzła",
|
"tags": "Tagi Węzła",
|
||||||
"tagsLabel": "Tagi Węzła",
|
"tagsLabel": "Tagi Węzła",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Potwierdź aktualizację systemu",
|
"confirmSystemUpgrade": "Potwierdź aktualizację systemu",
|
||||||
"confirmUpgrade": "Potwierdź aktualizację",
|
"confirmUpgrade": "Potwierdź aktualizację",
|
||||||
"currentVersion": "Obecna wersja systemu:",
|
"currentVersion": "Obecna wersja systemu:",
|
||||||
|
"developmentVersion": "Wersja deweloperska",
|
||||||
"errors": "Błędy",
|
"errors": "Błędy",
|
||||||
"ip": "IP",
|
"ip": "Adres IP",
|
||||||
"lastUpdated": "Ostatnia aktualizacja:",
|
"lastUpdated": "Ostatnia aktualizacja:",
|
||||||
|
"newVersionAvailable": "Nowa wersja",
|
||||||
"none": "Brak",
|
"none": "Brak",
|
||||||
"query": "Zapytanie",
|
"query": "Zapytanie",
|
||||||
"rebootDescription": "Czy na pewno chcesz zrestartować system? Ta operacja spowoduje krótką przerwę w działaniu usług.",
|
"rebootDescription": "Czy na pewno chcesz zrestartować system? Ta operacja spowoduje krótką przerwę w działaniu usług.",
|
||||||
"rebooting": "Trwa ponowne uruchamianie systemu...",
|
"rebooting": "Trwa ponowne uruchamianie systemu...",
|
||||||
"refreshLogs": "Odśwież dzienniki",
|
"refreshLogs": "Odśwież dzienniki",
|
||||||
"request": "Prośba",
|
"request": "Prośba",
|
||||||
|
"serverVersion": "Serwer",
|
||||||
"status": "Status",
|
"status": "Status",
|
||||||
"systemLogs": "Dzienniki systemowe",
|
"systemLogs": "Dzienniki systemowe",
|
||||||
"systemReboot": "Restart systemu",
|
"systemReboot": "Restart systemu",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Aktualizacja systemu",
|
"systemUpgrade": "Aktualizacja systemu",
|
||||||
"upgradeDescription": "Czy na pewno chcesz przeprowadzić aktualizację systemu? Ta operacja może zająć kilka minut, podczas których system może nie odpowiadać.",
|
"upgradeDescription": "Czy na pewno chcesz przeprowadzić aktualizację systemu? Ta operacja może zająć kilka minut, podczas których system może nie odpowiadać.",
|
||||||
"userAgent": "Agent użytkownika",
|
"userAgent": "Agent użytkownika",
|
||||||
"viewLogsAndManage": "Przeglądaj dzienniki systemowe, wykonuj aktualizacje systemu i operacje ponownego uruchamiania"
|
"versionInfo": "Informacje o wersji",
|
||||||
|
"viewLogsAndManage": "Przeglądaj dzienniki systemowe, wykonuj aktualizacje systemu i operacje ponownego uruchamiania",
|
||||||
|
"viewNewVersion": "Zobacz nową wersję",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Excluir",
|
"delete": "Excluir",
|
||||||
"deleteSuccess": "Regra excluída com sucesso",
|
"deleteSuccess": "Regra excluída com sucesso",
|
||||||
"deleteWarning": "Você tem certeza de que deseja excluir esta regra? Esta ação não pode ser desfeita.",
|
"deleteWarning": "Você tem certeza de que deseja excluir esta regra? Esta ação não pode ser desfeita.",
|
||||||
"description": "Descrição da Regra",
|
|
||||||
"downloadTemplate": "Baixar Modelo",
|
"downloadTemplate": "Baixar Modelo",
|
||||||
"edit": "Editar",
|
"edit": "Editar",
|
||||||
"editRule": "Editar Regra",
|
"editRule": "Editar Regra",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Importar",
|
"import": "Importar",
|
||||||
"importFailed": "Falha na importação",
|
"importFailed": "Falha na importação",
|
||||||
"importSuccess": "Importação bem-sucedida",
|
"importSuccess": "Importação bem-sucedida",
|
||||||
"importYaml": "Importar YAML",
|
|
||||||
"importYamlDescription": "Importar regras de um arquivo YAML, o sistema criará automaticamente grupos de regras com base nos nomes dos grupos de políticas",
|
"importYamlDescription": "Importar regras de um arquivo YAML, o sistema criará automaticamente grupos de regras com base nos nomes dos grupos de políticas",
|
||||||
"importYamlRules": "Importar Regras YAML",
|
"importYamlRules": "Importar Regras YAML",
|
||||||
"importing": "Importando...",
|
"importing": "Importando...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Nenhuma regra válida encontrada",
|
"noValidRules": "Nenhuma regra válida encontrada",
|
||||||
"pleaseUploadFile": "Por favor, faça upload de um arquivo YAML",
|
"pleaseUploadFile": "Por favor, faça upload de um arquivo YAML",
|
||||||
"preview": "Pré-visualização",
|
"preview": "Pré-visualização",
|
||||||
"rules": "Conteúdo da Regra",
|
|
||||||
"rulesFormat": "Formato da regra: tipo de regra, conteúdo de correspondência, [política], onde a política é opcional.\nSe a política não for especificada, o nome do grupo de regras atual será usado automaticamente. Exemplos:",
|
"rulesFormat": "Formato da regra: tipo de regra, conteúdo de correspondência, [política], onde a política é opcional.\nSe a política não for especificada, o nome do grupo de regras atual será usado automaticamente. Exemplos:",
|
||||||
"rulesLabel": "Conteúdo da Regra",
|
"rulesLabel": "Conteúdo da Regra",
|
||||||
"searchRule": "Pesquisar nome da regra",
|
"searchRule": "Pesquisar nome da regra",
|
||||||
"selectFile": "Selecionar Arquivo",
|
|
||||||
"selectTags": "Selecionar tags de nó",
|
"selectTags": "Selecionar tags de nó",
|
||||||
"tags": "Tags de Nó",
|
"tags": "Tags de Nó",
|
||||||
"tagsLabel": "Tags de Nó",
|
"tagsLabel": "Tags de Nó",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Confirmar atualização do sistema",
|
"confirmSystemUpgrade": "Confirmar atualização do sistema",
|
||||||
"confirmUpgrade": "Confirmar atualização",
|
"confirmUpgrade": "Confirmar atualização",
|
||||||
"currentVersion": "Versão atual do sistema:",
|
"currentVersion": "Versão atual do sistema:",
|
||||||
|
"developmentVersion": "Versão de desenvolvimento",
|
||||||
"errors": "Erros",
|
"errors": "Erros",
|
||||||
"ip": "IP",
|
"ip": "Endereço IP",
|
||||||
"lastUpdated": "Última atualização:",
|
"lastUpdated": "Última atualização:",
|
||||||
|
"newVersionAvailable": "Nova versão",
|
||||||
"none": "Nenhum",
|
"none": "Nenhum",
|
||||||
"query": "Consulta",
|
"query": "Consulta",
|
||||||
"rebootDescription": "Você tem certeza de que deseja reiniciar o sistema? Esta ação causará uma breve interrupção no serviço.",
|
"rebootDescription": "Você tem certeza de que deseja reiniciar o sistema? Esta ação causará uma breve interrupção no serviço.",
|
||||||
"rebooting": "Reiniciando o sistema...",
|
"rebooting": "Reiniciando o sistema...",
|
||||||
"refreshLogs": "Atualizar Logs",
|
"refreshLogs": "Atualizar Logs",
|
||||||
"request": "Solicitação",
|
"request": "Solicitação",
|
||||||
|
"serverVersion": "Servidor",
|
||||||
"status": "Status",
|
"status": "Status",
|
||||||
"systemLogs": "Logs do sistema",
|
"systemLogs": "Logs do sistema",
|
||||||
"systemReboot": "Reinicialização do sistema",
|
"systemReboot": "Reinicialização do sistema",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Atualização do sistema",
|
"systemUpgrade": "Atualização do sistema",
|
||||||
"upgradeDescription": "Você tem certeza de que deseja realizar a atualização do sistema? Esta operação pode levar alguns minutos e, durante esse tempo, o sistema pode não responder.",
|
"upgradeDescription": "Você tem certeza de que deseja realizar a atualização do sistema? Esta operação pode levar alguns minutos e, durante esse tempo, o sistema pode não responder.",
|
||||||
"userAgent": "Agente do Usuário",
|
"userAgent": "Agente do Usuário",
|
||||||
"viewLogsAndManage": "Visualizar logs do sistema, executar atualizações e reiniciar o sistema"
|
"versionInfo": "Informações da versão",
|
||||||
|
"viewLogsAndManage": "Visualizar logs do sistema, executar atualizações e reiniciar o sistema",
|
||||||
|
"viewNewVersion": "Ver nova versão",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Șterge",
|
"delete": "Șterge",
|
||||||
"deleteSuccess": "Regula a fost ștersă cu succes",
|
"deleteSuccess": "Regula a fost ștersă cu succes",
|
||||||
"deleteWarning": "Ești sigur că vrei să ștergi această regulă? Această acțiune nu poate fi anulată.",
|
"deleteWarning": "Ești sigur că vrei să ștergi această regulă? Această acțiune nu poate fi anulată.",
|
||||||
"description": "Descrierea Regulii",
|
|
||||||
"downloadTemplate": "Descarcă Șablon",
|
"downloadTemplate": "Descarcă Șablon",
|
||||||
"edit": "Editează",
|
"edit": "Editează",
|
||||||
"editRule": "Editează Regulă",
|
"editRule": "Editează Regulă",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Importă",
|
"import": "Importă",
|
||||||
"importFailed": "Importul a eșuat",
|
"importFailed": "Importul a eșuat",
|
||||||
"importSuccess": "Importul a fost realizat cu succes",
|
"importSuccess": "Importul a fost realizat cu succes",
|
||||||
"importYaml": "Importă YAML",
|
|
||||||
"importYamlDescription": "Importă reguli din fișier YAML, sistemul va crea automat grupuri de reguli pe baza numelui grupului de politici",
|
"importYamlDescription": "Importă reguli din fișier YAML, sistemul va crea automat grupuri de reguli pe baza numelui grupului de politici",
|
||||||
"importYamlRules": "Importă Reguli YAML",
|
"importYamlRules": "Importă Reguli YAML",
|
||||||
"importing": "Se importă...",
|
"importing": "Se importă...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Nu au fost găsite reguli valide",
|
"noValidRules": "Nu au fost găsite reguli valide",
|
||||||
"pleaseUploadFile": "Te rugăm să încarci un fișier YAML",
|
"pleaseUploadFile": "Te rugăm să încarci un fișier YAML",
|
||||||
"preview": "Previzualizare",
|
"preview": "Previzualizare",
|
||||||
"rules": "Conținutul Regulii",
|
|
||||||
"rulesFormat": "Formatul regulii: tip regulă, conținut de potrivire, [politică], unde politica este opțională.\nDacă politica nu este specificată, numele grupului de reguli curent va fi folosit automat. Exemple:",
|
"rulesFormat": "Formatul regulii: tip regulă, conținut de potrivire, [politică], unde politica este opțională.\nDacă politica nu este specificată, numele grupului de reguli curent va fi folosit automat. Exemple:",
|
||||||
"rulesLabel": "Conținutul Regulii",
|
"rulesLabel": "Conținutul Regulii",
|
||||||
"searchRule": "Caută numele regulii",
|
"searchRule": "Caută numele regulii",
|
||||||
"selectFile": "Selectează Fișier",
|
|
||||||
"selectTags": "Selectează etichetele nodului",
|
"selectTags": "Selectează etichetele nodului",
|
||||||
"tags": "Etichete Nod",
|
"tags": "Etichete Nod",
|
||||||
"tagsLabel": "Etichete Nod",
|
"tagsLabel": "Etichete Nod",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Confirmați actualizarea sistemului",
|
"confirmSystemUpgrade": "Confirmați actualizarea sistemului",
|
||||||
"confirmUpgrade": "Confirmă actualizarea",
|
"confirmUpgrade": "Confirmă actualizarea",
|
||||||
"currentVersion": "Versiunea curentă a sistemului:",
|
"currentVersion": "Versiunea curentă a sistemului:",
|
||||||
|
"developmentVersion": "Versiunea de dezvoltare",
|
||||||
"errors": "Erori",
|
"errors": "Erori",
|
||||||
"ip": "IP",
|
"ip": "Adresă IP",
|
||||||
"lastUpdated": "Ultima actualizare:",
|
"lastUpdated": "Ultima actualizare:",
|
||||||
|
"newVersionAvailable": "Versiune nouă",
|
||||||
"none": "Niciunul",
|
"none": "Niciunul",
|
||||||
"query": "Interogare",
|
"query": "Interogare",
|
||||||
"rebootDescription": "Sunteți sigur că doriți să reporniți sistemul? Această acțiune va provoca o întrerupere temporară a serviciului.",
|
"rebootDescription": "Sunteți sigur că doriți să reporniți sistemul? Această acțiune va provoca o întrerupere temporară a serviciului.",
|
||||||
"rebooting": "Se repornește sistemul...",
|
"rebooting": "Se repornește sistemul...",
|
||||||
"refreshLogs": "Reîmprospătează jurnalele",
|
"refreshLogs": "Reîmprospătează jurnalele",
|
||||||
"request": "Cerere",
|
"request": "Cerere",
|
||||||
|
"serverVersion": "Server",
|
||||||
"status": "Stare",
|
"status": "Stare",
|
||||||
"systemLogs": "Jurnale de sistem",
|
"systemLogs": "Jurnale de sistem",
|
||||||
"systemReboot": "Repornire sistem",
|
"systemReboot": "Repornire sistem",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Actualizare sistem",
|
"systemUpgrade": "Actualizare sistem",
|
||||||
"upgradeDescription": "Sunteți sigur că doriți să efectuați o actualizare a sistemului? Această operațiune poate dura câteva minute, timp în care sistemul poate să nu răspundă.",
|
"upgradeDescription": "Sunteți sigur că doriți să efectuați o actualizare a sistemului? Această operațiune poate dura câteva minute, timp în care sistemul poate să nu răspundă.",
|
||||||
"userAgent": "Agent Utilizator",
|
"userAgent": "Agent Utilizator",
|
||||||
"viewLogsAndManage": "Vizualizați jurnalele de sistem, efectuați actualizări de sistem și operațiuni de repornire"
|
"versionInfo": "Informații despre versiune",
|
||||||
|
"viewLogsAndManage": "Vizualizați jurnalele de sistem, efectuați actualizări de sistem și operațiuni de repornire",
|
||||||
|
"viewNewVersion": "Vezi versiunea nouă",
|
||||||
|
"webVersion": "Web/Admin"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Удалить",
|
"delete": "Удалить",
|
||||||
"deleteSuccess": "Правило успешно удалено",
|
"deleteSuccess": "Правило успешно удалено",
|
||||||
"deleteWarning": "Вы уверены, что хотите удалить это правило? Это действие нельзя отменить.",
|
"deleteWarning": "Вы уверены, что хотите удалить это правило? Это действие нельзя отменить.",
|
||||||
"description": "Описание правила",
|
|
||||||
"downloadTemplate": "Скачать шаблон",
|
"downloadTemplate": "Скачать шаблон",
|
||||||
"edit": "Редактировать",
|
"edit": "Редактировать",
|
||||||
"editRule": "Редактировать правило",
|
"editRule": "Редактировать правило",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Импортировать",
|
"import": "Импортировать",
|
||||||
"importFailed": "Ошибка импорта",
|
"importFailed": "Ошибка импорта",
|
||||||
"importSuccess": "Импорт успешен",
|
"importSuccess": "Импорт успешен",
|
||||||
"importYaml": "Импортировать YAML",
|
|
||||||
"importYamlDescription": "Импорт правил из файла YAML, система автоматически создаст группы правил на основе имен групп политик",
|
"importYamlDescription": "Импорт правил из файла YAML, система автоматически создаст группы правил на основе имен групп политик",
|
||||||
"importYamlRules": "Импортировать правила YAML",
|
"importYamlRules": "Импортировать правила YAML",
|
||||||
"importing": "Импортирую...",
|
"importing": "Импортирую...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Не найдено действительных правил",
|
"noValidRules": "Не найдено действительных правил",
|
||||||
"pleaseUploadFile": "Пожалуйста, загрузите файл YAML",
|
"pleaseUploadFile": "Пожалуйста, загрузите файл YAML",
|
||||||
"preview": "Предварительный просмотр",
|
"preview": "Предварительный просмотр",
|
||||||
"rules": "Содержание правила",
|
|
||||||
"rulesFormat": "Формат правила: тип правила, содержание совпадения, [политика], где политика является необязательной.\nЕсли политика не указана, будет автоматически использовано текущее имя группы правил. Примеры:",
|
"rulesFormat": "Формат правила: тип правила, содержание совпадения, [политика], где политика является необязательной.\nЕсли политика не указана, будет автоматически использовано текущее имя группы правил. Примеры:",
|
||||||
"rulesLabel": "Содержание правила",
|
"rulesLabel": "Содержание правила",
|
||||||
"searchRule": "Поиск имени правила",
|
"searchRule": "Поиск имени правила",
|
||||||
"selectFile": "Выбрать файл",
|
|
||||||
"selectTags": "Выбрать теги узлов",
|
"selectTags": "Выбрать теги узлов",
|
||||||
"tags": "Теги узлов",
|
"tags": "Теги узлов",
|
||||||
"tagsLabel": "Теги узлов",
|
"tagsLabel": "Теги узлов",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Подтвердить обновление системы",
|
"confirmSystemUpgrade": "Подтвердить обновление системы",
|
||||||
"confirmUpgrade": "Подтвердить обновление",
|
"confirmUpgrade": "Подтвердить обновление",
|
||||||
"currentVersion": "Текущая версия системы:",
|
"currentVersion": "Текущая версия системы:",
|
||||||
|
"developmentVersion": "Версия разработки",
|
||||||
"errors": "Ошибки",
|
"errors": "Ошибки",
|
||||||
"ip": "IP",
|
"ip": "IP-адрес",
|
||||||
"lastUpdated": "Последнее обновление:",
|
"lastUpdated": "Последнее обновление:",
|
||||||
|
"newVersionAvailable": "Новая версия",
|
||||||
"none": "Нет",
|
"none": "Нет",
|
||||||
"query": "Запрос",
|
"query": "Запрос",
|
||||||
"rebootDescription": "Вы уверены, что хотите перезагрузить систему? Это действие приведет к кратковременному прерыванию обслуживания.",
|
"rebootDescription": "Вы уверены, что хотите перезагрузить систему? Это действие приведет к кратковременному прерыванию обслуживания.",
|
||||||
"rebooting": "Перезагрузка системы...",
|
"rebooting": "Перезагрузка системы...",
|
||||||
"refreshLogs": "Обновить журналы",
|
"refreshLogs": "Обновить журналы",
|
||||||
"request": "Запрос",
|
"request": "Запрос",
|
||||||
|
"serverVersion": "Сервер",
|
||||||
"status": "Статус",
|
"status": "Статус",
|
||||||
"systemLogs": "Системные журналы",
|
"systemLogs": "Системные журналы",
|
||||||
"systemReboot": "Перезагрузка системы",
|
"systemReboot": "Перезагрузка системы",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Обновление системы",
|
"systemUpgrade": "Обновление системы",
|
||||||
"upgradeDescription": "Вы уверены, что хотите выполнить обновление системы? Эта операция может занять несколько минут, в течение которых система может не отвечать.",
|
"upgradeDescription": "Вы уверены, что хотите выполнить обновление системы? Эта операция может занять несколько минут, в течение которых система может не отвечать.",
|
||||||
"userAgent": "Пользовательский агент",
|
"userAgent": "Пользовательский агент",
|
||||||
"viewLogsAndManage": "Просмотр системных журналов, выполнение обновлений и перезагрузка системы"
|
"versionInfo": "Информация о версии",
|
||||||
|
"viewLogsAndManage": "Просмотр системных журналов, выполнение обновлений и перезагрузка системы",
|
||||||
|
"viewNewVersion": "Посмотреть новую версию",
|
||||||
|
"webVersion": "Веб/Админ"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "ลบ",
|
"delete": "ลบ",
|
||||||
"deleteSuccess": "ลบกฎเรียบร้อยแล้ว",
|
"deleteSuccess": "ลบกฎเรียบร้อยแล้ว",
|
||||||
"deleteWarning": "คุณแน่ใจหรือว่าต้องการลบกฎนี้? การกระทำนี้ไม่สามารถย้อนกลับได้.",
|
"deleteWarning": "คุณแน่ใจหรือว่าต้องการลบกฎนี้? การกระทำนี้ไม่สามารถย้อนกลับได้.",
|
||||||
"description": "คำอธิบายกฎ",
|
|
||||||
"downloadTemplate": "ดาวน์โหลดเทมเพลต",
|
"downloadTemplate": "ดาวน์โหลดเทมเพลต",
|
||||||
"edit": "แก้ไข",
|
"edit": "แก้ไข",
|
||||||
"editRule": "แก้ไขกฎ",
|
"editRule": "แก้ไขกฎ",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "นำเข้า",
|
"import": "นำเข้า",
|
||||||
"importFailed": "นำเข้าล้มเหลว",
|
"importFailed": "นำเข้าล้มเหลว",
|
||||||
"importSuccess": "นำเข้าสำเร็จ",
|
"importSuccess": "นำเข้าสำเร็จ",
|
||||||
"importYaml": "นำเข้า YAML",
|
|
||||||
"importYamlDescription": "นำเข้ากฎจากไฟล์ YAML, ระบบจะสร้างกลุ่มกฎโดยอัตโนมัติตามชื่อกลุ่มนโยบาย",
|
"importYamlDescription": "นำเข้ากฎจากไฟล์ YAML, ระบบจะสร้างกลุ่มกฎโดยอัตโนมัติตามชื่อกลุ่มนโยบาย",
|
||||||
"importYamlRules": "นำเข้ากฎ YAML",
|
"importYamlRules": "นำเข้ากฎ YAML",
|
||||||
"importing": "กำลังนำเข้า...",
|
"importing": "กำลังนำเข้า...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "ไม่พบกฎที่ถูกต้อง",
|
"noValidRules": "ไม่พบกฎที่ถูกต้อง",
|
||||||
"pleaseUploadFile": "กรุณาอัปโหลดไฟล์ YAML",
|
"pleaseUploadFile": "กรุณาอัปโหลดไฟล์ YAML",
|
||||||
"preview": "ตัวอย่าง",
|
"preview": "ตัวอย่าง",
|
||||||
"rules": "เนื้อหากฎ",
|
|
||||||
"rulesFormat": "รูปแบบกฎ: ประเภทกฎ, เนื้อหาที่ตรงกัน, [นโยบาย], โดยที่นโยบายเป็นทางเลือก.\nหากไม่ได้ระบุนโยบาย, ชื่อกลุ่มกฎปัจจุบันจะถูกใช้โดยอัตโนมัติ. ตัวอย่าง:",
|
"rulesFormat": "รูปแบบกฎ: ประเภทกฎ, เนื้อหาที่ตรงกัน, [นโยบาย], โดยที่นโยบายเป็นทางเลือก.\nหากไม่ได้ระบุนโยบาย, ชื่อกลุ่มกฎปัจจุบันจะถูกใช้โดยอัตโนมัติ. ตัวอย่าง:",
|
||||||
"rulesLabel": "เนื้อหากฎ",
|
"rulesLabel": "เนื้อหากฎ",
|
||||||
"searchRule": "ค้นหาชื่อกฎ",
|
"searchRule": "ค้นหาชื่อกฎ",
|
||||||
"selectFile": "เลือกไฟล์",
|
|
||||||
"selectTags": "เลือกแท็กโหนด",
|
"selectTags": "เลือกแท็กโหนด",
|
||||||
"tags": "แท็กโหนด",
|
"tags": "แท็กโหนด",
|
||||||
"tagsLabel": "แท็กโหนด",
|
"tagsLabel": "แท็กโหนด",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "ยืนยันการอัปเกรดระบบ",
|
"confirmSystemUpgrade": "ยืนยันการอัปเกรดระบบ",
|
||||||
"confirmUpgrade": "ยืนยันการอัปเกรด",
|
"confirmUpgrade": "ยืนยันการอัปเกรด",
|
||||||
"currentVersion": "เวอร์ชันปัจจุบันของระบบ:",
|
"currentVersion": "เวอร์ชันปัจจุบันของระบบ:",
|
||||||
|
"developmentVersion": "เวอร์ชันการพัฒนา",
|
||||||
"errors": "ข้อผิดพลาด",
|
"errors": "ข้อผิดพลาด",
|
||||||
"ip": "IP",
|
"ip": "ที่อยู่ IP",
|
||||||
"lastUpdated": "อัปเดตล่าสุด:",
|
"lastUpdated": "อัปเดตล่าสุด:",
|
||||||
|
"newVersionAvailable": "เวอร์ชันใหม่",
|
||||||
"none": "ไม่มี",
|
"none": "ไม่มี",
|
||||||
"query": "ค้นหา",
|
"query": "ค้นหา",
|
||||||
"rebootDescription": "คุณแน่ใจหรือไม่ว่าต้องการรีบูตระบบ? การดำเนินการนี้จะทำให้บริการหยุดชะงักชั่วคราว.",
|
"rebootDescription": "คุณแน่ใจหรือไม่ว่าต้องการรีบูตระบบ? การดำเนินการนี้จะทำให้บริการหยุดชะงักชั่วคราว.",
|
||||||
"rebooting": "กำลังรีบูตระบบ...",
|
"rebooting": "กำลังรีบูตระบบ...",
|
||||||
"refreshLogs": "รีเฟรชบันทึก",
|
"refreshLogs": "รีเฟรชบันทึก",
|
||||||
"request": "คำขอ",
|
"request": "คำขอ",
|
||||||
|
"serverVersion": "เซิร์ฟเวอร์",
|
||||||
"status": "สถานะ",
|
"status": "สถานะ",
|
||||||
"systemLogs": "บันทึกระบบ",
|
"systemLogs": "บันทึกระบบ",
|
||||||
"systemReboot": "ระบบรีบูต",
|
"systemReboot": "ระบบรีบูต",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "ระบบอัปเกรด",
|
"systemUpgrade": "ระบบอัปเกรด",
|
||||||
"upgradeDescription": "คุณแน่ใจหรือไม่ว่าต้องการดำเนินการอัปเกรดระบบ? การดำเนินการนี้อาจใช้เวลาสักครู่ และในระหว่างนี้ระบบอาจไม่ตอบสนอง",
|
"upgradeDescription": "คุณแน่ใจหรือไม่ว่าต้องการดำเนินการอัปเกรดระบบ? การดำเนินการนี้อาจใช้เวลาสักครู่ และในระหว่างนี้ระบบอาจไม่ตอบสนอง",
|
||||||
"userAgent": "ตัวแทนผู้ใช้",
|
"userAgent": "ตัวแทนผู้ใช้",
|
||||||
"viewLogsAndManage": "ดูบันทึกของระบบ ดำเนินการอัปเกรดระบบและรีสตาร์ท"
|
"versionInfo": "ข้อมูลเวอร์ชัน",
|
||||||
|
"viewLogsAndManage": "ดูบันทึกของระบบ ดำเนินการอัปเกรดระบบและรีสตาร์ท",
|
||||||
|
"viewNewVersion": "ดูเวอร์ชันใหม่",
|
||||||
|
"webVersion": "เว็บ/ผู้ดูแล"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Sil",
|
"delete": "Sil",
|
||||||
"deleteSuccess": "Kural başarıyla silindi",
|
"deleteSuccess": "Kural başarıyla silindi",
|
||||||
"deleteWarning": "Bu kuralı silmek istediğinize emin misiniz? Bu işlem geri alınamaz.",
|
"deleteWarning": "Bu kuralı silmek istediğinize emin misiniz? Bu işlem geri alınamaz.",
|
||||||
"description": "Kural Açıklaması",
|
|
||||||
"downloadTemplate": "Şablonu İndir",
|
"downloadTemplate": "Şablonu İndir",
|
||||||
"edit": "Düzenle",
|
"edit": "Düzenle",
|
||||||
"editRule": "Kuralı Düzenle",
|
"editRule": "Kuralı Düzenle",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "İçe Aktar",
|
"import": "İçe Aktar",
|
||||||
"importFailed": "İçe aktarma başarısız oldu",
|
"importFailed": "İçe aktarma başarısız oldu",
|
||||||
"importSuccess": "İçe aktarma başarılı",
|
"importSuccess": "İçe aktarma başarılı",
|
||||||
"importYaml": "YAML İçe Aktar",
|
|
||||||
"importYamlDescription": "YAML dosyasından kuralları içe aktarın, sistem otomatik olarak politika grup adlarına göre kural grupları oluşturacaktır",
|
"importYamlDescription": "YAML dosyasından kuralları içe aktarın, sistem otomatik olarak politika grup adlarına göre kural grupları oluşturacaktır",
|
||||||
"importYamlRules": "YAML Kurallarını İçe Aktar",
|
"importYamlRules": "YAML Kurallarını İçe Aktar",
|
||||||
"importing": "İçe aktarılıyor...",
|
"importing": "İçe aktarılıyor...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Geçerli kural bulunamadı",
|
"noValidRules": "Geçerli kural bulunamadı",
|
||||||
"pleaseUploadFile": "Lütfen bir YAML dosyası yükleyin",
|
"pleaseUploadFile": "Lütfen bir YAML dosyası yükleyin",
|
||||||
"preview": "Önizleme",
|
"preview": "Önizleme",
|
||||||
"rules": "Kural İçeriği",
|
|
||||||
"rulesFormat": "Kural formatı: kural türü, eşleşme içeriği,[politika], burada politika isteğe bağlıdır.\nEğer politika belirtilmemişse, mevcut kural grup adı otomatik olarak kullanılacaktır. Örnekler:",
|
"rulesFormat": "Kural formatı: kural türü, eşleşme içeriği,[politika], burada politika isteğe bağlıdır.\nEğer politika belirtilmemişse, mevcut kural grup adı otomatik olarak kullanılacaktır. Örnekler:",
|
||||||
"rulesLabel": "Kural İçeriği",
|
"rulesLabel": "Kural İçeriği",
|
||||||
"searchRule": "Kural adını ara",
|
"searchRule": "Kural adını ara",
|
||||||
"selectFile": "Dosya Seç",
|
|
||||||
"selectTags": "Düğüm etiketlerini seç",
|
"selectTags": "Düğüm etiketlerini seç",
|
||||||
"tags": "Düğüm Etiketleri",
|
"tags": "Düğüm Etiketleri",
|
||||||
"tagsLabel": "Düğüm Etiketleri",
|
"tagsLabel": "Düğüm Etiketleri",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Sistem yükseltmesini onayla",
|
"confirmSystemUpgrade": "Sistem yükseltmesini onayla",
|
||||||
"confirmUpgrade": "Yükseltmeyi Onayla",
|
"confirmUpgrade": "Yükseltmeyi Onayla",
|
||||||
"currentVersion": "Mevcut Sistem Sürümü:",
|
"currentVersion": "Mevcut Sistem Sürümü:",
|
||||||
|
"developmentVersion": "Geliştirme Sürümü",
|
||||||
"errors": "Hatalar",
|
"errors": "Hatalar",
|
||||||
"ip": "IP",
|
"ip": "IP Adresi",
|
||||||
"lastUpdated": "Son Güncelleme:",
|
"lastUpdated": "Son Güncelleme:",
|
||||||
|
"newVersionAvailable": "Yeni Sürüm",
|
||||||
"none": "Hiçbiri",
|
"none": "Hiçbiri",
|
||||||
"query": "Sorgu",
|
"query": "Sorgu",
|
||||||
"rebootDescription": "Sistemi yeniden başlatmak istediğinizden emin misiniz? Bu işlem kısa süreli hizmet kesintisine neden olacaktır.",
|
"rebootDescription": "Sistemi yeniden başlatmak istediğinizden emin misiniz? Bu işlem kısa süreli hizmet kesintisine neden olacaktır.",
|
||||||
"rebooting": "Sistem yeniden başlatılıyor...",
|
"rebooting": "Sistem yeniden başlatılıyor...",
|
||||||
"refreshLogs": "Günlükleri Yenile",
|
"refreshLogs": "Günlükleri Yenile",
|
||||||
"request": "İstek",
|
"request": "İstek",
|
||||||
|
"serverVersion": "Sunucu",
|
||||||
"status": "Durum",
|
"status": "Durum",
|
||||||
"systemLogs": "Sistem Günlükleri",
|
"systemLogs": "Sistem Günlükleri",
|
||||||
"systemReboot": "Sistem Yeniden Başlatma",
|
"systemReboot": "Sistem Yeniden Başlatma",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Sistem Yükseltmesi",
|
"systemUpgrade": "Sistem Yükseltmesi",
|
||||||
"upgradeDescription": "Sistem yükseltmesi yapmak istediğinizden emin misiniz? Bu işlem birkaç dakika sürebilir ve bu süre zarfında sistem yanıt vermeyebilir.",
|
"upgradeDescription": "Sistem yükseltmesi yapmak istediğinizden emin misiniz? Bu işlem birkaç dakika sürebilir ve bu süre zarfında sistem yanıt vermeyebilir.",
|
||||||
"userAgent": "Kullanıcı Aracısı",
|
"userAgent": "Kullanıcı Aracısı",
|
||||||
"viewLogsAndManage": "Sistem günlüklerini görüntüleyin, sistem yükseltmelerini gerçekleştirin ve yeniden başlatma işlemlerini yönetin"
|
"versionInfo": "Sürüm Bilgisi",
|
||||||
|
"viewLogsAndManage": "Sistem günlüklerini görüntüleyin, sistem yükseltmelerini gerçekleştirin ve yeniden başlatma işlemlerini yönetin",
|
||||||
|
"viewNewVersion": "Yeni Sürümü Görüntüle",
|
||||||
|
"webVersion": "Web/Yönetici"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Видалити",
|
"delete": "Видалити",
|
||||||
"deleteSuccess": "Правило успішно видалено",
|
"deleteSuccess": "Правило успішно видалено",
|
||||||
"deleteWarning": "Ви впевнені, що хочете видалити це правило? Цю дію не можна скасувати.",
|
"deleteWarning": "Ви впевнені, що хочете видалити це правило? Цю дію не можна скасувати.",
|
||||||
"description": "Опис правила",
|
|
||||||
"downloadTemplate": "Завантажити шаблон",
|
"downloadTemplate": "Завантажити шаблон",
|
||||||
"edit": "Редагувати",
|
"edit": "Редагувати",
|
||||||
"editRule": "Редагувати правило",
|
"editRule": "Редагувати правило",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Імпортувати",
|
"import": "Імпортувати",
|
||||||
"importFailed": "Імпорт не вдався",
|
"importFailed": "Імпорт не вдався",
|
||||||
"importSuccess": "Імпорт успішний",
|
"importSuccess": "Імпорт успішний",
|
||||||
"importYaml": "Імпортувати YAML",
|
|
||||||
"importYamlDescription": "Імпортуйте правила з файлу YAML, система автоматично створить групи правил на основі назв груп політик",
|
"importYamlDescription": "Імпортуйте правила з файлу YAML, система автоматично створить групи правил на основі назв груп політик",
|
||||||
"importYamlRules": "Імпортувати правила YAML",
|
"importYamlRules": "Імпортувати правила YAML",
|
||||||
"importing": "Імпортується...",
|
"importing": "Імпортується...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Не знайдено дійсних правил",
|
"noValidRules": "Не знайдено дійсних правил",
|
||||||
"pleaseUploadFile": "Будь ласка, завантажте файл YAML",
|
"pleaseUploadFile": "Будь ласка, завантажте файл YAML",
|
||||||
"preview": "Попередній перегляд",
|
"preview": "Попередній перегляд",
|
||||||
"rules": "Вміст правила",
|
|
||||||
"rulesFormat": "Формат правила: тип правила, вміст збігу, [політика], де політика є необов'язковою.\nЯкщо політика не вказана, автоматично буде використано назву поточної групи правил. Приклади:",
|
"rulesFormat": "Формат правила: тип правила, вміст збігу, [політика], де політика є необов'язковою.\nЯкщо політика не вказана, автоматично буде використано назву поточної групи правил. Приклади:",
|
||||||
"rulesLabel": "Вміст правила",
|
"rulesLabel": "Вміст правила",
|
||||||
"searchRule": "Шукати назву правила",
|
"searchRule": "Шукати назву правила",
|
||||||
"selectFile": "Вибрати файл",
|
|
||||||
"selectTags": "Вибрати теги вузлів",
|
"selectTags": "Вибрати теги вузлів",
|
||||||
"tags": "Теги вузлів",
|
"tags": "Теги вузлів",
|
||||||
"tagsLabel": "Теги вузлів",
|
"tagsLabel": "Теги вузлів",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Підтвердити оновлення системи",
|
"confirmSystemUpgrade": "Підтвердити оновлення системи",
|
||||||
"confirmUpgrade": "Підтвердити оновлення",
|
"confirmUpgrade": "Підтвердити оновлення",
|
||||||
"currentVersion": "Поточна версія системи:",
|
"currentVersion": "Поточна версія системи:",
|
||||||
|
"developmentVersion": "Версія розробки",
|
||||||
"errors": "Помилки",
|
"errors": "Помилки",
|
||||||
"ip": "IP",
|
"ip": "IP-адреса",
|
||||||
"lastUpdated": "Останнє оновлення:",
|
"lastUpdated": "Останнє оновлення:",
|
||||||
|
"newVersionAvailable": "Нова версія",
|
||||||
"none": "Жоден",
|
"none": "Жоден",
|
||||||
"query": "Запит",
|
"query": "Запит",
|
||||||
"rebootDescription": "Ви впевнені, що хочете перезавантажити систему? Ця дія призведе до короткочасного переривання обслуговування.",
|
"rebootDescription": "Ви впевнені, що хочете перезавантажити систему? Ця дія призведе до короткочасного переривання обслуговування.",
|
||||||
"rebooting": "Перезавантаження системи...",
|
"rebooting": "Перезавантаження системи...",
|
||||||
"refreshLogs": "Оновити журнали",
|
"refreshLogs": "Оновити журнали",
|
||||||
"request": "Запит",
|
"request": "Запит",
|
||||||
|
"serverVersion": "Сервер",
|
||||||
"status": "Статус",
|
"status": "Статус",
|
||||||
"systemLogs": "Системні журнали",
|
"systemLogs": "Системні журнали",
|
||||||
"systemReboot": "Перезавантаження системи",
|
"systemReboot": "Перезавантаження системи",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Оновлення системи",
|
"systemUpgrade": "Оновлення системи",
|
||||||
"upgradeDescription": "Ви впевнені, що хочете виконати оновлення системи? Ця операція може зайняти кілька хвилин, протягом яких система може не відповідати.",
|
"upgradeDescription": "Ви впевнені, що хочете виконати оновлення системи? Ця операція може зайняти кілька хвилин, протягом яких система може не відповідати.",
|
||||||
"userAgent": "Агент користувача",
|
"userAgent": "Агент користувача",
|
||||||
"viewLogsAndManage": "Перегляд системних журналів, виконання оновлень системи та операцій перезавантаження"
|
"versionInfo": "Інформація про версію",
|
||||||
|
"viewLogsAndManage": "Перегляд системних журналів, виконання оновлень системи та операцій перезавантаження",
|
||||||
|
"viewNewVersion": "Переглянути нову версію",
|
||||||
|
"webVersion": "Веб/Адмін"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
"delete": "Xóa",
|
"delete": "Xóa",
|
||||||
"deleteSuccess": "Quy tắc đã được xóa thành công",
|
"deleteSuccess": "Quy tắc đã được xóa thành công",
|
||||||
"deleteWarning": "Bạn có chắc chắn muốn xóa quy tắc này không? Hành động này không thể hoàn tác.",
|
"deleteWarning": "Bạn có chắc chắn muốn xóa quy tắc này không? Hành động này không thể hoàn tác.",
|
||||||
"description": "Mô tả Quy tắc",
|
|
||||||
"downloadTemplate": "Tải Mẫu",
|
"downloadTemplate": "Tải Mẫu",
|
||||||
"edit": "Chỉnh sửa",
|
"edit": "Chỉnh sửa",
|
||||||
"editRule": "Chỉnh sửa Quy tắc",
|
"editRule": "Chỉnh sửa Quy tắc",
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
"import": "Nhập khẩu",
|
"import": "Nhập khẩu",
|
||||||
"importFailed": "Nhập khẩu không thành công",
|
"importFailed": "Nhập khẩu không thành công",
|
||||||
"importSuccess": "Nhập khẩu thành công",
|
"importSuccess": "Nhập khẩu thành công",
|
||||||
"importYaml": "Nhập YAML",
|
|
||||||
"importYamlDescription": "Nhập quy tắc từ tệp YAML, hệ thống sẽ tự động tạo nhóm quy tắc dựa trên tên nhóm chính sách",
|
"importYamlDescription": "Nhập quy tắc từ tệp YAML, hệ thống sẽ tự động tạo nhóm quy tắc dựa trên tên nhóm chính sách",
|
||||||
"importYamlRules": "Nhập Quy tắc YAML",
|
"importYamlRules": "Nhập Quy tắc YAML",
|
||||||
"importing": "Đang nhập khẩu...",
|
"importing": "Đang nhập khẩu...",
|
||||||
@@ -31,11 +29,9 @@
|
|||||||
"noValidRules": "Không tìm thấy quy tắc hợp lệ",
|
"noValidRules": "Không tìm thấy quy tắc hợp lệ",
|
||||||
"pleaseUploadFile": "Vui lòng tải lên một tệp YAML",
|
"pleaseUploadFile": "Vui lòng tải lên một tệp YAML",
|
||||||
"preview": "Xem trước",
|
"preview": "Xem trước",
|
||||||
"rules": "Nội dung Quy tắc",
|
|
||||||
"rulesFormat": "Định dạng quy tắc: loại quy tắc, nội dung khớp, [chính sách], trong đó chính sách là tùy chọn.\nNếu không chỉ định chính sách, tên nhóm quy tắc hiện tại sẽ được sử dụng tự động. Ví dụ:",
|
"rulesFormat": "Định dạng quy tắc: loại quy tắc, nội dung khớp, [chính sách], trong đó chính sách là tùy chọn.\nNếu không chỉ định chính sách, tên nhóm quy tắc hiện tại sẽ được sử dụng tự động. Ví dụ:",
|
||||||
"rulesLabel": "Nội dung Quy tắc",
|
"rulesLabel": "Nội dung Quy tắc",
|
||||||
"searchRule": "Tìm kiếm tên quy tắc",
|
"searchRule": "Tìm kiếm tên quy tắc",
|
||||||
"selectFile": "Chọn Tệp",
|
|
||||||
"selectTags": "Chọn thẻ nút",
|
"selectTags": "Chọn thẻ nút",
|
||||||
"tags": "Thẻ Nút",
|
"tags": "Thẻ Nút",
|
||||||
"tagsLabel": "Thẻ Nút",
|
"tagsLabel": "Thẻ Nút",
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "Xác nhận nâng cấp hệ thống",
|
"confirmSystemUpgrade": "Xác nhận nâng cấp hệ thống",
|
||||||
"confirmUpgrade": "Xác nhận nâng cấp",
|
"confirmUpgrade": "Xác nhận nâng cấp",
|
||||||
"currentVersion": "Phiên bản hệ thống hiện tại:",
|
"currentVersion": "Phiên bản hệ thống hiện tại:",
|
||||||
|
"developmentVersion": "Phiên bản phát triển",
|
||||||
"errors": "Lỗi",
|
"errors": "Lỗi",
|
||||||
"ip": "IP",
|
"ip": "Địa chỉ IP",
|
||||||
"lastUpdated": "Cập nhật lần cuối:",
|
"lastUpdated": "Cập nhật lần cuối:",
|
||||||
|
"newVersionAvailable": "Phiên bản mới",
|
||||||
"none": "Không có",
|
"none": "Không có",
|
||||||
"query": "Truy vấn",
|
"query": "Truy vấn",
|
||||||
"rebootDescription": "Bạn có chắc chắn muốn khởi động lại hệ thống không? Thao tác này sẽ gây gián đoạn dịch vụ trong thời gian ngắn.",
|
"rebootDescription": "Bạn có chắc chắn muốn khởi động lại hệ thống không? Thao tác này sẽ gây gián đoạn dịch vụ trong thời gian ngắn.",
|
||||||
"rebooting": "Đang khởi động lại hệ thống...",
|
"rebooting": "Đang khởi động lại hệ thống...",
|
||||||
"refreshLogs": "Làm mới nhật ký",
|
"refreshLogs": "Làm mới nhật ký",
|
||||||
"request": "Yêu cầu",
|
"request": "Yêu cầu",
|
||||||
|
"serverVersion": "Máy chủ",
|
||||||
"status": "Trạng thái",
|
"status": "Trạng thái",
|
||||||
"systemLogs": "Nhật ký hệ thống",
|
"systemLogs": "Nhật ký hệ thống",
|
||||||
"systemReboot": "Khởi động lại hệ thống",
|
"systemReboot": "Khởi động lại hệ thống",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "Nâng cấp hệ thống",
|
"systemUpgrade": "Nâng cấp hệ thống",
|
||||||
"upgradeDescription": "Bạn có chắc chắn muốn thực hiện nâng cấp hệ thống không? Thao tác này có thể mất vài phút và trong thời gian đó hệ thống có thể không phản hồi.",
|
"upgradeDescription": "Bạn có chắc chắn muốn thực hiện nâng cấp hệ thống không? Thao tác này có thể mất vài phút và trong thời gian đó hệ thống có thể không phản hồi.",
|
||||||
"userAgent": "Tác nhân người dùng",
|
"userAgent": "Tác nhân người dùng",
|
||||||
"viewLogsAndManage": "Xem nhật ký hệ thống, thực hiện nâng cấp và khởi động lại hệ thống"
|
"versionInfo": "Thông tin phiên bản",
|
||||||
|
"viewLogsAndManage": "Xem nhật ký hệ thống, thực hiện nâng cấp và khởi động lại hệ thống",
|
||||||
|
"viewNewVersion": "Xem phiên bản mới",
|
||||||
|
"webVersion": "Web/Quản trị"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,12 @@
|
|||||||
"createRule": "添加规则",
|
"createRule": "添加规则",
|
||||||
"createSuccess": "创建规则成功",
|
"createSuccess": "创建规则成功",
|
||||||
"createdAt": "创建时间",
|
"createdAt": "创建时间",
|
||||||
|
"default": "默认",
|
||||||
|
"defaultRule": "默认规则",
|
||||||
"delete": "删除",
|
"delete": "删除",
|
||||||
"deleteSuccess": "删除规则成功",
|
"deleteSuccess": "删除规则成功",
|
||||||
"deleteWarning": "确定要删除所选规则吗?此操作不可恢复。",
|
"deleteWarning": "确定要删除所选规则吗?此操作不可恢复。",
|
||||||
"description": "规则描述",
|
"direct": "直连",
|
||||||
"downloadTemplate": "下载模板",
|
"downloadTemplate": "下载模板",
|
||||||
"edit": "编辑",
|
"edit": "编辑",
|
||||||
"editRule": "编辑规则",
|
"editRule": "编辑规则",
|
||||||
@@ -22,7 +24,6 @@
|
|||||||
"import": "导入",
|
"import": "导入",
|
||||||
"importFailed": "导入失败",
|
"importFailed": "导入失败",
|
||||||
"importSuccess": "导入成功",
|
"importSuccess": "导入成功",
|
||||||
"importYaml": "导入YAML",
|
|
||||||
"importYamlDescription": "从YAML文件导入规则,系统将自动根据策略组名称分组创建规则",
|
"importYamlDescription": "从YAML文件导入规则,系统将自动根据策略组名称分组创建规则",
|
||||||
"importYamlRules": "导入YAML规则",
|
"importYamlRules": "导入YAML规则",
|
||||||
"importing": "导入中...",
|
"importing": "导入中...",
|
||||||
@@ -31,13 +32,14 @@
|
|||||||
"noValidRules": "没有找到有效的规则",
|
"noValidRules": "没有找到有效的规则",
|
||||||
"pleaseUploadFile": "请上传YAML文件",
|
"pleaseUploadFile": "请上传YAML文件",
|
||||||
"preview": "预览",
|
"preview": "预览",
|
||||||
"rules": "规则内容",
|
"reject": "拒绝",
|
||||||
"rulesFormat": "规则格式说明:规则类型,匹配内容,[策略], 其中策略为可选项。\n不指定策略时,将自动使用当前规则组名称, 示例:",
|
"rulesFormat": "规则格式说明:规则类型,匹配内容,[策略], 其中策略为可选项。\n不指定策略时,将自动使用当前规则组名称, 示例:",
|
||||||
"rulesLabel": "规则内容",
|
"rulesLabel": "规则内容",
|
||||||
"searchRule": "搜索规则名称",
|
"searchRule": "搜索规则名称",
|
||||||
"selectFile": "选择文件",
|
|
||||||
"selectTags": "选择节点标签",
|
"selectTags": "选择节点标签",
|
||||||
|
"selectType": "选择规则类型",
|
||||||
"tags": "节点标签",
|
"tags": "节点标签",
|
||||||
"tagsLabel": "节点标签",
|
"tagsLabel": "节点标签",
|
||||||
|
"type": "规则类型",
|
||||||
"updateSuccess": "更新规则成功"
|
"updateSuccess": "更新规则成功"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,6 +63,7 @@
|
|||||||
"edit": "编辑",
|
"edit": "编辑",
|
||||||
"editNode": "编辑节点",
|
"editNode": "编辑节点",
|
||||||
"enable": "启用",
|
"enable": "启用",
|
||||||
|
"id": "ID",
|
||||||
"form": {
|
"form": {
|
||||||
"allowInsecure": "允许不安全",
|
"allowInsecure": "允许不安全",
|
||||||
"cancel": "取消",
|
"cancel": "取消",
|
||||||
@@ -141,6 +142,7 @@
|
|||||||
"name": "名称",
|
"name": "名称",
|
||||||
"node": "节点",
|
"node": "节点",
|
||||||
"nodeGroup": "节点组",
|
"nodeGroup": "节点组",
|
||||||
|
"noData": "--",
|
||||||
"normal": "正常",
|
"normal": "正常",
|
||||||
"onlineCount": "在线人数",
|
"onlineCount": "在线人数",
|
||||||
"onlineUsers": "在线用户",
|
"onlineUsers": "在线用户",
|
||||||
|
|||||||
@@ -1,26 +1,32 @@
|
|||||||
{
|
{
|
||||||
"caller": "Caller",
|
"caller": "调用者",
|
||||||
"cancel": "取消",
|
"cancel": "取消",
|
||||||
"confirmReboot": "确认重启",
|
"confirmReboot": "确认重启",
|
||||||
"confirmSystemReboot": "确认系统重启",
|
"confirmSystemReboot": "确认系统重启",
|
||||||
"confirmSystemUpgrade": "确认系统升级",
|
"confirmSystemUpgrade": "确认系统升级",
|
||||||
"confirmUpgrade": "确认升级",
|
"confirmUpgrade": "确认升级",
|
||||||
"currentVersion": "当前系统版本:",
|
"currentVersion": "当前系统版本:",
|
||||||
"errors": "Errors",
|
"developmentVersion": "开发版",
|
||||||
"ip": "IP",
|
"errors": "错误",
|
||||||
|
"ip": "IP地址",
|
||||||
"lastUpdated": "最后更新:",
|
"lastUpdated": "最后更新:",
|
||||||
"none": "None",
|
"newVersionAvailable": "有新版本",
|
||||||
"query": "Query",
|
"none": "无",
|
||||||
|
"query": "查询",
|
||||||
"rebootDescription": "您确定要重启系统吗?此操作将导致短暂的服务中断。",
|
"rebootDescription": "您确定要重启系统吗?此操作将导致短暂的服务中断。",
|
||||||
"rebooting": "正在重启系统...",
|
"rebooting": "正在重启系统...",
|
||||||
"refreshLogs": "刷新日志",
|
"refreshLogs": "刷新日志",
|
||||||
"request": "Request",
|
"request": "请求",
|
||||||
"status": "Status",
|
"serverVersion": "服务端",
|
||||||
|
"status": "状态",
|
||||||
"systemLogs": "系统日志",
|
"systemLogs": "系统日志",
|
||||||
"systemReboot": "系统重启",
|
"systemReboot": "系统重启",
|
||||||
"systemServices": "系统服务",
|
"systemServices": "系统服务",
|
||||||
"systemUpgrade": "系统升级",
|
"systemUpgrade": "系统升级",
|
||||||
"upgradeDescription": "您确定要执行系统升级吗?此操作可能需要几分钟时间,期间系统可能无法响应。",
|
"upgradeDescription": "您确定要执行系统升级吗?此操作可能需要几分钟时间,期间系统可能无法响应。",
|
||||||
"userAgent": "User Agent",
|
"userAgent": "用户代理",
|
||||||
"viewLogsAndManage": "查看系统日志,执行系统升级和重启操作"
|
"versionInfo": "版本信息",
|
||||||
|
"viewLogsAndManage": "查看系统日志,执行系统升级和重启操作",
|
||||||
|
"viewNewVersion": "查看新版本",
|
||||||
|
"webVersion": "用户端/管理端"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
"createRule": "新增規則",
|
"createRule": "新增規則",
|
||||||
"createSuccess": "規則創建成功",
|
"createSuccess": "規則創建成功",
|
||||||
"createdAt": "創建於",
|
"createdAt": "創建於",
|
||||||
|
"defaultRule": "默認規則",
|
||||||
"delete": "刪除",
|
"delete": "刪除",
|
||||||
"deleteSuccess": "規則刪除成功",
|
"deleteSuccess": "規則刪除成功",
|
||||||
"deleteWarning": "您確定要刪除這條規則嗎?此操作無法撤銷。",
|
"deleteWarning": "您確定要刪除這條規則嗎?此操作無法撤銷。",
|
||||||
"description": "規則描述",
|
|
||||||
"downloadTemplate": "下載模板",
|
"downloadTemplate": "下載模板",
|
||||||
"edit": "編輯",
|
"edit": "編輯",
|
||||||
"editRule": "編輯規則",
|
"editRule": "編輯規則",
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
"import": "導入",
|
"import": "導入",
|
||||||
"importFailed": "導入失敗",
|
"importFailed": "導入失敗",
|
||||||
"importSuccess": "導入成功",
|
"importSuccess": "導入成功",
|
||||||
"importYaml": "導入 YAML",
|
|
||||||
"importYamlDescription": "從 YAML 文件導入規則,系統將根據策略組名稱自動創建規則組",
|
"importYamlDescription": "從 YAML 文件導入規則,系統將根據策略組名稱自動創建規則組",
|
||||||
"importYamlRules": "導入 YAML 規則",
|
"importYamlRules": "導入 YAML 規則",
|
||||||
"importing": "導入中...",
|
"importing": "導入中...",
|
||||||
@@ -31,13 +30,13 @@
|
|||||||
"noValidRules": "未找到有效的規則",
|
"noValidRules": "未找到有效的規則",
|
||||||
"pleaseUploadFile": "請上傳 YAML 文件",
|
"pleaseUploadFile": "請上傳 YAML 文件",
|
||||||
"preview": "預覽",
|
"preview": "預覽",
|
||||||
"rules": "規則內容",
|
|
||||||
"rulesFormat": "規則格式:規則類型,匹配內容,[策略],其中策略是可選的。\n如果未指定策略,將自動使用當前規則組名稱。示例:",
|
"rulesFormat": "規則格式:規則類型,匹配內容,[策略],其中策略是可選的。\n如果未指定策略,將自動使用當前規則組名稱。示例:",
|
||||||
"rulesLabel": "規則內容",
|
"rulesLabel": "規則內容",
|
||||||
"searchRule": "搜索規則名稱",
|
"searchRule": "搜索規則名稱",
|
||||||
"selectFile": "選擇文件",
|
|
||||||
"selectTags": "選擇節點標籤",
|
"selectTags": "選擇節點標籤",
|
||||||
|
"selectType": "選擇規則類型",
|
||||||
"tags": "節點標籤",
|
"tags": "節點標籤",
|
||||||
"tagsLabel": "節點標籤",
|
"tagsLabel": "節點標籤",
|
||||||
|
"type": "規則類型",
|
||||||
"updateSuccess": "規則更新成功"
|
"updateSuccess": "規則更新成功"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,15 +6,18 @@
|
|||||||
"confirmSystemUpgrade": "確認系統升級",
|
"confirmSystemUpgrade": "確認系統升級",
|
||||||
"confirmUpgrade": "確認升級",
|
"confirmUpgrade": "確認升級",
|
||||||
"currentVersion": "目前系統版本:",
|
"currentVersion": "目前系統版本:",
|
||||||
|
"developmentVersion": "開發版",
|
||||||
"errors": "錯誤",
|
"errors": "錯誤",
|
||||||
"ip": "IP",
|
"ip": "IP位址",
|
||||||
"lastUpdated": "最後更新:",
|
"lastUpdated": "最後更新:",
|
||||||
|
"newVersionAvailable": "有新版本",
|
||||||
"none": "無",
|
"none": "無",
|
||||||
"query": "查詢",
|
"query": "查詢",
|
||||||
"rebootDescription": "您確定要重新啟動系統嗎?此操作將導致短暫的服務中斷。",
|
"rebootDescription": "您確定要重新啟動系統嗎?此操作將導致短暫的服務中斷。",
|
||||||
"rebooting": "正在重新啟動系統...",
|
"rebooting": "正在重新啟動系統...",
|
||||||
"refreshLogs": "重新整理日誌",
|
"refreshLogs": "重新整理日誌",
|
||||||
"request": "請求",
|
"request": "請求",
|
||||||
|
"serverVersion": "伺服器端",
|
||||||
"status": "狀態",
|
"status": "狀態",
|
||||||
"systemLogs": "系統日誌",
|
"systemLogs": "系統日誌",
|
||||||
"systemReboot": "系統重啟",
|
"systemReboot": "系統重啟",
|
||||||
@@ -22,5 +25,8 @@
|
|||||||
"systemUpgrade": "系統升級",
|
"systemUpgrade": "系統升級",
|
||||||
"upgradeDescription": "您確定要執行系統升級嗎?此操作可能需要幾分鐘時間,期間系統可能無法回應。",
|
"upgradeDescription": "您確定要執行系統升級嗎?此操作可能需要幾分鐘時間,期間系統可能無法回應。",
|
||||||
"userAgent": "使用者代理",
|
"userAgent": "使用者代理",
|
||||||
"viewLogsAndManage": "查看系統日誌,執行系統升級和重新啟動操作"
|
"versionInfo": "版本資訊",
|
||||||
|
"viewLogsAndManage": "查看系統日誌,執行系統升級和重新啟動操作",
|
||||||
|
"viewNewVersion": "查看新版本",
|
||||||
|
"webVersion": "使用者端/管理端"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9968,3 +9968,4 @@ rules:
|
|||||||
- PROCESS-NAME,Weiyun.exe,🎯 全球直连
|
- PROCESS-NAME,Weiyun.exe,🎯 全球直连
|
||||||
- PROCESS-NAME,baidunetdisk.exe,🎯 全球直连
|
- PROCESS-NAME,baidunetdisk.exe,🎯 全球直连
|
||||||
- GEOIP,CN,🎯 全球直连
|
- GEOIP,CN,🎯 全球直连
|
||||||
|
- MATCH,🚀 节点选择
|
||||||
|
|||||||
@@ -17,3 +17,11 @@ export async function restartSystem(options?: { [key: string]: any }) {
|
|||||||
...(options || {}),
|
...(options || {}),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Get Version GET /v1/admin/tool/version */
|
||||||
|
export async function getVersion(options?: { [key: string]: any }) {
|
||||||
|
return request<API.Response & { data?: API.VersionResponse }>('/v1/admin/tool/version', {
|
||||||
|
method: 'GET',
|
||||||
|
...(options || {}),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
+10
@@ -296,8 +296,10 @@ declare namespace API {
|
|||||||
type CreateRuleGroupRequest = {
|
type CreateRuleGroupRequest = {
|
||||||
name: string;
|
name: string;
|
||||||
icon: string;
|
icon: string;
|
||||||
|
type: string;
|
||||||
tags: string[];
|
tags: string[];
|
||||||
rules: string;
|
rules: string;
|
||||||
|
default: boolean;
|
||||||
enable: boolean;
|
enable: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1283,9 +1285,11 @@ declare namespace API {
|
|||||||
id: number;
|
id: number;
|
||||||
icon: string;
|
icon: string;
|
||||||
name: string;
|
name: string;
|
||||||
|
type: string;
|
||||||
tags: string[];
|
tags: string[];
|
||||||
rules: string;
|
rules: string;
|
||||||
enable: boolean;
|
enable: boolean;
|
||||||
|
default: boolean;
|
||||||
created_at: number;
|
created_at: number;
|
||||||
updated_at: number;
|
updated_at: number;
|
||||||
};
|
};
|
||||||
@@ -1629,9 +1633,11 @@ declare namespace API {
|
|||||||
type UpdateRuleGroupRequest = {
|
type UpdateRuleGroupRequest = {
|
||||||
id: number;
|
id: number;
|
||||||
icon: string;
|
icon: string;
|
||||||
|
type: string;
|
||||||
name: string;
|
name: string;
|
||||||
tags: string[];
|
tags: string[];
|
||||||
rules: string;
|
rules: string;
|
||||||
|
default: boolean;
|
||||||
enable: boolean;
|
enable: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1856,6 +1862,10 @@ declare namespace API {
|
|||||||
enable_reset_password_verify: boolean;
|
enable_reset_password_verify: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
type VersionResponse = {
|
||||||
|
version: string;
|
||||||
|
};
|
||||||
|
|
||||||
type Vless = {
|
type Vless = {
|
||||||
port: number;
|
port: number;
|
||||||
flow: string;
|
flow: string;
|
||||||
|
|||||||
+2
@@ -696,9 +696,11 @@ declare namespace API {
|
|||||||
id: number;
|
id: number;
|
||||||
icon: string;
|
icon: string;
|
||||||
name: string;
|
name: string;
|
||||||
|
type: string;
|
||||||
tags: string[];
|
tags: string[];
|
||||||
rules: string;
|
rules: string;
|
||||||
enable: boolean;
|
enable: boolean;
|
||||||
|
default: boolean;
|
||||||
created_at: number;
|
created_at: number;
|
||||||
updated_at: number;
|
updated_at: number;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,8 +2,29 @@ import { GlobalMap } from '@/components/main/global-map';
|
|||||||
import { Hero } from '@/components/main/hero';
|
import { Hero } from '@/components/main/hero';
|
||||||
import { ProductShowcase } from '@/components/main/product-showcase/index';
|
import { ProductShowcase } from '@/components/main/product-showcase/index';
|
||||||
import { Stats } from '@/components/main/stats';
|
import { Stats } from '@/components/main/stats';
|
||||||
|
import { queryUserInfo } from '@/services/user/user';
|
||||||
|
import { cookies } from 'next/headers';
|
||||||
|
import { redirect } from 'next/navigation';
|
||||||
|
|
||||||
|
export default async function Home() {
|
||||||
|
const Authorization = (await cookies()).get('Authorization')?.value;
|
||||||
|
|
||||||
|
if (Authorization) {
|
||||||
|
let user = null;
|
||||||
|
try {
|
||||||
|
user = await queryUserInfo({
|
||||||
|
skipErrorHandler: true,
|
||||||
|
Authorization,
|
||||||
|
}).then((res) => res.data.data);
|
||||||
|
} catch (error) {
|
||||||
|
console.log('Token validation failed:', error);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (user) {
|
||||||
|
redirect('/dashboard');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export default function Home() {
|
|
||||||
return (
|
return (
|
||||||
<main className='container space-y-16'>
|
<main className='container space-y-16'>
|
||||||
<Hero />
|
<Hero />
|
||||||
|
|||||||
@@ -53,6 +53,12 @@ export function SubscribeBilling({ order }: Readonly<SubscribeBillingProps>) {
|
|||||||
<Display type='currency' value={order?.fee_amount} />
|
<Display type='currency' value={order?.fee_amount} />
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<span className='text-muted-foreground'>{t('billing.gift')}</span>
|
||||||
|
<span>
|
||||||
|
<Display type='currency' value={order?.gift_amount} />
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<Separator />
|
<Separator />
|
||||||
<div className='flex items-center justify-between font-semibold'>
|
<div className='flex items-center justify-between font-semibold'>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ export const NEXT_PUBLIC_DEFAULT_LANGUAGE =
|
|||||||
export const NEXT_PUBLIC_SITE_URL = env('NEXT_PUBLIC_SITE_URL') ?? process.env.NEXT_PUBLIC_SITE_URL;
|
export const NEXT_PUBLIC_SITE_URL = env('NEXT_PUBLIC_SITE_URL') ?? process.env.NEXT_PUBLIC_SITE_URL;
|
||||||
export const NEXT_PUBLIC_API_URL = env('NEXT_PUBLIC_API_URL') ?? process.env.NEXT_PUBLIC_API_URL;
|
export const NEXT_PUBLIC_API_URL = env('NEXT_PUBLIC_API_URL') ?? process.env.NEXT_PUBLIC_API_URL;
|
||||||
export const NEXT_PUBLIC_CDN_URL =
|
export const NEXT_PUBLIC_CDN_URL =
|
||||||
env('NEXT_PUBLIC_CDN_URL') || process.env.NEXT_PUBLIC_CDN_URL || 'https://fastly.jsdelivr.net';
|
env('NEXT_PUBLIC_CDN_URL') || process.env.NEXT_PUBLIC_CDN_URL || 'https://cdn.jsdelivr.net';
|
||||||
|
|
||||||
export const NEXT_PUBLIC_DEFAULT_USER_EMAIL =
|
export const NEXT_PUBLIC_DEFAULT_USER_EMAIL =
|
||||||
env('NEXT_PUBLIC_DEFAULT_USER_EMAIL') ?? process.env.NEXT_PUBLIC_DEFAULT_USER_EMAIL;
|
env('NEXT_PUBLIC_DEFAULT_USER_EMAIL') ?? process.env.NEXT_PUBLIC_DEFAULT_USER_EMAIL;
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Poplatek",
|
"fee": "Poplatek",
|
||||||
"price": "Cena",
|
"price": "Cena",
|
||||||
"productDiscount": "Sleva na zboží",
|
"productDiscount": "Sleva na zboží",
|
||||||
"total": "Celková cena"
|
"total": "Celková cena",
|
||||||
|
"gift": "Odpočet dárku"
|
||||||
},
|
},
|
||||||
"buy": "Koupit",
|
"buy": "Koupit",
|
||||||
"buyNow": "Koupit nyní",
|
"buyNow": "Koupit nyní",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Bearbeitungsgebühr",
|
"fee": "Bearbeitungsgebühr",
|
||||||
"price": "Preis",
|
"price": "Preis",
|
||||||
"productDiscount": "Produktrabatt",
|
"productDiscount": "Produktrabatt",
|
||||||
"total": "Gesamtpreis"
|
"total": "Gesamtpreis",
|
||||||
|
"gift": "Geschenkabzug"
|
||||||
},
|
},
|
||||||
"buy": "Kaufen",
|
"buy": "Kaufen",
|
||||||
"buyNow": "Jetzt kaufen",
|
"buyNow": "Jetzt kaufen",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Fee",
|
"fee": "Fee",
|
||||||
"price": "Price",
|
"price": "Price",
|
||||||
"productDiscount": "Product Discount",
|
"productDiscount": "Product Discount",
|
||||||
"total": "Total"
|
"total": "Total",
|
||||||
|
"gift": "gift Deduction"
|
||||||
},
|
},
|
||||||
"buy": "Buy",
|
"buy": "Buy",
|
||||||
"buyNow": "Buy Now",
|
"buyNow": "Buy Now",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Tarifa de servicio",
|
"fee": "Tarifa de servicio",
|
||||||
"price": "Precio",
|
"price": "Precio",
|
||||||
"productDiscount": "Descuento de producto",
|
"productDiscount": "Descuento de producto",
|
||||||
"total": "Precio total"
|
"total": "Precio total",
|
||||||
|
"gift": "Deducción de Regalo"
|
||||||
},
|
},
|
||||||
"buy": "Comprar",
|
"buy": "Comprar",
|
||||||
"buyNow": "Comprar ahora",
|
"buyNow": "Comprar ahora",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Tarifa",
|
"fee": "Tarifa",
|
||||||
"price": "Precio",
|
"price": "Precio",
|
||||||
"productDiscount": "Descuento de Producto",
|
"productDiscount": "Descuento de Producto",
|
||||||
"total": "Total"
|
"total": "Total",
|
||||||
|
"gift": "Deducción de Regalo"
|
||||||
},
|
},
|
||||||
"buy": "Comprar",
|
"buy": "Comprar",
|
||||||
"buyNow": "Comprar Ahora",
|
"buyNow": "Comprar Ahora",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "هزینه",
|
"fee": "هزینه",
|
||||||
"price": "قیمت",
|
"price": "قیمت",
|
||||||
"productDiscount": "تخفیف محصول",
|
"productDiscount": "تخفیف محصول",
|
||||||
"total": "جمع کل"
|
"total": "جمع کل",
|
||||||
|
"gift": "کسر هدیه"
|
||||||
},
|
},
|
||||||
"buy": "خرید",
|
"buy": "خرید",
|
||||||
"buyNow": "خرید کنید",
|
"buyNow": "خرید کنید",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Käsittelymaksu",
|
"fee": "Käsittelymaksu",
|
||||||
"price": "Hinta",
|
"price": "Hinta",
|
||||||
"productDiscount": "Tuotealennus",
|
"productDiscount": "Tuotealennus",
|
||||||
"total": "Kokonaishinta"
|
"total": "Kokonaishinta",
|
||||||
|
"gift": "Lahjavähennys"
|
||||||
},
|
},
|
||||||
"buy": "Osta",
|
"buy": "Osta",
|
||||||
"buyNow": "Osta nyt",
|
"buyNow": "Osta nyt",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Frais de service",
|
"fee": "Frais de service",
|
||||||
"price": "Prix",
|
"price": "Prix",
|
||||||
"productDiscount": "Réduction sur le produit",
|
"productDiscount": "Réduction sur le produit",
|
||||||
"total": "Prix total"
|
"total": "Prix total",
|
||||||
|
"gift": "Déduction Cadeau"
|
||||||
},
|
},
|
||||||
"buy": "Acheter",
|
"buy": "Acheter",
|
||||||
"buyNow": "Acheter maintenant",
|
"buyNow": "Acheter maintenant",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "शुल्क",
|
"fee": "शुल्क",
|
||||||
"price": "मूल्य",
|
"price": "मूल्य",
|
||||||
"productDiscount": "उत्पाद छूट",
|
"productDiscount": "उत्पाद छूट",
|
||||||
"total": "कुल मूल्य"
|
"total": "कुल मूल्य",
|
||||||
|
"gift": "उपहार कटौती"
|
||||||
},
|
},
|
||||||
"buy": "खरीदें",
|
"buy": "खरीदें",
|
||||||
"buyNow": "अभी खरीदें",
|
"buyNow": "अभी खरीदें",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Kezelési díj",
|
"fee": "Kezelési díj",
|
||||||
"price": "Ár",
|
"price": "Ár",
|
||||||
"productDiscount": "Termékkedvezmény",
|
"productDiscount": "Termékkedvezmény",
|
||||||
"total": "Teljes ár"
|
"total": "Teljes ár",
|
||||||
|
"gift": "Ajándék levonás"
|
||||||
},
|
},
|
||||||
"buy": "vásárlás",
|
"buy": "vásárlás",
|
||||||
"buyNow": "Vásárolja meg most",
|
"buyNow": "Vásárolja meg most",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "手数料",
|
"fee": "手数料",
|
||||||
"price": "価格",
|
"price": "価格",
|
||||||
"productDiscount": "商品割引",
|
"productDiscount": "商品割引",
|
||||||
"total": "合計"
|
"total": "合計",
|
||||||
|
"gift": "ギフト控除"
|
||||||
},
|
},
|
||||||
"buy": "購入",
|
"buy": "購入",
|
||||||
"buyNow": "今すぐ購入",
|
"buyNow": "今すぐ購入",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "수수료",
|
"fee": "수수료",
|
||||||
"price": "가격",
|
"price": "가격",
|
||||||
"productDiscount": "상품 할인",
|
"productDiscount": "상품 할인",
|
||||||
"total": "총액"
|
"total": "총액",
|
||||||
|
"gift": "선물 차감"
|
||||||
},
|
},
|
||||||
"buy": "구매",
|
"buy": "구매",
|
||||||
"buyNow": "지금 구매",
|
"buyNow": "지금 구매",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Gebyr",
|
"fee": "Gebyr",
|
||||||
"price": "Pris",
|
"price": "Pris",
|
||||||
"productDiscount": "Produkt rabatt",
|
"productDiscount": "Produkt rabatt",
|
||||||
"total": "Totalpris"
|
"total": "Totalpris",
|
||||||
|
"gift": "Gavefradrag"
|
||||||
},
|
},
|
||||||
"buy": "Kjøp",
|
"buy": "Kjøp",
|
||||||
"buyNow": "Kjøp Nå",
|
"buyNow": "Kjøp Nå",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Opłata manipulacyjna",
|
"fee": "Opłata manipulacyjna",
|
||||||
"price": "Cena",
|
"price": "Cena",
|
||||||
"productDiscount": "Zniżka na produkt",
|
"productDiscount": "Zniżka na produkt",
|
||||||
"total": "Suma"
|
"total": "Suma",
|
||||||
|
"gift": "Odliczenie prezentu"
|
||||||
},
|
},
|
||||||
"buy": "Kup",
|
"buy": "Kup",
|
||||||
"buyNow": "Kup Teraz",
|
"buyNow": "Kup Teraz",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Taxa de Serviço",
|
"fee": "Taxa de Serviço",
|
||||||
"price": "Preço",
|
"price": "Preço",
|
||||||
"productDiscount": "Desconto do Produto",
|
"productDiscount": "Desconto do Produto",
|
||||||
"total": "Preço Total"
|
"total": "Preço Total",
|
||||||
|
"gift": "Dedução de Presente"
|
||||||
},
|
},
|
||||||
"buy": "Comprar",
|
"buy": "Comprar",
|
||||||
"buyNow": "Compre Agora",
|
"buyNow": "Compre Agora",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Taxă de procesare",
|
"fee": "Taxă de procesare",
|
||||||
"price": "Preț",
|
"price": "Preț",
|
||||||
"productDiscount": "Reducere produs",
|
"productDiscount": "Reducere produs",
|
||||||
"total": "Total"
|
"total": "Total",
|
||||||
|
"gift": "Deducere cadou"
|
||||||
},
|
},
|
||||||
"buy": "Cumpără",
|
"buy": "Cumpără",
|
||||||
"buyNow": "Cumpără acum",
|
"buyNow": "Cumpără acum",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Комиссия",
|
"fee": "Комиссия",
|
||||||
"price": "Цена",
|
"price": "Цена",
|
||||||
"productDiscount": "Скидка на товар",
|
"productDiscount": "Скидка на товар",
|
||||||
"total": "Итоговая цена"
|
"total": "Итоговая цена",
|
||||||
|
"gift": "Списание подарка"
|
||||||
},
|
},
|
||||||
"buy": "Купить",
|
"buy": "Купить",
|
||||||
"buyNow": "Купить сейчас",
|
"buyNow": "Купить сейчас",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "ค่าธรรมเนียม",
|
"fee": "ค่าธรรมเนียม",
|
||||||
"price": "ราคา",
|
"price": "ราคา",
|
||||||
"productDiscount": "ส่วนลดสินค้า",
|
"productDiscount": "ส่วนลดสินค้า",
|
||||||
"total": "ราคารวม"
|
"total": "ราคารวม",
|
||||||
|
"gift": "หักของขวัญ"
|
||||||
},
|
},
|
||||||
"buy": "ซื้อ",
|
"buy": "ซื้อ",
|
||||||
"buyNow": "ซื้อเลย",
|
"buyNow": "ซื้อเลย",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "İşlem Ücreti",
|
"fee": "İşlem Ücreti",
|
||||||
"price": "Fiyat",
|
"price": "Fiyat",
|
||||||
"productDiscount": "Ürün İndirimi",
|
"productDiscount": "Ürün İndirimi",
|
||||||
"total": "Toplam Fiyat"
|
"total": "Toplam Fiyat",
|
||||||
|
"gift": "Hediye Düşüm"
|
||||||
},
|
},
|
||||||
"buy": "satın al",
|
"buy": "satın al",
|
||||||
"buyNow": "Şimdi Satın Al",
|
"buyNow": "Şimdi Satın Al",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Комісія",
|
"fee": "Комісія",
|
||||||
"price": "Ціна",
|
"price": "Ціна",
|
||||||
"productDiscount": "Знижка на товар",
|
"productDiscount": "Знижка на товар",
|
||||||
"total": "Загальна сума"
|
"total": "Загальна сума",
|
||||||
|
"gift": "Списання подарунка"
|
||||||
},
|
},
|
||||||
"buy": "Купити",
|
"buy": "Купити",
|
||||||
"buyNow": "Купити зараз",
|
"buyNow": "Купити зараз",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "Phí dịch vụ",
|
"fee": "Phí dịch vụ",
|
||||||
"price": "Giá",
|
"price": "Giá",
|
||||||
"productDiscount": "Giảm giá sản phẩm",
|
"productDiscount": "Giảm giá sản phẩm",
|
||||||
"total": "Tổng giá"
|
"total": "Tổng giá",
|
||||||
|
"gift": "Khấu trừ quà tặng"
|
||||||
},
|
},
|
||||||
"buy": "Mua",
|
"buy": "Mua",
|
||||||
"buyNow": "Mua Ngay",
|
"buyNow": "Mua Ngay",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "手续费",
|
"fee": "手续费",
|
||||||
"price": "价格",
|
"price": "价格",
|
||||||
"productDiscount": "商品折扣",
|
"productDiscount": "商品折扣",
|
||||||
"total": "总价"
|
"total": "总价",
|
||||||
|
"gift": "赠金抵扣"
|
||||||
},
|
},
|
||||||
"buy": "购买",
|
"buy": "购买",
|
||||||
"buyNow": "立即购买",
|
"buyNow": "立即购买",
|
||||||
|
|||||||
@@ -14,7 +14,8 @@
|
|||||||
"fee": "手續費",
|
"fee": "手續費",
|
||||||
"price": "價格",
|
"price": "價格",
|
||||||
"productDiscount": "商品折扣",
|
"productDiscount": "商品折扣",
|
||||||
"total": "總價"
|
"total": "總價",
|
||||||
|
"gift": "贈金扣減"
|
||||||
},
|
},
|
||||||
"buy": "購買",
|
"buy": "購買",
|
||||||
"buyNow": "立即購買",
|
"buyNow": "立即購買",
|
||||||
|
|||||||
+2
@@ -696,9 +696,11 @@ declare namespace API {
|
|||||||
id: number;
|
id: number;
|
||||||
icon: string;
|
icon: string;
|
||||||
name: string;
|
name: string;
|
||||||
|
type: string;
|
||||||
tags: string[];
|
tags: string[];
|
||||||
rules: string;
|
rules: string;
|
||||||
enable: boolean;
|
enable: boolean;
|
||||||
|
default: boolean;
|
||||||
created_at: number;
|
created_at: number;
|
||||||
updated_at: number;
|
updated_at: number;
|
||||||
};
|
};
|
||||||
|
|||||||
Vendored
+2
@@ -794,9 +794,11 @@ declare namespace API {
|
|||||||
id: number;
|
id: number;
|
||||||
icon: string;
|
icon: string;
|
||||||
name: string;
|
name: string;
|
||||||
|
type: string;
|
||||||
tags: string[];
|
tags: string[];
|
||||||
rules: string;
|
rules: string;
|
||||||
enable: boolean;
|
enable: boolean;
|
||||||
|
default: boolean;
|
||||||
created_at: number;
|
created_at: number;
|
||||||
updated_at: number;
|
updated_at: number;
|
||||||
};
|
};
|
||||||
|
|||||||
+15
-14
@@ -3,22 +3,23 @@ import matter from 'gray-matter';
|
|||||||
|
|
||||||
const BASE_URL = `${NEXT_PUBLIC_CDN_URL}/gh/perfect-panel/ppanel-tutorial`;
|
const BASE_URL = `${NEXT_PUBLIC_CDN_URL}/gh/perfect-panel/ppanel-tutorial`;
|
||||||
|
|
||||||
async function getVersion() {
|
// async function getVersion() {
|
||||||
// API rate limit: 60 requests per hour
|
// // API rate limit: 60 requests per hour
|
||||||
const response = await fetch(
|
// const response = await fetch(
|
||||||
'https://data.jsdelivr.com/v1/stats/packages/gh/perfect-panel/ppanel-tutorial/versions',
|
// 'https://data.jsdelivr.com/v1/stats/packages/gh/perfect-panel/ppanel-tutorial/versions',
|
||||||
);
|
// );
|
||||||
const json = await response.json();
|
// const json = await response.json();
|
||||||
return json[0].version;
|
// return json[0].version;
|
||||||
}
|
// }
|
||||||
|
|
||||||
async function getVersionPath() {
|
async function getVersionPath() {
|
||||||
return getVersion()
|
// return getVersion()
|
||||||
.then((version) => `${BASE_URL}@${version}`)
|
// .then((version) => `${BASE_URL}@${version}`)
|
||||||
.catch((error) => {
|
// .catch((error) => {
|
||||||
console.warn('Error fetching the version:', error);
|
// console.warn('Error fetching the version:', error);
|
||||||
return BASE_URL;
|
// return `${BASE_URL}@latest`;
|
||||||
});
|
// });
|
||||||
|
return `${BASE_URL}@latest`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getTutorial(path: string): Promise<{
|
export async function getTutorial(path: string): Promise<{
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ppanel-web",
|
"name": "ppanel-web",
|
||||||
"version": "1.1.0",
|
"version": "1.1.3",
|
||||||
"private": true,
|
"private": true,
|
||||||
"homepage": "https://github.com/perfect-panel/ppanel-web",
|
"homepage": "https://github.com/perfect-panel/ppanel-web",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
|
|||||||
Reference in New Issue
Block a user