Merge branch 'main' into next

This commit is contained in:
nocobase[bot]
2025-11-30 09:40:15 +00:00
1007 changed files with 108863 additions and 22356 deletions
+70
View File
@@ -0,0 +1,70 @@
# NocoBase Locales
| Language Code | Language |
| ------------- | -------------- |
| ar-EG | العربية |
| az-AZ | Azərbaycan dili |
| bg-BG | Български |
| bn-BD | Bengali |
| by-BY | Беларускі |
| ca-ES | Сatalà/Espanya |
| cs-CZ | Česky |
| da-DK | Dansk |
| [de-DE](./de-DE.json) | Deutsch |
| el-GR | Ελληνικά |
| en-GB | English(GB) |
| [en-US](./en-US.json) | English |
| [es-ES](./es-ES.json) | Español |
| et-EE | Estonian (Eesti) |
| fa-IR | فارسی |
| fi-FI | Suomi |
| fr-BE | Français(BE) |
| fr-CA | Français(CA) |
| [fr-FR](./fr-FR.json) | Français |
| ga-IE | Gaeilge |
| gl-ES | Galego |
| he-IL | עברית |
| hi-IN | हिन्दी |
| hr-HR | Hrvatski jezik |
| hu-HU | Magyar |
| hy-AM | Հայերեն |
| [id-ID](./id-ID.json) | Bahasa Indonesia |
| is-IS | Íslenska |
| [it-IT](./it-IT.json) | Italiano |
| [ja-JP](./ja-JP.json) | 日本語 |
| ka-GE | ქართული |
| kk-KZ | Қазақ тілі |
| km-KH | ភាសាខ្មែរ |
| kn-IN | ಕನ್ನಡ |
| [ko-KR](./ko-KR.json) | 한국어 |
| ku-IQ | کوردی |
| lt-LT | lietuvių |
| lv-LV | Latviešu valoda |
| mk-MK | македонски јазик |
| ml-IN | മലയാളം |
| mn-MN | Монгол хэл |
| ms-MY | بهاس ملايو |
| nb-NO | Norsk bokmål |
| ne-NP | नेपाली |
| nl-BE | Vlaams |
| nl-NL | Nederlands |
| pl-PL | Polski |
| [pt-BR](./pt-BR.json) | Português brasileiro |
| pt-PT | Português |
| ro-RO | România |
| [ru-RU](./ru-RU.json) | Русский |
| si-LK | සිංහල |
| sk-SK | Slovenčina |
| sl-SI | Slovenščina |
| sr-RS | српски језик |
| sv-SE | Svenska |
| ta-IN | Tamil |
| th-TH | ภาษาไทย |
| tk-TK | Turkmen |
| [tr-TR](./tr-TR.json) | Türkçe |
| [uk-UA](./uk-UA.json) | Українська |
| ur-PK | Oʻzbekcha |
| vi-VN | Tiếng Việt |
| [zh-CN](./zh-CN.json) | 简体中文 |
| zh-HK | 繁體中文(香港) |
| [zh-TW](./zh-TW.json) | 繁體中文(台湾) |
+4855
View File
File diff suppressed because it is too large Load Diff
+4821
View File
File diff suppressed because it is too large Load Diff
+4866
View File
File diff suppressed because it is too large Load Diff
+4842
View File
File diff suppressed because it is too large Load Diff
+158
View File
@@ -0,0 +1,158 @@
const path = require('path');
const fg = require('fast-glob');
const fs = require('fs-extra');
const _ = require('lodash');
const deepmerge = require('deepmerge');
// 获取 cronstrue 和 react-js-cron 的翻译
// 这些函数需要从 CLI 包中引入,或者在这里实现简化版本
// 为了简化,这里先跳过,你可以根据需要添加
function sortJSON(json) {
if (Array.isArray(json)) {
return json.map(sortJSON);
} else if (typeof json === 'object' && json !== null) {
const sortedKeys = Object.keys(json).sort();
const sortedObject = {};
sortedKeys.forEach((key) => {
sortedObject[key] = sortJSON(json[key]);
});
return sortedObject;
}
return json;
}
async function main() {
// 从 storage/locales 目录向上找到项目根目录
const projectRoot = path.resolve(__dirname, '../');
const cwd = path.resolve(projectRoot, 'node_modules', '@nocobase');
const outputDir = path.resolve(__dirname);
console.log('Scanning locale files from:', cwd);
console.log('Output directory:', outputDir);
// 检查 node_modules/@nocobase 是否存在
if (!(await fs.pathExists(cwd))) {
console.error(`Error: Directory ${cwd} does not exist.`);
console.error('Please make sure node_modules/@nocobase is installed.');
process.exit(1);
}
// 扫描所有 locale 文件
const files = await fg('*/src/locale/*.json', {
cwd,
onlyFiles: true,
absolute: false,
});
console.log(`Found ${files.length} locale files`);
let locales = {};
// 读取所有文件并按语言和包名组织
for (const file of files) {
const localeName = path.basename(file, '.json').replace(/_/g, '-');
const pkg = path.basename(path.dirname(path.dirname(path.dirname(file))));
const packageName = `@nocobase/${pkg}`;
const filePath = path.resolve(cwd, file);
try {
const content = await fs.readJSON(filePath);
_.set(locales, [localeName, packageName], content);
console.log(`Loaded: ${packageName} - ${localeName}`);
} catch (error) {
console.error(`Error reading ${filePath}:`, error.message);
}
}
// 处理中文和英文的合并逻辑
const zhCN = locales['zh-CN'];
const enUS = locales['en-US'] || {};
if (zhCN && enUS) {
for (const key1 in zhCN) {
for (const key2 in zhCN[key1]) {
if (!_.get(enUS, [key1, key2])) {
_.set(enUS, [key1, key2], key2);
}
}
}
}
// 合并所有语言文件(以英文为基础)
for (const locale of Object.keys(locales)) {
if (enUS) {
locales[locale] = deepmerge(enUS, locales[locale]);
}
// 如果需要添加 cronstrue 和 react-js-cron,可以在这里添加
// locales[locale]['cronstrue'] = getCronstrueLocale(locale);
// locales[locale]['react-js-cron'] = getReactJsCron(locale);
}
// 自定义合并函数:保留已存在的值,只添加新的 key
function mergePreserveExisting(target, source) {
if (typeof target !== 'object' || target === null || Array.isArray(target)) {
// 如果目标不是对象,直接返回目标(保留已存在的值)
return target;
}
if (typeof source !== 'object' || source === null || Array.isArray(source)) {
// 如果源不是对象,返回目标(保留已存在的值)
return target;
}
const result = { ...target };
for (const key in source) {
if (!(key in result)) {
// 如果目标中不存在该键,添加它
result[key] = source[key];
} else if (
typeof result[key] === 'object' &&
typeof source[key] === 'object' &&
result[key] !== null &&
source[key] !== null &&
!Array.isArray(result[key]) &&
!Array.isArray(source[key])
) {
// 递归合并嵌套对象
result[key] = mergePreserveExisting(result[key], source[key]);
}
// 如果目标中已存在该键,保留目标值(不覆盖)
}
return result;
}
// 排序并写入文件
locales = sortJSON(locales);
await fs.mkdirp(outputDir);
for (const locale of Object.keys(locales)) {
const outputPath = path.resolve(outputDir, `${locale}.json`);
// 如果输出文件已存在,先读取它
let existingContent = {};
if (await fs.pathExists(outputPath)) {
try {
existingContent = await fs.readJSON(outputPath);
console.log(`Found existing ${locale}.json, preserving existing keys`);
} catch (error) {
console.warn(`Warning: Could not read existing ${locale}.json:`, error.message);
}
}
// 合并:保留已存在的值,只添加新的 key
const finalContent =
Object.keys(existingContent).length > 0
? mergePreserveExisting(existingContent, locales[locale])
: locales[locale];
await fs.writeFile(outputPath, JSON.stringify(sortJSON(finalContent), null, 2));
console.log(`Generated: ${outputPath}`);
}
console.log(`\nSuccessfully generated ${Object.keys(locales).length} locale files!`);
}
main().catch((error) => {
console.error('Error:', error);
process.exit(1);
});
+88
View File
@@ -0,0 +1,88 @@
const path = require('path');
const fg = require('fast-glob');
const fs = require('fs-extra');
async function main() {
// 从 storage/locales 目录向上找到项目根目录
const projectRoot = path.resolve(__dirname, '../');
const localesDir = path.resolve(__dirname);
const nodeModulesDir = path.resolve(projectRoot, 'node_modules', '@nocobase');
console.log('Project root:', projectRoot);
console.log('Locales directory:', localesDir);
console.log('Node modules directory:', nodeModulesDir);
// 检查 node_modules/@nocobase 是否存在
if (!(await fs.pathExists(nodeModulesDir))) {
console.error(`Error: Directory ${nodeModulesDir} does not exist.`);
console.error('Please make sure node_modules/@nocobase is installed.');
process.exit(1);
}
// 扫描所有语言文件
const localeFiles = await fg('*.json', {
cwd: localesDir,
onlyFiles: true,
absolute: false,
});
console.log(`Found ${localeFiles.length} locale files`);
// 处理每个语言文件
for (const localeFile of localeFiles) {
const localeName = path.basename(localeFile, '.json');
const localeFilePath = path.resolve(localesDir, localeFile);
console.log(`\nProcessing ${localeName}...`);
try {
const localeData = await fs.readJSON(localeFilePath);
// 遍历每个包
for (const packageName in localeData) {
// 跳过特殊键(如 cronstrue, react-js-cron)
if (packageName === 'cronstrue' || packageName === 'react-js-cron') {
continue;
}
// 从包名提取包目录名
// @nocobase/client -> client
// @nocobase/plugin-acl -> plugin-acl
if (!packageName.startsWith('@nocobase/')) {
console.warn(` Warning: Invalid package name format: ${packageName}`);
continue;
}
const packageDirName = packageName.replace('@nocobase/', '');
const packageDir = path.resolve(nodeModulesDir, packageDirName);
// 检查包目录是否存在
if (!(await fs.pathExists(packageDir))) {
console.warn(` Warning: Package directory does not exist: ${packageDirName}`);
continue;
}
// 构建目标文件路径
const targetDir = path.resolve(packageDir, 'src', 'locale');
const targetFile = path.resolve(targetDir, `${localeName}.json`);
// 确保目录存在
await fs.mkdirp(targetDir);
// 写入翻译文件
await fs.writeFile(targetFile, JSON.stringify(localeData[packageName], null, 2));
console.log(` ✓ ${packageName} -> ${path.relative(projectRoot, targetFile)}`);
}
} catch (error) {
console.error(`Error processing ${localeFile}:`, error.message);
}
}
console.log(`\nSuccessfully wrote locale files back to node_modules/@nocobase!`);
}
main().catch((error) => {
console.error('Error:', error);
process.exit(1);
});
+155
View File
@@ -0,0 +1,155 @@
const path = require('path');
const fs = require('fs-extra');
// 递归获取对象中所有的 key 路径
function getAllKeys(obj, prefix = '') {
const keys = [];
if (typeof obj === 'object' && obj !== null && !Array.isArray(obj)) {
for (const key in obj) {
const fullPath = prefix ? `${prefix}.${key}` : key;
if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {
keys.push(...getAllKeys(obj[key], fullPath));
} else {
keys.push(fullPath);
}
}
}
return keys;
}
// 根据路径获取嵌套对象的值
function getNestedValue(obj, path) {
const keys = path.split('.');
let current = obj;
for (const key of keys) {
if (current && typeof current === 'object' && key in current) {
current = current[key];
} else {
return undefined;
}
}
return current;
}
// 根据路径设置嵌套对象的值
function setNestedValue(obj, path, value) {
const keys = path.split('.');
let current = obj;
for (let i = 0; i < keys.length - 1; i++) {
const key = keys[i];
if (!(key in current) || typeof current[key] !== 'object' || current[key] === null || Array.isArray(current[key])) {
current[key] = {};
}
current = current[key];
}
current[keys[keys.length - 1]] = value;
}
// 排序 JSON 对象
function sortJSON(obj) {
if (Array.isArray(obj)) {
return obj.map(sortJSON);
} else if (typeof obj === 'object' && obj !== null) {
const sortedKeys = Object.keys(obj).sort();
const sortedObject = {};
sortedKeys.forEach((key) => {
sortedObject[key] = sortJSON(obj[key]);
});
return sortedObject;
}
return obj;
}
async function main() {
const latestDir = path.resolve(__dirname);
const betaDir = path.resolve('/Users/chen/NocoBase/gitflow/nocobase/nocobase-2-beta/locales');
console.log('Latest locales directory:', latestDir);
console.log('Beta locales directory:', betaDir);
// 检查 beta 目录是否存在
if (!(await fs.pathExists(betaDir))) {
console.error(`Error: Beta directory ${betaDir} does not exist.`);
process.exit(1);
}
// 获取所有 JSON 语言文件
const latestFiles = await fs.readdir(latestDir);
const jsonFiles = latestFiles.filter((file) => file.endsWith('.json'));
console.log(`\nFound ${jsonFiles.length} locale files to process:`);
jsonFiles.forEach((file) => console.log(` - ${file}`));
let totalUpdated = 0;
let totalKeys = 0;
// 处理每个语言文件
for (const file of jsonFiles) {
const latestPath = path.resolve(latestDir, file);
const betaPath = path.resolve(betaDir, file);
// 检查 beta 版本是否存在对应的文件
if (!(await fs.pathExists(betaPath))) {
console.log(`\n⚠️ ${file}: Beta version not found, skipping...`);
continue;
}
try {
// 读取两个版本的文件
const latestContent = await fs.readJSON(latestPath);
const betaContent = await fs.readJSON(betaPath);
// 获取 latest 版本的所有 key 路径
const latestKeys = getAllKeys(latestContent);
totalKeys += latestKeys.length;
// 统计更新的 key
let updatedCount = 0;
const updatedKeys = [];
// 对于每个 key,如果 beta 版本也存在,就用 beta 版本的值更新
for (const keyPath of latestKeys) {
const betaValue = getNestedValue(betaContent, keyPath);
if (betaValue !== undefined) {
const latestValue = getNestedValue(latestContent, keyPath);
// 只有当值不同时才更新
if (JSON.stringify(latestValue) !== JSON.stringify(betaValue)) {
setNestedValue(latestContent, keyPath, betaValue);
updatedCount++;
updatedKeys.push(keyPath);
}
}
}
if (updatedCount > 0) {
// 排序并保存
const sortedContent = sortJSON(latestContent);
await fs.writeFile(latestPath, JSON.stringify(sortedContent, null, 2) + '\n');
console.log(`\n✅ ${file}: Updated ${updatedCount} keys`);
if (updatedCount <= 10) {
updatedKeys.forEach((key) => console.log(` - ${key}`));
} else {
updatedKeys.slice(0, 10).forEach((key) => console.log(` - ${key}`));
console.log(` ... and ${updatedCount - 10} more keys`);
}
totalUpdated += updatedCount;
} else {
console.log(`\n✓ ${file}: No updates needed (all keys are already up to date)`);
}
} catch (error) {
console.error(`\n❌ Error processing ${file}:`, error.message);
}
}
console.log(`\n${'='.repeat(60)}`);
console.log(`Summary:`);
console.log(` Total files processed: ${jsonFiles.length}`);
console.log(` Total keys checked: ${totalKeys}`);
console.log(` Total keys updated: ${totalUpdated}`);
console.log(`${'='.repeat(60)}`);
}
main().catch((error) => {
console.error('Error:', error);
process.exit(1);
});
+4829
View File
File diff suppressed because it is too large Load Diff
+4923
View File
File diff suppressed because it is too large Load Diff
+4899
View File
File diff suppressed because it is too large Load Diff
+4865
View File
File diff suppressed because it is too large Load Diff
+4909
View File
File diff suppressed because it is too large Load Diff
+4832
View File
File diff suppressed because it is too large Load Diff
+4839
View File
File diff suppressed because it is too large Load Diff
+4847
View File
File diff suppressed because it is too large Load Diff
+4821
View File
File diff suppressed because it is too large Load Diff
+4825
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,11 +1,22 @@
{
"The current user has no roles. Please try another account.": "Der aktuelle Benutzer hat keine Rollen. Bitte versuchen Sie es mit einem anderen Konto.",
"The user role does not exist. Please try signing in again": "Die Benutzerrolle existiert nicht. Bitte versuchen Sie, sich erneut anzumelden",
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "Datenquellen",
"Desktop menu": "Desktop-Menü",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "Allgemein",
"Independent roles": "Independent roles",
"New role": "Neue Rolle",
"Permissions": "Berechtigungen",
"Roles & Permissions": "Rollen und Berechtigungen",
"General": "Allgemein",
"Desktop menu": "Desktop-Menü",
"Please select role mode": "Please select role mode",
"Plugin settings": "Plugin-Einstellungen",
"Data sources": "Datenquellen"
}
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "Rollen und Berechtigungen",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "Der aktuelle Benutzer hat keine Rollen. Bitte versuchen Sie es mit einem anderen Konto.",
"The user role does not exist. Please try signing in again": "Die Benutzerrolle existiert nicht. Bitte versuchen Sie, sich erneut anzumelden"
}
@@ -1,18 +1,22 @@
{
"The current user has no roles. Please try another account.": "The current user has no roles. Please try another account.",
"The user role does not exist. Please try signing in again": "The user role does not exist. Please try signing in again",
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "Data sources",
"Desktop menu": "Desktop menu",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "General",
"Independent roles": "Independent roles",
"New role": "New role",
"Permissions": "Permissions",
"Desktop menu": "Desktop menu",
"Independent roles": "Independent roles",
"Allow roles union": "Allow roles union",
"Roles union only": "Roles union only",
"Role mode": "Role mode",
"Saved successfully": "Saved successfully",
"Please select role mode": "Please select role mode",
"Full permissions": "Full permissions",
"Plugin settings": "Plugin settings",
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles."
}
"Roles & Permissions": "Roles & Permissions",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "The current user has no roles. Please try another account.",
"The user role does not exist. Please try signing in again": "The user role does not exist. Please try signing in again"
}
@@ -0,0 +1,22 @@
{
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "Data sources",
"Desktop menu": "Desktop menu",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "General",
"Independent roles": "Independent roles",
"New role": "New role",
"Permissions": "Permissions",
"Please select role mode": "Please select role mode",
"Plugin settings": "Plugin settings",
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "Roles & Permissions",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "The current user has no roles. Please try another account.",
"The user role does not exist. Please try signing in again": "The user role does not exist. Please try signing in again"
}
@@ -0,0 +1,22 @@
{
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "Data sources",
"Desktop menu": "Desktop menu",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "General",
"Independent roles": "Independent roles",
"New role": "New role",
"Permissions": "Permissions",
"Please select role mode": "Please select role mode",
"Plugin settings": "Plugin settings",
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "Roles & Permissions",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "The current user has no roles. Please try another account.",
"The user role does not exist. Please try signing in again": "The user role does not exist. Please try signing in again"
}
@@ -1,11 +1,22 @@
{
"The current user has no roles. Please try another account.": "L'utente corrente non ha ruoli. Per favore prova con un altro account.",
"The user role does not exist. Please try signing in again": "Il ruolo utente non esiste. Per favore prova ad accedere nuovamente.",
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "Origini dati",
"Desktop menu": "Menu desktop",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "Generale",
"Independent roles": "Independent roles",
"New role": "Nuovo ruolo",
"Permissions": "Permessi",
"Desktop menu": "Menu desktop",
"Roles & Permissions": "Ruoli e permessi",
"General": "Generale",
"Please select role mode": "Please select role mode",
"Plugin settings": "Impostazioni plugin",
"Data sources": "Origini dati"
}
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "Ruoli e permessi",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "L'utente corrente non ha ruoli. Per favore prova con un altro account.",
"The user role does not exist. Please try signing in again": "Il ruolo utente non esiste. Per favore prova ad accedere nuovamente."
}
@@ -1,11 +1,23 @@
{
"The current user has no roles. Please try another account.": "現在のユーザーには役割がありません。他のアカウントをお試しください。",
"The user role does not exist. Please try signing in again": "ユーザーの役割が存在しません。もう一度サインインしてください。",
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "データソース",
"Desktop menu": "デスクトップメニュー",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "一般",
"Independent roles": "Independent roles",
"Menu": "メニュー",
"New role": "新しい役割",
"Permissions": "権限",
"Roles & Permissions": "ロールと権限",
"General": "一般",
"Menu": "メニュー",
"Please select role mode": "Please select role mode",
"Plugin settings": "プラグインの設定",
"Data sources": "データソース"
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "ロールと権限",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "現在のユーザーには役割がありません。他のアカウントをお試しください。",
"The user role does not exist. Please try signing in again": "ユーザーの役割が存在しません。もう一度サインインしてください。"
}
@@ -1,5 +1,22 @@
{
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "데이터 소스",
"Desktop menu": "데스크탑 메뉴",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "일반",
"Independent roles": "Independent roles",
"New role": "새 역할",
"Permissions": "권한",
"Please select role mode": "Please select role mode",
"Plugin settings": "플러그인 설정",
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "역할 & 권한",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "현재 사용자에게 역할이 없습니다. 다른 계정을 시도해주세요.",
"The user role does not exist. Please try signing in again": "사용자 역할이 존재하지 않습니다. 다시 로그인을 시도해주세요.",
"Desktop menu": "데스크톱 메뉴"
}
"The user role does not exist. Please try signing in again": "사용자 역할이 존재하지 않습니다. 다시 로그인을 시도해주세요."
}
@@ -1,11 +1,22 @@
{
"The current user has no roles. Please try another account.": "De huidige gebruiker heeft geen rol. Probeer een andere gebruikersaccount.",
"The user role does not exist. Please try signing in again": "De gebruikersrol bestaat niet. Probeer opnieuw in te loggen.",
"Roles & Permissions": "Rollen & Permissies",
"General": "Algemeen",
"New role": "Nieuwe rol",
"Permissions": "Permissies",
"Desktop menu": "Desktop menu",
"Plugin settings": "Plugin instellingen",
"Data sources": "Data bronnen"
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "Data bronnen",
"Desktop menu": "Desktop menu",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "Algemeen",
"Independent roles": "Independent roles",
"New role": "Nieuwe rol",
"Permissions": "Permissies",
"Please select role mode": "Please select role mode",
"Plugin settings": "Plugin instellingen",
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "Rollen & Permissies",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "De huidige gebruiker heeft geen rol. Probeer een andere gebruikersaccount.",
"The user role does not exist. Please try signing in again": "De gebruikersrol bestaat niet. Probeer opnieuw in te loggen."
}
@@ -0,0 +1,22 @@
{
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "Data sources",
"Desktop menu": "Desktop menu",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "General",
"Independent roles": "Independent roles",
"New role": "New role",
"Permissions": "Permissions",
"Please select role mode": "Please select role mode",
"Plugin settings": "Plugin settings",
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "Roles & Permissions",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "The current user has no roles. Please try another account.",
"The user role does not exist. Please try signing in again": "The user role does not exist. Please try signing in again"
}
@@ -1,18 +1,22 @@
{
"The current user has no roles. Please try another account.": "У текущего пользователя нет ролей. Попробуйте другой аккаунт.",
"The user role does not exist. Please try signing in again": "Роль пользователя не существует. Попробуйте войти снова.",
"Allow roles union": "Разрешить объединение ролей",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Разрешить пользователям использовать объединение ролей, то есть они могут одновременно использовать права всех своих ролей или переключаться между отдельными ролями.",
"Data sources": "Источники данных",
"Desktop menu": "Меню рабочего стола",
"Do not use role union. Users need to switch between their roles individually.": "Не использовать объединение ролей. Пользователям нужно переключаться между ролями по отдельности.",
"Force users to use only role union. They cannot switch between individual roles.": "Принудительно использовать только объединение ролей. Переключение между отдельными ролями недоступно.",
"Full permissions": "Полные права",
"General": "Общие",
"Independent roles": "Независимые роли",
"New role": "Новая роль",
"Permissions": "Права доступа",
"Desktop menu": "Меню рабочего стола",
"Independent roles": "Независимые роли",
"Allow roles union": "Разрешить объединение ролей",
"Roles union only": "Только объединение ролей",
"Role mode": "Режим ролей",
"Saved successfully": "Успешно сохранено",
"Please select role mode": "Пожалуйста, выберите режим ролей",
"Full permissions": "Полные права",
"Plugin settings": "Настройки плагина",
"Role mode": "Режим ролей",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Do not use role union. Users need to switch between their roles individually.": "Не использовать объединение ролей. Пользователям нужно переключаться между ролями по отдельности.",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Разрешить пользователям использовать объединение ролей, то есть они могут одновременно использовать права всех своих ролей или переключаться между отдельными ролями.",
"Force users to use only role union. They cannot switch between individual roles.": "Принудительно использовать только объединение ролей. Переключение между отдельными ролями недоступно."
}
"Roles & Permissions": "Роли и разрешения",
"Roles union only": "Только объединение ролей",
"Saved successfully": "Успешно сохранено",
"The current user has no roles. Please try another account.": "У текущего пользователя нет ролей. Попробуйте другой аккаунт.",
"The user role does not exist. Please try signing in again": "Роль пользователя не существует. Попробуйте войти снова."
}
@@ -0,0 +1,22 @@
{
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "Data sources",
"Desktop menu": "Desktop menu",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "General",
"Independent roles": "Independent roles",
"New role": "New role",
"Permissions": "Permissions",
"Please select role mode": "Please select role mode",
"Plugin settings": "Plugin settings",
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "Roles & Permissions",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "The current user has no roles. Please try another account.",
"The user role does not exist. Please try signing in again": "The user role does not exist. Please try signing in again"
}
@@ -0,0 +1,22 @@
{
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "Data sources",
"Desktop menu": "Desktop menu",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "General",
"Independent roles": "Independent roles",
"New role": "New role",
"Permissions": "Permissions",
"Please select role mode": "Please select role mode",
"Plugin settings": "Plugin settings",
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "Roles & Permissions",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "The current user has no roles. Please try another account.",
"The user role does not exist. Please try signing in again": "The user role does not exist. Please try signing in again"
}
@@ -1,22 +1,22 @@
{
"The current user has no roles. Please try another account.": "当前用户没有角色,请使用其他账号。",
"The user role does not exist. Please try signing in again": "用户角色不存在,请尝试重新登录。",
"Allow roles union": "允许角色并集",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "允许用户使用角色并集,即可以同时使用自己拥有的所有角色的权限,也允许用户逐个切换自己的角色。",
"Data sources": "数据源",
"Desktop menu": "桌面端菜单",
"Do not use role union. Users need to switch between their roles individually.": "不使用角色并集,用户需要逐个切换自己拥有的角色。",
"Force users to use only role union. They cannot switch between individual roles.": "强制用户仅能使用角色并集,不能逐个切换角色。",
"Full permissions": "全部权限",
"General": "通用",
"Independent roles": "独立角色",
"New role": "新建角色",
"Permissions": "权限",
"Roles & Permissions": "角色和权限",
"General": "通用",
"Desktop menu": "桌面端菜单",
"Plugin settings": "插件设置",
"Data sources": "数据源",
"Independent roles": "独立角色",
"Allow roles union": "允许角色并集",
"Roles union only": "仅角色并集",
"Role mode": "角色模式",
"Saved successfully": "保存成功",
"Please select role mode": "请选择角色模式",
"Full permissions": "全部权限",
"Plugin settings": "插件设置",
"Role mode": "角色模式",
"Role mode doc": "https://docs-cn.nocobase.com/handbook/acl/manual",
"Do not use role union. Users need to switch between their roles individually.": "不使用角色并集,用户需要逐个切换自己拥有的角色。",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "允许用户使用角色并集,即可以同时使用自己拥有的所有角色的权限,也允许用户逐个切换自己的角色。",
"Force users to use only role union. They cannot switch between individual roles.": "强制用户仅能使用角色并集,不能逐个切换角色。"
"Roles & Permissions": "角色和权限",
"Roles union only": "仅角色并集",
"Saved successfully": "保存成功",
"The current user has no roles. Please try another account.": "当前用户没有角色,请使用其他账号。",
"The user role does not exist. Please try signing in again": "用户角色不存在,请尝试重新登录。"
}
@@ -0,0 +1,22 @@
{
"Allow roles union": "Allow roles union",
"Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.": "Allow users to use role union, which means they can use permissions from all their roles simultaneously, or switch between individual roles.",
"Data sources": "Data sources",
"Desktop menu": "Desktop menu",
"Do not use role union. Users need to switch between their roles individually.": "Do not use role union. Users need to switch between their roles individually.",
"Force users to use only role union. They cannot switch between individual roles.": "Force users to use only role union. They cannot switch between individual roles.",
"Full permissions": "Full permissions",
"General": "General",
"Independent roles": "Independent roles",
"New role": "New role",
"Permissions": "Permissions",
"Please select role mode": "Please select role mode",
"Plugin settings": "Plugin settings",
"Role mode": "Role mode",
"Role mode doc": "https://docs.nocobase.com/handbook/acl/manual",
"Roles & Permissions": "Roles & Permissions",
"Roles union only": "Roles union only",
"Saved successfully": "Saved successfully",
"The current user has no roles. Please try another account.": "The current user has no roles. Please try another account.",
"The user role does not exist. Please try signing in again": "The user role does not exist. Please try signing in again"
}
@@ -2,4 +2,4 @@
"Bulk edit": "Massenbearbeitung",
"Data will be updated": "Daten werden aktualisiert",
"Entire collection": "Gesamte Sammlung"
}
}
@@ -1,4 +1,5 @@
{
"Bulk edit": "Bulk edit",
"Data will be updated": "Data will be updated"
}
"Data will be updated": "Data will be updated",
"Entire collection": "Entire collection"
}
@@ -1,4 +1,5 @@
{
"Bulk edit": "Edición en masa",
"Data will be updated": "Se actualizarán los datos"
}
"Data will be updated": "Se actualizarán los datos",
"Entire collection": "Entire collection"
}
@@ -0,0 +1,5 @@
{
"Bulk edit": "Bulk edit",
"Data will be updated": "Data will be updated",
"Entire collection": "Entire collection"
}
@@ -1,5 +1,5 @@
{
"Bulk edit": "Modifica di massa",
"Data will be updated": "I dati saranno aggiornati",
"Entire collection":"Raccolta intera"
}
"Entire collection": "Raccolta intera"
}
@@ -1,4 +1,5 @@
{
"Bulk edit": "대량 편집",
"Data will be updated": "데이터가 업데이트됩니다"
}
"Bulk edit": "일괄 편집",
"Data will be updated": "데이터가 업데이트됩니다",
"Entire collection": "전체 컬렉션"
}
@@ -1,5 +1,5 @@
{
"Bulk edit": "Bewerken in bulk",
"Data will be updated": "Gegevens worden bijgewerkt",
"Entire collection": "Gehele collectie"
"Bulk edit": "Bewerken in bulk",
"Data will be updated": "Gegevens worden bijgewerkt",
"Entire collection": "Gehele collectie"
}
@@ -1,4 +1,5 @@
{
{
"Bulk edit": "Edição em massa",
"Data will be updated": "Os dados serão atualizados"
}
"Data will be updated": "Os dados serão atualizados",
"Entire collection": "Entire collection"
}
@@ -2,4 +2,4 @@
"Bulk edit": "Массовое редактирование",
"Data will be updated": "Данные будут обновлены",
"Entire collection": "Вся коллекция"
}
}
@@ -0,0 +1,5 @@
{
"Bulk edit": "Bulk edit",
"Data will be updated": "Data will be updated",
"Entire collection": "Entire collection"
}
@@ -0,0 +1,5 @@
{
"Bulk edit": "Bulk edit",
"Data will be updated": "Data will be updated",
"Entire collection": "Entire collection"
}
@@ -1,5 +1,5 @@
{
"Bulk edit": "批量编辑",
"Data will be updated": "更新的数据",
"Entire collection":"全表"
}
"Entire collection": "全表"
}
@@ -0,0 +1,5 @@
{
"Bulk edit": "Bulk edit",
"Data will be updated": "Data will be updated",
"Entire collection": "Entire collection"
}
@@ -1,6 +1,6 @@
{
"Bulk update": "Massenaktualisierung",
"After successful bulk update": "Nach erfolgreicher Massenaktualisierung",
"Please select the records to be updated": "Bitte wählen Sie die zu aktualisierenden Datensätze aus",
"Entire collection": "Gesamte Sammlung"
}
"Bulk update": "Massenaktualisierung",
"Entire collection": "Gesamte Sammlung",
"Please select the records to be updated": "Bitte wählen Sie die zu aktualisierenden Datensätze aus"
}
@@ -1,5 +1,6 @@
{
"Bulk update": "Bulk update",
"After successful bulk update": "After successful bulk update",
"Bulk update": "Bulk update",
"Entire collection": "Entire collection",
"Please select the records to be updated": "Please select the records to be updated"
}
@@ -1,5 +1,6 @@
{
"Bulk update": "Actualización en masa",
"After successful bulk update": "Tras una actualización en masa correcta",
"Bulk update": "Actualización en masa",
"Entire collection": "Entire collection",
"Please select the records to be updated": "Seleccione los registros que desea actualizar"
}
@@ -0,0 +1,6 @@
{
"After successful bulk update": "After successful bulk update",
"Bulk update": "Bulk update",
"Entire collection": "Entire collection",
"Please select the records to be updated": "Please select the records to be updated"
}
@@ -1,6 +1,6 @@
{
"Bulk update": "Aggiornamento di massa",
"After successful bulk update": "Dopo un aggiornamento di massa riuscito",
"Please select the records to be updated": "Per favore seleziona i record da aggiornare",
"Entire collection": "Raccolta intera"
}
"Bulk update": "Aggiornamento di massa",
"Entire collection": "Raccolta intera",
"Please select the records to be updated": "Per favore seleziona i record da aggiornare"
}
@@ -1,6 +1,6 @@
{
"Bulk update": "一括更新",
"After successful bulk update": "一括更新が完了しました",
"Please select the records to be updated": "更新するレコードを選択してください",
"Entire collection": "全コレクション"
"Bulk update": "一括更新",
"Entire collection": "全コレクション",
"Please select the records to be updated": "更新するレコードを選択してください"
}
@@ -1,5 +1,6 @@
{
"Bulk update": "대량 업데이트",
"After successful bulk update": "대량 업데이트 성공 후",
"Please select the records to be updated": "업데이트할 레코드를 선택하십시오"
"After successful bulk update": "일괄 업데이트 성공 후",
"Bulk update": "일괄 업데이트",
"Entire collection": "전체 컬렉션",
"Please select the records to be updated": "업데이트할 레코드를 선택하세요"
}
@@ -1,6 +1,6 @@
{
"Bulk update": "Updaten in bulk",
"After successful bulk update": "Na succesvolle update in bulk",
"Please select the records to be updated": "Selecteer de records die moeten worden bijgewerkt",
"Entire collection": "Gehele collectie"
"After successful bulk update": "Na succesvolle update in bulk",
"Bulk update": "Updaten in bulk",
"Entire collection": "Gehele collectie",
"Please select the records to be updated": "Selecteer de records die moeten worden bijgewerkt"
}
@@ -1,5 +1,6 @@
{
"Bulk update": "Atualização em massa",
"After successful bulk update": "Após a atualização em massa bem sucedida",
"Bulk update": "Atualização em massa",
"Entire collection": "Entire collection",
"Please select the records to be updated": "Por favor, selecione os registros a serem atualizados"
}
@@ -3,4 +3,4 @@
"Bulk update": "Массовое обновление",
"Entire collection": "Вся коллекция",
"Please select the records to be updated": "Пожалуйста, выберите записи для обновления"
}
}
@@ -0,0 +1,6 @@
{
"After successful bulk update": "After successful bulk update",
"Bulk update": "Bulk update",
"Entire collection": "Entire collection",
"Please select the records to be updated": "Please select the records to be updated"
}
@@ -0,0 +1,6 @@
{
"After successful bulk update": "After successful bulk update",
"Bulk update": "Bulk update",
"Entire collection": "Entire collection",
"Please select the records to be updated": "Please select the records to be updated"
}
@@ -1,6 +1,6 @@
{
"Bulk update": "批量更新",
"After successful bulk update": "批量成功更新后",
"Please select the records to be updated": "请选择要更新的记录",
"Entire collection": "全表"
"Bulk update": "批量更新",
"Entire collection": "全表",
"Please select the records to be updated": "请选择要更新的记录"
}
@@ -0,0 +1,6 @@
{
"After successful bulk update": "After successful bulk update",
"Bulk update": "Bulk update",
"Entire collection": "Entire collection",
"Please select the records to be updated": "Please select the records to be updated"
}
@@ -0,0 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" only support \"application/json\", and no need to specify",
"Access control": "Access control",
"Add parameter": "Add parameter",
"Add request header": "Add request header",
"Body": "Body",
"Custom Request": "Custom Request",
"Enter description info": "Enter description info",
"Format": "Format",
"HTTP method": "HTTP method",
"Headers": "Headers",
"If not set, all roles can see this action": "If not set, all roles can see this action",
"Input request data": "Input request data",
"Insert": "Insert",
"Only support standard JSON data": "Only support standard JSON data",
"Parameters": "Parameters",
"Please configure the request settings first": "Please configure the request settings first",
"Request settings": "Request settings",
"Roles": "Roles",
"Timeout config": "Timeout config",
"Title": "Title",
"URL": "URL",
"Use variable": "Use variable",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data",
"ms": "ms"
}
@@ -0,0 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" only support \"application/json\", and no need to specify",
"Access control": "Access control",
"Add parameter": "Add parameter",
"Add request header": "Add request header",
"Body": "Body",
"Custom Request": "Custom Request",
"Enter description info": "Enter description info",
"Format": "Format",
"HTTP method": "HTTP method",
"Headers": "Headers",
"If not set, all roles can see this action": "If not set, all roles can see this action",
"Input request data": "Input request data",
"Insert": "Insert",
"Only support standard JSON data": "Only support standard JSON data",
"Parameters": "Parameters",
"Please configure the request settings first": "Please configure the request settings first",
"Request settings": "Request settings",
"Roles": "Roles",
"Timeout config": "Timeout config",
"Title": "Title",
"URL": "URL",
"Use variable": "Use variable",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data",
"ms": "ms"
}
@@ -0,0 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" only support \"application/json\", and no need to specify",
"Access control": "Access control",
"Add parameter": "Add parameter",
"Add request header": "Add request header",
"Body": "Body",
"Custom Request": "Custom Request",
"Enter description info": "Enter description info",
"Format": "Format",
"HTTP method": "HTTP method",
"Headers": "Headers",
"If not set, all roles can see this action": "If not set, all roles can see this action",
"Input request data": "Input request data",
"Insert": "Insert",
"Only support standard JSON data": "Only support standard JSON data",
"Parameters": "Parameters",
"Please configure the request settings first": "Please configure the request settings first",
"Request settings": "Request settings",
"Roles": "Roles",
"Timeout config": "Timeout config",
"Title": "Title",
"URL": "URL",
"Use variable": "Use variable",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data",
"ms": "ms"
}
@@ -0,0 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" only support \"application/json\", and no need to specify",
"Access control": "Access control",
"Add parameter": "Add parameter",
"Add request header": "Add request header",
"Body": "Body",
"Custom Request": "Custom Request",
"Enter description info": "Enter description info",
"Format": "Format",
"HTTP method": "HTTP method",
"Headers": "Headers",
"If not set, all roles can see this action": "If not set, all roles can see this action",
"Input request data": "Input request data",
"Insert": "Insert",
"Only support standard JSON data": "Only support standard JSON data",
"Parameters": "Parameters",
"Please configure the request settings first": "Please configure the request settings first",
"Request settings": "Request settings",
"Roles": "Roles",
"Timeout config": "Timeout config",
"Title": "Title",
"URL": "URL",
"Use variable": "Use variable",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data",
"ms": "ms"
}
@@ -1,26 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "Content-Type supporta solo \"application/json\", e non è necessario specificarlo",
"Access control": "Controllo accessi",
"Add parameter": "Aggiungi parametro",
"Add request header": "Aggiungi intestazione richiesta",
"Body": "Corpo",
"Custom Request": "Richiesta personalizzata",
"Enter description info": "Inserisci informazioni descrittive",
"Format": "Formato",
"HTTP method": "Metodo HTTP",
"Headers": "Intestazioni",
"If not set, all roles can see this action": "Se non impostato, tutti i ruoli possono vedere questa azione",
"Input request data": "Inserisci dati richiesta",
"Insert": "Inserisci",
"Only support standard JSON data": "Supporta solo dati JSON standard",
"Parameters": "Parametri",
"Please configure the request settings first": "Per favore configura prima le impostazioni della richiesta",
"Request settings": "Impostazioni richiesta",
"Roles": "Ruoli",
"If not set, all roles can see this action": "Se non impostato, tutti i ruoli possono vedere questa azione",
"Title": "Titolo",
"HTTP method": "Metodo HTTP",
"URL": "URL",
"Headers": "Intestazioni",
"Parameters": "Parametri",
"Add request header": "Aggiungi intestazione richiesta",
"Add parameter": "Aggiungi parametro",
"Enter description info": "Inserisci informazioni descrittive",
"Body": "Corpo",
"Use variable": "Usa variabile",
"Format": "Formato",
"Insert": "Inserisci",
"Timeout config": "Configurazione timeout",
"ms": "ms",
"Input request data": "Inserisci dati richiesta",
"Only support standard JSON data": "Supporta solo dati JSON standard",
"\"Content-Type\" only support \"application/json\", and no need to specify": "Content-Type supporta solo \"application/json\", e non è necessario specificarlo",
"Title": "Titolo",
"URL": "URL",
"Use variable": "Usa variabile",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "Quando il metodo HTTP è Post, Put o Patch, e questa richiesta personalizzata è all'interno del modulo, il corpo della richiesta verrà automaticamente riempito con i dati del modulo",
"Please configure the request settings first": "Per favore configura prima le impostazioni della richiesta"
}
"ms": "ms"
}
@@ -1,26 +1,27 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\"ヘッダーは\"application/json\"のみ対応(指定不要)",
"Access control": "アクセス制御",
"Add parameter": "パラメーターを追加",
"Add request header": "リクエストヘッダーを追加",
"Body": "ボディ",
"Content-Type only support \"application/json\", and no need to specify": "Content-Type ヘッダーは \"application/json\" のみ対応し、指定は不要です",
"Custom Request": "カスタムリクエスト",
"Enter description info": "説明情報を入力してください",
"Format": "フォーマット",
"HTTP method": "HTTP メソッド",
"Headers": "ヘッダー",
"If not set, all roles can see this action": "設定しない場合、すべてのロールがこのアクションを確認できます",
"Input request data": "リクエストデータを入力してください",
"Insert": "挿入する",
"Only support standard JSON data": "標準JSONデータのみ対応しています",
"Parameters": "パラメーター",
"Please configure the request settings first": "まずリクエスト設定を構成してください",
"Request settings": "リクエスト設定",
"Roles": "役割",
"If not set, all roles can see this action": "設定しない場合、すべてのロールがこのアクションを確認できます",
"Title": "タイトル",
"HTTP method": "HTTP メソッド",
"URL": "URL",
"Headers": "ヘッダー",
"Parameters": "パラメーター",
"Add request header": "リクエストヘッダーを追加",
"Add parameter": "パラメーターを追加",
"Enter description info": "説明情報を入力してください",
"Body": "ボディ",
"Use variable": "変数を使用する",
"Format": "フォーマット",
"Insert": "挿入する",
"Timeout config": "タイムアウト設定",
"ms": "ミリ秒",
"Input request data": "リクエストデータを入力してください",
"Only support standard JSON data": "標準JSONデータのみ対応しています",
"Content-Type only support \"application/json\", and no need to specify": "Content-Type ヘッダーは \"application/json\" のみ対応し、指定は不要です",
"Title": "タイトル",
"URL": "URL",
"Use variable": "変数を使用する",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "HTTP メソッドが Post、Put、Patch の場合、このカスタムリクエストがフォーム内にあると、リクエストボディが自動的にフォームデータで埋められます",
"Please configure the request settings first": "まずリクエスト設定を構成してください"
"ms": "ミリ秒"
}
@@ -1,26 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\"는 \"application/json\"만 지원하며, 별도로 지정할 필요가 없습니다.",
"Access control": "접근 제어",
"Add parameter": "매개변수 추가",
"Add request header": "요청 헤더 추가",
"Body": "본문",
"Custom Request": "사용자 정의 요청",
"Enter description info": "설명 정보 입력",
"Format": "형식",
"HTTP method": "HTTP 메서드",
"Headers": "헤더",
"If not set, all roles can see this action": "설정하지 않으면 모든 역할이 이 작업을 볼 수 있습니다",
"Input request data": "요청 데이터 입력",
"Insert": "삽입",
"Only support standard JSON data": "표준 JSON 데이터만 지원됩니다",
"Parameters": "매개변수",
"Please configure the request settings first": "먼저 요청 설정을 구성하세요",
"Request settings": "요청 설정",
"Roles": "역할",
"If not set, all roles can see this action": "설정되지 않은 경우 모든 역할이이 작업을 볼 수 있습니다",
"Timeout config": "타임아웃 구성",
"Title": "제목",
"HTTP method": "HTTP 메소드",
"URL": "URL",
"Headers": "헤더",
"Parameters": "파라미터",
"Add request header": "요청 헤더 추가",
"Add parameter": "파라미터 추가",
"Enter description info": "설명 정보 입력",
"Body": "바디",
"Use variable": "변수 사용",
"Format": "형식",
"Insert": "삽입",
"Timeout config": "타임아웃 설정",
"ms": "밀리초",
"Input request data": "요청 데이터 입력",
"Only support standard JSON data": "표준 JSON 데이터만 지원됩니다",
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\"은 \"application/json\"만 지원하며 지정할 필요가 없습니다",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "HTTP 메소드가 Post, Put 또는 Patch이고이 사용자 정의 요청이 양식 내에있는 경우 요청 본문은 자동으로 양식 데이터로 채워집니다",
"Please configure the request settings first": "먼저 요청 설정을 구성하십시오"
}
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "HTTP 메서드가 Post, Put 또는 Patch이고, 이 커스텀 요청이 폼 내부에 있을 때, 요청 본문은 폼 데이터로 자동으로 채워집니다.",
"ms": "밀리초"
}
@@ -1,27 +1,26 @@
{
"Access control": "Toegangscontrole",
"Custom Request": "Aangepaste aanvraag",
"Request settings": "Aanvraaginstellingen",
"Roles": "Rollen",
"If not set, all roles can see this action": "Als niet ingesteld, kunnen alle rollen deze actie zien",
"Title": "Titel",
"HTTP method": "HTTP-methode",
"URL": "URL",
"Headers": "Kopteksten",
"Parameters": "Parameters",
"Add request header": "Voeg aanvraagkop toe",
"Add parameter": "Voeg parameter toe",
"Enter description info": "Voer beschrijvingsinformatie in",
"Body": "Inhoud",
"Use variable": "Gebruik variabele",
"Format": "Formaat",
"Insert": "Invoegen",
"Timeout config": "Time-outconfiguratie",
"ms": "ms",
"Input request data": "Voer aanvraaggegevens in",
"Only support standard JSON data": "Ondersteunt alleen standaard JSON-gegevens",
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" ondersteunt alleen \"application/json\", en hoeft niet te worden gespecificeerd",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "Wanneer de HTTP-methode Post, Put of Patch is, en deze aangepaste aanvraag zich binnen het formulier bevindt, wordt de aanvraaginhoud automatisch ingevuld met de formuliergegevens",
"Please configure the request settings first": "Configureer eerst de aanvraaginstellingen"
}
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" ondersteunt alleen \"application/json\", en hoeft niet te worden gespecificeerd",
"Access control": "Toegangscontrole",
"Add parameter": "Voeg parameter toe",
"Add request header": "Voeg aanvraagkop toe",
"Body": "Inhoud",
"Custom Request": "Aangepaste aanvraag",
"Enter description info": "Voer beschrijvingsinformatie in",
"Format": "Formaat",
"HTTP method": "HTTP-methode",
"Headers": "Kopteksten",
"If not set, all roles can see this action": "Als niet ingesteld, kunnen alle rollen deze actie zien",
"Input request data": "Voer aanvraaggegevens in",
"Insert": "Invoegen",
"Only support standard JSON data": "Ondersteunt alleen standaard JSON-gegevens",
"Parameters": "Parameters",
"Please configure the request settings first": "Configureer eerst de aanvraaginstellingen",
"Request settings": "Aanvraaginstellingen",
"Roles": "Rollen",
"Timeout config": "Time-outconfiguratie",
"Title": "Titel",
"URL": "URL",
"Use variable": "Gebruik variabele",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "Wanneer de HTTP-methode Post, Put of Patch is, en deze aangepaste aanvraag zich binnen het formulier bevindt, wordt de aanvraaginhoud automatisch ingevuld met de formuliergegevens",
"ms": "ms"
}
@@ -0,0 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" only support \"application/json\", and no need to specify",
"Access control": "Access control",
"Add parameter": "Add parameter",
"Add request header": "Add request header",
"Body": "Body",
"Custom Request": "Custom Request",
"Enter description info": "Enter description info",
"Format": "Format",
"HTTP method": "HTTP method",
"Headers": "Headers",
"If not set, all roles can see this action": "If not set, all roles can see this action",
"Input request data": "Input request data",
"Insert": "Insert",
"Only support standard JSON data": "Only support standard JSON data",
"Parameters": "Parameters",
"Please configure the request settings first": "Please configure the request settings first",
"Request settings": "Request settings",
"Roles": "Roles",
"Timeout config": "Timeout config",
"Title": "Title",
"URL": "URL",
"Use variable": "Use variable",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data",
"ms": "ms"
}
@@ -1,4 +1,5 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" поддерживает только \"application/json\", указывать не требуется",
"Access control": "Контроль доступа",
"Add parameter": "Добавить параметр",
"Add request header": "Добавить заголовок запроса",
@@ -6,12 +7,11 @@
"Custom Request": "Пользовательский запрос",
"Enter description info": "Введите описание",
"Format": "Формат",
"Headers": "Заголовки",
"HTTP method": "Метод HTTP",
"Headers": "Заголовки",
"If not set, all roles can see this action": "Если не указано, все роли смогут видеть это действие",
"Input request data": "Ввести данные запроса",
"Insert": "Вставить",
"ms": "мс",
"Only support standard JSON data": "Поддерживаются только стандартные данные JSON",
"Parameters": "Параметры",
"Please configure the request settings first": "Пожалуйста, сначала настройте параметры запроса",
@@ -22,5 +22,5 @@
"URL": "URL",
"Use variable": "Использовать переменную",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "Когда метод HTTP — Post, Put или Patch, и этот пользовательский запрос находится внутри формы, тело запроса автоматически заполняется данными формы",
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" поддерживает только \"application/json\", указывать не требуется"
}
"ms": "мс"
}
@@ -0,0 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" only support \"application/json\", and no need to specify",
"Access control": "Access control",
"Add parameter": "Add parameter",
"Add request header": "Add request header",
"Body": "Body",
"Custom Request": "Custom Request",
"Enter description info": "Enter description info",
"Format": "Format",
"HTTP method": "HTTP method",
"Headers": "Headers",
"If not set, all roles can see this action": "If not set, all roles can see this action",
"Input request data": "Input request data",
"Insert": "Insert",
"Only support standard JSON data": "Only support standard JSON data",
"Parameters": "Parameters",
"Please configure the request settings first": "Please configure the request settings first",
"Request settings": "Request settings",
"Roles": "Roles",
"Timeout config": "Timeout config",
"Title": "Title",
"URL": "URL",
"Use variable": "Use variable",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data",
"ms": "ms"
}
@@ -0,0 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" only support \"application/json\", and no need to specify",
"Access control": "Access control",
"Add parameter": "Add parameter",
"Add request header": "Add request header",
"Body": "Body",
"Custom Request": "Custom Request",
"Enter description info": "Enter description info",
"Format": "Format",
"HTTP method": "HTTP method",
"Headers": "Headers",
"If not set, all roles can see this action": "If not set, all roles can see this action",
"Input request data": "Input request data",
"Insert": "Insert",
"Only support standard JSON data": "Only support standard JSON data",
"Parameters": "Parameters",
"Please configure the request settings first": "Please configure the request settings first",
"Request settings": "Request settings",
"Roles": "Roles",
"Timeout config": "Timeout config",
"Title": "Title",
"URL": "URL",
"Use variable": "Use variable",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data",
"ms": "ms"
}
@@ -1,26 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" 请求头仅支持 \"application/json\",无需填写",
"Access control": "权限控制",
"Add parameter": "添加参数",
"Add request header": "添加请求头",
"Body": "请求体",
"Custom Request": "自定义请求",
"Enter description info": "输入描述信息",
"Format": "格式化",
"HTTP method": "HTTP 方法",
"Headers": "请求头",
"If not set, all roles can see this action": "如果不设置,所有角色都可以看到这个自定义请求",
"Input request data": "输入请求数据",
"Insert": "插入",
"Only support standard JSON data": "仅支持标准 JSON 数据",
"Parameters": "参数",
"Please configure the request settings first": "请先配置请求设置",
"Request settings": "请求设置",
"Roles": "角色",
"If not set, all roles can see this action": "如果不设置,所有角色都可以看到这个自定义请求",
"Title": "标题",
"HTTP method": "HTTP 方法",
"URL": "URL",
"Headers": "请求头",
"Parameters": "参数",
"Add request header": "添加请求头",
"Add parameter": "添加参数",
"Enter description info": "输入描述信息",
"Body": "请求体",
"Use variable": "使用变量",
"Format": "格式化",
"Insert": "插入",
"Timeout config": "超时设置",
"ms": "毫秒",
"Input request data": "输入请求数据",
"Only support standard JSON data": "仅支持标准 JSON 数据",
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" 请求头仅支持 \"application/json\",无需填写",
"Title": "标题",
"URL": "URL",
"Use variable": "使用变量",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "当请求方法为 Post、Put 或 Patch 时,且此自定义请求在表单内,请求体将自动填充表单数据",
"Please configure the request settings first": "请先配置请求设置"
}
"ms": "毫秒"
}
@@ -0,0 +1,26 @@
{
"\"Content-Type\" only support \"application/json\", and no need to specify": "\"Content-Type\" only support \"application/json\", and no need to specify",
"Access control": "Access control",
"Add parameter": "Add parameter",
"Add request header": "Add request header",
"Body": "Body",
"Custom Request": "Custom Request",
"Enter description info": "Enter description info",
"Format": "Format",
"HTTP method": "HTTP method",
"Headers": "Headers",
"If not set, all roles can see this action": "If not set, all roles can see this action",
"Input request data": "Input request data",
"Insert": "Insert",
"Only support standard JSON data": "Only support standard JSON data",
"Parameters": "Parameters",
"Please configure the request settings first": "Please configure the request settings first",
"Request settings": "Request settings",
"Roles": "Roles",
"Timeout config": "Timeout config",
"Title": "Title",
"URL": "URL",
"Use variable": "Use variable",
"When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data": "When the HTTP method is Post, Put or Patch, and this custom request inside the form, the request body will be automatically filled in with the form data",
"ms": "ms"
}
@@ -1,7 +1,7 @@
{
"Export warning": "Sie können bis zu {{limit}} Datenzeilen auf einmal exportieren, alles darüber hinaus wird ignoriert.",
"False": "Falsch",
"Start export": "Export starten",
"another export action is running, please try again later.": "Ein anderer Exportvorgang läuft, bitte versuchen Sie es später erneut.",
"True": "Wahr",
"False": "Falsch"
}
"another export action is running, please try again later.": "Ein anderer Exportvorgang läuft, bitte versuchen Sie es später erneut."
}
@@ -1,6 +1,7 @@
{
"Export warning": "You can export up to {{limit}} rows of data at a time, any excess will be ignored.",
"False": "False",
"Start export": "Start export",
"True": "True",
"False": "False"
}
"another export action is running, please try again later.": "another export action is running, please try again later."
}
@@ -0,0 +1,7 @@
{
"Export warning": "You can export up to {{limit}} rows of data at a time, any excess will be ignored.",
"False": "False",
"Start export": "Start export",
"True": "True",
"another export action is running, please try again later.": "another export action is running, please try again later."
}
@@ -0,0 +1,7 @@
{
"Export warning": "You can export up to {{limit}} rows of data at a time, any excess will be ignored.",
"False": "False",
"Start export": "Start export",
"True": "True",
"another export action is running, please try again later.": "another export action is running, please try again later."
}
@@ -1,7 +1,7 @@
{
"Export warning": "Puoi esportare fino a {{limit}} colonne di dati alla volta, qualsiasi eccedenza sarà ignorata.",
"False": "Falso",
"Start export": "Avvia esportazione",
"another export action is running, please try again later.": "È in esecuzione un'altra attività di esportazione. Riprova più tardi.",
"True": "Vero",
"False": "Falso"
}
"another export action is running, please try again later.": "È in esecuzione un'altra attività di esportazione. Riprova più tardi."
}
@@ -1,5 +1,7 @@
{
"Export warning": "システム変数の扱いに問題なし。",
"False": "否",
"Start export": "エクスポートを開始",
"True": "是",
"another export action is running, please try again later.": "別のエクスポート処理が実行中です。後でもう一度お試しください。"
}
@@ -0,0 +1,7 @@
{
"Export warning": "내보내기 경고",
"False": "거짓",
"Start export": "내보내기 시작",
"True": "참",
"another export action is running, please try again later.": "another export action is running, please try again later."
}
@@ -1,7 +1,7 @@
{
"Export warning": "Je kunt maximaal {{limit}} rijen gegevens tegelijk exporteren, eventuele overschrijdingen worden genegeerd.",
"Start export": "Start exporteren",
"another export action is running, please try again later.": "Er is al een andere exportactie bezig, probeer het later opnieuw.",
"True": "Waar",
"False": "Onwaar"
"Export warning": "Je kunt maximaal {{limit}} rijen gegevens tegelijk exporteren, eventuele overschrijdingen worden genegeerd.",
"False": "Onwaar",
"Start export": "Start exporteren",
"True": "Waar",
"another export action is running, please try again later.": "Er is al een andere exportactie bezig, probeer het later opnieuw."
}
@@ -0,0 +1,7 @@
{
"Export warning": "You can export up to {{limit}} rows of data at a time, any excess will be ignored.",
"False": "False",
"Start export": "Start export",
"True": "True",
"another export action is running, please try again later.": "another export action is running, please try again later."
}
@@ -1,7 +1,8 @@
{
"Another export action is running, please try again later.": "Действие экспорта уже выполняется, попробуйте позже.",
"Export warning": "Вы можете экспортировать до {{limit}} строк данных за раз, излишки будут проигнорированы.",
"False": "False",
"Start export": "Начать экспорт",
"True": "True",
"False": "False",
"Another export action is running, please try again later.": "Действие экспорта уже выполняется, попробуйте позже."
}
"another export action is running, please try again later.": "another export action is running, please try again later."
}
@@ -0,0 +1,7 @@
{
"Export warning": "You can export up to {{limit}} rows of data at a time, any excess will be ignored.",
"False": "False",
"Start export": "Start export",
"True": "True",
"another export action is running, please try again later.": "another export action is running, please try again later."
}
@@ -0,0 +1,7 @@
{
"Export warning": "You can export up to {{limit}} rows of data at a time, any excess will be ignored.",
"False": "False",
"Start export": "Start export",
"True": "True",
"another export action is running, please try again later.": "another export action is running, please try again later."
}
@@ -1,7 +1,7 @@
{
"Export warning": "每次最多导出记录 {{limit}} 行数据,超出的将被忽略。",
"False": "否",
"Start export": "开始导出记录",
"another export action is running, please try again later.": "另一导出记录任务正在运行,请稍后重试。",
"True": "是",
"False": "否"
}
"another export action is running, please try again later.": "另一导出记录任务正在运行,请稍后重试。"
}

Some files were not shown because too many files have changed in this diff Show More