mirror of
https://github.com/directus/directus.git
synced 2026-04-03 03:00:39 -04:00
Merge branch 'main' into build-packages
This commit is contained in:
30
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
30
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal 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
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal 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.
|
||||
@@ -1,28 +1,56 @@
|
||||
<img width="250" alt="Logo" src="https://user-images.githubusercontent.com/9141017/88821768-0dc99800-d191-11ea-8c66-09c55ab451a2.png">
|
||||
<p> </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> </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> </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> </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> </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> </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> </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.
|
||||
|
||||
@@ -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--
|
||||
|
||||
@@ -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.",
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
})
|
||||
);
|
||||
|
||||
@@ -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: '',
|
||||
|
||||
|
||||
@@ -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', {
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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>",
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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: [
|
||||
|
||||
@@ -112,5 +112,5 @@ export default defineInterface(({ i18n }) => ({
|
||||
},
|
||||
},
|
||||
],
|
||||
recommendedDisplays: ['tags'],
|
||||
recommendedDisplays: ['labels'],
|
||||
}));
|
||||
|
||||
@@ -101,5 +101,5 @@ export default defineInterface(({ i18n }) => ({
|
||||
},
|
||||
},
|
||||
],
|
||||
recommendedDisplays: ['tags'],
|
||||
recommendedDisplays: ['labels'],
|
||||
}));
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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[]>(() => {
|
||||
|
||||
@@ -113,5 +113,5 @@ export default defineInterface(({ i18n }) => ({
|
||||
},
|
||||
},
|
||||
],
|
||||
recommendedDisplays: ['tags'],
|
||||
recommendedDisplays: ['labels'],
|
||||
}));
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
---
|
||||
edit_field: تعديل الحقل
|
||||
half_width: نصف العرض
|
||||
full_width: العرض الكامل
|
||||
fill_width: العرض الكامل
|
||||
enter_password_to_enable_tfa: أدخل كلمة المرور الخاصة بك لتمكين المصادقة الثنائية
|
||||
add_field: إضافة حقل
|
||||
required: مطلوب
|
||||
create_role: إنشاء دور أو صلاحية
|
||||
delete_bookmark: حذف إشارة مرجعية
|
||||
|
||||
@@ -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: Уютно
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
@@ -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: Tamaño 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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -735,7 +735,6 @@ template: Sjabloon
|
||||
translation: Vertaling
|
||||
value: Waarde
|
||||
view_project: Bekijk project
|
||||
weeks: { }
|
||||
report_error: Rapporteer fout
|
||||
interfaces:
|
||||
checkboxes:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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ă
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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: Açı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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 };
|
||||
}
|
||||
|
||||
@@ -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');
|
||||
}
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}),
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
}),
|
||||
]);
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
},
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# API Extensions
|
||||
|
||||
@TODO
|
||||
> TK
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
16
docs/guides/installation/digitalocean-one-click.md
Normal file
16
docs/guides/installation/digitalocean-one-click.md
Normal 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 -->
|
||||
@@ -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:
|
||||
```
|
||||
|
||||
13
docs/guides/installation/platformsh-one-click.md
Normal file
13
docs/guides/installation/platformsh-one-click.md
Normal 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 -->
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
2
docs/package-lock.json
generated
2
docs/package-lock.json
generated
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@directus/docs",
|
||||
"version": "9.0.0-rc.22",
|
||||
"version": "9.0.0-rc.23",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
3
docs/reference/api/query/download.md
Normal file
3
docs/reference/api/query/download.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Download
|
||||
|
||||
Download the generated asset as a 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.*
|
||||
```
|
||||
|
||||
49
docs/reference/api/query/filter.md
Normal file
49
docs/reference/api/query/filter.md
Normal 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.
|
||||
15
docs/reference/api/query/fit.md
Normal file
15
docs/reference/api/query/fit.md
Normal 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
|
||||
```
|
||||
12
docs/reference/api/query/height.md
Normal file
12
docs/reference/api/query/height.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Height
|
||||
|
||||
Sets the height in pixels of the generated asset.
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
?height=500
|
||||
|
||||
?height=1080
|
||||
&width=1920
|
||||
```
|
||||
11
docs/reference/api/query/key.md
Normal file
11
docs/reference/api/query/key.md
Normal 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
|
||||
```
|
||||
20
docs/reference/api/query/limit.md
Normal file
20
docs/reference/api/query/limit.md
Normal 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 -->
|
||||
16
docs/reference/api/query/meta.md
Normal file
16
docs/reference/api/query/meta.md
Normal 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
|
||||
}
|
||||
```
|
||||
11
docs/reference/api/query/offset.md
Normal file
11
docs/reference/api/query/offset.md
Normal 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
|
||||
```
|
||||
3
docs/reference/api/query/quality.md
Normal file
3
docs/reference/api/query/quality.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Quality
|
||||
|
||||
Quality of the compression. 0-100
|
||||
5
docs/reference/api/query/search.md
Normal file
5
docs/reference/api/query/search.md
Normal 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.
|
||||
19
docs/reference/api/query/single.md
Normal file
19
docs/reference/api/query/single.md
Normal 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
|
||||
```
|
||||
17
docs/reference/api/query/sort.md
Normal file
17
docs/reference/api/query/sort.md
Normal 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
|
||||
```
|
||||
12
docs/reference/api/query/width.md
Normal file
12
docs/reference/api/query/width.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Width
|
||||
|
||||
Sets the width in pixels of the generated asset.
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
?width=500
|
||||
|
||||
?width=1920
|
||||
&height=1080
|
||||
```
|
||||
9
docs/reference/api/query/withoutEnlargement.md
Normal file
9
docs/reference/api/query/withoutEnlargement.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Without Enlargement
|
||||
|
||||
Prevents the file from being upscaled if the dimensions are bigger than the original file.
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
?withoutEnlargement
|
||||
```
|
||||
@@ -1,4 +1,6 @@
|
||||
# Command Line Interface (CLI)
|
||||
# Command Line Interface
|
||||
|
||||
> TK
|
||||
|
||||
### Examples
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Error Codes
|
||||
|
||||
@TODO
|
||||
> TK
|
||||
|
||||
| Error Code | Description |
|
||||
| --------------------- | ---------------------------------------------- |
|
||||
|
||||
18
docs/reference/internal-helpers.md
Normal file
18
docs/reference/internal-helpers.md
Normal 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` |
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"docs",
|
||||
"packages/*"
|
||||
],
|
||||
"version": "9.0.0-rc.22",
|
||||
"version": "9.0.0-rc.23",
|
||||
"command": {
|
||||
"bootstrap": {
|
||||
"npmClientArgs": [
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -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}`);
|
||||
},
|
||||
};
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user