feat(plugin): add enumeration to content type builder

This commit is contained in:
Johann Pinson 2018-06-04 11:57:14 +02:00
parent 11bab474ed
commit e594f311f7
14 changed files with 490 additions and 340 deletions

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="40" viewBox="0 0 70 40"><style>.st1{fill:#fff}</style><path fill="#f8b195" d="M67 40H3c-1.6 0-3-1.3-3-3V3c0-1.6 1.4-3 3-3h64c1.7 0 3 1.4 3 3v34c0 1.7-1.3 3-3 3z"/><circle cx="22" cy="10" r="2" class="st1"/><circle cx="22" cy="20" r="2" class="st1"/><circle cx="22" cy="30" r="2" class="st1"/><path d="M49 12H28c-1.1 0-2-.9-2-2s.9-2 2-2h21c1.1 0 2 .9 2 2s-.9 2-2 2zM49 22H28c-1.1 0-2-.9-2-2s.9-2 2-2h21c1.1 0 2 .9 2 2s-.9 2-2 2zM49 32H28c-1.1 0-2-.9-2-2s.9-2 2-2h21c1.1 0 2 .9 2 2s-.9 2-2 2z" class="st1"/></svg>

After

Width:  |  Height:  |  Size: 571 B

View File

@ -18,6 +18,7 @@ import IcoNumber from '../../assets/images/icon_number.png';
import IcoRelation from '../../assets/images/icon_relation.png';
import IcoString from '../../assets/images/icon_string.png';
import IcoText from '../../assets/images/icon_text.png';
import IcoEnum from '../../assets/images/icon_enum.svg';
import styles from './styles.scss';
@ -34,6 +35,7 @@ const asset = {
'relation': IcoRelation,
'string': IcoString,
'text': IcoText,
'enum': IcoEnum,
};
function AttributeCard({ attribute, autoFocus, handleClick, tabIndex }) {

View File

@ -155,7 +155,7 @@ class PopUpForm extends React.Component { // eslint-disable-line react/prefer-st
<ModalBody className={styles.modalBody} style={modalBodyStyle}>
<form onSubmit={this.props.onSubmit}>
<div className="container-fluid">
<div className={`row ${this.props.renderModalBody ? 'justify-content-center' : ''}`}>
<div className="row">
{modalBody}
</div>
</div>

View File

@ -115,6 +115,10 @@
{
"type": "relation",
"description": "content-type-builder.popUpForm.attributes.relation.description"
},
{
"type": "enumeration",
"description": "content-type-builder.popUpForm.attributes.enumeration.description"
}
]
},
@ -912,6 +916,84 @@
}
]
}
},
"enumeration": {
"baseSettings": {
"items": [
{
"label": {
"id": "content-type-builder.form.attribute.item.enumeration.name"
},
"name": "name",
"type": "string",
"value": ""
},
{
"label": {
"id": "content-type-builder.form.attribute.item.enumeration.rules"
},
"name": "params.enumValue",
"type": "textarea",
"placeholder": "content-type-builder.form.attribute.item.enumeration.placeholder",
"value": false,
"validations": {
"required": true
}
}
]
},
"advancedSettings": {
"items": [
{
"label": {
"id": "content-type-builder.form.attribute.settings.default"
},
"name": "params.default",
"type": "string",
"value": "",
"validations": {}
},
{
"label": {
"id": "content-type-builder.form.attribute.item.enumeration.graphql"
},
"name": "params.enumName",
"type": "string",
"value": "",
"validations": {},
"inputDescription": {
"id": "content-type-builder.form.attribute.item.enumeration.graphql.description"
}
},
{
"title": {
"id": "content-type-builder.form.attribute.item.settings.name"
},
"label": {
"id": "content-type-builder.form.attribute.item.requiredField"
},
"name": "params.required",
"type": "checkbox",
"value": false,
"validations": {},
"inputDescription": {
"id": "content-type-builder.form.attribute.item.requiredField.description"
}
},
{
"label": {
"id": "content-type-builder.form.attribute.item.uniqueField"
},
"name": "params.unique",
"type": "checkbox",
"value": false,
"validations": {},
"inputDescription": {
"id": "content-type-builder.form.attribute.item.uniqueField.description"
}
}
]
}
}
}
}

View File

@ -384,6 +384,11 @@ export class Form extends React.Component { // eslint-disable-line react/prefer-
handleChange = ({ target }) => {
let value = target.type === 'number' && target.value !== '' ? toNumber(target.value) : target.value;
// Parse enumeration textarea to transform it into a array
if (target.name === 'params.enumValue') {
value = target.value.split(',');
}
if (isObject(target.value) && target.value._isAMomentObject === true) {
value = moment(target.value, 'YYYY-MM-DD HH:mm:ss').format();
}
@ -391,11 +396,11 @@ export class Form extends React.Component { // eslint-disable-line react/prefer-
if (includes(this.props.hash.split('::')[1], 'attribute')) {
this.props.changeInputAttribute(target.name, value);
if (target.name === 'params.nature' && target.value === "manyToMany") {
if (target.name === 'params.nature' && target.value === 'manyToMany') {
this.props.changeInputAttribute('params.dominant', true);
}
if (target.name === 'params.nature' && target.value === "oneWay") {
if (target.name === 'params.nature' && target.value === 'oneWay') {
this.props.changeInputAttribute('params.key', '-');
}else if (target.name === 'params.nature'){
this.props.changeInputAttribute('params.key', '');

View File

@ -164,7 +164,7 @@ export class ModelPage extends React.Component { // eslint-disable-line react/pr
// Display a notification if the attribute is not present in the ones that the ctb handles
if (!has(attribute.params, 'nature') && !includes(availableAttributes, attribute.params.type)) {
return strapi.notification.info('content-type-builder.notification.info.enumeration');
return strapi.notification.info('content-type-builder.notification.info.disable');
}
const settingsType = attribute.params.type ? 'baseSettings' : 'defineRelation';
const parallelAttributeIndex = findIndex(this.props.modelPage.model.attributes, ['name', attribute.params.key]);

View File

@ -1,6 +1,7 @@
{
"plugin.description.short": "Modelliere die Datenstruktur deiner API.",
"plugin.description.long": "Modelliere die Datenstruktur deiner API. Lege neue Felder und Beziehungen innerhalb von einer Minute an. Erforderliche Dateien werden automatisch in deinem Projekt angelegt und aktualisiert.",
"plugin.description.long":
"Modelliere die Datenstruktur deiner API. Lege neue Felder und Beziehungen innerhalb von einer Minute an. Erforderliche Dateien werden automatisch in deinem Projekt angelegt und aktualisiert.",
"attribute.string": "String",
"attribute.text": "Text",
"attribute.boolean": "Boolean",
@ -14,6 +15,7 @@
"attribute.password": "Passwort",
"attribute.relation": "Beziehung",
"attribute.enumeration": "Enumeration",
"attribute.WYSIWYG": "Text (WYSIWYG)",
"contentType.temporaryDisplay": "(Nicht gespeichert)",
"from": "aus",
@ -49,6 +51,11 @@
"form.attribute.item.json.name": "Name",
"form.attribute.item.boolean.name": "Name",
"form.attribute.item.string.name": "Name",
"form.attribute.item.enumeration.name": "Name",
"form.attribute.item.enumeration.rules": "Werte (trennen Sie sie mit einem Komma)",
"form.attribute.item.enumeration.placeholder": "Ex: Morgen, Mittag, Abend",
"form.attribute.item.enumeration.graphql": "Name override for GraphQL",
"form.attribute.item.enumeration.graphql.description": "Allows you to override the default generated name for GraphQL",
"form.attribute.item.settings.name": "Einstellungen",
"form.attribute.item.requiredField": "Benötigtes Feld",
"form.attribute.item.uniqueField": "Einzigartiges Feld",
@ -102,11 +109,11 @@
"notification.error.message": "Ein Fehler ist aufgetreten",
"notification.info.contentType.creating.notSaved": "Bitte speichere zuerst diesen Content-Typ bevor du einen neuen anlegst",
"notification.info.disable": "Dieses Feld ist momentan nicht editierbar...😮",
"notification.info.optimized": "Dieses Plugin ist auf deinen localStorage optimiert",
"notification.success.message.contentType.edit": "Der Content-Typ wurde aktualisiert",
"notification.success.message.contentType.create": "Der Content-Typ wurde angelegt",
"notification.success.contentTypeDeleted": "Der Content-Typ wurde gelöscht",
"notification.info.enumeration": "Dieses Feld ist momentan nicht editierbar...😮",
"popUpForm.attributes.string.description": "Titel, Namen, Namenslisten",
"popUpForm.attributes.text.description": "Beschreibungen, Paragraphen, Artikel",
@ -118,6 +125,7 @@
"popUpForm.attributes.relation.description": "Bezieht sich auf einen Content-Typ",
"popUpForm.attributes.email.description": "E-Mail-Adressen von Benutzern",
"popUpForm.attributes.password.description": "Passwörter von Benutzers",
"popUpForm.attributes.enumeration.description": "Liste der Auswahlmöglichkeiten",
"popUpForm.attributes.string.name": "String",
"popUpForm.attributes.text.name": "Text",
@ -129,6 +137,7 @@
"popUpForm.attributes.relation.name": "Beziehung",
"popUpForm.attributes.email.name": "E-Mail",
"popUpForm.attributes.password.name": "Passwort",
"popUpForm.attributes.enumeration.name": "Enumeration",
"popUpForm.create": "Neu",
"popUpForm.edit": "Bearbeiten",
"popUpForm.field": "Feld",
@ -161,4 +170,4 @@
"relation.manyToMany": "hat und gehört zu vielen",
"relation.attributeName.placeholder": "z.B.: Autor, Kategorie"
}
}

View File

@ -53,6 +53,11 @@
"form.attribute.item.json.name": "Name",
"form.attribute.item.boolean.name": "Name",
"form.attribute.item.string.name": "Name",
"form.attribute.item.enumeration.name": "Name",
"form.attribute.item.enumeration.rules": "Values (separate them with a comma)",
"form.attribute.item.enumeration.graphql": "Name override for GraphQL",
"form.attribute.item.enumeration.graphql.description": "Allows you to override the default generated name for GraphQL",
"form.attribute.item.enumeration.placeholder": "Ex: morning,noon,evening",
"form.attribute.item.appearance.name": "Appearance",
"form.attribute.item.appearance.label": "Display as a WYSIWYG",
"form.attribute.item.appearance.description":
@ -116,11 +121,11 @@
"notification.error.message": "An error occurred",
"notification.info.contentType.creating.notSaved":
"Please save your current Content Type before creating a new one",
"notification.info.disable": "This field is not editable for the moment...😮",
"notification.info.optimized": "This plugin is optimized with your localStorage",
"notification.success.message.contentType.edit": "Your Content Type has been updated",
"notification.success.message.contentType.create": "Your Content Type has been created",
"notification.success.contentTypeDeleted": "The Content Type has been deleted",
"notification.info.enumeration": "This field is not editable for the moment...😮",
"popUpForm.attributes.string.description": "Titles, names, paragraphs, list of names",
"popUpForm.attributes.text.description": "Descriptions, text paragraphs, articles ",
@ -132,6 +137,7 @@
"popUpForm.attributes.relation.description": "Refers to a Content Type",
"popUpForm.attributes.email.description": "User's email...",
"popUpForm.attributes.password.description": "User password...",
"popUpForm.attributes.enumeration.description": "List of choices",
"popUpForm.attributes.string.name": "String",
"popUpForm.attributes.text.name": "Text",
@ -143,6 +149,7 @@
"popUpForm.attributes.relation.name": "Relation",
"popUpForm.attributes.email.name": "Email",
"popUpForm.attributes.password.name": "Password",
"popUpForm.attributes.enumeration.name": "Enumeration",
"popUpForm.create": "Add New",
"popUpForm.edit": "Edit",
"popUpForm.field": "Field",

View File

@ -1,20 +1,20 @@
{
"plugin.description.short": "Modelisez la structure de données de votre API.",
"plugin.description.short": "Modélisez la structure de données de votre API.",
"plugin.description.long":
"Modelisez la structure de données de votre API. Créer des nouveaux champs et relations en un instant. Les fichiers se créent et se mettent à jour automatiquement.",
"Modélisez la structure de données de votre API. Créer des nouveaux champs et relations en un instant. Les fichiers se créent et se mettent à jour automatiquement.",
"attribute.string": "Chaîne de caractères",
"attribute.text": "Text",
"attribute.text": "Texte",
"attribute.boolean": "Booléen",
"attribute.float": "Décimal approximatif",
"attribute.integer": "Entier",
"attribute.decimal": "Décimal",
"attribute.date": "Date",
"attribute.json": "JSON",
"attribute.media": "Media",
"attribute.media": "Média",
"attribute.password": "Mot de passe",
"attribute.email": "Email",
"attribute.relation": "Relation",
"attribute.enumeration": "Enumération",
"attribute.enumeration": "Énumération",
"attribute.WYSIWYG": "Text (WYSIWYG)",
"contentType.temporaryDisplay": "(Non sauvegardé)",
@ -26,7 +26,7 @@
"home.emptyContentType.title": "Il n'y a pas de model disponible",
"home.emptyContentType.description": "Créez votre premier modèle...",
"home.emptyAttributes.title": "Il n'y a pas encore de champs",
"home.emptyAttributes.title": "Il n'y a pas encore de champ",
"home.emptyAttributes.description": "Ajoutez votre premier champ a votre modèle",
"button.contentType.create": "Créer un modèle",
@ -54,6 +54,11 @@
"form.attribute.item.media.name": "Nom",
"form.attribute.item.media.multiple": "Peut être relié à plusieurs fichiers",
"form.attribute.item.string.name": "Nom",
"form.attribute.item.enumeration.name": "Nom",
"form.attribute.item.enumeration.rules": "Valeurs (les séparer par une virgule)",
"form.attribute.item.enumeration.graphql": "Surchage du nom pour GraphQL",
"form.attribute.item.enumeration.graphql.description": "Vous permet de remplacer le nom généré par défaut pour GraphQL",
"form.attribute.item.enumeration.placeholder": "Ex: matin,midi,soir",
"form.attribute.item.appearance.name": "Apparence",
"form.attribute.item.appearance.label": "Editable avec un WYSIWYG",
"form.attribute.item.appearance.description":
@ -118,11 +123,11 @@
"notification.error.message": "Une erreur est survenue",
"notification.info.contentType.creating.notSaved":
"Sauvegardez votre Modèle en cours avant d'en créer un nouveau",
"notification.info.disable": "Ce champ n'est pas modifiable pour le moment...😮",
"notification.info.optimized": "Ce plugin est optimisé pour votre localStorage",
"notification.success.message.contentType.edit": "Votre modèle a bien été modifié",
"notification.success.message.contentType.create": "Votre modèle a bien été créée",
"notification.success.contentTypeDeleted": "Le modèle a bien été supprimé.",
"notification.info.enumeration": "Ce champs n'est pas modifiable pour le moment...😮",
"popUpForm.attributes.string.description": "Titres, noms,...",
"popUpForm.attributes.text.description": "Descriptions, paragraphes texte, articles ",
@ -134,22 +139,24 @@
"popUpForm.attributes.relation.description": "Pointe vers un autre Modèle",
"popUpForm.attributes.password.description": "Mot de passe utilisateur...",
"popUpForm.attributes.email.description": "Email utilisateurs",
"popUpForm.attributes.enumeration.description": "Liste de choix",
"popUpForm.attributes.string.name": "Chaîne de caractères",
"popUpForm.attributes.text.name": "Text",
"popUpForm.attributes.text.name": "Texte",
"popUpForm.attributes.boolean.name": "Booléen",
"popUpForm.attributes.number.name": "Nombre",
"popUpForm.attributes.date.name": "Date",
"popUpForm.attributes.json.name": "JSON",
"popUpForm.attributes.media.name": "Media",
"popUpForm.attributes.media.name": "Média",
"popUpForm.attributes.relation.name": "Relation",
"popUpForm.attributes.email.name": "Email",
"popUpForm.attributes.password.name": "Mot de passe",
"popUpForm.attributes.enumeration": "Énumération",
"popUpForm.create": "Ajouter un Nouveau",
"popUpForm.edit": "Modifer",
"popUpForm.field": "Champ",
"popUpForm.create.contentType.header.title": "Ajouter un Nouveau Modèle",
"popUpForm.choose.attributes.header.title": "Ajouter un Nouveau Champs",
"popUpForm.choose.attributes.header.title": "Ajouter un Nouveau Champ",
"popUpForm.edit.contentType.header.title": "Modifier un Modèle",
"popUpForm.navContainer.relation": "Définir relation",
"popUpForm.navContainer.base": "Réglages de base",

View File

@ -52,6 +52,11 @@
"form.attribute.item.json.name": "Nazwa",
"form.attribute.item.boolean.name": "Nazwa",
"form.attribute.item.string.name": "Nazwa",
"form.attribute.item.enumeration.name": "Nazwa",
"form.attribute.item.enumeration.rules": "Values (separate them with a comma)",
"form.attribute.item.enumeration.placeholder": "Ex: morning,noon,evening",
"form.attribute.item.enumeration.graphql": "Name override for GraphQL",
"form.attribute.item.enumeration.graphql.description": "Allows you to override the default generated name for GraphQL",
"form.attribute.item.settings.name": "Ustawienia",
"form.attribute.item.requiredField": "Wymagany",
"form.attribute.item.uniqueField": "Unikalny",
@ -110,11 +115,11 @@
"notification.error.message": "Wystąpił błąd",
"notification.info.contentType.creating.notSaved":
"Zapisz proszę aktualny model zanim stworzysz nowy",
"notification.info.disable": "Tego pola nie można obecnie edytować... 😮",
"notification.info.optimized": "Ta wtyczka jest zoptymalizowana z localStorage",
"notification.success.message.contentType.edit": "Model został zmieniony",
"notification.success.message.contentType.create": "Model został utworzony",
"notification.success.contentTypeDeleted": "Model został usunięty",
"notification.info.enumeration": "Tego pola nie można obecnie edytować... 😮",
"popUpForm.attributes.string.description": "Tytuły, nazwy, paragrafy, lista nazwisk",
"popUpForm.attributes.text.description": "Opisy, paragrafy, artykuły ",
@ -126,6 +131,7 @@
"popUpForm.attributes.relation.description": "Odnosi się do modelu",
"popUpForm.attributes.email.description": "Email użytkownika...",
"popUpForm.attributes.password.description": "Hasło użytkownika...",
"popUpForm.attributes.enumeration.description": "List of choices",
"popUpForm.attributes.string.name": "Ciąg",
"popUpForm.attributes.text.name": "Tekst",
@ -137,6 +143,7 @@
"popUpForm.attributes.relation.name": "Relacja",
"popUpForm.attributes.email.name": "Email",
"popUpForm.attributes.password.name": "Hasło",
"popUpForm.attributes.enumeration.name": "Wyliczenie",
"popUpForm.create": "Nowy",
"popUpForm.edit": "Zmień",
"popUpForm.field": "Atrybut",

View File

@ -6,7 +6,7 @@
"attribute.text": "Text",
"attribute.boolean": "Boolean",
"attribute.float": "Float",
"attribute.integer": "integer",
"attribute.integer": "Integer",
"attribute.decimal": "Decimal",
"attribute.date": "Date",
"attribute.json": "JSON",
@ -52,6 +52,11 @@
"form.attribute.item.json.name": "Название",
"form.attribute.item.boolean.name": "Название",
"form.attribute.item.string.name": "Название",
"form.attribute.item.enumeration.name": "Название",
"form.attribute.item.enumeration.rules": "Values (separate them with a comma)",
"form.attribute.item.enumeration.graphql": "Name override for GraphQL",
"form.attribute.item.enumeration.graphql.description": "Allows you to override the default generated name for GraphQL",
"form.attribute.item.enumeration.placeholder": "Ex: morning,noon,evening",
"form.attribute.item.appearance.name": "Отображение",
"form.attribute.item.appearance.label": "Показывать WYSIWYG",
"form.attribute.item.appearance.description":
@ -115,11 +120,11 @@
"notification.error.message": "Возникла ошибка",
"notification.info.contentType.creating.notSaved":
"Пожалуйста сохраните ваш текущий Тип Данных перед тем как создавать новый",
"notification.info.disable": "Это поле в данный момент не редактируемо...😮",
"notification.info.optimized": "Плагин оптимизирован с вашим localstorage",
"notification.success.message.contentType.edit": "Ваш Тип Данных обновлен",
"notification.success.message.contentType.create": "Ваш Тип Данных создан",
"notification.success.contentTypeDeleted": "Ваш Тип Данных удален",
"notification.info.enumeration": "Это поле в данный момент не редактируемо...😮",
"popUpForm.attributes.string.description": "Загаловки, названия, имена, перечень названий",
"popUpForm.attributes.text.description": "Описания, текстовые параграфы, статьи",
@ -131,6 +136,7 @@
"popUpForm.attributes.relation.description": "Связан с Типом Данных",
"popUpForm.attributes.email.description": "Пользовательский email...",
"popUpForm.attributes.password.description": "Пароль пользователя...",
"popUpForm.attributes.enumeration.description": "List of choices",
"popUpForm.attributes.string.name": "String",
"popUpForm.attributes.text.name": "Text",
@ -142,6 +148,7 @@
"popUpForm.attributes.relation.name": "Relation",
"popUpForm.attributes.email.name": "Email",
"popUpForm.attributes.password.name": "Password",
"popUpForm.attributes.enumeration.name": "Enumeration",
"popUpForm.create": "Добавить новое",
"popUpForm.edit": "Отредактировать",
"popUpForm.field": "Поле",
@ -173,4 +180,4 @@
"relation.manyToOne": "имеет много",
"relation.manyToMany": "имеет и принадлежит многим",
"relation.attributeName.placeholder": "Пример: автор, категория, тег"
}
}

View File

@ -52,6 +52,11 @@
"form.attribute.item.json.name": "İsim",
"form.attribute.item.boolean.name": "İsim",
"form.attribute.item.string.name": "İsim",
"form.attribute.item.enumeration.name": "İsim",
"form.attribute.item.enumeration.rules": "Values (separate them with a comma)",
"form.attribute.item.enumeration.placeholder": "Ex: morning,noon,evening",
"form.attribute.item.enumeration.graphql": "Name override for GraphQL",
"form.attribute.item.enumeration.graphql.description": "Allows you to override the default generated name for GraphQL",
"form.attribute.item.appearance.name": "Görünüm",
"form.attribute.item.appearance.label": "WYSIWYG olarak görüntüle",
"form.attribute.item.appearance.description":
@ -114,11 +119,11 @@
"notification.error.message": "Bir hata oluştu.",
"notification.info.contentType.creating.notSaved":
"Lütfen yeni bir tane oluşturmadan önce mevcut İçerik Türünüzü kaydedin",
"notification.info.disable": "This field is not editable for the moment...😮",
"notification.info.optimized": "Bu eklenti, localStorage ile optimize edilmiştir",
"notification.success.message.contentType.edit": "İçerik Türünüz güncellendi",
"notification.success.message.contentType.create": "İçerik Türünüz oluşturuldu",
"notification.success.contentTypeDeleted": "İçerik Türü silindi",
"notification.info.enumeration": "This field is not editable for the moment...😮",
"popUpForm.attributes.string.description": "Başlıklar, adlar, paragraflar, isim listesi",
"popUpForm.attributes.text.description": "Tanımlar, metin paragrafları, makaleler ",
@ -130,6 +135,7 @@
"popUpForm.attributes.relation.description": "Bir İçerik Türünü Belirtiyor",
"popUpForm.attributes.email.description": "Kullanıcının e-postası...",
"popUpForm.attributes.password.description": "Kullanıcı şifresi...",
"popUpForm.attributes.enumeration.description": "List of choices",
"popUpForm.attributes.string.name": "String",
"popUpForm.attributes.text.name": "Yazı",
@ -141,6 +147,7 @@
"popUpForm.attributes.relation.name": "İlişki",
"popUpForm.attributes.email.name": "E-posta",
"popUpForm.attributes.password.name": "Parola",
"popUpForm.attributes.enumeration.name": "Enumeration",
"popUpForm.create": "Yeni ekle",
"popUpForm.edit": "Düzenle",
"popUpForm.field": "Alan",

View File

@ -52,6 +52,11 @@
"form.attribute.item.json.name": "Name",
"form.attribute.item.boolean.name": "Name",
"form.attribute.item.string.name": "Name",
"form.attribute.item.enumeration.name": "Name",
"form.attribute.item.enumeration.rules": "Values (separate them with a comma)",
"form.attribute.item.enumeration.placeholder": "Ex: morning,noon,evening",
"form.attribute.item.enumeration.graphql": "Name override for GraphQL",
"form.attribute.item.enumeration.graphql.description": "Allows you to override the default generated name for GraphQL",
"form.attribute.item.appearance.name": "Appearance",
"form.attribute.item.appearance.label": "Display as a WYSIWYG",
"form.attribute.item.appearance.description":
@ -113,11 +118,11 @@
"notification.error.message": "发生错误",
"notification.info.contentType.creating.notSaved":
"在创建新Content Type之前请保存当前Content Type",
"notification.info.disable": "这个字段暂时不可编辑...😮",
"notification.info.optimized": "这个插件是用本地存储优化的",
"notification.success.message.contentType.edit": "你的Content Type已更新",
"notification.success.message.contentType.create": "你的Content Type已创建",
"notification.success.contentTypeDeleted": "这个Content Type已被删除",
"notification.info.enumeration": "这个字段暂时不可编辑...😮",
"popUpForm.attributes.string.description": "标题、名称、段落、名称列表",
"popUpForm.attributes.text.description": "描述、文本段落、文章",
@ -129,6 +134,7 @@
"popUpForm.attributes.relation.description": "引用其它 Content Type",
"popUpForm.attributes.email.description": "用户email...",
"popUpForm.attributes.password.description": "用户密码...",
"popUpForm.attributes.enumeration.description": "List of choices",
"popUpForm.attributes.string.name": "String",
"popUpForm.attributes.text.name": "Text",
@ -140,6 +146,7 @@
"popUpForm.attributes.relation.name": "Relation",
"popUpForm.attributes.email.name": "Email",
"popUpForm.attributes.password.name": "Password",
"popUpForm.attributes.enumeration.name": "Enumeration",
"popUpForm.create": "增加新的",
"popUpForm.edit": "编辑",
"popUpForm.field": "字段",

View File

@ -14,6 +14,7 @@
"attribute.email": "Email",
"attribute.password": "密碼",
"attribute.relation": "關聯其他結構",
"attribute.enumeration": "Enumeration",
"attribute.WYSIWYG": "Text (WYSIWYG)",
"contentType.temporaryDisplay": "(未儲存)",
@ -49,6 +50,11 @@
"form.attribute.item.json.name": "名稱",
"form.attribute.item.boolean.name": "名稱",
"form.attribute.item.string.name": "名稱",
"form.attribute.item.enumeration.name": "名稱",
"form.attribute.item.enumeration.rules": "Values (separate them with a comma)",
"form.attribute.item.enumeration.placeholder": "Ex: morning,noon,evening",
"form.attribute.item.enumeration.graphql": "Name override for GraphQL",
"form.attribute.item.enumeration.graphql.description": "Allows you to override the default generated name for GraphQL",
"form.attribute.item.settings.name": "設定",
"form.attribute.item.requiredField": "必填欄位",
"form.attribute.item.uniqueField": "唯一欄位",
@ -105,6 +111,7 @@
"notification.error.message": "有錯誤發生了",
"notification.info.contentType.creating.notSaved": "建立新的資料結構前,請先儲存現在的。",
"notification.info.disable": "这个字段暂时不可编辑...😮",
"notification.info.optimized": "這個擴充功能使用您的 localstorage 來最佳化",
"notification.success.message.contentType.edit": "您的資料結構已更新",
"notification.success.message.contentType.create": "您的資料結構已建立",
@ -120,6 +127,7 @@
"popUpForm.attributes.relation.description": "關聯到一個資料結構",
"popUpForm.attributes.email.description": "使用者的 email...",
"popUpForm.attributes.password.description": "使用者密碼...",
"popUpForm.attributes.enumeration.description": "List of choices",
"popUpForm.attributes.string.name": "字串",
"popUpForm.attributes.text.name": "文字",
@ -131,6 +139,7 @@
"popUpForm.attributes.relation.name": "關聯其他結構",
"popUpForm.attributes.email.name": "Email",
"popUpForm.attributes.password.name": "密碼",
"popUpForm.attributes.enumeration.name": "Enumeration",
"popUpForm.create": "增加新的",
"popUpForm.edit": "編輯",
"popUpForm.field": "欄位",