Merge branch 'main' into build-packages

This commit is contained in:
rijkvanzanten
2020-12-16 16:28:14 -05:00
108 changed files with 4218 additions and 786 deletions

30
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,30 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
<!--
Hi, thank you for taking the time to create an issue.
Can you please provide:
1) The issue and what you expected to happen
The _ _ does _ _ when _ _ while it should _ _
2) Exact steps to reproduce this issue
Click this, tap that, see error _ _
3) Your environment:
Which DBMS are you using (MySQL 8, Postgres 12, ...).
Which deployment are you using (npx, Docker, ...).
What browser are you using (Chrome 87, Safari 14, ...).
4) Any other relevant information we might need to reproduce this issue
A SQL dump of the setup.
What third party services you rely on (S3, managed database, ...).
-->

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Feature Request
url: https://github.com/directus/directus/discussions/new
about: Share your ideas on how to make Directus better.
- name: Directus Community Support
url: https://directus.chat/
about: Please ask and answer questions here.

View File

@@ -1,28 +1,56 @@
<img width="250" alt="Logo" src="https://user-images.githubusercontent.com/9141017/88821768-0dc99800-d191-11ea-8c66-09c55ab451a2.png">
<p>&nbsp;</p>
## 🐰 Introduction
<a href="https://directus.io" target="_blank" rel="noopener noreferrer"><img width="250" alt="Logo" src="https://user-images.githubusercontent.com/9141017/88821768-0dc99800-d191-11ea-8c66-09c55ab451a2.png"></a>
Welcome to the preview release of the next major version of Directus.
<p>&nbsp;</p>
## ⚙️ Installation
## Introduction
_Directus requires NodeJS 10+_
**Directus is a free and open-source data platform for headless content management**. It can be installed on top of any
new or existing SQL database, instantly providing a dynamic API (REST+GraphQL) and accompanying App for managing
content. Built entirely in TypeScript (in Node and Vue), Directus is completely modular and end-to-end extensible...
with absolutely no paywalls or artificial limitations.
We've created a little CLI tool you can use to quickly start up a Directus project. You can use it by running:
Modern and intuitive, the Directus App enables no-code data discovery, allowing for even the most non-technical users to
view, author, and manage your raw database content. Our performant and flexible API is able to adapt to any relational
schema, and includes rule-based permissions, event/web hooks, custom endpoints, numerous auth options, configurable
storage adapters, and much more.
Current database support includes: PostgreSQL, MySQL, SQLite, MS-SQL Server, OracleDB, MariaDB, and varients such as AWS
Aurora/Redshift or Google Cloud Platform SQL.
Learn more at...
- [Website](https://directus.io/)
- [GitHub](https://github.com/directus/directus)
- [Community](https://directus.chat/)
- [Twitter](https://twitter.com/directus)
- [Docs](https://docs.directus.io/)
- [Marketplace](https://directus.market/)
- [Cloud](http://directus.cloud/)
<p>&nbsp;</p>
## Installing
Directus requires NodeJS 10+. Create a new project with our simple CLI tool:
```
npx create-directus-project my-project
```
or using yarn:
Or using yarn:
```
yarn create directus-project my-project
```
on the command line. This will create the given directory, setup the configuration, and install the database.
The above command will create a directory with your project name, then walk you through the database configuration and
creation of your first admin user.
## ✨ Updating
<p>&nbsp;</p>
## Updating
To update an existing Directus project, navigate to your project directory and run:
@@ -30,19 +58,31 @@ To update an existing Directus project, navigate to your project directory and r
npm update
```
## 🔧 Contributing
<p>&nbsp;</p>
Please report any and all quirks / issues you come across as [an issue](https://github.com/directus/directus/issues/new).
## Contributing
Pull requests are more than welcome and always appreciated. Seeing this is in active development, please make sure to reach out a member of the core team in an issue or [on Discord](http://discord.gg/directus) before you start working on a feature or bug to ensure you don't work on the same thing as somebody else :)
Please report any and all issues [on our GitHub](https://github.com/directus/directus/issues/new).
## ❤️ Supporting Directus
Pull-requests are more than welcome, and always appreciated. Please read our
[Contributors Guide](https://docs.directus.io/getting-started/contributing.html) before starting work on a new feature
or bug, or reach out a member of the Core Team via [GitHub](https://github.com/directus/directus/discussions) or
[Discord](https://directus.chat) with any questions.
Directus is a GPLv3-licensed open source project with development made possible by support from our core team, contributors, and sponsors. It's not easy building premium open-source software; if you would like to help ensure Directus stays free, please consider becoming a sponsor.
<p>&nbsp;</p>
- [Support us through GitHub Sponsors](https://github.com/sponsors/directus)
- [One-time donation through PayPal](https://www.paypal.me/supportdirectus)
## Supporting
## 📄 License
Directus is a free and open-source project with development made possible by support from our passionate core team,
amazing contributors, and generous sponsors. It's not easy building premium open-source software; if you would like to
help ensure Directus stays free, please consider becoming a sponsor.
Directus is released under [the GPLv3 license](./license). Monospace Inc. owns all Directus trademarks and logos on behalf of our project's community. Copyright © 2006-2020, Monospace Inc.
- [Support us through GitHub Sponsors](https://github.com/sponsors/directus)
- [One-time donation through PayPal](https://www.paypal.me/supportdirectus)
<p>&nbsp;</p>
## License
Directus is released under the [GPLv3 license](./license). Monospace Inc owns all Directus trademarks, logos, and
intellectual property on behalf of our project's community. Copyright © 2004-2020, Monospace Inc.

View File

@@ -53,6 +53,9 @@ CACHE_ENABLED=true
CACHE_TTL="30m"
CACHE_NAMESPACE="directus-cache"
CACHE_STORE=memory # memory | redis | memcache
CACHE_AUTO_PURGE=true
ASSETS_CACHE_TTL="30m"
# CACHE_REDIS="redis://:authpassword@127.0.0.1:6380/4"
# --OR--

View File

@@ -1,6 +1,6 @@
{
"name": "directus",
"version": "9.0.0-rc.22",
"version": "9.0.0-rc.23",
"license": "GPL-3.0-only",
"homepage": "https://github.com/directus/directus#readme",
"description": "Directus is a real-time API and App dashboard for managing SQL database content.",

View File

@@ -15,9 +15,10 @@ export default async function migrate(direction: 'latest' | 'up' | 'down') {
} else {
console.log('✨ Database up to date');
}
database.destroy();
process.exit();
} catch (err) {
console.log(err);
} finally {
database.destroy();
process.exit(1);
}

View File

@@ -9,6 +9,8 @@ import { Transformation } from '../types/assets';
import storage from '../storage';
import { PayloadService, AssetsService } from '../services';
import useCollection from '../middleware/use-collection';
import env from '../env';
import ms from 'ms';
const router = Router();
@@ -111,6 +113,8 @@ router.get(
res.removeHeader('Content-Disposition');
}
const access = !!req.accountability?.role ? 'private' : 'public';
res.setHeader('Cache-Control', `${access}, max-age="${ms(env.ASSETS_CACHE_TTL as string)}"`);
stream.pipe(res);
})
);

View File

@@ -33,6 +33,8 @@ const defaults: Record<string, any> = {
CACHE_STORE: 'memory',
CACHE_TTL: '30m',
CACHE_NAMESPACE: 'system-cache',
CACHE_AUTO_PURGE: false,
ASSETS_CACHE_TTL: '30m',
OAUTH_PROVIDERS: '',

View File

@@ -14,7 +14,7 @@ const liquidEngine = new Liquid({
extname: '.liquid',
});
let transporter: Transporter;
let transporter: Transporter | null = null;
if (env.EMAIL_TRANSPORT === 'sendmail') {
transporter = nodemailer.createTransport({
@@ -24,15 +24,28 @@ if (env.EMAIL_TRANSPORT === 'sendmail') {
});
} else if (env.EMAIL_TRANSPORT.toLowerCase() === 'smtp') {
transporter = nodemailer.createTransport({
pool: env.EMAIL_SMTP_POOL === 'true',
pool: env.EMAIL_SMTP_POOL,
host: env.EMAIL_SMTP_HOST,
port: Number(env.EMAIL_SMTP_PORT),
secure: env.EMAIL_SMTP_SECURE === 'true',
port: env.EMAIL_SMTP_PORT,
secure: env.EMAIL_SMTP_SECURE,
auth: {
user: env.EMAIL_SMTP_USER,
pass: env.EMAIL_SMTP_PASSWORD,
},
} as any);
} else {
logger.warn('Illegal transport given for email. Check the EMAIL_TRANSPORT env var.');
}
if (transporter) {
transporter.verify((error) => {
if (error) {
logger.warn(`Couldn't connect to email server.`);
logger.warn(`Email verification error: ${error}`);
} else {
logger.info(`Email connection established`);
}
});
}
export type EmailOptions = {
@@ -72,6 +85,8 @@ async function getDefaultTemplateOptions() {
}
export default async function sendMail(options: EmailOptions) {
if (!transporter) return;
const templateString = await readFile(path.join(__dirname, 'templates/base.liquid'), 'utf8');
const html = await liquidEngine.parseAndRender(templateString, { html: options.html });
@@ -86,6 +101,8 @@ export default async function sendMail(options: EmailOptions) {
}
export async function sendInviteMail(email: string, url: string) {
if (!transporter) return;
const defaultOptions = await getDefaultTemplateOptions();
const html = await liquidEngine.renderFile('user-invitation', {
@@ -103,6 +120,8 @@ export async function sendInviteMail(email: string, url: string) {
}
export async function sendPasswordResetMail(email: string, url: string) {
if (!transporter) return;
const defaultOptions = await getDefaultTemplateOptions();
const html = await liquidEngine.renderFile('password-reset', {

View File

@@ -14,6 +14,14 @@ const checkCacheMiddleware: RequestHandler = asyncHandler(async (req, res, next)
const cachedData = await cache.get(key);
if (cachedData) {
// Set cache-control header
if (env.CACHE_AUTO_PURGE !== true) {
const expiresAt = await cache.get(`${key}__expires_at`);
const maxAge = `max-age="${expiresAt - Date.now()}"`;
const access = !!req.accountability?.role === false ? 'public' : 'private';
res.setHeader('Cache-Control', `${access}, ${maxAge}`);
}
return res.json(cachedData);
} else {
return next();

View File

@@ -5,11 +5,20 @@ import { getCacheKey } from '../utils/get-cache-key';
import cache from '../cache';
import { Transform, transforms } from 'json2csv';
import { PassThrough } from 'stream';
import ms from 'ms';
export const respond: RequestHandler = asyncHandler(async (req, res) => {
if (req.method.toLowerCase() === 'get' && env.CACHE_ENABLED === true && cache && !req.sanitizedQuery.export) {
const key = getCacheKey(req);
await cache.set(key, res.locals.payload);
await cache.set(key, res.locals.payload, ms(env.CACHE_TTL as string));
await cache.set(`${key}__expires_at`, Date.now() + ms(env.CACHE_TTL as string));
// Set cache-control header
if (env.CACHE_AUTO_PURGE !== true) {
const maxAge = `max-age="${ms(env.CACHE_TTL as string)}"`;
const access = !!req.accountability?.role === false ? 'public' : 'private';
res.setHeader('Cache-Control', `${access}, ${maxAge}`);
}
}
if (req.sanitizedQuery.export) {

View File

@@ -7,6 +7,7 @@ import { ItemsService } from '../services/items';
import cache from '../cache';
import { toArray } from '../utils/to-array';
import { systemCollectionRows } from '../database/system-data/collections';
import env from '../env';
export class CollectionsService {
knex: Knex;
@@ -93,7 +94,7 @@ export class CollectionsService {
}
});
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
@@ -245,7 +246,7 @@ export class CollectionsService {
await collectionItemsService.update(collectionUpdates);
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
@@ -316,7 +317,7 @@ export class CollectionsService {
await this.knex.schema.dropTable(collectionKey);
}
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}

View File

@@ -12,6 +12,7 @@ import getDefaultValue from '../utils/get-default-value';
import cache from '../cache';
import SchemaInspector from '@directus/schema';
import { toArray } from '../utils/to-array';
import env from '../env';
import { systemFieldRows } from '../database/system-data/fields/';
@@ -227,13 +228,11 @@ export class FieldsService {
});
}
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
}
/** @todo research how to make this happen in SQLite / Redshift */
async updateField(collection: string, field: RawField) {
if (this.accountability && this.accountability.admin !== true) {
throw new ForbiddenException('Only admins can perform this action');
@@ -241,36 +240,8 @@ export class FieldsService {
if (field.schema) {
await this.knex.schema.alterTable(collection, (table) => {
let column: ColumnBuilder;
if (!field.schema) return;
if (field.type === 'string') {
column = table.string(field.field, field.schema.max_length !== null ? field.schema.max_length : undefined);
} else if (['float', 'decimal'].includes(field.type)) {
const type = field.type as 'float' | 'decimal';
column = table[type](field.field, field.schema?.numeric_precision || 10, field.schema?.numeric_scale || 5);
} else if (field.type === 'csv') {
column = table.string(field.field);
} else {
column = table[field.type](field.field);
}
if (field.schema.default_value !== undefined) {
if (typeof field.schema.default_value === 'string' && field.schema.default_value.toLowerCase() === 'now()') {
column.defaultTo(this.knex.fn.now());
} else {
column.defaultTo(field.schema.default_value);
}
}
if (field.schema.is_nullable !== undefined && field.schema.is_nullable === false) {
column.notNullable();
} else {
column.nullable();
}
column.alter();
this.addColumnToTable(table, field, true);
});
}
@@ -299,7 +270,7 @@ export class FieldsService {
}
}
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
@@ -341,35 +312,38 @@ export class FieldsService {
}
}
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
}
public addColumnToTable(table: CreateTableBuilder, field: Field) {
public addColumnToTable(table: CreateTableBuilder, field: RawField | Field, alter: boolean = false) {
if (!field.schema) return;
let column: ColumnBuilder;
if (field.schema?.has_auto_increment) {
column = table.increments(field.field);
} else if (field.type === 'string') {
column = table.string(field.field, field.schema?.max_length || undefined);
column = table.string(field.field, field.schema.max_length !== null ? field.schema.max_length : undefined);
} else if (['float', 'decimal'].includes(field.type)) {
const type = field.type as 'float' | 'decimal';
/** @todo add precision and scale support */
column = table[type](field.field /* precision, scale */);
column = table[type](field.field, field.schema?.numeric_precision || 10, field.schema?.numeric_scale || 5);
} else if (field.type === 'csv') {
column = table.string(field.field);
} else if (field.type === 'dateTime') {
column = table.dateTime(field.field, { useTz: false });
} else {
column = table[field.type](field.field);
}
if (field.schema?.default_value) {
column.defaultTo(field.schema.default_value);
if (field.schema.default_value !== undefined) {
if (typeof field.schema.default_value === 'string' && field.schema.default_value.toLowerCase() === 'now()') {
column.defaultTo(this.knex.fn.now());
} else {
column.defaultTo(field.schema.default_value);
}
}
if (field.schema?.is_nullable !== undefined && field.schema.is_nullable === false) {
if (field.schema.is_nullable !== undefined && field.schema.is_nullable === false) {
column.notNullable();
} else {
column.nullable();
@@ -378,5 +352,9 @@ export class FieldsService {
if (field.schema?.is_primary_key) {
column.primary();
}
if (alter) {
column.alter();
}
}
}

View File

@@ -11,6 +11,7 @@ import { ForbiddenException } from '../exceptions';
import { toArray } from '../utils/to-array';
import { extension } from 'mime-types';
import path from 'path';
import env from '../env';
export class FilesService extends ItemsService {
constructor(options: AbstractServiceOptions) {
@@ -86,7 +87,7 @@ export class FilesService extends ItemsService {
});
await sudoService.update(payload, primaryKey);
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
@@ -116,7 +117,7 @@ export class FilesService extends ItemsService {
await super.delete(keys);
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}

View File

@@ -17,6 +17,7 @@ import cache from '../cache';
import emitter from '../emitter';
import logger from '../logger';
import { toArray } from '../utils/to-array';
import env from '../env';
import { PayloadService } from './payload';
import { AuthorizationService } from './authorization';
@@ -154,7 +155,7 @@ export class ItemsService<Item extends AnyItem = AnyItem> implements AbstractSer
await trx.insert(revisionRecords).into('directus_revisions');
}
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
@@ -349,7 +350,7 @@ export class ItemsService<Item extends AnyItem = AnyItem> implements AbstractSer
}
});
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
@@ -486,7 +487,7 @@ export class ItemsService<Item extends AnyItem = AnyItem> implements AbstractSer
}
});
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}

View File

@@ -46,7 +46,7 @@ export class UsersService extends ItemsService {
}
}
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
@@ -110,7 +110,7 @@ export class UsersService extends ItemsService {
await this.knex('directus_users').update({ password: passwordHashed, status: 'active' }).where({ id: user.id });
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
}
@@ -144,7 +144,7 @@ export class UsersService extends ItemsService {
await this.knex('directus_users').update({ password: passwordHashed, status: 'active' }).where({ id: user.id });
if (cache) {
if (cache && env.CACHE_AUTO_PURGE) {
await cache.clear();
}
}

View File

@@ -64,7 +64,7 @@ export default function generateJoi(filter: Filter | null): AnySchema {
if (!schema) schema = {};
const operator = Object.keys(value)[0];
const val = Object.keys(value)[1];
const val = Object.values(value)[0];
schema[key] = getJoi(operator, val);
}

View File

@@ -1,6 +1,6 @@
{
"name": "@directus/app",
"version": "9.0.0-rc.22",
"version": "9.0.0-rc.23",
"private": false,
"description": "Directus is an Open-Source Headless CMS & API for Managing Custom Databases",
"author": "Rijk van Zanten <rijk@rngr.org>",

View File

@@ -6,6 +6,11 @@ import getRootPath from '@/utils/get-root-path';
const api = axios.create({
baseURL: getRootPath(),
withCredentials: true,
headers: {
'Cache-Control': 'no-cache',
Pragma: 'no-cache',
Expires: '0',
},
});
interface RequestConfig extends AxiosRequestConfig {

View File

@@ -5,7 +5,7 @@ export default defineDisplay(({ i18n }) => ({
id: 'labels',
name: i18n.t('displays.labels.labels'),
description: i18n.t('displays.labels.description'),
types: ['string', 'json'],
types: ['string', 'json', 'csv'],
icon: 'flag',
handler: DisplayLabels,
options: [

View File

@@ -112,5 +112,5 @@ export default defineInterface(({ i18n }) => ({
},
},
],
recommendedDisplays: ['tags'],
recommendedDisplays: ['labels'],
}));

View File

@@ -101,5 +101,5 @@ export default defineInterface(({ i18n }) => ({
},
},
],
recommendedDisplays: ['tags'],
recommendedDisplays: ['labels'],
}));

View File

@@ -25,7 +25,7 @@
/>
</template>
<template #item-append="{ item }" v-if="!disabled">
<template #item-append="{ item }" v-show="!disabled">
<v-icon name="close" v-tooltip="$t('deselect')" class="deselect" @click.stop="deleteItem(item)" />
</template>
</v-table>
@@ -117,10 +117,7 @@ export default defineComponent({
setup(props, { emit }) {
const { collection, field, value, primaryKey, sortField } = toRefs(props);
const { junction, junctionCollection, relation, relationCollection, relationInfo } = useRelation(
collection,
field
);
const { junction, junctionCollection, relation, relationCollection, relationInfo } = useRelation(collection, field);
function emitter(newVal: any[] | null) {
emit('input', newVal);
@@ -180,12 +177,7 @@ export default defineComponent({
relatedPrimaryKey,
} = useEdit(value, relationInfo, emitter);
const { stageSelection, selectModalActive, selectionFilters } = useSelection(
value,
items,
relationInfo,
emitter
);
const { stageSelection, selectModalActive, selectionFilters } = useSelection(value, items, relationInfo, emitter);
const { showUpload, onUpload } = useUpload();

View File

@@ -30,7 +30,7 @@
/>
</template>
<template #item-append="{ item }" v-if="!disabled">
<template #item-append="{ item }" v-show="!disabled">
<v-icon name="close" v-tooltip="$t('deselect')" class="deselect" @click.stop="deleteItem(item)" />
</template>
</v-table>
@@ -118,10 +118,7 @@ export default defineComponent({
emit('input', newVal);
}
const { junction, junctionCollection, relation, relationCollection, relationInfo } = useRelation(
collection,
field
);
const { junction, junctionCollection, relation, relationCollection, relationInfo } = useRelation(collection, field);
const {
deleteItem,
@@ -154,12 +151,7 @@ export default defineComponent({
editModalActive,
} = useEdit(value, relationInfo, emitter);
const { stageSelection, selectModalActive, selectionFilters } = useSelection(
value,
items,
relationInfo,
emitter
);
const { stageSelection, selectModalActive, selectionFilters } = useSelection(value, items, relationInfo, emitter);
const { sort, sortItems, sortedItems } = useSort(sortField, fields, items, emitter);

View File

@@ -30,7 +30,7 @@
/>
</template>
<template #item-append="{ item }" v-if="!disabled">
<template #item-append="{ item }" v-show="!disabled">
<v-icon name="close" v-tooltip="$t('deselect')" class="deselect" @click.stop="deleteItem(item)" />
</template>
</v-table>
@@ -277,8 +277,7 @@ export default defineComponent({
fields.push(pkField);
}
if (props.sortField !== null && fields.includes(props.sortField) === false)
fields.push(props.sortField);
if (props.sortField !== null && fields.includes(props.sortField) === false) fields.push(props.sortField);
try {
const endpoint = relatedCollection.value.collection.startsWith('directus_')
@@ -389,12 +388,7 @@ export default defineComponent({
const hasPrimaryKey = pkField in edits;
const newValue = (props.value || []).map((item) => {
if (
typeof item === 'object' &&
pkField in item &&
pkField in edits &&
item[pkField] === edits[pkField]
) {
if (typeof item === 'object' && pkField in item && pkField in edits && item[pkField] === edits[pkField]) {
return edits;
}
@@ -431,9 +425,7 @@ export default defineComponent({
const pkField = relatedPrimaryKeyField.value.field;
return items.value
.filter((currentItem) => pkField in currentItem)
.map((currentItem) => currentItem[pkField]);
return items.value.filter((currentItem) => pkField in currentItem).map((currentItem) => currentItem[pkField]);
});
const selectionFilters = computed<Filter[]>(() => {

View File

@@ -113,5 +113,5 @@ export default defineInterface(({ i18n }) => ({
},
},
],
recommendedDisplays: ['tags'],
recommendedDisplays: ['labels'],
}));

View File

@@ -12,6 +12,20 @@ en-US:
minute: numeric
hour12: true
bg-BG:
short:
year: numeric
month: numeric
day: numeric
long:
year: numeric
month: short
day: numeric
weekday: short
hour: numeric
minute: numeric
hour12: false
cs-CZ:
short:
year: numeric

View File

@@ -1,5 +1,10 @@
---
edit_field: تعديل الحقل
half_width: نصف العرض
full_width: العرض الكامل
fill_width: العرض الكامل
enter_password_to_enable_tfa: أدخل كلمة المرور الخاصة بك لتمكين المصادقة الثنائية
add_field: إضافة حقل
required: مطلوب
create_role: إنشاء دور أو صلاحية
delete_bookmark: حذف إشارة مرجعية

View File

@@ -4,7 +4,7 @@ item_revision: Ревизии на обект
duplicate_field: Дублиране на поле
half_width: Половин ширина
full_width: Пълна ширина
fill_width: Изпълване
fill_width: Изпълване по ширина
field_name_translations: Превод на имената на полетата
enter_password_to_enable_tfa: Въвеждане на парола за активиране на двуфакторната автентикация
add_field: Добавяне на поле
@@ -12,7 +12,7 @@ role_name: Име на роля
db_only_click_to_configure: 'Само в базата данни: Кликнете за конфигурация '
show_archived_items: Показване на архивираните обекти
required: Задължително
requires_value: Изисквана стойност
requires_value: Изисква стойност
create_preset: Създаване на шаблон
create_role: Създаване на роля
create_user: Създаване на потребител
@@ -30,10 +30,15 @@ delete_folder: Изтриване на папка
reset_bookmark: Нулиране на отметки
rename_bookmark: Преименуване на отметка
update_bookmark: Обновяване на отметка
delete_bookmark: Изтрий отметка
delete_bookmark: Изтриване на отметка
delete_bookmark_copy: >-
Сигурни ли сте, че искате да изтриете "{bookmark}" отметката? Това действие не може да бъде отменено.
logoutReason:
SIGN_OUT: Отписан
SESSION_EXPIRED: Сесията е изтекла
public: Обществен
public_description: Контрол върху това, каква част от данните в API-то ще бъде видима без нужда от оторизиране.
not_allowed: Не е позволено
directus_version: Версия на Directus
node_version: Версия на Node
node_uptime: Ъптайм на Node
@@ -42,26 +47,61 @@ os_version: Версия на ОС
os_uptime: Ъптайм на ОС
os_totalmem: Памет на ОС
archive: Архивиране
archive_confirm: Сигурни ли сте, че искате да изтриете обекта?
archive_confirm: Сигурни ли сте, че искате да изтриете този обект?
archive_confirm_count: >-
Няма избрани обекти | Сигурни ли сте, че искате да архивирате този обект? | Сигурни ли сте, че искате да архивирате тези {count} обекта?
reset_system_permissions: Нулиране на системните позволения
reset_system_permissions_copy: Нулиране на всички системни позволения към техните първоначални стойности
unarchive: Разархивиране
unarchive_confirm: Сигурни ли сте, че искате да разархивирате този обект?
nested_files_folders_will_be_moved: Вложените файлове и папки ще бъдат преместени една папка по-нагоре.
unknown_validation_errors: 'Има грешки при валидацията на следните скрити полета:'
validationError:
eq: Стойността трябва да е {valid}
neq: Стойността не трябва да е {invalid}
in: Стойността трябва да е някоя от {valid}
nin: Стойността не трябва да е някоя от {invalid}
contains: Стойността трябва да съдържа {substring}
ncontains: Стойността не може да съдържа {substring}
gt: Стойността трябва да е по-голяма от {valid}
gte: Стойността трябва да е по-голяма или равна на {valid}
lt: Стойността трябва да е по-малка от {valid}
lte: Стойността трябва да е по-малка или равна на {valid}
empty: Стойността трябва да е празна
nempty: Стойността не може да е празна
null: Стойността трябва да е null
nnull: Стойността не трябва да е null
required: Изисква се стойност
all_access: Пълен достъп
no_access: Без достъп
use_custom: Персонализирани
field_standard: Стандартно,
field_presentation: Презентационни и псевдоними,
field_file: Единичен файл,
field_files: Множество файлове,
field_m2o: M2O релация,
field_o2m: O2M релация,
field_m2m: M2M релация,
field_translations: Преводи,
item_permissions: Позволения за обект
permissions_for_role: 'Обекти които {role} ролята може да {action}.'
field_permissions: Позволения за поле
field_validation: Валидация на поле
field_presets: Готови настройки за поле
permissions_for_role: 'Обекти които "{role}" ролята може да {action}.'
fields_for_role: 'Полета, които "{role}" ролята може да {action}.'
validation_for_role: 'Правила за {action} на полетo, които "{role}" ролята трябва да спазва.'
presets_for_role: 'Стойност за полето по подразбиране за "{role}" ролята.'
presentation_and_aliases: Презентационни и псевдоними
hide_field_on_detail: Скриване в детайлния изглед
revision_post_update: Ето как изглежда обекта след направените промени...
changes_made: Направените промени са следните...
no_relational_data: Имайте в предвид, че това не съдържа данните от свързаните обекти.
hide_field_on_detail: Скриване в детайлен изглед
show_field_on_detail: Показване в детайлния изглед
delete_field: Изтриване на поле
fields_and_layout: Полета и подредба
fields_and_layout: Полета и оформление
field_create_success: 'Създадено поле: "{field}"'
field_update_success: 'Обновено поле: "{field}"'
duplicate_where_to: Къде искате да дублирате полето?
language: Език
global: Глобални
admins_have_all_permissions: Администраторите имат всички позволения
@@ -77,17 +117,36 @@ creating_new_field: 'Ново поле ({collection})'
updating_field_field: '{field} ({collection})'
reset_page_preferences: Нулиране на предпочитанията за страницата
hidden_field: Скрито поле
hidden_on_detail: Скрити в детайлен изглед
disabled_editing_value: Изключване на промяната на стойностите
hidden_on_detail: Скриване в детайлния изглед
disabled_editing_value: Без промени по стойността
key: Ключ
alias: Псевдоним
bigInteger: Голямо цяло число
boolean: Булев
date: Дата
datetime: Дата и час
decimal: Десетичен
float: Реално число
integer: Цяло число
json: JSON
string: Низ
text: Текст
time: Час
timestamp: Времеви печат
uuid: UUID
not_available_for_type: Не е налично за този тип
create_translations: Създаване на преводи
auto_generate: Автоматично генерирано
this_will_auto_setup_fields_relations: Автоматично настройване на задължителните полета и релации.
click_here: Натиснете тук
to_manually_setup_translations: за ръчна настройка на преводи.
click_to_manage_translated_fields: >-
Все още няма преведени полета. Натиснете тук за да ги създадете. | Има едно преведено поле. Натиснете тук за да го управлявате. | Има {count} преведени полета. Натиснете тук за да ги управлявате.
fields_group: Групи от полета
configure_m2o: Конфигуриране на връзка тип много към едно (M2O) ...
configure_o2m: Конфигуриране на връзка тип едно към много (О2М) ...
configure_m2m: Конфигуриране на връзка тип много към много (M2M) ...
configure_m2a: Конфигуриране на връзка тип много към някое (M2A) ...
add_m2o_to_collection: 'Добавяне на "много към едо" към "{collection}"'
add_o2m_to_collection: 'Добавяне на "едно към много" към "{collection}"'
add_m2m_to_collection: 'Добавяне на "много към много" към "{collection}"'
@@ -95,15 +154,15 @@ choose_a_type: Избиранена тип...
determined_by_relationship: Определен от типа връзка
add_note: Добави полезна забележка за потребителите...
default_value: Стойност по подразбиране
add_a_default_value: Добавяне на стойност по подразбиране...
add_a_default_value: Стойност по подразбиране...
interface_setup_title: Как потребителите ще взаимодействат с това поле?
display_setup_title: Как ще бъде показвана стойността на това поле?
standard_field: Стандартно поле
single_file: Единствен файл
multiple_files: Множество файлове
m2o_relationship: Много към едно
o2m_relationship: Едно към много
m2m_relationship: Много към много
m2o_relationship: Много към едно (M2O)
o2m_relationship: Едно към много (O2M)
m2m_relationship: Много към много (M2M)
m2a_relationship: Много към някое
next: Напред
field_name: Име на поле
@@ -112,14 +171,25 @@ note: Бележка
enter_a_value: Въвеждане на стойност...
enter_a_placeholder: Въвеждане на текстов заместител...
length: Дължина
precision_scale: Прецизност и мащаб
readonly: Само за четене
unique: Без повторения
primary_key: Първичен ключ
foreign_key: Външен ключ
finish_setup: Завършване на настройката
dismiss: Отхвърляне
raw_value: Първична стойност
edit_raw_value: Редактиране на първичната стойност
enter_raw_value: Въвеждане на първична стойност...
clear_value: Изчисти стойността
clear_value: Изчистване на стойност
reset_to_default: Възстанови по подразбиране
undo_changes: Отмяна на промените
notifications: Известия
show_all_activity: Показване на всички активности
show_all_activity: Показване на цялата активност
page_not_found: Страницата не е намерена
page_not_found_body: Страницата, която търсите, не съществува.
confirm_revert: Потвърждание за възстановяване
confirm_revert_body: Връщане на обекта към избрано състояние.
display: Показване
settings_update_success: Настройките са обновени
title: Заглавие
@@ -127,29 +197,47 @@ revision_delta_created: Създаден
revision_delta_created_externally: Външно създадени
revision_delta_updated: '1 поле е обновено | {count} полета са обновени'
revision_delta_deleted: Изтрито
revision_delta_reverted: Възстановен
revision_delta_other: Ревизия
revision_delta_by: '{date} от {user}'
private_user: Частни потребители
revision_preview: Преглед на ревизия
updates_made: Направени промени
leave_comment: Оставяне на коментар...
leave_comment: Коментар...
post_comment_success: Коментарът е публикуван
item_create_success: Създаден обект | Създадени обекти
item_update_success: Обновен обект | Обновени обекти
item_delete_success: Изтрит обект | Изтрити обекти
this_collection: Тази колекция
related_collection: Релационна колекция
related_collections: Релационни колекции
translations_collection: Колекция с преводи
languages_collection: Колекция с езици
export_data: Експорт на данни
format: Формат
use_current_filters_settings: Използване на текущите филтри и нстройки
export_collection: 'Експорт на {collection}'
last_page: Последна страница
last_access: Последно посещение
fill_template: Попълване със стойност от шаблон
a_unique_table_name: Уникално име на таблица...
a_unique_column_name: Уникално име на колона...
enable_custom_values: Персонализирани стойности
submit: Изпращане
move_to_folder: Преместване в папка
move: Преместване
system: Система
add_field_related: Добавяне на поле към релационната колекция
interface: Интерфейс
today: Днес
yesterday: Вчера
delete_comment: Изтриване на коментар
date-fns_date: PPP
date-fns_time: 'HH:mm:ss'
date-fns_time_no_seconds: 'HH:mm'
date-fns_date_short: 'd MMM, u'
date-fns_time_short: 'HH:mm'
date-fns_date_short_no_year: d MMM
month: Месец
year: Година
select_all: Избиране на всичко
@@ -167,6 +255,7 @@ months:
november: Ноември
december: Декември
drag_mode: Режим на дърпане
cancel_crop: Отказване на изрязването
original: Оригинал
url: URL
import: Импорт
@@ -174,12 +263,13 @@ file_details: Детайли за файл
dimensions: Размери
size: Големина
created: Създаден
modified: Променен
checksum: Checksum
owner: Собственик
edited_by: Променен от
folder: Папка
zoom: Увеличение
download: Изтегли
download: Изтегляне
open: Отваряне
open_in_new_window: Отваряне в нов прозорец
foreground_color: Основен цвят
@@ -196,6 +286,7 @@ type: Тип
creating_new_collection: Създаване на колекция
created_by: Създадено от
created_on: Създаден на
creating_collection_info: Именуване на колекцията и настройка на уникално ключово поле...
creating_collection_system: Разрешаване и применуване на някои от следните незадължителни полета.
auto_increment_integer: Автоматично увеличено число
generated_uuid: Генериран UUID
@@ -206,25 +297,37 @@ save_as_copy: Запазване като копие
add_existing: Добавяне на съществуващ
comments: Коментари
no_comments: Все още няма коментари
click_to_expand: Натиснете за разширяване
select_item: Избор на обект
no_items: Няма обекти
search_items: Търсене на обекти...
disabled: Изключване
information: Информация
report_bug: Докладване на проблеми
report_bug: Доклад за проблем
request_feature: Заявка за функция
interface_not_found: 'Интерфейсът "{interface}" не е намерен.'
reset_interface: Нулиране на интерфейс
display_not_found: 'Изгледът "{display}" не е намерен.'
reset_display: Нулиране на изглед
m2a_builder: Строител (M2A)
item_count: 'Няма обекти | Един обект | {count} обекта'
no_items_copy: Все още няма обекти в тази колекция.
file_count: 'Няма файлове | Един файл | {count} файла'
no_files_copy: Тук не са открити файлове.
user_count: 'Няма потребители | Един потребител | {count} потребителя'
no_users_copy: Все още няма потребители в тази роля.
webhooks_count: "Няма уеб-куки | 1 уеб-кука | {count} уеб-куки\n"
no_webhooks_copy: Все още няма уеб-куки.
all_items: Всички обекти
csv: CSV
no_collections: Няма колекции
create_collection: Създаване на колекция
no_collections_copy_admin: Все още няма колекции. Натиснете бутона по-долу за да започнете.
no_collections_copy: Все още нямате никакви колекции. Свържете се със системния администратор.
relationship_not_setup: Връзката не е конфигурирана правилно
display_template_not_setup: Опциите на шаблона за показване са неправилно конфигурирани
collection_field_not_setup: Опциите на полето от колекцията са неправилно конфигурирани
select_a_collection: Избор на колекция
active: Активен
users: Потребители
activity: Активности
@@ -232,43 +335,73 @@ webhooks: Уеб-куки
field_width: Ширина на полето
add_a_new_item: Добавяне на нов обект...
add_filter: Добавяне на филтър
upper_limit: Горна граница...
lower_limit: Долна граница...
user_directory: Потребители
documentation: Документация
sidebar: Страничен панел
duration: Продължителност
charset: Набор символи
second: Секунди
file_moved: Файлът е преместен
collection_created: Колекцията е създадена
modified_on: Променен на
card_size: Големина на картите
sort_field: Поле за сортиране
toggle_manual_sorting: Ръчна подредба
bookmark_doesnt_exist: Отметката не съществива
bookmark_doesnt_exist_copy: Отметката която се опитвате да отворите не може да бъде намерена.
bookmark_doesnt_exist_cta: Връщане в колекция
select_an_item: Избор на обект...
edit: Редактиране
enabled: Включване
disable_tfa: Изключване на 2FA
tfa_scan_code: Сканиране на кода във вашето приложение за авторизация, за да завършите настройването на 2FA
tfa_scan_code: За да завършите настройването на 2FA, сканиране на кода във вашето приложение за оторизация
enter_otp_to_disable_tfa: Въвеждане на OTP за изключване на 2FA
create_account: Създаване на профил
account_created_successfully: Профилът е създаден
auto_fill: Автоматично попълване
corresponding_field: Кореспондиращо поле
errors:
COLLECTION_NOT_FOUND: "Колекцията не съществува"
FIELD_NOT_FOUND: Полето не е намерено
FORBIDDEN: Забранен
INVALID_CREDENTIALS: Грешно потребителско име или парола
INVALID_OTP: Грешна еднократна парола
INVALID_PAYLOAD: Невалиден payload
INVALID_QUERY: Невалидна заявка
ITEM_LIMIT_REACHED: Достигнат лимит за обекти
ITEM_NOT_FOUND: Обектът не е намерен
ROUTE_NOT_FOUND: Не е намерен
UNKNOWN: Неочаквана грешка
value_hashed: Хеширана стойност
bookmark_name: Име на отметка...
create_bookmark: Създаване на отметка
edit_bookmark: Редактиране на отметката
bookmarks: Маркировка
bookmarks: Отметки
presets: Готови настройки
unexpected_error: Неочаквана грешка
unexpected_error_copy: Възникна неочаквана грешка, опитайте отново по-късно.
copy_details: Копиране на детайли
no_app_access: Без достъп до приложението
no_app_access_copy: Не е позволено използването на администраторското приложение от този потребител.
password_reset_sent: Изпратена ви е подсигурена връзка за възстановяване на вашата парола
password_reset_successful: Успешно нулирана парола
back: Назад
editing_image: Редактиране на изображение
square: Квадрат
free: Свободно
flip_horizontal: Хоризонтално завъртане
flip_vertical: Вертикално завъртане
flip_horizontal: Хоризонтално обръщане
flip_vertical: Вертикално обръщане
aspect_ratio: Съотношение
rotate: Завъртане
all_users: Всички потребители
delete_collection: Изтриване на колекция
update_collection_success: Обновена колекция
delete_collection_success: Изтрита колекция
start_end_of_count_items: '{start}-{end} от {count} обекти'
delete_collection_are_you_sure: >-
Сигурни ли сте, че искате да изтриете тази колекция? Това действие ще изтрие колекцията и всички нейни обекти. Действието е завинаги.
collections_shown: Показани колекции
visible_collections: Видими колекции
hidden_collections: Скрити колекции
@@ -307,12 +440,22 @@ operators:
all: Съдържа следните ключове
has: Съдържа някои от
loading: Зареждане...
drop_to_upload: Пускане за качване
upload_file: Качване на файл
upload_file_indeterminate: Качване на файл...
upload_file_success: Файлът е качен
upload_files_indeterminate: 'Качване на файлове {done}/{total}'
upload_files_success: '{count} файла са качени'
upload_pending: Качване в изчакване
drag_file_here: За добавяне, придърпайте файл тук
click_to_browse: Натиснете за избор
layout_options: Опции за оформлението
collection_setup: Настройване на колекция
all_activity: Всички активности
optional_system_fields: Системни полета по желание
value_unique: Стойността трябва да е уникална
all_activity: Цялостна активност
create_item: Създаване на обект
display_template: Шаблон за показване
display_template: Шаблон при показване
n_items_selected: 'Не са избрани обекти | 1 избран обект | {n} избрани обекти'
per_page: На страница
all_files: Всички файлове
@@ -328,11 +471,15 @@ clear_filters: Изчистване на филтрите
saves_automatically: Автоматично запазване
role: Роля
user: Потребител
no_presets: Няма готови настройки
no_presets_copy: Все още няма запазени готови настройки или отметки.
no_presets_cta: Добавяне на готови настройки
create: Създаване
on_create: При създаване
on_update: При промяна
read: Четене
update: Обновяване
select_fields: Избор на полета
format_text: Форматиране на текст
bold: Удебелен
toggle: Превключване
@@ -370,16 +517,23 @@ wysiwyg_options:
h4: Заглавие 4
h5: Заглавие 5
h6: Заглавие 6
fontselect: Избор на шрифт
fontsizeselect: Избор на големина
indent: Отстъп
outdent: Отместване навън
undo: Връщане
redo: Повторение
remove: Премахване
removeformat: Премахване на форматиране
selectall: Избиране на всичко
table: Таблица
visualaid: Преглед на невидимите елементи
code: Преглед на кода
fullscreen: Пълен Екран
directionality: Подравняване
dropdown: Падащо меню
choices: Избори
choices_option_configured_incorrectly: Изборите не са конфигурирани правилно
deselect: Отмяна на избора
deselect_all: Премахване на избора
other: Друго...
@@ -393,26 +547,61 @@ settings_data_model: Модел на данни
settings_permissions: Роли и позволения
settings_project: Настройки на проект
settings_webhooks: Уеб-куки
settings_presets: Готови настройки и отметки
scope: Обхват
layout: Оформление
changes_are_permanent: Промените са завинаги
preset_name_placeholder: Име на отметка...
layout_preview: Преглед на оформление
editing_preset: Редактиране на готови настройки
layout_preview: Предварителен преглед
layout_setup: Настройка на оформление
unsaved_changes: Незапазени промени
unsaved_changes_copy: Сигурни ли сте, че искате да напуснете тази страница?
discard_changes: Отмяна на промените
keep_editing: Продължаване на редакцията
keep_editing: Продължаване с промените
page_help_collections_overview: '**Обзор от колекции** — Показва всички колекции до които имате достъп.'
page_help_collections_collection: >-
**Преглед на обекти** — Показване на всички обекти от {collection} до които имате достъп. Персонализиране на оформлението, филтрите и подредбата за да могат да се впишат по-добре във вашите нужди, дори имате възможност да добавите отметки с тези конфигурации за по-бърз достъп.
page_help_collections_item: >-
**Детайли за обект** — Формуляр за преглед и управление на този обект. Страничният панел също съдържа и пълна история на ревизиите и коментарите към него.
page_help_activity_collection: >-
**Преглед на активност** — Подробен списък на активността за съдържанието, потребителите и системата.
page_help_docs_global: >-
**Обзор на документацията** — Показва документи, специфични за този проект, версия и схема.
page_help_files_collection: >-
**Файлова библиотека** — Показва всички файлове добавени към този проект. Персонализиране на оформлението, филтрите и подредбата за да могат да се впишат по-добре във вашите нужди, дори имате възможност да добавите отметки с тези конфигурации за по-бърз достъп.
page_help_files_item: >-
**Детайли за файл** — Формуляр за управление на мета-данните, редакция на оригинала и обновяване на настройките за достъп.
page_help_settings_project: '**Настройки за проекта** — Глобални настройки и конфигурация на вашият проект.'
page_help_settings_datamodel_collections: >-
**Модел на данни: Колекции** — Показва всички налични колекции. Това включва видими, невидими и системни, както и неконтролираните таблици от базите данни които могат да бъдат добавяни като колекции.
page_help_settings_datamodel_fields: >-
**Модел на данни: Колекция** — Формуляр за управление на тази колекци и нейните полета.
page_help_settings_roles_collection: '**Преглед на роли** — Показва администраторската, публичната и всички потребителски роли.'
page_help_settings_roles_item: '**Детайли за роля** — Управление на позволенията на ролята, както и някои други настройки.'
page_help_settings_presets_collection: >-
**Преглед на готовите настройки** — Показване на списък с готовите настройки, за отделните: потребител, роля, и глобални отметки, както и изгледите по подразбиране.
page_help_settings_presets_item: >-
**Детайли за готови настройки** — Формуляр за управление на отметки и готови настройки за колекциите по подразбиране.
page_help_settings_webhooks_collection: '**Преглед на уеб-куки** — Показва всички уеб-куки в проекта.'
page_help_settings_webhooks_item: '**Детайли за уеб-кука** — Формуляр за създаване и управление на уеб-куките в проекта.'
page_help_users_collection: '**Потребители** — Показване на всички системни потребители в проекта'
activity_feed: Активностна хранилка
page_help_users_item: >-
**Детайли за потребител** — Управление на информация за вашия потребителския профил, или преглед на детайли за други потребители.
activity_feed: Емисия на активността
add_new: Добави нов запис
from_collection: 'От колекцията - {collection}'
create_new: Създаване
all: Всички
no_layout_collection_selected_yet: Все още не е избран изглед/колекция
batch_delete_confirm: >-
Няма избрани обекти | Наистина ли искате да изтриете този обект? Това действие не може да бъде отменено. | Наистина ли искате да изтриете тези {count} обекти? Това действие не може да бъде отменено.
Няма избрани обекти | Наистина ли искате да изтриете този обект? Това действие не може да бъде отменено. | Наистина ли искате да изтриете тези {count} обекта? Това действие не може да бъде отменено.
cancel: Отмяна
collection: Колекция
collections: Колекция
collections: Колекции
singleton: Сек
singleton_label: Единичен обект
system_fields_locked: Системните полета са заключени и не могат да бъдат променяни
fields:
directus_activity:
action: Действие
@@ -425,13 +614,15 @@ fields:
ip: IP Address
user_agent: Потребителски агент
comment: Кометнар
directus_collections:
translations: Преводи за име на колекция
directus_files:
title: Заглавие
tags: Тагове
location: Местоположение
description: Описание
filename_download: Име на файла за сваляне
filename_disk: Име на файла на диска
filename_download: Име на файл при сваляне
filename_disk: Име на файл на диска
private_hash: Private Hash
checksum: Checksum
uploaded_on: Редактирано на
@@ -455,23 +646,31 @@ fields:
language: Език
avatar: Аватар
theme: Тема
tfa_secret: Двуфакторна авторизация
tfa_secret: Двуфакторна автентикация
directus_settings:
project_name: Име на проекта
project_url: URL на проекта
project_color: Цвят на проект
project_color: Цвят на проекта
project_logo: Лого на проекта
public_note: Публични бележки
public_foreground: На преден план
public_background: Публичен фон
public_note: Публична бележка
auth_password_policy: Политика за пароли
auth_idle_timeout: Изчакване при бездействие
auth_login_attempts: Брой за опити за вход
storage_asset_presets: Съхранение и настройки за файл
storage_asset_transform: Трансформации за съхранение на файлове
directus_fields:
collection: Име на колекцията
icon: Икона на колекцията
note: Бележка
hidden: Скрити
hidden: Скрито
singleton: Сек
translation: Превод на имената на полетата
display_template: Шаблон
directus_roles:
name: Име на роля
icon: Икона за ролята
description: Описание
ip_access: IP адрес
app_access: Достъп до приложението
@@ -479,6 +678,8 @@ fields:
enforce_tfa: Изисква 2FA
users: Потребители към роля
module_list: Модули
collection_list: Навигация в колекции
no_fields_in_collection: 'Все още няма полета в {collection}'
do_nothing: Без действие
generate_and_save_uuid: Генериране и запазване на UUID
save_current_user_id: Запазване на ID на текущия потребител
@@ -487,13 +688,15 @@ save_current_datetime: Запазване на текущия дата/час
comment: Кометнар
continue: Продължение
continue_as: >-
<b>{name}</b> в момента е авторизиран. Ако разпознавате този профил, изберете тук за продължение.
<b>{name}</b> в момента е оторизиран. Ако разпознавате този профил, изберете тук за продължение.
editing_role: '{role} Роля'
creating_webhook: Създаване на уеб-кука
default: По подразбиране
delete: Изтриване
delete_are_you_sure: >-
Това действие е завинаги и не може да бъде отменено. Сигурни ли сте, че искате да продължите?
delete_field_are_you_sure: >-
Наистина ли искате да изтриете това поле "{field}"? Това действие не може да бъде отменено.
Сигурни ли сте, че искате да изтриете "{field}" полето? Това действие не може да бъде отменено.
description: Описание
done: Готово
duplicate: Дублиране
@@ -504,7 +707,7 @@ field: Поле | Полета
file: Файл
file_library: Библиотека
forgot_password: Забравена парола
hidden: Скрити
hidden: Скрито
icon: Икона
info: Информация
normal: Нормално
@@ -512,135 +715,214 @@ success: Успех
warning: Внимание
danger: Опасност
junction_collection: Свързваща колекция
latency: Латентност
latency: Забавяне
login: Влизане
my_activity: Моя активност
not_authenticated: Неавторизиран
authenticated: Авторизиран
not_authenticated: Неоторизиран
authenticated: Оторизиран
options: Опции
otp: Еднократна парола
password: Парола
permissions: Позволения
relationship: Релация
reset: Нулиране
reset_password: Нулиране на паролата
revisions: Ревизии
revert: Възстановяване
save: Запазване
schema: Схема
search: Търсене
select_existing: Избор на съществуващ
select_field_type: Избор на тип за поле
select_interface: Избор на интерфейс
settings: Настройки
sign_in: Вход
sign_out: Изход
sign_out_confirm: Сигурни ли сте, че искате да излезете?
something_went_wrong: Нещо се обърка.
sort_direction: Ред на подредба
template: Шаблон
translation: Превод
value: Стойност
view_project: Преглед на проект
weeks: { }
report_error: Докладване на грешка
interfaces:
checkboxes:
checkboxes: Отметки
description: Избор измежду множество опции чрез отметки
allow_other: Позволи други
show_more: 'Показване на още {count}'
items_shown: Показани обекти
code:
code: Код
description: Писане или споделяне на кодови откъси
line_number: Номер на ред
placeholder: Въвеждане на кода...
collection:
collection: Колекция
description: Избор от съществуващи колекции
include_system_collections: Включване на системните колекции
collections:
collections: Колекция
collections: Колекции
description: Избор от съществуващи колекции
include_system_collections: Включване на системните колекции
color:
color: Цвят
description: Въвеждане или избор на стойност за цвят
placeholder: Избор на цвят...
preset_colors: Предварително зададени цветове
preset_colors_add_label: Добавяне на нов цвят...
name_placeholder: Въвеждане на име на цвят...
name_placeholder: Въвеждане на име на цвета...
datetime:
datetime: Дата и час
description: Въвеждане на дати и часове
include_seconds: Вклчване на секундите
set_to_now: Задаване като сега
use_24: Използване на 24 часов формат
display-template:
display-template: Шаблон за показване
display-template: Шаблон при показване
description: Комбиниране на статичен текст и динамични стойности от полета
collection_field: Поле на колекцията
collection_field_not_setup: Опциите на полето от колекцията са неправилно конфигурирани
select_a_collection: Избор на колекция
divider:
divider: Разделител
description: Именуване и разделяне на полетата по секции
title_placeholder: Въвеждане на заглавие...
inline_title: Заглавие в линия
inline_title_label: Показване на заглавията в реда
dropdown:
description: Избор на стойност от падащо меню
choices_placeholder: Добавяне на избор
allow_other: Позволи други
allow_other_label: Позволяване на други стойности
allow_none: Позволяване на нищо
allow_none_label: Празен избор
choices_name_placeholder: Въвеждане на името...
choices_value_placeholder: Въвеждане на стойност...
dropdown-multiselect:
dropdown-multiselect: Падащо меню (множествен избор)
description: Избор на множество стойности от падащо меню
file:
file: Файл
description: Избор или качване на файл
files:
files: Файлове
description: Избор или качване на множество файлове
hash:
hash: Хеш
description: Въвеждане на стойност за хеширане
masked: Маскиране
masked_label: Скриване на истинските стойности
icon:
icon: Икона
description: Избор на икона от падащото меню
search_for_icon: Търсене на икона...
image:
image: Изображение
description: Избор или качване на изображение
interface:
interface: Интерфейс
description: Избор на съществуващ интерфейс
placeholder: Избор на интерфейс...
interface-options:
interface-options: Опции за интерфейса
description: Модал за избор на интефейс
many-to-many:
many-to-many: Много към много
description: Избор на множество свързани обекти
many-to-one:
many-to-one: Много към един
description: Избор на един свързан обект
display_template: Шаблон за показване
display_template: Шаблон при показване
markdown:
markdown: Markdown
description: Въвеждане и преглед за markdown
tabbed: Табулиран
tabbed_label: Показване на предварителния изглед в отделен подпрозорец
edit: Редактиране
preview: Преглед
notice:
notice: Бележка
description: Показване на кратка бележка
text: Въвеждане на бележката...
numeric:
numeric: Числен
description: Въвеждане на число
minimum_value: Минимална стойност
maximum_value: Максимална стойност
step_interval: Интервал на стъпка
one-to-many:
one-to-many: Едно към много
one-to-many: Едно към много (O2M)
description: Избор на множество свързани обекти
no_collection: Колекцията не може да бъде намерена
radio-buttons:
radio-buttons: Радио бутон
description: Един или няколко избора
repeater:
repeater: Repeater
description: Създаване на множество записи със същата структура
edit_fields: Редактиране на полета
add_label: 'Етикет за "Добавяне на ред"'
field_name_placeholder: Въвеждане име на полето...
field_note_placeholder: Въвеждане бележка към полето...
slider:
slider: Плъзгач
description: Избор на число чрез плъзгач
always_show_value: Показване на стойностите винаги
slug:
slug: Slug
description: Въвеждане на думи свързани чрез тире
tags:
tags: Тагове
description: Избор или добавяне на етикети
whitespace: Интервали
hyphen: Замяна с тире
underscore: Замяна с долна черта
remove: Премахване на интервали
capitalization: Първа-главна буква
uppercase: Обръщане към големи букви
lowercase: Обръщане към малки букви
auto_formatter: Автоматично форматиране като заглавие
alphabetize: По азбучен ред
alphabetize_label: Винаги в азбучен ред
add_tags: Добавяне на етикет...
text-input:
text-input: Поле за текст
description: Въвеждане на един ред
trim: Trim
trim_label: Изчистване на краищата от интервали
mask: Маскиране
mask_label: Скриване на истинската стойност
textarea:
textarea: Поле за текст
description: Въвеждане на чист текст на няколко реда
toggle:
toggle: Превключване
description: Превключване между вкл. и изкл.
label_placeholder: Въвеждане на етикет...
label_default: Включване
translations:
display_template: Шаблон за показване
display_template: Шаблон при показване
no_collection: Няма колекция
user:
user: Потребител
description: Избор на съществуващ потребител
select_mode: Избор на режим
modes:
auto: Автоматичен
dropdown: Падащо меню
modal: Модал
wysiwyg:
wysiwyg: WYSIWYG
description: Редактор на текст с допълнения в HTML формат
toolbar: Лента с инструменти
custom_formats: Специфични формати
options_override: Наслагване на опции
displays:
boolean:
boolean: Булев
description: Показване на активно и неактивно състояние
label_on: Активен текст
label_on_placeholder: Въвеждане на активен текст...
@@ -660,6 +942,7 @@ displays:
default_color: Свят по подразбиране
datetime:
datetime: Дата и час
description: Показване на стойностите релативни към момента
format: Формат
format_note: >-
Персонализирания формат приема стойности от следната __[Таблица със символи](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)__
@@ -677,6 +960,7 @@ displays:
formatted-value: Формат на стойността
description: Показване на форматирана стойност на текст
format_title: Формат на заглавие
format_title_label: Автоматично форматиране на регистъра
bold_label: Използване на удебелен стил
formatted-json-value:
formatted-json-value: Форматирана JSON стойност
@@ -694,7 +978,7 @@ displays:
labels:
labels: Етикети
description: Въвеждане както на единичен, така и на множество етикети
default_foreground: Основа по подразбиране
default_foreground: Преден план по подразбиране
default_background: Фон по подразбиране
format_label: Форматиране на всеки етикет
show_as_dot: Показване като точка
@@ -735,6 +1019,6 @@ layouts:
tabular: Таблица
fields: Полета
spacing: Отстояние
comfortable: Практично
comfortable: Удобно
compact: Компактно
cozy: Уютно

View File

@@ -1,9 +1,53 @@
---
edit_field: Feld bearbeiten
duplicate_field: Feld duplizieren
half_width: Halbe Breite
full_width: Volle Breite
fill_width: Breite füllen
field_name_translations: Feldnamen-Übersetzungen
enter_password_to_enable_tfa: Geben Sie Ihr Passwort ein, um die Zwei-Faktor-Authentifizierung zu aktivieren
add_field: Feld hinzufügen
role_name: Rollenname
db_only_click_to_configure: 'Nur Datenbank: Zum Konfigurieren klicken '
show_archived_items: Zeige archivierte Elemente
required: Erforderlich
create_preset: Vorlage erstellen
create_role: Rolle erstellen
create_user: Benutzer erstellen
create_webhook: Webhook erstellen
invite_users: Benutzer einladen
email_examples: 'admin@example.com, user@example.com...'
invite: Einladen
emails: E-Mails
connection_excellent: Ausgezeichnete Verbindung
connection_good: Gute Verbindung
connection_fair: Brauchbare Verbindung
connection_poor: Schlechte Verbindung
rename_folder: Ordner umbenennen
delete_folder: Ordner löschen
reset_bookmark: Lesezeichen zurücksetzen
rename_bookmark: Lesezeichen umbenennen
update_bookmark: Lesezeichen bearbeiten
delete_bookmark: Lesezeichen löschen
delete_bookmark_copy: >-
Möchten Sie das Lesezeichen "{bookmark}" wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.
logoutReason:
SIGN_OUT: Abgemeldet
SESSION_EXPIRED: Sitzung abgelaufen
public: Öffentlich
public_description: Bestimmt welche API-Daten ohne authentifizierung zugänglich sind.
not_allowed: Nicht erlaubt
directus_version: Directus Version
node_version: Version
node_uptime: Betriebszeit
os_type: Betriebssystem
os_version: OS Version
os_totalmem: Arbeitsspeicher
archive: Archiv
archive_confirm: Sind Sie sicher, dass Sie dieses Element archivieren möchten?
archive_confirm_count: >-
Keine Elemente ausgewählt | Möchten Sie dieses Element wirklich archivieren? | Möchten Sie diese {count} Elemente wirklich archivieren?
reset_system_permissions: Systemberechtigungen zurücksetzen
reset_system_permissions_copy: Setzen Sie alle Systemberechtigungen auf die Standardeinstellungen zurück
unarchive: Archivierung zurücksetzen
unarchive_confirm: Sind Sie sicher, dass das Item aus dem Archiv zurückgeholt werden soll?
@@ -11,6 +55,11 @@ nested_files_folders_will_be_moved: Verschachtelte Dateien und Ordner werden ein
unknown_validation_errors: 'Es gab Validierungsfehler für folgende verstecke Felder:'
validationError:
eq: Der Wert muss {valid} sein
neq: Der Wert kann nicht {invalid} sein
in: 'Gültige Werte sind: {valid}'
contains: Der Wert muss {substring} enthalten
ncontains: Der Wert darf {substring} nicht enthalten
gt: Der Wert muss größer sein als {valid}
gte: Der Wert muss größer oder gleich {valid} sein
lt: Der Wert muss kleiner als {valid} sein
lte: Der Wert muss kleiner oder gleich {valid} sein
@@ -22,27 +71,58 @@ validationError:
all_access: Zugriff auf alles
no_access: Kein Zugriff
use_custom: Benutzerdefiniert
field_files: Mehrere Dateien,
item_permissions: Item Berechtigungen
field_permissions: Feldberechtigungen
field_validation: Feldüberprüfung
field_presets: Feldvorgaben
permissions_for_role: 'Items die {role} Rolle kann {action}.'
fields_for_role: 'Felder die von der {role} Rolle {action} werden können.'
validation_for_role: 'Feld {action} Regeln welche durch die {role} Rolle befolgt werden muss.'
presets_for_role: 'Feld Voreinstellungen für die {role} Rolle.'
hide_field_on_detail: In Detailansicht ausblenden
show_field_on_detail: In Detailansicht einblenden
delete_field: Feld löschen
duplicate_where_to: Wohin möchten Sie dieses Feld duplizieren?
language: Sprache
admins_have_all_permissions: Administratoren haben alle Berechtigungen
camera: Kamera
exposure: Belichtung
iso: ISO
create_field: Feld erstellen
updating_field_field: '{field} ({collection})'
hidden_on_detail: In Detailansicht ausblenden
key: Schlüssel
alias: Alias
date: Datum
datetime: Datum mit Uhrzeit
decimal: Dezimal
json: JSON
string: Zeichenkette
text: Text
time: Zeit
timestamp: Zeitstempel
uuid: UUID
auto_generate: Automatisch generieren
click_here: Hier klicken
choose_a_type: Wähle einen Typ...
add_note: Füge eine hilfreiche Beschreibung für die Benutzer hinzu...
default_value: Standardwert
add_a_default_value: Standardwert hinzufügen...
standard_field: Standardfeld
single_file: Eine Datei
multiple_files: Mehrere Dateien
m2o_relationship: n:1-Beziehung
o2m_relationship: 1:n-Beziehung
m2m_relationship: n:m-Beziehung
next: Weiter
translations: Übersetzungen
note: Notiz
length: Länge
readonly: Lesezugriff
unique: Eindeutig
primary_key: Primärschlüssel
foreign_key: Fremdschlüssel
clear_value: Wert löschen
reset_to_default: Auf Standard zurücksetzen
undo_changes: Änderungen verwerfen
@@ -51,12 +131,30 @@ page_not_found: Seite nicht gefunden
page_not_found_body: Die Seite, nach der Du gesucht hast, wurde nicht gefunden.
display: Anzeige
title: Titel
revision_delta_created: Erstellt
revision_delta_deleted: Gelöscht
revision_delta_other: Revision
revision_delta_by: '{date} von {user}'
leave_comment: Kommentieren...
post_comment_success: Kommentar veröffentlicht
item_create_success: Eintrag erstellt | Einträge erstellt
this_collection: Diese Sammlung
related_collection: Verknüpfte Sammlung
export_data: Daten exportieren
format: Format
export_collection: '{collection} exportieren'
last_page: Letzte Seite
last_access: Letzter Zugriff
submit: Absenden
move_to_folder: In Ordner verschieben
move: Verschieben
system: System
today: Heute
yesterday: Gestern
delete_comment: Kommentar löschen
month: Monat
year: Jahr
select_all: Alles auswählen
months:
january: Januar
february: Februar
@@ -70,28 +168,55 @@ months:
october: Oktober
november: November
december: Dezember
url: URL
import: Importieren
size: Größe
created: Erstellt
checksum: Prüfsumme
owner: Besitzer
edited_by: Editiert von
folder: Ordner
zoom: Zoom
download: Herunterladen
open: Öffnen
open_in_new_window: In neuem Fenster öffnen
download_file: Datei herunterladen
name: Name
type: Typ
created_by: Erstellt von
created_on: Erstellt am
save_and_stay: Speichern und Bleiben
save_as_copy: Als Kopie speichern
comments: Kommentare
click_to_expand: Zum Erweitern klicken
select_item: Element auswählen
no_items: Keine Elemente
search_items: Elemente suchen...
information: Information
report_bug: Bug melden
request_feature: Feature anfragen
item_count: 'Keine Elemente | Ein Element | {count} Elemente'
no_items_copy: Bisher gibt es noch keine Elemente in dieser Sammlung.
user_count: 'Keine Benutzer | Ein Benutzer | {count} Benutzer'
no_webhooks_copy: Es gibt noch keine Webhooks.
all_items: Alle Elemente
csv: CSV
no_collections: Keine Sammlungen
create_collection: Sammlung erstellen
relationship_not_setup: Die relationale Beziehung wurde nicht korrekt konfiguriert
select_a_collection: Sammlung auswählen
active: Aktiv
users: Benutzer
activity: Aktivität
webhooks: Webhooks
field_width: Feldbreite
user_directory: Benutzerverzeichnis
documentation: Dokumentation
sidebar: Seitenleiste
duration: Dauer
modified_on: Geändert am
sort_field: Sortierfeld
select_an_item: Element auswählen...
edit: Bearbeiten
enter_otp_to_disable_tfa: OTP zum deaktivieren der 2FA eingeben
create_account: Konto erstellen
@@ -107,11 +232,25 @@ errors:
INVALID_QUERY: Ungültige anfrage
ROUTE_NOT_FOUND: Nicht gefunden
UNKNOWN: Unerwarteter Fehler
create_bookmark: Lesezeichen erstellen
edit_bookmark: Lesezeichen bearbeiten
bookmarks: Lesezeichen
unexpected_error: Unerwarteter Fehler
password_reset_successful: Das Passwort wurde erfolgreich zurückgesetzt
back: Zurück
editing_image: Bild bearbeiten
square: Quadratisch
free: Frei
flip_horizontal: Horizontal spiegeln
flip_vertical: Vertikal spiegeln
aspect_ratio: Seitenverhältnis
rotate: Drehen
all_users: Alle Benutzer
delete_collection: Sammlung löschen
start_end_of_count_items: '{start}-{end} von {count} Elementen'
visible_collections: Sichtbare Sammlungen
hidden_collections: Versteckte Sammlungen
unmanaged_collections: Nicht konfigurierte Sammlungen
placeholder: Platzhalter
icon_left: Icon links
icon_right: Icon rechts
@@ -123,7 +262,10 @@ divider: Divider
color: Farbe
circle: Kreis
empty_item: Leeres Element
log_in_with: 'Einloggen mit {provider}'
operators:
eq: Gleich
neq: Ungleich
lt: Weniger als
gt: Größer als
lte: Weniger oder gleich
@@ -134,9 +276,21 @@ operators:
empty: Ist leer
nempty: Ist nicht leer
loading: Wird geladen...
upload_file: Datei hochladen
upload_file_indeterminate: Datei wird hochgeladen...
upload_file_success: Datei wurde hochgeladen
upload_files_indeterminate: 'Hochladen von Dateien {done}/{total}'
upload_files_success: '{count} Dateien hochgeladen'
upload_pending: Upload ausstehend
click_to_browse: Zum Durchsuchen klicken
create_item: Eintrag erstellen
display_template: Anzeigevorlage
all_files: Alle Dateien
my_files: Meine Dateien
recent_files: Zuletzt verwendete Dateien
create_folder: Ordner erstellen
add_file: Datei hinzufügen
replace_file: Datei ersetzen
no_results: Keine Ergebnisse
role: Rolle
user: Benutzer
@@ -151,8 +305,28 @@ icon_on: Symbol an
icon_off: Symbol aus
wysiwyg_options:
bold: Fett
italic: Kursiv
underline: Unterstrichen
strikethrough: Durchgestrichen
bullist: Aufzählung
numlist: Nummerierte Liste
copy: Kopieren
cut: Ausschneiden
paste: Einfügen
h1: Überschrift 1
h2: Überschrift 2
h3: Überschrift 3
h4: Überschrift 4
h5: Überschrift 5
h6: Überschrift 6
indent: Einrücken
undo: Rückgängig
redo: Wiederherstellen
remove: Löschen
selectall: Alles auswählen
table: Tabelle
code: Quelltext anzeigen
fullscreen: Vollbild
dropdown: Dropdown
choices: Optionen
deselect: Abwählen
@@ -216,14 +390,22 @@ fields:
tfa_secret: Zwei-Faktor-Authentifizierung
directus_settings:
project_name: Projektname
project_url: Projekt URL
project_color: Projekt Farbe
project_logo: Projekt Logo
public_background: Öffentlicher Hintergrund
directus_fields:
note: Notiz
hidden: Ausgeblendet
translation: Feldnamen-Übersetzungen
display_template: Vorlage
directus_roles:
name: Rollenname
description: Beschreibung
comment: Kommentar
continue: Weiter
editing_role: '{role} Rolle'
creating_webhook: Webhook erstellen
default: Standard
delete: Löschen
delete_field_are_you_sure: >-
@@ -240,6 +422,10 @@ forgot_password: Passwort vergessen
hidden: Ausgeblendet
icon: Symbol
info: Information
normal: Normal
success: Erfolgreich
warning: Warnung
danger: Achtung
junction_collection: Verbindungssammlung
latency: Latenz
login: Login
@@ -282,8 +468,10 @@ interfaces:
color: Farbe
datetime:
datetime: Datum & Uhrzeit
use_24: 24-Stunden-Format verwenden
display-template:
display-template: Anzeigevorlage
select_a_collection: Sammlung auswählen
divider:
divider: Divider
dropdown:
@@ -294,6 +482,8 @@ interfaces:
files: Dateien
icon:
icon: Symbol
image:
image: Bild
interface-options:
interface-options: Schnittstellenoptionen
many-to-many:
@@ -331,6 +521,7 @@ interfaces:
modes:
dropdown: Dropdown
wysiwyg:
wysiwyg: WYSIWYG
custom_formats: Benutzerdefiniertes Format
displays:
boolean:
@@ -350,6 +541,7 @@ displays:
icon:
icon: Symbol
image:
image: Bild
circle: Kreis
rating:
rating: Bewertung
@@ -362,6 +554,7 @@ layouts:
cards:
cards: Karten
image_source: Bildquelle
crop: Zuschneiden
title: Titel
subtitle: Untertitel
tabular:

View File

@@ -76,6 +76,14 @@ validationError:
all_access: All Access
no_access: No Access
use_custom: Use Custom
field_standard: Standard,
field_presentation: Presentation & Aliases,
field_file: Single File,
field_files: Multiple Files,
field_m2o: M2O Relationship,
field_o2m: O2M Relationship,
field_m2m: M2M Relationship,
field_translations: Translations,
item_permissions: Item Permissions
field_permissions: Field Permissions
field_validation: Field Validation
@@ -295,6 +303,7 @@ no_comments: No Comments Yet
click_to_expand: Click to Expand
select_item: Select Item
no_items: No items
search_items: Search items...
disabled: Disabled
information: Information
report_bug: Report Bug
@@ -602,6 +611,7 @@ add_new: Add New
from_collection: 'From “{collection}” Collection'
create_new: Create New
all: All
no_layout_collection_selected_yet: No layout/collection selected yet
batch_delete_confirm: >-
No items have been selected | Are you sure you want to delete this item? This
action can not be undone. | Are you sure you want to delete these {count}

File diff suppressed because it is too large Load Diff

View File

@@ -1,39 +1,237 @@
---
edit_field: Editar Campo
item_revision: Revisión de Elemento
duplicate_field: Duplicar Campo
half_width: Media Ancho
full_width: Ancho completo
fill_width: Llenar Ancho
field_name_translations: Traducciones del Nombre del Campo
enter_password_to_enable_tfa: Ingrese su contraseña para habilitar la Autentificación en Dos Pasos
add_field: Agregar Campo
role_name: Nombre del Rol
db_only_click_to_configure: 'Solo Base de Datos: Clic para Configurar '
show_archived_items: Mostrar Elementos Archivados
required: Necesario
requires_value: Se requiere un valor
create_preset: Crear Predefinido
create_role: Crear Rol
create_user: Crear Usuario
create_webhook: Crear Webhook
invite_users: Invitar Usuarios
email_examples: 'admin@example.com, user@example.com...'
invite: Invitar
emails: Correos Electrónicos
connection_excellent: Excelente Conexión
connection_good: Buena Conexión
connection_poor: Conexión Pobre
rename_folder: Renombrar Directorio
delete_folder: Eliminar Directorio
reset_bookmark: Restablecer Marcador
rename_bookmark: Renombrar Marcador
update_bookmark: Actualizar Marcador
delete_bookmark: Eliminar Marcador
delete_bookmark_copy: >-
¿Está seguro que desea eliminar el Marcador "{bookmark}"? Esta acción no es reversible.
logoutReason:
SIGN_OUT: Sesión terminada
SESSION_EXPIRED: Sesión expirada
public: Público
public_description: Controla qué datos de la API estarán disponibles sin requerir autenticarse
not_allowed: No Permitido
directus_version: Versión Directus
node_version: Versión de Node
node_uptime: Tiempo de actividad de Node
os_type: Tipo de SO
os_version: Versión de SO
os_uptime: Tiempo de actividad del SO
os_totalmem: Memoria del SO
archive: Archivar
archive_confirm: '¿Está seguro que desea archivar este elemento?'
archive_confirm_count: >-
Sin Elementos Seleccionados | ¿Realmente desea archivar este elemento? | ¿Realmente desea archivar estos {count} elementos?
reset_system_permissions: Restablecer Permisos del Sistema
reset_system_permissions_copy: Restablecer todos los permisos del sistema a sus valores por defecto
unarchive: Desarchivar
unarchive_confirm: '¿Realmente desea desarchivar este elemento?'
nested_files_folders_will_be_moved: Los archivos y directorios anidados serán movidos a un nivel superior.
unknown_validation_errors: 'Ocurrieron errores de validación para los siguientes campos ocultos:'
validationError:
eq: El valor tiene que ser {valid}
neq: El valor no puede ser {invalid}
in: 'El valor tiene que ser uno de estos: {valid}'
nin: 'El valor no puede ser uno de estos: {invalid}'
contains: El valor tiene que contener {substring}
ncontains: El valor no puede contener {substring}
gt: El valor tiene que ser mayor a {valid}
gte: El valor tiene que ser mayor o igual a {valid}
lt: El valor tiene que ser menor a {valid}
lte: El valor tiene que ser menor o igual a {valid}
empty: El valor tiene que estar vacío
nempty: El valor no puede estar vacío
null: El valor tiene que ser nulo
nnull: El valor no puede ser nulo
required: El valor es requerido
all_access: Todos los accesos
no_access: Sin Acceso
use_custom: Personalizar
item_permissions: Permisos de Elemento
field_permissions: Permisos de Campo
field_validation: Validación de Campo
field_presets: Predefinidos para Campo
permissions_for_role: 'Elementos que el Rol {role} puede {action}.'
fields_for_role: 'Campos que el Rol {role} puede {action}.'
validation_for_role: 'Reglas de campo al {action} que el Rol {role} tiene que obedecer.'
presets_for_role: 'Valores por defecto del Campo para el Rol {role}.'
presentation_and_aliases: Presentación y Alias
revision_post_update: Así se vería el elemento después de la actualización...
changes_made: Estos son los cambios específicos que se hicieron...
no_relational_data: Tener en cuenta que esto no incluye datos relacionales.
hide_field_on_detail: Ocultar campo en el Detalle
show_field_on_detail: Mostrar campo en el Detalle
delete_field: Eliminar Campo
fields_and_layout: Campos y Diseño
field_create_success: 'Campo Creado: "{field}"'
field_update_success: 'Campo Actualizado: "{field}"'
duplicate_where_to: '¿A dónde le gustaría duplicar este campo?'
language: Idioma
global: Global
admins_have_all_permissions: Los Administradores tienen todos los permisos
camera: Cámara
exposure: Exposición
shutter: Obturación
iso: ISO
focal_length: Distancia Focal
schema_setup_title: '¿Cómo debería guardarse este campo en la base de datos?'
schema_field_title: '¿Cómo debería comportarse este campo en la aplicación?'
create_field: Crear Campo
creating_new_field: 'Nuevo Campo ({collection})'
updating_field_field: '{field}({collection})'
reset_page_preferences: Restablecer Preferencias de Página
hidden_field: Campo Oculto
hidden_on_detail: Oculto en detalle
disabled_editing_value: Desactivar edición de valor
key: Llave
alias: Alias
bigInteger: Número Entero (Grande)
boolean: Booleano
date: Fecha
datetime: Fecha y Hora
decimal: Decimal
float: Número Flotante
integer: Número Entero
json: JSON
string: Cadena de Texto
text: Texto
time: Hora
timestamp: Marca de Tiempo
uuid: UUID
not_available_for_type: No disponible para este Tipo
create_translations: Crear Traducciones
auto_generate: Autogenerar
this_will_auto_setup_fields_relations: Esto configurará automáticamente todos los campos y relaciones requeridas.
click_here: Clic aquí
to_manually_setup_translations: configurar manualmente las traducciones.
click_to_manage_translated_fields: >-
Aún no hay campos traducidos. Haga clic aquí para crearlos. | Hay un campo traducido. Haga clic aquí para administrarlo. | Hay {count} campos traducidos. Haga clic aquí para administrarlos.
fields_group: Grupo de Campos
configure_m2o: Configurar tu Relación Muchos-a-Uno...
configure_o2m: Configurar tu Relación Uno-A-Muchos...
configure_m2m: Configurar tu Relación Muchos-A-Muchos...
configure_m2a: Configurar tu Relación Muchos-A-Cualquiera...
add_m2o_to_collection: 'Agregar Muchos-A-Uno a "{collection}"'
add_o2m_to_collection: 'Agregar Uno-A-Muchos a "{collection}"'
add_m2m_to_collection: 'Agregar Muchos-A-Muchos a "{collection}"'
choose_a_type: Elegir un Tipo...
determined_by_relationship: Determinado por la Relación
add_note: Añadir una nota útil para los usuarios...
default_value: Valor por Defecto
add_a_default_value: Agregar un valor por defecto...
interface_setup_title: '¿Cómo los usuarios interactuarán con este campo?'
display_setup_title: '¿Cómo el valor de este campo debería ser presentado?'
standard_field: Campo Estándar
single_file: Un Archivo
multiple_files: Múltiples Archivos
m2o_relationship: Relación Muchos-a-Uno
o2m_relationship: Relación Uno-A-Muchos
m2m_relationship: Relación Muchos-A-Muchos
m2a_relationship: Relación Muchos-A-Cualquiera
next: Próximo
field_name: Nombre del Campo
translations: Traducciones
note: Nota
enter_a_value: Ingrese un valor...
enter_a_placeholder: Ingrese un placeholder...
length: Longitud
precision_scale: Precisión y Escala
readonly: Solo lectura
unique: Único
primary_key: Clave primaria
foreign_key: Llave Foránea
finish_setup: Finalizar Configuración
dismiss: Cerrar
raw_value: Valor Plano
edit_raw_value: Editar Valor Plano
enter_raw_value: Ingresar valor plano...
clear_value: Limpiar valor
reset_to_default: Restablecen a los predeterminados
undo_changes: Deshacer cambios
notifications: Notificaciones
show_all_activity: Presentar toda la actividad
page_not_found: Página no encontrada
page_not_found_body: La página que estás buscando no parece existir.
confirm_revert: Confirmar reversión
confirm_revert_body: Esto revertirá el elemento al estado seleccionado.
display: Mostrar
settings_update_success: Ajustes actualizados
title: Título
revision_delta_created: Creado
revision_delta_created_externally: Creado Externamente
revision_delta_updated: '1 Campo Actualizado | {count} Campos Actualizados'
revision_delta_deleted: Eliminado
revision_delta_reverted: Revertido
revision_delta_other: Revisión
revision_delta_by: '{date} por {user}'
private_user: Usuario Privado
revision_preview: Vista Previa de Revisión
updates_made: Actualizaciones Realizadas
leave_comment: Deja un comentario...
post_comment_success: Comentario publicado
item_create_success: Elemento Creado | Elementos Creados
item_update_success: Elemento Actualizado | Elementos Actualizados
item_delete_success: Elemento Eliminado | Elementos Eliminados
this_collection: Esta colección
related_collection: Colección relacionada
related_collections: Colecciones Relacionadas
translations_collection: Colección de Traducciones
languages_collection: Colección de Idiomas
export_data: Exportar Datos
format: Formato
use_current_filters_settings: Usar Filtros y Ajustes Actuales
export_collection: 'Exportar {collection}'
last_page: Última Página
last_access: Último Acceso
fill_template: Rellenar con Valor de Plantilla
a_unique_table_name: Un nombre de tabla único...
a_unique_column_name: Un nombre de columna único...
enable_custom_values: Habilitar valores personalizados
submit: Enviar
move_to_folder: Mover a Directorio
move: Mover
system: Sistema
add_field_related: Agregar Campo a Colección Relacionada
interface: Interfaz
today: Hoy
yesterday: Ayer
delete_comment: Eliminar Comentario
date-fns_date: PPP
date-fns_time: 'h:mm:ss a'
date-fns_time_no_seconds: 'h:mm a'
date-fns_date_short: 'MMM d, u'
date-fns_time_short: 'h:mma'
date-fns_date_short_no_year: MMM d
month: Mes
year: Año
select_all: Seleccionar Todo
months:
january: Enero
february: Febrero
@@ -47,76 +245,352 @@ months:
october: Octubre
november: Noviembre
december: Diciembre
drag_mode: Modo Arrastrar
cancel_crop: No Cortar
original: Original
url: URL
import: Importar
file_details: Detalles de Archivo
dimensions: Dimensiones
size: Tamaño
created: Creado
modified: Modificado
checksum: Suma de verificación
owner: Propietario
edited_by: Editado por
folder: Directorio
zoom: Zoom
download: Descargar
open: Abrir
open_in_new_window: Abrir en Nueva Ventana
foreground_color: Color de Letra
background_color: Color de Fondo
upload_from_device: Subir Archivo desde Dispositivo
choose_from_library: Seleccionar Archivo desde Biblioteca
import_from_url: Importar Archivo desde URL
no_file_selected: Sin Archivos Seleccionados
download_file: Descargar Archivo
collection_key: Llave de Colección
name: Nombre
primary_key_field: Campo Llave Primaria
type: Tipo
creating_new_collection: Crear Nueva Colección
created_by: Creado Por
created_on: Creado El
creating_collection_info: Defina un nombre para la colección y configure su campo de "llave" única...
creating_collection_system: Habilitar y renombrar cualquiera de estos campos opcionales.
auto_increment_integer: Número Entero Auto-Incrementado
generated_uuid: UUID Generado
manual_string: Cadena de Texto introducida Manualmente
save_and_create_new: Guardar y Crear Nuevo
save_and_stay: Guardar y quedarse
save_as_copy: Guardar como copia
add_existing: Agregar Existente
comments: Comentarios
no_comments: Aún Sin Comentarios
click_to_expand: Haga Clic para Expandir
select_item: Seleccionar Elemento
no_items: Sin Elementos
disabled: Desactivado
information: Información
report_bug: Reportar Problema
request_feature: Característica de solicitud
interface_not_found: 'Interfaz "{interface}" no encontrada.'
reset_interface: Restablecer Interfaz
display_not_found: 'Presentación "{display}" no encontrada.'
reset_display: Restablecer Presentación
m2a_builder: Constructor (M2A)
item_count: 'No hay artículos | Un ítem | {count} Ítems'
no_items_copy: Aún no hay Elementos en esta colección.
file_count: 'Sin Archivos | Un Archivo | {count} Archivos'
no_files_copy: Aquí no hay archivos.
user_count: 'Sin Usuarios | Un Usuario | {count} Usuarios'
no_users_copy: No hay usuarios con este Rol aún.
webhooks_count: 'Sin Webhooks | Un Webhook | {count} Webhooks'
no_webhooks_copy: Aún no hay Webhooks.
all_items: Todos los Elementos
csv: CSV
no_collections: Sin Colecciones
create_collection: Crear colección
no_collections_copy_admin: Aún no tiene alguna Colección. Haga clic en el botón para empezar.
no_collections_copy: Aún no tiene alguna Colección. Por favor contacte al administrador del sistema.
relationship_not_setup: La relación no se ha configurado correctamente
display_template_not_setup: La opción de plantilla de Presentación está mal configurada
collection_field_not_setup: La opción del campo de colección está mal configurada
select_a_collection: Seleccionar una Colección
active: Activo
users: Usuarios
activity: Actividad
webhooks: Webhooks
field_width: Ancho de campo
add_a_new_item: Agregar un nuevo Elemento...
add_filter: Agregar Filtro
upper_limit: Límite Superior...
lower_limit: Límite Inferior...
user_directory: Directorio de usuarios
documentation: Documentación
sidebar: Barra Lateral
duration: Duración
charset: Codificación
second: Segundo
file_moved: Archivo Movido
collection_created: Colección Creada
modified_on: Modificado en
sort_field: Campo de Ordenación
card_size: Tamo de Tarjeta
sort_field: Campo Ordenamiento
toggle_manual_sorting: Alternar Ordenamiento Manual
bookmark_doesnt_exist: El Marcador no existe
bookmark_doesnt_exist_copy: El Marcador que está intentando abrir no pudo ser encontrado.
bookmark_doesnt_exist_cta: Regresar a Colección
select_an_item: Seleccionar un Elemento...
edit: Editar
enabled: Habilitado
disable_tfa: Desactivar 2FA
tfa_scan_code: Escanee el código en tu aplicación de Autentificación para finalizar la configuración de 2FA
enter_otp_to_disable_tfa: Ingrese el OTP para desactivar 2FA
create_account: Crear Cuenta
account_created_successfully: La Cuenta ha sido creada exitósamente
auto_fill: Auto Rellenar
corresponding_field: Campo Correspondiente
errors:
COLLECTION_NOT_FOUND: "La Colección no existe"
FIELD_NOT_FOUND: Campo no encontrado
FORBIDDEN: Prohibido
INVALID_CREDENTIALS: Usuario o contraseña incorrecta
INVALID_OTP: Contraseña Temporal Incorrecta
INVALID_PAYLOAD: Payload Inválido
INVALID_QUERY: Consulta Inválida
ITEM_LIMIT_REACHED: Límite de elementos alcanzado
ITEM_NOT_FOUND: Elemento no encontrado
ROUTE_NOT_FOUND: No encontrado
UNKNOWN: Error Inesperado
value_hashed: Valor Hasheado de Manera Segura
bookmark_name: Nombre del Marcador...
create_bookmark: Crear Marcador
edit_bookmark: Editar Marcador
bookmarks: Marcadores
presets: Predefinidos
unexpected_error: Error Inesperado
unexpected_error_copy: Ha ocurrido un error inesperado. Por favor inténtelo más tarde.
copy_details: Copiar Detalles
no_app_access: Sin Acceso al App
no_app_access_copy: Este usuario no tiene permitido usar la app administrativa.
password_reset_sent: Le hemos enviado un enlace seguro para restablecer su contraseña
password_reset_successful: Contraseña restablecida exitósamente
back: Volver
placeholder: Texto de Ejemplo
icon_left: Icono izquierdo
editing_image: Editar Imagen
square: Cuadrado
free: Libre
flip_horizontal: Voltear Horizontal
flip_vertical: Voltear Vertical
aspect_ratio: Relación de Aspecto
rotate: Rotar
all_users: Todos los Usuarios
delete_collection: Eliminar Colección
update_collection_success: Colección Actualizada
delete_collection_success: Colección Eliminada
start_end_of_count_items: '{start}-{end} de {count} elementos'
delete_collection_are_you_sure: >-
¿Realmente desea eliminar esta colección? Esto eliminará la colección y todos los elementos en ella. Esta acción es permanente y no reversible.
collections_shown: Colecciones Mostradas
visible_collections: Colecciones Visibles
hidden_collections: Colecciones Ocultas
unmanaged_collections: Colecciones No Configuradas
system_collections: Colecciones del Sistema
placeholder: Valor de Ejemplo
icon_left: Icono Izquierdo
icon_right: Icono Derecho
monospace: Monoespaciado/a
divider: Divisor
font: Fuente
sans_serif: Sans Serif
serif: Serif
monospace: Monospace
divider: Separador
color: Color
circle: Círculo
empty_item: Elemento Vacío
log_in_with: 'Iniciar Sesión con {provider}'
advanced_filter: Filtro Avanzado
operators:
eq: Igual a
neq: No es igual a
lt: Menos que
gt: Más grande que
lte: Menos que o igual a
gte: Mayor qué o igual a
in: Es uno de
nin: No es uno de
null: Es Nulo
nnull: No es Nulo
contains: Contiene
ncontains: No contiene
between: Está Entre
nbetween: No está Entre
empty: Esta vacío
nempty: No está Vacío
all: Contiene estas llaves
has: Contiene alguna de estas llaves
loading: Cargando...
display_template: Mostrar Plantilla
drop_to_upload: Arrastrar para Subir
upload_file: Subir Archivo
upload_file_indeterminate: Subiendo Archivo...
upload_file_success: Archivo Subido
upload_files_indeterminate: 'Subiendo archivos {done}/{total}'
upload_files_success: '{count} Archivos Subidos'
upload_pending: Subida Pendiente
drag_file_here: Arrastre y Suelte un Archivo Aquí
click_to_browse: Haga Clic para Navegar
layout_options: Opciones de Diseño
collection_setup: Configuración de Colección
optional_system_fields: Campos Opcionales del Sistema
value_unique: El Valor tiene que ser único
all_activity: Toda la Actividad
create_item: Crear Elemento
display_template: Plantilla de Presentación
n_items_selected: 'No hay Elementos Seleccionados | 1 Elemento Seleccionado | {n} Elementos Seleccionados'
per_page: Por Página
all_files: Todos los Archivos
my_files: Mis Archivos
recent_files: Archivos Recientes
create_folder: Crear Directorio
folder_name: Nombre del Directorio...
add_file: Agregar Archivo
replace_file: Reemplazar Archivo
no_results: No hay resultados
no_results_copy: Ajustar o limpiar filtros de búsqueda para ver los resultados.
clear_filters: Limpiar Filtros
saves_automatically: Guardar Automáticamente
role: Rol
user: Usuario
no_presets: Sin Predefinidos
no_presets_copy: Los Predefinidos o Marcadores no se han guardado aún.
no_presets_cta: Agregar Predefinido
create: Crear
on_create: Al Crear
on_update: En actualización
read: Leer
update: Actualizar
select_fields: Selecciona campos
format_text: Formatear Texto
bold: Negrita
toggle: Alternar
icon_on: Icono Activado
icon_off: Icono Desactivado
label: Etiqueta
wysiwyg_options:
aligncenter: Alinear al Centro
alignjustify: Alinear Justificado
alignleft: Alinear a la Izquierda
alignnone: No Alinear
alignright: Alinear a la Derecha
forecolor: Color de Letra
backcolor: Color de Fondo
bold: Negrita
italic: Cursiva
underline: Subrayado
strikethrough: Tachado
subscript: Subíndice
superscript: Superíndice
blockquote: Bloque de Cita
bullist: Lista con viñetas
numlist: Lista Numerada
hr: Regla Horizontal
link: Agregar Enlace
unlink: Remover Enlace
media: Agregar Multimedia
image: Agregar Imagen
copy: Copiar
cut: Cortar
paste: Pegar
h1: Título 1
h2: Título 2
h3: Título 3
h4: Título 4
h5: Título 5
h6: Título 6
fontselect: Seleccionar Fuente
fontsizeselect: Seleccionar Tamaño de Fuente
indent: Indentar
outdent: Anular Indentación
undo: Deshacer
redo: Rehacer
remove: Eliminar
removeformat: Quitar Formato
selectall: Seleccionar Todo
table: Tabular
dropdown: Lista desplegable
visualaid: Ver elementos invisibles
code: Ver Fuente
fullscreen: Pantalla Completa
directionality: Direccionalidad
dropdown: Lista Desplegable
choices: Opciones
choices_option_configured_incorrectly: Opciones configuradas incorrectamente
deselect: Deseleccionar
deselect_all: Deseleccionar Todo
other: Otro...
adding_user: Agregando Usuario
unknown_user: Usuario Desconocido
creating_in: 'Creando Elemento en {collection}'
editing_in: 'Editando Elemento en {collection}'
editing_in_batch: 'Edición por lotes {count} Artículos'
no_options_available: Sin opciones disponibles
settings_data_model: Modelo de Datos
settings_permissions: Roles y permisos
settings_project: Configuración de proyecto
settings_webhooks: Webhooks
unsaved_changes: Cambio sin guardar
settings_presets: Predefinidos y Marcadores
scope: Alcance
layout: Diseño
changes_are_permanent: Los cambios son permanentes
preset_name_placeholder: Nombre del Marcador...
editing_preset: Editar Predefinido
layout_preview: Vista Previa de Diseño
layout_setup: Configuración del Diseño
unsaved_changes: Cambios sin Guardar
unsaved_changes_copy: '¿Estás seguro de que quieres salir de esta página?'
discard_changes: Descartar los cambios
keep_editing: Sigue editando
page_help_collections_overview: '**Resumen de Colecciones** - Listas de todas las colecciones a las que tiene acceso.'
page_help_collections_collection: >-
**Navegar en Elementos** - Lista todos los elementos en {collection} a las que tiene acceso. Puede personalizar el Diseño, Filtros y Ordenamientos para adaptar sus vistas, incluso puede guardar Marcadores de esas configuraciones para un rápido acceso.
page_help_collections_item: >-
**Detalle de Elemento** - Una forma de visualizar y administrar este Elemento. Esta barra lateral también contiene un historial completo de revisiones y comentarios incluidos.
page_help_activity_collection: >-
**Navegar en Actividad** - Una lista completa de todas las actividades del sistema y del contenido de su usuario.
page_help_docs_global: >-
**Resumen de la Documentación** — Documentos específicamente diseñados para la versión y esquema de este proyecto.
page_help_files_collection: >-
**Biblioteca de Archivos** — Lista todos los activos subidos a este proyecto. Puede personalizar el Diseño, Filtros y Ordenamientos para adaptar sus vistas, incluso puede guardar Marcadores de esas configuraciones para un rápido acceso.
page_help_files_item: >-
**Detalle de Archivo** — Una manera de manejar metadatos de archivos, editar el activo original, y actualizar ajustes de acceso.
page_help_settings_project: '**Ajustes del Proyecto** — Sus opciones de ajustes globales para el proyecto.'
page_help_settings_datamodel_collections: >-
**Modelo de Datos: Colecciones** — Lista todas las colecciones disponibles. Esto incluye colecciones visibles, ocultas y del sistema, así como las tablas de base de datos que pueden ser agregadas.
page_help_settings_datamodel_fields: >-
**Modelo de Datos: Colección** — Una manera de manejar esta colección y sus campos.
page_help_settings_roles_collection: '**Navegar en Roles** — Lista los roles de Usuario Admin, Public y Personalizados.'
page_help_settings_roles_item: '**Detalle de Rol** — Administra los permisos del Rol y otros ajustes.'
page_help_settings_presets_collection: >-
**Navegar en Predefinidos** — Lista todos los Predefinidos en el proyecto, incluye: Marcadores para usuario, rol y global, así como vistas por defecto.
page_help_settings_presets_item: >-
**Detalle de Predefinido** — Una manera de administrar Marcadores y Predefinidos por defecto de Colecciones.
page_help_settings_webhooks_collection: '**Navegar en Webhooks** — Lista todos los webhooks en el proyecto.'
page_help_settings_webhooks_item: '**Detalle de Webhook** — Una manera de crear y administrar los webhooks del proyecto.'
page_help_users_collection: '**Directorio de Usuarios** — Lista todos los usuarios del sistema en este proyecto.'
page_help_users_item: >-
**Detalle de Usuario** — Administre su información de cuenta, o visualice el detalle de otros usuarios.
activity_feed: Actividad
add_new: Añadir Nuevo
from_collection: 'De la colección "{collection}"'
create_new: Crear Nuevo
all: Todo
batch_delete_confirm: >-
No se han seleccionado elementos | ¿Está seguro de que desea eliminar este elemento? Esta acción no puede deshacerse. | Está seguro de que desea eliminar estos {count} ítems? Esta acción no puede deshacerse.
cancel: Cancelar
collection: Colección
collections: Colecciones
singleton: Singleton
singleton_label: Tratar como un sólo objeto
system_fields_locked: Los campos del sistema están bloqueados y no pueden ser editados
fields:
directus_activity:
action: Acción
@@ -129,6 +603,8 @@ fields:
ip: Dirección IP
user_agent: Agente de usuario
comment: Comentar
directus_collections:
translations: Traducciones para Nombre de Colección
directus_files:
title: Título
tags: Etiquetas
@@ -162,16 +638,52 @@ fields:
tfa_secret: Autenticación de dos factores
directus_settings:
project_name: Nombre de proyecto
project_url: URL del Proyecto
project_color: Color del Proyecto
project_logo: Logo del Proyecto
public_foreground: Superficie Pública
public_background: Fondo Público
public_note: Notas Públicas
auth_password_policy: Política de Contraseña para Autentificación
auth_idle_timeout: Tiempo de Espera de Inactividad para Autentificarse
auth_login_attempts: Intentos de Inicio de Sesión al Autentificarse
storage_asset_presets: Predefinidos de Activos en Almacenamiento
storage_asset_transform: Transformación de Activos en Almacenamiento
directus_fields:
collection: Nombre de Colección
icon: Ícono de Colección
note: Nota
hidden: Oculto
singleton: Singleton
translation: Traducciones del Nombre del Campo
display_template: Plantilla
directus_roles:
name: Nombre del Rol
icon: Ícono del Rol
description: Descripción
ip_access: Acceso IP
app_access: Acceso a App
admin_access: Acceso Admin
enforce_tfa: Requiere 2FA
users: Usuarios en el Rol
module_list: Navegación en Módulo
collection_list: Navegación en Colección
no_fields_in_collection: 'Aún no hay campos en "{collection}"'
do_nothing: No hacer nada
generate_and_save_uuid: Generar y Guardar UUID
save_current_user_id: Guardar ID de Usuario Actual
save_current_user_role: Guardar Rol Actual de Usuario
save_current_datetime: Guardar Fecha y Hora Actual
comment: Comentar
continue: Hacer continuación
continue_as: >-
Actualmente <b>{name}</b> ha iniciado sesión. Si reconoce esta cuenta, presione continuar.
editing_role: 'Rol {role}'
creating_webhook: Creando Webhook
default: Por defecto
delete: Eliminar
delete_are_you_sure: >-
Esta acción es permanente y no puede ser revertida. ¿Realmente le gustaría proceder?
delete_field_are_you_sure: >-
¿Está seguro de que desea eliminar el campo? "{field}"? Esta acción no se puede deshacer.
description: Descripción
@@ -179,6 +691,7 @@ done: Hecho
duplicate: Duplicado
email: Correo electrónico
embed: Empotrar
fallback_icon: Ícono de Reserva
field: Campo | Campos
file: Archivo
file_library: Biblioteca de archivos
@@ -186,11 +699,16 @@ forgot_password: Se te olvidó tu contraseña
hidden: Oculto
icon: Icono
info: Informacion
normal: Normal
success: Éxito
warning: Advertencia
danger: Peligro
junction_collection: Colección de unión
latency: Latencia
login: Iniciar sesión
my_activity: Mi actividad
not_authenticated: No autenticado
authenticated: Autenticado
options: Opciones
otp: Contraseña de un solo uso
password: Contraseña
@@ -198,109 +716,291 @@ permissions: Permisos
relationship: Relación
reset: Reiniciar
reset_password: Restablecer la contraseña
revisions: Revisiones
revert: Revertir
save: Guardar
schema: Esquema
search: Búsqueda
select_existing: Seleccione existente
select_field_type: Seleccione un tipo de campo
select_interface: Selecciona una interfaz
settings: Configuración
sign_in: Ingresar
sign_out: Desconectar
sign_out_confirm: '¿Seguro que quieres cerrar sesión?'
something_went_wrong: Algo salió mal.
sort_direction: Dirección de ordenado
sort_direction: Dirección de Ordenamiento
template: Plantilla
translation: Traduccion
translation: Traducción
value: Valor
view_project: Ver Proyecto
report_error: Reportar Error
interfaces:
checkboxes:
checkboxes: Casillas de Selección
description: Elegir entre múltiples opciones a través de casillas de selección
allow_other: Permitir Otro
show_more: 'Mostrar {count} más'
items_shown: Elementos Mostrados
code:
code: Código
description: Escribir o compartir fragmentos de código
line_number: Número de línea
placeholder: Ingrese el código aquí...
collection:
collection: Colección
description: Seleccionar entre colecciones existentes
include_system_collections: Incluir Colecciones del Sistema
collections:
collections: Colecciones
description: Seleccionar entre colecciones existentes
include_system_collections: Incluir Colecciones del Sistema
color:
color: Color
description: Ingrese o seleccione un color
placeholder: Seleccionar un color...
preset_colors: Colores Predefinidos
preset_colors_add_label: Agregar nuevo color...
name_placeholder: Ingresar nombre del color...
datetime:
datetime: Fecha/hora
description: Ingrese fechas y horas
include_seconds: Incluir Segundos
set_to_now: Ajustar a Ahora Mismo
use_24: Usar Formato 24 horas
display-template:
display-template: Mostrar Plantilla
display-template: Plantilla de Presentación
description: Combinar texto estático y valores de campos dinámicos
collection_field: Campo Colección
collection_field_not_setup: La opción del campo de colección está mal configurada
select_a_collection: Seleccionar una Colección
divider:
divider: Divisor
divider: Separador
description: Etiqueta y a la vez permite dividir los campos en secciones
title_placeholder: Ingresar un título...
inline_title: Titulo en línea
inline_title_label: Mostrar título en línea
dropdown:
description: Seleccine un valor de la lista desplegable
choices_placeholder: Agregar una nueva opción
allow_other: Permitir Otro
allow_other_label: Permitir Otros Valores
allow_none: Permitir "Nada"
allow_none_label: Permitir No Selección
choices_name_placeholder: Ingrese un nombre...
choices_value_placeholder: Ingrese un valor...
dropdown-multiselect:
dropdown-multiselect: Lista Desplegable (Múltiple)
description: Seleccione múltiples valores de la lista de selección
file:
file: Archivo
description: Seleccionar o subir un archivo
files:
files: Archivos
description: Seleccionar o subir múltiples archivos
hash:
hash: Hash
description: Ingresar un valor para ser "Hasheado"
masked: Enmascarado
masked_label: Ocultar los verdaderos valores
icon:
icon: Icono
description: Seleccione un ícono de la lista
search_for_icon: Buscar un ícono...
image:
image: Imagen
description: Seleccionar o subir una imagen
interface:
interface: Interfaz
description: Seleccionar una interfaz existente
placeholder: Seleccionar una interfaz...
interface-options:
interface-options: Opciones de Interfaz
description: Un diálogo para seleccionar opciones de una interfaz
many-to-many:
many-to-many: Muchos a Muchos
description: Seleccionar múltiples elementos de unión relacionados
many-to-one:
many-to-one: Muchos a Uno
display_template: Mostrar Plantilla
description: Seleccionar un elemento único relacionado
display_template: Plantilla de Presentación
markdown:
markdown: Markdown
description: Ingresar y previsualizar Markdown
tabbed: Pestaña
tabbed_label: Mostrar previsualización en una pestaña separada
edit: Editar
preview: Vista preliminar
notice:
notice: Aviso
description: Presentar un aviso corto
text: Ingresar contenido del aviso aquí...
numeric:
numeric: Numérico
description: Ingresar un número
minimum_value: Valor Mínimo
maximum_value: Valor Máximo
step_interval: Intervalo de Pasos
one-to-many:
one-to-many: Uno a Muchos
description: Seleccionar múltiples elementos relacionados
no_collection: No se encontró la colección
radio-buttons:
radio-buttons: Botones de radio
radio-buttons: Botones de Radio
description: Seleccionar una de las opciones múltiples
repeater:
repeater: Repetidor
description: Crear múltiples entradas para la misma estructura
edit_fields: Editar Campos
add_label: 'Etiqueta "Agregar Nueva Fila"'
field_name_placeholder: Ingrese el nombre del campo...
field_note_placeholder: Ingrese la nota del campo...
slider:
slider: Deslizador
description: Seleccionar un número usando un deslizador
always_show_value: Siemrpe presentar valor
slug:
slug: Slug
description: Ingresar una palabra conectada con guiones
tags:
tags: Etiquetas
description: Seleccionar o agregar etiquetas
whitespace: Espacio en Blanco
hyphen: Reemplazar con guiones
underscore: Reemplazar con guiones bajos
remove: Remover espacios en blanco
capitalization: Capitalización
uppercase: Convertir a Mayúsculas
lowercase: Convertir a Minúsculas
auto_formatter: Usar Auto-Formateador de Título
alphabetize: Alfabetización
alphabetize_label: Forzar Orden Alfabético
add_tags: Agregar etiquetas...
text-input:
text-input: Control de Texto
text-input: Campo de Texto
description: Ingresar texto de una línea
trim: Eliminar Espacios en Blanco
trim_label: Eliminar espacios al inicio y al final
mask: Enmascarado
mask_label: Ocultar el valor real
textarea:
textarea: Área de Texto
description: Ingresar texto plano multi-línea
toggle:
toggle: Alternar
description: Alternar entre Activado y Desactivado
label_placeholder: Ingresar una etiqueta...
label_default: Habilitado
translations:
display_template: Mostrar Plantilla
display_template: Plantilla de Presentación
no_collection: Sin Colección
user:
user: Usuario
description: Seleccionar un usuario existente de Directus
select_mode: Seleccionar Modo
modes:
dropdown: Lista desplegable
auto: Automático
dropdown: Lista Desplegable
modal: Diálogo
wysiwyg:
wysiwyg: WYSIWYG
description: Un editor de texto enriquecido para escribir contenido HTML
toolbar: Barra de Herramientas
custom_formats: Formatos Personalizados
options_override: Sobrescribir Opciones
displays:
boolean:
boolean: Booleano
description: Presentar estados Activo e Inactivo
label_on: Etiqueta Activo
label_on_placeholder: Ingrese una etiqueta para Activo...
label_off: Etiqueta Inactivo
label_off_placeholder: Ingrese una etiqueta para Inactivo...
icon_on: Icono Activado
icon_off: Icono Desactivado
color_on: Color para Activo
color_off: Color para Inactivo
collection:
collection: Colección
description: Presentar una colección
icon_label: Presentar el ícono de la colección
color:
color: Color
description: Presentar un punto coloreado
default_color: Color por Defecto
datetime:
datetime: Fecha/hora
description: Presentar valores relacionados a la hora
format: Formato
format_note: >-
El formato personalizado acepta el __[Date Field Symbol Table](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)__
long: Larga
short: Corta
relative: Relativa
relative_label: 'Presentar hora relativa, ej: hace 5 minutos'
file:
file: Archivo
description: Presentar archivos
filesize:
filesize: Tamaño del archivo
description: Presentar el tamaño de un archivo
formatted-value:
formatted-value: Valor Formateado
description: Presentar una versión formateada del texto
format_title: Formatear Título
format_title_label: Auto-formato
bold_label: Usar negritas
formatted-json-value:
formatted-json-value: Valor JSON Formateado
description: Presentar una versión formateada del objeto
icon:
icon: Icono
description: Presentar un ícono
filled: Lleno
filled_label: Usar una variante de llenado
image:
image: Imagen
description: Presentar una previsualización pequeña de la imagen
circle: Círculo
circle_label: Presentar como un círculo
labels:
labels: Etiquetas
description: Presentar ya sea una sola etiqueta o una lista de ellas
default_foreground: Color de letra por defecto
default_background: Fondo por defecto
format_label: Formatear cada etiqueta
show_as_dot: Presentar como Punto
choices_value_placeholder: Ingrese un valor...
choices_text_placeholder: Ingresar un texto...
mime-type:
mime-type: Tipo MIME
description: Presentar el Tipo MIME del archivo
extension_only: Sólo Extensión
extension_only_label: Presentar sólo la extensión del archivo
rating:
rating: Valoración
description: Visualizar un número de estrellas relativas al valor máximo
simple: Simple
simple_label: Presentar estrellas en un formato simple
raw:
raw: Valor Plano
related-values:
related-values: Valores Relacionados
description: Presentar valores relativos
user:
user: Usuario
description: Presentar un usuario de Directus
avatar: Avatar
name: Nombre
both: Ambos
circle_label: Presentar usuario en un círculo
layouts:
cards:
cards: Tarjetas
image_source: Fuente de imagen
image_fit: Ajuste de Imagen
crop: Recortar
contain: Contiene
title: Título
subtitle: Subtítulo
tabular:

View File

@@ -558,25 +558,53 @@ page_help_activity_collection: >-
**Navegar en Actividad** - Una lista completa de todas las actividades del sistema y del contenido de su usuario.
page_help_docs_global: >-
**Resumen de la Documentación** — Documentos específicamente diseñados para la versión y esquema de este proyecto.
page_help_files_collection: >-
**Biblioteca de Archivos** — Lista todos los activos subidos a este proyecto. Puede personalizar el Diseño, Filtros y Ordenamientos para adaptar sus vistas, incluso puede guardar Marcadores de esas configuraciones para un rápido acceso.
page_help_files_item: >-
**Detalle de Archivo** — Una manera de manejar metadatos de archivos, editar el activo original, y actualizar ajustes de acceso.
page_help_settings_project: '**Ajustes del Proyecto** — Sus opciones de ajustes globales para el proyecto.'
page_help_settings_datamodel_collections: >-
**Modelo de Datos: Colecciones** — Lista todas las colecciones disponibles. Esto incluye colecciones visibles, ocultas y del sistema, así como las tablas de base de datos que pueden ser agregadas.
page_help_settings_datamodel_fields: >-
**Modelo de Datos: Colección** — Una manera de manejar esta colección y sus campos.
page_help_settings_roles_collection: '**Navegar en Roles** — Lista los roles de Usuario Admin, Public y Personalizados.'
page_help_settings_roles_item: '**Detalle de Rol** — Administra los permisos del Rol y otros ajustes.'
page_help_settings_presets_collection: >-
**Navegar en Predefinidos** — Lista todos los Predefinidos en el proyecto, incluye: Marcadores para usuario, rol y global, así como vistas por defecto.
page_help_settings_presets_item: >-
**Detalle de Predefinido** — Una manera de administrar Marcadores y Predefinidos por defecto de Colecciones.
page_help_settings_webhooks_collection: '**Navegar en Webhooks** — Lista todos los webhooks en el proyecto.'
page_help_settings_webhooks_item: '**Detalle de Webhook** — Una manera de crear y administrar los webhooks del proyecto.'
page_help_users_collection: '**Directorio de Usuarios** — Lista todos los usuarios del sistema en este proyecto.'
page_help_users_item: >-
**Detalle de Usuario** — Administre su información de cuenta, o visualice el detalle de otros usuarios.
activity_feed: Actividad
add_new: Añadir Nuevo
from_collection: 'De la colección "{collection}"'
create_new: Crear Nuevo
all: Todo
batch_delete_confirm: >-
No se han seleccionado entradas | ¿Está seguro de que desea eliminar esta entrada? Esta acción no puede deshacerse. | Está seguro de que desea eliminar estas {count} entradas? Esta acción no puede deshacerse.
cancel: Cancelar
collection: Colección
collections: Colecciones
singleton: Singleton
singleton_label: Tratar como un sólo objeto
system_fields_locked: Los campos del sistema están bloqueados y no pueden ser editados
fields:
directus_activity:
action: Acción
collection: Colección
item: Clave Primaria del Item
user: Realizado por
timestamp: Realizado el
timestamp: Realizado El
edited_on: Editado el
comment_deleted_on: Comentario eliminado el
ip: Dirección IP
user_agent: Navegador
user_agent: Agente de Usuario (Navegador)
comment: Comentar
directus_collections:
translations: Traducciones para Nombre de Colección
directus_files:
title: Título
tags: Etiquetas
@@ -595,178 +623,384 @@ fields:
metadata: Metadatos
directus_users:
status: Estado
first_name: Nombre
last_name: Apellido
first_name: Nombres
last_name: Apellidos
email: Correo electrónico
email_notifications: Notificaciones por email
email_notifications: Notificaciones por Correo Electrónico
password: Contraseña
role: Rol
company: Empresa
company: Compañía
title: Título
timezone: Zona horaria
timezone: Zona Horaria
language: Idioma
avatar: Avatar
theme: Tema
tfa_secret: Autenticación de dos factores
tfa_secret: Autentificación en 2 Pasos
directus_settings:
project_name: Nombre del Proyecto
project_url: URL del Proyecto
project_color: Color del Proyecto
project_logo: Logo del Proyecto
public_foreground: Superficie Pública
public_background: Fondo Público
public_note: Notas Públicas
auth_password_policy: Política de Contraseña para Autentificación
auth_idle_timeout: Tiempo de Espera de Inactividad para Autentificarse
auth_login_attempts: Intentos de Inicio de Sesión al Autentificarse
storage_asset_presets: Predefinidos de Activos en Almacenamiento
storage_asset_transform: Transformación de Activos en Almacenamiento
directus_fields:
collection: Nombre de Colección
icon: Ícono de Colección
note: Nota
hidden: Oculto
singleton: Singleton
translation: Traducciones del Nombre del Campo
display_template: Plantilla
directus_roles:
name: Nombre del Rol
icon: Ícono del Rol
description: Descripción
ip_access: Acceso IP
app_access: Acceso a App
admin_access: Acceso Admin
enforce_tfa: Requiere 2FA
users: Usuarios en el Rol
module_list: Navegación en Módulo
collection_list: Navegación en Colección
no_fields_in_collection: 'Aún no hay campos en "{collection}"'
do_nothing: No hacer nada
generate_and_save_uuid: Generar y Guardar UUID
save_current_user_id: Guardar ID de Usuario Actual
save_current_user_role: Guardar Rol Actual de Usuario
save_current_datetime: Guardar Fecha y Hora Actual
comment: Comentar
continue: Continuar
continue_as: >-
Actualmente <b>{name}</b> ha iniciado sesión. Si reconoce esta cuenta, presione continuar.
editing_role: 'Rol {role}'
creating_webhook: Creando Webhook
default: Por defecto
delete: Eliminar
delete_are_you_sure: >-
Esta acción es permanente y no puede ser revertida. ¿Realmente le gustaría proceder?
delete_field_are_you_sure: >-
¿Esta seguro de querer borrar el campo "{field}"? Esta acción no se puede deshacer.
¿Realmente desea borrar el campo "{field}"? Esta acción no es reversible.
description: Descripción
done: Completado
duplicate: Duplicado
email: Correo electrónico
embed: Incrustar
embed: Incrustado
fallback_icon: Ícono de Reserva
field: Campo | Campos
file: Archivo
file_library: Biblioteca de archivos
forgot_password: Olvide la contraseña
file_library: Biblioteca de Archivos
forgot_password: He olvidado mi Contraseña
hidden: Oculto
icon: Icono
icon: Ícono
info: Información
junction_collection: Colección de empalme
normal: Normal
success: Éxito
warning: Advertencia
danger: Peligro
junction_collection: Colección de Unión
latency: Latencia
login: Iniciar sesión
login: Iniciar Sesión
my_activity: Mi actividad
not_authenticated: No autenticado
not_authenticated: No Autenticado
authenticated: Autenticado
options: Opciones
otp: Contraseña de un solo uso
password: Contraseña
permissions: Permisos
relationship: Relación
reset: Restablecer
reset_password: Restablecer contraseña
reset_password: Restablecer Contraseña
revisions: Revisiones
revert: Revertir
save: Guardar
schema: Esquema
search: Buscar
select_existing: Seleccionar existente
select_existing: Seleccionar Existente
select_field_type: Seleccione un tipo de campo
select_interface: Seleccione una interfaz
settings: Configuración
sign_in: Registrarse
sign_out: Cerrar sesión
sign_out_confirm: '¿Está seguro de cerrar sesión?'
settings: Ajustes
sign_in: Iniciar Sesión
sign_out: Cerrar Sesión
sign_out_confirm: '¿Realmente desea cerrar sesión?'
something_went_wrong: Algo salió mal.
sort_direction: Dirección de ordenado
sort_direction: Dirección de Ordenamiento
template: Plantilla
translation: Traduccion
translation: Traducción
value: Valor
view_project: Ver Proyecto
report_error: Reportar Error
interfaces:
checkboxes:
checkboxes: Casillas De Selección
allow_other: Permitir otro
description: Elegir entre múltiples opciones a través de casillas de selección
allow_other: Permitir Otro
show_more: 'Mostrar {count} más'
items_shown: Elementos Mostrados
code:
code: Código
description: Escribir o compartir fragmentos de código
line_number: Número de línea
placeholder: Ingrese el código aquí...
collection:
collection: Colección
description: Seleccionar entre colecciones existentes
include_system_collections: Incluir Colecciones del Sistema
collections:
collections: Colecciones
description: Seleccionar entre colecciones existentes
include_system_collections: Incluir Colecciones del Sistema
color:
color: Color
description: Ingrese o seleccione un color
placeholder: Seleccionar un color...
preset_colors: Colores Predefinidos
preset_colors_add_label: Agregar nuevo color...
name_placeholder: Ingresar nombre del color...
datetime:
datetime: Fecha/hora
description: Ingrese fechas y horas
include_seconds: Incluir Segundos
set_to_now: Ajustar a Ahora Mismo
use_24: Usar Formato 24 horas
display-template:
display-template: Plantilla de Presentación
description: Combinar texto estático y valores de campos dinámicos
collection_field: Campo Colección
collection_field_not_setup: La opción del campo de colección está mal configurada
select_a_collection: Seleccionar una Colección
divider:
divider: Separador
description: Etiqueta y a la vez permite dividir los campos en secciones
title_placeholder: Ingresar un título...
inline_title: Titulo en línea
inline_title_label: Mostrar título en línea
dropdown:
allow_other: Permitir otro
description: Seleccine un valor de la lista desplegable
choices_placeholder: Agregar una nueva opción
allow_other: Permitir Otro
allow_other_label: Permitir Otros Valores
allow_none: Permitir "Nada"
allow_none_label: Permitir No Selección
choices_name_placeholder: Ingrese un nombre...
choices_value_placeholder: Ingrese un valor...
dropdown-multiselect:
dropdown-multiselect: Lista Desplegable (Múltiple)
description: Seleccione múltiples valores de la lista de selección
file:
file: Archivo
description: Seleccionar o subir un archivo
files:
files: Archivos
description: Seleccionar o subir múltiples archivos
hash:
hash: Hash
description: Ingresar un valor para ser "Hasheado"
masked: Enmascarado
masked_label: Ocultar los verdaderos valores
icon:
icon: Icono
icon: Ícono
description: Seleccione un ícono de la lista
search_for_icon: Buscar un ícono...
image:
image: Imagen
description: Seleccionar o subir una imagen
interface:
interface: Interfaz
description: Seleccionar una interfaz existente
placeholder: Seleccionar una interfaz...
interface-options:
interface-options: Opciones de Interfaz
description: Un diálogo para seleccionar opciones de una interfaz
many-to-many:
many-to-many: Muchos a Muchos
description: Seleccionar múltiples elementos de unión relacionados
many-to-one:
many-to-one: Muchos a Uno
description: Seleccionar un elemento único relacionado
display_template: Plantilla de Presentación
markdown:
markdown: Markdown
description: Ingresar y previsualizar Markdown
tabbed: Pestaña
tabbed_label: Mostrar previsualización en una pestaña separada
edit: Editar
preview: Vista preliminar
notice:
notice: Aviso
description: Presentar un aviso corto
text: Ingresar contenido del aviso aquí...
numeric:
numeric: Numérico
description: Ingresar un número
minimum_value: Valor Mínimo
maximum_value: Valor Máximo
step_interval: Intervalo de Pasos
one-to-many:
one-to-many: Uno a Muchos
description: Seleccionar múltiples elementos relacionados
no_collection: No se encontró la colección
radio-buttons:
radio-buttons: Botones de radio
radio-buttons: Botones de Radio
description: Seleccionar una de las opciones múltiples
repeater:
repeater: Repetidor
description: Crear múltiples entradas para la misma estructura
edit_fields: Editar Campos
add_label: 'Etiqueta "Agregar Nueva Fila"'
field_name_placeholder: Ingrese el nombre del campo...
field_note_placeholder: Ingrese la nota del campo...
slider:
slider: Deslizador
description: Seleccionar un número usando un deslizador
always_show_value: Siemrpe presentar valor
slug:
slug: Slug
description: Ingresar una palabra conectada con guiones
tags:
tags: Etiquetas
description: Seleccionar o agregar etiquetas
whitespace: Espacio en Blanco
hyphen: Reemplazar con guiones
underscore: Reemplazar con guiones bajos
remove: Remover espacios en blanco
capitalization: Capitalización
uppercase: Convertir a Mayúsculas
lowercase: Convertir a Minúsculas
auto_formatter: Usar Auto-Formateador de Título
alphabetize: Alfabetización
alphabetize_label: Forzar Orden Alfabético
add_tags: Agregar etiquetas...
text-input:
text-input: Control de Texto
text-input: Campo de Texto
description: Ingresar texto de una línea
trim: Eliminar Espacios en Blanco
trim_label: Eliminar espacios al inicio y al final
mask: Enmascarado
mask_label: Ocultar el valor real
textarea:
textarea: Área de Texto
description: Ingresar texto plano multi-línea
toggle:
toggle: Alternar
description: Alternar entre Activado y Desactivado
label_placeholder: Ingresar una etiqueta...
label_default: Habilitado
translations:
display_template: Plantilla de Presentación
no_collection: Sin Colección
user:
user: Usuario
description: Seleccionar un usuario existente de Directus
select_mode: Seleccionar Modo
modes:
auto: Automático
dropdown: Lista Desplegable
modal: Diálogo
wysiwyg:
wysiwyg: WYSIWYG
description: Un editor de texto enriquecido para escribir contenido HTML
toolbar: Barra de Herramientas
custom_formats: Formatos Personalizados
options_override: Sobrescribir Opciones
displays:
boolean:
boolean: Booleano
description: Presentar estados Activo e Inactivo
label_on: Etiqueta Activo
label_on_placeholder: Ingrese una etiqueta para Activo...
label_off: Etiqueta Inactivo
label_off_placeholder: Ingrese una etiqueta para Inactivo...
icon_on: Icono Activado
icon_off: Icono Desactivado
color_on: Color para Activo
color_off: Color para Inactivo
collection:
collection: Colección
description: Presentar una colección
icon_label: Presentar el ícono de la colección
color:
color: Color
description: Presentar un punto coloreado
default_color: Color por Defecto
datetime:
datetime: Fecha/hora
description: Presentar valores relacionados a la hora
format: Formato
format_note: >-
El formato personalizado acepta el __[Date Field Symbol Table](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)__
long: Larga
short: Corta
relative: Relativa
relative_label: 'Presentar hora relativa, ej: hace 5 minutos'
file:
file: Archivo
description: Presentar archivos
filesize:
filesize: Tamaño del archivo
description: Presentar el tamaño de un archivo
formatted-value:
formatted-value: Valor Formateado
description: Presentar una versión formateada del texto
format_title: Formatear Título
format_title_label: Auto-formato
bold_label: Usar negritas
formatted-json-value:
formatted-json-value: Valor JSON Formateado
description: Presentar una versión formateada del objeto
icon:
icon: Icono
icon: Ícono
description: Presentar un ícono
filled: Lleno
filled_label: Usar una variante de llenado
image:
image: Imagen
description: Presentar una previsualización pequeña de la imagen
circle: Círculo
circle_label: Presentar como un círculo
labels:
labels: Etiquetas
description: Presentar ya sea una sola etiqueta o una lista de ellas
default_foreground: Color de letra por defecto
default_background: Fondo por defecto
format_label: Formatear cada etiqueta
show_as_dot: Presentar como Punto
choices_value_placeholder: Ingrese un valor...
choices_text_placeholder: Ingresar un texto...
mime-type:
mime-type: Tipo MIME
description: Presentar el Tipo MIME del archivo
extension_only: Sólo Extensión
extension_only_label: Presentar sólo la extensión del archivo
rating:
rating: Valoración
description: Visualizar un número de estrellas relativas al valor máximo
simple: Simple
simple_label: Presentar estrellas en un formato simple
raw:
raw: Valor Plano
related-values:
related-values: Valores Relacionados
description: Presentar valores relativos
user:
user: Usuario
description: Presentar un usuario de Directus
avatar: Avatar
name: Nombre
both: Ambos
circle_label: Presentar usuario en un círculo
layouts:
cards:
cards: Tarjetas
image_source: Orígen de la imágen
image_fit: Ajuste de Imagen
crop: Recortar
contain: Contiene
title: Título
subtitle: Subtítulo
tabular:

View File

@@ -1,7 +1,34 @@
---
edit_field: Modifiez le Champ
item_revision: Révision de l'article
duplicate_field: Dupliquer le champ
half_width: Demi-largeur
full_width: Pleine largeur
fill_width: Largeur de remplissage
field_name_translations: Traductions des noms de champs
enter_password_to_enable_tfa: Entrez votre mot de passe pour activer l'authentification à deux facteurs
add_field: Ajouter un champ
role_name: Nom de rôle
db_only_click_to_configure: 'Base de données uniquement: cliquez pour configurer '
show_archived_items: Afficher les éléments archivés
required: Requis
requires_value: Valeurs obligatoire
create_preset: Créer un préréglage
create_role: Créer un rôle
create_user: Créer un utilisateur
create_webhook: Créer un Webhook
invite_users: Inviter des utilisateurs
email_examples: 'admin@exemple.com, utilisateur@exemple.com...'
invite: Inviter
emails: E-mails
connection_excellent: Excellente connexion
connection_good: Bonne connexion
connection_fair: Connexion Modérée
connection_poor: Mauvaise connexion
rename_folder: Renommer le fichier
delete_folder: Supprimer le fichier
reset_bookmark: Réinitialiser le signet
rename_bookmark: Renommer le signet
delete_bookmark: Retirer des favoris
directus_version: Version de Directus
language: Langue
@@ -165,8 +192,10 @@ fields:
directus_fields:
note: Remarque
hidden: Caché
translation: Traductions des noms de champs
display_template: Modèle
directus_roles:
name: Nom de rôle
description: Description
comment: Commentaire
continue: Continuer

View File

@@ -58,6 +58,26 @@ nested_files_folders_will_be_moved: I file e le cartelle annidate verranno spost
unknown_validation_errors: 'Si sono verificati errori di validazione per i seguenti campi nascosti:'
validationError:
eq: Il valore deve essere {valid}
neq: Il valore non può essere {invalid}
in: Il valore deve essere uno di {valid}
nin: Il valore non può essere uno di {invalid}
contains: Il valore deve contenere {substring}
ncontains: Il valore non può contenere {substring}
gt: Il valore deve essere maggiore di {valid}
gte: Il valore deve essere maggiore o uguale di {valid}
lt: Il valore deve essere inferiore a {valid}
lte: Il valore deve essere minore o uguale a {valid}
empty: Il valore deve essere vuoto
nempty: Il valore non può essere vuoto
null: Il valore deve essere nullo
nnull: Il valore non può essere nullo
required: Il valore è obbligatorio
no_access: Nessun Accesso
use_custom: Usa Personalizzato
item_permissions: Permessi Oggetto
field_permissions: Permessi di Campo
field_validation: Convalida di Campo
field_presets: Preset di Campo
language: Linguaggio
create_field: Crea campo
hidden_on_detail: Nascosto nei dettagli

View File

@@ -735,7 +735,6 @@ template: Sjabloon
translation: Vertaling
value: Waarde
view_project: Bekijk project
weeks: { }
report_error: Rapporteer fout
interfaces:
checkboxes:

View File

@@ -1,9 +1,63 @@
---
edit_field: Rediger felt
item_revision: Element revisjoner
duplicate_field: Dupliser felt
half_width: Halv vidde
full_width: Fullbredde
fill_width: Fyll vidde
field_name_translations: Feltnavn oversettelser
enter_password_to_enable_tfa: Fyll inn passord for å skru på To-Faktor Autentisering
add_field: Legg til felt
role_name: Rollenavn
db_only_click_to_configure: 'Kun database: Klikk for å konfigurere '
show_archived_items: Vis arkiverte elementer
required: Påkrevd
requires_value: Krever verdi
create_preset: Opprett forhåndsinnstilling
create_role: Opprett rolle
create_user: Opprett bruker
create_webhook: Lag Webhook
invite_users: Invitere brukere
email_examples: 'admin@example.com, user@example.com...'
invite: Inviter
emails: E-post
connection_excellent: Utmerket tilkobling
connection_good: God tilkobling
connection_fair: Ok tilkobling
connection_poor: Dårlig tilkobling
rename_folder: Endre mappenavn
delete_folder: Slett mappe
reset_bookmark: Tilbakestill bokmerke
rename_bookmark: Endre navn på bokmerke
update_bookmark: Oppdater bokmerke
delete_bookmark: Slett bokmerke
delete_bookmark_copy: >-
Er du sikker på at du vil slette "{bookmark}"? Handlingen kan ikke angres.
logoutReason:
SIGN_OUT: Utlogget
SESSION_EXPIRED: Økt utløpt
public: Offentlig
public_description: Kontrollerer hvilke API-data som er tilgjengelige uten å autentisere.
not_allowed: Ikke tillatt
directus_version: Directus versjon
node_version: Node versjon
node_uptime: Node oppetid
os_type: OS Type
os_version: OS versjon
os_uptime: OS oppetid
os_totalmem: OS minne
archive: Arkiv
archive_confirm: Er du sikker på at du vil arkivere dette elementet?
archive_confirm_count: >-
Ingen elementer valgt | Er du sikker på at du vil arkivere dette elementet? | Er du sikker på at du vil arkivere disse {count} elementene?
reset_system_permissions: Tilbakestill systemrettigheter
reset_system_permissions_copy: Tilbakestill alle systemrettigheter til standardinnstillingene
unarchive: Uarkivér
unarchive_confirm: Er du sikker på at du vil uarkivere dette elementet?
nested_files_folders_will_be_moved: Nøstede filer og mapper vil bli flyttet ett nivå opp.
unknown_validation_errors: 'Det oppstod valideringsfeil for følgende skjulte felter:'
validationError:
eq: Verdien må være {valid}
create_field: Opprett felt
hidden_on_detail: Skjult ved detaljer
text: Tekst
@@ -112,7 +166,9 @@ fields:
directus_fields:
note: Notat
hidden: Skjult
translation: Feltnavn oversettelser
directus_roles:
name: Rollenavn
description: Beskrivelse
comment: Kommenter
continue: Fortsett

View File

@@ -1,37 +1,172 @@
---
edit_field: Edytuj pole
item_revision: Wersja elementu
duplicate_field: Duplikuj pole
half_width: Połowa szerokości
full_width: Pełna szerokość
fill_width: Szerokość wypełnienia
field_name_translations: Tłumaczenie nazwy pola
enter_password_to_enable_tfa: Wprowadź hasło, aby włączyć uwierzytelnianie dwuetapowe
add_field: Dodaj pole
role_name: Nazwa roli
db_only_click_to_configure: 'Tylko baza danych: Kliknij, aby skonfigurować '
show_archived_items: Pokaż zarchiwizowane elementy
required: Wymagane
requires_value: Wymaga wartości
create_role: Stwórz rolę
create_user: Utwórz użytkownika
create_webhook: Stwórz webhook
invite_users: Zaproś użytkowników
email_examples: 'admin@example.com, użytkownik@example.com...'
invite: Zaproś
emails: E-maile
connection_excellent: Doskonałe połączenie
connection_good: Dobre połączenie
connection_poor: Słabe połączenie
rename_folder: Zmień nazwę folderu
delete_folder: Usuń folder
reset_bookmark: Zresetuj zakładkę
rename_bookmark: Zmień nazwę zakładki
update_bookmark: Aktualizuj zakładkę
delete_bookmark: Usuń zakładkę
delete_bookmark_copy: >-
Czy na pewno chcesz usunąć zakładkę "{bookmark}"? Tej akcji nie można cofnąć.
logoutReason:
SIGN_OUT: Wylogowano
SESSION_EXPIRED: Sesja wygasła
public_description: Kontroluje dostępność danych API bez uwierzytelniania.
not_allowed: Niedozwolone
directus_version: Wersja aplikacji Directus
archive: Archiwum
reset_system_permissions: Resetuj uprawnienia systemowe
reset_system_permissions_copy: Resetuj wszystkie uprawnienia systemowe do ich domyślnych ustawień
nested_files_folders_will_be_moved: Zagnieżdżone pliki i foldery zostaną przeniesione o jeden poziom.
unknown_validation_errors: 'Wystąpiły błędy walidacji dla następujących ukrytych pól:'
validationError:
in: Wartość musi być jednym z {valid}
nin: Wartość nie może być jednym z {invalid}
contains: Wartość musi zawierać {substring}
ncontains: Wartość nie może zawierać {substring}
gt: Wartość musi być większa niż {valid}
gte: Wartość musi być większa lub równa {valid}
lt: Wartość musi być mniejsza niż {valid}
lte: Wartość musi być mniejsza lub równa {valid}
empty: Wartość musi być pusta
nempty: Wartość nie może być pusta
null: Wartość musi być pusta
nnull: Wartość nie może być pusta
required: Wartość jest wymagana
no_access: Brak dostępu
field_validation: Walidacja pola
presets_for_role: 'Wartość domyślna dla roli {role}.'
fields_and_layout: Pola i układ
field_update_success: 'Zaktualizowano pole: "{field}"'
language: Język
admins_have_all_permissions: Administratorzy mają wszystkie uprawnienia
camera: Aparat
iso: ISO
schema_setup_title: Jak to pole powinno być zapisywane w bazie danych?
schema_field_title: Jak to pole powinno zachowywać się w aplikacji?
create_field: Stwórz pole
creating_new_field: 'Nowe pole ({collection})'
updating_field_field: '{field} ({collection})'
reset_page_preferences: Resetuj ustawienia strony
hidden_field: Ukryte pole
hidden_on_detail: Ukryte w detalu
key: Klucz
alias: Alias
bigInteger: Duża liczba całkowita
boolean: Wartość logiczna
date: Data
datetime: Data i godzina
decimal: Liczba dziesiętna
float: Liczba zmiennoprzecinkowa
integer: Liczba całkowita
json: JSON
string: Ciąg znaków
text: Tekst
time: Czas
timestamp: Sygnatura czasowa
uuid: UUID
not_available_for_type: Niedostępne dla tego typu
create_translations: Utwórz tłumaczenia
auto_generate: Automatycznie generuj
this_will_auto_setup_fields_relations: Spowoduje to automatyczne ustawienie wszystkich wymaganych pól i relacji.
click_here: Kliknij tutaj
click_to_manage_translated_fields: >-
Nie ma jeszcze tłumaczonych pól. Kliknij tutaj, aby je stworzyć. | Istnieje jedno tłumaczone pole. Kliknij tutaj, aby nim zarządzać. | Istnieją {count} tłumaczone pól. Kliknij tutaj, aby nimi zarządzać.
fields_group: Grupa pól
configure_m2o: Skonfiguruj relację wiele do jednego...
configure_o2m: Skonfiguruj relację jeden do wielu...
configure_m2m: Skonfiguruj relację wiele do wielu...
add_m2o_to_collection: 'Dodaj relację wiele do jednego do "{collection}"'
add_o2m_to_collection: 'Dodaj relację jeden do wielu do "{collection}"'
add_m2m_to_collection: 'Dodaj relację wiele do wielu do "{collection}"'
choose_a_type: Wybierz typ...
determined_by_relationship: Określone przez relację
add_note: Dodaj użyteczną informację dla użytkowników...
default_value: Domyślna wartość
add_a_default_value: Dodaj domyślną wartość...
interface_setup_title: Jak użytkownicy będą wchodzić w interakcje z tym polem?
display_setup_title: Jak powinna być wyświetlana wartość tego pola?
standard_field: Pole standardowe
single_file: Pojedynczy plik
multiple_files: Wiele plików
m2o_relationship: Relacja wiele do jednego
o2m_relationship: Relacja jeden do wielu
m2m_relationship: Relacja wiele do wielu
next: Następny
field_name: Nazwa pola
translations: Tłumaczenia
note: Notatka
enter_a_value: Wprowadź wartość...
enter_a_placeholder: Wprowadź tekst zastępczy...
length: Długość
readonly: Tylko do odczytu
unique: Unikalne
primary_key: Klucz podstawowy
foreign_key: Klucz obcy
finish_setup: Zakończ konfigurację
dismiss: Anuluj
clear_value: Wyczyść wartość
reset_to_default: Zresetuj do ustawień domyślnych
undo_changes: Cofnij zmiany
notifications: Powiadomienia
show_all_activity: Pokaż wszystkie aktywności
page_not_found: Nie odnaleziono strony
page_not_found_body: Strona, której poszukujesz, nie istnieje.
confirm_revert: Potwierdź cofnięcie
confirm_revert_body: Spowoduje to przywrócenie elementu do wybranego stanu.
settings_update_success: Ustawienia zaktualizowane
title: Tytuł
revision_delta_updated: 'Zaktualizowano 1 pole | Zaktualizowano {count} pól'
revision_delta_by: '{date} przez {user}'
leave_comment: Napisz komentarz...
post_comment_success: Komentarz dodany
item_create_success: Element utworzony | Elementy utworzone
item_update_success: Element zaktualizowany | Elementy zaktualizowane
item_delete_success: Element usunięty | Elementy usunięte
this_collection: Ta kolekcja
related_collection: Powiązana kolekcja
related_collections: Powiązane kolekcje
export_data: Eksportuj dane
format: Formatowanie
export_collection: 'Eksportuj {collection}'
last_page: Ostatnia strona
last_access: Ostatni dostęp
a_unique_table_name: Unikalna nazwa tabeli...
a_unique_column_name: Unikalna nazwa kolumny...
submit: Zatwierdź
move_to_folder: Przenieś do folderu
move: Przenieś
add_field_related: Dodaj pole do powiązanej kolekcji
interface: Interfejs
today: Dziś
yesterday: Wczoraj
delete_comment: Usuń komentarz
month: Miesiąc
year: Rok
select_all: Wybierz wszystkie
months:
january: Styczeń
february: Luty
@@ -45,57 +180,233 @@ months:
october: Październik
november: Listopad
december: Grudzień
drag_mode: Tryb przeciągania
original: Oryginalny
url: Adres URL
import: Importuj
file_details: Szczegóły pliku
dimensions: Wymiary
size: Wielkość
checksum: Suma kontrolna
owner: Właściciel
edited_by: Edytowane przez
folder: Folder
download: Pobierz
open: Otwórz
open_in_new_window: Otwórz w nowym oknie
background_color: Kolor tła
upload_from_device: Prześlij plik z urządzenia
choose_from_library: Wybierz plik z biblioteki
import_from_url: Załaduj za pośrednictwem adresu URL
no_file_selected: Nie wybrano pliku
download_file: Pobierz plik
collection_key: Klucz kolekcji
name: Nazwa
primary_key_field: Pole klucza podstawowego
type: Typ
creating_new_collection: Tworzenie nowej kolekcji
created_by: Stworzone przez
created_on: Stworzony dnia
creating_collection_info: Nazwij kolekcję i ustaw jego unikalne pole "klucz"...
auto_increment_integer: Automatycznie zwiększana liczba całkowita
generated_uuid: Wygenerowane UUID
manual_string: Wprowadzony ręcznie ciąg znaków
save_and_create_new: Zapisz i utwórz nowy
save_and_stay: Zapisz i zostań
save_as_copy: Zapisz jako kopię
add_existing: Dodaj istniejący
comments: Komentarze
no_comments: Brak komentarzy
click_to_expand: Kliknij, aby rozwinąć
select_item: Wybierz element
no_items: Brak elementów
search_items: Szukaj elementów...
disabled: Wyłączony
information: Informacja
report_bug: Zgłoś błąd
request_feature: Zaproponuj nową funkcjonalność
interface_not_found: 'Interfejs "{interface}" nie został znaleziony.'
reset_interface: Resetuj interfejs
item_count: 'Brak elementów | Jeden element | {count} elementy/ów'
no_items_copy: Nie ma jeszcze żadnych elementów w tej kolekcji.
file_count: 'Brak plików | Jeden plik | {count} plików'
no_files_copy: Brak plików.
user_count: 'Brak użytkowników | Jeden użytkownik | {count} użytkowników'
no_users_copy: Nie ma jeszcze użytkowników w tej roli.
webhooks_count: 'Brak webhooków | Jeden Webhook | {count} Webhooków'
no_webhooks_copy: Brak webhooków.
all_items: Wszystkie elementy
csv: CSV
no_collections: Brak kolekcji
create_collection: Stwórz kolekcję
no_collections_copy_admin: Nie masz jeszcze żadnych kolekcji. Kliknij poniższy przycisk, aby rozpocząć.
users: Użytkownicy
activity: Aktywność
webhooks: Webhooki
field_width: Szerokość pola
user_directory: Katalog użytkownika
duration: Czas trwania
second: Drugi
file_moved: Plik przeniesiony
collection_created: Utworzono kolekcję
modified_on: Modyfikowane Dnia
sort_field: Pole sortowania
toggle_manual_sorting: Przełącz ręczne sortowanie
bookmark_doesnt_exist: Zakładka nie istnieje
bookmark_doesnt_exist_copy: Nie znaleziono zakładki, którą próbujesz otworzyć.
bookmark_doesnt_exist_cta: Wróć do kolekcji
select_an_item: Wybierz element...
edit: Edytuj
enabled: Włączone
disable_tfa: Wyłącz weryfikację dwuetapową
tfa_scan_code: Zeskanuj kod w swojej aplikacji uwierzytelniającej, aby zakończyć konfigurację 2FA
enter_otp_to_disable_tfa: Wprowadź kod jednorazowy, aby wyłączyć 2FA
create_account: Utwórz konto
account_created_successfully: Konto utworzone pomyślnie
auto_fill: Automatyczne wypełnianie
errors:
COLLECTION_NOT_FOUND: "Kolekcja nie istnieje"
FIELD_NOT_FOUND: Nie znaleziono pola
FORBIDDEN: Zabronione
INVALID_CREDENTIALS: Nieprawidłowa nazwa użytkownika lub hasło
INVALID_OTP: Złe hasło jednorazowe
INVALID_QUERY: Nieprawidłowe zapytanie
ITEM_LIMIT_REACHED: Osiągnięto limit przedmiotów
ITEM_NOT_FOUND: Nie znaleziono elementu
ROUTE_NOT_FOUND: Nie znaleziono
UNKNOWN: Nieoczekiwany błąd
value_hashed: Wartość bezpiecznie zakodowana
bookmark_name: Nazwa zakładki...
create_bookmark: Utwórz zakładkę
edit_bookmark: Edytuj zakładkę
bookmarks: Zakładki
unexpected_error: Nieoczekiwany błąd
unexpected_error_copy: Wystąpił nieoczekiwany błąd. Spróbuj ponownie później.
copy_details: Kopiuj szczegóły
no_app_access: Brak dostępu do aplikacji
no_app_access_copy: Ten użytkownik nie może używać aplikacji administracyjnej.
password_reset_sent: Wysłaliśmy Ci bezpieczny link do zresetowania hasła
password_reset_successful: Hasło zostało pomyślnie zresetowane
back: Wstecz
editing_image: Edycja obrazu
flip_horizontal: Odbij w poziomie
flip_vertical: Odwróć w pionie
aspect_ratio: Proporcje
rotate: Obróć
all_users: Wszyscy użytkownicy
delete_collection: Usuń kolekcję
start_end_of_count_items: '{start}-{end} z {count} elementów'
delete_collection_are_you_sure: >-
Czy na pewno chcesz usunąć tę kolekcję? Spowoduje to usunięcie kolekcji i wszystkich jej elementów. Ta akcja jest trwała.
visible_collections: Widoczne kolekcje
hidden_collections: Ukryte kolekcje
unmanaged_collections: Nieskonfigurowane kolekcje
system_collections: Kolekcje systemowe
placeholder: Tekst zastępczy
icon_left: Ikona po lewej stronie
icon_right: Ikona po prawej
font: Czcionka
sans_serif: Bezszeryfowa
serif: Szeryfowa
divider: Separator
color: Kolor
circle: Okrąg
empty_item: Pusty element
log_in_with: 'Zaloguj się za pomocą {provider}'
advanced_filter: Filtr zaawansowany
operators:
eq: Równa się
neq: Różne od
lt: Mniejsze od
gt: Większe od
lte: Równe lub mniejsze od
gte: Większe lub równe od
in: Jest jednym z
nin: Nie jest jednym z
null: Jest puste
nnull: Nie jest puste
contains: Zawiera
ncontains: Nie zawiera
between: Jest pomiędzy
nbetween: Nie jest pomiędzy
empty: Jest pusty
nempty: Nie jest puste
all: Zawiera te klucze
has: Zawiera niektóre z tych kluczy
loading: Wczytywanie...
drop_to_upload: Upuść, aby przesłać
upload_file: Prześlij plik
upload_file_indeterminate: Przesyłanie pliku...
upload_file_success: Plik przesłany
upload_files_indeterminate: 'Przesyłanie plików {done}/{total}'
upload_files_success: 'Przesłano {count} plików'
drag_file_here: Przeciągnij i upuść plik tutaj
click_to_browse: Kliknij, aby przeglądać
collection_setup: Ustawienia kolekcji
value_unique: Wartość musi być unikalna
all_activity: Wszystkie aktywności
all_files: Wszystkie pliki
my_files: Moje pliki
recent_files: Ostatnie pliki
add_file: Dodaj plik
no_results: Brak wyników
no_results_copy: Dostosuj lub wyczyść filtry wyszukiwania, aby zobaczyć wyniki.
role: Rola
user: Użytkownik
create: Stwórz
on_update: Po zaktualizowaniu
read: Odczyt
update: Zaktualizuj
select_fields: Wybierz pola
toggle: Przełącz
icon_on: Ikona włączona
icon_off: Ikona wyłączona
label: Etykieta
wysiwyg_options:
aligncenter: Wyśrodkuj
alignjustify: Wyjustuj
alignleft: Wyrównaj do lewej
alignright: Wyrównaj do prawej
backcolor: Kolor tła
italic: Kursywa
underline: Podkreślenie
strikethrough: Przekreślenie
subscript: Indeks dolny
superscript: Indeks górny
blockquote: Blok cytowany
bullist: Lista wypunktowana
numlist: Lista numerowana
hr: Pozioma linia
link: Dodaj link
unlink: Usuń link
media: Dodaj multimedia
image: Dodaj obraz
copy: Kopiuj
cut: Wytnij
paste: Wklej
h1: Nagłówek 1
h2: Nagłówek 2
h3: Nagłówek 3
h4: Nagłówek 4
h5: Nagłówek 5
h6: Nagłówek 6
fontselect: Wybierz czcionkę
fontsizeselect: Wybierz rozmiar czcionki
indent: Wcięcie
undo: Cofnij
redo: Powtórz
remove: Usuń
removeformat: Usuń formatowanie
selectall: Wybierz wszystkie
table: Tabela
visualaid: Pokaż niewidoczne elementy
code: Zobacz źródło
fullscreen: Pełny ekran
dropdown: Lista rozwijana
choices: Opcje
deselect: Odznacz
editing_in_batch: 'Grupowa edycja {count} elementów'
settings_data_model: Model danych
settings_permissions: Role i uprawnienia
settings_project: Ustawienia projektu
settings_webhooks: Webhooki
@@ -104,12 +415,14 @@ unsaved_changes_copy: Czy na pewno chcesz opuścić tę stronę?
discard_changes: Odrzuć zmiany.
keep_editing: Kontynuuj edycję
add_new: Dodaj nowy
create_new: Utwórz nowy
all: Wszystkie
batch_delete_confirm: >-
Żaden element nie został zaznaczony | Na pewno chcesz usunąć ten element? Tej akcji nie będzie można cofnąć. | Na pewno chcesz usunąć {count} elementów? Tej akcji nie będzie można cofnąć.
cancel: Anuluj
collection: Kolekcja
collections: Kolekcje
system_fields_locked: Pola systemowe są zablokowane i nie można ich edytować
fields:
directus_activity:
action: Czynność
@@ -155,16 +468,43 @@ fields:
tfa_secret: Uwierzytelnianie dwuetapowe
directus_settings:
project_name: Nazwa projektu
project_url: Adres URL projektu
project_color: Kolor projektu
project_logo: Logo projektu
auth_password_policy: Zasady haseł
auth_login_attempts: Próby logowania
directus_fields:
collection: Nazwa kolekcji
icon: Ikona kolekcji
note: Notatka
hidden: Ukryte
translation: Tłumaczenie nazwy pola
display_template: Szablon
directus_roles:
name: Nazwa roli
icon: Ikona roli
description: Opis
ip_access: Dostęp IP
app_access: Dostęp aplikacji
admin_access: Dostęp do panelu administratora
enforce_tfa: Wymagaj uwierzytelniania dwuskładnikowego
users: Użytkownicy w roli
no_fields_in_collection: 'Nie ma jeszcze żadnych pól w "{collection}"'
do_nothing: Nic nie rób
generate_and_save_uuid: Generuj i zapisz UUID
save_current_user_id: Zapisz bieżący identyfikator użytkownika
save_current_user_role: Zapisz bieżącą rolę użytkownika
save_current_datetime: Zapisz bieżącą datę/czas
comment: Komentarz
continue: Kontynuuj
continue_as: >-
<b>{name}</b> jest obecnie uwierzytelniony. Jeśli rozpoznajesz to konto, naciśnij przycisk Kontynuuj.
editing_role: 'Rola {role}'
creating_webhook: Tworzenie Webhooka
default: Domyślnie
delete: Usuń
delete_are_you_sure: >-
Ta akcja jest trwała i nie może zostać cofnięta. Czy na pewno chcesz kontynuować?
delete_field_are_you_sure: >-
Na pewno chcesz usunąć pole "{field}"? Tej akcji nie będzie można cofnąć.
description: Opis
@@ -179,11 +519,16 @@ forgot_password: Zapomniałem hasła
hidden: Ukryte
icon: Ikona
info: Informacja
normal: Normalny
success: Sukces
warning: Ostrzeżenie
danger: Niebezpieczeństwo
junction_collection: Kolekcja Junction
latency: Opóźnienie
login: Zaloguj się
my_activity: Moje aktywność
not_authenticated: Brak uwierzytelnienia
authenticated: Uwierzytelniony
options: Opcje
otp: Jednorazowe hasło
password: Hasło
@@ -191,11 +536,13 @@ permissions: Uprawnienia
relationship: Powiązanie
reset: Wyczyść
reset_password: Resetuj hasło
revisions: Wersje
revert: Przywróć
save: Zapisz
schema: Schemat
search: Wyszukaj
select_existing: Wybierz istniejące
select_field_type: Wybierz typ pola
select_interface: Wybierz interfejs
settings: Ustawienia
sign_in: Zarejestruj się
@@ -206,46 +553,146 @@ sort_direction: Kierunek sortowania
template: Szablon
translation: Tłumaczenia
value: Wartość
view_project: Zobacz projekt
report_error: Zgłoś błąd
interfaces:
checkboxes:
checkboxes: Pola wyboru
description: Wybierz pomiędzy wieloma opcjami za pomocą pól wyboru
allow_other: Zezwól na inne
show_more: 'Pokaż {count} więcej'
code:
code: Kod
line_number: Numer linii
placeholder: Wprowadź kod tutaj...
collection:
collection: Kolekcja
description: Wybierz pomiędzy istniejącymi kolekcjami
include_system_collections: Dołącz kolekcje systemowe
collections:
collections: Kolekcje
description: Wybierz pomiędzy istniejącymi kolekcjami
include_system_collections: Dołącz kolekcje systemowe
color:
color: Kolor
description: Wprowadź lub wybierz kolor
placeholder: Wybierz kolor...
preset_colors_add_label: Dodaj nowy kolor...
name_placeholder: Wprowadź nazwę koloru...
datetime:
datetime: Data i godzina
description: Wprowadź daty i godziny
include_seconds: Uwzględnij sekundy
set_to_now: Ustaw na teraz
use_24: Użyj 24-godzinnego formatu
display-template:
collection_field: Pole kolekcji
divider:
divider: Separator
dropdown:
allow_other: Zezwól na inne
choices_value_placeholder: Wprowadź wartość...
dropdown-multiselect:
description: Wybierz wiele wartości z listy rozwijanej
file:
file: Plik
description: Wybierz lub prześlij plik
files:
files: Pliki
description: Wybierz lub prześlij wiele plików
hash:
masked_label: Ukryj rzeczywiste wartości
icon:
icon: Ikona
description: Wybierz ikonę z listy rozwijanej
search_for_icon: Szukaj ikony...
image:
image: Obraz
description: Wybierz lub prześlij plik
interface:
interface: Interfejs
description: Wybierz istniejący interfejs
placeholder: Wybierz interfejs...
interface-options:
interface-options: Opcje interfejsu
description: Okno do wyboru opcji interfejsu
many-to-many:
many-to-many: Wiele do wielu
many-to-one:
many-to-one: Wiele do jednego
description: Wybierz pojedynczy powiązany element
markdown:
markdown: Markdown
description: Wprowadź i zobacz markdown
tabbed_label: Pokaż podgląd w osobnej karcie
edit: Edytuj
preview: Podgląd
numeric:
numeric: Numeryczne
description: Wprowadź liczbę
minimum_value: Wartość minimalna
maximum_value: Wartość maksymalna
one-to-many:
one-to-many: Jeden do wielu
description: Wybierz wiele powiązanych elementów
no_collection: Kolekcja nie została znaleziona
radio-buttons:
radio-buttons: Przyciski jednokrotnego wyboru
repeater:
description: Utwórz wiele wpisów o tej samej strukturze
edit_fields: Edytuj pola
add_label: 'Etykieta "Dodaj nowy wiersz"'
field_name_placeholder: Wprowadź nazwę pola...
slider:
slider: Suwak
description: Wybierz numer używając suwaka
always_show_value: Zawsze pokazuj wartość
slug:
slug: Slug
description: Wpisz słowo połączone z myślnikami
tags:
tags: Etykiety
description: Wybierz lub dodaj tagi
whitespace: Białe znaki
hyphen: Zastąp myślnikiem
underscore: Zastąp podkreśleniem
remove: Usuń białe znaki
alphabetize: Alfabetycznie
alphabetize_label: Wymuś kolejność alfabetyczną
add_tags: Dodaj tagi...
text-input:
text-input: Pole tekstowe
description: Wprowadź pojedynczą linię tekstu
trim: Przytnij
trim_label: Przytnij początek i koniec
mask_label: Ukryj rzeczywistą wartość
textarea:
description: Wprowadź wieloliniowy tekst
toggle:
toggle: Przełącz
label_placeholder: Wprowadź etykietę...
label_default: Włączone
translations:
no_collection: Brak kolekcji
user:
user: Użytkownik
modes:
dropdown: Lista rozwijana
modal: Okno
wysiwyg:
wysiwyg: WYSIWYG
toolbar: Pasek narzędzi
custom_formats: Niestandardowe formaty
displays:
boolean:
boolean: Wartość logiczna
label_on: Etykieta włączona
icon_on: Ikona włączona
icon_off: Ikona wyłączona
collection:
collection: Kolekcja
description: Wyświetl kolekcję
icon_label: Pokaż ikonę kolekcji
color:
color: Kolor
datetime:
@@ -257,14 +704,42 @@ displays:
filesize: Rozmiar pliku
icon:
icon: Ikona
description: Wyświetl ikonę
filled: Wypełniony
image:
image: Obraz
description: Wyświetl mały podgląd obrazu
circle: Okrąg
circle_label: Wyświetl jako okrąg
labels:
labels: Etykiety
format_label: Formatuj każdą etykietę
show_as_dot: Pokaż jako kropkę
choices_value_placeholder: Wprowadź wartość...
choices_text_placeholder: Wprowadź tekst...
mime-type:
mime-type: Typ MIME
description: Pokaż typ MIME pliku
extension_only: Tylko rozszerzenie
extension_only_label: Pokaż tylko rozszerzenie pliku
rating:
rating: Ocena
description: Wizualizuj liczbę jako gwiazdkę względem wartości maksymalnej
simple: Prosty
simple_label: Pokaż gwiazdki w prostym formacie
related-values:
related-values: Powiązane wartości
user:
user: Użytkownik
avatar: Awatar
name: Nazwa
both: Oba
circle_label: Pokaż użytkownika w kółku
layouts:
cards:
cards: Karty
image_source: Źródło obrazu
crop: Przytnij
title: Tytuł
subtitle: Subtytuł
tabular:

View File

@@ -77,6 +77,10 @@ use_custom: Usar Personalizado
item_permissions: Permissões do Item
field_permissions: Permissões dos campos
field_validation: Validação dos campos
field_presets: Predefinições de campo
permissions_for_role: 'Itens que o cargo {role} pode {action}.'
fields_for_role: 'Campos que o cargo {role} pode {action}.'
presentation_and_aliases: Apresentação e pseudônimos
revision_post_update: Aqui está como este item ficou após a atualização...
changes_made: Estas são as mudanças específicas que foram feitas...
no_relational_data: Tenha em mente que isso não inclui dados relacionais.
@@ -322,6 +326,7 @@ collection_created: Coleção criada
modified_on: Modificado em
card_size: Tamanho do cartão
sort_field: Campo de ordenação
toggle_manual_sorting: Alternar ordenação manual
bookmark_doesnt_exist: Marcador não existe
bookmark_doesnt_exist_copy: O marcador que você está tentando abrir não pôde ser encontrado.
bookmark_doesnt_exist_cta: Voltar à coleção
@@ -343,6 +348,7 @@ errors:
INVALID_OTP: Senha de uso único incorreta
INVALID_PAYLOAD: Payload inválido
INVALID_QUERY: Consulta inválida
ITEM_LIMIT_REACHED: Limite de elementos alcançado
ITEM_NOT_FOUND: Item não encontrado
ROUTE_NOT_FOUND: Não encontrado
UNKNOWN: Erro inesperado
@@ -355,6 +361,7 @@ presets: Predefinições
unexpected_error: Erro inesperado
unexpected_error_copy: Um erro inesperado ocorreu. Tente novamente mais tarde.
copy_details: Copiar detalhes
no_app_access: Sem acesso ao app
no_app_access_copy: Este usuário não tem permissão para usar o admin app.
password_reset_sent: Enviamos um link seguro para redefinir sua senha
password_reset_successful: Senha redefinida com sucesso
@@ -421,6 +428,7 @@ upload_pending: Envio pendente
drag_file_here: Arraste e solte arquivos aqui para enviar
click_to_browse: Clique para pesquisar
layout_options: Opções de Layout
collection_setup: Configurando coleção
optional_system_fields: Campos de sistema opcionais
value_unique: O valor deve ser único
all_activity: Todas as atividades
@@ -498,7 +506,7 @@ wysiwyg_options:
code: Ver Fonte
fullscreen: Tela cheia
directionality: Direcionalidade
dropdown: Menu suspenso
dropdown: Seleção
choices: Escolhas
choices_option_configured_incorrectly: Opções configuradas incorretamente
deselect: Desmarcar
@@ -527,6 +535,34 @@ unsaved_changes_copy: Tem certeza que deseja sair desta página?
discard_changes: Descartar Mudanças
keep_editing: Continuar editando
page_help_collections_overview: '**Visão geral das coleções** — Lista de todas as coleções que você tem acesso.'
page_help_collections_collection: >-
**Navegando em itens** — Lista todos os {collection} itens que você tem acesso. Personalize o layout, os filtros e a ordenação para personalizar a sua vista e até mesmo salve marcadores dessas diferentes configurações para acesso rápido.
page_help_collections_item: >-
**Detalhes do Item** — Um formulário para visualizar e gerenciar este item. Esta barra lateral também contém um histórico completo de revisões e comentários incorporados.
page_help_activity_collection: >-
**Navegando em atividades** — Uma listagem abrangente do sistema de todos os seus usuários e atividade de conteúdo.
page_help_docs_global: >-
**Visão geral de documentação** — Documentação feita especificamente para esta versão e esquema deste projeto.
page_help_files_collection: >-
**Biblioteca de Arquivos** - Lista todos os arquivos enviados para este projeto. Personalize o layout, os filtros e a ordenação para personalizar a sua vista e até mesmo salve marcadores dessas diferentes configurações para acesso rápido.
page_help_files_item: >-
**Detalhe do Arquivo** — Um formulário para gerenciar os metadados do arquivo, editar o asset original e atualizar as configurações de acesso.
page_help_settings_project: '**Configurações do projeto** — Opções de configuração globais do seu projeto.'
page_help_settings_datamodel_collections: >-
**Modelo de Dados: Coleções** — Lista todas as coleções disponíveis. Isso inclui coleções visíveis, escondidas e do sistema, bem como tabelas de banco de dados não gerenciadas que podem ser adicionadas.
page_help_settings_datamodel_fields: >-
**Modelo de Dados: Coleção** — Um formulário para gerenciar esta coleção e seus campos.
page_help_settings_roles_collection: '**Navegando em cargos** - Lista os cargos de administrador, público e também personalizados.'
page_help_settings_roles_item: '**Detalhes do cargo** — Gerencie as permissões de um cargo e outras configurações.'
page_help_settings_presets_collection: >-
**Navegando em predefinições** — Lista todas as predefinições no projeto, incluindo: usuário, cargo e marcadores globais, bem como visualizações padrão.
page_help_settings_presets_item: >-
**Detalhe da predefinição** — Um formulário para gerenciar marcadores e predefinições de coleção padrão.
page_help_settings_webhooks_collection: '**Navegando em Webhooks** — Lista todos os webhooks dentro do projeto.'
page_help_settings_webhooks_item: '**Detalhe de Webhook** — Um formulário para criar e gerenciar os webhooks do projeto.'
page_help_users_collection: '**Diretório do Usuário** — Lista todos os usuários do sistema neste projeto.'
page_help_users_item: >-
**Detalhe do Usuário** — Gerencie as informações da sua conta, ou veja os detalhes de outros usuários.
activity_feed: Feed de atividade
add_new: Adicionar Novo
from_collection: 'Da coleção “{collection}”'
@@ -588,7 +624,11 @@ fields:
project_url: URL do projeto
project_color: Cor do projeto
project_logo: Logotipo do projeto
public_foreground: Primeiro plano público
public_background: Fundo público
public_note: Nota pública
auth_password_policy: Política de senha para autenticação
auth_login_attempts: Tentativas de autenticação
directus_fields:
collection: Nome da coleção
icon: Ícone da coleção
@@ -600,12 +640,16 @@ fields:
name: Nome do cargo
icon: Ícone do cargo
description: Descrição
ip_access: Acesso IP
app_access: Acesso ao app
admin_access: Acesso de administrador
enforce_tfa: Exigir 2FA
users: Usuários no cargo
no_fields_in_collection: 'Ainda não há campos em "{collection}"'
do_nothing: Não fazer nada
generate_and_save_uuid: Gerar e salvar UUID
save_current_user_id: Salvar ID de usuário atual
save_current_datetime: Salvar data/hora atual
comment: Comentário
continue: Continuar
continue_as: >-
@@ -670,6 +714,7 @@ report_error: Relatar erro
interfaces:
checkboxes:
checkboxes: Caixas de Seleção
description: Escolha entre várias opções através de caixas de seleção
allow_other: Permitir Outros
show_more: 'Exibir mais {count}'
items_shown: Itens mostrados
@@ -707,6 +752,7 @@ interfaces:
title_placeholder: Insira um título...
inline_title_label: Mostrar título dentro da linha
dropdown:
description: Selecione um valor a partir de uma seleção
choices_placeholder: Adicionar uma nova escolha
allow_other: Permitir Outros
allow_other_label: Permitir outros valores
@@ -715,7 +761,8 @@ interfaces:
choices_name_placeholder: Insira um nome...
choices_value_placeholder: Insira um valor...
dropdown-multiselect:
dropdown-multiselect: Dropdown (Múltiplo)
dropdown-multiselect: Seleção (Múltipla)
description: Selecione vários valores a partir de uma seleção
file:
file: Arquivo
description: Selecione ou envie um arquivo
@@ -725,9 +772,11 @@ interfaces:
hash:
hash: Hash
description: Insira um valor para ser hasheado
masked: Mascarado
masked_label: Ocultar os valores verdadeiros
icon:
icon: Ícone
description: Selecione um ícone a partir de uma seleção
search_for_icon: Procurar por um ícone...
image:
image: Imagem
@@ -742,9 +791,12 @@ interfaces:
many-to-many: Muitos-para-muitos (N para N)
many-to-one:
many-to-one: Muitos-para-um (N para 1)
description: Selecione um único item relacionado
display_template: Modelo de exibição
markdown:
markdown: Markdown
description: Inserir e pré-visualizar markdown
tabbed_label: Mostrar pré-visualização em guia separada
edit: Editar
preview: Pré-visualizar
notice:
@@ -759,12 +811,16 @@ interfaces:
step_interval: Intervalo dos passos
one-to-many:
one-to-many: Um-para-muitos (1 para N)
description: Selecione vários itens relacionados
no_collection: A coleção não pôde ser encontrada
radio-buttons:
radio-buttons: Botões de radio
description: Selecione uma das múltiplas escolhas
repeater:
repeater: Repetidor
description: Criar múltiplas entradas da mesma estrutura
edit_fields: Editar campos
add_label: 'Rótulo "Adicionar nova linha"'
field_name_placeholder: Inserir nome do campo...
field_note_placeholder: Insira uma nota pro campo...
slider:
@@ -792,7 +848,11 @@ interfaces:
description: Digite um texto de linha única
trim: Aparar
trim_label: Aparar o início e fim
mask: Mascarado
mask_label: Ocultar o valor real
textarea:
textarea: Área de texto
description: Insira texto puro de múltiplas linhas
toggle:
toggle: Alternar
description: Alternar entre ligado e desligado
@@ -807,7 +867,7 @@ interfaces:
select_mode: Selecionar modo
modes:
auto: Automático
dropdown: Menu suspenso
dropdown: Seleção
modal: Modal
wysiwyg:
wysiwyg: WYSIWYG
@@ -851,10 +911,13 @@ displays:
description: Exibe o tamanho de um arquivo
formatted-value:
formatted-value: Valor formatado
description: Exibe uma versão formatada do texto
format_title: Formatar título
format_title_label: Auto-formatar capitalização
bold_label: Usar estilo negrito
formatted-json-value:
formatted-json-value: Valor JSON formatado
description: Exibe uma versão formatada do objeto
icon:
icon: Ícone
description: Exibir um ícone
@@ -862,10 +925,13 @@ displays:
filled_label: Usar a variante preenchida
image:
image: Imagem
description: Exibe uma visualização de imagem minúscula
circle: Círculo
circle_label: Exibir como um círculo
labels:
labels: Rótulos
description: Exibir uma única ou uma lista de rótulos
default_foreground: Primeiro plano padrão
default_background: Plano de fundo padrão
format_label: Formatar cada rótulo
show_as_dot: Mostrar como ponto
@@ -878,6 +944,7 @@ displays:
extension_only_label: Exibir apenas a extensão do arquivo
rating:
rating: Avaliação
description: Visualizar um número como estrelas relativo ao valor máximo
simple: Simples
simple_label: Mostrar estrelas em um formato simples
raw:

View File

@@ -1,7 +1,60 @@
---
edit_field: Editează câmp
item_revision: Revizuire element
duplicate_field: Duplicare câmp
half_width: Jumătate de lăţime
full_width: Lăţime totală
fill_width: Umple lăţime
field_name_translations: Traducerile numelui câmpului
enter_password_to_enable_tfa: Introduceți parola pentru a activa autentificarea în doi paşi
add_field: Adaugă câmp
role_name: Nume de rol
db_only_click_to_configure: 'Doar baza de date: Apăsaţi pentru a configura '
show_archived_items: Arată elementele arhivate
required: Necesar
requires_value: Necesită valoare
create_preset: Creează presetare
create_role: Creează Rol
create_user: Creează utilizator
create_webhook: Creează Webhook
invite_users: Invită utilizatori
email_examples: 'admin@exemplu.com, utilizator@exemplu.com...'
invite: Invită
emails: E-mailuri
connection_excellent: Conexiune excelentă
connection_good: Conexiune bună
connection_fair: Conexiune rezonabilă
connection_poor: Conexiune slabă
rename_folder: Redenumeşte folderul
delete_folder: Şterge folderul
reset_bookmark: Resetează semnul de carte
rename_bookmark: Redenumeşte semnul de carte
update_bookmark: Actualizează semnul de carte
delete_bookmark: Șterge semn de carte
delete_bookmark_copy: >-
Sunteţi sigur că doriţi să ştergeţi semnul de carte "{bookmark}"? Această acţiune nu poate fi modificată ulterior.
logoutReason:
SIGN_OUT: Deconectat
SESSION_EXPIRED: Sesiunea a expirat
public: Public
public_description: Controlează ce date API sunt disponibile fără autentificare.
not_allowed: Nu este permis
directus_version: Versiune Directus
node_version: Versiune Node
node_uptime: Timp de activitate Node
os_type: Tipul SO
os_version: Versiunea SO
os_uptime: Timpul de activitate al SO
os_totalmem: Memoria SO
archive: Arhivează
archive_confirm: Sunteţi sigur că doriţi să arhivaţi acest element?
archive_confirm_count: >-
Niciun element selectat | Sunteţi sigur că doriţi să arhivaţi acest element? | Sunteţi sigur că doriţi să arhivaţi aceste {count} elemente?
reset_system_permissions: Resetare permisiuni de sistem
reset_system_permissions_copy: Resetează toate permisiunile de sistem la valorile implicite
unarchive: Dezarhivare
unarchive_confirm: Sunteţi sigur că doriţi să dezarhivaţi acest element?
nested_files_folders_will_be_moved: Fişierele şi folderele suprapuse vor fi mutate cu un nivel mai sus.
create_field: Creează Câmp
auto_generate: Generare automată
add_note: Adaugă o notă ajutătoare pentru utilizatori...
@@ -83,7 +136,9 @@ fields:
tfa_secret: Autentificare în doi pași
directus_fields:
hidden: Ascuns
translation: Traducerile numelui câmpului
directus_roles:
name: Nume de rol
description: Descriere
comment: Comentariu
continue: Continuă

View File

@@ -1,10 +1,31 @@
---
edit_field: Редактировать поле
full_width: Полная ширина
add_field: Добавить поле
role_name: Название роли
required: Необходимые
create_role: Создать Роль
create_user: Создать пользователя
rename_folder: Переименовать папку
delete_folder: Удалить папку
reset_bookmark: Сбросить закладку
rename_bookmark: Переименовать закладку
update_bookmark: Обновить закладку
delete_bookmark: Удалить закладку
directus_version: Версия Directus
validationError:
in: Значение должно быть одним из {valid}
nin: Значение не может быть одним из {invalid}
contains: Значение должно содержать {substring}
ncontains: Значение не может содержать {substring}
gt: Значение должно быть больше {valid}
all_access: Полный доступ
no_access: Нет Доступа
delete_field: Удалить поле
field_create_success: 'Создано поле: "{field}"'
field_update_success: 'Обновлено поле: "{field}"'
language: Язык
camera: Камера
create_field: Создать Поле
hidden_on_detail: Скрывать в карточке
date: Дата
@@ -15,6 +36,8 @@ auto_generate: Авто-Генерация
add_note: Добавить заметку для пользователей...
default_value: Значение По умолчанию
next: Дальше
field_name: Название поля
translations: Переводы
note: Заметка
length: Длина
readonly: Только для чтения
@@ -27,6 +50,7 @@ notifications: Уведомления
page_not_found: Страница не найдена
page_not_found_body: Страница, которую вы ищете, кажется, не существует.
display: Отображение
settings_update_success: Настройки обновлены
title: Заголовок
revision_delta_deleted: Удалено
leave_comment: Оставить комментарий...
@@ -34,6 +58,12 @@ this_collection: Эта коллекция
related_collection: Связанная Коллекция
format: Формат
submit: Отправить
move_to_folder: Переместить в папку
move: Переместить
interface: Интерфейс
today: Сегодня
yesterday: Вчера
delete_comment: Удалить комментарий
months:
january: Январь
february: Февраль
@@ -51,6 +81,8 @@ size: Размер
checksum: Контрольная сумма
owner: Владелец
download: Загрузить
open: Открыть
open_in_new_window: Открыть в новом окне
name: Имя
created_by: Кем создано
created_on: Дата создания
@@ -72,6 +104,8 @@ sort_field: Поле сортировки
edit: Редактирование
bookmarks: Закладки
back: Назад
all_users: Все пользователи
system_collections: Системные коллекции
placeholder: Плейсхолдер
icon_left: Значок слева
icon_right: Значок справа
@@ -167,6 +201,7 @@ fields:
hidden: Скрыто
display_template: Шаблон
directus_roles:
name: Название роли
description: Описание
comment: Комментарий
continue: Продолжить
@@ -240,6 +275,8 @@ interfaces:
files: Файлы
icon:
icon: Иконка
interface:
interface: Интерфейс
interface-options:
interface-options: Настройки интерфейса
many-to-many:

View File

@@ -1,21 +1,123 @@
---
edit_field: Alanı Düzenle
item_revision: Revizyonları Göster
duplicate_field: Yinelenen Alan
half_width: Yarı Genişlik
full_width: Tam Genişlik
fill_width: Tam Genişlik
field_name_translations: Alan İsim Çevirileri
enter_password_to_enable_tfa: İki Faktörlü Kimlik Doğrulamayı etkinleştirmek için şifrenizi girin
add_field: Alan Ekle
role_name: Rol Adı
db_only_click_to_configure: 'Yalnızca Veritabanı: Yapılandırmak için Tıklayın '
show_archived_items: Arşivlenmiş Öğeleri Göster
required: Gerekli
requires_value: Gerekli değer
create_preset: Ön Ayar Oluştur
create_role: Rol Oluştur
create_user: Kullanıcı Oluştur
create_webhook: Webhook Oluşturun
invite_users: Kullanıcıları Davet Et
email_examples: 'admin@example.com, user@example.com...'
invite: Davet et
emails: E-postalar
connection_excellent: Mükemmel Bağlantı
connection_good: İyi Bağlantı
connection_fair: Makul Bağlantı
connection_poor: Kötü Bağlantı
rename_folder: Klasörü Yeniden Adlandır
delete_folder: Klasörü Sil
reset_bookmark: Yer İşaretini Sıfırla
rename_bookmark: Yer İşaretini Yeniden Adlandır
update_bookmark: Yer İşaretini Güncelle
delete_bookmark: Yer imini kaldır
delete_bookmark_copy: >-
{bookmark} yer işareti kaldırmak istediğinize emin misiniz? Bu işlem geri alınamaz.
logoutReason:
SIGN_OUT: Oturum kapatıldı
SESSION_EXPIRED: Oturumun süresi doldu
public: Herkese Açık
public_description: Kimlik doğrulaması olmadan hangi API verilerinin kullanılabileceğini kontrol eder.
not_allowed: İzin Verilmedi
directus_version: Directus Versiyon
node_version: Node Versiyon
node_uptime: Node Uptime
os_type: OS Tip
os_version: OS Versiyon
os_uptime: OS Uptime
os_totalmem: OS Hafıza
archive: Arşiv
archive_confirm: Bu öğeyi arşivlemek istediğinizden emin misiniz?
archive_confirm_count: >-
Hiçbir Öğe Seçilmedi | Bu öğeyi arşivlemek istediğinizden emin misiniz? | {count} öğeyi arşivlemek istediğinizden emin misiniz?
reset_system_permissions: Sistem Yetkilerini Sıfırla
reset_system_permissions_copy: Tüm sistem izinlerini varsayılan değerlerine sıfırlayın
unarchive: Arşivden çıkar
unarchive_confirm: Bu öğeyi arşivden çıkarmak istediğinizden emin misiniz?
nested_files_folders_will_be_moved: İç içe geçmiş dosyalar ve klasörler bir seviye yukarı taşınacaktır.
unknown_validation_errors: 'Aşağıdaki gizli alanlar için doğrulama hataları vardı:'
validationError:
eq: Değer {valid} olmalıdır
neq: Değer {invalid} olamaz
in: Değer, {valid} değerlerinden biri olmalıdır
nin: Değer, {invalid} değerlerinden biri olamaz
contains: Değer, {substring} içermelidir
ncontains: Değer, {substring} içeremez
gt: Değer, {valid} değerinden büyük olmalıdır
gte: Değer, {valid} değerinden büyük veya ona eşit olmalıdır
language: Dil
create_field: Alan Ekle
hidden_on_detail: Detayda Gizli
disabled_editing_value: Düzenleme değerini devre dışı bırakın
key: Key
alias: Takma Ad
bigInteger: Büyük Tamsayı
boolean: Evet/Hayır
date: Tarih
datetime: Tarih Saat
decimal: Ondalık
float: Ondalıklı sayı
integer: Tamsayı
json: JSON
string: Yazı
text: Metin
time: Zaman
timestamp: Zaman damgası
uuid: UUID
not_available_for_type: Bu Tip için Mevcut Değil
create_translations: Çeviriler Oluşturun
auto_generate: Otomatik Oluştur
this_will_auto_setup_fields_relations: Bu, gerekli tüm alanları ve ilişkileri otomatik olarak kuracaktır.
click_here: Buraya tıklayın
to_manually_setup_translations: çevirileri manuel olarak ayarlamak için.
click_to_manage_translated_fields: >-
Henüz çevrilmiş alan yok. Bunları oluşturmak için burayı tıklayın. | Çevrilmiş bir alan var. Yönetmek için burayı tıklayın. | Çevrilmiş {count} alan var. Bunları yönetmek için burayı tıklayın.
fields_group: Alanlar Grubu
configure_m2o: Çoktan Bire İlişkinizi Yapılandırın...
configure_o2m: Bire Çoğa İlişkinizi Yapılandırın...
configure_m2m: Çoktan Çoğa İlişkinizi Yapılandırın...
configure_m2a: Çoktan Herhangi Bir İlişkinizi Yapılandırın...
add_m2o_to_collection: '"{collection}" koleksiyonuna Çoktan Bire''yi ekleyin'
add_o2m_to_collection: '"{collection}" koleksiyonuna Bire Çok ekleyin'
add_m2m_to_collection: '"{collection}" koleksiyonuna Çoktan Çoğa ekle'
choose_a_type: Bir Tür Seçin...
add_note: Kullanıcılar için yardımcı bir not ekleyin...
default_value: Öntanımlı Değer
add_a_default_value: Varsayılan bir değer ekleyin...
interface_setup_title: Kullanıcılar bu alanla nasıl etkileşim kuracak?
display_setup_title: Bu alanın değeri nasıl görüntülenmelidir?
standard_field: Standart Alan
single_file: Tek Dosya
multiple_files: Birden Fazla Dosya
m2o_relationship: Çoktan Bire İlişki
o2m_relationship: Bire Çok İlişki
m2m_relationship: Çoktan Çoka İlişki
m2a_relationship: Çoktan Herhangi Bir İlişki
next: Sonraki
field_name: Alan adı
translations: Çeviriler
note: Not
enter_a_value: Bir değer girin...
length: Uzunluk
readonly: Salt-Okunur
unique: Benzersiz
@@ -165,8 +267,10 @@ fields:
directus_fields:
note: Not
hidden: Gizli
translation: Alan İsim Çevirileri
display_template: Şablon
directus_roles:
name: Rol Adı
description: ıklama
comment: Yorum
continue: Devam
@@ -234,6 +338,7 @@ interfaces:
divider: Ayırıcı
dropdown:
allow_other: Diğerlerine İzin Ver
choices_value_placeholder: Bir değer girin...
file:
file: Dosya
files:
@@ -277,6 +382,8 @@ interfaces:
wysiwyg:
custom_formats: Özel Biçimler
displays:
boolean:
boolean: Evet/Hayır
collection:
collection: Koleksiyon
color:
@@ -290,6 +397,8 @@ displays:
filesize: Dosya Boyutu
icon:
icon: İkon
labels:
choices_value_placeholder: Bir değer girin...
rating:
rating: Puanlama
user:

View File

@@ -1,9 +1,90 @@
---
edit_field: Sửa trường
item_revision: Xem Phiên bản
duplicate_field: Nhân bản Trường
half_width: Nửa chiều Rộng
full_width: Rộng toàn bộ
fill_width: Rộng toàn bộ
field_name_translations: Hiển thị Ngôn ngữ Khác
enter_password_to_enable_tfa: Nhập mật khẩu của bạn để kích hoạt Bảo Mật 2 Lớp
add_field: Thêm trường
role_name: Tên Quyền
db_only_click_to_configure: 'Chỉ Cở Sở Dữ Liệu: Bấm để Cấu Hình '
show_archived_items: Hiển thị các mục đã Lưu Trữ
required: Bắt buộc
requires_value: Giá trị bắt buộc
create_preset: Tạo Định dạng
create_role: Tạo vai trò (phân quyền)
create_user: Tạo Người dùng
create_webhook: Tạo Webhook
invite_users: Mời Người dùng
email_examples: 'admin@example.com, user@example.com...'
invite: Mời
emails: Email
connection_excellent: Kết nối Tuyệt vời
connection_good: Kết nối Tốt
connection_fair: Kết nối Kém
connection_poor: Kết nối Yếu
rename_folder: Đổi Tên Thư Mục
delete_folder: Xóa thư mục
reset_bookmark: Đặt lại Dấu trang
rename_bookmark: Đổi tên Dấu trang
update_bookmark: Cập nhật Dấu trang
delete_bookmark: Xoá dấu trang
delete_bookmark_copy: >-
Bạn có chắc chắn muốn xóa đánh dấu "{bookmark}" này? Hành động này không thể hoàn tác.
logoutReason:
SIGN_OUT: Đăng xuất
SESSION_EXPIRED: Phiên làm việc đã Hết hạn
public: Công cộng
public_description: Kiểm soát dữ liệu API nào có thể truy cập mà không cần đăng nhập.
not_allowed: Không Cho Phép
directus_version: Phiên bản hệ thống
node_version: Phiên bản Node
node_uptime: Thời gian Hoạt động
os_type: Hệ điều hành
os_version: Phiên bản hệ điều hành
os_uptime: Thời gian Hoạt động
os_totalmem: Bộ nhớ
archive: Lưu trữ
archive_confirm: Bạn có chắc chắn muốn lưu trữ mục này không?
archive_confirm_count: >-
Chưa chọn mục nào | Bạn có chắc chắn muốn lưu trữ mục này không? | Bạn có chắc chắn muốn lưu trữ {count} mục này không?
reset_system_permissions: Đặt lại Quyền Hệ Thống
reset_system_permissions_copy: Đặt lại tất cả các quyền hệ thống về mặc định
unarchive: Ngừng lưu trữ
unarchive_confirm: Bạn có chắc chắn muốn mở lưu trữ mục này không?
nested_files_folders_will_be_moved: Các files và thư mục sẽ được di chuyển lên thư mục trên.
unknown_validation_errors: 'Có một số lỗi xảy ra với những trường ẩn sau:'
validationError:
eq: Dữ liệu phải là {valid}
neq: Dữ liệu không thể là {invalid}
in: Dữ liệu phải là một trong số {valid}
nin: Dữ liệu không thể là một trong số {invalid}
contains: Dữ liệu phải chứa {substring}
ncontains: Dữ liệu không thể chứa {substring}
gt: Giá trị phải lớn hơn {valid}
gte: Giá trị phải lớn hơn hoặc bằng {valid}
lt: Giá trị phải nhỏ hơn {valid}
lte: Giá trị phải nhỏ hơn hoặc bằng {valid}
empty: Dữ liệu phải để trống
nempty: Dữ liệu không thể để trống
null: Dữ liệu phải là null
nnull: Dữ liệu không thể là null
required: Dữ liệu là bắt buộc
all_access: Toàn Quyền
no_access: Cấm Truy Cập
use_custom: Chọn Lọc
field_standard: Chuẩn
field_presentation: Trình Bày và Bí Danh
field_file: Một Tập Tin
field_files: Nhiều Tập Tin
field_m2o: Quan hệ Nhiều -> Một
field_o2m: Quan hệ Một -> Nhiều
field_m2m: Quan hệ Nhiều -> Nhiều
field_translations: Các Bản Dịch
item_permissions: Quyền truy cập Bảng ghi
field_permissions: Quyền truy cập Trường
language: Ngôn ngữ
create_field: Tạo thêm trường
hidden_on_detail: Ẩn tại chi tiết
@@ -165,8 +246,10 @@ fields:
directus_fields:
note: Lưu ý
hidden: Ẩn
translation: Hiển thị Ngôn ngữ Khác
display_template: Mẫu
directus_roles:
name: Tên Quyền
description: Mô tả
comment: Bình luận
continue: Tiếp tục

View File

@@ -21,10 +21,7 @@ export type NavItemGroup = {
let activeGroups: Ref<string[]>;
export default function useNavigation() {
if (!activeGroups) activeGroups = ref([]);
const collectionsStore = useCollectionsStore();
const userStore = useUserStore();
const customNavItems = computed<NavItemGroup[] | null>(() => {
@@ -76,5 +73,12 @@ export default function useNavigation() {
});
});
if (!activeGroups)
activeGroups = ref(
customNavItems.value
? customNavItems.value.filter((navItem) => navItem.accordion === 'start_open').map((navItem) => navItem.name)
: []
);
return { customNavItems, navItems, activeGroups };
}

View File

@@ -20,12 +20,7 @@
<template #append>
<v-menu show-arrow placement="bottom-end">
<template #activator="{ toggle }">
<v-icon
name="list_alt"
@click="toggle"
v-tooltip="$t('select_existing')"
:disabled="isExisting"
/>
<v-icon name="list_alt" @click="toggle" v-tooltip="$t('select_existing')" :disabled="isExisting" />
</template>
<v-list class="monospace">
@@ -172,14 +167,14 @@ export default defineComponent({
if (enabled === true) {
state.newFields.push({
$type: 'corresponding',
field: state.relations[0].one_collection,
collection: state.relations[0].one_collection,
field: state.relations[0].many_collection,
collection: state.relations[0].many_collection,
meta: {
special: 'o2m',
interface: 'one-to-many',
},
});
state.relations[0].one_field = state.relations[0].one_collection;
state.relations[0].one_field = state.relations[0].many_collection;
} else {
state.newFields = state.newFields.filter((field: any) => field.$type !== 'corresponding');
}

View File

@@ -52,14 +52,13 @@
<div class="field half" v-if="fieldData.schema">
<div class="label type-label">{{ $t('precision_scale') }}</div>
<div class="precision-scale">
<v-input type="number" :placeholder="10" v-model="fieldData.schema.precision" />
<v-input type="number" :placeholder="5" v-model="fieldData.schema.scale" />
<v-input type="number" :placeholder="10" v-model="fieldData.schema.numeric_precision" />
<v-input type="number" :placeholder="5" v-model="fieldData.schema.numeric_scale" />
</div>
</div>
</template>
<template v-if="['uuid', 'date', 'time', 'datetime', 'timestamp'].includes(fieldData.type)">
<template v-if="['uuid', 'date', 'time', 'datetime', 'timestamp'].includes(fieldData.type) && type !== 'file'">
<div class="field half-left">
<div class="label type-label">{{ $t('on_create') }}</div>
<v-select :items="onCreateOptions" v-model="onCreateValue" />
@@ -129,13 +128,7 @@
},
]"
/>
<v-input
v-else
class="monospace"
v-model="defaultValue"
disabled
:placeholder="$t('add_a_default_value')"
/>
<v-input v-else class="monospace" v-model="defaultValue" disabled :placeholder="$t('add_a_default_value')" />
</div>
<div class="field half-left" v-if="fieldData.schema">

View File

@@ -37,8 +37,8 @@ function initLocalStore(collection: string, field: string, type: typeof localTyp
default_value: undefined,
max_length: undefined,
is_nullable: true,
precision: null,
scale: null,
numeric_precision: null,
numeric_scale: null,
},
meta: {
hidden: false,

View File

@@ -63,12 +63,7 @@
<div class="label">
<span class="name" v-tooltip="field.name">
{{ field.field }}
<v-icon
name="star"
class="required"
sup
v-if="field.schema && field.schema.is_nullable === false"
/>
<v-icon name="star" class="required" sup v-if="field.schema && field.schema.is_nullable === false" />
</span>
<span v-if="field.meta" class="interface">{{ interfaceName }}</span>
<span v-else class="interface">{{ $t('db_only_click_to_configure') }}</span>
@@ -90,13 +85,7 @@
small
v-tooltip="$t('db_only_click_to_configure')"
/>
<v-icon
v-if="hidden"
name="visibility_off"
class="hidden-icon"
v-tooltip="$t('hidden_field')"
small
/>
<v-icon v-if="hidden" name="visibility_off" class="hidden-icon" v-tooltip="$t('hidden_field')" small />
<v-menu show-arrow placement="bottom-end">
<template #activator="{ toggle }">
<v-icon @click.stop="toggle" name="more_vert" />
@@ -130,26 +119,17 @@
<v-divider />
<v-list-item
@click="setWidth('half')"
:disabled="field.meta && field.meta.width === 'half'"
>
<v-list-item @click="setWidth('half')" :disabled="field.meta && field.meta.width === 'half'">
<v-list-item-icon><v-icon name="border_vertical" /></v-list-item-icon>
<v-list-item-content>{{ $t('half_width') }}</v-list-item-content>
</v-list-item>
<v-list-item
@click="setWidth('full')"
:disabled="field.meta && field.meta.width === 'full'"
>
<v-list-item @click="setWidth('full')" :disabled="field.meta && field.meta.width === 'full'">
<v-list-item-icon><v-icon name="border_right" /></v-list-item-icon>
<v-list-item-content>{{ $t('full_width') }}</v-list-item-content>
</v-list-item>
<v-list-item
@click="setWidth('fill')"
:disabled="field.meta && field.meta.width === 'fill'"
>
<v-list-item @click="setWidth('fill')" :disabled="field.meta && field.meta.width === 'fill'">
<v-list-item-icon><v-icon name="aspect_ratio" /></v-list-item-icon>
<v-list-item-content>{{ $t('fill_width') }}</v-list-item-content>
</v-list-item>
@@ -390,9 +370,7 @@ export default defineComponent({
if (localType.value !== 'translations') return null;
const relation = relationsStore.state.relations.find((relation: Relation) => {
return (
relation.one_collection === props.field.collection && relation.one_field === props.field.field
);
return relation.one_collection === props.field.collection && relation.one_field === props.field.field;
});
if (!relation) return null;
@@ -499,6 +477,8 @@ export default defineComponent({
.field {
.label {
flex-grow: 1;
overflow: hidden;
text-overflow: ellipsis;
.name {
font-family: var(--family-monospace);

View File

@@ -35,11 +35,7 @@
<v-list>
<template v-for="(option, index) in addOptions">
<v-divider v-if="option.divider === true" :key="index" />
<v-list-item
v-else
:key="option.type"
:to="`/settings/data-model/${collection}/+?type=${option.type}`"
>
<v-list-item v-else :key="option.type" :to="`/settings/data-model/${collection}/+?type=${option.type}`">
<v-list-item-icon>
<v-icon :name="option.icon" />
</v-list-item-icon>
@@ -195,7 +191,7 @@ export default defineComponent({
position: relative;
display: grid;
grid-gap: 12px;
grid-template-columns: 1fr 1fr;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
& + & {
margin-top: 12px;

View File

@@ -53,13 +53,7 @@
</template>
<div class="preset-item">
<v-form
:fields="fields"
:loading="loading"
:initial-values="initialValues"
:primary-key="id"
v-model="edits"
/>
<v-form :fields="fields" :loading="loading" :initial-values="initialValues" :primary-key="id" v-model="edits" />
<div class="layout">
<component
@@ -69,9 +63,25 @@
:layout-options.sync="layoutOptions"
:layout-query.sync="layoutQuery"
:filters="values.filters || []"
@update:filters="edits.filters = $event"
@update:filters="updateFilters"
readonly
/>
>
<template #no-results>
<v-info :title="$t('no_results')" icon="search" center>
{{ $t('no_results_copy') }}
</v-info>
</template>
<template #no-items>
<v-info :title="$tc('item_count', 0)" center>
{{ $t('no_items_copy') }}
</v-info>
</template>
</component>
<v-notice v-else>
{{ $t('no_layout_collection_selected_yet') }}
</v-notice>
</div>
</div>
@@ -148,7 +158,7 @@ export default defineComponent({
const { loading: rolesLoading, roles } = useRoles();
const { loading: presetLoading, preset } = usePreset();
const { fields } = useForm();
const { edits, hasEdits, initialValues, values, layoutQuery, layoutOptions } = useValues();
const { edits, hasEdits, initialValues, values, layoutQuery, layoutOptions, updateFilters } = useValues();
const { save, saving } = useSave();
const { deleting, deleteAndQuit, confirmDelete } = useDelete();
@@ -171,6 +181,7 @@ export default defineComponent({
deleteAndQuit,
confirmDelete,
marked,
updateFilters,
};
function useSave() {
@@ -316,7 +327,14 @@ export default defineComponent({
},
});
return { edits, initialValues, values, layoutQuery, layoutOptions, hasEdits };
return { edits, initialValues, values, layoutQuery, layoutOptions, hasEdits, updateFilters };
function updateFilters(newFilters: Filter) {
edits.value = {
...edits.value,
filters: newFilters,
};
}
}
function usePreset() {
@@ -447,8 +465,7 @@ export default defineComponent({
value: collection.collection,
}))
.filter((option) => {
if (option.value.startsWith('directus_'))
return systemCollectionWhiteList.includes(option.value);
if (option.value.startsWith('directus_')) return systemCollectionWhiteList.includes(option.value);
return true;
}),

View File

@@ -22,7 +22,7 @@ export const useCollectionsStore = createStore({
},
actions: {
async hydrate() {
const response = await api.get(`/collections`);
const response = await api.get(`/collections`, { params: { limit: -1 } });
const collections: CollectionRaw[] = response.data.data;

View File

@@ -52,7 +52,7 @@ export const useFieldsStore = createStore({
}),
actions: {
async hydrate() {
const fieldsResponse = await api.get(`/fields`);
const fieldsResponse = await api.get(`/fields`, { params: { limit: -1 } });
const fields: FieldRaw[] = fieldsResponse.data.data;

View File

@@ -11,7 +11,7 @@ export const usePermissionsStore = createStore({
}),
actions: {
async hydrate() {
const response = await api.get('/permissions/me');
const response = await api.get('/permissions/me', { params: { limit: -1 } });
this.state.permissions = response.data.data.map((rawPermission: any) => {
if (rawPermission.permissions) {

View File

@@ -38,6 +38,11 @@ const systemDefaults: Record<string, Partial<Preset>> = {
directus_users: {
collection: 'directus_users',
layout: 'cards',
layout_query: {
cards: {
sort: 'email',
},
},
layout_options: {
cards: {
icon: 'account_circle',
@@ -104,6 +109,7 @@ export const usePresetsStore = createStore({
api.get(`/presets`, {
params: {
'filter[user][_eq]': id,
limit: -1,
},
}),
// All role saved bookmarks and presets
@@ -111,6 +117,7 @@ export const usePresetsStore = createStore({
params: {
'filter[role][_eq]': role.id,
'filter[user][_null]': true,
limit: -1,
},
}),
// All global saved bookmarks and presets
@@ -118,6 +125,7 @@ export const usePresetsStore = createStore({
params: {
'filter[role][_null]': true,
'filter[user][_null]': true,
limit: -1,
},
}),
]);

View File

@@ -10,8 +10,7 @@ export const useRelationsStore = createStore({
}),
actions: {
async hydrate() {
const response = await api.get(`/relations`);
const response = await api.get(`/relations`, { params: { limit: -1 } });
this.state.relations = response.data.data;
},
async dehydrate() {

View File

@@ -33,7 +33,7 @@ export const useServerStore = createStore({
}),
actions: {
async hydrate() {
const response = await api.get(`/server/info`);
const response = await api.get(`/server/info`, { params: { limit: -1 } });
this.state.info = response.data.data;
},
dehydrate() {

View File

@@ -47,14 +47,7 @@
</template>
<template v-else-if="['empty', 'nempty'].includes(operator) === false">
<v-checkbox block :label="$t('active')" v-if="type === 'checkbox'" v-model="_value" :disabled="disabled" />
<v-input
:disabled="disabled"
v-else
autofocus
v-model="_value"
:type="type"
:placeholder="$t('enter_a_value')"
/>
<v-input :disabled="disabled" v-else autofocus v-model="_value" :type="type" :placeholder="$t('enter_a_value')" />
</template>
</div>
</template>
@@ -66,7 +59,7 @@ import { FilterOperator } from '@/types';
export default defineComponent({
props: {
value: {
type: [String, Boolean],
type: [String, Number, Boolean],
required: true,
},
type: {
@@ -83,7 +76,7 @@ export default defineComponent({
},
},
setup(props, { emit }) {
const _value = computed<string | string[] | boolean>({
const _value = computed<string | string[] | boolean | number>({
get() {
return props.value;
},

View File

@@ -7,7 +7,7 @@
v-tooltip.bottom="active ? null : $t('search')"
>
<v-icon name="search" />
<input ref="input" :value="value" @input="emitValue" placeholder="Search items..." />
<input ref="input" :value="value" @input="emitValue" :placeholder="$t('search_items')" />
<v-icon v-if="value" class="empty" name="close" @click.stop="emptyAndClose" />
</div>
</template>

View File

@@ -1,3 +1,3 @@
# API Extensions
@TODO
> TK

View File

@@ -1,62 +1,59 @@
# App Components
# App Extensions
> Directus has been architected as completely modular and extensible. There are four keystone
> component types within the App. Out-of-the-box components are configurable, or altogether new
> components can be created as extensions.
> Directus has been architected as completely modular and extensible. There are four keystone component types within the
> App. Out-of-the-box components are configurable, or altogether new components can be created as extensions.
## Modules
Modules are the highest and broadest level of organization within the App. All core functionality
within the App (other than authentication and activity) can be bucketed into one of the following
five modules:
Modules are the highest and broadest level of organization within the App. All core functionality within the App (other
than authentication and activity) can be bucketed into one of the following five modules:
- Collections — The primary way to view and interact with database content
- User Directory — A dedicated section for the platform's system Users
- File Library — An aggregate of all files uploaded and managed within the platform
- Documentation — A tailored, in-app portal for the platform's concepts, guides, and reference
- Settings — An Admin-Only section for configuring the project and system settings
- Collections — The primary way to view and interact with database content
- User Directory — A dedicated section for the platform's system Users
- File Library — An aggregate of all files uploaded and managed within the platform
- Documentation — A tailored, in-app portal for the platform's concepts, guides, and reference
- Settings — An Admin-Only section for configuring the project and system settings
In addition to these core modules, custom modules offer a _blank canvas_ for creating altogether
new/different experiences within the App, such as proprietary dashboards, compound datasets, or
third-party integrations (eg: a Stripe Payments Console).
In addition to these core modules, custom modules offer a _blank canvas_ for creating altogether new/different
experiences within the App, such as proprietary dashboards, compound datasets, or third-party integrations (eg: a Stripe
Payments Console).
### Relevant Guides
- [Creating a Custom Module](/guides/extensions/modules)
- [Creating a Custom Module](/guides/extensions/modules)
## Layouts
Layouts provide different ways for presenting, browsing, visualizing, or even managing sets of data.
Most commonly shown on Collection Detail pages and contextual modals for item selection. Directus
includes several Layout options out-of-the-box, each with different features and configuration
options.
Layouts provide different ways for presenting, browsing, visualizing, or even managing sets of data. Most commonly shown
on Collection Detail pages and contextual modals for item selection. Directus includes several Layout options
out-of-the-box, each with different features and configuration options.
### Table
This tabular layout supports all forms of data, and is therefore the default within the Collections
module. It includes the following features/options:
This tabular layout supports all forms of data, and is therefore the default within the Collections module. It includes
the following features/options:
- Toggle & Reorder Field Columns (Option)
- Row Spacing (Option)
- Manual Ordering
- Column Sort
- Column Resizing
- Select All
- Toggle & Reorder Field Columns (Option)
- Row Spacing (Option)
- Manual Ordering
- Column Sort
- Column Resizing
- Select All
### Cards
This tiled layout is ideal for collections that prioritize an image. It is the default for both the
[User Directory](/guides/users) (shows the avatar) and [File Library](/guides/files) (shows asset
thumbnail). It includes the following features/options:
[User Directory](/guides/users) (shows the avatar) and [File Library](/guides/files) (shows asset thumbnail). It
includes the following features/options:
- Image Source (Option)
- Title (Option)
- Subtitle (Option)
- Image Fit (Option)
- Fallback Icon (Option)
- Card Size
- Sort Field & Direction
- Select All
- Image Source (Option)
- Title (Option)
- Subtitle (Option)
- Image Fit (Option)
- Fallback Icon (Option)
- Card Size
- Sort Field & Direction
- Select All
<!-- ### Calendar
@@ -68,60 +65,41 @@ In addition to these core layouts, custom layouts allow for creating more tailor
### Relevant Guides
- [Creating a Custom Layout](/guides/extensions/layouts)
- [Creating a Custom Layout](/guides/extensions/layouts)
## Interfaces
Interfaces provide a multitude of ways to view or interact with field data on
[Item Detail](/concepts/app-overview#item-detail) page forms. Every interface supports a specific
subset of field [types](/reference/field-types) (eg: String), which determines how the data will be
stored. For example, the _Text Input_ interface can manage most types of data, but might not be
ideal for dates, where a _Calendar_ interface excels. Directus includes many Interfaces
out-of-the-box:
[Item Detail](/concepts/app-overview#item-detail) page forms. Every interface supports a specific subset of field
[types](/reference/field-types) (eg: String), which determines how the data will be stored. For example, the _Text
Input_ interface can manage most types of data, but might not be ideal for dates, where a _Calendar_ interface excels.
Directus includes many Interfaces out-of-the-box:
- Text Input
- @TODO List all core interfaces, or link to a exhaustive reference?
- Text Input
- @TODO List all core interfaces, or link to a exhaustive reference?
In addition to these core interfaces, custom interfaces allow for creating more tailored or
proprietary ways to view or manage field data, such as bespoke layout builders, skeuomorphic knobs,
or relational views for third-party data (eg: Stripe Credit Card UI).
In addition to these core interfaces, custom interfaces allow for creating more tailored or proprietary ways to view or
manage field data, such as bespoke layout builders, skeuomorphic knobs, or relational views for third-party data (eg:
Stripe Credit Card UI).
### Relevant Guides
- [Creating a Custom Interface](#)
- [Creating a Custom Interface](#)
## Displays
Displays are the smaller, read-only counterpart to Interfaces, defining how a field's data will be
displayed inline on [Item Detail](/concepts/app-overview#item-detail) pages, Modals, and even within
Interfaces themselves. For example, you may have a "Status" field that uses a _Dropdown_ Interface
on the Item Detail page, and a _Color Dot_ Display when the field is referenced throughout the rest
of the App. Directus includes many Displays out-of-the-box:
Displays are the smaller, read-only counterpart to Interfaces, defining how a field's data will be displayed inline on
[Item Detail](/concepts/app-overview#item-detail) pages, Modals, and even within Interfaces themselves. For example, you
may have a "Status" field that uses a _Dropdown_ Interface on the Item Detail page, and a _Color Dot_ Display when the
field is referenced throughout the rest of the App. Directus includes many Displays out-of-the-box:
- Raw
- Formatted Value
- @TODO List all core interfaces, or link to a exhaustive reference?
- Raw
- Formatted Value
- @TODO List all core interfaces, or link to a exhaustive reference?
In addition to these core displays, custom displays allow for creating customized ways to view or
represent field data, such as progress indicators, relational data tooltips, or specific formatting
options.
In addition to these core displays, custom displays allow for creating customized ways to view or represent field data,
such as progress indicators, relational data tooltips, or specific formatting options.
### Relevant Guides
- [Creating a Custom Display](/guides/extensions/displays)
## Title Formatter
Directus uses [Database Mirroring](/concepts/platform-overview) to create its underlying data model
based on your custom schema. Therefore the App needs a reliable way of converting any raw table
name, field name, or other technical value into a prettified format that is human-readable. At its
core, the Title Formatter converts any string into title-case with proper whitespace. It also covers
acronyms, initialisms, common proper nouns, so each is output properly. Some example conversion
include:
| Original String | Formatted Title |
| ---------------------------- | --------------------------------- |
| `snowWhiteAndTheSevenDwarfs` | `Snow White and the Seven Dwarfs` |
| `NewcastleUponTyne` | `Newcastle upon Tyne` |
| `brighton_by_the_sea` | `Brighton by the Sea` |
| `new_ipad_ftp_app` | `New iPad FTP App` |
- [Creating a Custom Display](/guides/extensions/displays)

View File

@@ -1,50 +1,47 @@
# Platform Overview
> The Directus platform is primarily comprised of an API and App, working in concert to manage the
> content of your SQL database.
> The Directus platform is primarily comprised of an API and App, working in concert to "mirror" the schema and content
> of your SQL database.
## Database Mirroring
Instead of using a predefined "one-size-fits-all" data model to store your content, Directus
"mirrors" your actual SQL database in real-time. The principle is akin to a database client (eg:
_phpMyAdmin_), but includes far mor advanced tools, and is safe and intuitive enough for
non-technical users. This approach has many unique advantages:
Instead of using a predefined "one-size-fits-all" data model to store your content, Directus "mirrors" your actual SQL
database in real-time. The principle is akin to a database client (eg: _phpMyAdmin_), but includes far mor advanced
tools, and is safe and intuitive enough for non-technical users. This approach has many unique advantages:
- A custom SQL database schema, tailored to your exact requirements
- Significant performance improvements through optimizations and indexing
- Complete transparency, portability, and security for your data
- Direct database access and the full power of raw/complex SQL queries
- Allows importing existing databases, unaltered and without any migrations
- A custom SQL database schema, tailored to your exact requirements
- Significant performance improvements through optimizations and indexing
- Complete transparency, portability, and security for your data
- Direct database access and the full power of raw/complex SQL queries
- Allows importing existing databases, unaltered and without any migrations
## Directus API
The Directus API uses _Database Mirroring_ to dynamically generate REST endpoints and a GraphQL
schema based on the connected database's architecture. It is written in
[Node.js](https://nodejs.org) and uses database abstraction to support most
[SQL database vendors](/guides/installation#databases).
The Directus API uses _Database Mirroring_ to dynamically generate REST endpoints and a GraphQL schema based on the
connected database's architecture. It is written in [Node.js](https://nodejs.org) and uses database abstraction to
support most [SQL database vendors](/guides/installation#databases).
### Relevant Docs
- [API Reference](/reference/api/introduction)
- [API Custom Endpoints](/concepts/api-extensions)
- [API Reference](/reference/api/introduction)
- [API Custom Endpoints](/concepts/api-extensions)
## Directus App
The Directus App is decoupled from, and powered by, the Directus API. It provides a way for both
technical admins and non-technical users to view and manage content of the connected database. It is
written in [Vue.js](https://vuejs.org) v3, is completely modular, and is highly customizable.
The Directus App is decoupled from, and powered by, the Directus API. It provides a way for both technical admins and
non-technical users to view and manage content of the connected database. It is written in [Vue.js](https://vuejs.org)
v3, is completely modular, and is highly customizable.
### Relevant Docs
- [App Overview](/concepts/app-overview)
- [App Extensions](/concepts/app-extensions)
- [App Overview](/concepts/app-overview)
- [App Extensions](/concepts/app-extensions)
## Projects & Environments
A Project is a complete instance of Directus. Each project primarily represents a database, but also
includes a configuration file and any related asset storage. This modular approach means you can
also create different environments (eg: Dev, Staging, Prod) by simply creating additional project
instances.
A Project is a complete instance of Directus. Each project primarily represents a database, but also includes a
configuration file and any related asset storage. This modular approach means you can also create different environments
(eg: Dev, Staging, Prod) by simply creating additional project instances.
<!-- ::: tip Migrating Environments
Directus includes [Export](#), [Import](#), [Backup](#), and [Restore](#) features to assist with custom migration workflows between environments. You can also roll your own process by copying the database and assets between environments, either manually or via an automated script.
@@ -54,10 +51,9 @@ Directus includes [Export](#), [Import](#), [Backup](#), and [Restore](#) featur
## Collections
A Collection is a grouping of similar Items. Each collection represents a table in your database.
Directus automatically uses a built-in [title formatter](/concepts/app-extensions) to display your
database table names prettified, and you can use [translations](/concepts/data-model) to completely
rename them if needed.
A Collection is a grouping of similar Items. Each collection represents a table in your database. Directus automatically
uses a built-in [title formatter](/concepts/app-extensions) to display your database table names prettified, and you can
use [translations](/concepts/data-model) to completely rename them if needed.
<!-- prettier-ignore-start -->
::: tip Usage
@@ -72,39 +68,37 @@ project needs**.
### Relevant Guides
- [Creating a Collection](/guides/collections#creating-a-collection)
- [Deleting a Collection](/guides/collections#deleting-a-collection)
- [Creating a Collection](/guides/collections#creating-a-collection)
- [Deleting a Collection](/guides/collections#deleting-a-collection)
## Presets
Presets store the exact state of a [collection detail](/concepts/app-overview) page. These are used
to set layout defaults for a user, or to define bookmarks that can be used to quickly recall
specific datasets.
Presets store the exact state of a [collection detail](/concepts/app-overview) page. These are used to set layout
defaults for a user, or to define bookmarks that can be used to quickly recall specific datasets.
### Relevant Guides
- [Creating a Preset](/guides/presets#creating-a-preset)
- [Deleting a Preset](/guides/presets#deleting-a-preset)
- [Creating a Preset](/guides/presets#creating-a-preset)
- [Deleting a Preset](/guides/presets#deleting-a-preset)
## Fields
A Field is a specific type of value within a Collection. Each field represents a database column.
Directus automatically uses a built-in [title formatter](/concepts/app-extensions#title-formatter)
to display your database column names prettified, and you can use [translations](/guides/fields) to
completely rename them if needed.
A Field is a specific type of value within a Collection. Each field represents a database column. Directus automatically
uses a built-in [title formatter](/concepts/app-extensions#title-formatter) to display your database column names
prettified, and you can use [translations](/guides/fields) to completely rename them if needed.
Each field also mirrors other characteristics from the column, including its `type`, `default`,
`length`, `allow_null`, etc.
Each field also mirrors other characteristics from the column, including its `type`, `default`, `length`, `allow_null`,
etc.
<!-- prettier-ignore-start -->
::: tip Usage
::: tip Usage
You might have `title`, `body`, `author`, and `date_published` fields within an
`articles` collection.
:::
<!-- prettier-ignore-end -->
<!-- prettier-ignore-start -->
::: tip Aliases
::: tip Aliases
Not all fields in Directus map directly to an actual database column within their
table. Some relational fields, like One-to-Many (O2M) and Many-to-Many (M2M), represent data that is
stored in different tables. Other fields are only for presentation and don't save data at all, such
@@ -113,7 +107,7 @@ as a divider. These are called "alias" fields.
<!-- prettier-ignore-end -->
<!-- prettier-ignore-start -->
::: tip Relational Fields
::: tip Relational Fields
Fields that reference other items (in the same collection or different)
are called relational fields. Linking or connecting data relationally is an immensely powerful
feature of relational databases and SQL queries.
@@ -122,48 +116,48 @@ feature of relational databases and SQL queries.
### Relevant Guides
- [Creating a Standard Field](/guides/field-types/standard-field)
- [Creating a Presentation Field](/guides/field-types/presentation-field)
- [Creating a Many-to-One Field](/guides/field-types/many-to-one-field)
- [Creating a One-to-Many Field](/guides/field-types/one-to-many-field)
- [Creating a Many-to-Many Field](/guides/field-types/many-to-many-field)
- [Creating a Many-to-Any Field](/guides/field-types/many-to-any-field)
- [Creating Translated Fields](/guides/field-types/translated-fields)
- [Duplicating Fields](/guides/fields#duplicating-a-field)
- [Adjusting Field Layout](/guides/fields#adjusting-field-layout)
- [Deleting Fields](/guides/fields#deleting-a-field)
- [Creating a Standard Field](/guides/field-types/standard-field)
- [Creating a Presentation Field](/guides/field-types/presentation-field)
- [Creating a Many-to-One Field](/guides/field-types/many-to-one-field)
- [Creating a One-to-Many Field](/guides/field-types/one-to-many-field)
- [Creating a Many-to-Many Field](/guides/field-types/many-to-many-field)
- [Creating a Many-to-Any Field](/guides/field-types/many-to-any-field)
- [Creating Translated Fields](/guides/field-types/translated-fields)
- [Duplicating Fields](/guides/fields#duplicating-a-field)
- [Adjusting Field Layout](/guides/fields#adjusting-field-layout)
- [Deleting Fields](/guides/fields#deleting-a-field)
## Types
Directus has built-in database abstraction for managing all SQL database vendors. However, each of
those vendors has a different list of supported column datatypes. To standardize all of these
differences, Directus has a single superset of types that each map to the more specific vendor ones.
Directus has built-in database abstraction for managing all SQL database vendors. However, each of those vendors has a
different list of supported column datatypes. To standardize all of these differences, Directus has a single superset of
types that each map to the more specific vendor ones.
- String
- Text
- Boolean
- Integer
- Big Integer
- Float
- Decimal
- Timestamp
- DateTime
- Date
- Time
- JSON
- CSV
- UUID
- String
- Text
- Boolean
- Integer
- Big Integer
- Float
- Decimal
- Timestamp
- DateTime
- Date
- Time
- JSON
- CSV
- UUID
@TODO confirm
## Items
An Item is an object containing the field values within a Collection. Each item represents a
database record. Similar to a "row" within a spreadsheet.
An Item is an object containing the field values within a Collection. Each item represents a database record. Similar to
a "row" within a spreadsheet.
### Relevant Guides
- [Creating an Item](/guides/items#creating-an-item)
- [Archiving an Item](/guides/items#archiving-an-item)
- [Reordering Items](/guides/items#reordering-items)
- [Deleting an Item](/guides/items#deleting-an-item)
- [Creating an Item](/guides/items#creating-an-item)
- [Archiving an Item](/guides/items#archiving-an-item)
- [Reordering Items](/guides/items#reordering-items)
- [Deleting an Item](/guides/items#deleting-an-item)

View File

@@ -1,18 +1,17 @@
# Users, Roles & Permissions
> Directus Users are the individual accounts that let you authenticate into the API and App. Each
> user belongs to a Role which defines its granular Permissions.
> Directus Users are the individual accounts that let you authenticate into the API and App. Each user belongs to a Role
> which defines its granular Permissions.
## Users
To use the App or API, you'll need a valid Directus User. Each user is assigned to a role that
determines what they have access to see and do. For instance, some users have access to the App,
while others can only connect to the API. Directus ships with a number of profile fields that help
create a full-featured [User Directory](/concepts/app-overview#user-directory), and setting fields
that allow customizing your experience.
To use the App or API, you'll need a valid Directus User. Each user is assigned to a role that determines what they have
access to see and do. For instance, some users have access to the App, while others can only connect to the API.
Directus ships with a number of profile fields that help create a full-featured
[User Directory](/concepts/app-overview#user-directory), and setting fields that allow customizing your experience.
All Directus users are aggregated and shown on the
[User Directory](/concepts/app-overview#user-directory) page of the App
All Directus users are aggregated and shown on the [User Directory](/concepts/app-overview#user-directory) page of the
App
<!-- prettier-ignore-start -->
::: tip Extending Directus Users
@@ -22,44 +21,36 @@ the normal [Create a new Field](#) process from within the system collection.
:::
<!-- prettier-ignore-end -->
<!-- prettier-ignore-start -->
::: tip
System vs Custom Users If your project requires a users, members, customers, etc., we recommend
creating your own collection to manage these instead of trying to repurpose the Directus Users
system.
:::
<!-- prettier-ignore-end -->
### Relevant Guides
- [Setting up your User Profile](/guides/users#setting-up-your-user-profile)
- [Inviting a User](/guides/users#inviting-a-user)
- [Creating a User](/guides/users#creating-a-user)
- [Archiving a User](/guides/users#archiving-a-user)
- [Deleting a User](/guides/users#deleting-a-user)
- [Setting up your User Profile](/guides/users#setting-up-your-user-profile)
- [Inviting a User](/guides/users#inviting-a-user)
- [Creating a User](/guides/users#creating-a-user)
- [Archiving a User](/guides/users#archiving-a-user)
- [Deleting a User](/guides/users#deleting-a-user)
## Roles
Each user is assigned to one Role, which determines their permissions within the App and API. There
is no limit to the number of roles you can create within Directus, so feel free to organize your
users in whatever way feels most appropriate.
Each user is assigned to one Role, which determines their permissions within the App and API. There is no limit to the
number of roles you can create within Directus, so feel free to organize your users in whatever way feels most
appropriate.
### Public Role
Public is not technically a role, and can't be found in the `directus_roles` table. Instead, it
represents the _lack_ of a role, providing a place to configure permissions for unauthenticated
users. This role can not be deleted, and has no permissions by default.
Public is not technically a role, and can't be found in the `directus_roles` table. Instead, it represents the _lack_ of
a role, providing a place to configure permissions for unauthenticated users. This role can not be deleted, and has no
permissions by default.
### Administrators Role
Upon installation, Directus automatically creates this initial role to grant access to the first
admin user. It is just a normal role, and like any other it can be updated, renamed or deleted,
however your project must maintain at least one role with Admin Access at all times.
Upon installation, Directus automatically creates this initial role to grant access to the first admin user. It is just
a normal role, and like any other it can be updated, renamed or deleted, however your project must maintain at least one
role with Admin Access at all times.
### Relevant Guides
- [Creating a Role](/guides/roles-and-permissions#creating-a-role)
- [Deleting a Role](/guides/roles-and-permissions#deleting-a-role)
- [Creating a Role](/guides/roles-and-permissions#creating-a-role)
- [Deleting a Role](/guides/roles-and-permissions#deleting-a-role)
## Permissions
@@ -67,4 +58,4 @@ Directus gives you granular, filter-based permissions for managing access-contro
### Relevant Guides
- [Managing Permissions](/guides/roles-and-permissions)
- [Managing Permissions](/guides/roles-and-permissions)

View File

@@ -1,24 +1,27 @@
# Installation
Directus can be installed in many different ways, on several different stacks. CLI is the
recommended method, but there are many ways to get started with our platform depending on your
needs.
Directus can be installed in many different ways, on several different stacks. While our CLI is the easiest method, feel
free to use whichever option best suits your needs.
- [Command Line Interface (CLI)](/guides/installation/cli)
- [Docker](/guides/installation/docker)
- [Manually](/guides/installation/manual)
- [Command Line Interface (CLI)](/guides/installation/cli)
- [Docker](/guides/installation/docker)
- [Manually](/guides/installation/manual)
<!-- prettier-ignore-start -->
::: tip Development
Environment Developers looking to work on the project's source code should
::: tip Development Environment
To work on the project's source code, please
follow our [Contributing Guide](/getting-started/contributing).
:::
<!-- prettier-ignore-end -->
## Deployment Guides
- [Amazon AWS](/guides/installation/aws)
- [DigitalOcean App Platform](/guides/installation/digitalocean-app-platform)
- [Amazon AWS](/guides/installation/aws)
- [DigitalOcean App Platform](/guides/installation/digitalocean-app-platform)
## One-Click Install Guides
- [Platform.sh](/guides/installation/platformsh-one-click)
<!--
@TODO
@@ -28,5 +31,5 @@ follow our [Contributing Guide](/getting-started/contributing).
## Optional Setup Guides
- [Caddy](/guides/setup/caddy)
- [Nginx](/guides/setup/nginx)
- [Caddy](/guides/setup/caddy)
- [Nginx](/guides/setup/nginx)

View File

@@ -18,7 +18,7 @@ support/LTS.
| SQLite | 3+ |
| MS-SQL Server | 13.0+ |
| OracleDB | TBD |
| MariaDB | 10.1+ |
| MariaDB | 10.2+ |
<!-- prettier-ignore-start -->
::: tip

View File

@@ -1,27 +1,24 @@
# DigitalOcean App Platform
## 1) Setup a repo on GitHub
## 1. Setup a repo on GitHub
See the doc on [installing Directus manually](/guides/installation/manual) to learn how to configure
this repo
See the doc on [installing Directus manually](/guides/installation/manual) to learn how to configure this repo
## 2) Create a Managed Database instance
## 2. Create a Managed Database instance
We recommend using Postgres 12. The exact size and need for a replica depends on your usage and
project requirements.
We recommend using Postgres 12. The exact size and need for a replica depends on your usage and project requirements.
## 3) Create a new App using your previously created repo
## 3. Create a new App using your previously created repo
Make sure to select the database you created in step 2 during the configuration wizard.
## 4) Configure the environment variables
## 4. Configure the environment variables
See [Environment Variables](/reference/environment-variables) for all available environment
variables.
See [Environment Variables](/reference/environment-variables) for all available environment variables.
DigitalOcean requires you to use SSL connections to managed databases. DigitalOcean provides a bunch
of aliases to often used database properties that can be injected when the database is a component
of your app. To enable SSL connections, set the following environment variables:
DigitalOcean requires you to use SSL connections to managed databases. DigitalOcean provides a bunch of aliases to often
used database properties that can be injected when the database is a component of your app. To enable SSL connections,
set the following environment variables:
```
DB_SSL__REJECT_UNAUTHORIZED=true

View File

@@ -0,0 +1,16 @@
# DigitalOcean One-Click Install
## 1. Navigate to Directus on the DigitalOcean Marketplace
The [Directus page can be found here](https://marketplace.digitalocean.com/apps/directus), or you can browse for
Directus within the [entire marketplace](https://marketplace.digitalocean.com/).
## 2. Click on "Create Directus Droplet"
## 3. Follow the prompts
<!-- prettier-ignore-start -->
::: warning Paid Service
This is a paid service, so while Directus is completely free and open-source, you will likely need to enter a payment method, and may incur charges.
:::
<!-- prettier-ignore-end -->

View File

@@ -1,8 +1,8 @@
# Installing with Docker
Directus is published to both [DockerHub](https://hub.docker.com/r/directus/directus) and
[GitHub Packages](https://github.com/orgs/directus/packages/container/package/directus) under
`directus/directus`. To run Directus straight from DockerHub, run:
[GitHub Packages](https://github.com/orgs/directus/packages/container/package/directus) under `directus/directus`. To
run Directus straight from DockerHub, run:
```bash
docker run -p 8055:8055 directus/directus
@@ -10,9 +10,8 @@ docker run -p 8055:8055 directus/directus
### Installing Specific Versions
For every version we release, we update/publish three tags. This allows you to use the latest
released version, the latest minor (eg v9.1) or a specific version (eg v9.1.2). To run Directus on a
specific version, run:
For every version we release, we update/publish three tags. This allows you to use the latest released version, the
latest minor (eg v9.1) or a specific version (eg v9.1.2). To run Directus on a specific version, run:
```bash
docker run -p 8055:8055 directus/directus:v9
@@ -24,12 +23,12 @@ docker run -p 8055:8055 directus/directus:v9.1.2
### Create admin user using docker
The published Docker image will automatically populate the database, and create a user. To configure
the email/password for this first user, pass the following env vars:
The published Docker image will automatically populate the database, and create a user. To configure the email/password
for this first user, pass the following env vars:
```bash
DIRECTUS_ADMIN_EMAIL="admin@example.com"
DIRECTUS_ADMIN_PASSWORD="d1r3ctu5"
ADMIN_EMAIL="admin@example.com"
ADMIN_PASSWORD="d1r3ctu5"
```
## Docker Compose
@@ -39,47 +38,47 @@ When using Docker compose, you can use the following setup to get you started:
```yaml
version: '3.2'
services:
database:
image: postgres:12
volumes:
- ./data/database:/var/lib/postgresql/data
networks:
- directus
ports:
- 5432:5432
environment:
POSTGRES_USER: 'directus'
POSTGRES_PASSWORD: 'directus'
POSTGRES_DB: 'directus'
database:
image: postgres:12
volumes:
- ./data/database:/var/lib/postgresql/data
networks:
- directus
ports:
- 5432:5432
environment:
POSTGRES_USER: 'directus'
POSTGRES_PASSWORD: 'directus'
POSTGRES_DB: 'directus'
cache:
image: redis:6
networks:
- directus
ports:
- 6379:6379
cache:
image: redis:6
networks:
- directus
ports:
- 6379:6379
directus:
image: directus/directus:v9.0.0-rc.19
ports:
- 8055:8055
networks:
- directus
environment:
KEY: '255d861b-5ea1-5996-9aa3-922530ec40b1'
SECRET: '6116487b-cda1-52c2-b5b5-c8022c45e263'
directus:
image: directus/directus:v9.0.0-rc.19
ports:
- 8055:8055
networks:
- directus
environment:
KEY: '255d861b-5ea1-5996-9aa3-922530ec40b1'
SECRET: '6116487b-cda1-52c2-b5b5-c8022c45e263'
DB_CLIENT: 'pg'
DB_HOST: 'database'
DB_PORT: '5432'
DB_DATABASE: 'directus'
DB_USER: 'directus'
DB_PASSWORD: 'directus'
DB_CLIENT: 'pg'
DB_HOST: 'database'
DB_PORT: '5432'
DB_DATABASE: 'directus'
DB_USER: 'directus'
DB_PASSWORD: 'directus'
CACHE_ENABLED: 'true'
CACHE_STORE: 'redis'
CACHE_REDIS: 'redis://cache:6379'
CACHE_ENABLED: 'true'
CACHE_STORE: 'redis'
CACHE_REDIS: 'redis://cache:6379'
networks:
directus:
directus:
```

View File

@@ -0,0 +1,13 @@
# Platform.sh One-Click Install
## 1. Click the Install Link
As the name suggests, simply click on this direct link to:
[Install Directus on Platform.sh](https://console.platform.sh/projects/create-project?template=https%3A%2F%2Fraw.githubusercontent.com%2Fplatformsh%2Ftemplate-builder%2Fmaster%2Ftemplates%2Fdirectus%2F.platform.template.yaml)
... or manually browse for "Directus" on the [Platform.sh Marketplace](https://platform.sh/marketplace/).
<!-- prettier-ignore-start -->
::: warning Paid Service
This is a paid service, so while Directus is completely free and open-source, you will likely need to enter a payment method, and may incur charges.
:::
<!-- prettier-ignore-end -->

View File

@@ -1,8 +1,8 @@
# Items
@TODO
> TK
Browse:
From Collection Detail pages...
## Creating Items
@@ -26,7 +26,7 @@ Browse:
---
Detail:
From Item Detail pages...
## Creating an Item

View File

@@ -84,6 +84,9 @@
- type: page
path: /guides/installation/aws
title: AWS
- type: page
path: /guides/installation/platformsh-one-click
title: Platform.sh One-Click
- type: group
title: Extensions
children:
@@ -132,6 +135,9 @@
- type: page
path: /reference/item-objects
title: Item Objects
- type: page
path: /reference/internal-helpers
title: Internal Helpers
- type: page
path: /reference/sdk-js
title: JavaScript SDK
@@ -141,15 +147,15 @@
- type: page
path: /reference/api/introduction
title: Introduction
- type: page
path: /reference/api/items
title: Items
- type: group
title: Query Parameters
children:
- type: page
path: /reference/api/query/fields
title: Fields
- type: page
path: /reference/api/items
title: Items
- type: page
path: /reference/api/activity
title: Activity

View File

@@ -1,6 +1,6 @@
{
"name": "@directus/docs",
"version": "9.0.0-rc.22",
"version": "9.0.0-rc.23",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@@ -1,7 +1,7 @@
{
"name": "@directus/docs",
"private": false,
"version": "9.0.0-rc.22",
"version": "9.0.0-rc.23",
"description": "",
"main": "index.js",
"scripts": {

View File

@@ -0,0 +1,3 @@
# Download
Download the generated asset as a file.

View File

@@ -1,3 +1,39 @@
# Fields
@TODO
`fields` is a CSV of columns to include in the result. This parameter supports dot notation to request nested relational
fields. You can also use a wildcard (\*) to include all fields at a specific depth.
## Examples
```
# Get all top-level fields
?fields=*
# Get all top-level fields and all second-level relational fields
?fields=*.*
# Get all top-level fields and second-level relational fields within images
?fields=*,images.*
# Get only the first_name and last_name fields
?fields=first_name,last_name
# Get all top-level and second-level relational fields, and third-level fields within images.thumbnails
?fields=*.*,images.thumbnails.*
```
Alternatively, you can use the array syntax to specify multiple fields:
```
?fields[]=*
&fields[]=images.*
?fields[]=first_name
&fields[]=last_name
?fields[]=title
&fields[]=images
&fields[]=thumbnails.*
```

View File

@@ -0,0 +1,49 @@
# Filter
Used to search items in a collection that matches the filter's conditions. Filters follow the syntax
`filter[<field-name>][<operator>]=<value>`.
#### Filter Operators
| Operator | Description |
| ------------ | ----------------------------------------- |
| `_eq` | Equal to |
| `_neq` | Not equal to |
| `_lt` | Less than |
| `_lte` | Less than or equal to |
| `_gt` | Greater than |
| `_gte` | Greater than or equal to |
| `_in` | Exists in one of the values |
| `_nin` | Not in one of the values |
| `_null` | It is null |
| `_nnull` | It is not null |
| `_contains` | Contains the substring |
| `_ncontains` | Doesn't contain the substring |
| `_rlike` | Contains a substring using a wildcard |
| `_nrlike` | Not contains a substring using a wildcard |
| `_between` | The value is between two values |
| `_nbetween` | The value is not between two values |
| `_empty` | The value is empty (null or falsy) |
| `_nempty` | The value is not empty (null or falsy) |
| `_all` | Contains all given related item's IDs |
| `_has` | Has one or more related items's IDs |
#### Filter: Relational
You can filter by relational values by appending the field names in nested sections in the parameter, as follows:
`?filter[author][name][_eq]=Rijk`
#### Filtering using JSON
The `filter` parameter supports the full [Filter Rules](/reference/filter-rules.html) syntax. As a matter of fact, the
standard array-like syntax is parsed to an object in execution. This means that you can also pass filter rules as a JSON
object in the parameter directly:
```
?filter={ "status": { "_eq": "active" }}
```
#### AND vs OR
See [Filter Rules](/reference/filter-rules.html) for more information on how to nest logical operations in a filter.

View File

@@ -0,0 +1,15 @@
# Fit
Controls how the image is being fitted within the binding box. Can be compared to CSS' `object-fit`.
## Examples
```
?fit=cover
?fit=contain
?fit=inside
?fit=outside
```

View File

@@ -0,0 +1,12 @@
# Height
Sets the height in pixels of the generated asset.
## Examples
```
?height=500
?height=1080
&width=1920
```

View File

@@ -0,0 +1,11 @@
# Asset Key
The key of the asset size configured in settings.
Note: you can't combine this with any of the other transformation query parameters, like `width`, `height`, or `fit`
## Examples
```
/assets/b10e9716-7270-423b-b857-039b252e1408?key=system-small-cover
```

View File

@@ -0,0 +1,20 @@
# Limit
Using `limit` can be set the maximum number of items that will be returned. You can also use `-1` to return all items,
bypassing the default limits. The default limit is set to 100.
## Examples
```
# Returns a maximum of 10 items
?limit=10
# Returns an unlimited number of items
?limit=-1
```
<!-- prettier-ignore-start -->
::: warning
Fetching unlimited data may result in degraded performance or timeouts, use with caution.
:::
<!-- prettier-ignore-end -->

View File

@@ -0,0 +1,16 @@
# Metadata
The `meta` parameter is a CSV of metadata fields to include. This parameter supports the wildcard (`*`) to return all
metadata fields.
## Options
- `total_count` - Total number of items in this collection
- `filter_count` - Number of items matching the filter query
```json
{
"total_count": 962,
"filter_count": 120
}
```

View File

@@ -0,0 +1,11 @@
# Offset
Using `offset` the first `offset` number of items can be skipped.
## Examples
```
# Returns a maximum of 10 items, but skips the first 3 items on the list
?offset=3
&limit=10
```

View File

@@ -0,0 +1,3 @@
# Quality
Quality of the compression. 0-100

View File

@@ -0,0 +1,5 @@
# Search
The `search` parameter allows you to perform a search on all string and text type fields within a collection. It's an
easy way to search for an item without creating complex field filters though it is far less optimized. It only
searches the root item's fields, related item fields are not included.

View File

@@ -0,0 +1,19 @@
# Single
Using `single` the first element will be returned.
<!-- prettier-ignore-start -->
::: tip NOTE
Instead of returning a list, the result data will be a single object representing the first item.
:::
<!-- prettier-ignore-end -->
## Examples
```
# Returns the first item of the result set
?single=1
?filter[author][first_name]=Rijk
&single
```

View File

@@ -0,0 +1,17 @@
# Sorting
`sort` is a CSV of fields used to sort the fetched items. Sorting defaults to ascending (ASC) order but a minus sign
(`-`) can be used to reverse this to descending (DESC) order. Fields are prioritized by their order in the CSV.
## Examples
```
# Sorts by name ASC
?sort=name
# Sorts by name ASC, followed by age DESC
?&sort=name,-age
# Sorts by name ASC, followed by age DESC
?sort=name,-age
```

View File

@@ -0,0 +1,12 @@
# Width
Sets the width in pixels of the generated asset.
## Examples
```
?width=500
?width=1920
&height=1080
```

View File

@@ -0,0 +1,9 @@
# Without Enlargement
Prevents the file from being upscaled if the dimensions are bigger than the original file.
## Examples
```
?withoutEnlargement
```

View File

@@ -1,4 +1,6 @@
# Command Line Interface (CLI)
# Command Line Interface
> TK
### Examples

View File

@@ -1,8 +1,7 @@
# Environment Variables
> Each Directus project supports a number of environment variables for configuration. These
> variables are added to the `/api/.env` file, with an example file at `/api/example.env` for easier
> boilerplate setup.
> Each Directus project supports a number of environment variables for configuration. These variables are added to the
> `/api/.env` file, with an example file at `/api/example.env` for easier boilerplate setup.
## General
@@ -16,8 +15,8 @@ URL where your API can be reached on the web.<br>**Default: `/`**
### `LOG_LEVEL`
What level of detail to log. One of `fatal`, `error`, `warn`, `info`, `debug`, `trace` or
`silent`.<br>**Default: `info`**
What level of detail to log. One of `fatal`, `error`, `warn`, `info`, `debug`, `trace` or `silent`.<br>**Default:
`info`**
### `LOG_STYLE`
@@ -27,9 +26,8 @@ Render the logs human readable (pretty) or as JSON. One of `pretty`, `raw`.<br>*
### `DB_CLIENT`
What database client to use. One of `pg` or `postgres`, `mysql`, `mysql2`, `oracledb`, `mssql`, or
`sqlite3`. For all database clients except SQLite, you will also need to configure the following
variables:
What database client to use. One of `pg` or `postgres`, `mysql`, `mysql2`, `oracledb`, `mssql`, or `sqlite3`. For all
database clients except SQLite, you will also need to configure the following variables:
### `DB_HOST`
@@ -65,8 +63,8 @@ extend the `DB_*` environment variables with any config you need to pass to the
### `DB_CONNECTION_STRING` (Postgres Only)
When using Postgres, you can submit a connection string instead of individual properties. Using this
will ignore any of the other connection settings.
When using Postgres, you can submit a connection string instead of individual properties. Using this will ignore any of
the other connection settings.
## Security
@@ -84,8 +82,7 @@ The duration that the access token is valid.<br>**Default: `15m`**
### `REFRESH_TOKEN_TTL`
The duration that the refresh token is valid, and also how long users stay logged-in to the
App.<br>**Default: `7d`**
The duration that the refresh token is valid, and also how long users stay logged-in to the App.<br>**Default: `7d`**
### `REFRESH_TOKEN_COOKIE_SECURE`
@@ -105,9 +102,9 @@ Whether or not to enable the CORS headers.<br>**Default: `true`**
Value for the `Access-Control-Allow-Origin` header. Possible values:
- `true` - reflect the Origin header
- String - set the origin to a specific domain
- CSV - multiple domains
- `true` - reflect the Origin header
- String - set the origin to a specific domain
- CSV - multiple domains
### `CORS_METHODS`
@@ -145,21 +142,21 @@ The time window in seconds in which the points are counted.<br>**Default: `1`**
### `RATE_LIMITER_STORE`
Where to store the rate limiter counts. Either `memory`, `redis`, or `memcache`. Based on the rate
limiter used, you must also provide the following configurations.<br>**Default: `memory`**
Where to store the rate limiter counts. Either `memory`, `redis`, or `memcache`. Based on the rate limiter used, you
must also provide the following configurations.<br>**Default: `memory`**
- **Memory**
- No additional configuration required
- **Redis**
- **`RATE_LIMITER_REDIS`** — Redis connection string
- eg: `redis://:authpassword@127.0.0.1:6380/4`
- Alternatively, you can enter individual connection parameters:
- **`RATE_LIMITER_REDIS_HOST`**
- **`RATE_LIMITER_REDIS_PORT`**
- **`RATE_LIMITER_REDIS_PASSWORD`**
- **`RATE_LIMITER_REDIS_DB`**
- **Memcache**
- **`RATE_LIMITER_MEMCACHE`** — Location of your memcache instance
- **Memory**
- No additional configuration required
- **Redis**
- **`RATE_LIMITER_REDIS`** — Redis connection string
- eg: `redis://:authpassword@127.0.0.1:6380/4`
- Alternatively, you can enter individual connection parameters:
- **`RATE_LIMITER_REDIS_HOST`**
- **`RATE_LIMITER_REDIS_PORT`**
- **`RATE_LIMITER_REDIS_PASSWORD`**
- **`RATE_LIMITER_REDIS_DB`**
- **Memcache**
- **`RATE_LIMITER_MEMCACHE`** — Location of your memcache instance
<!-- prettier-ignore-start -->
::: tip Additional Rate Limiter Variables All `RATE_LIMITER_*` variables are passed directly to a
@@ -192,58 +189,67 @@ How to scope the cache data.<br>**Default: `directus-cache`**
### `CACHE_STORE`
Where to store the cache data. Either `memory`, `redis`, or `memcache`. Based on the cache used, you
must also provide the following configurations.<br>**Default: `memory`**
Where to store the cache data. Either `memory`, `redis`, or `memcache`. Based on the cache used, you must also provide
the following configurations.<br>**Default: `memory`**
- **Memory**
- No additional configuration required
- **Redis**
- **`CACHE_REDIS`** — Redis connection string
- eg: `redis://:authpassword@127.0.0.1:6380/4`
- Alternatively, you can enter individual connection parameters:
- **`CACHE_REDIS_HOST`**
- **`CACHE_REDIS_PORT`**
- **`CACHE_REDIS_PASSWORD`**
- **`CACHE_REDIS_DB`**
- **Memcache**
- **`CACHE_MEMCACHE`** — Location of your memcache instance
- **Memory**
- No additional configuration required
- **Redis**
- **`CACHE_REDIS`** — Redis connection string
- eg: `redis://:authpassword@127.0.0.1:6380/4`
- Alternatively, you can enter individual connection parameters:
- **`CACHE_REDIS_HOST`**
- **`CACHE_REDIS_PORT`**
- **`CACHE_REDIS_PASSWORD`**
- **`CACHE_REDIS_DB`**
- **Memcache**
- **`CACHE_MEMCACHE`** — Location of your memcache instance
### `CACHE_AUTO_PURGE`
Controls whether or not the cache will be auto-purged on create/update/delete actions within the system. Enabling this
feature means that the API will remain real-time, while caching subsequent read calls when no changes have happened.
**Note**: enabling auto-purge will remove the `Cache-Control` header, as the cache can be invalidated at any point.
### `ASSETS_CACHE_TTL`
How long assets will be cached for in the browser. Sets the `max-age` value of the `Cache-Control` header.
## File Storage
### `STORAGE_LOCATIONS`
A CSV of storage locations (eg: `local,digitalocean,amazon`) to use. You can use any names you'd
like for these keys, but each must have a matching `<LOCATION>` configuration.<br>**Default:
`local`**
A CSV of storage locations (eg: `local,digitalocean,amazon`) to use. You can use any names you'd like for these keys,
but each must have a matching `<LOCATION>` configuration.<br>**Default: `local`**
For each of the storage locations listed, you must provide the following configuration:
- **`STORAGE_<LOCATION>_PUBLIC_URL`** — Location on the internet where the files are accessible
- **`STORAGE_<LOCATION>_DRIVER`** — Which driver to use, either `local`, `s3`, or `gcl`
- **`STORAGE_<LOCATION>_PUBLIC_URL`** — Location on the internet where the files are accessible
- **`STORAGE_<LOCATION>_DRIVER`** — Which driver to use, either `local`, `s3`, or `gcl`
Based on your configured driver, you must also provide the following configurations.
- **Local**
- `STORAGE_<LOCATION>_ROOT` — Where to store the files on disk
- **S3**
- **`STORAGE_<LOCATION>_KEY`** — User key
- **`STORAGE_<LOCATION>_SECRET`** — User secret
- **`STORAGE_<LOCATION>_ENDPOINT`** — S3 Endpoint
- **`STORAGE_<LOCATION>_BUCKET`** — S3 Bucket
- **`STORAGE_<LOCATION>_REGION`** — S3 Region
- **Google Cloud**
- **`STORAGE_<LOCATION>_KEY_FILENAME`** — Path to key file on disk
- **`STORAGE_<LOCATION>_BUCKET`** — Google Cloud Storage bucket
- **Local**
- `STORAGE_<LOCATION>_ROOT` — Where to store the files on disk
- **S3**
- **`STORAGE_<LOCATION>_KEY`** — User key
- **`STORAGE_<LOCATION>_SECRET`** — User secret
- **`STORAGE_<LOCATION>_ENDPOINT`** — S3 Endpoint
- **`STORAGE_<LOCATION>_BUCKET`** — S3 Bucket
- **`STORAGE_<LOCATION>_REGION`** — S3 Region
- **Google Cloud**
- **`STORAGE_<LOCATION>_KEY_FILENAME`** — Path to key file on disk
- **`STORAGE_<LOCATION>_BUCKET`** — Google Cloud Storage bucket
## oAuth
### `OAUTH_PROVIDERS`
CSV of oAuth providers you want to use. For each of the oAuth providers you list, you must also
provide the following configurations.
CSV of oAuth providers you want to use. For each of the oAuth providers you list, you must also provide the following
configurations.
- **`OAUTH_<PROVIDER>_KEY`** — oAuth key for the external service
- **`OAUTH_<PROVIDER>_SECRET`** — oAuth secret for the external service.
- **`OAUTH_<PROVIDER>_KEY`** — oAuth key for the external service
- **`OAUTH_<PROVIDER>_SECRET`** — oAuth secret for the external service.
## Extensions
@@ -259,32 +265,31 @@ Email address from which emails are sent.<br>**Default: `no-reply@directus.io`**
### `EMAIL_TRANSPORT`
What to use to send emails. One of `sendmail`, `smtp`. Based on the transport used, you must also
provide the following configurations.<br>**Default: `sendmail`**
What to use to send emails. One of `sendmail`, `smtp`. Based on the transport used, you must also provide the following
configurations.<br>**Default: `sendmail`**
- **Sendmail** (`sendmail`)
- **`EMAIL_SENDMAIL_NEW_LINE`** — What new line style to use in sendmail. **Default: `unix`**
- **`EMAIL_SENDMAIL_PATH`** — Path to your sendmail executable. **Default:
`/usr/sbin/sendmail`**
- **SMTP** (`smtp`)
- **`EMAIL_SMTP_HOST`** — SMTP Host
- **`EMAIL_SMTP_PORT`** — SMTP Port
- **`EMAIL_SMTP_USER`** — SMTP User
- **`EMAIL_SMTP_PASSWORD`** — SMTP Password
- **`EMAIL_SMTP_POOL`** — Use SMTP pooling
- **`EMAIL_SMTP_SECURE`** — Enable TLS
- **Sendmail** (`sendmail`)
- **`EMAIL_SENDMAIL_NEW_LINE`** — What new line style to use in sendmail. **Default: `unix`**
- **`EMAIL_SENDMAIL_PATH`** — Path to your sendmail executable. **Default: `/usr/sbin/sendmail`**
- **SMTP** (`smtp`)
- **`EMAIL_SMTP_HOST`** — SMTP Host
- **`EMAIL_SMTP_PORT`** — SMTP Port
- **`EMAIL_SMTP_USER`** — SMTP User
- **`EMAIL_SMTP_PASSWORD`** — SMTP Password
- **`EMAIL_SMTP_POOL`** — Use SMTP pooling
- **`EMAIL_SMTP_SECURE`** — Enable TLS
## Misc.
If you're relying on Docker and/or the `directus bootstrap` CLI command, you can pass the following
two environment variables to automatically configure the first user:
If you're relying on Docker and/or the `directus bootstrap` CLI command, you can pass the following two environment
variables to automatically configure the first user:
### `ADMIN_EMAIL`
The email address of the first user that's automatically created when using `directus bootstrap`.
Defaults to `admin@example.com`
The email address of the first user that's automatically created when using `directus bootstrap`. Defaults to
`admin@example.com`
### `ADMIN_PASSWORD`
The password of the first user that's automatically created when using `directus bootstrap`.
Defaults to a random string of 12 characters.
The password of the first user that's automatically created when using `directus bootstrap`. Defaults to a random string
of 12 characters.

View File

@@ -1,6 +1,6 @@
# Error Codes
@TODO
> TK
| Error Code | Description |
| --------------------- | ---------------------------------------------- |

View File

@@ -0,0 +1,18 @@
# Internal Helpers
> Below are some functions you may find helpful when working with data and values within Directus.
## Title Formatter
Directus uses [Database Mirroring](/concepts/platform-overview) to create its underlying data model based on your custom
schema. Therefore the App needs a reliable way of converting any raw table name, field name, or other technical value
into a prettified format that is human-readable. At its core, the Title Formatter converts any string into title-case
with proper whitespace. It also covers acronyms, initialisms, common proper nouns, so each is output properly. Some
example conversion include:
| Original String | Formatted Title |
| ---------------------------- | --------------------------------- |
| `snowWhiteAndTheSevenDwarfs` | `Snow White and the Seven Dwarfs` |
| `NewcastleUponTyne` | `Newcastle upon Tyne` |
| `brighton_by_the_sea` | `Brighton by the Sea` |
| `new_ipad_ftp_app` | `New iPad FTP App` |

View File

@@ -1,7 +1,7 @@
# SDK JS
The JS SDK is a small wrapper around [Axios](https://npmjs.com/axios) that makes it a little easier
to use the Directus API from a JavaScript powered project.
The JS SDK is a small wrapper around [Axios](https://npmjs.com/axios) that makes it a little easier to use the Directus
API from a JavaScript powered project.
## Installation
@@ -308,31 +308,29 @@ Note: these configuration options are passed in the top level SDK constructor.
##### mode
`cookie` or `json`. When in cookie mode, the API will set the refresh token in a `httpOnly` secure
cookie that can't be accessed from client side JS. This is the most secure way to connect to the API
from a public front-end website.
`cookie` or `json`. When in cookie mode, the API will set the refresh token in a `httpOnly` secure cookie that can't be
accessed from client side JS. This is the most secure way to connect to the API from a public front-end website.
When you can't rely on cookies, or need more control over handling the storage of the cookie, use
`json` mode. This will return the refresh token like "regular" in the payload. You can use the
`storage` option (see below) to control where the refresh token is stored / read from
When you can't rely on cookies, or need more control over handling the storage of the cookie, use `json` mode. This will
return the refresh token like "regular" in the payload. You can use the `storage` option (see below) to control where
the refresh token is stored / read from
##### storage
When using `json` for mode, the refresh token needs to be stored somewhere. The `storage` option
allows you to plug in any object that has an async `setItem()` and `getItem()` method. This allows
you to plugin things like [`localforage`](https://github.com/localForage/localForage) directly:
When using `json` for mode, the refresh token needs to be stored somewhere. The `storage` option allows you to plug in
any object that has an async `setItem()` and `getItem()` method. This allows you to plugin things like
[`localforage`](https://github.com/localForage/localForage) directly:
```js
import localforage from 'localforage';
import DirectusSDK from '@directus/sdk-js';
const directus = new DirectusSDK('https://api.example.com', { storage: localforage });
const directus = new DirectusSDK('https://api.example.com', { auth: { storage: localforage, mode: 'json' } });
```
##### autoRefresh
Whether or not to automatically call `refresh()` when the access token is about to expire. Defaults
to `true`
Whether or not to automatically call `refresh()` when the access token is about to expire. Defaults to `true`
#### Get / Set Token

View File

@@ -5,7 +5,7 @@
"docs",
"packages/*"
],
"version": "9.0.0-rc.22",
"version": "9.0.0-rc.23",
"command": {
"bootstrap": {
"npmClientArgs": [

View File

@@ -1,6 +1,6 @@
{
"name": "create-directus-project",
"version": "9.0.0-rc.22",
"version": "9.0.0-rc.23",
"description": "A small installer util that will create a directory, add boilerplate folders, and install Directus through npm.",
"main": "lib/index.js",
"bin": "./lib/index.js",

View File

@@ -1,6 +1,6 @@
{
"name": "@directus/format-title",
"version": "9.0.0-rc.22",
"version": "9.0.0-rc.23",
"description": "Custom string formatter that converts any string into [Title Case](http://www.grammar-monster.com/lessons/capital_letters_title_case.htm)",
"keywords": [
"title-case",

View File

@@ -1,6 +1,6 @@
{
"name": "@directus/schema",
"version": "9.0.0-rc.22",
"version": "9.0.0-rc.23",
"description": "Utility for extracting information about existing DB schema",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@@ -1,6 +1,6 @@
{
"name": "@directus/sdk-js",
"version": "9.0.0-rc.22",
"version": "9.0.0-rc.23",
"description": "The official Directus SDK for use in JavaScript!",
"main": "dist/sdk-js.cjs.js",
"module": "dist/sdk-js.bundler.js",
@@ -30,15 +30,8 @@
"author": "Rijk van Zanten <rijkvanzanten@me.com>",
"license": "MIT",
"dependencies": {
"axios": "^0.19.2"
},
"devDependencies": {
"chai": "^4.2.0",
"mocha": "^8.2.0",
"rimraf": "^3.0.2",
"rollup": "^2.34.1",
"ts-node": "^9.0.0",
"typescript": "^4.0.3"
"axios": "^0.19.2",
"openapi3-ts": "^2.0.0"
},
"nyc": {
"extension": [

View File

@@ -23,19 +23,15 @@ export class ActivityHandler {
}
comments = {
create: async (payload: {
collection: string;
item: string;
comment: string;
}): Promise<Response<Item>> => {
create: async (payload: { collection: string; item: string; comment: string }): Promise<Response<Item>> => {
const response = await this.axios.post('/activity/comments', payload);
return response.data;
},
update: async (key: PrimaryKey, payload: { comment: string }) => {
update: async (key: PrimaryKey, payload: { comment: string }): Promise<{ data: Item | null }> => {
const response = await this.axios.patch(`/activity/comments/${key}`, payload);
return response.data;
},
delete: async (key: PrimaryKey) => {
delete: async (key: PrimaryKey): Promise<void> => {
await this.axios.delete(`/activity/comments/${key}`);
},
};

View File

@@ -13,6 +13,12 @@ export type AuthOptions = {
storage: AuthStorage;
};
export type AuthResponse = {
access_token: string;
expires: number;
refresh_token?: string;
};
export class AuthHandler {
private axios: AxiosInstance;
private storage: AuthStorage;
@@ -30,7 +36,7 @@ export class AuthHandler {
}
}
get token() {
get token(): string | null {
return this.axios.defaults.headers?.Authorization?.split(' ')[1] || null;
}
@@ -41,8 +47,11 @@ export class AuthHandler {
};
}
async login(credentials: LoginCredentials) {
const response = await this.axios.post('/auth/login', { ...credentials, mode: this.mode });
async login(credentials: LoginCredentials): Promise<{ data: AuthResponse }> {
const response = await this.axios.post<{ data: AuthResponse }>('/auth/login', {
...credentials,
mode: this.mode,
});
this.token = response.data.data.access_token;
@@ -57,7 +66,7 @@ export class AuthHandler {
return response.data;
}
async refresh() {
async refresh(): Promise<{ data: AuthResponse }> {
const payload: Record<string, any> = { mode: this.mode };
if (this.mode === 'json') {
@@ -65,7 +74,7 @@ export class AuthHandler {
payload['refresh_token'] = refreshToken;
}
const response = await this.axios.post('/auth/refresh', payload);
const response = await this.axios.post<{ data: AuthResponse }>('/auth/refresh', payload);
this.token = response.data.data.access_token;
@@ -80,17 +89,17 @@ export class AuthHandler {
return response.data;
}
async logout() {
async logout(): Promise<void> {
await this.axios.post('/auth/logout');
this.token = null;
}
password = {
request: async (email: string) => {
request: async (email: string): Promise<void> => {
await this.axios.post('/auth/password/request', { email });
},
reset: async (token: string, password: string) => {
reset: async (token: string, password: string): Promise<void> => {
await this.axios.post('/auth/password/reset', { token, password });
},
};

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